KR20080022071A - 패킷 손실에 대한 강인성을 향상시킬 수 있는 데이터 전송시스템 및 방법 - Google Patents

패킷 손실에 대한 강인성을 향상시킬 수 있는 데이터 전송시스템 및 방법 Download PDF

Info

Publication number
KR20080022071A
KR20080022071A KR1020070090109A KR20070090109A KR20080022071A KR 20080022071 A KR20080022071 A KR 20080022071A KR 1020070090109 A KR1020070090109 A KR 1020070090109A KR 20070090109 A KR20070090109 A KR 20070090109A KR 20080022071 A KR20080022071 A KR 20080022071A
Authority
KR
South Korea
Prior art keywords
data
error correction
encoder
correction code
slices
Prior art date
Application number
KR1020070090109A
Other languages
English (en)
Other versions
KR101428034B1 (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 경희대학교 산학협력단
Publication of KR20080022071A publication Critical patent/KR20080022071A/ko
Application granted granted Critical
Publication of KR101428034B1 publication Critical patent/KR101428034B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

잉여 픽쳐 슬라이스를 이용하여 패킷 손실에 대한 강인성을 향상시킬 수 있는 데이터 전송 시스템과 데이터 전송 방법에 관하여 개시한다. 본 발명의 일 실시예에 따른 데이터 전송 시스템은 동영상 압축 기능을 갖는 사용자 단말일 수 있다. 본 발명에 따른 데이터 전송 방법에서는 소정 크기의 부호화된 데이터, 예컨대 슬라이스 단위의 부호화된 데이터를 그 데이터의 중요도에 따라서 재배열을 한다. 그리고 상기 재배열된 데이터를 이용하여 에러 정정을 위한 잉여 픽쳐 슬라이스인 패러티 슬라이스를 만든다. 그리고 부호화된 데이터 슬라이스와 패러티 슬라이스를 전부 전송하거나 또는 시시각각으로 변하는 채널 상황에 따라서 전송되는 슬라이스의 개수 및/또는 크기를 조절한다. 전송되는 슬라이스의 개수와 크기는 패킷 손실율이나 가용 대역폭과 같은 채널 조건을 고려하여 적응적으로 고려할 수 있다. 본 발명에 의하면, 네트워크의 상황에 따라서 적응적으로 패킷 손실에 대하여 강인성을 향상시킬 수 있고 또한 효율적으로 데이터를 송신측 장치로부터 수신측 장치로 전송할 수가 있다.
Figure P1020070090109
H.264/AVC, SVC, FEC, 잉여 픽쳐, Cyclic FGS, 전송 에러

Description

패킷 손실에 대한 강인성을 향상시킬 수 있는 데이터 전송 시스템 및 방법{Data transmission method for improving video packet loss resilience and system using the data transmission method}
본 발명은 데이터의 전송 시스템 및 방법에 관한 것으로, 보다 구체적으로 전송 채널을 통하여 부호화된 데이터를 전송할 경우에 전송 데이터의 손실에 대하여 강인성을 향상시킬 수 있는 데이터 송수신 장치 및 방법에 관한 것이다.
전송 채널을 통하여 데이터를 전송할 경우에는 주변 환경이나 채널 특성 등으로 인하여 전송 데이터, 예컨대 전송되는 슬라이스나 패킷의 손실이 발생하게 된다. 전송 패킷의 손실 비율은 제반 조건이나 환경에 따라 달라질 수 있다. 그리고 전송 채널의 특성상 가용 대역폭도 시간에 따라 달라질 수 있다. 예컨대, 하나의 단말이 모든 전송 채널을 점유하여 사용할 수도 있지만 다른 단말과 전송 채널을 함께 사용할 수도 있다. 후자의 경우에, 하나의 단말이 사용할 수 있는 채널, 즉 가용 대역폭은 경쟁 단말의 수나 주위 환경 등에 따라서 달라질 수가 있다.
이와 같이 손실이 발생하기 쉽고 또는 가용 대역폭의 변동이 생기는 전송 채널의 특성으로 인하여, 전송 과정 중에 발생된 손실된 전송 패킷을 복구할 수 있는 데이터 전송 시스템 및 방법에 대한 연구가 활발히 진행되고 있다. 예를 들어, JVT(Joint Video Team)의 AVC(Advanced Video Coding)에서의 잉여 픽쳐(Redundant Picture)를 이용하는 방법, IETF(Internet Engineering Task Force) RFC(Request For Comments) 2733에서의 XOR를 기반으로 한 방법, 그리고 스탠포드 대학에서 JVT에 기고한 SLEP(Systematic Lossy Error Protection) 방법 등이 손실된 패킷의 복구와 관련이 있다.
도 1은 SLEP 방법을 채용한 기존의 데이터 전송 시스템(SLEP 전송 시스템)을 구성하는 송신측 장치와 수신측 장치의 구성을 보여 주는 블록도이다.
도 1을 참조하면, SLEP 전송 시스템(100)은 MPEG-2 부호기(101)와 MPEG-2 복호기(102, 103, 104, 105)로 이루어진 기존의 동영상 부호화 및 복호화 시스템(110)에 추가하여 손실된 패킷을 복원하기 위한 와이너-지브 부호기(Wyner-Ziv Encoder, 120)와 와이너-지브 복호기(Wyner-Ziv Decoder, 130)를 더 포함한다. 그리고 상기 SLEP 전송 시스템(100)의 송신측 장치와 수신측 장치는 압축 데이터의 변복조, 전송 패킷의 생성, 및 전송 패킷의 송수신을 위한 다른 구성 요소도 포함하지만 도 1에서는 이에 대한 도시는 생략하였다.
보다 구체적으로, SLEP 전송 시스템(100)의 송신측 장치는 MPEG-2 부호기(101)와 함께 와이너-지브 부호기(120)를 포함한다. 와이너-지브 부호기(120)는 양자화 유닛(Q1, 122), 엔트로피 부호기(Entropy Coding, 124), 및 리드 솔로몬 부호기(RS Encoder, 126)를 포함한다. 그리고 SLEP 전송 시스템(100)의 수신측 장치 는 MPEG-2 복호기(102, 103, 104, 105)와 함께 와이너-지브 복호기(130)를 포함한다. MPEG-2 복호기는 제1 엔트로피 복호기(102), 제1 역양자화 유닛(Q-1, 103), 역변환 유닛(T-1, 104), 및 움직임 보상 유닛(MC, 105) 등과 같은 기존의 MPEG-2 복호기에 포함되는 장치들로 구성된다. 그리고 와이너-지브 복호기(130)는 양자화 유닛(Q1, 131), 엔트로피 부호기(Entropy Coding, 132), 리드-솔로몬 복호기(RS Decoder, 133), 제2 엔트로부 복호기(Entropy Decoding, 134), 및 제2 역양자 유닛(Q1 -1 , 135)을 포함한다.
이러한 SLEP 전송 시스템(100)의 와이너-지브 부호기(120)에서는 패러티 패킷(Parity Packet)을 생성하는데, 이를 위하여 MPEG-2 부호기(101)에서는 부호화된 후에 다시 재구성된 영상 데이터가 와이너-지브 부호기(120)로 입력된다. 그리고 와이너-지브 부호기(120)는 우선 재구성된 영상 데이터를 다시 압축하는데, 이를 위하여 우선 양자화 유닛(122)에서 양자화 과정을 다시 수행한다. 이 때, 양자화 유닛(122)에서는 양자화 인자를 매우 큰 값을 사용함으로써 압축 데이터의 양을 현저히 감소시킨다. 그 결과, 순방향 에러 정정(Forward Error Correction, FEC) 대상 데이터의 양이 감소하기 때문에, FEC 절차의 오버헤드를 줄일 수가 있다.
이러한 재압축을 이용하여 FEC 대상 데이터의 양을 줄이는 SLEP 전송 시스템(100)은 FEC 절차의 오버헤드를 줄임으로써 전송 채널에서의 패킷 손실을 대처할 수가 있다. 그러나 이 방법은 단지 FEC 절차의 오버헤드만을 감소시킬 수 있을 뿐 이며, 채널 상황의 변동에 따른 패킷 손실율의 변동이나 또는 가용 대역폭의 변동에 적응적으로 대처하기가 어렵다. 또한, 재압축시에 사용되는 양자화 인수의 값이 상대적으로 크기 때문에, 이에 따른 압축 손실이 불가피하게 발생할 수가 있다.
그리고 IETF RFC 2733에 따른 방법은 실시간 멀티미디어 데이터를 전송하는데 사용하는 실시간 전송 프로토콜(Real-time Transport Protocol, RTP) 패킷이 손실되었을 경우에, 손실된 패킷을 복구하기 위한 방법의 하나로 제안된 것이다. RTP 패킷의 손실을 복구하기 위한 것이므로, 이 방법은 일반적으로 하나의 멀티미디어 패킷 스트림의 전체에 대해 적용된다. 그런데, 스케일러블 비디오 코딩(Scalable Video Coding, SVC)이나 멀티-뷰 비디오 코딩(Multi-view Video Coding, MVC)과 같은 영상 부호화 알고리즘에서는, 부스트림(Sub-stream) 마다 데이터의 중요도에 차이가 있다. 그 결과, IETF RFC 2733에 따른 방법은 SVC나 MVC와 같은 부호화 알고리즘에는 적용하기 어려운 단점이 있다. 또한, IETF RFC 2733에 따른 방법은 채널 조건을 고려하지 않기 때문에, 네트워크의 상황에 따라서 적응적으로 적용하기도 어렵다.
한편, JVT에 AVC에서의 잉여 픽쳐를 이용하는 방법은 채널 상황이나 또는 전송되는 데이터의 중요도에 상관없이 일정한 비율로 패러티 패킷을 생성하여 전송한다. 따라서 이 방법은 네트워크의 상황이 좋지 않을 경우에는 손상된 패킷이나 슬라이스를 모두 복원하기 어렵다.
그리고 동영상을 압축하여 전송할 경우에는, 부호화된 데이터 중에서 중요한 데이터와 중요하지 않은 데이터를 구분하여 하위 네트워크 계층에 알려주지만, 일 반적으로 이 정보는 네트워크 계층에서 데이터의 중요도를 구분하는데 충분하지 않다. 특히, 네트워크 계층에서는 상위 계층(여기서는 비디오 계층)의 정보를 이해하는 것이 구조적으로 용이하지 않기 때문에, 효율적으로 잉여 데이터를 생성하는데 어려움이 많다.
본 발명이 이루고자 하는 과제는 가용 대역폭이나 패킷 손실율 등과 같이 시간에 따라서 변동되는 네트워크 상태에 따라서 적응적으로 패킷이나 슬라이스의 전송이 이루어지도록 함으로써 패킷 손실의 강인성을 향상시킬 수 있는 데이터 전송 시스템 및 방법을 제공하는 것이다.
본 발명이 이루고자 하는 다른 과제는 복원된 데이터를 재압축할 경우에 초래되는 데이터의 손실을 방지할 수 있을 뿐만 아니라 이와 동시에 FEC 절차의 오버헤더를 감소시킬 수 있는 데이터 전송 시스템 및 방법을 제공하는 것이다.
본 발명이 이루고자 하는 또 다른 과제는 부스트림마다 중요도가 다른 SVC이나 또는 멀티-뷰 비디오 코딩(Multi-view Video Coding, MVC)에도 효율적으로 적용할 수 있는 데이터 전송 시스템 및 방법을 제공하는 것이다.
상기한 과제를 달성하기 위한 본 발명의 실시에에 따른 전송 시스템은 사용자 단말로서, 입력 영상을 압축 및 부호화하여 부호화된 데이터를 출력하기 위한 부호기(Encoder), 상기 부호기로부터 출력되는 부호화된 데이터를 소정 크기 단위 로 상기 데이터의 중요도에 따라서 순차적으로 배열함으로써 재배열 데이터(Reordered Data) 집합을 생성하기 위한 재배열 유닛(Reordering Unit), 및 상기 재배열 유닛에서 출력되는 하나 또는 그 이상의 재배열 데이터 집합을 이용하여 하나 또는 그 이상의 에러 정정 코드(Error Correction Code, ECC) 집합을 생성하기 위한 에러 정정 코드 부호기(ECC Encoder)를 포함한다.
상기 실시예의 일 측면에 의하면, 상기 사용자 단말은 채널 상태에 따라 상기 에러 정정 코드 부호기로부터 출력되는 에러 정정 코드 집합의 개수와 크기 중에서 적어도 하나를 조절하여 전송 채널을 통해 전송되는 에러 정정 코드 집합의 개수 또는 크기를 제어하기 위한 적응기를 더 포함할 수 있다. 이 경우에, 상기 적응기는 와이너-지브 알고리즘을 이용하여 전송될 에러 정정 코드 집합의 개수 또는 크기를 제어할 수 있다.
상기 실시예의 다른 측면에 의하면, 상기 사용자 단말의 재배열 유닛은 순환적 파인 그래뉼 스케일러빌러티(Fine Granular Scalability, FGS) 방식에 따라서 상기 부호화된 데이터를 재배열할 수 있다.
상기한 과제를 달성하기 위한 본 발명의 일 측면에 따른 데이터 전송 방법은 입력 영상을 압축 및 부호화하여 부호화된 데이터를 출력하기 위한 부호화 단계, 상기 부호화된 데이터를 소정 크기 단위로 상기 데이터의 중요도에 따라서 순차적으로 배열함으로써 재배열 데이터(Reordered Data) 집합을 생성하기 위한 재배열 단계, 상기 재배열 유닛에서 출력되는 하나 또는 그 이상의 재배열 데이터 집합을 이용하여 하나 또는 그 이상의 에러 정정 코드(Error Correction Code, ECC) 집합 을 생성하는 순방향 에러 정정(Forward Error Correction, FEC) 단계, 및 상기 부호화된 데이터와 상기 에러 정정 코드 집합의 전부 또는 일부를 전송 채널을 통해 전송하는 전송 단계를 포함한다.
상기 실시예의 일 측면에 의하면, 상기 재배열 단계에서는 순환적 파인 그래뉼 스케일러빌러티(Fine Granular Scalability, FGS) 방식에 따라서 상기 부호화된 데이터를 재배열할 수 있다.
상기 실시예의 다른 측면에 의하면, 상기 전송 단계에서는 상기 전송 채널의 가용 대역폭과 패킷 손실율 중에서 적어도 어느 하나를 고려하여 전송되는 에러 정정 코드 집합의 크기 또는 개수를 조절할 수 있다.
이와 같이, 본 발명의 실시예에 따른 사용자 단말과 데이터 전송 방법은 입력 동영상을 기존의 동영상 압축 알고리즘에 의해 압축한 후에 그리고 패러티 슬라이스를 계산하기 전에, 압축된 소정 크기의 데이터를 그 데이터의 중요도에 따라서 순차적으로 재배열한다. 상기 소정 크기는 슬라이스 단위일 수 있지만, 여기에만 한정되는 것은 아니다. 데이터의 중요도에 따라서 부호화된 데이터를 재배열하는 한 가지 방법은 순환적 파인 그래뉼 스케일러빌러티(Cyclic Fine Granular Scalability, Cyclic FGS) 방법을 이용하는 것이다.
그리고 본 발명의 실시예에서는 패러티 슬라이스의 개수는 충분히 준비하여 전송 채널에서의 패킷 손실율에 따라서 전송할 패러티 슬라이스의 개수를 적응적으로 결정할 수 있다. 예를 들어, 100개의 데이터 슬라이스에 대하여 40개의 패러티 슬라이스를 생성할 수 있는데, 이 경우에 리드 솔로몬 코드를 이용하는 경우에는 [n, k] = [140, 100]으로 표시할 수 있다. 대체적으로, 10%의 손실율일 경우에 패러티 슬라이스의 비율은 20%가 적절한데, 이것은 단지 예시적인 것이다. 즉, 100개 중에서 10개 정도가 손실되는 채널에서는 25개의 패러티 슬라이스를 전송하여 전송되는 전체 슬라이스에서 패러티 슬라이스가 차지하는 비율이 20%가 되도록 한다. 본 발명의 실시예에 따른 데이터 전송 방법에 의하면, 이 경우에 나머지 15개의 패러티 슬라이스는 전송하지 않을 수도 있다. 이와 같이, 본 발명의 실시예에 의하면, 데이터의 중요도에 따라서 데이터가 재배열된 슬라이스에 대하여 패러티 패킷을 계산한다.
그리고 본 발명에서는 생성한 패러티 슬라이스를 모두 전송할 수도 있지만, 전송 채널의 상황에 따라서 전송되는 패러티 슬라이스의 개수 및/또는 크기를 적절하게 조절할 수 있다. 전송되는 패러티 슬라이스의 개수 및/또는 크기는 전송 채널의 패킷 손실율이나 가용 대역폭(가용 비트율)에 따라서 달라질 수 있다. 예를 들어, 전송되는 패러티 슬라이스의 개수 및/또는 크기는 SLEP에서 사용하는 와이너-지브 알고리즘에 따라 결정할 수 있는데, 여기에만 한정되는 것은 아니다.
이러한 본 발명의 실시예에 의하면, 전송되는 패러티 슬라이스의 크기는 가용 비트율과 상관성을 가진다. 그리고 패리터 슬라이스의 개수는 채널의 패킷 손실율과 상관성을 가진다. 따라서 채널의 가용 비트율이 낮아지는 경우에는 패러티 슬라이스 전체를 전송하는 것이 아니라 수직 끊기로 절단한 뒷부분을 제외한 앞부분만을 전송함으로써, 보다 짧아진 패러티 슬라이스만을 전송한다. 그리고 전송 채널의 패킷 손실율에 따라서 수평 끊기를 이용하여 전송하는 패러티 슬라이스의 개수 를 조절한다.
상기한 바와 같이 본 발명에 의하면, 입력되는 동영상을 일반적인 동영상 압축 알고리즘에 의해 압축한 후 보호해야 하는 k개의 슬라이스들에 대해서 각각 데이터의 중요도에 따라 데이터를 재배열을 한다. 그리고 재배열된 슬라이스에 대하여 n-k개의 FEC 슬라이스를 생성한 후에, 네트워크의 상황에 따라서 적응적으로 전송되는 데이터의 양(예컨대, 슬라이스의 크기를 축소하거나 또는 슬라이스의 개수를 줄여서 전송)을 조절한다. 예를 들어, n개의 슬라이스를 모두 전송한다고 가정할 경우에, n-k개 이하의 슬라이스가 손상되면 손상된 슬라이스도 모두 복원이 가능하다.
그리고 본 발명에 의하면, 슬라이스별로 중요도가 높은 데이터부터 앞쪽에 배열하였으므로 FEC 슬라이스도 앞부분이 중요하고, 뒷부분은 덜 중요하다. 따라서 가용 비트율이 적을 때는 뒷부분은 잘라버림으로써 FEC에 의한 비트율 증가를 최소화 할 수 있다. 여기서 네트워크 상황은 가용 비트율과 패킷 손실율로 표현될 수 있다. 대개 유선망에서는 이 두 변수가 반비례하는 관계를 가지지만, 무선망에서는 상관성이 떨어지므로, 두 변수에 대해 독립적으로 적응적으로 적용할 수 있도록 하는 것이 매우 중요한데, 본 발명에 의하면 이러한 적응적인 적용이 가능하다.
이하에서는, 첨부 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세하게 설명한다. 후술하는 실시예는 본 발명의 기술적 사상을 설명하기 위한 예시 적인 것이다. 그리고 이하의 실시예의 설명에서 각각의 구성요소의 명칭은 당업계에서 다른 명칭으로 호칭될 수 있는데, 이들이 기능적 유사성과 동일성이 있다면 비록 다른 명칭을 사용하더라도 본 발명의 실시예와 균등한 구성이라고 볼 수 있다. 본 실시예에 대한 설명 및 도면에서 각각의 구성 요소에 부가된 명칭 및 참조 부호는 단지 설명의 편의를 위하여 기재된 것일 뿐이다.
도 2는 본 발명의 일 실시예에 따른 데이터 전송 시스템의 구성을 보여 주는 블록도이다. 본 발명의 실시예에 따른 전송 시스템(200)은 송신측 장치(210)와 수신측 장치(220)를 포함한다. 송신측 장치(210)는 본 발명의 실시예에 따른 부호화 방법에 따라 부호화하여 전송 채널(230)을 통해 데이터를 전송하기 위한 장치이다. 그리고 수신측 장치(220)는 상기 송신측 장치(210)에서 부호화되어 전송 채널(230)을 통해 전송되는 데이터를 수신하여 본 발명의 실시예에 따른 복호화 방법에 따라 복호화하여 출력하기 위한 장치이다. 상기 송신측 장치(210)와 수신측 장치(220)는 동영상 및/또는 정지 영상의 압축 및 전송 기능을 갖는 동영상 단말기 등과 같은 사용자 장치에 함께 구비되어 있는데, 본 발명의 실시예에서는 설명의 편의를 위하여 분리하여 도시하였다.
도 2를 참조하면, 송신측 장치(210)는 부호기(Encoder, 212), 재배열 유닛(Reordering, 214), ECC 부호기(Error Correction Code Encoder, 216), 및 적응기(Adaptor, 218)를 포함한다. 송신측 장치(210)의 트랜시버(T/R)는 부호기(212)에서 부호화된 데이터(Encoded Data)와 적응기(218)에서 선택된 에러 정정 코드(Error Correction Code) 데이터를 채널(230)을 통해 송신한다. 이하, 이에 대하 여 보다 구체적으로 설명한다.
부호기(212)는 입력 영상, 예컨대 동영상이나 정지 영상을 소정의 부호화 방식에 따라 부호화하기 위한 수단이다. 예를 들어, 부호기(212)는 MPEG-2 부호기, MPEG-4 부호기, H.264/AVC 부호기 등이 될 수 있는데, 여기에만 한정되는 것은 아니다. 그리고 부호기(212)는 입력 영상을 부호화하여 부호화된 데이터(Encoded Data)를 소정의 크기 단위로 재배열 유닛(214)과 트랜시버(T/R)로 출력한다. 상기 소정의 크기는 예컨대 슬라이스 단위일 수 있는데, 여기에만 한정되는 것은 아니다. 부호기(212)가 슬라이스 단위로 부호화된 데이터를 출력하는 경우, 상기 부호기(212)는 슬라이스 부호기(Slice Encoder)이고, 출력되는 데이터는 통상적인 부호화된 블록 패턴(Coded Block Pattern, CBP) 슬라이스일 수 있다. CBP 슬라이스는, 예컨대 래스터 스캔(Raster Scan) 방법으로 배열된 데이터를 포함할 수 있다.
재배열 유닛(214)은 부호기(214)로부터 입력되는 소정 크기의 데이터를 그 중요도에 따라서 재배열하기 위한 수단이다. 재배열 유닛(214)은 소정 크기를 갖는 입력 데이터 중에서 중요도 높은 데이터는 앞쪽에 배열하고 중요도가 낮은 데이터는 뒤쪽에 배열하기 위한 수단일 수 있다. 여기서, 데이터를 재배열하는데 적용하는 구체적인 알고리즘은 특별한 제한이 없으며, 현재까지 공지되어 있거나 또는 추후에 개발될 어떠한 알고리즘도 적용이 가능하다. 예를 들어, 재배열 유닛(214)은 래스터 스캔 방법에 따라서 배열된 슬라이스 단위의 데이터를 순환적 파인 그래뉼러 스케일러빌러티(Cyclic Fine Granular Scalability, Cyclic FGS)의 방식대로 데이터의 순서를 재배열하는 기능을 수행할 수 있다.
도 3은 재배열 유닛(214)에서 사용할 수 있는 방법의 하나로서 MPEG-4 규격에 규정되어 있는 순환적 FGS 방법을 보여 주는 도면이다. JVT의 AVC에서는 현재 FGS 계층에 도 3에 도시된 것과 같은 순환적 재배열 방법을 사용하고 있다. 도 3은 기본의 래스터 스캔 방식에서 수직 순환적으로 순서를 바꾸는 것은 보여 주는 도면이다. 이와 같이, 순환적 재배열을 하면 각 슬라이스 중에서 중요한 데이터부터 앞에서부터 순차적으로 배열하는 것이 가능하다. 이것은 기존에 블록 단위로 단순히 스캔 순서대로 데이터가 추출되었으나, 순환적 FGS를 이용하는 경우에는 각 블록에서 첫 번째로 중요한 데이터를 먼저 뽑아서 배열한 후 순차적으로 그 다음으로 중요한 데이터를 뽑아서 배열하게 된다. 이와 같이 재배열을 하더라도 슬라이스의 크기는 변함이 없다는 것은 자명하다. 도 3에서 EOB는 'End Of Block'을 나타낸다.
ECC 부호기(216)는 재배열 유닛(214)에서 재배열된 다수의 슬라이스 단위 또는 패킷 단위의 데이터를 이용하여 에러 정정 코드 데이터(ECC Data), 예컨대 패러티 슬라이스(Parity Slice)나 또는 패러티 패킷(Parity Packet)을 생성하기 위한 수단이다. 예를 들어, ECC 부호기(216)는 다수의 슬라이스로 구성된 재배열된 슬라이스의 집합에 대하여 순방향 에러 정정(Forward Error Correction, FEC) 슬라이스를 계산하는 기능을 수행할 수 있다.
보다 구체적으로, ECC 부호기(216)는 k개의 재배열 슬라이스를 이용하여 (n-k)개의 CyFEC(Cyclic FEC) 슬라이스를 생성할 수가 있다. 예를 들어, 상기 ECC 부호기(216)가 리드 솔로몬(Reed Solomon) 부호기인 경우에, 전술한 경우는 [n, k]로 표시되는 리드 솔로몬 부호기를 사용할 수 있다. 4개의 재배열 슬라이스에 대하여 2개의 CyFEC 슬라이스를 계산하는 경우에, Reed Solomon [n, k] = [6, 4] 코드를 사용할 수가 있다.
적응기(218)는 전송 채널(230)을 이용하여 수신측 장치(220)로 전송될 데이터의 양을 조절하는 기능을 수행한다. 적응기(218)는 예컨대 ECC 부호기(216)에서 생성된 에러 정정 코드 데이터, 예컨대 패러티 패킷에 대해서만 전송될 데이터를 조절하거나 또는 부호기(212)에서 출력되는 부호화된 데이터를 포함하여 채널(230)을 통해 전송되는 데이터를 조절할 수도 있다. 이와 같이, 전송 데이터의 양을 조절하는 것은 네트워크 상황에 따라서 적응적으로 수행되는 것이 바람직하며, 적응기(218)에서 조절된 ECC 데이터가 트랜시버(T/R)로 입력된다. 여기서, 상기 네트워크 상황은, 예컨대 채널(230)의 가용 비트율(Available Bit Rate) 또는 가용 대역폭(Available Bandwidth) 및/또는 패킷 손실율(Packet Loss Rate) 등을 가리키는 정보일 수 있는데, 여기에만 한정되는 것은 아니다. 가용 비트율이나 패킷 손실율 정보 등은 통상적으로 네트워크단에서 송신측 장치로 보내지지만, 송신측 장치가 직접 채널 정보를 측정하여 구할 수도 있다.
적응기(218)는 네트워크 상황에 따라서 적응적으로, 예컨대 패러티 슬라이스(CyFEC 슬라이스)를 수직 및/또는 수평 방향으로 잘라내는(Truncation) 기능을 수행하는 장치일 수 있다. 도 4는 수직 방향과 수평 방향으로 CyFEC 슬라이스를 잘라내는 과정을 설명하기 위한 도면이다.
수직 방향으로 CyFEC 슬라이스를 잘라내는 것(수직 끊기(Vertical Truncation))은, 예컨대 전송하는 CyFEC의 개수에는 변함이 없지만, CyFEC 슬라이 스 중에서 뒷부분을 잘라내고 앞부분만을 전송하는 것을 말한다. 즉, CyFEC 슬라이스 각각에 대하여, 도 4에 도시된 바와 같은 Vertical Truncation 방향으로, 슬라이스의 뒷부분을 잘라내고 슬라이스의 앞쪽 부분만을 전송하는 것을 말한다. 이러한 경우는 예를 들어, 전송 채널(230)에서 가용 비트율이 낮을 경우에 적용할 수 있다. 본 발명의 실시예에 의하면, 재배열 유닛(214)에서 데이터의 중요도에 따라서 슬라이스를 구성하는 데이터를 앞에서부터 순차적으로 재배열하였으므로, 통상적으로 슬라이스의 뒤쪽에 배치되는 데이터는 중요도가 낮다. 따라서 CyFEC 중에서 뒷부분을 잘라내고 앞부분만을 전송하더라도 수신측 장치에서 손실된 패킷을 복원하는 것은 큰 장애가 없다.
수평 방향으로 CyFEC 슬라이스를 잘라내는 것(수평 끊기(Horizontal Truncation))은, 예컨대 전송하는 CyFEC 슬라이스 각각의 길이는 변함이 없지만, 생성된 CyFEC 슬라이스의 개수를 그 전부가 아닌 일부분만을 전송하는 것을 말한다. 즉, 전체 CyFEC 슬라이스에 대하여, 도 4에 도시된 바와 같은 Horizontal Truncation 방향으로, 아래쪽에 위치하는 슬라이스는 전송하지 않고 위쪽에 있는 슬라이스만을 전송하는 것을 말한다. 이러한 수평 끊기는 전송 채널(230)에서 패킷 손실율이 상대적으로 작을 경우에 적용할 수 있지만, 여기에만 한정되는 것은 아니다.
이와 같이, 적응기(218)에서는 수평 및/또는 수직 방향으로 잘라내서 송신측 장치(220)로 전송될 에러 정정 코드 데이터(CyFEC 슬라이스 또는 패킷)의 양을 네트워크 상황에 따라서 적응적으로 조절한다. 따라서 본 발명의 실시예에 의하면, 네트워크 상황에 따라서 유동적으로 전송 데이터의 양을 조절함으로써, 전송 데이터가 손실되더라도 효율적으로 복원할 수 있을 뿐만 아니라 최악의 경우에도 중요도가 낮은 데이터만 손실되도록 할 수 있다. 그리고 본 발명의 실시예에 의하면, 와이너-지브 부호기와 같은 데이터의 재압축 방식을 이용하는 것이 아니므로 데이터의 재압축으로 인하여 불가피하게 초래되는 데이터의 손실도 방지할 수 있다. 또한, 본 발명의 실시예에 의하면, 채널 환경이 열악한 경우에도 슬라이스나 패킷에서 앞쪽에 위치하는 중요한 데이터에 대한 에러 정정 코드 데이터를 우선적으로 전송할 수 있기 때문에, 전송 에러에 대한 강인성을 높일 수가 있다.
다음으로 수신측 장치(220)에 대하여 설명한다. 수신측 장치(220)는 제1 재배열 유닛(1st Reordering, 222), 에러 정정 코드 복호기(ECC Decoder, 224), 제2 재배열 유닛(2nd Reordering, 226), 및 복호기(Decoder, 228)를 포함한다. 수신측 장치(220)의 트랜시버(T/R)를 통해 수신된 부호화된 데이터는 복호기(228)와 제1 재배열 유닛(222)으로 입력되며, 상기 트랜시버(T/R)를 통해 수신된 에러 정정 코드 데이터는 에러 정정 코드 복호기(224)로 입력된다. 이 경우에, 상기 에러 정정 코드 데이터는 제1 재배열 유닛(222)을 거치거나 또는 곧바로 에러 정정 코드 복호기(224)로 입력될 수 있다. 이와 같이, 수신측 장치(220)는 수신된 에러 정정 코드 데이터를 이용하여 전송 과정 중에 손상된 패킷을 복구하며, 복호기(228)에서 복구된 데이터로부터 영상을 재구성한다. 이하, 이에 대하여 보다 구체적으로 설명한다.
전송 채널(230)을 통해 송신된 데이터가 수신측 장치(220)의 트랜시버로 수신되면, 부호화된 데이터(Encoded Data)는 제1 재배열 유닛(222)으로 입력된다. 이러한 제1 재배열 유닛(222)은 부호화된 데이터를 그 중요도에 따라서 재배열하기 위한 것으로서, 송신측 장치(210)의 재배열 유닛(214)과 그 기능이 동일하므로, 이에 대한 상세한 설명은 생략한다. 이러한 제1 재배열 유닛(222)은 수신된 부호화된 데이터가 중요도에 따라서 재배열되지 않은 경우에만 필요한 경우로서, 만일 수신된 부호화된 데이터가 중요도에 따라서 재배열된 데이터인 경우에는 상기 구성 요소는 생략이 가능하다. 이 경우에, 송신측 장치(210)에서 전송되는 데이터는 부호기(212)에서 부호화된 데이터가 아니라 재배열 유닛(214)에서 재배열된 데이터일 수 있다.
제1 재배열 유닛(222)에서 부호화된 데이터의 재배열이 이루어지고 나면, 에러 정정 코드 복호기(ECC Decoder, 224)는 재배열된 데이터와 수신된 에러 정정 코드 데이터를 이용하여 손실된 패킷 또는 슬라이스를 복구한다. 예를 들어, 수신된 n개의 슬라이스 중에서 손실된 패킷의 수가 (n-k)개 이하이면 FEC 복호화를 통해서 손실된 패킷을 모두 복원하는 것이 가능하다. 이러한 손실된 패킷을 복원하는 과정은 당업계에서 널리 알려져 있으므로, 이에 대한 상세한 설명은 생략한다.
그리고 제2 재배열 유닛(226)은 복구되고 재배열된 부호화된 데이터를 다시 원래의 순서대로 배열한다. 이것은 제1 재배열 유닛(222)에서 진행된 과정의 반대 과정으로서, 상기 제1 재배열 유닛(222)에서 데이터의 중요도에 따라서 부호화된 데이터를 재배열한 경우에, 상기 제2 재배열 유닛(226)은 원래의 순서대로 데이터 를 다시 배열한다. 예를 들어, 제1 재배열 유닛(222)에서 수신된 부호화된 데이터를 순환적 FGS 배열로 바꾼 경우에, 제2 재배열 유닛(226)은 순환적 FGS 배열의 데이터를 원래의 순서인 래스터 스캔 순서에 따른 배열로 바꿀 수 있다. 이 경우에, 각 블록의 끝에 EOB(End OF Block)이 없으면 각 블록의 마지막에 EOB를 더 붙일 수도 있다.
복호기(228)는 입력되는 부호화된 데이터로부터 복원된 영상, 예컨대 부호화된 데이터로부터 동영상이나 정지 영상을 재구성하기 위한 수단이다. 예를 들어, 복호기(228)는 부호기(212)에 대응되는 구성 요소로서, MPEG-2 복호기, MPEG-4 복호기, H.264/AVC 복호기 등이 될 수 있는데, 여기에만 한정되는 것은 아니다.
다음으로, 에러 정정 코드 부호기(216)에서 패러티 패킷(Parity Packet)을 생성하는데 포함되는 데이터 슬라이스 집합의 범위에 대하여 설명한다. 본 발명의 실시예에 의하면, 포함되는 데이터 슬라이스 집합은 세 가지 경우가 있다.
첫 번째는 데이터 슬리이스 집합이 하나의 슬라이스 그룹(Slice Group)에 속하는 슬라이스들로 구성되는 경우이다. 이것을 데이터 슬라이스 집합이 부분 픽쳐(Sub-picture)인 경우라고 하며, 이와 같은 경우에는 재배열 유닛(214), ECC 부호기(216), 및 적응기(218)에서 전송할 패러티 패킷을 생성하는 절차를 수행함에 따른 지연은 없다. 재배열 유닛(214)에서 순환적 FGS 방식에 따라 데이터를 재배열하고, 또한 ECC 부호기(216)에서 FEC을 사용하는 경우에, 상기 전송할 패러티 패킷을 생성하는 절차는 CyFEC 절차라고 볼 수도 있다.
두 번째는 데이터 슬라이스 집합이 하나의 픽쳐에 속하는 슬라이스들로 구성되는 경우이다. 이것을 데이터 슬라이스 집합이 단일 픽쳐(Single Picture)인 경우라고 하며, 이와 같은 경우에도 재배열 유닛(214), ECC 부호기(216), 및 적응기(218)에서 전송할 패러티 패킷을 생성하는 절차를 수행함에 따른 지연은 없다. 그리고 하나의 픽쳐가 하나의 슬라이스 그룹으로 이루어진 경우에는 두 번째 경우는 첫 번째 경우와 같게 된다.
세 번째는 데이터 슬라이스 집합이 복수의 픽쳐에 속하는 슬라이스들로 구성되는 경우이다. 이것을 데이터 슬라이스 집합이 복수 픽쳐(Multi-picture)인 경우라고 하며, 이와 같은 경우에는 ECC 부호기(216)에서 전송할 패러티 패킷을 생성하는 절차를 수행함에 따른 지연이 발생한다. 복수 픽쳐는 연속된 픽쳐일 수도 있고 또한 시간적으로 떨어져 있는 픽쳐일 수도 있다. 예를 들어, 픽쳐의 배열이 IBBPIBBP…의 배열인 경우에, I픽쳐와 P픽쳐의 슬라이스들로 데이터 슬라이스 집합을 구성할 수도 있다.
그리고 복수 픽쳐의 경우에 스케일러블 비디오 코딩(SVC)에서는 같은 계층에 속하는 슬라이스들에 적용할 수 있다. 예를 들어, 기본 계층(Base Layer)이 QCIF의 크기를 갖고, 향상 계층(Enhancement Layer)이 CIF의 크기를 갖는 공간적 계층 부호화라고 하자. 이와 같은 경우에, 상기 데이터 슬라이스 집합은 기본 계층의 슬라이스들끼리만 묶어서 구성할 수도 있다. 이 경우에, 패러티 패킷을 생성하는 과정, 예컨대 CyFEC는 기본 계층의 슬라이스끼리 묶어서 적용된다. 그리고 이 경우에 서로 연합되는 프레임의 수에 따라서 지연이 발생한다. 다른 예에서는, 기본 계층의 시간적 해상도가 7.5Hz이고, 향상 계층의 시간적 해상도는 15Hz 또는 30Hz인 시간적 계층 부호화라고 가정하자. 이 경우에는 7.5Hz의 시간적 해상도를 갖는 계층의 슬라이스끼리만 묶어서 CyFEC를 적용할 수 있다. 그리고 이와 같은 경우에는 연합되는 프레임의 수에 따라서 지연이 발생한다.
본 발명의 실시예에 따른 부호화 방법의 적용 여부를 지시하는 시그널링, 예컨대 CyFEC 시그널링은 여러 가지 크기의 데이터 단위로 수행할 수 있다. 예를 들어, CyFEC 시그널링은 시퀀스 단위, 픽쳐 그룹(Group Of Picture, GOP) 단위, 또는 슬라이스 그룹 단위로 할 수 있다. 그리고 상기 CyFEC 시그널링과 관련된 정보, 예컨대 본 발명의 실시예에 따른 부호화 방법의 적용 여부를 지시하는 정보는 상기 CyFEC 시그널링의 단위에 따라서 적절하게 전송 데이터의 헤더에 포함시킬 수 있다. 예를 들어, H.264/AVC나 스케일러블 비디오 코딩(SVC), 및 이와 유사한 동영상 표준에서는 시퀀스 파라미터 세트(Sequence Parameter Set, SPS) 또는 픽쳐 파라미터 세트(Picture Parameter Set, PPS)에 CyFEC를 적용함을 표시할 수 있다. 그리고 사용하는 FEC 코덱의 종류, n과 k값도 상기 CyFEC 시그널링에 포함되어야 한다. 리드 솔로몬 코드를 사용하는 경우에, n은 255이하이어야 하며, k는 253이하이어야 한다.
에러 정정 코드 부호기(216)에서 생성되고 또한 적응기(218)에서 수직 및/또는 수평 방향으로 조절된 패러티 슬라이스 또는 패러티 패킷은 부호기(212)에서 출 력되어 트랜시버(T/R)를 통해 전송되는 부호화된 데이터와 별도로 전송되거나 또는 함께 연합 패킷(Associated Packet)을 형성한 후에 전송할 수도 있다. 별도로 전송하는 경우에는 그 포맷도 부호화된 데이터와는 다르게 하여 전송할 수가 있다. 별도의 포맷으로 전송하는 방법 중에서는 보조 향상 정보(Supplementary Enhancement Information, SEI) 메시지를 이용하는 방법이 있다. 기존의 부호화된 데이터와 함께 연합 패킷을 구성하여 전송하는 경우에는 네트워크 적응 계층(Network Adaptation Layer, NAl) 헤더는 부호화된 데이터의 NAL 유닛과 같은 값을 사용하고, 슬라이스 헤더에서 FEC 슬라이스임을 표시할 수 있다.
연합 슬라이스를 생성하여 전송하는 경우에 수신측 장치(220)에서 수신된 일련의 연합 슬라이스들을 순서대로 나열할 수 있어야 한다. 즉, 수신측 장치(220)에서 해당 슬라이스가 연합 슬라이스의 몇 번째 슬라이스에 해당되는지를 알 수 있어야 하며, 또한 손실된 슬라이스가 몇 번째 슬라이스인가 하는 것도 알 수 있어야 한다. 예를 들어, 6개의 부호화된 데이터 슬라이스와 4개의 패러티 슬라이스가 전송되는 경우에, 수신측 장치(220)에서는 수신된 슬라이스가 0 내지 9번 슬라이스 중에서 몇 번째 슬라이스인지를 알 수 있어야 한다. 그리고 전송 과정에서 슬라이스에서 손실이 발생한 경우에, 손실이 발생한 슬라이스 번호를 수신측 장치(220)가 알 수 있어야 한다.
송신측 장치(210)가 이러한 슬라이스의 순서를 수신측 장치(220)에게 알리는 방법에 특별한 제한은 없다. 예를 들어, 슬라이스의 순서는 H.264/AVC 및 SVC에서 사용하는 신택스를 이용하면 알 수 있으며, 이 경우에 패러티 슬라이스에 대해서도 같은 방식을 적용할 수 있다. 슬라이스의 순서를 알려주는 다른 방법은 RTP 패킷 헤더의 시퀀스 번호를 이용하는 것이다.
전술한 바와 같이, 본 발명의 실시예에 의하면, 에러 정정 코드 부호기(216)에서 생성된 패킷 또는 슬라이스의 일부만을 전송함으로써 전송 비트율을 제어하는 것도 가능하다. 즉, 에러 정정 코드 부호기(216)에서 패러티 슬라이스를 생성한 후에 부호화된 데이터의 슬라이스는 전송하지 않고 패러티 슬라이스만을 수평 끊기를 하여 전송함으로써, 전송 비트율을 조절할 수 있다. 이 경우에 패러티 슬라이스만을 가지고 원래의 부호화된 데이터 슬라이스를 모두 복원할 수 있다. 또한, 실시예에 따라서는 패러티 슬라이스 각각의 전체를 전송하지 않고 수직 끊기를 이용하여 그 일부만을 전송할 수도 있다.
도 5는 H.264/AVC의 NALU(NAL Unit)의 페이로드(Payload) 포맷인 RFC 3984에서 정의하는 4가지 종류의 RTP 패킷 종류를 보여 주는 도면이다. 도 5에서 좌상쪽에 위치하는 RTP 패킷은 단일 NAL 유닛 패킷(Single NAL Unit Packet)인 경우이고, 우상쪽은 STAP(Single Time Aggregation Packet)인 경우이다. 그리고 좌하쪽은 위치하는 RTP 패킷은 MTAP(Multi Time Aggregation Packet)인 경우이고, 우하쪽은 FU(Fragmentation Unit)인 경우이다. 전술한 본 발명의 실시예를 적용할 수 있는 경우를 상기한 네 가지의 RTP 패킷 종류와 관련하여 살펴볼 필요가 있다.
본 발명의 실시예는 단일 NAL 유닛 패킷이나 FU인 경우에는 쉽게 적용이 가 능하다. 반면, STAP인 경우나 또는 MTAP인 경우에는 여러 개의 NAL 유닛이 하나의 패킷으로 전송되는 경우이기 때문에 적용하기가 쉽지가 않을 것으로 예상된다. 즉, 본 발명의 실시예가 가장 많이 사용될 수 있을 것으로 예상되는 경우는 단일 NAL 유닛 패킷이다. 그리고 FU는 손실이 많은 채널에서 사용하면 효과적이며, 또한 하나의 슬라이스가 매우 큰 크기가 되는 고화질 서비스에서 많이 사용될 수 있을 것이다.
미래의 네트워크에서는 유선과 무선, 통신망과 방송망 등이 혼합(Heterogeneous)된 형태가 된다. 따라서 채널과 단말기의 특성이 다양해지고 이에 대하여 적응적인 서비스가 가능하여야 한다. 본 발명을 이용하면 매우 가변적인 네트워크 상황에서 가용 비트율이 저하되고 손실율이 매우 증가하더라도 끊김이 없는 멀티미디어 서비스가 가능해진다. 특히, 앞으로 4G 무선망이 도입되면 무선망을 통한 멀티미디어 서비스가 더욱 활성화될 것이며, 본 발명의 필요성이 더욱 증대할 것이다. 본 발명은 H.264/AVC와 SVC, MVC 이외에 블록 단위로 압축하는 모든 비디오 코덱(MPEG-2 비디오, MPEG-4 비디오, H.263 등)에 적용할 수 있다.
도 1은 SLEP 전송 시스템을 구성하는 송신측 장치와 수신측 장치의 구성을 보여 주는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 데이터 전송 시스템의 구성을 보여 주는 블록도이다.
도 3은 순환적 FGS 방법을 설명하기 위한 도면이다.
도 4는 수직 방향과 수평 방향으로 패러티 슬라이스를 잘라내는 과정을 설명하기 위한 도면이다.
도 5는 H.264/AVC의 NALU(NAL Unit)의 페이로드(Payload) 포맷인 RFC 3984에서 정의하는 4가지 종류의 RTP 패킷 종류를 보여 주는 도면이다.

Claims (7)

  1. 입력 영상을 압축 및 부호화하여 부호화된 데이터를 출력하기 위한 부호기(Encoder);
    상기 부호기로부터 출력되는 부호화된 데이터를 소정 크기 단위로 상기 데이터의 중요도에 따라서 순차적으로 배열함으로써 재배열 데이터(Reordered Data) 집합을 생성하기 위한 재배열 유닛(Reordering Unit); 및
    상기 재배열 유닛에서 출력되는 하나 또는 그 이상의 재배열 데이터 집합을 이용하여 하나 또는 그 이상의 에러 정정 코드(Error Correction Code, ECC) 집합을 생성하기 위한 에러 정정 코드 부호기(ECC Encoder)를 포함하는 사용자 단말.
  2. 제1항에 있어서, 상기 에러 정정 코드 부호기로부터 출력되는 에러 정정 코드 집합의 개수와 크기 중에서 적어도 하나를 조절하여 전송 채널을 통해 전송되는 에러 정정 코드 집합의 개수 또는 크기를 제어하기 위한 적응기를 더 포함하는 것을 특징으로 하는 사용자 단말.
  3. 제2항에 있어서, 상기 적응기는 채널의 상태에 따라 전송될 에러 정정 코드 집합의 개수 또는 크기를 제어하는 것을 특징으로 하는 사용자 단말.
  4. 제1항에 있어서, 상기 재배열 유닛은 순환적 파인 그래뉼 스케일러빌러 티(Fine Granular Scalability, FGS) 방식에 따라서 상기 부호화된 데이터를 재배열하는 것을 특징으로 하는 사용자 단말.
  5. 입력 영상을 압축 및 부호화하여 부호화된 데이터를 출력하기 위한 부호화 단계;
    상기 부호화된 데이터를 소정 크기 단위로 상기 데이터의 중요도에 따라서 순차적으로 배열함으로써 재배열 데이터(Reordered Data) 집합을 생성하기 위한 재배열 단계;
    상기 재배열 유닛에서 출력되는 하나 또는 그 이상의 재배열 데이터 집합을 이용하여 하나 또는 그 이상의 에러 정정 코드(Error Correction Code, ECC) 집합을 생성하는 순방향 에러 정정(Forward Error Correction, FEC) 단계; 및
    상기 부호화된 데이터와 상기 에러 정정 코드 집합의 전부 또는 일부를 전송 채널을 통해 전송하는 전송 단계를 포함하는 데이터 전송 방법.
  6. 제5항에 있어서, 상기 재배열 단계에서는 순환적 파인 그래뉼 스케일러빌러티(Fine Granular Scalability, FGS) 방식에 따라서 상기 부호화된 데이터를 재배열하는 것을 특징으로 하는 데이터 전송 방법.
  7. 제5항에 있어서, 상기 전송 단계에서는 상기 전송 채널의 가용 대역폭과 패킷 손실율 중에서 적어도 어느 하나를 고려하여 전송되는 에러 정정 코드 집합의 크기 또는 개수를 조절하는 것을 특징으로 하는 데이터 전송 방법.
KR1020070090109A 2006-09-05 2007-09-05 패킷 손실에 대한 강인성을 향상시킬 수 있는 데이터 전송시스템 및 방법 KR101428034B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20060085108 2006-09-05
KR1020060085108 2006-09-05

Publications (2)

Publication Number Publication Date
KR20080022071A true KR20080022071A (ko) 2008-03-10
KR101428034B1 KR101428034B1 (ko) 2014-09-26

Family

ID=39396191

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070090109A KR101428034B1 (ko) 2006-09-05 2007-09-05 패킷 손실에 대한 강인성을 향상시킬 수 있는 데이터 전송시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101428034B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101107320B1 (ko) * 2008-12-02 2012-01-20 한국전자통신연구원 분산 영상 코딩 장치
KR101388591B1 (ko) * 2012-11-07 2014-04-24 한라대학교산학협력단 순방향 오류정정 패킷 할당방법 및 장치, 및 이를 채용한 서버 및 클라이언트 장치
US8788902B2 (en) 2009-07-03 2014-07-22 Zte Corporation Method and device for bandwidth self-adapting data ranking protection
WO2022220394A1 (ko) * 2021-04-12 2022-10-20 삼성전자 주식회사 전송 데이터 손실 복구 방법 및 그 전자 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021054612A1 (ko) 2019-09-19 2021-03-25 삼성전자주식회사 전자 장치 및 이의 제어 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100239501B1 (ko) * 1996-12-19 2000-01-15 구자홍 에러정정 부호화장치 및 그 방법
EP1461887A1 (en) * 2001-12-28 2004-09-29 Koninklijke Philips Electronics N.V. Unequal error protection using forward error correction based on reed-solomon codes
KR100631743B1 (ko) * 2004-11-26 2006-10-11 삼성전자주식회사 스케일러블 비트스트림의 효율적 전송 방법 및 장치
KR20070068742A (ko) * 2005-12-27 2007-07-02 경희대학교 산학협력단 패러티 계층을 포함하는 계층부호화/복호화 방식을사용하는 동영상 부호화/복호화 방법 및 그에 사용되는단말기

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101107320B1 (ko) * 2008-12-02 2012-01-20 한국전자통신연구원 분산 영상 코딩 장치
US8788902B2 (en) 2009-07-03 2014-07-22 Zte Corporation Method and device for bandwidth self-adapting data ranking protection
KR101388591B1 (ko) * 2012-11-07 2014-04-24 한라대학교산학협력단 순방향 오류정정 패킷 할당방법 및 장치, 및 이를 채용한 서버 및 클라이언트 장치
WO2022220394A1 (ko) * 2021-04-12 2022-10-20 삼성전자 주식회사 전송 데이터 손실 복구 방법 및 그 전자 장치

Also Published As

Publication number Publication date
KR101428034B1 (ko) 2014-09-26

Similar Documents

Publication Publication Date Title
KR100855643B1 (ko) 비디오 부호화
US7693220B2 (en) Transmission of video information
JP5069006B2 (ja) エンコーダ及びデコーダにおけるバッファのサイズ再設定
EP0996292B1 (en) Method and apparatus for receiving MPEG video over the internet and decoding thereof
JP5341629B2 (ja) ピクチャ復号化方法
KR100960282B1 (ko) 비디오 부호화
US8275051B2 (en) Feedback based scalable video coding
JP2004507942A5 (ko)
KR20050122281A (ko) 픽처 코딩 방법
JP2009540629A (ja) スケーラブルビデオ通信でエラー耐性、ランダムアクセス、およびレート制御を提供するシステムおよび方法
KR101428034B1 (ko) 패킷 손실에 대한 강인성을 향상시킬 수 있는 데이터 전송시스템 및 방법
Cote et al. Error resilience coding
Stockhammer et al. Video coding and transport layer techniques for H. 264/AVC-based transmission over packet-lossy networks
KR20080079313A (ko) 콘텐츠 배신 및 수신 장치, 콘텐츠 송수신 시스템, 콘텐츠배신 및 수신 방법, 콘텐츠 배신 및 수신용 프로그램을수록한 컴퓨터 판독가능 기록매체
EP1719343A1 (en) Transmission of video information
Tian et al. Improved H. 264/AVC video broadcast/multicast
Nguyen et al. Adaptive error protection for Scalable Video Coding extension of H. 264/AVC
KR20070068742A (ko) 패러티 계층을 포함하는 계층부호화/복호화 방식을사용하는 동영상 부호화/복호화 방법 및 그에 사용되는단말기
Adikari Stereoscopic video coding for mobile applications
He et al. Robust video transmission over lossy packet networks using block-based fine granularity scalable coding

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
FPAY Annual fee payment

Payment date: 20170627

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190625

Year of fee payment: 6