KR100746013B1 - 무선 네트워크에서의 데이터 전송 방법 및 장치 - Google Patents

무선 네트워크에서의 데이터 전송 방법 및 장치 Download PDF

Info

Publication number
KR100746013B1
KR100746013B1 KR20050109266A KR20050109266A KR100746013B1 KR 100746013 B1 KR100746013 B1 KR 100746013B1 KR 20050109266 A KR20050109266 A KR 20050109266A KR 20050109266 A KR20050109266 A KR 20050109266A KR 100746013 B1 KR100746013 B1 KR 100746013B1
Authority
KR
South Korea
Prior art keywords
transmission
data
transmission data
transmitted
packet
Prior art date
Application number
KR20050109266A
Other languages
English (en)
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 KR20050109266A priority Critical patent/KR100746013B1/ko
Priority to EP20060123323 priority patent/EP1786135B1/en
Priority to DE200660002471 priority patent/DE602006002471D1/de
Priority to JP2006303989A priority patent/JP4611274B2/ja
Priority to CNB2006101470654A priority patent/CN100563345C/zh
Priority to US11/599,485 priority patent/US8335516B2/en
Application granted granted Critical
Publication of KR100746013B1 publication Critical patent/KR100746013B1/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/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • 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
    • 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
    • H04L1/0057Block 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
    • H04L1/007Unequal error protection
    • 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
    • H04L1/0071Use of interleaving
    • 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/0072Error control for data other than payload data, e.g. control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • H04L1/1877Buffer management for semi-reliable protocols, e.g. for less sensitive applications like streaming video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • H04L1/0007Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Communication Control (AREA)

Abstract

무선 네트워크에서의 데이터 전송 방법 및 장치가 제공된다.
본 발명의 일 실시예에 따른 무선 네트워크에서의 데이터 전송 방법은, 무선 네트워크로 전송할 데이터를 소정 단위 별로 인코딩하여 상기 전송할 데이터의 오류를 복구하기 위한 정보가 부가된 송신 데이터를 제공하는 단계, 상기 송신 데이터를 상기 무선 네트워크로 전송하는 단계, 및 상기 송신 데이터가 성공적으로 전송되어 상기 송신 데이터의 전송으로 인한 전송 성공률을 계산한 결과가 상기 송신 데이터의 에러 복구율에 의해 결정된 임계값 이상인 경우, 상기 송신 데이터 중에서 미전송된 송신 데이터의 전송을 중지하고 다음 단위에 대한 송신 데이터를 전송하는 단계를 포함한다.
MPEG, 무선 네트워크, FEC(Forward Error Corection), 에러 복구율(error recovery range), 재전송

Description

무선 네트워크에서의 데이터 전송 방법 및 장치{Method and apparatus for data transmitting in the wireless network}
도 1은 본 발명의 제 1 실시예에 따른 비디오 송신 장치의 구성을 도시한 블록도이다.
도 2는 도 1에 도시된 송신 장치의 비디오 처리부의 구성을 보다 구체적으로 도시한 블록도이다.
도 3은 본 발명의 제 1 실시예에 따른 비디오 송신 장치에서의 데이터 흐름을 도시한 예시도이다.
도 4는 본 발명의 제 1 실시예에 따른 비디오 수신 장치의 구성을 도시한 블록도이다.
도 5는 본 발명의 제 1 실시예에 따른 비디오 수신 장치에서의 데이터 흐름을 도시한 예시도이다.
도 6은 본 발명의 제 1 실시예에 따른 비디오 송신 장치에서의 작업 처리 과정을 도시한 흐름도이다.
도 7은 본 발명의 제 1 실시예에 따른 비디오 수신 장치에서의 작업 처리 과정을 도시한 흐름도이다.
도 8은 본 발명의 제 2 실시예에 따른 비디오 수신 장치의 구성을 도시한 블 록도이다.
도 9는 본 발명의 제 2 실시예에 따른 비디오 수신 장치에서 작업 처리 과정을 도시한 흐름도이다.
도 10은 본 발명의 실시예를 적용했을 경우, 인코딩율에 따른 무선 네트워크의 대역폭 사용빈도를 표준화하여 도시한 그래프이다.
도 11은 본 발명의 실시예를 적용했을 경우, 인코딩율에 따른 패킷당 재전송 횟수를 표준화하여 도시한 그래프이다.
<도면의 주요 부분에 대한 부호의 설명>
100: 비디오 송신 장치 120: 프레임 분류부
130: 비디오 데이터 처리부 131: 인코더
132: 인터리버 133: 전송 패킷 타이저
140: 송신부 150: 계산부
160: 판단부 170: 저장부
400: 비디오 수신 장치 420: 패킷 정렬부
431: 디-패킷타이저 432: 디-인터리버
433: 디코더 440: 출력부
본 발명은 무선 네트워크에서의 비디오 데이터의 전송에 관한 것으로, 보다 상세하게는 비디오 데이터 전송시, 무선 네트워크의 자원을 효율적으로 사용할 수 있는 데이터 전송 방법 및 장치에 관한 것이다.
IEEE 802.11a/b/g, cdma2000, UMTS, WiBro등의 무선 통신 기술의 발전과 대중화로 홈 네트워크, 무선 인터넷이 널리 사용될 예정이며, 이들 서비스의 킬러 애플리케이션으로 비디오 스트리밍이 예상된다. 특히, DMB(Digital Multimedia Broadcasting)과 같은 방송 시스템이 구축되면서 무선 통신에서의 비디오 스트리밍의 중요성이 부각되고 있다.
무선 네트워크에서는, 불안정한 채널 상황으로 패킷 분실이 발생하여 수신측의 사용자가 느끼는 비디오 품질에 문제를 야기시킬 수 있다.
사용자가 느끼는 비디오 품질에 이상이 없도록 하기 위해 종래에는 분실된 패킷을 재전송하거나, 전송 속도를 늦추어 재전송하는 방법을 사용하고 있다. 좀 더 구체적으로, 데이터 프레임을 패킷을 나누어 전송할 때, 소정 패킷이 전송에 실패하는 경우, 비디오 송신 장치는 다른 패킷의 전송을 중지한다. 그리고, 전송에 실패한 패킷을 성공적으로 전송할 때까지 재전송한다. 전송에 실패한 패킷을 미리 지정된 횟수만큼 재전송한 후에도 성공적으로 전송되지 않은 경우, 송신측은 패킷 전송 속도를 낮추어 재전송한다. 이와 같은 과정을 거쳐 전송에 실패한 패킷이 성공적으로 전송되면, 비디오 송신 장치는 다음 차례의 패킷을 전송한다.
그런데 종래의 데이터 전송 방법은, 지정된 대역폭을 최대한으로 활용하여 데이터를 무결하게 전송하는데 중점을 두고 있다. 때문에 제한된 무선 네트워크 자원을 효율적으로 사용하고 있지 못하다는 문제가 있다.
이에 여러 발명(예를 들면, 미국 공개 특허 2003-0005382 System and method for frame retransmission in a broadcast communication system )이 제시되었으나 상술한 문제는 여전히 해결되지 않고 있다.
따라서 무선 네트워크를 통해 비디오 데이터를 전송할 경우, 무선 네트워크의 한정된 자원을 효율적으로 사용할 수 있는 데이터 전송 방법과 장치가 필요하다.
본 발명은 상기한 문제점을 개선하기 위해 안출된 것으로, 데이터 전송시 무선 네트워크의 자원을 효율적으로 사용할 수 있는 데이터 전송 방법 및 장치를 제공하는데 목적이 있다.
그러나 본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위하여 본 발명의 실시예에 따른 데이터 전송 방법은, 무선 네트워크로 전송할 데이터를 소정 단위 별로 인코딩하여 상기 전송할 데이터의 오류를 복구하기 위한 정보가 부가된 송신 데이터를 제공하는 단계, 상기 송신 데이터를 상기 무선 네트워크로 전송하는 단계, 및 상기 송신 데이터의 전송 성공으로 인한 전송 성공률을 계산한 결과가 상기 송신 데이터의 에러 복구율에 의해 결정된 임계값 이상인 경우, 상기 송신 데이터 중에서 미전송된 송신 데이터의 전송을 중지하고 다음 단위에 대한 송신 데이터를 전송하는 단계를 포함한다.
상기 목적을 달성하기 위하여 본 발명의 실시예에 따른 무선 네트워크에서의 데이터 전송 장치는, 무선 네트워크로 전송할 데이터를 소정 단위 별로 인코딩하여 상기 전송할 데이터의 오류를 복구하기 위한 정보가 부가된 송신 데이터를 제공하는 비디오 데이터 처리부, 상기 송신 데이터를 상기 무선 네트워크로 전송하는 송신부, 및 상기 송신 데이터의 전송 성공으로 인한 전송 성공률을 계산한 결과가 상기 송신 데이터의 에러 복구율에 의해 결정된 임계값 이상인 경우, 상기 송신 데이터 중에서 미전송된 송신 데이터의 전송을 중지하고 다음 단위에 대한 송신 데이터를 전송하는 판단부를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다
이하, 본 발명의 실시예들에 의하여 무선 네트워크에서의 데이터 전송 방법 및 장치를 설명하기 위한 블록도 또는 처리 흐름도에 대한 도면들을 참고하여 본 발명에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑제되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때 로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 1은 본 발명의 제 1 실시예에 따른 비디오 송신 장치(100)의 구성을 보여주는 예시도이다.
본 실시예에서 사용되는 '~부'라는 용어, 즉 '~모듈' 또는 '~테이블' 등은 소프트웨어, FPGA(Field Programmable Gate Array) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)와 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 기능들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 모듈들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 모듈들은 디바이스 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
도시된 비디오 송신 장치(100)는 입력부(110), 프레임 분류부(120), 비디오 데이터 처리부(130), 송신부(140), 계산부(150), 판단부(160), 저장부(170), 제어부(180) 및 수신부(190)를 포함한다.
입력부(110)는 MPEG과 같은 비디오 데이터를 입력받는다.
프레임 분류부(120)(Frame separator)는 입력부(110)를 통해 입력된 비디오 데이터를 프레임별로 분류한다. 예를 들면, MPEG 비디오 데이터는 I 프레임, B 프레임, P 프레임으로 분류될 수 있다. 이 경우, 각 프레임 데이터가 MPEG TS (Transport Stream)패킷으로 나누어질때 프레임 분류부(120)(Frame separator)는 각 TS 패킷마다 I/P/B 프레임 타입을 표시해 둔다.
비디오 데이터 처리부(130)는 입력부(110)를 통해 입력된 비디오 데이터를 처리한다. 도 2는 비디오 데이터 처리부(130)의 구성을 보다 상세히 도시한 블럭도이다.
도시된 비디오 데이터 처리부(130)는, 코더(coder; 131), 인터리버(interleaver; 132) 및 전송 패킷타이저(packetizer; 133)를 포함할 수 있다.
코더(131)는 FEC(Forward Error Correction) 방식에 따라 프레임 데이터를 코딩한다. FEC는 프레임 데이터에 일정 크기의 데이터를 부가하고, 이 부가된 데이터를 통해 유실되거나 오류가 발생한 데이터를 복구할 수 있도록 하는 것을 말한다. FEC 방식에 따른 코딩 알고리즘으로는 리드-솔로몬 코딩 알고리즘(Reed-Solomon Coding), 비터비(Viterbi) 알고리즘 예로 들 수 있다.
리드-솔로몬 알고리즘을 사용하는 경우, 실제 데이터의 크기가 K byte이며, 인코딩된 데이터가 N byte인 경우 인코딩율은 RS(N, K)로 나타낼 수 있다. 여기서, 코딩에 따라 부가된 데이터의 크기 R은 N-K 이다. 리드-솔로몬 알고리즘에서, 발생한 에러의 크기가 R/2 보다 작은 경우에는 데이터를 복구할 수 있다. 즉, R의 크기 를 크게 할수록 에러를 복구할 수 있는 범위가 증가한다. 그러나 R을 크게 하기 위해서는 N을 크게 해야하며, 이는 전송할 데이터의 크기가 많아짐을 의미한다.
코더(131)는 인코딩시 부가되는 데이터 즉, 오류를 복구할 수 있는 데이터의 크기는 프레임의 중요도에 따라 차등적으로 부가될 수 있다. 예를 들면, 코더(131)는 다른 프레임에 비해 I 프레임에 보다 많은 복구 데이터를 부가할 수 있다. 왜냐하면, I 프레임은 B 프레임과 P 프레임이 참조하는 프레임이기 때문에, I 프레임에 오류가 발생하면 이를 참조하는 B 프레임과 P 프레임에도 오류가 발생하기 때문이다.
또한, 코더(131)는 무선 네트워크의 상황에 따라 데이터를 인코딩하는 방식을 조절할 수 있다. 예를 들어, 전송된 패킷에서의 에러 발생률이 적을 경우, 코더(131)는 인코딩시 부가하는 데이터의 양을 줄일 수 있다. 또는 I 프레임에만 복구 데이터를 부가하고, P 프레임에는 복구 데이터를 부가하지 않도록 인코딩 방식을 변경할 수 있다.
인터리버(132)는, 코딩된 프레임 데이터를 인터리빙한다. 여기서, 인터리빙(interleaving)이란, 각각의 패킷을 여러 개의 블록(block)으로 나누어서, 다른 패킷들의 블록들과 통합하여 새로운 패킷으로 만드는 것을 의미한다. 즉, 도 2와 같이, 210, 220, 230, 240 패킷으로 인코딩된 프레임 데이터를 여러 개의 블록으로 나누어, 211 패킷에 210, 220, 230 및 240 패킷의 일부를 저장하고, 212, 213, 214 패킷들에도 마찬가지로 일부를 저장한다. 이와 같이 인터리빙을 수행하면, 패킷 전송시 패킷 단위로 에러가 발생하더라도, 에러가 발생한 패킷으로 인해 프레임 또는 비디오 데이터가 전부 소실되는 것을 방지할 수 있다.
좀 더 구체적으로, 도 2에서, 인터리빙을 수행하지 않고 패킷 전송했을 때, 210 패킷이 유실된다면, 210 패킷이 가지고 있는 프레임의 특정 데이터가 모두 유실된다. 인터리빙을 수행한 후 패킷을 전송하면, 211 패킷이 유실되더라도, 210, 220, 230 및 240 패킷의 일부가 유실되는 것이다. 즉, 211 패킷 유실로 인한 에러가 다른 패킷들(220, 230, 240)로 분산되기 때문에 프레임 또는 비디오 데이터가 전부 소실되는 경우를 막을 수 있다. 또한, 리드-솔로몬 알고리즘에 따르면, 각 프레임 데이터에서 발생한 에러의 크기가 R/2보다 작은 경우에는 FEC에 의해 유실된 데이터를 복구할 수 있다.
한편, 코딩된 데이터가 인터리빙될 때, 인터리빙 블록의 크기는 무선 네트워크의 상태에 따라 조절될 수 있다. 예를 들어, 무선 네트워크의 에러 발생율이 높은 경우, 인터리버(132)는 인터리빙 블록의 크기를 작게 설정할 수 있다. 반대로, 무선 네트워크의 에러 발생율이 낮은 경우, 인터리버(132)는 인터리빙 블록의 크기를 크게 설정할 수 있다.
전송 패킷타이저(133)는, 인터리빙된 프레임 데이터를 여러 개의 패킷으로 분리하고, 각 패킷의 헤더 부분에 순차 번호를 추가하는 역할을 한다. 순차 번호는, 후술할 비디오 수신 장치(400)가 수신된 데이터를 정렬하는데 사용된다. 즉, 비디오 송신 장치(100)에서 패킷이 전송된 순서와 비디오 수신 장치(400)로 패킷이 수신된 순서가 다를 경우, 비디오 수신 장치(400)는 순차 번호를 이용하여 패킷을 정렬한다.
한편, 인터리빙된 데이터가 패킷타이징될 때, UDP 패킷의 크기는 무선 네트워크의 상태에 따라 조절될 수 있다. 예를 들어, 무선 네트워크의 에러 발생율이 높은 경우에는 UDP 패킷의 크기를 줄일 수 있다. 반대로 데이터 전송률이 낮은 경우에는 UDP 패킷의 크기를 증가시킬 수 있다.
송신부(140)는 패킷을 중요도에 따라 구분하여 전송한다. 이를 위해 송신부(140)는 복수의 우선순위 큐를 포함할 수 있다. 즉, 표시된 프레임 타입에 따라 서로 다른 우선순위 큐에 저장된 후, 비디오 수신 장치(400)로 전송된다.
한편, 송신부(140)는 미리 정해진 전송 파라미터에 따라 패킷을 전송한다. 전송 파라미터로는 전송에 실패한 패킷을 재전송하는데 필요한 재전송 횟수(Retry limit), 데이터 전송률 및 한번에 전송할 수 있는 데이터의 최대 크기(Maximum Transfer unit; MTU) 등을 예로 들 수 있다. 이러한 전송 파라미터는 무선 네트워크의 상황에 따라 조절될 수 있다. 좀 더 구체적으로, 무선 네트워크의 에러 발생율이 높은 경우에는 MTU를 줄일 수 있다. 반대로 에러 발생율이 낮은 경우에는 MTU를 증가시킬 수 있다.
계산부(150)는, 송신부(140)를 통해 패킷이 전송되면, 전송된 패킷을 포함하는 프레임에 대한 패킷 전송 성공률을 계산한다. 예를 들어, 송신부(140)를 통해 I 프레임을 구성하는 패킷이 전송되었다면, I 프레임을 구성하는 전체 패킷 중에서 성공적으로 전송된 패킷의 비율을 계산한다. 그리고 이에 대한 정보를 후술될 판단부(160)로 제공한다.
판단부(160)는, 계산부(150)로부터 제공받은 패킷 전송 성공률이 임계값 이 상인지를 판단하고, 판단 결과에 따라 패킷 전송을 제어한다. 즉, 해당 패킷을 포함하는 프레임 데이터의 패킷 전송을 완료하고 다음 프레임 데이터의 패킷을 전송거나, 전송시 실패한 패킷을 재전송한다. 보다 구체적인 설명은 도 6을 참조하여 후술하기로 한다.
저장부(170)는 제1 저장부(미도시)와 제2 저장부(미도시)를 포함한다.
제1 저장부는, 인코딩율, 인터리빙 블록 크기, UDP 패킷 크기, 및 패킷 전송과 관련된 전송 파라미터 예를 들면, 데이터 전송률, MTU 및 재전송 회수에 대한 정보를 저장한다.
삭제
또한, 제1 저장부는, 인코딩율에 따른 에러 복구율 및 패킷 전송 성공률에 대한 임계값을 저장한다. 표 1과 같이 테이블화 되어 저장될 수 있다.
표 1은 리드-솔로몬 코딩 알고리즘을 적용한 경우, 인코딩율에 따른 에러 복구율 및 패킷 전송 성공률에 대한 임계값을 나타낸 것이다.
인코딩율 RS(N, K) 에러 허용 개수 (N-K) 에러 복구율 {(N-K)/2}*(100/N) 패킷 전송 성공률에 대한 임계값 (100-에러 복구율)
RS(255, 95) 80 31.4% 68.6%
RS(255,127) 64 25% 75%
RS(255,191) 32 12.5% 87.5%
RS(255,223) 16 6.27% 93.73%
RS(255,239) 8 3.14% 96.86%
표 1을 참조하면, I 프레임이 RS(255,127)의 인코딩율로 인코딩된 경우(단위, byte), 패킷 전송 성공률에 대한 임계값은 75% 임을 알 수 있다. 이는, I 프레임이 전송 패킷타이저(133)에 의해 12개의 패킷으로 나누어진 경우, 9개 이상의 패킷이 성공적으로 전송되어야 비디오 수신 장치(400)에서 데이터를 복구할 수 있음을 의미한다.
한편, 제2 저장부는 패킷 전송시, 전송에 실패한 패킷을 저장한다. 이러한 저장부(170)는 ROM(Read Only Memory), PROM(Programable ROM), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래쉬 메모리(Flash memory)와 같은 비휘발성 메모리 소자 또는 RAM(Random Access Memory)과 같은 휘발성 메모리 소자 또는 하드디스크 드라이브(Hard Disk Drive; HDD)와 같은 저장 매체 중 적어도 하나로 구현될 수 있으나 이에 한정되지는 않는다.
수신부(190)는 후술될 비디오 수신 장치(400)로부터 무선 네트워크 상태 정보를 수신한다. 무선 네트워크의 상태 정보에는 패킷 전송률, 에러 발생율에 대한 정보가 포함될 수 있다. 수신부(190)로 수신된 무선 네트워크 상태 정보는 제어부(180)로 제공된다.
제어부(180)는 무선 네트워크의 환경에 따라 비디오 송신 장치(100) 내의 다른 구송 요소들을 제어하는 역할을 한다. 예를 들면, 제어부(180)는 송신부(140)를 제어하여 데이터 전송률, 최대 전송 유닛(Maximum Transfer Unit)의 크기를 조절한다. 좀 더 구체적으로, 802.11a의 경우, 54Mbps, 48Mbps, 36Mbps, 24Mbps, 11Mbps 등의 다양한 데이터 전송률을 제공하는데, 무선 네트워크의 에러 발생율이 낮은 경우, 제어부(180)는 데이터 전송률을 54Mbps로 설정한다. 이에 비해 무선 네트워크의 에러 발생율이 높은 경우에는 데이터 전송률을 54Mbps 보다 낮게 설정한다.
또한, 제어부(180)는 무선 네트워크의 상태에 따라 제2 저장부에 저장된 데이터 즉, 전송 실패한 패킷의 재전송 횟수를 적응적으로 설정한다. 예를 들어, 무선 네트워크의 에러 발생율이 높은 경우, 제어부(180)는 패킷 재전송 횟수를 크게 설정한다. 반면, 무선 네트워크의 에러 발생율이 낮은 경우에는 재전송 횟수를 낮게 설정한다. 또한, 제어부(180)는, 데이터의 중요도에 따라, 재전송 횟수를 적응적으로 설정할 수 있다. 다시 말해, 중요도가 높은 데이터, 예를 들면 I 프레임이 유실될 경우 다른 프레임에 영향을 미칠 수 있으므로 재전송 횟수를 높게 설정할 수 있다. 반면 B 프레임의 경우는 유실되어도 다른 프레임에 크게 영향을 미치지 않으므로 재전송 횟수를 낮게 설정할 수 있다.
도 3은 본 발명의 실시예에 따른 비디오 송신 장치(100) 내에서의 데이터 흐름을 도시한 것이다.
도 3을 참조하면, 입력부(110)를 통해 입력된 비디오 데이터는 프레임 분류부(120)에 의해 프레임별로 분류된다. 예를 들어, MPEG 비디오 데이터의 경우, I, B, P 프레임으로 분류된다. 이 후, 분류된 프레임 데이터가 MPEG TS(Transport Stream) 패킷으로 나누어질 때, 각 TS 패킷에는 해당 프레임 타입이 표시된다.
이 후, 해당 프레임 타입이 표시된 TS 패킷은 인코더(131)에 의해 미리 정해진 인코딩율에 의해 인코딩된다. 즉, 각 프레임 타입의 중요도에 맞게끔 설정된 인코딩율에 따라 인코딩된다.
이렇게 인코딩된 데이터는 무선 네트워크의 상황에 맞게끔 설정된 인터리빙 블록 크기에 맞추어 여러 개의 블록으로 나누어진 다음 서로 섞이게 된다.
인터리빙된 프레임은 전송 패킷타이저(133)에 의해 순차번호가 부가되어 패킷으로 분류된 후, 송신부(140)를 통해 비디오 수신 장치(400)로 전송된다. 패킷 전송시, 해당 프레임에 대한 패킷 전송 성공률이 임계값 이상인 경우에는 해당 프레임에 대한 패킷 전송이 종료되고, 다음 프레임의 패킷이 전송된다. 또한, 패킷 전송시, 전송 실패한 패킷은 제2 저장부에 저장된다. 제2 저장부에 저장된 패킷들은, 해당 프레임에 대한 패킷 전송률이 미리 지정된 임계값 이하이고, 프레임 단위로의 전송이 완료된 경우, 송신부(140)를 통해 재전송된다.
다음으로, 도 4는 본 발명의 제 1 실시예에 따른 비디오 수신 장치(400)의 구성을 도시한 블록도이다.
도시된 비디오 수신 장치(400)는, 수신부(410), 패킷 정렬부(420), 비디오 데이터 처리부(430), 출력부(440) 정보 수집부(450) 및 송신부(460)를 포함한다.
수신부(410)는 무선 네트워크를 통해 비디오 송신 장치(100)에서 송신된 패킷 및 재전송된 패킷을 수신한다. 이 때, 수신된 패킷들은 프레임 타입에 따라 별도의 큐에 저장된다.
패킷 정렬부(420)(packet sorter)는 수신된 패킷의 헤더에 포함된 순차번호를 참조하여, 순차적으로 수신되지 않은 패킷을 정렬한다. 이때 정렬하는 방법은 복수의 프레임 큐(미도시)에서 패킷을 하나씩 가져와서 가장 작은 순차번호를 가지는 패킷을 시퀀스 큐(미도시)에 저장한다. 그 다음 선택된 패킷이 나온 프레임 큐로부터 다음 패킷을 가져와서 다시 가장 작은 순차번호를 비교한다. 이러한 과정을 각 프레임 큐가 비게 될 때까지 되풀이 하여 수신된 패킷을 정렬한다.
비디오 데이터 처리부(430)는 패킷 정렬부(420)에 의해 정렬된 패킷을 처리하여 비디오 데이터를 재생하는 역할을 한다. 좀 더 구체적으로, 비디오 데이터 처리부(430)는, 디-패킷타이저(431), 디-인터리버(432) 및 디코더(433)를 포함한다.
디-패킷타이저(431)는 수신된 패킷을 조합하여 프레임 데이터를 생성한다. 이 때, 디-패킷타이저(431)는 패킷의 헤더에 포함되어 있는 정보 즉, 코딩된 데이터의 크기 및 순차번호를 이용하여 드랍된 패킷을 찾아내고, 드랍된 패킷의 크기만큼 더미 데이터(dummy data)를 채워 프레임 데이터를 생성한다.
디-인터리버(432)는, 디-패킷타이저(431)에 의해 생성된 프레임 데이터를 디-인터리빙(de-interleaving)한다. 이와 같이, 디-인터리빙을 하면, 더미 데이터가 프레임 전체로 분산되므로, 손실된 패킷으로 인해 프레임의 특정 부분의 데이터가 전부 소실되는 것을 막을 수 있다.
디코더(433)는, 디인터리빙된 프레임 데이터를 디코딩한다. 즉, 비디오 송신 장치(100)에서 에러 복구를 위해 부가한 복구 정보를 이용하여 원래의 비디오 데이터를 추출한다.
비디오 출력부(440)는 비디오 데이터 처리부(430)에 의해 처리된 비디오 데이터를 출력한다.
정보 수집부(450)는 디코딩된 후의 에러 발생율 등과 같은 무선 네트워크 상태 정보를 수집한다.
송신부(460)는 정보 수집부(450)에 의해 수집된 무선 네트워크 상태 정보를 비디오 송신 장치(100)로 송신하는 역할을 한다.
도 5는 본 발명의 실시예에 따른 비디오 수신 장치(400) 내에서의 데이터 흐름을 도시한 것이다.
도 5를 참조하면, 비디오 송신 장치(100)에서 전송된 패킷은 비디오 수신 장치(400)의 수신부(410)로 수신된다. 이 때, 수신부(410)로는 비디오 수신 장치(400)에서 복구 가능한만큼의 패킷이 수신된다. 수신된 패킷들은 패킷 정렬부(420)에 의해 차례대로 정렬된다. 이 후, 디-패킷타이저(431)에 의해 드랍된 패킷의 위치에, 해당 패킷의 크기만큼의 더미 데이터가 채워져 프레임 데이터가 생성되면, 프레임 데이터는 디-인터리버(432)에 의해 디-인터리빙된다. 디-인터리빙된 프레임은 디코더(433)에 의해 디코딩된 후, 비디오 출력부(440)를 통해 출력된다.
다음으로 도 6 및 도 7을 참조하여 본 발명의 제 1 실시예에 따른 데이터 송수신 방법에 대해서 설명하기로 한다.
도 6은 본 발명의 실시예에 따른 비디오 송신 장치(100)에서의 작업 처리 과정을 도시한 흐름도이다.
먼저, 제어부(180)는 수신부(190)를 통해 비디오 수신 장치(400)로부터 무선 네트워크의 상태 정보를 수신한다(S601). 여기서, 무선 네트워크의 상태 정보에는 패킷 전송률, 에러 발생율 등의 정보가 포함될 수 있다. 제어부는 수신된 무선 네트워크의 상태 정보에 따라 비디오 데이터 처리에 필요한 각종 파라미터 및 데이터 송신에 필요한 전송 파라미터를 설정한다.
이 후, 비디오 입력부(110)를 통해 입력된 비디오 데이터는 프레임별로 분류된다(S602). 예를 들어, MPEG 비디오 데이터의 경우, I, B, P 프레임으로 분류된다. 타입별로 분류된 프레임 데이터 TS 패킷으로 나누어진 후, 비디오 처리부에 의해 코딩, 인터리빙, 그리고 패킷타이징 된다(S603). 이 때, I/P/B 프레임 타입의 중요도에 맞게끔 제어부(180)에 의해 설정된 인코딩율(encoding rate), 인터리빙 블록 크기(interleaving block size), UDP 패킷 크기(UDP packet size)가 적용된다. 예를 들면, I 프레임은 중요도가 가장 높으므로, 다른 프렘임에 비해 높은 인코딩율로 인코딩될 수 있다.
한편, 비디오 프레임뿐만 아니라, 시스템에 관한 정보와 헤더, 오디오 TS 패킷도 전달이 되는데, 이 중에서 시스템 정보와 헤더는 I 프레임과 같은 중요도로 처리되어 코딩될 수 있다. 그리고 오디오 TS 패킷은 각 I/P/B 프레임에 포함되어 같이 인코딩될 수 있다.
패킷으로 만드는 과정인 패킷타이징까지 끝난 패킷은 송신부(140)를 통해 비디오 수신 장치(400)로 전송된다(S604). 이 때, 전송에 실패한 패킷들은 제2 저장부에 별도로 저장된다(S611).
한편, 송신부(140)를 통해 패킷이 전송되면, 계산부(150)는 해당 패킷을 포함하는 프레임에 대한 패킷 전송 성공률을 계산하여, 판단부(160)로 제공한다. 예를 들어, 전송된 패킷이 I 프레임의 패킷이라면(S610), 계산부(150)는 I 프레임에 대한 패킷 전송 성공률(즉, I 프레임을 구성하는 전체 패킷 중 성공적으로 전송된 패킷의 비율)을 계산하여, 판단부(160)로 제공한다.
판단부(160)는 계산부(150)로부터 제공받은 패킷 전송 성공률이 임계값 이상인지를 판단한다(S620). 예를 들어, I 프레임이 RS(255, 127)의 인코딩율로 인코딩된 경우, 판단부(160)는 계산부(150)로부터 제공받은 패킷 전송 성공률이 75%인지를 판단한다. 좀 더 구체적으로, I 프레임이 12개의 패킷으로 패킷타이징된 경우, 판단부(160)는 9개 이상의 패킷이 성공적으로 전송되었는지를 판단한다.
판단 결과, 패킷 전송 성공률이 임계값 이상이라면(S620, 예), 판단부(160)는 이를 송신부(140)에 알려 해당 프레임의 패킷 전송이 중지되고(S621), 다음 프레임의 패킷 전송될 수 있도록 한다(S622). 예를 들어, I 프레임에 대한 12개의 패킷 중 첫 번째 패킷부터 아홉 번째 패킷까지 모두 성공적으로 전송되었다면, 판단부(160)는 I 프레임에 대한 패킷 전송이 중지되고, 다음 프레임 예를 들면, B 프레임의 패킷이 전송될 수 있도록 한다. 만약, 제2 저장부에 1차 전송에 실패한 패킷들이 저장되어 있는 경우, 판단부(160)는 저장된 패킷들이 폐기될 수 있도록 한다(S621).
판단 결과, 패킷 전송 성공률이 임계값 이하라면(S620, 아니오), 판단부(160)는 전송된 패킷이 해당 프레임의 마지막 패킷인지를 판단한다(S630). 즉, 해당 프레임의 패킷이 모두 전송되었는지를 판단한다.
판단 결과, 해당 프레임의 패킷이 모두 전송되지 않은 경우(S630, 아니오), 판단부(160)는 해당 프레임의 다음 패킷이 송신부(140)를 통해 전송될 수 있도록 한다(S604). 예를 들어, I 프레임에 대한 패킷 중, 첫 번째 패킷부터 일곱 번째 패킷이 모두 성공적으로 전송된 경우, 패킷 전송 성공률은 75% 이하이고, I 프레임의 패킷이 모두 전송된 것이 아니므로, 판단부(160)는, 다음 패킷 즉, I 프레임의 여덟 번째 패킷이 전송될 수 있도록 한다.
판단 결과, 해당 프레임의 패킷이 모두 전송된 경우(S630, 예), 판단부(160)는 제2 저장부에 저장되어 있는 패킷 즉, 최초 전송시, 전송에 실패한 패킷이 재전송될 수 있도록 한다(S650). 예를 들면, I 프레임에 대한 12개의 패킷 중, 총 8개의 패킷이 성공적으로 전송된 상태에서 열두 번째 패킷을 전송한 결과, 전송에 실패한 경우, 패킷 전송 성공률은 75% 이하이고, I 프레임의 패킷이 모두 전송된 상태이므로, 판단부(160)는, 제2 저장부에 저장되어 있는 4개의 패킷 중 하나가 재전송될 수 있도록 한다. 이 때, 재전송되는 패킷들은 먼저 저장된 순서대로 재전송되거나 임의의 순서대로 재전송될 수 있다.
또한, 재전송되는 패킷의 데이터 전송률은 초기 데이터 전송률에 비해 낮게 설정되는 것이 바람직하다(S640). 예를 들어, 초기 데이터 전송률이 54Mbps였다면, 재전송되는 패킷은 24Mbps의 데이터 전송률로 전송되는 것이 바람직하다. 이와 같이, 재전송되는 패킷의 데이터 전송률을 초기 데이터 전송률에 비해 낮게 설정하므로써, 재전송되는 패킷의 전송 성공률을 높일 수 있다.
이와 같이, 패킷이 재전송되면, 판단부(160)는 패킷 전송 성공률이 임계값 이상이 되었는지를 다시 판단한다(S660).
판단 결과, 패킷 전송 성공률이 임계값 이상이라면(S660, 예), 판단부(160)는 제2 저장부에 저장되어 있는 패킷이 모두 폐기될 수 있도록 한다(S661). 그리고, 다음 프레임의 패킷이 전송될 수 있도록 한다(S662). 예를 들어, 제2 저장부에 저장된 4개의 패킷 중 하나의 패킷을 재전송한 결과, 성공적으로 전송된 경우, 12개의 패킷 중 9개의 패킷이 성공적으로 전송되었으므로, 패킷 전송 성공률이 75%가 된다. 이는, 비디오 수신 장치(400)에서는 9개의 패킷을 이용하여 I 프레임을 복구할 수 있음을 의미한다. 따라서, 판단부(160)는 제2 저장부(170)에 저장되어 있는 네 개의 패킷이 폐기될 수 있도록 한 다음, 다음 프레임 예를 들면, B 프레임의 패킷이 전송될 수 있도록 한다.
판단 결과, 패킷 전송 성공률이 임계값 이하라면(S660, 아니오), 판단부(160)는 해당 패킷이 지정된 재전송 횟수만큼 재전송되었는지를 판단한다(S670).
판단 결과, 지정된 재전송 횟수만큼 재전송되지 않은 경우(S670, 아니오), 판단부(160)는 해당 패킷이 지정된 횟수만큼 재전송될 수 있도록 한다(S671). 예를 들어, 제어부(180)에 의해 재전송 횟수가 3회로 설정된 경우, 판단부(160)는 1차 재전송된 패킷이 송신부(140)를 통해 3차까지 재전송될 수 있도록 한다.
판단 결과, 지정된 재전송 횟수만큼 재전송이 이루어진 경우(S670, 예), 판단부(160)는 해당 패킷이 폐기되도록 하거나, 별도로 저장되도록 한 후, 제2 저장부에 저장된 패킷 중에서 다른 패킷을 재전송한다(S650). 그리고, 전술한 단계(S650 내지 S671)를 반복한다.
도 7은 본 발명의 실시예에 따른 비디오 수신 장치(400)에서의 작업 처리 과정을 도시한 흐름도이다.
비디오 수신 장치(400)의 수신부(410)는 비디오 송신 장치(100)로부터 복구 가능한만큼의 패킷을 수신한다(S710). 이 후, 패킷 정렬부(420)는 수신된 패킷들을 차례대로 정렬한다(S720). 이 후, 디-패킷타이저(431)는 드롭된 패킷의 위치에 드롭된 패킷의 크기에 해당하는 더미 데이터를 채워 프레임 데이터를 생성한다(S730). 프레임 데이터가 생성되면, 디-인터리버(432)에 의해 디-인터리빙된 다음, 디코더(433)에 의해 디코딩된 후, 비디오 출력부(440)를 통해 표시된다(S740).
한편, 비디오 수신 장치(400)의 정보 수집부(450)는 디코딩된 데이터로부터 얼마만큼의 에러가 발생하였는지를 계산하여 무선 네트워크의 상태 정보를 생성한다. 그리고, 송신부(460)을 통해 이 상태 정보를 비디오 송신 장치(100)로 송신한다(S750).
다음으로, 도 8 및 도 9를 참조하여 본 발명의 제 2 실시예에 따른 비디오 송신 장치(800)의 구성 및 작업 처리 과정에 대해서 설명하기로 한다.
여기서, 도 8은 본 발명의 제 2 실시예에 따른 비디오 송신 장치(800)의 구성을 도시한 블록도이며, 도 9는 본 발명의 제 2 실시예에 따른 비디오 송신 장치(800)의 작업 처리 과정을 도시한 흐름도이다.
본 발명의 제 2 실시예에 따른 비디오 송신 장치(800)는 다음을 제외하고는 전술한 제 1 실시예에 따른 비디오 송신 장치(100)의 구조와 동일하다.
즉, 계산부(850)는 송신부(890)를 통해 전송된 패킷이 전송에 실패한 경우(S910, 아니오), 전송에 실패한 패킷을 포함하는 프레임에 대한 패킷 전송 실패율을 계산한다. 그리고 이를 판단부(860)로 제공한다. 예를 들어, I 프레임에 대한 패킷이 전송에 실패한 경우, 계산부(850)는 I 프레임에 대한 패킷 전송 실패율(즉, I 프레임을 구성하는 전체 패킷 중 전송에 실패한 패킷의 비율)을 계산하여 판단부(860)로 제공한다.
판단부(860)는 계산부(850)로부터 제공받은 패킷 전송 실패율이 에러 복구율 이상인지를 판단하고(S911), 판단 결과에 따라 전송에 실패한 패킷이 제2 저장부(미도시)에저장되거나(S912), 폐기되도록 한다(S913).
좀 더 구체적인 설명을 위해 I 프레임이 RS(255, 127)의 인코딩율로 인코딩되어, 16개의 패킷으로 패킷타이징된 경우를 예로 들어 설명하기로 한다.
I 프레임에 대한 16개의 패킷 중, 첫 번째 패킷을 전송한 결과, 전송에 실패한 경우, 계산부(850)는 첫 번째 패킷의 전송 실패로 인한 패킷 전송 실패율을 계산한다. 이 경우 패킷 전송 실패율은 약 6%이다.
이 후, 판단부(860)는 계산부(850)에서 제공된 패킷 전송 실패율이 에러 복구율 이상인지를 판단한다(S911). 즉, 패킷 전송 실패율이 25% 이상인지를 판단한다.
판단 결과, 패킷 전송 실패율이 25% 이하이므로(S911, 아니오), 판단부(860)는 첫 번째 패킷이 폐기되도록 한다(S913). 두 번째 패킷, 세 번째 및 네 번째 패킷 역시 전송에 실패하더라도, 패킷 전송 실패율은 25% 이하이다. 따라서, 판단부(860)는 두 번째 패킷, 세 번째 패킷 및 네 번째 패킷이 모두 폐기되도록 한다(S913).
만약, 다섯 번째 패킷 역시 전송에 실패한 경우, 패킷 전송 실패율은 25% 이상이 된다(S911, 예). 따라서, 판단부(860)는 다섯 번째 패킷부터 제2 저장부에 저장될 수 있도록 한다(S912). 이와 같은 방법으로 전송에 실패한 패킷을 저장하면, 제2 저장부의 공간을 보다 효율적으로 사용할 수 있다.
도 10은 인코딩율에 따른 무선 네트워크의 대역폭 사용 빈도를 표준화하여 그래프로 도시한 것이다.
도 10은 무선 네트워크에서 에러가 없는 경우의 대역폭을 1로 표준화한 것이다. 도 10을 참조하면, 동일한 평균 에러율에서, 예를 들면 2 내지 5%의 평균 에러율에서, 비디오 데이터가 RS(255,239) 또는 RS(255,223) 또는 RS(255, 191)의 인코딩율로 인코딩된 경우, 상용화된 기술인 MadWiFi에 비해서 무선 네트워크의 대역폭을 적게 사용하고 있음을 알 수 있다.
도 11은 본 발명의 실시예에 따라 데이터를 전송하는 경우, 인코딩율에 따른 패킷당 재전송 비율을 도시한 그래프이다.
도 11을 참조하면, 본 발명의 실시예에 따른 데이터 전송 방법에 따라 패킷을 전송하는 경우, 동일한 평균 에러율에서, 예를 들면 15% 내지 20%의 평균 에러율에서, 상용화된 기술인 MadWiFi 비해서 패킷 당 재전송 횟수가 현격히 감소함을 알 수 있다.
이상과 같이 예시된 도면을 참조로 하여 본 발명의 실시예를 설명하였으나, 본 발명은 본 명세서에 개시된 실시예와 도면에 의해 한정되지 않으며, 그 발명의 기술사상 범위 내에서 당업자에 의해 다양한 변형이 이루어질 수 있음은 물론이다.
상기한 바와 같은 본 발명에 의한 무선 네트워크에서의 데이터 전송 방법 및 장치에 따르면, 제한된 무선 네트워크 자원을 효율적으로 사용할 수 있다는 장점이 있다.

Claims (22)

  1. 무선 네트워크로 전송할 데이터를 소정 단위 별로 인코딩하여 상기 전송할 데이터의 오류를 복구하기 위한 정보가 부가된 송신 데이터를 제공하는 단계;
    상기 송신 데이터를 상기 무선 네트워크로 전송하는 단계; 및
    상기 송신 데이터의 전송 성공으로 인한 전송 성공률을 계산한 결과가 상기 송신 데이터의 에러 복구율에 의해 결정된 임계값 이상인 경우, 상기 송신 데이터 중에서 미전송된 송신 데이터의 전송을 중지하는 단계를 포함하는, 데이터 전송 방법.
  2. 제 1 항에 있어서,
    상기 전송할 데이터는 비디오 데이터이며,
    상기 데이터에 I 프레임, P 프레임, B 프레임인지를 표시하여 상기 데이터를 분류하는 단계를 더 포함하는, 데이터 전송 방법.
  3. 제 1 항에 있어서,
    상기 제공하는 단계는, FEC(Forward Error Correction) 인코딩을 수행하는 단계를 포함하는, 데이터 전송 방법.
  4. 제 1 항에 있어서,
    상기 제공하는 단계는, 상기 송신 데이터를 인터리빙하는 단계를 포함하는, 데이터 전송 방법.
  5. 제 1 항에 있어서,
    상기 제공된 송신 데이터 중에서 전송에 실패한 송신 데이터를 저장하는 단계를 더 포함하는, 데이터 전송 방법.
  6. 제 5 항에 있어서,
    상기 저장하는 단계는,
    상기 전송에 실패한 송신 데이터로 인한 전송 실패율이 상기 에러 복구율보다 작은 경우에, 상기 전송에 실패한 송신 데이터를 폐기하는 단계를 포함하는, 데이터 전송 방법.
  7. 삭제
  8. 제 1 항에 있어서,
    상기 전송 성공률이 상기 임계값보다 작고 상기 제공된 송신 데이터의 전송이 완료되지 않은 경우, 상기 제공된 송신 데이터 중에서 미전송된 송신 데이터를 전송하는 단계를 더 포함하는, 데이터 전송 방법.
  9. 제 1 항에 있어서,
    상기 전송 성공률이 상기 임계값보다 작고 상기 제공된 송신 데이터의 전송이 완료된 경우, 상기 제공된 송신 데이터 중에서 전송에 실패한 송신 데이터를 재전송하는 단계를 더 포함하는, 데이터 전송 방법.
  10. 제 9 항에 있어서,
    상기 전송에 실패한 송신 데이터의 전송 속도를 감소시키는 단계를 더 포함하는, 데이터 전송 방법.
  11. 제 9 항에 있어서,
    상기 전송에 실패한 송신 데이터가 성공적으로 재전송되어, 상기 재전송된 송신 데이터로 인한 전송 성공률을 계산한 결과가 상기 임계값 이상인 경우, 다음 단위에 대한 송신 데이터를 전송하고,
    상기 결과가 상기 임계값보다 작은 경우, 상기 전송에 실패한 송신 데이터가 사전 지정된 재전송 횟수만큼 재전송된 상태인지의 여부에 따라 상기 전송에 실패한 송신 데이터의 재전송을 제어하는 단계를 더 포함하는, 데이터 전송 방법.
  12. 무선 네트워크로 전송할 데이터를 소정 단위 별로 인코딩하여 상기 전송할 데이터의 오류를 복구하기 위한 정보가 부가된 송신 데이터를 제공하는 비디오 데이터 처리부;
    상기 송신 데이터를 상기 무선 네트워크로 전송하는 송신부; 및
    상기 송신 데이터의 전송 성공으로 인한 전송 성공률을 계산한 결과가 상기 송신 데이터의 에러 복구율에 의해 결정된 임계값 이상인 경우, 상기 송신 데이터 중에서 미전송된 송신 데이터의 전송을 중지하는 판단부를 포함하는, 데이터 전송 장치.
  13. 제 12 항에 있어서,
    상기 전송할 데이터는 비디오 데이터이며,
    상기 데이터에 I 프레임, P 프레임, B 프레임인지를 표시하여 상기 데이터를 분류하는 프레임 분류부를 더 포함하는, 데이터 전송 장치.
  14. 제 12 항에 있어서,
    상기 비디오 데이터 처리부는 FEC(Forward Error Correction) 인코딩을 수행하는, 데이터 전송 장치.
  15. 제 12 항에 있어서,
    상기 비디오 데이터 처리부는 상기 인코딩한 송신 데이터를 인터리빙하는, 데이터 전송 장치.
  16. 제 12 항에 있어서,
    상기 제공된 송신 데이터 중에서 전송에 실패한 송신 데이터를 저장하는 저장부를 더 포함하는 데이터 전송 장치.
  17. 제 16 항에 있어서,
    상기 판단부는, 상기 전송에 실패한 송신 데이터로 인한 전송 실패율이 상기 에러 복구율 보다 작은 경우에, 상기 전송에 실패한 송신 데이터를 폐기하는 데이터 전송 장치.
  18. 삭제
  19. 제 12 항에 있어서,
    상기 판단부는, 상기 전송 성공률이 상기 임계값보다 작고 상기 제공된 송신 데이터의 전송이 완료되지 않은 경우, 상기 제공된 송신 데이터 중에서 미전송된 송신 데이터를 전송하는, 데이터 전송 장치.
  20. 제 12 항에 있어서,
    상기 판단부는, 상기 전송 성공률이 상기 임계값보다 작고 상기 제공된 송신 데이터의 전송이 완료된 경우, 상기 송신 데이터 중에서 전송에 실패한 송신 데이터를 재전송하는, 데이터 전송 장치.
  21. 제 20 항에 있어서,
    상기 판단부는, 상기 전송에 실패한 송신 데이터의 전송 속도를 감소시키는, 데이터 전송 장치.
  22. 제 20 항에 있어서,
    상기 판단부는, 상기 전송에 실패한 송신 데이터가 성공적으로 재전송되어, 상기 재전송된 송신 데이터로 인한 전송 성공률을 계산한 결과가 상기 임계값 이상인 경우, 다음 단위에 대한 송신 데이터를 전송하고,
    상기 결과가 상기 임계값보다 작은 경우, 상기 전송에 실패한 송신 데이터가 사전 지정된 재전송 횟수만큼 재전송된 상태인지의 여부에 따라 상기 전송에 실패한 송신 데이터의 재전송을 제어하는, 데이터 전송 장치.
KR20050109266A 2005-11-15 2005-11-15 무선 네트워크에서의 데이터 전송 방법 및 장치 KR100746013B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR20050109266A KR100746013B1 (ko) 2005-11-15 2005-11-15 무선 네트워크에서의 데이터 전송 방법 및 장치
EP20060123323 EP1786135B1 (en) 2005-11-15 2006-11-01 Method and apparatus for transmitting data in wireless network
DE200660002471 DE602006002471D1 (de) 2005-11-15 2006-11-01 Verfahren und Vorrichtung zur Datenübertragung in einem drahtlosen Netzwerk
JP2006303989A JP4611274B2 (ja) 2005-11-15 2006-11-09 無線ネットワークにおけるデータ伝送方法及び装置
CNB2006101470654A CN100563345C (zh) 2005-11-15 2006-11-14 在无线网络中发送数据的方法和设备
US11/599,485 US8335516B2 (en) 2005-11-15 2006-11-15 Method and apparatus for transmitting data in wireless network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20050109266A KR100746013B1 (ko) 2005-11-15 2005-11-15 무선 네트워크에서의 데이터 전송 방법 및 장치

Publications (1)

Publication Number Publication Date
KR100746013B1 true KR100746013B1 (ko) 2007-08-06

Family

ID=37828724

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20050109266A KR100746013B1 (ko) 2005-11-15 2005-11-15 무선 네트워크에서의 데이터 전송 방법 및 장치

Country Status (6)

Country Link
US (1) US8335516B2 (ko)
EP (1) EP1786135B1 (ko)
JP (1) JP4611274B2 (ko)
KR (1) KR100746013B1 (ko)
CN (1) CN100563345C (ko)
DE (1) DE602006002471D1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019225788A1 (ko) * 2018-05-25 2019-11-28 라인플러스 주식회사 복수의 채널을 이용하여 동적 비트레이트의 비디오를 송출 및 재생하는 방법 및 시스템

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008211539A (ja) * 2007-02-27 2008-09-11 Brother Ind Ltd 通信装置および通信システム
JP4793287B2 (ja) * 2007-02-28 2011-10-12 ブラザー工業株式会社 通信装置および通信システム
US8189492B2 (en) * 2009-03-18 2012-05-29 Microsoft Corporation Error recovery in an audio-video multipoint control component
TWI584124B (zh) * 2010-10-06 2017-05-21 鈺群科技股份有限公司 可減少於透過高速週邊元件互連介面作即時傳輸時所需之重傳緩衝器之容量之方法與相關裝置
JP2012195973A (ja) * 2012-07-11 2012-10-11 Fujitsu Ltd 中継装置
US20140118222A1 (en) * 2012-10-30 2014-05-01 Cloudcar, Inc. Projection of content to external display devices
US10033483B2 (en) * 2015-05-18 2018-07-24 Microsoft Technology Licensing, Llc Adjustable interleaving for communication data
CN106961391A (zh) * 2017-04-01 2017-07-18 重庆金美通信有限责任公司 一种窄带链路控制更新报文发送的方法和设备
US10033709B1 (en) * 2017-11-20 2018-07-24 Microsoft Technology Licensing, Llc Method and apparatus for improving privacy of communications through channels having excess capacity
CN110299963A (zh) * 2019-06-05 2019-10-01 西安万像电子科技有限公司 数据处理方法及装置
CN112767953B (zh) * 2020-06-24 2024-01-23 腾讯科技(深圳)有限公司 语音编码方法、装置、计算机设备和存储介质
CN117750424A (zh) * 2022-09-14 2024-03-22 华为技术有限公司 通信方法、通信装置和通信系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07264077A (ja) * 1994-03-18 1995-10-13 Canon Inc 誤り検出訂正回路
WO2000076148A1 (en) 1999-06-03 2000-12-14 Fujitsu Network Communications, Inc. Method for allocating bandwidth to real-time variable bit rate (rt-vbr) traffic
KR20020000745A (ko) * 2001-11-15 2002-01-05 박홍성 무선 데이터통신망에서 데이터 스트리밍을 위한 필터링시스템 및 그 방법
KR20050035730A (ko) * 2003-10-14 2005-04-19 삼성전자주식회사 패킷 데이터 서비스를 제공하는 이동통신 시스템에서 패킷데이터 제어 채널의 제어 메시지 송신 장치 및 방법
KR20050043302A (ko) * 2003-11-05 2005-05-11 삼성전자주식회사 무선 통신 시스템에서 서비스 품질을 보장하기 위한 복합자동 재전송 요구 방법
KR20060091607A (ko) * 2005-02-16 2006-08-21 엘지전자 주식회사 무선 기기의 오류 복구 방법

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4691314A (en) * 1985-10-30 1987-09-01 Microcom, Inc. Method and apparatus for transmitting data in adjustable-sized packets
US5561445A (en) 1992-11-09 1996-10-01 Matsushita Electric Industrial Co., Ltd. Three-dimensional movement specifying apparatus and method and observational position and orientation changing apparatus
US5521617A (en) 1993-04-15 1996-05-28 Sony Corporation Three-dimensional image special effect apparatus
JP3127440B2 (ja) * 1995-10-23 2001-01-22 日本電信電話株式会社 誤り回復装置
US20040160414A1 (en) 1996-07-05 2004-08-19 Armstrong Brad A. Image controller
US6317462B1 (en) * 1998-10-22 2001-11-13 Lucent Technologies Inc. Method and apparatus for transmitting MPEG video over the internet
KR100607934B1 (ko) * 1999-08-27 2006-08-03 삼성전자주식회사 광대역 무선 통신에서의 링크 계층의 오류 제어방법 및 이를위한 기록 매체
EP1096729A1 (en) * 1999-10-28 2001-05-02 Hewlett-Packard Company, A Delaware Corporation Rate adaptive payload transmission for local area networks
US7039038B2 (en) * 2001-01-18 2006-05-02 Texas Instruments Incorporated Adaptive fragmentation for wireless network communications
US6983410B2 (en) * 2001-07-02 2006-01-03 Qualcomm, Incorporated System and method for a frame re-transmission in a broadcast communication system
US6807428B2 (en) * 2001-08-16 2004-10-19 Qualcomm, Incorporated Method and apparatus for time-based reception of transmissions in a wireless communication system
US6670947B2 (en) 2001-10-22 2003-12-30 Robert William Smyth SO3 input device
US6980514B2 (en) * 2002-03-12 2005-12-27 Qualcomm Incorporated Method and apparatus for controlling flow of data in a communication system
US7254765B2 (en) * 2002-09-24 2007-08-07 Telefonaktiebolaget Lm Ericsson (Publ) Method and devices for error tolerant data transmission, wherein retransmission of erroneous data is performed up to the point where the remaining number of errors is acceptable
JP4109090B2 (ja) 2002-11-14 2008-06-25 多摩川精機株式会社 トラックボール
JP4217534B2 (ja) * 2003-05-20 2009-02-04 株式会社エヌ・ティ・ティ・ドコモ パケット送信装置、パケット受信装置、方法及びプログラム
JP4328602B2 (ja) 2003-11-20 2009-09-09 富士通株式会社 パケットエラー訂正装置及び方法
JP2005252622A (ja) * 2004-03-03 2005-09-15 Kitakyushu Foundation For The Advancement Of Industry Science & Technology 通信装置及び通信方法
WO2005086436A1 (ja) * 2004-03-03 2005-09-15 Mitsubishi Denki Kabushiki Kaisha パケット転送装置、パケット転送ネットワークシステム、および、端末装置
KR100881037B1 (ko) * 2004-05-04 2009-02-05 퀄컴 인코포레이티드 시간적 확장성을 위한 양방향 예측 프레임을 구성하는 방법 및 장치
US20060150055A1 (en) * 2005-01-06 2006-07-06 Terayon Communication Systems, Inc. Adaptive information delivery system using FEC feedback

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07264077A (ja) * 1994-03-18 1995-10-13 Canon Inc 誤り検出訂正回路
WO2000076148A1 (en) 1999-06-03 2000-12-14 Fujitsu Network Communications, Inc. Method for allocating bandwidth to real-time variable bit rate (rt-vbr) traffic
KR20020000745A (ko) * 2001-11-15 2002-01-05 박홍성 무선 데이터통신망에서 데이터 스트리밍을 위한 필터링시스템 및 그 방법
KR20050035730A (ko) * 2003-10-14 2005-04-19 삼성전자주식회사 패킷 데이터 서비스를 제공하는 이동통신 시스템에서 패킷데이터 제어 채널의 제어 메시지 송신 장치 및 방법
KR20050043302A (ko) * 2003-11-05 2005-05-11 삼성전자주식회사 무선 통신 시스템에서 서비스 품질을 보장하기 위한 복합자동 재전송 요구 방법
KR20060091607A (ko) * 2005-02-16 2006-08-21 엘지전자 주식회사 무선 기기의 오류 복구 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019225788A1 (ko) * 2018-05-25 2019-11-28 라인플러스 주식회사 복수의 채널을 이용하여 동적 비트레이트의 비디오를 송출 및 재생하는 방법 및 시스템
CN112219404A (zh) * 2018-05-25 2021-01-12 连普乐士株式会社 利用多个通道来发送及播放动态比特率的视频的方法及系统
US11539991B2 (en) 2018-05-25 2022-12-27 LINE Plus Corporation Method and system for transmitting and reproducing video of dynamic bitrate with a plurality of channels

Also Published As

Publication number Publication date
US20070124626A1 (en) 2007-05-31
CN1976479A (zh) 2007-06-06
CN100563345C (zh) 2009-11-25
DE602006002471D1 (de) 2008-10-09
JP2007143142A (ja) 2007-06-07
US8335516B2 (en) 2012-12-18
EP1786135A1 (en) 2007-05-16
EP1786135B1 (en) 2008-08-27
JP4611274B2 (ja) 2011-01-12

Similar Documents

Publication Publication Date Title
KR100746013B1 (ko) 무선 네트워크에서의 데이터 전송 방법 및 장치
US9667275B2 (en) Apparatus and method for transmitting and receiving packet in broadcasting and communication system
KR100560712B1 (ko) 정보데이터 다중화 전송시스템과 그 다중화장치 및 분리장치와,에러정정 부호화장치 및 복호장치
KR101829923B1 (ko) 데이터 통신 시스템에서 부호화 장치 및 방법
CA2685244C (en) Apparatus and method for encoding and decoding signals
JP3910770B2 (ja) 誤り制御方法及びその方法を使用する受信機
US20020157058A1 (en) System and method for feedback-based unequal error protection coding
US20020146074A1 (en) Unequal error protection of variable-length data packets based on recursive systematic convolutional coding
US8356232B2 (en) Method and apparatus for encoding and decoding data
US7539928B2 (en) Method and apparatus for decoding inner and outer codes in a mobile communication system
US20100017686A1 (en) Fast channel zapping and high quality streaming protection over a broadcast channel
US7464319B2 (en) Forward error correction with codeword cross-interleaving and key-based packet compression
CN103023813B (zh) 抖动缓冲器
KR20130057937A (ko) 통신 시스템에서 패킷 송수신 장치 및 방법
EP1659727B1 (en) Iterative decoding of packet data
EP2783475B1 (en) Interleaving for layer-aware forward error correction
US7930617B1 (en) Sliding window block codes for cross-packet coding
US20020144209A1 (en) System for enhanced error correction in trellis decoding
EP3654556A1 (en) Media content-based adaptive method, device and system for fec coding and decoding of systematic code, and medium
Nazir et al. Expanding window random linear codes for data partitioned H. 264 video transmission over DVB-H network
US20050076272A1 (en) Unequal error protection using forward error correction based on reed-solomon codes
KR100763184B1 (ko) 무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라인코딩 및 전송을 제어하여 송수신하는 방법 및 장치
WO2002067429A2 (en) System and method for enhanced error correction in trellis decoding
KR100916702B1 (ko) 전송 스트림 패킷의 채널 디코딩 장치 및 그 방법
KR100331884B1 (ko) 무선 비동기 전송 모드 통신 시스템의 에러 정정 방법 및장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130624

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140619

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150624

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160620

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170619

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180620

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190619

Year of fee payment: 13