KR20120005371A - 블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치 - Google Patents

블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치 Download PDF

Info

Publication number
KR20120005371A
KR20120005371A KR1020110033741A KR20110033741A KR20120005371A KR 20120005371 A KR20120005371 A KR 20120005371A KR 1020110033741 A KR1020110033741 A KR 1020110033741A KR 20110033741 A KR20110033741 A KR 20110033741A KR 20120005371 A KR20120005371 A KR 20120005371A
Authority
KR
South Korea
Prior art keywords
data
fec
priority
block
priority buffer
Prior art date
Application number
KR1020110033741A
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 US13/809,090 priority Critical patent/US8819526B2/en
Priority to PCT/KR2011/005024 priority patent/WO2012005544A2/ko
Publication of KR20120005371A publication Critical patent/KR20120005371A/ko

Links

Images

Classifications

    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0079Formats for control data
    • H04L1/008Formats for control data where the control data relates to payload of a different packet
    • 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/0045Arrangements at the receiver end

Abstract

블록 코딩이 적용된 부호화 및 복호화를 위한 방법 및 장치가 제공된다. 블록 코딩 부호화 및 복호화를 위한 방법 및 장치에 의해 유무선 전송로에서 연속된 데이터 손실이 발생하더라도, 중요도가 높은 데이터를 신뢰성 있게 복구함으로써 최소한의 품질의 끊김 없는 서비스가 제공될 수 있다. 중요도가 높은 데이터는 전치 중복 계산 또는 후치 중복 계산된다. 손실된 특정한 시간대의 데이터는 다른 시간대의 중복된 데이터에 의해 복구될 수 있다.

Description

블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치{METHOD AND APPARATUS FOR RECOVERY FROM SERIES OF DATA LOSS BY APPLYING REDUNDANT BLOCK SYMBOL ENCODING}
아래의 실시예들은 데이터 손실을 복구하는 방법 및 장치에 관한 것이다.
블록 코드 심볼을 중복함으로써 버스트 데이터 손실을 복구하는 방법 및 장치가 개시된다.
이동 통신망 혹은 이동 방송망 등을 통해, 음성 및 영상 등 실시간 스트리밍 형태의 무선 데이터가 전송될 때, 단말이 이동중 전파 음영 지역 등(예컨대, 전파 수신 채널 상태가 열악한 터널 등)을 지날 경우 연속적인 데이터 손실이 발생하여 일시적인 서비스 중단 현상이 나타날 수 있다.
이러한 방송 수신 단말의 지속적인 데이터 손실로 인한 서비스 품질 저하를 극복하기 위한 기술로서 다양한 오류 정정 기법이 널리 사용된다.
오류 정정 기법은 FEC(Forward Error Correction) 등의 오류 정정을 위한 패리티 데이터를 부가적으로 생성하여 수신 단말로 전송함으로써, 수신 단말이 손실된 데이터를 복구할 수 있게 한다.
예컨대, 3GPP 에서 표준화된 음성 및 영상 멀티미디어 서비스를 위한 FEC 오류 정정 기술의 경우, 송신 서버는 인코딩된 비디오, 음성 및 문자 데이터등을 실은 IP 패킷들을 심볼이라는 단위로 모아 하나의 FEC 소스 블록을 형성 한 후, 수집된 FEC 소스 블록의 데이터에 대해 FEC 패리티를 계산한다. 계산된 FEC 패리티 데이터 및 IP 데이터 패킷은 별개의 논리 채널을 통해 각각 독립적으로 전송된다. 수신 단말은, 전송 오류 등으로 인한 일부 IP 패킷의 손실이 검출된 경우, 수신한 FEC 패리티 데이터를 이용하여 손실된 IP 패킷을 복원하는 블록 코딩 오류 정정 방식을 사용한다.
그러나, 전술된 오류 정정 기법들의 손실 복구 능력은 대개 생성되는 패리티 데이터량에 비례하게 된다.
무선 채널 상에서, 연속되는 버스트 손실 등이 발생하여 다량의 데이터 패킷이 손실되는 경우, 연속되는 버스트 손실로 인해 서비스가 중단되지 않게 하기 위해서는 데이터와 함께 다량의 패리티 데이터가 전송되어야 한다. 다량의 패리티 데이터를 함께 전송하는 것은 전송 비트율을 증가시키고 코딩 효율을 떨어트린다.
특히, 가용 대역폭이 한정된 무선 데이터망의 경우, 패리티 데이터 전송을 위해 지나치게 많은 대역폭이 할당되면, 제공 가능한 비디오 스트림 서비스의 개수를 줄이거나, 비디오 서비스 화질을 낮추어 전송 비트율을 줄여야 하는 문제가 발생한다.
따라서, 패리티 데이터 전송으로 인한 전송 대역폭 소모를 최소화 하면서, 수초 이상 지속되는 링크 아웃티지(outage) 등의 상황에서도 스트리밍 서비스가 지속적으로 보장될 수 있는 서비스 끊김 방지 기술이 요구된다.
본 발명의 일 실시에는 블록 코드 심볼을 중복 적용하는 부호화 장치 및 방법을 제공할 수 있다.
본 발명의 일 실시에는 중복된 블록 코드 심볼을 사용하여 데이터 손실을 복구하는 복호화 장치 및 방법을 제공할 수 있다.
본 발명의 일측에 따르면, 저-우선순위 버퍼, 고-우선순위 버퍼, 중요도가 표시된 데이터 스트림을 입력 받고, 상기 데이터 스트림에 시간 정보를 표시하고, 상기 데이터 스트림을 상기 중요도에 따라 상기 저-우선순위 버퍼 및 고-우선순위 버퍼로 분류하여 저장하는 우선순위 분류기 및 상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼에서 각각 동일한 제1 시간대의 데이터를 인출하여 포워드 오류 정정(Forward Error Collection; FEC) 소스 블록을 구성하고, 상기 고-우선순위 버퍼에서 상기 제1 시간대와 상이한 제2 시간대의 데이터를 인출하여 상기 FEC 소스 블록에 추가함으로써 FEC 패리티 데이터 생성을 위한 부호화 계산을 수행하는 FEC 부호화 장치가 제공된다.
상기 제2 시간대는 상기 제1 시간대에 비해 L 시간만큼 앞선 시간대 또는 상기 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대일 수 있다.
상기 L은 연속된 버스트 로스로부터 중요도가 높은 데이터를 복구하고자 하는 최대 길이일 수 있다.
상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼의 데이터는 최소 상기 L 시간만큼 버퍼링될 수 있다.
상기 제2 시간대는 상기 제1 시간대에 비해 L 시간만큼 앞선 시간대 및 상기 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대일 수 있다.
상기 FEC 부호화기는 상기 저-우선순위 버퍼의 데이터를 상기 고-우선순위 버퍼의 데이터보다 L 시간만큼 지연하여 전송할 수 있다.
상기 FEC 부호화기는 블록을 구성하는 출력 데이터들 및 상기 FEC 패리티 데이터에 블록 식별자를 표시할 수 있고, 2 개 이상의 상기 블록에 중복되어 추가된 상기 고-우선순위 버퍼 내의 중요도가 높은 데이터는 2 개 이상의 블록 식별자들로 표시될 수 있다.
상기 FEC 부호화기는 상기 블록 식별자가 표시된 출력 데이터 및 상기 FEC 패리티 데이터를 순서에 따라 출력할 수 있다.
상기 데이터 스트림은 스케일러블 비디오 코딩 스트림일 수 있고, 상기 고-우선순위 버퍼의 데이터는 베이스 프레임 데이터일 수 있고, 상기 저-우선순위 버퍼의 데이터는 인헨스먼트 프레임 데이터일 수 있다.
본 발명의 다른 일측에 따르면, 저-우선순위 버퍼, 고-우선순위 버퍼, 포워드 오류 정정(Forward Error Collection; FEC) 버퍼, 중요도 및 블록 식별자가 표시된 데이터 스트림 및 FEC 데이터를 입력 받아 상기 데이터 스트림 및 상기 FEC 데이터에 시간 정보를 표시하고, 상기 데이터 스트림을 상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼에 분류하여 저장하고, 상기 FEC 데이터를 FEC 버퍼에 저장하는 우선순위분류기 및 상기 저-우선순위 버퍼의 데이터, 상기 고-우선순위 버퍼의 데이터 및 상기 FEC 데이터에 기반하여 FEC 블록을 구성하고 복호화를 수행하는 FEC 복호화기를 포함하고, 상기 FEC 복호화기는 제1 시간대의 손실된 데이터가 검출된 경우, 상기 제1 시간대의 손실되지 않은 데이터의 상기 블록 식별자 정보를 이용하여 손실 복구에 사용되어야 할 상기 블록 식별자를 유추하고, 상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼로부터 상기 유추된 블록 식별자에 해당하는 모든 손상되지 않은 데이터를 인출하고, 상기 FEC 버퍼로부터 상기 유추된 블록 식별자에 해당하는 모든 손상되지 않은 FEC 데이터를 인출하여 상기 FEC 블록을 구성하고, 상기 FEC 블록에 대한 FEC 복호화 계산을 수행함으로써 상기 FEC 복호화를 수행하는, 복호화 장치가 제공된다.
상기 FEC 복호화기는 상기 제1 시간대와 상이한 제2 시간대의 상기 블록 식별자를 유추하고, 상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼에서 상기 유추된 블록 식별자에 해당하는 모든 손상되지 않은 데이터를 인출하고, 상기 FEC 버퍼에서 상기 유추된 블록 식별자에 해당하는 모든 손상되지 않은 FEC 데이터를 인출하여 상기 FEC 블록을 구성하고, 상기 FEC 블록에 대한 FEC 복호화를 수행함으로써 상기 손실된 데이터를 복구할 수 있다.
상기 제2 시간대는 상기 제1 시간대에 비해 L 시간만큼 앞선 시간대 또는 상기 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대일 수 있다.
상기 L은 상기 복호화 장치가 연속된 버스트 로스로부터 중요도가 높은 데이터를 복구하고자 하는 최대 길이일 수 있다.
상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼의 데이터는 최소 L 시간 이상 버퍼링될 수 있고, 상기 FEC 버퍼의 FEC 데이터는 최소 상기 L 시간 이상 버퍼링될 수 있다.
상기 저-우선순위 버퍼에 저장되는 중요도가 낮은 데이터는 상기 고-우선순위 버퍼에 저장되는 중요도가 높은 데이터에 비해 L 시간 이상 지연되어 전송될 수 있고, 상기 고-우선순위 버퍼의 데이터는 상기 L 시간 이상 버퍼링될 수 있다.
상기 FEC 복호화기는 상기 L 시간만큼 상기 데이터 스트림 및 상기 FEC 데이터를 더 버퍼링함으로써 입력된 데이터들의 블록 식별자를 인출하고, 상기 저-우선순위 버퍼, 상기 고-우선순위 버퍼 및 상기 FEC 버퍼에서 상기 인출된 블록 식별자에 해당하는 모든 손상되지 않은 데이터 및 FEC 데이터를 인출함으로써 FEC 블록을 구성할 수 있고, 상기 FEC 블록에 복호화를 수행함으로써 상기 손실된 데이터를 복구할 수 있다.
상기 제2 시간대는 상기 제1 시간대에 비해 L 시간만큼 앞선 시간대 및 상기 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대일 수 있다.
본 발명의 또 다른 일측에 따르면, 중요도가 표시된 데이터 스트림을 입력 받는 동작, 상기 데이터 스트림에 시간 정보를 표시하는 동작, 상기 시간 정보가 표시된 데이터 스트림을 상기 중요도에 따라 저-우선순위 버퍼 및 고-우선순위 버퍼로 분류하여 저장하는 동작, 상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼에서 특정 시간대의 데이터를 인출하여 포워드 오류 정정(Forward Error Collection; FEC) 소스 블록을 구성하는 동작, 상기 고-우선순위 버퍼에서 상기 특정 시간대보다 L 시간 선행 또는 상기 L 시간 후행하는 데이터를 인출하여 상기 FEC 소스 블록에 추가하는 동작, 상기 FEC 소스 블록의 FEC 패리티 데이터를 계산하는 동작 및 상기 FEC 소스 블록 및 상기 FEC 패리티 데이터를 출력하는 동작을 포함하는, 부호화 방법이 제공된다.
본 발명의 또 다른 일측에 따르면, 중요도 및 블록 식별자가 표시된 데이터 스트림 및 FEC 데이터를 입력 받는 동작, 상기 데이터 스트림을 저-우선순위 버퍼 및 고-우선순위 버퍼에 분류하여 저장하고, 상기 FEC 데이터를 FEC 버퍼에 저장하는 동작, 상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼의 데이터 및 상기 FEC 데이터에 기반하여 FEC 블록을 구성하는 동작, 상기 저-우선순위 버퍼, 상기 고-우선순위 버퍼 및 상기 FEC 버퍼로부터 L 시간 선행하는 데이터 또는 L 시간 후행하는 데이터를 인출하여 상기 FEC 블록을 구성하는 동작 및 기 FEC 블록에 대한 FEC 복호화 계산을 수행하는 동작을 포함하는, 복호화 방법이 제공된다.
블록 코드 심볼을 중복 적용하는 부호화 장치 및 방법이 제공된다.
중복된 블록 코드 심볼을 사용하여 데이터 손실을 복구하는 복호화 장치 및 방법이 제공된다.
도 1은 본 발명의 일 예에 따른 계층화된 SVC 스트림의 프레임 참조 구조를 도시한다.
도 2는 본 발명의 일 실시예에 따른 블록 코딩 부호화 장치의 구조도이다.
도 3은 본 발명의 일 예에 따른 FEC 블록 인코딩 방법을 나타내는 타이밍 다이어그램이다.
도 4는 본 발명의 일 실시예에 따른 블록 코딩 복호화 장치의 구조도이다.
도 5는 본 발명의 일 예에 따른 FEC 블록 디코딩 방법을 나타내는 타이밍 다이어그램이다.
도 6은 본 발명의 일 실시예에 따른 인터리빙을 적용한 FEC 블록 디코딩 방법을 나타내는 타이밍 다이어그램이다.
도 7은 본 발명의 일 예에 따른 블록 코딩 부호화 장치(200)의 동작을 설명하는 순서도이다.
도 8은 본 발명의 일 예에 따른 블록 코딩 복호화 장치(400)의 동작을 설명하는 순서도이다.
이하에서, 본 발명의 일 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 예에 따른 계층화된 SVC 스트림의 프레임 참조 구조를 도시한다.
ITU-T 및 ISO/IEC JTC 1의 조인트 비디오 팀(Joint Video Team; JVT)에서 표준화된 스케일러블 비디오 코딩(Scalable Video Coding; SVC) 기술은, 비디오 프레임을 저비트율의 베이스(base) 프레임들로 구성되는 스트림과, 상기의 베이스 프레임들을 참조하는 여러 단계로 계층화된 인헨스먼트 프레임들로 구성하여 영상 코딩을 하는 방법이다.
도 1에서, SVC 기술을 이용하여 2개의 계층으로 분리되어 계층화된 비디오 스트림의 프레임간 참조 관계가 도시되었다.
도 1에 의하면, 비트율은 낮지만 중요도가 높은 베이스 프레임들(120)은 독립적으로 디코딩 될 수 있다. 그러나, 인헨스먼트 프레임들(110)은 베이스 프레임 정보 없이 디코딩 될 수 없다.
따라서, 인헨스먼트 프레임들(110)이 손실되어도 베이스 프레임(120) 만을 디코딩 함으로 저화질의 영상이 재생될 수 있으나, 베이스 프레임(120)의 데이터가 손실된 경우에는, 손실된 베이스 프레임(120)을 직접적 또는 간접적으로 참조하는 인헨스먼트 프레임들(110)은 전부 디코딩될 수 없다.
그러나, 베이스 프레임들(120) 및 이를 참조하는 인헨스먼트 프레임들(110)이 모두 디코딩된 경우, 정상 화질의 비디오 영상이 재생될 수 있다.
따라서 SVC 기술에서는 비트율이 낮은 베이스 프레임(120)의 중요도가 가장 높다.
전술된 것과 같이, 데이터의 상대적인 중요도가 나뉘어진 계층적인 비디오 코딩 방법에서, 비트율은 낮지만 중요도는 높은 베이스 프레임(120)에게 많은 비율의 패리티 데이터를 부가함으로써 베이스 프레임(120)이 인헨스먼트 프레임(110)에 비해 손실에 대해 더욱 강인하게 할 수 있다.
그러나, 이러한 방법 또한 부가되어 전송되는 패리티 데이터의 양에 비례하여 복구 성능이 제한된다. 따라서, 지속적으로 데이터 손실이 발생하는 링크 아웃티지(outage) 등의 상황에 대비하기 위해서는, 다량의 패리티 데이터가 전송 되어야 하는 등의 문제점이 발생할 수 있다.
도 2는 본 발명의 일 실시예에 따른 블록 코딩 부호화 장치의 구조도이다.
블록 코딩 부호화 장치(200)는 우선순위 분류기(210), 저-우선순위(low-priority) 버퍼(buffer)(220), 고-우선순위(high-priority) 버퍼(230) 및 FEC 부호화기(240)를 포함한다.
우선순위 분류기(210)는 외부로부터 중요도가 표시된 데이터 스트림(data stream)(250)을 입력 받는다.
데이터 스트림(250)은 I 프레임, B 프레임 및 P 프레임을 포함할 수 있다.
데이터 스트림(250)은 우선순워에 따라 분리될 수 있다. 데이터 스트림(250)은 중요도가 낮은 저-우선순위 데이터 및 중요도가 높은 고-우선순위 데이터를 포함한다.
예컨대, 데이터 스트림(250)이 계층적으로 분리된 스케일러블 비디오 코딩(Scalable Video Coding; SVC) 스트림일 수 있으며, 중요도가 높은 데이터는 베이스 프레임 데이터일 수 있고, 중요도가 낮은 데이터는 인헨스먼트 프레임 데이터일 수 있다. 데이터 스트림(250)은 음성 및 영상이 혼합된 멀티미디어 스트림일 수 있으며, 중요도가 높은 데이터는 음성 스트림일 수 있다. 데이터 스트림(250)은 좌우 영상이 분리된 3D 스트림일 수 있으며, 중요도가 높은 데이터는 중요도가 높은 한 쪽의 영상 데이터일 수 있다.
우선순위 분류기(210)는 입력 받은 데이터 스트림에 시간 정보를 표시하고, 데이터 스트림을 (중요도에 따라) 내부의 저-우선순위 버퍼(220) 및 고-우선순위 버퍼(230)로 분류하여 저장한다.
즉, 저-우선순위 버퍼(220)에는 데이터 스트림 내의 중요도가 낮은 데이터가 저장될 수 있다. 고-우선순위 버퍼(220)에는 데이터 스트림 내의 중요도가 높은 데이터가 저장될 수 있다.
FEC 부호화기(240)는 저-우선순위 버퍼(220) 및 고-우선순위 버퍼(230)에서 각각 데이터를 인출한다. 저-우선순위 버퍼(220)로부터 인출되는 중요도가 높은 데이터 및 고-우선순위 버퍼(230)로부터 인출되는 중요도가 낮은 데이터는 동일한 제1 시간대의 데이터일 수 있다.
FEC 부호화기(240)는 인출된 데이터를 사용하여 FEC 계산을 위한 FEC 소스 블록(source block)을 구성한다.
FEC 부호화기(240)는 고-우선순위 버퍼(230)에서 제1 시간대와 상이한 제2 시간대의 중요도가 높은 데이터를 더 인출하여 FEC 소스 블록에 추가한다.
FEC 부호화기(240)는 FEC 소스 블록을 사용하여 FEC 패리티(parity) 데이터 생성을 위한 부호화 계산을 사용한다.
따라서, 고-우선순위 버퍼(230)에 저장된 중요도가 높은 데이터는 두 번 FEC 블록에 포함된다. 즉, 중요도가 높은 데이터가 두 번 FEC 블록에 포함되어, 부호화 계산이 수행된다.
제2 시간대는 제1 시간대에 비해 L 시간만큼 앞선 시간대일 수 있다. 이를, '후치 중복 계산'이라 한다.
제2 시간대는 제1 시간대에 비해 L 시간만큼 늦은 시간대일 수 있다. 이를, '전치 중복 계산'이라 한다.
또한, 후치 중복 계산 및 전치 중복 계산은 모두 함께 수행될 수 있다. 즉, 제2 시간대는 제1 시간대에 비해 L 시간만큼 앞선 시간대 및 제1 시간대에 비해 L 시간만큼 늦은 시간대일 수 있다. 즉, FEC 부호화기(240)는 고-우선순위 버퍼(230)에서 제1 시간대에서 L 시간만큼 앞선 시간대의 중요도가 높은 데이터 및 제1 시간대에서 L 시간만큼 늦은 시간대의 중요도가 높은 데이터를 더 인출하여 FEC 소스 블록에 추가할 수 있다.
시간 값 L은 연속된 버스트 로스(burst loss)로부터 중요도가 높은 데이터를 복구하고자 하는 최대 길이일 수 있다. 즉, FEC 블록 구성을 위해, 저-우선순위 버퍼(220) 및 고-우선순위 버퍼(230)의 데이터는 최소한 L 시간 이상 버퍼링(buffering)될 수 있다.
FEC 부호화기(240)는 블록을 구성하는 데이터 및 계산된 FEC 패리티 데이터에 블록 식별자를 표시한다. 따라서, 두 개 이상의 블록에 중복 추가되어 계산된, 중요도가 높은 데이터는 2 개 이상의 블록 식별자들로 표시된다.
FEC 부호화기(240)는 블록 식별자가 표시된 출력 데이터(260) 및 블록 식별자가 표시된 FEC 패리티 데이터(270)를 순서에 따라 출력한다.
또는, FEC 부호화기(240)는 인터리빙(interleaving) 방법을 적용하여 구성될 수 있다. 즉, FEC 부호화기(240)는 저-우선순위 버퍼(220)의 중요도가 낮은 데이터를 고-우선순위 버퍼(230)의 중요도가 높은 데이터보다 L 시간만큼 지연시켜 전송할 수 있다. 이로서, 수신 단말의 버퍼링 부담이 감소될 수 있다.
도 3은 본 발명의 일 예에 따른 FEC 블록 인코딩 방법을 나타내는 타이밍 다이어그램이다.
도 3에서, 블록 코딩 부호화 장치(200)의 FEC 부호화기(240)가 FEC 블록 인코딩을 수행하는 방법이 논리적인 타이밍 다이어그램의 형식으로 설명된다.
FEC 부호화기(240)는 t1 내지 t4의 시간 구간 동안, 저-우선순위 버퍼(220)로부터 i11p12의 데이터를 인출하고, 고-우선순위 버퍼(230)로부터 I11, B12, P13B14의 데이터를 인출하여 FEC 블록 코딩을 수행하기 위한 FEC 소스 블록을 구성한다.
FEC 부호화기(240)는, '전치 중복 계산'이 설정된 경우, 고-우선순위 버퍼(230)에서, L 시간만큼 뒤의, 중요도가 높은 데이터인 i31p32를 인출하여 FEC 소스 블록에 추가하고, FEC 부호화 계산을 수행한다.
따라서, 블록 부호화 계산을 수행함에 있어서, 고-우선순위 버퍼(230)의 중요도가 높은 데이터인 i31p32 는 L 시간 앞뒤의 제1 FEC 블록(310) 및 제2 FEC 블록(320) 모두에 중복 포함된다.
또는, FEC 부호화기(240)는, '후치 중복 계산'이 설정된 경우, t17 내지 t20의 시간 구간 동안 I51, B52, P53, B54, i51p52의 데이터를 인출하여 FEC 소스 블록을 구성한다. FEC 부호화기(240)는 고-우선순위 버퍼(230)에서, L 시간만큼 앞의, 중요도가 높은 데이터인 i31p32를 인출하여, FEC 소스 블록에 추가하고 FEC 부호화 계산을 수행한다.
따라서, 블록 부호화 계산을 수행함에 있어서, 고-우선순위 버퍼(230)의 중요도가 높은 데이터인 i31p32는 L 시간 앞뒤의 제2 FEC 블록(320) 및 제3 FEC 블록(330) 모두에 중복 포함된다.
또는, 전치 중복 계산 및 후치 중복 계산이 모두 설정된 경우, 블록 부호화 계산을 수행함에 있어서, 고-우선순위 버퍼(230)의 중요도가 높은 데이터인 i31 및 p32 는 L 시간 앞뒤의 제1 FEC 블록(310), 제2 FEC 블록(320) 및 제3 FEC 블록(330)에 모두 중복 포함된다. 따라서, 데이터 손실이 발생할 경우, 적어도 셋 이상의 FEC 블록들 중 하나의 블록에서 상기 데이터 손실이 복구될 수 있는 기회가 더 획득된다.
도 4는 본 발명의 일 실시예에 따른 블록 코딩 복호화 장치의 구조도이다.
블록 코딩 복호화 장치(400)는 우선순위 분류기(410), 저-우선순위 버퍼(420), 고-우선순위 버퍼(430), FEC 버퍼(440) 및 FEC 복호화기(450)를 포함한다.
우선순위 분류기(410)는 외부로부터 입력데이터(즉, 데이터 스트림)(260) 및 FEC 데이터(270)를 입력받는다. 입력 데이터(260) 및 FEC 데이터(270)에는 각각 중요도 및 블록 식별자가 표시되었다.
우선순위 분류기(410)는 입력받은 데이터 스트림(260) 및 FEC 데이터(270)에 시간 정보를 표시한다. 우선순위 분류기(410)는 시간 정보가 표시된 데이터 스트림을 저-우선순위 버퍼(420) 및 고-우선순위 버퍼(430)에 분류하여 저장하며, 시간 정보가 표시된 FEC 데이터를 FEC 버퍼(440)에 저장한다. 저-우선순위 버퍼(420)에 저장되는 데이터는 중요도가 낮은 데이터이며, 고-우선순위 버퍼(430)에 저장되는 데이터는 중요도가 높은 데이터이다.
저-우선순위 버퍼(420), 고-우선순위 버퍼(430) 및 FEC 버퍼(440)의 데이터는 FEC 블록 구성을 위해 최소 L 시간 이상 버퍼링된다. 즉, 저-우선순위 버퍼의 데이터, 고-우선순위 버퍼의 데이터 및 FEC 버퍼(440)의 FEC 데이터는 최소 L 시간 이상 버퍼링된다.
또는, FEC 복호화기(450) 또는 블록 코딩 복호화 장치(400)에는, 인터리빙이 적용될 수 있다. 즉, 블록 코딩 부호화 장치(400)의 외부로부터 입력된 데이터(260)에서, 중요도가 낮은 데이터는 중요도가 높은 데이터에 비해 L 시간 이상 지연되어 전송될 수 있다. 이 때, 고-우선순위 버퍼(430)의 중요도가 높은 데이터만 L 시간 이상 버퍼링됨으로써, 블록 코딩 복호화 장치(400)를 포함 또는 사용하는 수산 단말의 버퍼링 부담을 감소시킬 수 있다.
FEC 복호화기(430)는 저-우선순위 버퍼(420)의 데이터, 고-우선순위 버퍼(430)의 데이터 및 FEC 데이터에 기반하여 FEC 블록을 구성하고 복호화를 수행한다.
복호화 수행의 결과는 FEC 복호화기(430)에 의해 스트림 데이터(460)로 출력된다.
FEC 복호화기(450)는 입력 데이터(예컨대, 저-우선순위 버퍼(420)의 데이터, 고-우선순위 버퍼(430)의 데이터, FEC 데이터 또는 외부로부터 입력된 데이터(260))에서 손실된 데이터가 검출된 경우 FEC 복호화를 수행함으로써 손실된 데이터를 복구한다. 제1 시간대는 상기의 손실된 데이터가 해당되는 시간대이다.
FEC 복호화기(450)는 입력 데이터의 손실이 검출된 경우, 손실되지 않은 데이터(예컨대, 저-우선순위 버퍼(420)의 데이터, 고-우선순위 버퍼(430)의 데이터 및 FEC 데이터 중 제1 시간대의 손실되지 않은 데이터)의 블록 식별자 정보 등을 이용하여 손실 복구에 사용되여야 블록 식별자를 유추한다.
블록 식별자가 유추되면, FEC 복호화기(450)는 저-우선순위 버퍼(420) 및 고-우선순위 버퍼(430)에서 유추된 블록 식별자에 해당하는 모든 손상되지 않은 데이터(즉, 중요도가 높은 데이터 및 중요도가 낮은 데이터)를 인출하고, FEC 버퍼(440)에서 유추된 블록 식별자에 해당하는 모든 손상되지 않은 FEC 데이터를 인출하여, 인출된 데이터 및 FEC 데이터에 기반하여 FEC 블록을 구성하고, FEC 복호화를 수행한다. FEC 복호화기(430)는 상기의 복호화에 의해 손실된 데이터를 복구한다.
FEC 복호화기(430)가 전술된 FEC 복호화 과정에 의해서도 중요도가 높은 데이터의 복구를 할 수 없는 경우, 하기의 방법에 의해 손실된 데이터가 복구될 수 있다.
FEC 복호화기(450)는 제1 시간대와 상이한 제2 시간대의 블록 식별자를 유추하고, 저-우선순위 버퍼(420) 및 고-우선순위 버퍼에서 유추된 블록 식별자에 해당하는 모든 손상되지 않은 데이터를 인출하고, FEC 버퍼에서 유추된 블록 식별자에 해당하는 모든 손상되지 않은 FEC 데이터를 인출하여 FEC 블록을 구성하고, 구성된 FEC 블록에 대한 FEC 복호화를 수행함으로써 손실된 데이터를 복구할 수 있다.
제2 시간대는 제1 시간대에 비해 L 시간만큼 앞선 시간대 또는 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대일 수 있다.
또는, 제2 시간대는 제1 시간대에 비해 L 시간만큼 앞선 시간대 및 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대일 수 있다.
L은 블록 코딩 복호화 장치(400)가 연속된 버스트 로스로부터 중요도가 높은 데이터를 복구하고자하는 최대 길이이다.
블록 코딩 부호화 장치(200)가 후치 중복 계산을 수행한 경우, 제2 시간대는 제1 시간대에 비해 L 시간만큼 앞선 시간대이다.
따라서, FEC 복호화기(450)는 L 시간만큼 선행한 블록 식별자를 유추하고, 저-우선순위 버퍼(420) 및 고-우선순위 버퍼(430)에서 유추된 블록 식별자에 해당하는 모든 손상되지 않은 데이터를 인출하고, FEC 버퍼(440)에서 유추된 블록 식별자에 해당하는 모든 손상되지 않은 FEC 데이터를 인출하여 FEC 블록을을 구성하고, 구성된 FEC 블록에 복호화를 수행함으로써 손실된 중요도가 높은 데이터를 복구할 수 있다.
블록 코딩 부호화 장치(200)가 전치 중복 계산을 수행한 경우, 제2 시간대는 제1 시간대에 비해 L 시간만큼 늦은 시간대이다.
따라서, FEC 복호화기(450)는 L 시간만큼 데이터 스트림(260) 및 FEC 데이터(270)를 더 버퍼링함으로써 입력된 데이터들의 블록 식별자를 인출하고, 저-우선순위 버퍼(420), 고-우선순위 버퍼(430) 및 FEC 버퍼(440)에서 인출된 블록 식별자에 대응하는 모든 손상되지 않은 데이터 및 FEC 데이터를 인출함으로써 FEC 블록을 구성하고, 구성된 FEC 블록에 복호화를 수행함으로써 손실된 중요도가 높은 데이터를 복구할 수 있다.
전술된 방법에 의해, 중요도가 높은 데이터는, 적어도 L 시간만큼 떨어진, 2 개 이상의 FEC 블록들 가운데 손상이 적은 한 곳의 FEC 블록에서 복구될 수 있는 기회를 자주 갖게된다. 따라서, 유무선 통신로 상에서 연속된 데이터 손실이 발생하여도, 중요도가 높은 데이터의 복구율을 높힘으로써 최소한의 품질의 지속적인 실시간 멀티미디어 서비스가 제공될 수 있다.
도 5는 본 발명의 일 예에 따른 FEC 블록 디코딩 방법을 나타내는 타이밍 다이어그램이다.
도 5에서, 블록 코딩 복호화 장치(400)가 t9 내지 t12의 시간 구간 동안 발생한 연속된 데이터 손실로부터 중요도가 높은 데이터를 복구하는 방법을 논리적인 타이밍 다이어그램의 형식으로 설명한다.
FEC 복호화기(450)는 t9 내지 t12의 시간동안 발생한 I31, B32, P33, B34, i32p32의 데이터 손실을 감지하고, 제2 FEC 블록(520)을 구성하여, 손실 복구를 시도하였으나, 손실의 양이 커서 데이터 복구에 실패하였다.
블록 코딩 부호화 장치(200)에서 후치 중복 계산이 수행된 경우, FEC 복호화기(450)는 L 시간만큼 선행한 시간대의 FEC 블록 식별자(예컨대, 제1 FEC 블록(510))를 유추하고, 저-우선순위 버퍼(420), 고-우선순위 버퍼(430) 및 FEC 버퍼(440)에서 I11, B12, P13, B14, i11, p12FEC-1을 인출하여 제1 FEC 블록(510)을 구성하고 FEC 복호화 계산을 수행하여 손실된 중요도가 높은 데이터인 i31p32를 복구한다.
블록 코딩 부호화 장치(200)에서 전치 중복 계산이 수행된 경우, FEC 복호화기(450)는 L 시간만큼 데이터 스트림(260) 및 FEC 데이터(270)를 더 버퍼링하고, 저-우선순위 버퍼(420), 고-우선순위 버퍼(430) 및 FEC 버퍼(440)에서, I51, B52, P53, B54, i51, p52FEC-3을 인출하여 제3 FEC 블록(530)을 구성하고 FEC 복호화 계산을 수행하여 손실된 중요도가 높은 데이터인 i31p32를 복구한다.
블록 코딩 복호화 장치(400)를 포함 또는 사용하는 수신 단말이 L 시간만큼의 연속된 입력 데이터의 손실에서 견딜 수 있을 때, L을 크게 할수록 상기의 수신 단말이 버퍼링해야 할 데이터의 양이 커진다. 따라서, L이 커질수록 수신 단말의 버퍼링 부담이 늘어난다. 그러나, 수신 단말의 버퍼링 부담이 늘어나더라도 손실 복구에 사용될 패리티 데이터의 양이 증가되지는 않는다. 따라서, 수신 단말로의 전송 비트율이 증가하지 않는다.
도 6은 본 발명의 일 실시예에 따른 인터리빙을 적용한 FEC 블록 디코딩 방법을 나타내는 타이밍 다이어그램이다.
블록 코딩 부호화 장치(200)에는 인터리빙 방법이 적용된다. 즉, 블록 코딩 부호화 장치(200)는 중요도가 낮은 데이터를 중요도가 높은 데이터보다 L 시간만큼 지연시켜 전송한다.
인터리빙 방법이 적용된 경우, 블록 코딩 복호화 장치(400)은 버퍼링 부담을 줄이면서 연속된 데이터 손실로부터 중요도가 높은 데이터를 복구할 수 있다.
불록 코딩 복호화 장치(400)는 고-우선순위 버퍼(420)에 저장된 데이터만을 L 시간 이상 버퍼링함으로써 전체적인 버퍼링 부담을 감소시킨다.
FEC 복호화기(450)가 t9 내지 t12의 시간 동안 발생한 데이터 손실을 감지한 경우, FEC 복호화기(450)는 우선 고-우선순위 버퍼(430)에 미리 저장된 i31p32의 데이터만을 인출하여 미디어 재생에 활용함으로써 최소한의 품질의 스트리밍 서비스를 지속한다.
FEC 복호화기(450)는 t13 내지 t16의 시간동안 미리 저장된 i41p42의 데이터 및 새로 수신한 I41, B42, P43, B44의 데이터를 시간에 맞추어 디코딩하여 정상 품질의 미디어 재생에 활용한다.
FEC 복호화기(450)는 t17 내지 t20의 시간동안 수신한 I51, B52, P53, B54, i71, p72FEC-3의 데이터를 이용하여 제3 FEC 블록(630)을 구성하고 FEC 복호화 계산을 수행하여 손실된 중요도가 높은 데이터인 i51p52를 복구한다. FEC 복호화기(450)는 복구된 i51p52를 디코딩하여 정상 품질의 미디어 재생에 활용한다.
도 7은 본 발명의 일 예에 따른 블록 코딩 부호화 장치(200)의 동작을 설명하는 순서도이다.
동작(710)에서, 데이터(즉, 중요도가 표시된 데이터 스트림(250))가 입력된다. 입력 데이터에 시간 정보가 표시되며, 입력 데이터의 우선순위가 분류된다.
동작(715)에서, 입력 데이터가 버퍼링된다. 즉, 시간 정보가 표시된 데이터 스트림이 중요도에 따라 저-우선순위 버퍼(220) 및 고-우선순위 버퍼(230)로 분류되어 저장된다.
동작(720)에서, FEC 소스 블록이 구성된다. 저-우선순위 버퍼(220) 및 고-우선순위 버퍼(230)에서 특정 시간대의 데이터가 인출되어, 인출된 특정 시간대의 데이터에 기반하여 FEC 소스 블록이 구성된다.
동작(730)에서, 중복 계산 방법이 선택된다.
동작(730)에서 후치 중복 계산이 선택된 경우, 동작(735)에서, 고-우선순위 버퍼로부터 상기의 특정 시간대보다 L 시간 선행하는 중요도가 높은 데이터가 인출되고, 인출된 L 시간 선행하는 중요도가 높은 데이터가 FEC 소스 블록에 추가된다.
동작(730)에서 전치 중복 계산이 선택된 경우, 동작(740)에서, 고-우선순위 버퍼로부터 상기의 특정 시간대보다 L 시간 후행하는 중요도가 높은 데이터(즉, 고-우선순위 데이터)가 인출되고, 인출된 L 시간 선행하는 중요도가 높은 데이터가 FEC 소스 블록에 추가된다.
동작(750)에서, FEC 소스 블록에 대한 FEC 패리티가 계산된다.
동작(755)에서, FEC 소스 블록을 구성하는 데이터 및 FEC 패리티에 블록 식별자가 표시된다.
동작(760)에서, 인터리빙이 적용될지 여부가 판단된다.
인터리빙이 적용된 경우, 동작(S765)에서, 중요도가 낮은 데이터(즉, 저-우선순위 데이터)가 L 시간 지연된다.
동작(765)에서, 스트림 데이터(즉, 블록 식별자가 표시된 출력 데이터(260)) 및 FEC 데이터(즉, 블록 식별자가 표시된 FEC 패리티 데이터(270))가 출력된다.
앞서 도 1 내지 도 6을 참조하여 설명된 본 발명의 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
도 8은 본 발명의 일 예에 따른 블록 코딩 복호화 장치(400)의 동작을 설명하는 순서도이다.
동작(810)에서, 중요도 및 블록 식별자가 표시된 데이터 스트림(260) 및 FEC 패리티 데이터(270)가 입력 데이터로서 입력된다. 또한, 입력 데이터의 우선순위가 분류된다.
데이터 스트림(260) 및 FEC 데이터(270)에 시간 정보가 표시될 수 있다.
동작(815)에서, 입력 데이터가 버퍼링된다. 즉, 데이터 스트림(260)은 저-우선순위 버퍼(420) 및 고-우선순위 버퍼(430)에 분류되어 저장되고, FEC 데이터는 FEC 버퍼(440)에 저장된다.
동작(820)에서, 데이터가 손실되었는지 여부가 검사된다. 데이터 손실이 검출되지 않은 경우, 하기의 동작(895)이 수행된다. 데이터 손실이 검출된 경우, 하기의 동작(830)이 수행된다.
동작(830)에서, 제1 블록 식별자가 인출된다.
동작(835)에서, FEC 소스 블록이 구성되고 복호화된다. 즉, 저-우선순위 버퍼(420) 및 고-우선순위 버퍼(430)의 데이터 및 상기 FEC 데이터에 기반하여 FEC 블록을 구성된다. 구성된 FEC 블록에 대한 FEC 복호화 계산이 수행된다.
동작(840)에서, 데이터 복구가 필요한지 여부가 판단된다.
구성된 FEC 블록으로 FEC 복호화 계산이 수행될 수 있으면, 동작(895)가 수행된다. 데이터 복구가 필요한 경우, 동작(850)이 수행된다.
동작(850)에서, 인터리빙이 사용될 것인지 여부가 판단된다.
인터리빙이 사용될 경우, 동작(855)에서, 고-우선순위 버퍼(430)에서 데이터가 인출되고, 동작(895)가 수행된다.
인터리빙이 사용되지 않을 경우, 동작(860)이 수행된다.
동작(860)에서 중복 계산 방법이 선택된다. 후치 중복 계산이 수행될 경우, 동작(865)이 수행된다. 전치 중복 계산이 수행될 경우, 동작(870)이 수행된다.
동작(865)에서, 동작(830)의 제1 블록 식별자보다 L 시간 선행하는 제2 블록 식별자가 인출된다.
동작(870)에서, L 시간 동안 입력 데이터(260 및 270)가 버퍼링된다.
동작(875)에서, 제2 블록 식별자가 인출된다.
동작(880)에서, 저-우선순위 버퍼(420), 고-우선순위 버퍼(430) 및 FEC 버퍼(440)에서 제2 블록 식별자에 대응하는 데이터가 인출되어 FEC 블록이 구성된다. 구성된 FEC 블록에 대한 FEC 복호화 계산이 수행된다.
동작(890)에서, 데이터 복구가 되었는지 여부가 판단된다.
데이터 복구가 된 경우, 동작(895)가 수행되고, 데이터 복구가 되지 않은 경우 절차가 종료한다.
동작(895)에서, 스트림 데이터(460)가 출력된다.
앞서 도 1 내지 도 7을 참조하여 설명된 본 발명의 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
전술된 블록 코딩 부호화 장치(200) 및 블록 코딩 복호화 장치(400)에 따라, 유무선 전송로에서 연속된 데이터 손실이 발생한 경우, 중요도가 높은 데이터가 신뢰성 있게 복구될 수 있고, 최소한의 품질의 끊김 없는 서비스가 제공될 수 있다.
예컨대, 외부로부터 블록 코딩 복호화 장치(400)로 입력되는 데이터 스트림(260)이 계층적으로 분리된 SVC 스트림일 경우, 중요도가 높은 베이스 프레임 데이터를 전치 중복 계산 또는 후치 중복 계산에 적용함으로써 연속된 데이터 손실이 발생한 경우 베이스 프레임을 복구하여 최소한의 낮은 영상 품질의 서비스가 지속될 수 있다.
또는, 외부로부터 블록 코딩 복호화 장치(400)로 입력되는 데이터 스트림(260)이 음성 및 영상이 혼합된 멀티미디어 스트림인 경우, 중요도가 높은 음성 데이터를 전치 중복 계산 또는 후치 중복 계산에 적용함으로써 연속된 데이터 손실이 발생한 경우 음성 데이터를 복구하여 최소한의 끊기지 않는 음성 서비스가 지속될 수 있다.
또한, 좌우 영상이 분리된 3D 스트림의 경우, 최소한 중요도가 높은 한쪽 영상 데이터가 끊기지 않고 재생될 수 있다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
200: 부호화 장치
210: 우선순위 분류기
220: 저-우선순위 버퍼
230: 고-우선순위 버퍼
240: FEC 부호화기
400: 복호화 장치
410: 우선순위 분류기
420: 저-우선순위 버퍼
430: 고-우선순위 버퍼
440: FEC 버퍼
450: FEC 복호화기

Claims (19)

  1. 저-우선순위 버퍼;
    고-우선순위 버퍼;
    중요도가 표시된 데이터 스트림을 입력 받고, 상기 데이터 스트림에 시간 정보를 표시하고, 상기 데이터 스트림을 상기 중요도에 따라 상기 저-우선순위 버퍼 및 고-우선순위 버퍼로 분류하여 저장하는 우선순위 분류기; 및
    상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼에서 각각 동일한 제1 시간대의 데이터를 인출하여 포워드 오류 정정(Forward Error Collection; FEC) 소스 블록을 구성하고, 상기 고-우선순위 버퍼에서 상기 제1 시간대와 상이한 제2 시간대의 데이터를 인출하여 상기 FEC 소스 블록에 추가함으로써 FEC 패리티 데이터 생성을 위한 부호화 계산을 수행하는 FEC 부호화기
    를 포함하는, 부호화 장치.
  2. 제1항에 있어서,
    상기 제2 시간대는 상기 제1 시간대에 비해 L 시간만큼 앞선 시간대 또는 상기 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대인, 부호화 장치.
  3. 제2항에 있어서,
    상기 L은 연속된 버스트 로스로부터 중요도가 높은 데이터를 복구하고자 하는 최대 길이인, 부호화 장치.
  4. 제2항에 있어서,
    상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼의 데이터는 최소 상기 L 시간만큼 버퍼링되는, 부호화 장치.
  5. 제2항에 있어서,
    상기 제2 시간대는 상기 제1 시간대에 비해 L 시간만큼 앞선 시간대 및 상기 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대인, 부호화 장치.
  6. 제2항에 있어서,
    상기 FEC 부호화기는 상기 저-우선순위 버퍼의 데이터를 상기 고-우선순위 버퍼의 데이터보다 L 시간만큼 지연하여 전송하는, 부호화 장치.
  7. 제1항에 있어서,
    상기 FEC 부호화기는 블록을 구성하는 출력 데이터들 및 상기 FEC 패리티 데이터에 블록 식별자를 표시하고, 2 개 이상의 상기 블록에 중복되어 추가된 상기 고-우선순위 버퍼 내의 중요도가 높은 데이터는 2 개 이상의 블록 식별자들로 표시되는, 부호화 장치.
  8. 제6항에 있어서,
    상기 FEC 부호화기는 상기 블록 식별자가 표시된 출력 데이터 및 상기 FEC 패리티 데이터를 순서에 따라 출력하는, 부호화 장치.
  9. 제1항에 있어서,
    상기 데이터 스트림은 스케일러블 비디오 코딩 스트림이고, 상기 고-우선순위 버퍼의 데이터는 베이스 프레임 데이터이고, 상기 저-우선순위 버퍼의 데이터는 인헨스먼트 프레임 데이터인, 부호화 장치.
  10. 저-우선순위 버퍼;
    고-우선순위 버퍼;
    포워드 오류 정정(Forward Error Collection; FEC) 버퍼;
    중요도 및 블록 식별자가 표시된 데이터 스트림 및 FEC 데이터를 입력 받아 상기 데이터 스트림 및 상기 FEC 데이터에 시간 정보를 표시하고, 상기 데이터 스트림을 상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼에 분류하여 저장하고, 상기 FEC 데이터를 FEC 버퍼에 저장하는 우선순위분류기; 및
    상기 저-우선순위 버퍼의 데이터, 상기 고-우선순위 버퍼의 데이터 및 상기 FEC 데이터에 기반하여 FEC 블록을 구성하고 복호화를 수행하는 FEC 복호화기
    를 포함하고, 상기 FEC 복호화기는 제1 시간대의 손실된 데이터가 검출된 경우, 상기 제1 시간대의 손실되지 않은 데이터의 상기 블록 식별자 정보를 이용하여 손실 복구에 사용되어야 할 상기 블록 식별자를 유추하고, 상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼로부터 상기 유추된 블록 식별자에 해당하는 모든 손상되지 않은 데이터를 인출하고, 상기 FEC 버퍼로부터 상기 유추된 블록 식별자에 해당하는 모든 손상되지 않은 FEC 데이터를 인출하여 상기 FEC 블록을 구성하고, 상기 FEC 블록에 대한 FEC 복호화 계산을 수행함으로써 상기 FEC 복호화를 수행하는, 복호화 장치.
  11. 제10항에 있어서,
    상기 FEC 복호화기는 상기 제1 시간대와 상이한 제2 시간대의 상기 블록 식별자를 유추하고, 상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼에서 상기 유추된 블록 식별자에 해당하는 모든 손상되지 않은 데이터를 인출하고, 상기 FEC 버퍼에서 상기 유추된 블록 식별자에 해당하는 모든 손상되지 않은 FEC 데이터를 인출하여 상기 FEC 블록을 구성하고, 상기 FEC 블록에 대한 FEC 복호화를 수행함으로써 상기 손실된 데이터를 복구하는, 복호화 장치.
  12. 제11항에 있어서,
    상기 제2 시간대는 상기 제1 시간대에 비해 L 시간만큼 앞선 시간대 또는 상기 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대인, 복호화 장치.
  13. 제12항에 있어서,
    상기 L은 상기 복호화 장치가 연속된 버스트 로스로부터 중요도가 높은 데이터를 복구하고자하는 최대 길이인, 복호화 장치.
  14. 제12항에 있어서,
    상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼의 데이터는 최소 L 시간 이상 버퍼링되고, 상기 FEC 버퍼의 FEC 데이터는 최소 상기 L 시간 이상 버퍼링되는, 복호화 장치.
  15. 제12항에 있어서,
    상기 저-우선순위 버퍼에 저장되는 중요도가 낮은 데이터는 상기 고-우선순위 버퍼에 저장되는 중요도가 높은 데이터에 비해 L 시간 이상 지연되어 전송되고, 상기 고-우선순위 버퍼의 데이터는 상기 L 시간 이상 버퍼링되는, 복호화 장치.
  16. 제14항에 있어서,
    상기 FEC 복호화기는 상기 L 시간만큼 상기 데이터 스트림 및 상기 FEC 데이터를 더 버퍼링함으로써 입력된 데이터들의 블록 식별자를 인출하고, 상기 저-우선순위 버퍼, 상기 고-우선순위 버퍼 및 상기 FEC 버퍼에서 상기 인출된 블록 식별자에 해당하는 모든 손상되지 않은 데이터 및 FEC 데이터를 인출함으로써 FEC 블록을 구성하고, 상기 FEC 블록에 복호화를 수행함으로써 상기 손실된 데이터를 복구하는, 복호화 장치.
  17. 제11항에 있어서,
    상기 제2 시간대는 상기 제1 시간대에 비해 L 시간만큼 앞선 시간대 및 상기 제1 시간대에 비해 상기 L 시간만큼 늦은 시간대인, 복호화 장치.
  18. 중요도가 표시된 데이터 스트림을 입력 받는 동작;
    상기 데이터 스트림에 시간 정보를 표시하는 동작;
    상기 시간 정보가 표시된 데이터 스트림을 상기 중요도에 따라 저-우선순위 버퍼 및 고-우선순위 버퍼로 분류하여 저장하는 동작;
    상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼에서 특정 시간대의 데이터를 인출하여 포워드 오류 정정(Forward Error Collection; FEC) 소스 블록을 구성하는 동작;
    상기 고-우선순위 버퍼에서 상기 특정 시간대보다 L 시간 선행 또는 상기 L 시간 후행하는 데이터를 인출하여 상기 FEC 소스 블록에 추가하는 동작;
    상기 FEC 소스 블록의 FEC 패리티 데이터를 계산하는 동작; 및
    상기 FEC 소스 블록 및 상기 FEC 패리티 데이터를 출력하는 동작
    을 포함하는, 부호화 방법
  19. 중요도 및 블록 식별자가 표시된 데이터 스트림 및 FEC 데이터를 입력 받는 동작;
    상기 데이터 스트림을 저-우선순위 버퍼 및 고-우선순위 버퍼에 분류하여 저장하고, 상기 FEC 데이터를 FEC 버퍼에 저장하는 동작;
    상기 저-우선순위 버퍼 및 상기 고-우선순위 버퍼의 데이터 및 상기 FEC 데이터에 기반하여 FEC 블록을 구성하는 동작;
    상기 저-우선순위 버퍼, 상기 고-우선순위 버퍼 및 상기 FEC 버퍼로부터 L 시간 선행하는 데이터 또는 L 시간 후행하는 데이터를 인출하여 상기 FEC 블록을 구성하는 동작; 및
    상기 FEC 블록에 대한 FEC 복호화 계산을 수행하는 동작
    을 포함하는, 복호화 방법.
KR1020110033741A 2010-07-08 2011-04-12 블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치 KR20120005371A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/809,090 US8819526B2 (en) 2010-07-08 2011-07-08 Method and apparatus for recovering burst data loss by duplicating block code symbols
PCT/KR2011/005024 WO2012005544A2 (ko) 2010-07-08 2011-07-08 블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020100065642 2010-07-08
KR20100065642 2010-07-08

Publications (1)

Publication Number Publication Date
KR20120005371A true KR20120005371A (ko) 2012-01-16

Family

ID=45611565

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110033741A KR20120005371A (ko) 2010-07-08 2011-04-12 블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치

Country Status (2)

Country Link
US (1) US8819526B2 (ko)
KR (1) KR20120005371A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130223524A1 (en) * 2012-02-29 2013-08-29 Microsoft Corporation Dynamic insertion of synchronization predicted video frames
KR20130126876A (ko) 2012-04-30 2013-11-21 삼성전자주식회사 통신 시스템에서 패킷 송수신 방법 및 장치
US10003434B2 (en) * 2016-04-08 2018-06-19 Cisco Technology, Inc. Efficient error correction that aggregates different media into encoded container packets

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6915463B2 (en) 2001-12-26 2005-07-05 Richard Charles Vieregge System and method for performing pre-emptive protection switching
GB0420540D0 (en) * 2004-09-15 2004-10-20 Nokia Corp Burst transmission in a digital broadcasting network
US7861132B1 (en) 2004-11-19 2010-12-28 The Directv Group, Inc. Adaptive error correction
KR100981500B1 (ko) 2006-02-07 2010-09-10 삼성전자주식회사 저밀도 패러티 검사 부호 기반의 하이브리드 재전송 방법
US8707139B2 (en) 2006-10-18 2014-04-22 Kencast, Inc. Systems, methods, apparatus, and computer program products for providing forward error correction with low latency
CN101436917B (zh) 2007-11-12 2012-06-27 华为技术有限公司 用于以太网无源光网络的数据编译码方法及装置
US20100254489A1 (en) * 2007-11-14 2010-10-07 Thomson Licensing Code enhanced staggercasting
JP5409032B2 (ja) * 2009-02-06 2014-02-05 キヤノン株式会社 送信装置、及び、方法、プログラム
WO2012005544A2 (ko) 2010-07-08 2012-01-12 한국전자통신연구원 블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치
KR20120137198A (ko) * 2011-06-11 2012-12-20 삼성전자주식회사 통신 시스템에서 패킷 송수신 장치 및 방법

Also Published As

Publication number Publication date
US20130111302A1 (en) 2013-05-02
US8819526B2 (en) 2014-08-26

Similar Documents

Publication Publication Date Title
FI117266B (fi) Menetelmä kompressoidun videodatan järjestämiseksi häiriöllisen liikennekanavan yli siirtoa varten
JP5705941B2 (ja) フレーム情報表を用いたフレームレベルのマルチメディア復号
CN101529907B (zh) 减少信道改变时间的装置和方法
CN101803263B (zh) 用于分组交换传输的可伸缩检错和交叉会话定时同步
JP5409032B2 (ja) 送信装置、及び、方法、プログラム
CN101707701B (zh) 多流信息传输系统及其传输方法
CN104333762A (zh) 一种视频解码方法
CN104253996B (zh) 视频数据的发送、接收方法及其装置以及传输系统
CN101257624A (zh) 实现随机访问的方法及解码器
CN104639943A (zh) 一种基于h.264编码标准的通用视频加密方法及系统
KR100744309B1 (ko) Svc 방식이 적용되는 디지털 비디오 스트림의 전송시스템과 그 전송 방법
US10225043B2 (en) Information processing apparatus, information processing method, and program
US7839925B2 (en) Apparatus for receiving packet stream
KR20120005371A (ko) 블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치
TWI471012B (zh) 用於存取單元串流之傳輸技術概念
US9667384B2 (en) Apparatus and method for transmitting and receiving forward error correction packet
JP3927443B2 (ja) 動画像送受信システムおよび動画像送受信方法
US10075196B2 (en) Information processing apparatus, information processing method, and program
WO2013165311A1 (en) Identifying leading pictures in video coding
CN104137455B (zh) 提供流传输服务的方法和装置
US10116415B2 (en) Transmission device, receiving device, transmission method, and receiving method
CN105657448A (zh) 一种编码视频流的转发方法、装置及系统
KR101663769B1 (ko) 실시간 부호화 되는 스케일러블 비디오를 다중 송신그룹으로 보내기 위한 소스 버퍼링을 수행하는 시스템 및 방법
WO2012005544A2 (ko) 블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치
JP7269112B2 (ja) 受信装置及びプログラム

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid