KR101075328B1 - 동영상의 복호화 방법 및 장치 - Google Patents

동영상의 복호화 방법 및 장치 Download PDF

Info

Publication number
KR101075328B1
KR101075328B1 KR1020090077252A KR20090077252A KR101075328B1 KR 101075328 B1 KR101075328 B1 KR 101075328B1 KR 1020090077252 A KR1020090077252 A KR 1020090077252A KR 20090077252 A KR20090077252 A KR 20090077252A KR 101075328 B1 KR101075328 B1 KR 101075328B1
Authority
KR
South Korea
Prior art keywords
auxiliary information
information
decoded
image frame
final
Prior art date
Application number
KR1020090077252A
Other languages
English (en)
Other versions
KR20100023764A (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 KR20100023764A publication Critical patent/KR20100023764A/ko
Application granted granted Critical
Publication of KR101075328B1 publication Critical patent/KR101075328B1/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • 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/63Joint error correction and other techniques
    • H03M13/6312Error control coding in combination with data compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명의 일 측면에 따른 동영상의 복호화 방법은 원 영상(original image)데이터에 대한 일부 정보를 수신하는 단계; 상기 원 영상 데이터를 예측하여 복수의 보조 정보를 생성하는 단계; 상기 복수의 보조 정보 각각에 상기 일부 정보를 적용하여 최종 보조 정보를 생성하는 단계; 및 상기 일부 정보 및 상기 최종 보조 정보를 이용하여 상기 원 영상 데이터를 복호하는 단계를 포함한다. 디코더에서 원 영상 데이터를 복호화하는 경우, 디코더에서 생성된 복수의 보조 정보 중에서 가장 원 영상 데이터와의 에러가 적은 데이터를 선택할 수 있으므로 복호된 영상의 품질을 높일 수 있다. 원 영상을 복호화한 데이터의 정확성을 확인하기 위한 정보를 따로 전송하지 않기 때문에 분산 동영상 코딩의 압축 성능을 개선할 수 있다.

Description

동영상의 복호화 방법 및 장치{DECODING METHOD AND APPRATUS FOR VIDEO}
본 발명은 동영상의 복호화에 관한 것으로, 보다 구체적으로 다수의 보조 정보를 이용하는 분산 동영상 코딩의 복호화 방법 및 이를 이용한 장치에 관한 것이다.
휴대용 디지털 카메라, 이동식 무선 감시 카메라, 캡슐형 내시경 등 최근 부각되고 있는 다양한 응용 기기들에 요구되는 공통적인 특성은 인코더가 단순하여야 한다는 것이다. 따라서, 인코더에서 대부분의 복잡한 연산을 수행하는 기존의 동영상 압축 기술 예를 들어, MPEG, H.264와 같은 기술이 이러한 응용 기기들에 적용되기에는 무리가 있다.
분산 동영상 코딩은 동영상의 부호화 시 복잡도의 대부분을 차지하는 움직임 예측/보상 과정을 부호기(encoder)가 아닌 복호기(decoder)에서 수행하는 동영상 부호화 기술이다. 즉, 분산 동영상 코딩은 계산량을 가장 많이 필요로 하는 움직임 보상 과정을 복호기측에서 수행하는 시스템 구현을 가능하게 하여 상술한 응용기기들의 실현을 앞당길 수 있는 토대를 마련하였다.
분산 동영상 코딩의 이론적 배경은 1970년대 Slepian과 Wolf의 정보 이론 경 계(bound) 개념(J. D. Slepian and J. K. Wolf, "Noiseless coding of correlated information sources," IEEE Transactions on information Theory, vol. IT-19, pp. 471-480, July 1973.참조)과 Wyner와 Ziv의 정보 이론에 바탕을 두고 있다.
Slepian/Wolf는 두 개 이상의 통계적 상관성을 가진 랜덤 시퀀스(random sequence)들을 복호기측에서 통계적 의존성을 활용하여 복호화할 수 있다는 것을 Shannon의 코딩이론과 관련하여 설명하였다.
도 1은 BER(Bit Error Rate)에 따른 패리티 전송률을 나타낸다.
도 1에서 수평방향 축은 BER(Bit Error Rate)을 나타내고, 수직방향 축은 패리티(parity) 전송률을 나타낸다. 도 1에서 X와 Y는 통계적 상관성을 가지는 임의의 시퀀스(sequence)이고(이하 같다), '펑쳐링 간격(puncturing period) 그래프' 위에 표시된 숫자는 패러티 비트의 펑쳐링 간격을 표시하는 것으로 예컨대, 2는 2비트마다 한 비트씩 패리티 비트를 전송하는 것을 나타낸다. Y가 X와 비슷할수록 엔트로피 H(X|Y)는 작아진다. 즉, Y가 X와 비슷할수록 보다 적은 비트로 X를 전송할 수 있게 된다. 엔트로피 H(X|Y)는 이상적인 패리티 전송률(Ideal parity rate)로 볼 수 있다.
도 2는 BER에 대한 이상적인 패리티 전송률과 실제 패리티 전송률을 나타낸다. 정보이론에 따르면 이상적인 패리티 전송률은 다음 수학식 1과 같이 표시할 수 있다.
Figure 112009051031801-pat00001
수학식 1에서 p는 X에 대한 Y의 BER(비트 에러율)이다.
도 2를 참조하면, BER이 5%(펑쳐링 간격 6) 또는 10%(펑쳐링 간격 4)에서 이상적인 패리티 전송률(Ideal Parity Rate H(X|Y))과 실제 패리티 전송률(Real Parity Rate R)이 근접하는 것을 알 수 있다.
무손실(lossless) 압축을 지향하는 상술한 이론들을 양자화를 통한 손실(lossy) 압축에 적용한 Wyner-Ziv 코딩 방식[A. D. Wyner, "Recent Results in the Shannon Theory," IEEE, Information Theory, vol. 20, no. 1, pp. 2-10, Jan. 1974.6. 참조]이 등장하면서 동영상 압축 코더(coder)로서의 분산 코딩인 분산 동영상 코딩의 이론적 배경을 마련하였다. 종래의 코덱에서는 동영상 압축 시 엔트로피 코더(entrophy coder)를 사용하는 반면 분산 동영상 코딩은 채널 코드를 사용한다(Y. Zhao, J. Garcia-Frias, "Turbo compression/joint source-channel coding of correlated binary sources with hidden Markov correlation," EURASIP Signal Processing Journal, Elsevier, vol. 86, N. 11, pp 3115-3122, Nov. 2006. 참조)
분산 동영상 코딩은 상술한 이론을 동영상 코딩에 적용한 것이다. 두 개의 시퀀스 X, Y에 대해, X를 압축하려는 원 영상에 대한 데이터, Y를 X를 압축하는데 참조하는 데이터라고 하면, 분산 동영상 코딩에서 일반적으로 이러한 Y를 보조 정보(Side Information, SI)라고 칭하며 Y는 복호기에서 움직임 예측 및 보상과정을 거쳐 만들어질 수 있다. 보조 정보의 정확성(즉, 원 영상 프레임과의 상관성의 정도)은 분산 동영상 코딩의 압축 성능을 좌우한다.
분산 동영상 코딩의 복호화에서는 원 영상에 대한 데이터와 보조 정보가 유사할수록 압축률을 높일 수 있다. 그러나, 복호기에서는 원 영상에 대한 데이터를 가지고 있지 않기 때문에 유사한 정도를 정확히 알 수 없는 문제가 있다.
분산 동영상 코딩의 복호화에 있어 보조정보에서 원 영상과 가장 유사한 데이터를 선택할 수 있는 방법 및 장치를 제공한다.
본 발명의 일 측면에 따른 동영상의 복호화 방법은 원 영상(original image)데이터에 대한 일부 정보를 수신하는 단계; 상기 원 영상 데이터를 예측하여 복수의 보조 정보를 생성하는 단계; 상기 복수의 보조 정보 각각에 상기 일부 정보를 적용하여 최종 보조 정보를 생성하는 단계; 및 상기 일부 정보 및 상기 최종 보조 정보를 이용하여 상기 원 영상 데이터를 복호하는 단계를 포함한다.
본 발명의 다른 측면에 따른 디코더는 원 영상 데이터를 예측하여 복수의 보조 정보를 생성하는 보조 정보 생성기; 외부로부터 상기 원 영상(original image)데이터에 대한 일부 정보를 수신하여, 상기 복수의 보조 정보 각각에 터보 디코딩하여 복호된 보조 정보를 생성하는 제 1 터보 디코더; 상기 복호된 보조 정보를 입력받아 토글 횟수를 기준으로 최종 보조 정보를 생성하는 비트 선택기(bit selector); 및 상기 원 영상 데이터에 대한 일부 정보 및 상기 최종 보조 정보를 이용하여 상기 원 영상 데이터를 복원하는 제 2 터보 디코더를 포함한다.
분산 동영상 코딩의 디코더에서 원 영상 데이터를 복호화하는 경우, 디코더에서 생성된 복수의 보조 정보 중에서 가장 원 영상 데이터와의 에러가 적은 데이 터를 선택할 수 있으므로 같은 양의 전송 정보를 가지고 복호된 영상의 품질을 높일 수 있다.
원 영상을 복호화한 데이터의 정확성을 확인하기 위한 정보를 따로 전송하지 않기 때문에 분산 동영상 코딩의 압축 성능을 개선할 수 있다.
본 발명에 따른 동영상의 복호화 방법 및 장치는 분산 동영상 코딩(Distirbuted Video Coding, DVC)에서 동영상의 복호화에 사용될 수 있다. 이하에서 주로 DVC를 위주로 설명하지만 이는 제한이 아니다.
도 3은 본 발명의 일 실시예에 따른 분산 동영상 코딩의 인코더/디코더와 종래의 인트라 프레임 인코더/디코더가 결합된 구조를 나타내는 블록도이다.
도 3을 참조하면, X는 압축하려는 영상 프레임에 대한 데이터(즉, 원 영상에 대한 데이터)일 수 있는데 예를 들어 Wyner-Ziv 프레임(WZ 프레임)에 대한 데이터일 수 있다. 또는 X는 원 영상이 다수의 블록을 포함하는 경우 각 블록에 대하여 소정의 순서로 DCT(Discrete Cosine Transform)을 수행하여 그 DCT 계수를 비트 플레인(plain) 별로 비트열을 만든 것일 수도 있다. 그러나 이는 제한이 아니며 비트열을 생성하는 방법은 제한이 없다.
X는 DVC 인코더(100)로 입력되고, DVC 인코더(100)는 패리티 전송율 R을 가지도록 펑쳐링하여 X에 대한 패리티 비트열 P를 전송한다. 패리티 비트열 P는 X에 대한 일부 정보로 해석할 수 있다.
K는 동영상을 구성하는 다수의 프레임 중에서 선택된 인트라 프레임(intra frame, 이를 키(key) 프레임이라 한다)에 대한 데이터일 수 있다. K는 인트라 프레임 인코더(300)로 인코딩되어 인트라 프레임 디코더(400)로 전달된다. 여기서, 인트라 프레임 인코더(300) 및 인트라 프레임 디코더(400)는 종래의 인코더/디코더라도 무방하다.
인트라 프레임 디코더(400)에 의해 디코딩된 K'는 DVC 디코더(200)로 입력된다. DVC 디코더(200)는 K'를 이용하여 다수의 보조 정보(Side Information)을 생성할 수 있다.
DVC 디코더(200)는 패리티 비트열 P와 복수의 보조 정보들을 터보 디코딩하여 복호된 보조 정보를 생성한다. 이 때, 터보 디코딩 과정에서 발생하는 토글 횟수와 후보 프레임에 대한 정보를 각각 저장한다. 그리고, 복호된 보조 정보 중에서 선택된 최종 보조 정보와 패리티 비트열을 터보 디코딩하여 복호된 원 영상 데이터 X'를 생성한다.
도 4는 DVC 디코더를 나타낸 블록도이다. 도 5는 분산 동영상 코딩의 복호화 방법을 나타낸 순서도이다.
도 4 및 도 5를 참조하면, 전송 정보 X(예컨대, 원 영상에 대한 DCT 계수를 비트 플레인 별로 만든 비트열)는 DVC 인코더(100, 예를 들어, WZ 인코더)를 통해서 패리티 전송률 R에 맞는 패리티 비트열(P)이 생성되어 전송된다. DVC 디코더(200)는 이러한 패리티 비트열을 수신한다(S100). DVC 디코더(200)는 보조 정보 생성기(210, Side Information generator), 제 1 터보 디코더(220, Turbo decoder 1), 비트 선택기(230, Bit selector), 제 2 터보 디코더(240, Turbo decoder 2)를 포함할 수 있는데, 제 1 터보 디코더(220)가 패리티 비트열을 수신한다.
보조 정보 생성기(210)는 복수의 보조 정보를 생성한다(S200). 복수의 보조 정보는 서로 다른 방법으로 만들어진 것일 수 있다. 예를 들면, 선형적 움직임 보간법, 객체 기반 분리법, 다중 프레임 예측 등 다양한 방법이 사용될 수 있다. 보조 정보를 생성하는 방법에는 제한이 없다.
보조 정보 생성기(210)는 인트라 프레임 디코더로부터 입력되는 K' 또는/및 메모리(미도시)에 저장된 프레임을 이용하여 복수의 후보 프레임을 생성하고, 각 후보 프레임에 대하여 DVC 인코더(100)에서와 같은 방식으로 비트열을 형성하여 복수의 보조 정보를 생성할 수 있다(도 4에서 복수의 보조 정보를 Y1, Y2, Y3, Y4로 표시한다). 보조 정보들은 예를 들어, K' 또는/및메모리에 저장된 프레임을 이용하여 생성된 후보 영상 프레임의 DCT 계수를 비트 평면(plain) 별로 만든 비트열(bitstream)일 수 있다. 생성된 복수의 보조 정보는 제 1 터보 디코더(220)로 제공된다.
복수의 보조 정보에 원 영상에 대한 일부 정보 예를 들어 패리티 비트열(P)을 적용하여 최종 보조 정보를 생성한다(S300). 먼저, 제 1 터보 디코더(220)는 복수의 보조 정보 Y1, Y2, Y3, Y4 각각과 패리티 비트열을 터보 디코딩한다. 예를 들어, 제 1 터보 디코더(220)는 보조 정보 Y1과 패리티 비트열(P)을 터보 디코딩할 수 있는데, 이 경우 보조 정보 Y1에 원래의 패리티 비트열과 인터리빙된 패리티 비트열로 번갈아 가면서 복호화를 반복한다. 반복(iteration)과정이 더 많이 수행됨에 따 라 복호화된 데이터는 원래의 정보로 디코딩될 확률이 높아지지만 이 과정에서 복호화된 데이터가 여러 번 바뀔 수 있다. 제 1 터보 디코더(220)는 이러한 과정을 보조 정보 Y2, Y3, Y4에 대해서도 마찬가지로 수행하며, 터보 디코딩 과정에서 발생하는 토글 횟수와 후보 프레임에 대한 정보를 각각 저장한다.
제 1 터보 디코더(220)의 터보 디코딩 과정에서 예를 들어 Y1의 100개 데이터 중 10번째 데이터(1이라고 가정)와 20번째 데이터(0이라고 가정)에서 에러를 검출하여 바른 데이터 값(10번째 데이터를 1->0으로, 20번째 데이터를 0->1)으로 고쳤으나 두 번째 터보 디코딩 과정에서 그 두 데이터가 다시 에러(10번째 데이터가 0->1, 20번째 데이터가 1>0)로 바뀌어 버리는 경우가 발생할 수 있다. 이와 같이 터보 디코딩의 반복 과정에서 데이터 값이 여러 번 변하게 되는 현상을 '토글(toggle)'이라고 정의한다. 보조 정보에서 토글이 생기는 부분은 데이터가 계속하여 바뀌는 부분이기에 바뀌지 않는 부분보다 신뢰성이 떨어진다고 할 수 있다. 따라서, 보조 정보 중에서 토글이 발생하는 부분은 원래의 데이터에서 채널의 영향으로 에러가 발생할 확률이 높은 부분이라고 볼 수 있다.
도 4에서 터보 디코딩 과정에서 발생하는 보조 정보들의 비트별 토글 횟수를 T1, T2, T3, T4 로 표시한다. 또한, 패리티 비트열(P)과 복수의 보조 정보들을 각각 터보 디코딩한 결과 즉, 복호된 보조 정보를 X'1, X'2, X'3, X'4로 표시하고 있다. X'1, X'2, X'3, X'4는 경우에 따라 비트를 나타낼 수도 있고, 비트열의 일부를 나타 낼 수도 있다.
제 1 터보 디코더(220)는 상기 복호된 보조 정보 X'1, X'2, X'3, X'4와 토글 횟수 T1, T2, T3, T4 를 비트 선택기(230)로 제공한다. 비트 선택기(230)는 토글(toggle) 횟수를 기준으로 최종 보조 정보(Y)를 생성한다. 최종 보조 정보(Y)는 X'1, X'2, X'3, X'4가 각각 비트를 나타내는 경우, 최소의 토글 횟수를 가지는 비트를 선택하는 방법으로 생성될 수 있다. 만약 X'1, X'2, X'3, X'4 에서 최소의 토글 횟수를 가지는 비트들이 복수개 존재하는 경우에는 선택 방법이 필요하다 (X'1, X'2, X'3, X'4 가 비트열의 일부를 나타내는 경우도 마찬가지이다). 이에 대해서는 후술한다.
최종 보조 정보(Y)는 제 2 터보 디코더(240)로 제공된다. 제 2 터보 디코더(240)는 원 영상에 대한 일부 정보인 패리티 비트열(P)과 최종 보조 정보(Y)를 이용하여 원 영상 데이터를 복호한 X'를 생성한다(S400). 물론 원 영상 데이터를 복호한 X'는 다시 패리티 비트열(P)와 함께 터보 디코딩에 사용되는 보조 정보로 사용될 수도 있다.
이하에서는 상기 최소의 토글 횟수를 가지는 비트열의 일부(즉, 블록)가 복수개 존재하는 경우에는 선택 방법을 설명한다(최소의 토글 횟수를 가지는 비트가 복수개 존재하는 경우에도 마찬가지이다). 이것은 모든 후보 프레임에 대한 같은 블록 위치에서의 토글 횟수가 0(모두 토글이 발생하지 않았을 때를 말함)이거나 1 이상의 수로 동일할 경우(예컨대, 4개의 후보 프레임을 사용할 때 적어도 둘 이상의 후보 프레임의 블록에서 토글 횟수가 같은 경우를 말함) 어떤 후보 프레임의 블록을 선택하는 것이 가장 좋을지 판단하는 기준이 필요하게 된다.
먼저, 1) 후보 프레임 내에서 좌에서 우로 그리고, 위에서 아래로 진행하면서 블록별 토글 횟수를 모두 누적한 후보 프레임 단위의 토글 횟수가 가장 작은 후보 프레임의 블록(또는 비트)을 선택할 수 있다.
또는 2) 같은 토글 횟수가 발생한 블록에 인접한 주변 블록의 토글 횟수를 이용할 수 있다. 즉, 토글 횟수가 같은 블록에 대한 주변 블록의 토글 횟수가 더 작은 블록을 선택한다. 여기서 주변은 DVC 인코더(100)에서 사용되는 패리티 비트열(P)의 펑쳐링 간격(puncturing period)에 따라 변경될 수 있다. 만약, 주변 블록의 토글 횟수가 일치하면 후보 프레임 단위로 토글 횟수가 가장 작은 후보 프레임의 블록을 선택할 수 있다.
상술한 두 가지 선택 기준은 전체적(프레임 단위)으로 잘 복호되는 정보가 부분적(블록별)으로도 더 잘 복호될 가능성이 크다는 것을 이용한 것이다. 후보 프레임의 성능 또는 토글 횟수의 형태에 따라서 선택 기준을 유연하게 적용시킬 수 있다.
이하에서는 본 발명의 효과를 설명하기 위한 시험예를 설명한다. 이하에서 176 x 144 픽셀 크기의 'Foreman' 동영상을 이용하는 것을 전제로 한다. 이러한 'Foreman' 동영상의 각 프레임에는 8 x 8 픽셀 크기의 블록이 396개 포함된다.
먼저 토글 횟수와 X, Y 시퀀스들 간의 차이에 관한 관계를 살펴본다.
도 6은 각 보조 정보 Y1, Y2, Y3, Y4 에 대한 평균 토글 횟수와 각 원 영상과의 MSE(Mean Square Error)의 관계를 나타낸 그래프이다.
도 6을 참조하면 MSE가 증가할수록 평균 토글 횟수도 증가하는 것을 알 수 있다. 즉, 토글 횟수가 많이 발생하는 것은 보조 정보의 신뢰성이 떨어진다는 것을 알 수 있다. 따라서 토글 횟수를 기준으로 복수의 복호된 보조 정보 중에서 최종 보조 정보를 선택하는 방법의 타당성을 알 수 있다.
도 7은 원 영상에 대하여 생성된 4개의 후보 프레임을 4사분면으로 나누어 PSNR(Peak Signal to Noise Ratio)을 나타낸 경우 최종 보조 정보가 생성되는 도면이다.
도 7을 참조하면, 1번 후보 프레임은 1사분면의 PSNR이 가장 크고, 2번 후보 프레임은 2사분면, 3번 후보 프레임은 3사분면, 4번 후보 프레임은 4사분면이 PSNR이 가장 크도록 생성한 것이다. 이러한 경우, 본 발명에 따른 실시예에서 최종 보조 정보(Y)는 1사분면에서 1번 후보 프레임의 비트들이 선택되고, 2사분면에서는 2번 후보 프레임, 3사분면에서는 3번 후보 프레임, 4사분면에서는 4번 후보 프레임의 비트들이 선택되어야 할 것이다.
도 8은 'Foreman'영상의 총 396개의 블록을 동일한 개수의 블록이 포함되도록 4분면으로 나눈 후, 각 블록에서 선택된 후보 프레임의 번호를 표시한 도면이 다. 도 8을 참조하면, 2사분면에서 2번 후보 프레임이 선택되고, 3사분면에서 3번 후보 프레임, 4사분면에서 4번 후보 프레임이 선택되는 것을 볼 수 있다. 1사분면은 모든 블록이 0으로 표시되어 있는데 이는 4개의 후보 프레임 중 어느 것을 선택하여도 무방하다는 의미이다. 도 8은 토글 횟수를 이용하여 최종 보조 정보를 생성하는 방법의 타당성을 보여준다.
도 9는 복수의 보조 정보와 복호된 보조 정보의 BER을 비교한 도면이다.
실험에서 복수의 보조 정보들(SI-1=Y1, SI-2=Y2, SI-3=Y3, SI-4=Y4)을 블록별로 DCT변환 후, DCT 계수를 11비트로 나타내고 이를 비트 평면(bit plane)으로 바꾸어 상위 5비트 평면만을 사용하였다. 이 경우 총 비트는 396블럭 * 5비트 = 1980 비트 길이가 된다. 도 9에서 패리티 전송률(parity rate)은 압축률과 관계되는 수치로 4개의 보조 정보들의 터보 디코딩되기 전 BER이 약 0.05(5%)이기 때문에 도 2에 의해 압축이 1/3이 되는 패리티의 양을 보내게 된다.
도 10은 선택 기준에 따라 복호화된 원 영상 데이터(X')와 토글 횟수를 이용하여 선택한 최종 보조 정보(Y)를 이용하는 경우 BER을 나타낸 도면이다. 도 10에서 Rule 1 및 Rule 2는 선택 기준을 표시하는데, Rule 1은 1) 프레임 내에서 좌에서 우로 그리고, 위에서 아래로 진행하면서 블록별 토글 횟수를 모두 누적한 후보 프레임 단위의 토글 횟수가 가장 작은 후보 프레임의 블록(또는 비트)을 선택하는 것을 나타내고, Rule 2는 2) 같은 토글 횟수가 발생한 블록에 인접한 주변 블록의 토글 횟수를 이용하는 것을 나타낸다.
도 10을 보면, 펑쳐링 간격 M이 6일 경우 선택 기준을 사용하지 않아도 최종적으로 한번 더 터보 디코딩을 수행하는 경우 BER이 0이 되기 때문에 선택기준에 대한 효과를 알 수 없다. 또한 압축률을 높이기 위해 BER은 고정시키고 펑쳐링 간격을 조정하여 패리티의 양을 줄여서 압축률 2/7로 맞추어 똑같은 실험을 반복한다.
도 9에서 M=6일 때, 각 복호화된 보조 정보의 BER을 보면 0.059, 0.038, 0.040, 0.029인데 반해, 도 10에서 M=6일 때, 즉, 토글 횟수로 선택 기준에 따라 최종 보조 정보를 만들어 사용하면 BER이 0.032, 0.032, 0.018로 떨어지게 된다. 특히, Rule 2를 사용하게 되면 도 9의 SI-4(M=6인 경우)의 0.029보다 좋은 0.018의 BER을 보이고 있다. 전송 정보 X에 한층 가까워진 최종 보조 정보 Y를 한번 더 터보 디코딩하여 생성된 복호화된 원 영상 데이터 X'는 모두 에러율 0%의 결과를 나타낸다.
같은 방법으로 M=7일 때, 토글 횟수로 선택 기준에 따라 최종 보조 정보를 만들어 사용하면 BER이 0.021, 0.013, 0.011로 복호된 보조 정보들에 비해 낮은 BER을 보인다. 최종 복호화된 원 영상 데이터 X'는 M=6일 때보다 M=7일 때가 BER이 더 크지만 BER이 1%도 안되는 것이기 때문에 압축률을 조금 높여도(즉, 패리티 비트열의 양을 감소시켜도)큰 영향을 미치지 않게 된다.
후보 프레임들이 다른 특성들을 지니고 있기 때문에 전체적으로 특정 후보 프레임의 보조 정보가 전송 정보 X에 근접한 신뢰성 있는 정보라 할지라도 부분적 (블록별)으로는 다른 후보 프레임의 정보가 전송 정보 X에 가까운 정보일 수도 있다. 본 발명에 따른 토글 횟수를 이용하여 최종 보조 정보를 선택하는 방식을 적용하면 패리티 비트열의 양을 줄이더라도 BER이 낮은 복호화된 X'를 만드는 데에 손색이 없다는 것을 알 수 있다. 두 개 이상의 후보가 토글 횟수가 동일할 경우 선택 기준의 유무와 방법에 따라서 결과가 다르다. 마지막 복호 수행과 압축률과 관계없이 선택기준이 없을 시에 가장 높은 BER을, Rule 1이 선택기준 없는 경우보다 낮은 BER을, Rule 2이 가장 낮은 BER을 보이고 있다. 선택기준이 없는 경우에는 후보들 중 임의로 선택하기 때문에 선택 기준이 있는 것들보다 최종 생성한 X'의 성능이 떨어지게 된다.
이상 본 발명에 대하여 실시예를 참조하여 설명하였지만, 해당 기술 분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시켜 실시할 수 있음을 이해할 수 있을 것이다. 따라서 상술한 실시예에 한정되지 않고, 본 발명은 이하의 특허청구범위의 범위 내의 모든 실시예들을 포함한다고 할 것이다.
도 1은 BER(Bit Error Rate)에 따른 패리티 전송률을 나타낸다.
도 2는 BER에 대한 이상적인 패리티 전송률과 실제 패리티 전송률을 나타낸다.
도 3은 분산 동영상 코딩의 인코더/디코더와 종래의 인트라 프레임 인코더/디코더가 결합된 구조를 나타내는 블록도이다.
도 4는 DVC 디코더를 나타낸 블록도이다.
도 5는 분산 동영상 코딩의 복호화 방법을 나타낸 순서도이다.
도 6은 각 보조 정보 Y1, Y2, Y3, Y4 에 대한 평균 토글 횟수와 각 원 영상과의 MSE(Mean Square Error)의 관계를 나타낸 그래프이다.
도 7은 원 영상에 대하여 생성된 4개의 후보 프레임을 4사분면으로 나누어 PSNR(Peak Signal to Noise Ratio)을 나타낸 경우 최종 보조 정보가 생성되는 도면이다.
도 8은 'Foreman'영상의 총 396개의 블록을 동일한 개수의 블록이 포함되도록 4분면으로 나눈 후, 각 블록에서 선택된 후보 프레임의 번호를 표시한 도면이다.
도 9는 복수의 보조 정보와 복호된 보조 정보의 원 영상 데이터(X)와의 BER을 나타낸 도면이다.
도 10은 선택 기준에 따라 복호화된 원 영상 데이터(X')와 토글 횟수를 이용 하여 선택한 최종 보조 정보(Y)의 원 영상 데이터(X)와의 BER을 나타낸 도면이다.

Claims (12)

  1. 제1 영상 프레임 및 제2 영상 프레임을 포함하는 동영상의 복호화 방법에 있어서,
    상기 제1 영상 프레임에 대한 일부 정보를 수신하는 단계;
    상기 제2 영상 프레임을 디코딩한 디코딩된 제2 영상 프레임을 입력 받아, 상기 제1 영상 프레임을 복호하는데 사용될 수 있는 복수의 보조 정보를 생성하는 단계;
    상기 복수의 보조 정보 각각에 상기 일부 정보를 적용하여 최종 보조 정보를 생성하는 단계; 및
    상기 일부 정보 및 상기 최종 보조 정보를 이용하여 상기 제1 영상 프레임을 복호하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서, 상기 일부 정보는 상기 제1 영상 프레임에 대한 패리티(parity) 비트열인 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서, 상기 복수의 보조 정보는 프레임(frame) 단위로 생성되는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서, 상기 최종 보조 정보는
    상기 복수의 보조 정보 각각을 상기 일부 정보와 터보(turbo) 디코딩하여 생성된 복호된 보조 정보 각각에서 선택된 비트들로 생성되는 것을 특징으로 하되, 상기 선택된 비트들은 상기 터보 디코딩 과정에서 발생하는 토글(toggle) 횟수를 기준으로 선택되는 방법.
  5. 제 4 항에 있어서, 상기 복수의 보조 정보 각각이 비트열로 구성되는 경우, 상기 최종 보조 정보는 상기 복호된 보조 정보 각각에서 토글 횟수가 가장 작은 비트를 선택하여 생성되는 것을 특징으로 하는 방법.
  6. 제 4 항에 있어서, 상기 최종 보조 정보는 상기 복호된 보조 정보 각각에서 블록 단위로 선택되어 생성되는 것을 특징으로 하는 방법.
  7. 제 6 항에 있어서, 상기 최종 보조 정보는
    토글 횟수가 동일한 블록이 서로 다른 복호된 보조 정보에서 발생하는 경우, 프레임 단위로 토글 횟수가 가장 적은 복호된 보조 정보의 블록이 선택되어 생성되는 것을 특징으로 하는 방법.
  8. 제 6 항에 있어서, 상기 최종 보조 정보는
    토글 횟수가 동일한 블록이 서로 다른 복호된 보조 정보에서 발생하는 경우, 상기 토글 횟수가 동일한 블록과 인접한 블록의 토글 횟수가 더 작은 블록을 선택하는 것을 특징으로 하는 방법.
  9. 제 1 항에 있어서, 상기 복수의 보조 정보 각각은
    상기 디코딩된 제2 영상 프레임을 이용하여 생성된 후보 영상 프레임의 DCT(discrete cosine transform) 계수를 비트 평면 별로 만든 비트열인 것을 특징으로 하는 방법.
  10. 제 1 항에 있어서, 상기 제2 영상 프레임은 인트라 코딩된 영상 프레임인 것을 특징으로 하는 방법.
  11. 제2 영상 프레임을 디코딩한 디코딩된 제2 영상 프레임을 입력 받아, 제1 영상 프레임을 복호하는데 사용될 수 있는 복수의 보조 정보를 생성하는 보조 정보 생성기;
    상기 제1 영상 프레임에 대한 일부 정보를 수신하여, 상기 복수의 보조 정보 각각에 터보 디코딩하여 복호된 보조 정보를 생성하는 제 1 터보 디코더;
    상기 복호된 보조 정보를 입력받아 토글 횟수를 기준으로 최종 보조 정보를 생성하는 비트 선택기(bit selector); 및
    상기 제1 영상 프레임에 대한 일부 정보 및 상기 최종 보조 정보를 이용하여 상기 제1 영상 프레임을 복원하는 제 2 터보 디코더를 포함하는 것을 특징으로 하는 디코더.
  12. 제 11 항에 있어서, 상기 최종 보조 정보는
    상기 복수의 보조 정보 각각을 상기 일부 정보와 터보(turbo) 디코딩하여 생성된 복호된 보조 정보 각각에서 선택된 비트들로 생성되는 것을 특징으로 하되, 상기 선택된 비트들은 상기 터보 디코딩 과정에서 발생하는 토글(toggle) 횟수를 기준으로 선택되는 디코더.
KR1020090077252A 2008-08-21 2009-08-20 동영상의 복호화 방법 및 장치 KR101075328B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20080081893 2008-08-21
KR1020080081893 2008-08-21

Publications (2)

Publication Number Publication Date
KR20100023764A KR20100023764A (ko) 2010-03-04
KR101075328B1 true KR101075328B1 (ko) 2011-10-19

Family

ID=41707565

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090077252A KR101075328B1 (ko) 2008-08-21 2009-08-20 동영상의 복호화 방법 및 장치

Country Status (2)

Country Link
KR (1) KR101075328B1 (ko)
WO (1) WO2010021496A2 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3791922B2 (ja) * 2002-09-06 2006-06-28 富士通株式会社 動画像復号化装置及び方法
US7765577B2 (en) * 2002-12-27 2010-07-27 Broadcom Corporation Turbo coding for upstream and downstream transmission in cable systems
US8311102B2 (en) * 2006-07-26 2012-11-13 Microsoft Corporation Bitstream switching in multiple bit-rate video streaming environments

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Encoder Rate Control for Transform Domain Wyner-Ziv Video Coding (2007.11.12)
Multiple side information streams for distributed video coding (2006.12)
Sequential motion estimation using luminance and chrominance information for distributed video coding of Wyner-Ziv frames (2006.03.30)
WYNER-ZIV VIDEO CODING WITH LOW ENCODER COMPLEXITY (2004.12)

Also Published As

Publication number Publication date
WO2010021496A3 (ko) 2010-06-03
WO2010021496A2 (ko) 2010-02-25
KR20100023764A (ko) 2010-03-04

Similar Documents

Publication Publication Date Title
JP7280233B2 (ja) 画像復号方法、画像復号システム及び画像復号のためのコンピュータ可読媒体
CN1893666B (zh) 视频编码和解码方法及设备
RU2417518C2 (ru) Эффективное кодирование и декодирование блоков преобразования
KR0129558B1 (ko) 적응적 가변길이 부호화 방법 및 장치
KR101425602B1 (ko) 영상 부호화/복호화 장치 및 그 방법
KR100849965B1 (ko) 예측 모드 세분화 계위 제공 방법 및 장치
US6556624B1 (en) Method and apparatus for accomplishing multiple description coding for video
JP5409909B2 (ja) ビットストリームを復号する方法
KR101050261B1 (ko) 콘텍스트 기반의 신호 엔코딩 및 디코딩
EP2362657B1 (en) Parallel entropy coding and decoding methods and devices
US20040028131A1 (en) System and method for rate-distortion optimized data partitioning for video coding using backward adapatation
KR101511230B1 (ko) 적응 양자화를 이용한 분산 비디오 부호화/복호화 장치 및 그 방법
US8050329B2 (en) Method and apparatus for generic scalable shape coding
US7158684B2 (en) Entropy coding scheme for video coding
KR20090018090A (ko) 화상 데이터 압축 장치, 압축 방법 및 프로그램을 기록한 기록 매체 및 화상 데이터 복원 장치, 복원 방법 및 프로그램을 기록한 기록 매체
Beerten et al. A fully embedded two-stage coder for hyperspectral near-lossless compression
US20070165717A1 (en) System and method for rate-distortion optimized data partitioning for video coding using parametric rate-distortion model
KR20060024449A (ko) 오버컴플릿 웨이브릿 도메인에서 비디오 코딩
JP2007143176A (ja) 動きベクトルの圧縮方法
KR100989686B1 (ko) 데이터 소스에 의해 생성된 비트 심볼들을 처리하기 위한 방법 및 장치, 컴퓨터 판독가능 매체, 컴퓨터 프로그램 요소
JP4515378B2 (ja) 画像復号装置及びプログラム及びコンピュータ読み取り可能な記録媒体
Huchet et al. Distributed video coding without channel codes
KR101075328B1 (ko) 동영상의 복호화 방법 및 장치
US20150023410A1 (en) Method for simultaneously coding quantized transform coefficients of subgroups of frame
KR100380230B1 (ko) 다해상도 기반 영상신호 부호화 및 복호화 방법과 장치

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

Payment date: 20140917

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150916

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161010

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee