KR102580248B1 - 전자장치, 패킷전송 장치 및 방법 - Google Patents

전자장치, 패킷전송 장치 및 방법 Download PDF

Info

Publication number
KR102580248B1
KR102580248B1 KR1020180117503A KR20180117503A KR102580248B1 KR 102580248 B1 KR102580248 B1 KR 102580248B1 KR 1020180117503 A KR1020180117503 A KR 1020180117503A KR 20180117503 A KR20180117503 A KR 20180117503A KR 102580248 B1 KR102580248 B1 KR 102580248B1
Authority
KR
South Korea
Prior art keywords
packet
parity
data
fec
electronic device
Prior art date
Application number
KR1020180117503A
Other languages
English (en)
Other versions
KR20200037988A (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 KR1020180117503A priority Critical patent/KR102580248B1/ko
Priority to PCT/KR2019/012930 priority patent/WO2020071796A1/ko
Publication of KR20200037988A publication Critical patent/KR20200037988A/ko
Application granted granted Critical
Publication of KR102580248B1 publication Critical patent/KR102580248B1/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/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/38Flow control; Congestion control by adapting coding or compression rate

Abstract

본 발명의 실시예 따른 전자장치, 패킷송신 장치 및 그 방법이 개시된다. 전자장치는 신호를 전송하는 통신부 및 소스 데이터를 미리 정해진 비트 레이트로 엔코딩하여, 데이터 패킷 및 상기 데이터 패킷을 복구하기 위한 패리티 패킷을 생성하고, 상기 생성된 데이터 패킷 및 패리티 패킷을 포함하는 상기 신호를 전송하도록 상기 통신부를 제어하는 프로세서를 포함하며, 상기 프로세서는 상기 신호가 전송되는 채널의 가용 대역폭을 식별하고, 상기 식별된 가용 대역폭이 상기 비트 레이트보다 작으면, 상기 신호에 포함되는 상기 데이터 패킷 또는 상기 패리티 패킷의 일부를 배제시켜 전송되도록 상기 통신부를 제어한다. 본 발명에 의하면, 실시간 무선 채널 환경에 따라 적응적으로 패킷을 배제함으로써 통신서비스 품질을 향상시킬 수 있다.

Description

전자장치, 패킷전송 장치 및 방법 {ELECTRONIC DEVICE, DEVICE AND METHOD FOR TRANSMITTING THE PACKET}
본 발명은 고화질 영상과 같은 데이터를 끊김이나 깨짐 현상 없이 전송할 수 있는 전자장치, 패킷 전송 장치 및 방법에 관한 것이다.
데이터 송수신을 위한 일반적인 네트워크 구조는 도 1과 같이 5 계층의 프로토콜 스택(Protocol Stack)으로 표현할 수 있다. 여기서 프로토콜이란 데이터 송수신을 위한 규약을 의미하며, 종단 어플리케이션의 특성과 각 계층이 지원하는 서비스 목적에 따라 다양한 프로토콜의 조합으로 데이터의 송수신이 이루어진다. 5 계층의 프로토콜 스택(Protocol Stack)은 어플리케이션 계층, 트랜스포트 계층, 네트워크 계층, 데이터 링크 계층, 및 물리계층을 포함한다.
데이터를 전송하는 채널, 특히 무선채널은 간헐적인 패킷 손실(Packet Loss)이 발생할 수 있다. 이러한 패킷 손실을 제어하는 방법으로는 데이터 링크 계층인 MAC(Media Access Controller) 계층에서의 재전송 방식 및 물리 계층인 PHY(Physical Interface Transceiver) 계층에서의 비트 레벨(Bit-Level) 전방 오류 정정 (Forward Error Correction, FEC) 방식이 있다. MAC/PHY 계층에서 발생한 패킷 손실을 복구하기 위해서는 트랜스포트(Transport) 계층에서 TCP(transmission control protocol)를 사용한다. TCP는 네트워크의 혼잡 제어를 위해 설계된 규격으로, 패킷 손실이 발생하면 재전송을 함으로써 전송 에러를 제어할 수 있다 이를 위해 매 패킷 전송 시 마다 전송 성공 여부에 대한 ACK(Acknowledgement)를 받아야 하며, 연속적으로 패킷 손실이 발생할 경우 전송 지연이 발생할 수 있다. 따라서 TCP는 실시간성이 강조되는 영상 송수신 어플리케이션에 사용하기에 어려움이 따르며, 이를 대신하여 트랜스포트 계층의 UDP(User Datagram Protocol)를 사용할 수 있다. UDP는 전송 지연을 최소화 하기 위해 최대한 가볍게 설계된 프로토콜로 재전송과 같은 전송 에러 제어 기능이 없다. 이를 보완하기 위해 트랜스포트 계층의 상위 계층인 어플리케이션 계층에서 패킷 레벨(Packet-Level) FEC(AL-FEC)를 적용한다. AL-FEC은 송신부에서 원본 데이터 패킷을 FEC 부호화하여 패리티(Parity) 패킷을 생성하여 전송함으로써 수신부에서 일부 패킷 손실이 있더라도, FEC 복호화를 통해 원본 데이터 패킷을 복원할 수 있다.
그러나, AL-FEC 기반 UDP는 AL-FEC 파라메터를 설정하기 위해 수신부가 다양한 값들을 처리한 후, 다시 송신부로 피드백 하여야 하기 때문에 즉각적으로 네트워크 환경을 반영하기에 용이하지 않을 뿐만 아니라 피드백으로 인한 오버헤드가 증가하게 된다. 더구나, 에너지 소모량을 고려하여 파라메터 조합을 선정하는 경우에는 전체적으로 통신서비스 품질(Quality of Service, QoS) 품질이 저하될 수 있다.
본 발명의 목적은, 상기한 문제점을 해결하기 위한 것으로, 채널 환경에서 가능한 최대의 패리티 패킷을 전송함으로써 통신서비스 품질을 향상시키고 채널의 상황에 빠르게 응답하여 유효 전송률을 향상시킬 수 있는 전자장치, 패킷 전송 장치 및 방법을 제공하는 데에 있다.
본 발명 일 실시예에 따른 전자장치가 제공된다. 전자장치는 신호를 전송하는 통신부, 및 소스 데이터를 미리 정해진 비트 레이트로 엔코딩하여, 데이터 패킷 및 상기 데이터 패킷을 복구하기 위한 패리티 패킷을 생성하고, 상기 생성된 데이터 패킷 및 패리티 패킷을 포함하는 상기 신호를 전송하도록 상기 통신부를 제어하는 프로세서를 포함하며, 상기 프로세서는 상기 신호가 전송되는 채널의 가용 대역폭을 식별하고, 상기 식별된 가용 대역폭이 상기 비트 레이트보다 작으면, 상기 신호에 포함되는 상기 데이터 패킷 또는 상기 패리티 패킷의 일부를 배제시켜 전송되도록 상기 통신부를 제어한다. 본 발명의 전자장치에 의하면, 채널 환경에서 가능한 최대의 패리티 패킷을 전송함으로써 통신서비스 품질을 향상시키고 채널의 상황에 빠르게 응답하여 유효 전송률을 향상시킬 수 있다.
상기 엔코딩은 통신 프로토콜 스택의 어플리케이션 계층에서 전방 오류 정정 방식(Application Layer-Forward Error Correction, FEC)으로 구현됨으로써 전송지연을 최소화하면서 소스 데이터를 복원하여 통신서비스 품질을 향상시킬 수 있다.
상기 프로세서는 타켓 어플리케이션에 따라 설정된 파라메터에 의해 고정된 수의 상기 데이터 패킷과 상기 패리티 패킷을 전송함으로써 전송지연을 최소화하여 통신서비스 품질을 향상시킬 수 있다.
상기 프로세서는 네트워크의 평균 가용 대역폭이 소정의 범위를 벗어남에 따라 상기 파라메터를 갱신함으로써 가용 대역폭에 따라 탄력적으로 패킷을 배제할 수 있다.
상기 프로세서는, 상기 타켓 어플리케이션에 따라 타켓 PLR(Packet Loss Rate)을 설정하고, 상기 타켓 PLR에 대하여 코드 레이트가 가장 큰 파라메터를 결정함으로써 효과적으로 패킷을 배제하여 전송지연을 최소화하여 통신서비스 품질을 향상시킬 수 있다.
상기 프로세서는 상기 비트 레이트를 기초로 상기 타켓 PLR을 설정함으로써 효과적으로 패킷을 배제하여 전송지연을 최소화하여 통신서비스 품질을 향상시킬 수 있다.
상기 통신부는 와이파이(Wi-Fi) 통신부를 포함함으로써 범용 와이파이 무선통신을 이용하여 영상 등의 데이터를 끊김 없이 전달할 수 있다.
상기 프로세서는 상기 통신부의 송신버퍼의 상태를 기초로 상기 채널의 가용 대역폭을 식별함으로써 데이터의 가용 대역폭에 가장 적합한 양의 패킷을 전송할 수 있다.
상기 프로세서는 소정 구간 동안 균등하게 상기 패킷을 배제시킴으로써 패킷 전송 효율을 향상시킬 수 있다.
상기 프로세서는 상기 송신버퍼의 점유율에 따라 상기 패킷의 배제 여부와 배제 빈도수를 결정함으로써 전송 지연을 최소화하여 통신서비스 품질을 향상시킬 수 있다.
상기 프로세서는 상기 송신버퍼의 점유율 변화량에 상기 패킷의 배제 여부와 배제 빈도수를 결정함으로써 실시간으로 가용 대역폭을 판단할 수 있다.
상기 패킷의 배제 빈도수는 상기 송신버퍼의 점유율 변화량에 반비례함으로써 송신버퍼의 점유율 변화량을 실시간으로 파악하여 용이하게 패킷 배제 빈도수를 설정할 수 있다.
상기 패킷의 배제 빈도수는 AL-FEC 코드에 따른 최소값을 가짐으로써, AL-FEC 코드에 따른 최소한의 패킷의 배제를 수행할 수 있다.
상기 송신버퍼의 점유율 변화량(θ)은 다음과 같이 계산될 수 있다.
θ=αθ+(1-α)(θtt-1)
여기서, θt는 시간 t에서의 송신 버퍼 점유율이고, α는 가중이동평균(Weight for Moving Average)이다.
상기 프로세서는, 타켓 어플리케이션에 따른 파라메터로 엔코딩을 수행하는 엔코더와, 상기 채널의 상황에 따라 패킷 배제를 제어하는 패킷 제어부를 포함함으로써, 송신버퍼의 점유율과 그 변화량으로 가용 대역폭을 실시간으로 파악하여 적절한 패킷 량을 전송할 수 있다.
상기 패킷 제어부는, 상기 송신버퍼의 점유율을 모니터링하는 송신버퍼 모니터링부, 상기 송신버퍼 모니터링부로부터 송신버퍼의 점유율 변화량에 따라 패킷 배제를 활성화 또는 중지할지를 결정하는 패킷 배제 결정부 및 패킷의 배제 빈도수를 결정하고, 패킷 배제를 실행하는 패킷 배제 실행부를 포함함으로써 송신버퍼의 점유율과 그 변화량으로 가용 대역폭을 실시간으로 파악하여 적절한 패킷 배제 빈도수를 결정할 수 있다.
상기 패킷 제어부는 상기 송신버퍼의 점유율이 하한 임계값 이하 또는 상기 송신버퍼의 점유율 변화량이 음의 값인 경우에 패킷 배제를 중단함으로써 가용 대역폭에 따라 패킷의 배제를 중단할 수 있다.
본 발명의 실시예에 따른 패킷을 송신하는 송신장치가 제공된다. 패킷 송신장치는 상기 패킷을 송신하는 통신부, FEC(Forward Error Correction) 부호화를 수행하는 FEC 엔코더 및 컨텐츠의 전송을 위한 데이터 패킷들을 포함하는 적어도 하나의 소스 블록을 생성하고, FEC 부호화를 수행하여 상기 데이터 패킷들의 복원을 위한 패리티 패킷들을 포함하는 적어도 하나의 패리티 블록을 생성하는 패킷 제어부를 포함하며, 상기 패킷 제어부는 상기 패킷이 전송되는 채널의 가용 대역폭을 식별하고, 상기 식별된 가용 대역폭이 비트 레이트보다 작으면, 상기 데이터 패킷 또는 상기 패리티 패킷의 일부를 배제시켜 전송되도록 상기 통신부를 제어한다.
본 발명의 실시예에 따른 패킷을 송신하는 방법이 제공된다, 패킷 송신방법은 컨텐츠의 전송을 위한 데이터 패킷들을 포함하는 적어도 하나의 소스 블록을 생성하는 단계, FEC 부호화를 수행하여 상기 데이터 패킷들의 복원을 위한 패리티 패킷들을 포함하는 적어도 하나의 패리티 블록을 생성하는 단계, 상기 패킷이 전송되는 채널의 가용 대역폭을 식별하는 단계, 및 상기 식별된 가용 대역폭이 비트 레이트보다 작으면, 상기 데이터 패킷 또는 상기 패리티 패킷의 일부를 배제시켜 전송하는 단계를 포함한다.
본 발명의 실시예에 따른 컴퓨터 프로그램이 저장된 컴퓨터 해독 가능 매체를 포함하는 컴퓨터 프로그램 제품이 제공된다. 컴퓨터 프로그램 제품은 컴퓨팅 디바이스에 의해 상기 컴퓨터 프로그램이 실행될 때 상기 컴퓨팅 장치가, 컨텐츠의 전송을 위한 데이터 패킷들을 포함하는 적어도 하나의 소스 블록을 생성하고, FEC 부호화를 수행하여 상기 데이터 패킷들의 복원을 위한 패리티 패킷들을 포함하는 적어도 하나의 패리티 블록을 생성하고, 상기 패킷이 전송되는 채널의 가용 대역폭을 식별하고, 상기 식별된 가용 대역폭이 비트 레이트보다 작으면, 상기 데이터 패킷 또는 상기 패리티 패킷의 일부를 배제시켜 전송한다.
본 발명의 실시예에 따른 패킷 전송 방법의 효과는 다음과 같다.
첫째, 타켓(Target) PLR(Packet Loss Rate)을 만족하는 고정된 AL-FEC 파라메터(n, k) 를 사용하고, 실시간 채널 환경에 따라 다이내믹하게 패킷을 배제함으로써 통신서비스 품질(QoS)을 향상시킬 수 있다.
둘째, 고정된 AL-FEC 파라메터를 사용하므로 AL-FEC 블록 구현 및 제어가 간단하다.
셋째, 수신부로부터의 피드백 없이 송신부의 송신 버퍼를 직접 참조하므로 응답 특성이 빠르다.
도 1은 데이터 송신 네트워크의 프로토콜 스택 구조를 나타내는 도이다.
도 2는 본 발명의 실시예에 의한 네트워크 토폴로지(Network Topology)를 나타내는 블록도이다.
도 3은 본 발명의 실시예에 따른 패킷 송수신 구조를 나타내는 도이다.
도 4는 AL-FEC 송수신을 나타내는 모식도이다.
도 5는 본 발명의 제1실시예에 따른 패킷 전송 방법을 나타내는 순서도이다.
도 6은 본 발명의 실시예에 따른 채널의 가용 대역폭과 패킷 배제의 관계를 설명하는 도이다.
도 7은 RS 코드(Reed-Solomon Code)의 PLR 성능 곡선이다.
도 8은 가용 대역폭 변화에 따른 AL-FEC 파라메터 갱신을 나타내는 도이다.
도 9는 도 3의 패킷 배제 제어부의 구조를 나타내는 도이다.
도 10은 패킷 배제 결정부의 패킷 배제 프로세스 활성화 또는 중지 결정을 나타내는 다이어그램이다.
도 11은 패킷 배제 빈도수를 나타내는 파라메터와 송신버퍼 점유율 변화량과의 관계를 나타내는 그래프이다.
도 12는 송신버퍼 점유율 변화량에 따라 패킷 배제를 나타내는 도이다.
이하에서는 첨부 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 도면에서 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 구성요소를 지칭하며, 도면에서 각 구성요소의 크기는 설명의 명료성과 편의를 위해 과장되어 있을 수 있다. 다만, 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 이하의 실시예에 설명된 구성 또는 작용으로만 한정되지는 않는다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다.
본 발명의 실시예에서, 제1, 제2 등과 같이 서수를 포함하는 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 발명의 실시예에서, '구성되다', '포함하다', '가지다' 등의 용어는 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 또한, 본 발명의 실시예에서, '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있으며, 적어도 하나의 모듈로 일체화되어 구현될 수 있다. 또한, 본 발명의 실시예에서, 복수의 요소 중 적어도 하나(at least one)는, 복수의 요소 전부뿐만 아니라, 복수의 요소 중 나머지를 배제한 각 하나 혹은 이들의 조합 모두를 지칭한다.
도 2는 본 발명 제1실시예에 의한 네트워크 토폴로지를 나타내는 블록도이다. 네트워크 토폴로지는 패킷 데이터 전송장치로서 제1전자장치(10) 및 패킷 데이터 수신장치(20)로서 제2전자장치(20)를 포함한다. 제1 및 제2전자장치(10,20)는 유선 또는 무선 네트워크 통신에 의해 영상 컨텐츠를 주고 받을 수 있으며, 통신의 종류는 한정되지 않는다. 구체적으로, 제1 및 제2전자장치(10,20)는 AP(access point)를 통한 무선 통신 또는 AP 없이 타 기기와 다이렉트 연결되는 무선 통신 중 적어도 하나를 수행할 수 있다. 예를 들면, 제1 및 제2전자장치(10,20)는 와이파이, 와이파이 다이렉트, 또는 블루투스와 같은 무선 네트워크 통신 또는 이더넷(Ethernet) 등과 같은 유선 네트워크 통신을 통해 영상 컨텐츠를 송수신할 수 있다.
제1전자장치(10)는 제1통신부(12), 제1프로세서(14) 및 제1동작수행부(16)를 포함한다.
제1통신부(12)는 유선 또는 무선 통신방식을 이용하여 패킷 프레임을 제2전자장치(20)의 제2통신부(22)에 송신한다. 제1통신부(12)는 이더넷(Ethernet) 등과 같은 유선 통신방식으로 제2전자장치(20)와 통신하거나, 와이파이(Wi-Fi) 또는 블루투스(Bluetooth) 등과 같은 무선 통신방식으로 무선공유기를 통해 제2전자장치(20)와 통신할 수 있다. 예로서, 제1통신부(12)는 와이파이와 같은 무선통신 모듈을 포함하는 회로기판(PCB: Printed Circuit Board)으로 마련될 수 있다. 제1통신부(12)가 통신하는 방식은 이에 한정되지 않고, 다른 통신방식을 이용하여 제2전자장치(20)와 통신할 수도 있다.
제1프로세서(14)는 제1전자장치(10)의 제반 구성들이 동작하기 위한 제어를 수행한다. 제1프로세서(14)는 소스 데이터를 압축, 패킷화, 부호화하고 제1통신부(12)를 제어하여 제2전자장치(20)로 전송한다. 제1프로세서(14)는 이러한 제어 동작을 수행할 수 있도록 하는 제어프로그램(혹은 인스트럭션)을 실행한다. 제1프로세서(14)는 제어프로그램이 설치된 비휘발성의 메모리로부터 제어프로그램의 적어도 일부를 휘발성의 메모리로 로드하고, 로드된 제어프로그램을 실행하는 적어도 하나의 범용 프로세서를 포함하며, 예를 들면 CPU(Central Processing Unit), AP(application processor), 또는 마이크로프로세서(microprocessor)로 구현될 수 있다.
제1프로세서(14)는 싱글 코어, 듀얼 코어, 트리플 코어, 쿼드 코어 및 그 배수의 코어를 포함할 수 있다. 제1프로세서(14)는 복수 개 마련될 수 있으며, 예를 들어, 메인 프로세서(main processor) 및 슬립 모드(sleep mode, 예를 들어, 대기 전원만 공급되고 제1전자장치로서 동작하지 않는)에서 동작하는 서브 프로세서(sub processor)를 포함할 수 있다. 또한, 프로세서, 롬 및 램은 내부 버스(bus)를 통해 상호 연결된다.
제1프로세서(14)는 제1전자장치(10)에 내장되는 PCB 상에 실장되는 메인 SoC(Main SoC)에 포함되는 형태로서 구현 가능하다. 다른 실시예에서 메인 SoC는 영상처리부(미도시)를 더 포함할 수 있다.
제어프로그램은, BIOS, 디바이스드라이버, 운영체계, 펌웨어, 플랫폼 및 응용프로그램(어플리케이션) 중 적어도 하나의 형태로 구현되는 프로그램(들)을 포함할 수 있다. 응용프로그램은, 제1전자장치(10)의 제조 시에 미리 설치 또는 저장되거나, 혹은 추후 사용 시에 외부로부터 응용프로그램의 데이터를 수신하여 수신된 데이터에 기초하여 설치될 수 있다. 응용 프로그램의 데이터는, 예컨대, 어플리케이션 마켓과 같은 외부 서버로부터 제1전자장치(20)로 다운로드될 수도 있다. 이와 같은 외부 서버는, 컴퓨터프로그램제품의 일례이나, 이에 한정되는 것은 아니다.
제1동작수행부(16)는 제1프로세서(14)의 제어 하에 제1전자장치(10)의 각종 기능을 수행한다.
제2전자장치(20)는 제2통신부(22), 제2프로세서(24) 및 제2동작수행부(26)를 포함한다.
제2통신부(22)는 유선 또는 무선 통신방식을 이용하여 제1전자장치(10)의 제1통신부(12)로부터 패킷 프레임을 수신한다. 제2통신부(22)는 이더넷(Ethernet) 등과 같은 유선 통신방식으로 제1전자장치(10)와 통신하거나, 와이파이(Wi-Fi) 또는 블루투스(Bluetooth) 등과 같은 무선 통신방식으로 무선공유기를 통해 제1전자장치(10)와 통신할 수 있다. 예로서, 제2통신부(22)는 와이파이와 같은 무선통신 모듈을 포함하는 회로기판(PCB: Printed Circuit Board)으로 마련될 수 있다. 제2통신부(22)가 통신하는 방식은 이에 한정되지 않고, 다른 통신방식을 이용하여 제1전자장치(10)와 통신할 수도 있다.
제2프로세서(24)는 제2전자장치(20)의 제반 구성들이 동작하기 위한 제어를 수행한다. 제2프로세서(24)는 데이터 패킷 및 패리티 패킷으로부터 소스 데이터를 복호화, 디패킷화, 복원화 과정을 수행한다. 제2프로세서(24)는 이러한 제어 동작을 수행할 수 있도록 하는 제어프로그램(혹은 인스트럭션)을 실행한다. 제2프로세서(24)는 제어프로그램이 설치된 비휘발성의 메모리로부터 제어프로그램의 적어도 일부를 휘발성의 메모리로 로드하고, 로드된 제어프로그램을 실행하는 적어도 하나의 범용 프로세서를 포함하며, 예를 들면 CPU(Central Processing Unit), AP(application processor), 또는 마이크로프로세서(microprocessor)로 구현될 수 있다.
제2동작수행부(26)는 제2프로세서(24)의 제어 하에 제2전자장치(20)의 각종 기능을 수행한다.
도 3은 본 발명의 실시예에 따른 제1 및 제2전자장치(10,20)의 패킷 송수신 구조를 나타내는 블록도이다.
제1전자장치(10)는 패킷 송신기능을 수행하는 제1프로세서(14)와 제1통신부(12)를 포함한다.
제1프로세서(14)는 코덱 엔코더(141), 전송 패킷화부(142), AL-FEC 엔코더(1432), 패킷 배제 제어부(1434), 실시간 전송 프로토콜(RTP)(144), 사용자 데이터그램 프로토콜(UDP)(145), 및 인터넷 프로토콜(IP)(146)을 포함한다. 코덱 엔코더(141) 등은 제1프로세서(14)에 마련되는 하드웨어 모듈로 구현되거나, 혹은 제1프로세서(14)에 의해 실행되는 소프트웨어 모듈로 구현될 수 있다.
코덱 엔코더(141)는 비디오/오디오(AV) 데이터와 같은 소스 데이터를 디지털 데이터로 압축한다.
전송 패킷화부(142)는 코덱 엔코더(141)에서 압축한 소스 데이터를 전송 데이터 패킷으로 패킷화한다.
AL-FEC 엔코더(1432)는 트랜스포트(Transport) 계층의 상위 계층인 어플리케이션 계층(Application Layer)에서 패킷 레벨(Packet-Level) FEC를 적용하여 전송할 패킷 데이터를 포함하는 패킷 블록과 손실 복원을 위한 패리티 패킷을 포함하는 패리티 블록을 생성한다.
도 4는 AL-FEC 송수신 방식을 나타내는 모식도이다. 원본 데이터 패킷을 FEC 엔코딩하고 패리티 패킷을 생성하여 함께 보냄으로써 패킷 수신장치인 제2전자장치(20)에서 일부 패킷 손실이 있더라도, FEC 디코딩을 통해 원본 데이터 패킷을 복원할 수 있다. 이러한 AL-FEC 송수신 방식은 재전송 방식과 비교하여 전송 지연을 최소화 할 수 있는 장점이 있다.
AL-FEC 엔코더(1432)는 시스템 요구 사양에 따라 고정된 AL-FEC 파라메터(n, k)를 선정하며, 네트워크의 평균적인 대역폭이 급격하게 변화하여 서비스하던 영상 전송률보다 작아지는 경우 영상 전송률에 맞게 AL-FEC 파라메터(n, k)를 갱신한다. 여기서, k는 엔코딩 하려는 원본 소스 데이터 패킷 수이고, n은 엔코딩을 진행한 후의 패킷 수이다. 따라서, 엔코딩으로 추가된 패리티 패킷 수는 n-k개가 된다.
패킷 배제 제어부(1434)는 채널을 간접적으로 추정하기 위해 제1통신부(12)의 버퍼를 모니터링 하여, 채널의 가용 대역폭이 영상 비트 레이트보다 낮으면 다이내믹 하게 패킷을 배제하여 송신한다. 패킷 배제 제어부(1434)는 송신 버퍼를 직접 참조하여 버퍼의 점유율과 변화율을 모니터링하고, 이를 바탕으로 패킷 배제 여부와 패킷 배제 빈도수를 결정한다.
실시간 전송 프로토콜(RTP)(144)은 실시간 스트리밍에 사용되는 전송프로토콜로서 코덱 엔코더(141)에서 압축된 데이터를 RTP 패킷으로 분할한다.
사용자 데이터그램 프로토콜(UDP)(145)은 재전송을 하지 않는 전송 계층 프로토콜로서 RTP 패킷에 UDP헤더를 첨부하여 UDP 패킷으로 변환한다.
인터넷 프로토콜(IP)(146)은 네트워크 계층 프로토콜로서 오류 제어나 흐름 제어가 없으며, UDP 패킷에 IP헤더를 첨부하여 IP 패킷을 생성한다.
제1통신부(12)는 와이파이 드라이버(122) 및 와이파이 네트워크 인터페이스 컨트롤러(NIC)(124)를 포함한다.
와이파이 드라이버(122)는 후단의 와이파이 네트워크 인터페이스 컨트롤러(NIC)(124)를 제어하는 펌웨어로서, IP 패킷에 프레임 헤더 및 필요한 경우 프레임 푸터(frame footer)를 첨부하여 전송하고자 하는 패킷 프레임을 구성한다.
와이파이 네트워크 인터페이스 컨트롤러(NIC)(124)는 직접 네트워크에 연결하여 통신을 수행하는 하드웨어로서 제2전자장치(20)로 패킷 프레임을 송신한다.
제2전자장치(20)는 패킷 수신기능을 수행하는 제2통신부(22) 및 제2프로세서(24)를 포함한다.
제2통신부(22)는 와이파이 드라이버(222) 및 와이파이 네트워크 인터페이스 컨트롤러(NIC)(224)를 포함한다.
와이파이 네트워크 인터페이스 컨트롤러(NIC)(224)는 직접 네트워크에 연결하여 통신을 수행하는 하드웨어로서 제1전자장치(10)로부터 패킷 프레임을 수신한다.
와이파이 드라이버(222)는 전단의 와이파이 네트워크 인터페이스 컨트롤러(NIC)(124)를 제어하는 펌웨어로서, 패킷 프레임에 첨부된 프레임 헤더 및 프레임 푸터(frame footer)를 기초로 IP 패킷을 생성한다.
제2프로세서(24)는 인터넷 프로토콜(IP)(246), 사용자 데이터그램 프로토콜(UDP)(245), 실시간 전송 프로토콜(RTP)(244), AL-FEC 디코더(243), 전송 디패킷화부(242), 및 코덱 디코더(241)을 포함한다.
인터넷 프로토콜(IP)(146)은 네트워크 계층 프로토콜로서 오류 제어나 흐름 제어가 없으며, IP 패킷에 첨부된 IP 헤더를 참조하여 UDP 패킷을 생성한다.
사용자 데이터그램 프로토콜(UDP)(145)은 재전송을 하지 않는 전송 계층 프로토콜로서 UDP 패킷에 첨부된 UDP 헤더를 참조하여 RTP 패킷을 생성한다.
실시간 전송 프로토콜(RTP)(144)은 실시간 스트리밍에 사용되는 전송프로토콜로서 RTP 패킷으로부터 데이터 패킷과 패리티 패킷을 생성한다.
AL-FEC 디코더(243)는 데이터 패킷과 패리티 패킷을 이용하여 원본 데이터 패킷을 복원한다.
전송 디패킷화부(242)는 원본 데이터 패킷을 디지털 압축데이터로 디패킷화한다.
코덱 디코더(241)는 디지털 압축데이터를 압축 해제한다.
도 5는 본 발명의 실시예에 따른 패킷 배제 과정을 나타내는 순서도이다.
단계 S11에서, AL-FEC 엔코더(1432)는 데이터 패킷을 포함하는 적어도 하나의 데이터 블록을 생성한다.
단계 S12에서, AL-FEC 엔코더(1432)는 패리티 패킷을 포함하는 적어도 하나의 패리티 블록을 생성한다.
AL-FEC 엔코더(1432)는 단계 S11 및 S12에서 생성된 시스템 요구 사양에 따라 고정된 AL-FEC 파라메터(n, k)를 선정한다.
단계 S13에서, 패킷 배제 제어부(1434)는 송신 버퍼의 점유율과 변화율을 실시간으로 참조하여 가용 대역폭이 영상 비트 레이트보다 낮은지를 판단한다. 만일 가용 대역폭이 영상 비트 레이트보다 높으면 단계 S14를 진행하고, 가용 대역폭이 영상 비트 레이트보다 낮으면 단계 S15를 진행한다.
단계 S14에서, 도 6에 나타난 있는 바와 같이 AL-FEC 엔코딩 이후에 가용 대역폭이 영상 비트 레이트 보다 클 경우(A), AL-FEC 엔코딩 한 데이터 패킷과 패리티 패킷 전체를 전송한다.
단계 S15에서, 도 6에 나타난 있는 바와 같이 AL-FEC 엔코딩 이후에 가용 대역폭이 영상 비트 레이트 보다 낮을 경우(B), 데이터 패킷과 패리티 패킷 전체를 보내기엔 대역폭이 좁으므로, 데이터 패킷 또는 패리티 패킷의 일부를 배제시켜 가용 대역폭만큼만 전송한다.
AL-FEC은 패리티 패킷인지 데이터 패킷인지에 관계없이 수신된 패킷의 전체 합이 일정 수준을 넘으면 복구할 수 있기 때문에, 데이터 패킷 또는 패리티 패킷의 일부를 배제시킬 때 배제되는 패킷이 데이터 패킷인지 패리티 패킷인지를 구분할 필요가 없다. 예컨대, 패킷 배제는 특정 구간에 집중되지 않도록 균등하게 수행할 수 있다.
복구할 수 있는 패킷 손실 수는 AL-FEC 코드 특성에 따라 다른데, 예를 들어 RS코드(Reed-Solomon Code)는 최대 (n-k)/2 개까지의 손실을 복구할 수 있고, 그 이상의 손실 발생시에는 소스 데이터를 복구할 수 없다. 그리고 랍터 코드(Raptor Code)는 k 개 패킷 수신 시 99%의 소스 데이터를 복원할 수 있고, k+1개 패킷 수신 시 99.99%의 소스 데이터를 복원할 수 있다. 이와 같이 본원 발명의 패킷 배제는 AL-FEC 코드 특성에 따른 전체 패킷 수만 만족하면 RS코드, 랍터 코드 등 AL-FEC 종류에 제약 없이 적용 가능하다.
이하 도 7을 참조하여 AL-FEC 파라메터(n, k)를 설정 방법을 설명한다.
단계 1
타켓 어플리케이션(Target Application)에 적합한 AL-FEC 종류와 타켓 PLR (Packet Loss Rate) 값을 정한다. 여기서 타켓 PLR은 AL-FEC 적용을 통해 줄이고자 하는 PLR 목표치를 나타내는 지표로, 다음의 두 파라메터로 표현할 수 있다.
ηin,max: AL-FEC 디코더(243) 입력 PLR의 최대 허용치로서 채널 에러에 의한 PLR을 의미한다.
ηout,max: AL-FEC 디코더(243) 출력 PLR의 최대 허용치로서 AL-FEC에 의해 복구된 PLR을 의미한다.
도 7은 RS 코드를 적용하고, 두 파라메타 ηin,max 와 ηout,max를 각각 10-2, 10-5로 설정하였을 때의 다양한 (n, k) 조합에 따른 PLR 성능곡선을 나타낸다. 이와 같은 파라메터의 설정은 10-2 이하의 무선 채널에 의한 PLR 상황에서 AL-FEC를 통해 10-5 이하의 PLR 달성하고자 함을 의미한다. 따라서, 도 7의 해칭된 영역을 에러 프리(Error-Free) 영역으로 정의했을 때 AL-FEC의 PLR 성능곡선은 에러 프리 영역을 침범할 수 없다. 일반적으로 영상 비트 레이트가 높아질수록 채널에 의한 PLR이 높아지므로, 타켓 PLR 파라메터 값은 영상 비트 레이트를 고려하여 적정한 값으로 설정한다.
단계 2
단계 1에서 정한 타켓 PLR 기준을 만족하는 (n, k) 조합을 선정한다. 도 7에서 ① (n, k)조합이 (63, 59), ② (n, k) 조합이 (63, 55) 인 경우는 PLR 커브가 에러 프리 영역을 침범하므로 제외되고, ③ (n, k)조합이 (63, 47) 과 ④ (n, k)조합이 (63, 31)인 경우는 PLR 커브가 에러 프리 영역을 벗어나므로 타켓 PLR 기준을 만족하는 AL-FEC 파라메터 후보가 된다.
단계 3
단계 2에서 선별된 (n, k)조합 후보 중 코드 레이트(Code Rate)(C)가 가장 큰 (n, k)조합을 최종 파라메터로 선정한다. 여기서 코드 레이트(C)는 k/n로 표현할 수 있으며, 전송할 전체 패킷(패리티 패킷 + 데이터 패킷) 중 데이터 패킷이 차지하는 비율을 의미한다. 코드 레이트(C)가 클수록 유효 전송률이 높아짐을 의미하므로, 도 7에서는 단계 2에서 선별된 (n, k)조합 중 ③ (63, 47)조합이 최종적으로 선정된다.
상술한 단계 1~3에 의한 파라메터(n, k)는 다음과 같이 표현될 수 있다.
(n*,k*)=argmaxn,kC, where C=k/n,
여기서, 출력 PLR은 ηout,max 보다 크고, 입력 PLR은 ηin,max 보다 작아야 한다.
도 8은 본 발명의 실시예에 따라 고정 AL-FEC 파라메터를 가용 대역폭의 변화에 따라 갱신하는 방법을 설명하기 위한 도이다. 도시한 바와 같이, 네트워크의 평균적인 대역폭이 급격하게 변화하여 서비스하던 영상 전송률(영상 비트 레이트)보다 작아지는 경우가 생길 수 있다. 이러한 환경에서는 통상적으로 영상 압축률을 조절하여 영상 전송률을 낮춘다. 이와 같이 영상 전송률이 변화한 경우 타켓 PLR 파라메터를 변경된 영상 전송률에 맞게 재설정하고, 전술한 단계 1~3을 거쳐 AL-FEC 파라메터(n, k)를 갱신한다.
도 9는 본 발명의 실시예에 따른 패킷 배제 제어부(1434)의 구성을 나타내는 블록도이다. 패킷 배제 제어부(1434)는 송신버퍼 모니터링부(1434-1), 패킷 배제 결정부(1434-2) 및 패킷 배제 실행부(1434-3)를 포함한다.
송신버퍼 모니터링부(1434-1)는 제1통신부(12)의 송신버퍼 점유율 및 그 변화율을 계산할 수 있다. 송신기 버퍼의 점유율은 θ, 점유율 상한 임계값은 θu, 점유율 하한 임계값은 θd로 정의한다. 이 때, 송신버퍼 점유율(θ)은 상위 계층에서 받아 쌓인 패킷 수(θtx)와 재전송 버퍼에 쌓인 패킷 수(θrtx)의 합이다. 그리고 이 정의를 바탕으로 실시간 송신버퍼의 점유율 변화량 θ을 다음과 같이 계산한다.
θ=αθ+(1-α)(θtt-1)
여기서, θt는 시간 t에서의 송신 버퍼 점유율이고, α는 가중이동평균(Weight for Moving Average)이다.
패킷 배제 결정부(1434-2)는 송신버퍼 모니터링부(1434-1)에서 계산한 송신버퍼 점유율(θ)과 실시간 변화량(θ)을 기초로 패킷 배제 프로세스를 활성화 또는 중지할지를 결정한다.
도 10은 패킷 배제 결정부(1434-2)의 패킷 배제 프로세스 활성화 또는 중지 결정하는 다이어그램이다.
실시간 점유율 변화량(θ)이 양수이고, 송신버퍼의 점유율이 상한 임계값(θu)보다 크면 패킷 배제를 활성화시키고, 패킷 배제 프로세스를 진행한다(S0). 만일 점유율(θ)이 일정 수준을 넘어 계속 증가하는 경우는 전체 데이터 전송이 이루어지지 않고 송신버퍼에 쌓이는 것이다. 이는 현재 가용 대역폭이 상위 계층에서 받는 패킷 데이터를 전송하기 위한 대역폭에 비하여 작기 때문에 발생하는 것이므로 패킷 배제 프로세스를 진행하여야 한다.
반대로, 실시간 점유율 변화량(θ)이 음수이고, 송신버퍼의 점유율이 하한 임계값(θd)보다 작으면 패킷 배제 프로세스를 중지한다(S1). 이와 같이, 실시간 점유율 변화량(θ)이 음수이고, 송신버퍼의 점유율이 하한 임계값(θd)보다 작다는 것은 상위 계층에서 받는 데이터의 대역폭 보다 전송 가용 대역폭이 충분히 커서 송신버퍼 점유율이 계속 줄어드는 것이므로, 전체 데이터를 전송할 수 있다. 따라서, 진행하던 패킷 배제 프로세스는 중단되어야 한다.
패킷 배제 실행부(1434-3)는 패킷 배제 결정부(1434-2)에서 송신버퍼 점유율(θ)과 실시간 변화량(θ)에 따라 패킷 배제 프로세스의 활성화를 결정하면 패킷 배제 빈도수를 나타내는 파라메터(M)을 결정하여 패킷 배제를 실행한다. 여기서, 파라메터 M은 M개의 패킷당 1개의 패킷을 배제하는 것을 의미한다.
도 11은 점유율 변화량(θ)에 따른 파라메터 M을 매핑한 결과를 나타내는 그래프이다. 여기서, n은 512, k는 256이다. 도시한 바와 같이, 파라메터 M은 점유율 변화량(θ)에 반비례한다.
파라메터 M은 AL-FEC 코드의 종류에 따라 일정 수 이상 패킷 수신이 필요하다는 특성 때문에 최소값을 설정하여야 한다. RS코드(Reed-Solomon Code)는 최대 (n-k)/2 개까지의 손실을 복구할 수 있고, 그 이상의 손실 발생시에는 소스 데이터를 복구할 수 없다. 그리고 랍터 코드(Raptor Code)는 k 개 패킷 수신 시 99%의 소스 데이터를 복원할 수 있고, k+1개 패킷 수신 시 99.99%의 소스 데이터를 복원할 수 있다.
예를 들면, RS 코드는 최대 (n-k)/2(n = 512, k =256)에서 128개 이상의 손실이 있으면 복원을 수행할 수 없다. 따라서, 총 패킷 수(n)가 512이므로 파라메터 M이 3이면 170개의 패킷이 배제되어 복원 최대값 128을 초과하고, 파라메터 M이 4이면 128개의 패킷이 배제되어 복원 최대값 128을 만족한다. 결과적으로 파라메터 M은 4 이상이어야 한다. 만약 파라메터 M이 4 보다 작더라도, M의 최소값은 4로 설정되어 있으므로 파라메터 M을 4로 하여 패킷 배제 프로세스를 진행한다.
예를 들면, 랍터 코드는 k+1(n = 512, k =256)에서 257개 이상의 손실이 있으면 1% 이상 소스 데이터 복원이 안될 수 있다. 따라서, 총 패킷 수(n)가 512이므로 파라메터 M이 2이면 256개의 패킷이 배제되어 복원 최대값 257을 만족한다. 결과적으로 파라메터 M은 2 이상이어야 한다.
패킷 수시장치인 제2전자장치(20)의 AL-FEC 디코더(243)는 데이터 패킷과 패리티 패킷에서 상술한 바와 같이 송신버퍼의 점율 및 점유율 변화량에 따라 배제된 패킷을 손실로 판단하고 AL-FEC 디코딩하여 소스 데이터를 복원할 수 있다.
도 12는 시간 별 송신버퍼의 점유율(θ)에 따른 패킷 배제 동작을 나타낸 도이다.
도시한 바와 같이, 초기의 구간 P1에서 송신버퍼의 점유율(θ)이 점유율 상한 임계값(θu) 보다 작기 때문에 패킷 배제 없이 전체 데이터를 전송한다.
다음 구간 P2에서, 송신버퍼의 점유율(θ)이 점유율 상한 임계값(θu) 보다 커지고, 점유율 변화량(θ)이 0.02이므로 패킷 배제를 활성화하여 패킷 배제를 시작한다. 이때, 매핑 값에 의해 파라메터 M은 50, 즉 50 패킷 당 1패킷을 배제한다. 50패킷 당 1패킷 배제는 구간 P2에 걸쳐 데이터 패킷과 패리티 패킷 구분 없이 균등하게 이루어진다.
구간 P3에서 점유율 변화량(θ)이 0.005로 감소되고, 송신버퍼의 점유율(θ)이 점유율 상한 임계값(θu) 보다 크기 때문에 패킷 배제를 진행한다. 이때, 파라메터 M은 200으로, 200 패킷당 1 패킷씩 배제하여 배제 빈도수도 줄어들게 된다.
구간 P4에서 점유율 하한 임계값은 θd보다 작고 점유율 변화량(θ)이 음수이므로 패킷 배제를 중단한다.
본 발명의 실시예에 따른 컴퓨터 프로그램 제품은 상술한 도 5의 단계 S11-S15를 실행하는 컴퓨터 프로그램이 저장된 컴퓨터 해독 가능 매체를 포함한다. 컴퓨터 프로그램 제품은 컴퓨팅 디바이스에 의해 상기 컴퓨터 프로그램이 실행될 때 상기 컴퓨팅 장치가, 컨텐츠의 전송을 위한 데이터 패킷들을 포함하는 적어도 하나의 소스 블록을 생성하고, FEC 부호화를 수행하여 상기 데이터 패킷들의 복원을 위한 패리티 패킷들을 포함하는 적어도 하나의 패리티 블록을 생성하고, 상기 패킷이 전송되는 채널의 가용 대역폭을 식별하고, 상기 식별된 가용 대역폭이 비트 레이트보다 작으면, 상기 데이터 패킷 또는 상기 패리티 패킷의 일부를 배제시켜 전송한다.
이상, 바람직한 실시예들을 통하여 본 발명에 관하여 상세히 설명하였으나, 본 발명은 이에 한정되는 것은 아니며 특허청구범위 내에서 다양하게 실시될 수 있다.
10, 20: 제1 및 제2전자장치
12, 22: 제1 및 제2통신부
122, 222: 와이파이 드라이버
124, 224: 와이파이 네트워크 인터페이스 컨트롤러
14, 24: 제1 및 제2프로세서
141: 코덱 엔코더
142: 전송 패킷화부
1432: AL-FEC 엔코더
1434: 패킷 배제 제어부
1434-1: 송신버퍼 모니터링부
1434-2: 패킷 배제 결정부
1434-3: 패킷 배제 실행부
144, 244: RTP
145, 245: UDP
146, 246: IP
241: 코덱 디코더
242: 전송 디패킷화부

Claims (20)

  1. 전자장치에 있어서,
    신호를 전송하는 통신부; 및
    소스 데이터를 미리 정해진 비트 레이트로 엔코딩하여, 데이터 패킷 및 상기 데이터 패킷을 복구하기 위한 패리티 패킷을 생성하고,
    상기 생성된 데이터 패킷 및 패리티 패킷을 포함하는 상기 신호를 전송하도록 상기 통신부를 제어하는 프로세서를 포함하며,
    상기 프로세서는 상기 통신부의 송신버퍼의 상태를 기초로 상기 신호가 전송되는 채널의 가용 대역폭을 식별하고, 상기 식별된 가용 대역폭이 상기 비트 레이트보다 작으면, 상기 신호에 포함되는 상기 데이터 패킷 또는 상기 패리티 패킷의 일부를 배제시켜 전송되도록 상기 통신부를 제어하는 전자장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 엔코딩은 통신 프로토콜 스택의 어플리케이션 계층에서 전방 오류 정정 방식(Application Layer-Forward Error Correction, FEC)으로 구현되며,
    상기 프로세서는,
    타켓 어플리케이션에 따라 설정된 파라메터에 의해 고정된 수의 상기 데이터 패킷과 상기 패리티 패킷을 전송하고,
    네트워크의 평균 가용 대역폭이 소정의 범위를 벗어남에 따라 상기 파라메터를 갱신하는 전자장치.
  5. 삭제
  6. 제1항에 있어서,
    상기 엔코딩은 통신 프로토콜 스택의 어플리케이션 계층에서 전방 오류 정정 방식(Application Layer-Forward Error Correction, FEC)으로 구현되며,
    상기 프로세서는,
    타켓 어플리케이션에 따라 상기 비트 레이트를 기초로 타켓 PLR(Packet Loss Rate)을 설정하고,
    타켓 어플리케이션에 따라 설정된 파라메터에 의해 고정된 수의 상기 데이터 패킷과 상기 패리티 패킷을 전송하고,
    상기 타켓 PLR에 대하여 코드 레이트가 가장 큰 파라메터를 결정하는 전자장치.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 제1항에 있어서,
    상기 프로세서는 송신버퍼의 점유율에 따라 상기 패킷의 배제 여부와 배제 빈도수를 결정하는 전자장치.
  11. 제10항에 있어서,
    상기 프로세서는 상기 송신버퍼의 점유율 변화량에 상기 패킷의 배제 여부와 배제 빈도수를 결정하는 전자장치.
  12. 제11항에 있어서,
    상기 패킷의 배제 빈도수는 상기 송신버퍼의 점유율 변화량에 반비례하는 것을 특징으로 하는 전자장치.
  13. 제11항에 있어서,
    상기 패킷의 배제 빈도수는 AL-FEC 코드에 따른 최소값을 갖는 전자장치.
  14. 제11항에 있어서,
    상기 송신버퍼의 점유율 변화량(θ)은 다음 식으로 결정되는 전자장치.
    θ=αθ+(1-α)(θtt-1)
    여기서, θt는 시간 t에서의 송신 버퍼 점유율이고, α는 가중이동평균(Weight for Moving Average)이다.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 패킷을 송신하는 송신장치에 있어서,
    상기 패킷을 송신하는 통신부;
    FEC(Forward Error Correction) 부호화를 수행하는 FEC 엔코더; 및
    컨텐츠의 전송을 위한 데이터 패킷들을 포함하는 적어도 하나의 소스 블록을 생성하고, FEC 부호화를 수행하여 상기 데이터 패킷들의 복원을 위한 패리티 패킷들을 포함하는 적어도 하나의 패리티 블록을 생성하는 패킷 제어부를 포함하며,
    상기 패킷 제어부는 상기 통신부의 송신버퍼의 상태를 기초로 상기 패킷이 전송되는 채널의 가용 대역폭을 식별하고, 상기 식별된 가용 대역폭이 비트 레이트보다 작으면, 상기 데이터 패킷 또는 상기 패리티 패킷의 일부를 배제시켜 전송되도록 상기 통신부를 제어하는 송신장치.
  19. 삭제
  20. 컴퓨터 프로그램이 저장된 컴퓨터 해독 가능 매체를 포함하는 컴퓨터 프로그램 제품에 있어서,
    컴퓨팅 디바이스에 의해 상기 컴퓨터 프로그램이 실행될 때 상기 컴퓨팅 디바이스가,
    컨텐츠의 전송을 위한 데이터 패킷들을 포함하는 적어도 하나의 소스 블록을 생성하고,
    FEC 부호화를 수행하여 상기 데이터 패킷들의 복원을 위한 패리티 패킷들을 포함하는 적어도 하나의 패리티 블록을 생성하고,
    상기 컴퓨팅 디바이스의 통신부의 송신버퍼의 상태를 기초로 상기 패킷이 전송되는 채널의 가용 대역폭을 식별하고,
    상기 식별된 가용 대역폭이 비트 레이트보다 작으면, 상기 데이터 패킷 또는 상기 패리티 패킷의 일부를 배제시켜 전송하는 컴퓨터 프로그램 제품.
KR1020180117503A 2018-10-02 2018-10-02 전자장치, 패킷전송 장치 및 방법 KR102580248B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180117503A KR102580248B1 (ko) 2018-10-02 2018-10-02 전자장치, 패킷전송 장치 및 방법
PCT/KR2019/012930 WO2020071796A1 (ko) 2018-10-02 2019-10-02 전자장치, 패킷전송 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180117503A KR102580248B1 (ko) 2018-10-02 2018-10-02 전자장치, 패킷전송 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20200037988A KR20200037988A (ko) 2020-04-10
KR102580248B1 true KR102580248B1 (ko) 2023-09-19

Family

ID=70055952

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180117503A KR102580248B1 (ko) 2018-10-02 2018-10-02 전자장치, 패킷전송 장치 및 방법

Country Status (2)

Country Link
KR (1) KR102580248B1 (ko)
WO (1) WO2020071796A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8243630B2 (en) * 2005-10-19 2012-08-14 Microsoft Corporation Application-level routing protocol for multiparty audio-video conferencing
KR20130008438A (ko) * 2011-07-12 2013-01-22 한국전자통신연구원 멀티미디어 패킷 전송망에서 전방향 오류 정정 제어 방법
KR102028948B1 (ko) * 2011-11-08 2019-10-17 삼성전자주식회사 멀티미디어 통신 시스템에서 어플리케이션 계층-순방향 오류 정정 패킷 송/수신 장치 및 방법
KR101995221B1 (ko) * 2011-11-24 2019-07-16 삼성전자주식회사 통신 시스템에서 패킷 송수신 장치 및 방법
EP3125455B1 (en) * 2014-03-28 2022-05-04 Samsung Electronics Co., Ltd. Method and apparatus for generating and recovering packet in broadcasting and/or communication system

Also Published As

Publication number Publication date
KR20200037988A (ko) 2020-04-10
WO2020071796A1 (ko) 2020-04-09

Similar Documents

Publication Publication Date Title
US8015474B2 (en) Adaptive forward error correction
US8982847B2 (en) Packet aggregation
KR102173084B1 (ko) 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치
US9060252B2 (en) Rate adaptive transmission of wireless broadcast packets
US8306062B1 (en) Method and apparatus of adaptive large receive offload
US20080239953A1 (en) Method and apparatus for minimizing congestion in gateways
JP5009009B2 (ja) 無線データストリーミングシステムのパラメータの制御方法及び装置
JP4368863B2 (ja) 損失耐性のある伝送制御プロトコル
US9485186B2 (en) Network congestion control with awareness of random packet losses
KR20060128595A (ko) 오류 정정 패킷을 이용한 전송률 제어 방법 및 이를 이용한통신 장치
JP4320024B2 (ja) 誤り訂正パケットを用いた伝送率制御方法およびそれを用いた通信装置
US9876727B2 (en) Physical-layer signaling of flow control updates
GB2521441A (en) Packet loss mitigation
US20160294505A1 (en) Data rate adaptation in a wireless transmitter
US8868003B2 (en) Controlling transmission of data
WO2016155945A1 (en) Data rate adaptation in a wireless transmitter
KR102580248B1 (ko) 전자장치, 패킷전송 장치 및 방법
Gorius et al. Dynamic media streaming over wireless and mobile ip networks
JP6223942B2 (ja) 無線通信環境に応じてアグリゲーション量を変更可能な無線通信装置、無線通信プログラム及び方法
JP5789379B2 (ja) 無線装置
CN115189810B (zh) 一种面向低时延实时视频fec编码传输控制方法
TWI748177B (zh) 中繼裝置、資料中繼方法及程式
US10230405B2 (en) System and method of forward error correction for streaming media
Weyulu et al. A dynamic forward error control scheme for video streaming over wireless networks
WO2010010028A1 (en) Control of data flow

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