KR101304242B1 - 저밀도 패리티 검사 부호와 소스 공개 기법을 이용한 분산 소스 부호화 및 복호화 방법, 그리고 분산 소스 부호화 및 복호화 장치 - Google Patents

저밀도 패리티 검사 부호와 소스 공개 기법을 이용한 분산 소스 부호화 및 복호화 방법, 그리고 분산 소스 부호화 및 복호화 장치 Download PDF

Info

Publication number
KR101304242B1
KR101304242B1 KR1020120021008A KR20120021008A KR101304242B1 KR 101304242 B1 KR101304242 B1 KR 101304242B1 KR 1020120021008 A KR1020120021008 A KR 1020120021008A KR 20120021008 A KR20120021008 A KR 20120021008A KR 101304242 B1 KR101304242 B1 KR 101304242B1
Authority
KR
South Korea
Prior art keywords
information
specific bit
ldpc code
syndrome
source
Prior art date
Application number
KR1020120021008A
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 KR1020120021008A priority Critical patent/KR101304242B1/ko
Application granted granted Critical
Publication of KR101304242B1 publication Critical patent/KR101304242B1/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
    • H03M13/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Error Detection And Correction (AREA)

Abstract

기존의 LDPC 부호를 이용하는 분산 소스 부호화 시스템의 특정 영역 (부호율이 낮은 LDPC 부호가 사용되는 영역)에서 발생하는 압축률의 급격한 성능 열화를 개선할 수 있는 소스 공개 기법을 이용한 분산 소스 부호화 방법 및 장치가 제공된다. 분산 소스 부호화 방법은 기존의 성능 열화가 발생하는 영역에서 신드롬 대신 소스 비트를 직접 전송하는 소스 공개 기법을 통하여 성능 열화를 개선한다. 또한, 성능 개선을 극대화하기 위하여 전송할 소스 비트를 선택하는 기법을 포함한다. 따라서, 기존의 성능 열화가 발생하는 영역에서 분산 소스 부호화의 압축률을 크게 향상시킬 수 있으며, 이를 통하여 분산 비디오 부호화 (distributed video coding, DVC) 등 분산 소스 부호화의 실질적인 응용 기술의 성능 또한 향상시킬 수 있다.

Description

저밀도 패리티 검사 부호와 소스 공개 기법을 이용한 분산 소스 부호화 및 복호화 방법, 그리고 분산 소스 부호화 및 복호화 장치{METHOD OF DISTRIBUTED SOURCE ENCODING AND DECODING USING LOW-DENSITY PARITY CHECK CODES AND SOURCE REVEALING METHOD, AND APPARATUS FOR PERFORMING THE SAME}
본 발명은 정보의 부호화 및 복호화에 관한 것으로, 더욱 구체적으로 분산 소스 부호화(Distributed Source Coding, DSC) 기술에 적용될 수 있는 분산 소스 부호화 및 복호화 방법, 그리고 분산 소스 부호화 및 복호화 장치에 관한 것이다.
일반적으로 상관관계(correlation)가 있는 둘 이상의 소스(source)들을 압축할 때 하나의 결합 부호화기(joint encoder)와 결합 복호화기(joint decoder)에서 소스들 사이의 상관관계에 대한 정보를 활용한다면 모든 소스들을 결합 엔트로피(joint entropy)의 정보량으로 쉽게 압축하고 복원할 수 있다. 이러한 과정을 결합 부호화(joint encoding) 및 결합 복호화(joint decoding)라고 한다.
하지만 센서 네트워크나 여러 카메라를 통하여 소스들을 얻을 때와 같이 부호화기가 물리적으로 떨어져 있는 환경에서는 결합 부호화 및 결합 복호화 과정은 적합하지 않다.
분산 소스 부호화(distributed source coding, DSC) 기술은 Slepian-Wolf의 정보이론을 기반으로 제안된 새로운 부호화 방법으로써 각 소스들을 자신의 부호화기에서 개별적으로 압축하고, 대신 하나의 결합 복호화기에서 상관관계에 대한 정보를 최대한 활용하여 압축된 소스들을 복원하는 기술이다. Slepian-Wolf의 정보이론에 따르면 분산 소스 부호화를 하는 경우에도 이론적으로 기존의 결합 부호화를 통해 얻을 수 있는 부호화 이득을 동일하게 얻을 수 있기 때문에 앞으로 많은 응용이 가능할 것으로 기대된다.
특히, 분산 소스 부호화 기술의 응용 기술인 분산 비디오 부호화(distributed video coding) 기술은 비디오 부호화 장치의 복잡도를 획기적으로 줄일 수 있는 방법으로 주목받고 있다.
기존의 표준 부호화 방법인 MPEG, H.26x 등의 압축 기술들은 영상의 시간적인 중복성(Temporal redundancy)을 제거함으로써 부호화 효율에서 큰 이득이 있는 반면에, 시간적인 중복성을 줄이기 위한 방법으로 사용되는 움직임 예측 및 보상 기술들 때문에 부호화기가 복잡해지게 되는 단점이 있다.
분산 비디오 부호화 기술은 부호화기에서 계산량을 가장 많이 차지하는 움직임 예측을 복호화기에서 실행하도록 함으로써 부호화기의 복잡도를 낮추는 기술로써, 사용자 제작 콘텐츠(User Creative Contents, UCC)의 확산과 휴대용 멀티미디어 기기의 발달로 사용자가 직접 동영상을 생성하고 배포하려는 기대에 부합하여 대두되는 기술이다.
이러한 분산 비디오 부호화 기술에 적용될 수 있는 분산 소스 부호화 시스템의 목표는 상관관계가 있는 소스들을 독립적으로 부호화하고 결합하여 복원함으로써 전체 소스들을 결합 엔트로피에 근접하는 정보량으로 압축하는 것이다. 즉, 상관관계가 있는 두 소스들 중 제 1 소스(이하 'X'라 함)와 제 2 소스(이하 'Y'라 함)를 분산 소스 부호화를 통해 압축했을 때 두 소스의 압축률 Rx와 RY의 합이 이론적으로 달성할 수 있는 압축률인 결합 엔트로피 H(X, Y) 에 근접하도록 만드는 것이다. 이러한 결합 엔트로피 식은 다음의 수학식 1과 같이 전개될 수 있다.
Figure 112012016831196-pat00001
상기 수학식 1에서 Y의 엔트로피(entropy) H(Y) 는 한 소스 Y를 독립적으로 압축하고 복원할 때 얻을 수 있는 Y의 압축률이며, 조건부 엔트로피(conditional entropy) H(X|Y)는 소스 Y가 주어진 상황에서 이를 이용해 다른 소스 X를 압축하고 복원했을 때 얻을 수 있는 X의 압축률이다. 결합 엔트로피가 상기의 식처럼 표현된다는 것은 한 소스 Y를 X에 대한 정보 없이 자신만의 특성을 이용해서 H(Y)로 압축/복원되면, 다른 소스 X는 Y를 보조 정보(side information)로 이용한다는 가정 하에 최적의 압축률인 H(X|Y) 로 압축/복원될 수 있음을 의미한다. 즉, 이 상황에서 Y는 X에 대한 정보 없이 홀로 압축/복원되고, X는 Y를 이용해 최대한 압축/복원된다. 이러한 분산 소스 부호화를 비대칭 분산 소스 부호화(asymmetric DSC)라고 하며, 대부분의 분산 소스 부호화 시스템은 비대칭 분산 소스 부호화의 형태로 구현된다.
이러한 비대칭 분산 소스 부호화 시스템은 오류 정정 부호로 구현 가능하다. X와 Y의 상관관계(correlation)는 오류가 존재하는 채널로 모델링 가능하다. Y는 X에 오류가 섞인 소스로 간주되며, 상관관계가 높으면 적은 오류가, 상관관계가 낮으면 많은 오류가 존재하는 것으로 생각할 수 있다. 따라서 Y를 보조정보로 이용하여 X를 복원하는 문제는 Y에 섞인 오류를 정정하여 X를 복원하는 것과 동일한 문제가 된다. 이에 따라 비대칭 분산 소스 부호화 시스템은 성능이 우수한 오류 정정 부호로 구현할 수 있으며, 특히 이론적인 통신 한계인 Shannon 채널 용량(channel capacity)에 근접하는 우수한 오류 정정 성능을 갖는 저밀도 패리티 검사(Low Density Parity Check, LDPC) 부호가 많은 분산 소스 부호화 시스템에 사용된다.
도 1은 분산 소스 부호화에 사용되는 LDPC 부호의 개념도이다.
도 1은 LDPC 부호의 패리티 검사 행렬을 이분(bipartite) 그래프로 표현한 그림을 나타내고 있다. 하나의 LDPC 부호는 하나의 패리티 검사 행렬(parity check matrix)로 정의되며, 이러한 패리티 검사 행렬은 태너(Tanner) 그래프라는 이분(bipartite) 그래프(100)로 표현될 수 있다. 상기 이분 그래프는 변수 노드(variable node) 집합(110), 검사 노드(check node) 집합(120), 그리고 상기 변수 노드 집합과 검사 노드 집합의 원소들을 서로 연결하는 연결선(edge) 집합(130)으로 구성된다.
상기 변수 노드 집합(110)에 포함된 변수 노드들(variable node, 111, 112, 113, 114)은 시스템이 2진 데이터를 사용한다면 0이나 1의 값을 가지며, 분산 소스 부호화 시스템에서는 압축할 소스 X를 이루고 있는 비트에 일대일로 대응된다.
상기 검사 노드 집합(120)에 포함된 검사 노드들(check node, 121, 122)은 연결되어 있는 변수 노드들과 신드롬의 대수적인 관계를 나타내는 패리티 검사 방정식(parity-check equation)에 대응된다. 신드롬 집합(140)은 신드롬(141, 142)을 포함한다.
예를 들어, 도 1의 검사 노드 c1(121) 에는 v1(111), v3(113), v4(114)가 연결되어 있는데, 패리티 검사 방정식에 의하여 v1(111), v3(113), v4(114), s1(141)의 이진합 (modulo-2 sum) 의 결과가 0이 되어야 한다. 따라서 신드롬(140)의 각 원소에는 각 신드롬의 원소가 연결된 검사 노드(120)의 원소에 대응하는 변수 노드(110) 원소들의 이진 합과 같은 값이 저장된다.
도 2의 좌측 도면은 X를 압축하는 부호화기(200)를 나타낸다. X의 각 비트값들이 변수 노드 집합(210)에 포함된 변수 노드(211, 212, 213, 214)에 일대일로 대응된다. 검사 노드 집합(220)의 검사 노드(221, 222)와의 연결에 따라 변수 노드(210)의 값들이 더해져서 신드롬 집합(230)의 신드롬(231, 232)에 저장된다. X의 비트 수(변수 노드의 수와 동일)에 대한 신드롬 수(검사 노드 수와 동일)의 비율이 압축률로, 0부터 1 사이의 값을 갖는다. 상기 압축률은 (1-부호율)과 동일한 값을 가지며, 여기서 부호율 R은 패리티 검사 행렬에서 열의 수와 행의 수의 비율을 나타내며, 태너(Tanner) 그래프에서는 변수 노드의 개수 N과 검사 노드의 개수 M의 비율을 의미한다. 부호율은 하기의 수학식 2에 의해 계산된다.
Figure 112012016831196-pat00002
도 2의 우측 도면은 보조정보 Y와 신드롬을 이용하여 X를 복원하는 복호화기(250)를 나타낸다. 부호화기(200)로부터 전달받은 신드롬 집합(260)의 신드롬(261, 262)이 복호화기(250)의 검사 노드 집합(270)의 검사 노드(271, 272)에 연결된다. 복원하고자하는 정보 X에 오류가 섞인 것으로 간주되는 정보 Y의 각 데이터들이 변수 노드 집합(280)의 변수 노드(281, 282, 283, 284)에 나열된다. 여기서 보조정보 Y는 X와 상관없이 압축되었기 때문에 미리 독립적으로 완벽하게 복원되며, 따라서 X를 복호화할 때 이용할 수 있다. 이와 같은 그래프 설정이 마무리되면 신뢰-전파 (belief-propagation) 복호와 같은 LDPC 부호의 오류 정정 알고리즘을 수행한다. 이러한 과정을 통해 복호가 성공한다면 보조 정보 Y와 X의 압축된 정보인 신드롬을 통해 X를 복원할 수 있다.
비대칭 분산 소스 부호화 시스템에서 두 소스 X와 Y를 압축할 때, Y는 X와 상관없이 압축/복원되기 때문에 Y의 부호화기에서 H(Y)의 압축률로 Y를 쉽게 압축할 수 있다. 그러나 X의 부호화기는 H(X|Y)에 대한 정보를 알지 못하기 때문에 X를 얼마만큼의 정보량으로 압축할지 결정하는 것은 어려운 문제이다. X의 압축률인 Rx가 H(X|Y)보다 작으면 복호화기에서 X를 복원할 수 없고, Rx가 H(X|Y)보다 크면 Rx와 H(X|Y)의 차이만큼 압축 손실이 발생한다.
따라서, 대부분의 비대칭 분산 소스 부호화 시스템은 부호율-적응적(rate-adaptive) 오류 정정 부호와 되먹임 경로(피드백, feedback path)를 사용하여 상기의 문제를 해결한다. 부호율-적응적 오류 정정 부호란 다양한 부호율을 갖는 오류 정정 부호가 유기적으로 연결된 구조를 가지도록 하여, 시스템이 상황에 맞게 적응적으로 특정 부호율의 부호를 선택하는 오류 정정 부호를 의미한다. 분산 소스 부호화의 모든 부호율-적응 과정은 압축률이 낮은 부호에서 압축률이 높은 부호를 생성하는 것을 말하며, 일반적으로 LDPC 부호에서는 신드롬 분할(syndrome splitting) 방법을 통해 이루어진다.
도 3a 및 도 3b는 신드롬 분할 부호율-적응 과정을 나타내는 개념도이다.
도 3a는 복호화기에서 부호율이 1/2인 LDPC 부호의 이분 그래프이며, 도 3b는 도 3a의 검사노드 c1(311)과 신드롬 s1(321)이 분할되어 구성된 부호율이 낮아진(부호율 : 3/8) 새로운 LDPC 부호의 이분 그래프이다.
예를 들어, 도 3a의 그래프에서 s1(321)은 x1(301), x3(302), x4(303), x7(304)의 이진합을 나타낸다. 이와 같은 상황에서 복호가 성공하지 못한 경우 X의 부호화기는 도 3b에 도시된 바와 같이 x1(301), x4(303)의 합의 값을 갖는 추가 신드롬 a(322)를 전송한다. 추가 신드롬 a(322)를 수신한 복호화기는 도 3b와 같은 그래프를 구성한다. 이에 따르면 검사 노드 c0(312)은 x1+x4=a 의 패리티 검사식을 구성하며, 검사 노드 c1(311)은 (x1+x3+x4+x7)+(x1+x4)=a+s1 의 패리티 검사식을 구성한다. 검사 노드 c1(311)의 식은 이진합의 특성을 이용하여 다시 x3+x7=a+s1 의 패리티 검사식을 구성한다. 이러한 신드롬 분할을 통한 부호율-적응 과정은 특정 신드롬이 정보의 관계를 보다 명확하게 하는 것으로 이해할 수 있다.
상기의 신드롬 분할 방법으로 설계된 복수의 LDPC 부호들의 집합인 부호율-적응적 LDPC 부호를 구성하는 각각의 원소 부호(member code)들은 자신과 인접한 압축률을 갖는 다른 원소 부호의 구조에 기반한다. 가장 압축률이 낮은 LDPC 부호를 모부호(mother code)라고 하면, 상기 모부호보다 한 단계 압축률이 높은 부호는 모부호의 일부 신드롬이 분할된 형태의 구조를 갖는다. 동일한 방식으로 한 단계씩 높은 압축률의 부호가 구성되기 때문에 모부호를 제외한 다른 원소 부호들은 모두 다른 원소 부호들에 의존적으로 설계된다.
LDPC 부호의 최적화 과정은 부호의 각 부호율에 적합한 차수 분포(degree distribution)를 찾는 것이다. 상기 태너(Tanner) 그래프에서 변수 노드와 검사 노드의 차수(degree)는 각 노드에 연결되어 있는 연결선의 개수를 나타낸다. 변수 노드의 차수는 상기 패리티 검사 행렬에서 대응하는 열 배열에 존재하는 0이 아닌 원소의 개수이며, 검사 노드의 차수는 상기 패리티 검사 행렬에서 대응하는 행 배열에 존재하는 0이 아닌 원소의 개수이다.
LDPC 부호의 변수 노드 및 검사 노드 각각의 연결선 관점(edge perspective) 차수 분포(degree distribution)는 LDPC 부호에서 노드들이 갖는 차수의 확률적인 분포를 나타내는 지표이다. 여기서 λi는 차수가 i인 변수 노드에 연결된 모든 연결선의 개수와 전체 연결선의 개수 e의 비율을 나타내며, ρj는 차수가 j인 검사 노드에 연결된 모든 연결선의 개수와 전체 연결선의 개수 e의 비율을 나타낸다. 이와 같이 차수 분포는 연결선 관점의 변수 노드와 검사 노드 차수 분포 λ, ρ 로 이루어져 있다.
동일한 차수 분포를 갖는 LDPC 부호들은 동일한 점근적인 성능(asymptotic performance)을 갖는다. LDPC 부호의 점근적인 성능은 상응하는 태너(Tanner) 그래프에 순환고리(cycle)가 없다는 가정 아래, 즉 부호어의 길이가 무한대라는 가정 아래 LDPC 부호가 갖는 오류 정정 능력이다. 이와 같이 LDPC 부호의 차수 분포를 이용하여 점근적인 성능을 계산하는 과정을 밀도 진화(density evolution)이라고 한다.
LDPC 부호의 일반적인 최적화 과정은 주어진 부호율에서 점근적인 성능이 우수한 차수 분포를 찾는 과정이다. 즉, 차수 분포를 변화시켜가며 밀도 진화로 점근적인 성능을 얻고, 이들 중 점근적인 성능이 우수한 차수 분포를 선택하는 것이다. 비록 이러한 최적화 과정이 점근적인 성능, 즉 부호어의 길이가 무한대라는 가정 아래 이루어지지만 성능의 경향은 부호어의 길이가 유한한 LDPC 부호에서도 비슷하게 나타난다. 즉, 우수한 점근적 성능의 차수 분포를 갖는 유한한 길이의 LDPC 부호는 열악한 점근적 성능의 차수 분포를 갖는 동일한 길이의 LDPC 부호에 비해서 일반적으로 성능이 우수하다.
그런데, 최적화된 차수 분포(degree distribution)는 부호율에 따라 다름에도 불구하고, 상술한 부호율-적응적 LDPC 부호의 모부호를 제외한 원소 부호들은 상기 모부호 또는 부호율이 유사한 다른 원소 부호로부터 신드롬 분할만 이루어지기 때문에 차수 분포(degree distribution)를 조정하는 것이 불가능하다. 이로 인해 부호율-적응적 LDPC 부호는 각 원소 부호들을 최적화하는 것이 용이하지 않다.
따라서 어떤 특정 부호율에 최적화된 차수 분포를 가지는 모부호를 사용할 수밖에 없는데, 이 경우에 다른 부호율을 가지는 LDPC 부호는 최적화된 차수 분포를 가지고 있지 않기 때문에 오류 정정 성능이 저하되며, 이것은 전체 시스템의 압축 성능에 악영향을 끼치게 된다. 특히, 이러한 결과는 기존의 신드롬 분할 방식만으로 설계한 부호율-적응적 LDPC 부호를 사용하였을 때, 부호율이 낮은 LDPC 부호들이 사용되는 영역에서 압축성능이 크게 열화되는 것으로 확인할 수 있다.
상기의 문제를 해결하기 위해서 비이진 부호율-적응적 LDPC 부호와 소스를 구성하고 있는 비트(bit)들의 일부를 무작위로 부호화기에 직접 전송하는 무작위 소스 공개(Source Revealing) 기술이 소개되었다.
LDPC 부호의 신뢰 전파 (Belief propagation) 복호과정에서 어떤 특정 변수 노드의 값이 완전하게 알려져 있을 때, 해당되는 변수 노드는 더 이상 다른 변수 노드들의 복호과정에 아무런 영향을 주지 못하게 된다. 따라서 이 변수 노드와 변수 노드에 연결되어 있는 연결선(edge)들이 지워지게 된다.
도 4a 및 도 4b 는 소스 공개 부호율-적응 과정을 나타내는 개념도이다.
도 4a는 복호화기에서 기존에 구성한 LDPC 부호의 이분 그래프이며, 도 4b는 도 4a의 소스 비트 x1에 해당하는 변수노드 y1(401)이 지워지면서 새로 구성된 LDPC 부호의 이분 그래프이다. 기존 LDPC 부호로 복원이 실패한 경우 제 1 정보(이하 'X'라 함)의 부호화기는 신드롬이 아닌 상기 X에 포함된 특정 비트의 값을 직접 복호화기에 전달할 수 있다. 도 7b에 도시된 바와 같이 X에 포함된 특정 비트 중 하나인 x1(431)이 직접 전달되는 경우, 복호화기는 복원하고자 하는 제 1 정보의 특정 비트인 x1(431)의 정보를 정확하게 알게 되므로, 상기 x1(431)의 정보를 복호 과정에서 제외할 수 있다. 따라서, 상기 제 1 정보에 포함된 x1(431)의 정보 비트를 복원하기 위해 이용되는 제 2 정보(이하 'Y'라 함)에 포함된 y1(401)의 정보 비트를 복호 과정에서 제외할 수 있다. 또한, y1(401)과 연결되어 있던 검사 노드의 신드롬의 값을 갱신하기 위해 y1(401)이 연결되어 있던 검사노드 c1(411)에 x1(431)을 연결할 수 있다. 예를 들어, 도 4a에 도시된 바와 같이, 기존 그래프에서 검사 노드 c1(411)은 y1(401), y3(403), y4(404), y7(407)의 합이 s1(421)임을 나타내는 패리티 검사식을 이용한다. 도 4b에 도시된 바와 같이, 소스 공개를 이용한 부호율-적응 과정을 통해 x1(431)이 전달되면, y1(401)을 복호에 참여시킬 필요가 사라진다. 따라서 검사 노드 c1(411)의 패리티 검사식은 y3(403), y4(404), y7(407)의 합이 s1(421), x1(431)의 합임을 나타내는 패리티 검사식으로 수정될 수 있다.
그리고 이 경우에 전체 변수 노드의 수가 줄어들기 때문에 부호율이 낮아지고 차수 분포가 변하게 된다. 하지만 소스 공개 기법을 통하여 생성한 LDPC 부호는 기존의 신드롬 분할 방식으로 생성한 LDPC 부호보다 부호율이 높게 된다.
도 5는 신드롬 분할 방식과 소스 공개 기법을 통한 LDPC 부호의 부호율을 비교한 그래프이다.
상기 그래프에는 신드롬 분할 방식으로 설계한 LDPC 부호들의 부호율과 어떤 특정 부호율을 가진 LDPC 부호로부터 소스 공개 기법을 통하여 생성한 LDPC 부호의 부호율이 도시되어 있다. 소스 공개 기법을 통하여 생성한 LDPC 부호의 부호율은 신드롬 분할 방식으로 설계한 LDPC 부호들의 부호율보다 큰 것을 확인할 수 있으며, 소스 공개 기법을 시작하는 LDPC 부호의 부호율이 클수록 상기 소스 공개 기법을 통하여 생성한 LDPC 부호의 부호율도 커지는 것을 확인할 수 있다. 부호율이 낮아지면 이론적인 오류 정정 성능은 증가한다. 하지만 이론적인 오류 정정 성능과 LDPC 부호의 오류정정 성능의 차이는 존재하고 좋은 차수 분포를 가지는 LDPC 부호일수록 이론적인 오류 정정 성능에 근접한다. 소스 공개 기법을 사용하면 이론적인 오류 정정 성능이 저하되지만, 차수 분포의 구조를 개선함으로써 이러한 성능 저하를 극복할 수 있다.
그러나, 기존의 무작위 소스 공개 기술에서는 부호화기에 공개할 소스 비트를 무작위로 선택하여 전송하였기 때문에 새로 구성되는 LDPC 부호의 차수 분포를 고려하지 않았다. 비이진 LDPC 부호와 달리 이진 LDPC 부호에서는 차수 분포의 변화에 성능이 민감하게 변하기 때문에 소스 공개 기법을 통하여 새로 구성되는 LDPC 부호의 차수 분포를 고려해야 한다.
한국 공개 특허 제 10-2011-0054804 호("비트율 제어 방법과 장치 및 이를 이용한 분산 비디오 코딩 방법과 장치", 경희대학교 산학협력단, 2011.05.25 공개)
전술한 바와 같이, 부호율-적응적 LDPC 부호는 이를 구성하는 서로 다른 부호율의 원소 LDPC 부호들이 구조적으로 종속 관계를 갖는 문제가 있으며, 이를 개선하기 위한 소스 공개 기법을 적용한 경우에도 공개되는 소스를 무작위로 선택하여 LDPC 부호의 차수 분포를 고려하지 않았다. 차수 분포는 전 단계의 LDPC 부호에서 삭제하는 변수 노드에 따라 변하기 때문에 부호화기에 전송할 소스 비트들을 잘 선택해야 하고, 따라서 소스 공개 기법을 이진 LDPC 부호에 적용하기 위해서는 전송할 소스 비트를 잘 선택하는 알고리듬이 필요하다.
본 발명의 목적은 소스 공개 기법을 이용한 분산 소스 부호화에 있어서, 차수 분포를 고려하여 공개되는 소스 비트를 선택함으로써, 각각의 부호율에 최적화된 차수 분포를 가지는 LDPC 부호를 생성하여 향상된 오류 정정 능력 및 압축률을 가지는 분산 소스 부호화 및 복호화 방법을 제공하는 것이다.
본 발명의 다른 목적은 소스 공개 기법을 이용한 분산 소스 부호화에 있어서, 차수 분포를 고려하여 공개되는 소스 비트를 선택함으로써, 각각의 부호율에 최적화된 차수 분포를 가지는 LDPC 부호를 생성하여 향상된 오류 정정 능력 및 압축률을 가지는 분산 소스 부호화 및 복호화 장치를 제공하는 것이다.
전술한 본 발명의 목적을 달성하기 위한 본 발명의 일 실시예에 따른 분산 소스 부호화 방법은 제 1 정보 및 제 2 정보를 부호화하는 분산 소스 부호화 방법에 있어서, 제 2 정보를 부호화하고 제 1 정보 및 저밀도 패리티 검사(Low Density Parity Check, LDPC) 부호의 패리티 검사 행렬을 기반으로 상기 제 1 정보의 압축 신드롬을 생성하여 상기 부호화된 제 2 정보 및 상기 제 1 정보의 압축 신드롬을 복호화 장치로 전송하는 단계; 상기 복호화 장치로부터 미리 설정한 k(단, 여기서 k는 자연수)번째 이하의 복원 실패 피드백 정보를 수신할 경우 상기 압축 신드롬 중 적어도 하나를 분할하여 상기 복호화 장치로 전송하는 단계; 및 상기 복호화 장치로부터 상기 k번째 초과의 복원 실패 피드백 정보를 수신할 경우 상기 제 1 정보의 적어도 하나의 특정 비트를 상기 복호화 장치로 전송하는 단계를 포함할 수 있다. 여기서, 상기 특정 비트를 상기 복호화 장치로 전송하는 단계는 상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 차수 분포를 고려하여 상기 전송되는 특정 비트를 선택하여 상기 복호화 장치로 전송하는 것을 특징으로 할 수 있다. 또한, 상기 특정 비트를 상기 복호화 장치로 전송하는 단계는 상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 검사 노드 차수의 이차 모멘트(second moment)를 최소화시키는 특정 비트를 선택하여 상기 복호화 장치로 전송할 수 있다. 또한, 상기 특정 비트를 상기 복호화 장치로 전송하는 단계는 상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호가 0 또는 1의 차수를 가지는 검사 노드를 포함하지 않도록 상기 특정 비트를 선택하여 상기 복호화 장치로 전송할 수 있다. 여기서, 상기 특정 비트를 상기 복호화 장치로 전송하는 단계는 상기 특정 비트와 상응하는 변수 노드가 미리 설정한 dmin(단, 여기서 dmin은 2 이상의 정수)의 차수를 가지는 검사 노드에 연결되어 있지 않은 상기 특정 비트를 선택하여 상기 복호화 장치로 전송할 수 있다. 여기서, 상기 특정 비트를 상기 복호화 장치로 전송하는 단계는 하기의 수학식
Figure 112012016831196-pat00003
- 단, 여기서
Figure 112012016831196-pat00004
는 상기 특정 비트와 상응하는 변수 노드의 인덱스, vi는 i번째 변수 노드, Mvi 2는 vi의 이차 모멘트, dv(vi)는 vi의 차수, dc(vi,j)는 vi의 연결선 중에서 j번째 연결선과 연결되어 있는 검사 노드의 차수를 의미함 - 을 만족시키는 상기 특정 비트를 선택하여 상기 복호화 장치로 전송할 수 있다.
전술한 본 발명의 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 분산 소스 복호화 방법은 부호화된 제 2 정보를 복호화하고 상기 복호화된 제 2 정보, 제 1 정보의 압축 신드롬 및 LDPC 부호의 패리티 검사 행렬을 기반으로 제1 정보를 복원하는 단계; 상기 제 1 정보의 복원 실패가 미리 설정한 k(단, 여기서 k는 자연수)번째 이하인 경우 상기 부호화 장치로 복원 실패 피드백 정보를 전송하고 상기 부호화 장치로부터 상기 압축 신드롬 중 적어도 하나가 분할된 신드롬을 수신하는 단계; 상기 제 1 정보의 복원 실패가 상기 k번째를 초과한 경우 상기 부호화 장치로 복원 실패 피드백 정보를 전송하고 상기 부호화 장치로부터 상기 제 1 정보의 적어도 하나의 특정 비트를 수신하는 단계; 및 상기 수신한 분할된 신드롬 또는 특정 비트 중 어느 하나를 기반으로 상기 제 1 정보를 복원하는 단계를 포함할 수 있다. 여기서, 상기 특정 비트를 수신하는 단계는 상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 차수 분포를 고려하여 상기 수신하는 특정 비트를 선택하여 상기 부호화 장치로부터 수신할 수 있다. 또한, 상기 수신한 분할된 신드롬 또는 특정 비트 중 어느 하나를 기반으로 상기 제 1 정보를 복원하는 단계는 상기 제 1 정보의 복원이 성공할 때까지 반복적으로 실시될 수 있다. 여기서, 상기 수신한 특정 비트를 기반으로 제 1 정보를 복원하는 단계는 상기 수신한 특정 비트와 상응하는 변수 노드를 삭제하여 새로운 LDPC 부호를 생성하고 상기 LDPC 부호를 기반으로 상기 제 1 정보를 복원할 수 있다.
전술한 본 발명의 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 분산 소스 부호화 장치는 제 1 정보 및 제 2 정보를 부호화하는 분산 소스 부호화 장치에 있어서, 제 2 정보를 부호화하고 제 1 정보 및 저밀도 패리티 검사(Low Density Parity Check, LDPC) 부호의 패리티 검사 행렬을 기반으로 상기 제 1 정보의 압축 신드롬을 생성하는 부호화부; 상기 부호화된 제 2 정보 및 상기 제 1 정보의 압축 신드롬을 복호화 장치로 전송하는 전송부; 상기 복호화 장치로부터 미리 설정한 k(단, 여기서 k는 자연수)번째 이하의 복원 실패 피드백 정보를 수신할 경우 상기 압축 신드롬 중 적어도 하나를 분할하여 상기 복호화 장치로 전송하는 신드롬 분할부; 및 상기 복호화 장치로부터 상기 k번째 초과의 복원 실패 피드백 정보를 수신할 경우 상기 제 1 정보의 적어도 하나의 특정 비트를 상기 복호화 장치로 전송하는 소스 공개부를 포함할 수 있다. 여기서, 상기 소스 공개부는 상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 차수 분포를 고려하여 상기 전송되는 특정 비트를 선택하여 상기 복호화 장치로 전송할 수 있다. 또한, 상기 소스 공개부는 상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 검사 노드 차수의 이차 모멘트(second moment)를 최소화시키는 특정 비트를 선택하여 상기 복호화 장치로 전송할 수 있다. 여기서, 상기 소스 공개부는 상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호가 0 또는 1의 차수를 가지는 검사 노드를 포함하지 않도록 상기 특정 비트를 선택하여 상기 복호화 장치로 전송할 수 있다. 또한, 상기 소스 공개부는 상기 특정 비트와 상응하는 변수 노드가 미리 설정한 dmin(단, 여기서 dmin은 2 이상의 정수)의 차수를 가지는 검사 노드에 연결되어 있지 않은 상기 특정 비트를 선택하여 상기 복호화 장치로 전송할 수 있다. 여기서, 상기 소스 공개부는 하기의 수학식
Figure 112012016831196-pat00005
- 단, 여기서
Figure 112012016831196-pat00006
는 상기 특정 비트와 상응하는 변수 노드의 인덱스, vi는 i번째 변수 노드, Mvi 2는 vi의 이차 모멘트, dv(vi)는 vi의 차수, dc(vi,j)는 vi의 연결선 중에서 j번째 연결선과 연결되어 있는 검사 노드의 차수를 의미함 - 을 만족시키는 상기 특정 비트를 선택하여 상기 복호화 장치로 전송할 수 있다.
전술한 본 발명의 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 분산 소스 복호화 장치는 부호화된 제 2 정보를 복호화하고 상기 복호화된 제 2 정보, 제 1 정보의 압축 신드롬 및 LDPC 부호의 패리티 검사 행렬을 기반으로 제1 정보를 복원하는 복호화부; 상기 제 1 정보의 복원 실패가 미리 설정한 k(단, 여기서 k는 자연수)번째 이하인 경우 상기 부호화 장치로 복원 실패 피드백 정보를 전송하고 상기 부호화 장치로부터 상기 압축 신드롬 중 적어도 하나가 분할된 신드롬을 수신하는 신드롬 분할부; 및 상기 제 1 정보의 복원 실패가 상기 k번째를 초과한 경우 상기 부호화 장치로 복원 실패 피드백 정보를 전송하고 상기 부호화 장치로부터 상기 제 1 정보의 적어도 하나의 특정 비트를 수신하는 소스 공개부를 포함하되, 상기 복호화부는 상기 수신한 분할된 신드롬 또는 특정 비트 중 어느 하나를 기반으로 다시 상기 제 1 정보를 복원하는 것을 특징으로 할 수 있다. 여기서, 상기 소스 공개부는 상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 차수 분포를 고려하여 상기 수신하는 특정 비트를 선택하여 상기 부호화 장치로부터 수신할 수 있다. 여기서, 상기 복호화부는 상기 제 1 정보의 복원이 성공할 때까지 반복적으로 복원을 실시할 수 있다. 또한, 상기 복호화부는 상기 수신한 특정 비트와 상응하는 변수 노드를 삭제하여 새로운 LDPC 부호를 생성하고 상기 LDPC 부호를 기반으로 상기 제 1 정보를 복원할 수 있다.
전술한 본 발명의 일 실시예에 따른 분산 소스 부호화 방법 및 장치, 복호화 방법 및 장치에 따르면, 부호율-적응적 LDPC 부호의 오류 정정 능력이 저하되는 원소 LDPC 부호가 사용되는 영역에서 더 이상 신드롬 분할 방법이 아닌 소스 공개(SOURCE REVEALING) 방법을 이용하여 부호율-적응 과정을 수행하며, LDPC 부호의 차수 분포를 고려하여 전송할 소스 비트를 선택함으로써 새로 구성되는 LDPC 부호의 오류 정정 능력을 향상시킬 수 있다.
따라서, 기존의 이진 부호율-적응적 LPDC 부호를 이용한 분산 소스 부호화 방법에서 압축 성능이 크게 저하되는 부분을 대체하여 전체적인 LDPC 부호의 압축률을 향상시키고 오류 정정 능력을 향상시킬 수 있다.
도 1은 분산 소스 부호화에 사용되는 LDPC 부호의 개념도이다.
도 2는 LDPC 부호를 이용한 분산 소스 부호화 및 복호화 시스템의 개념도이다.
도 3a는 신드롬 분할 이전의 LDPC 부호의 이분 그래프의 구성도이다.
도 3b는 신드롬 분할 이후의 LDPC 부호의 이분 그래프의 구성도이다.
도 4a는 소스 공개 이전의 LDPC 부호의 이분 그래프의 구성도이다.
도 4b는 소스 공개 이후의 LDPC 부호의 이분 그래프의 구성도이다.
도 5는 신드롬 분할 방식과 소스 공개 기법을 통한 LDPC 부호의 부호율을 비교한 그래프이다.
도 6은 신드롬 분할 방식으로 설계한 부호율-적응적 LDPC 부호의 개념도이다.
도 7은 부호율에 따른 평균 변수 노드 차수를 나타낸 그래프이다.
도 8은 소스 공개 기법을 적용한 부호율-적응적 LDPC 부호의 개념도이다.
도 9는 본 발명의 일 실시예에 따른 공개 소스 비트 선택 알고리듬의 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 분산 소스 부호화 및 복호화 방법의 개략적인 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 분산 소스 부호화 방법의 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 분산 소스 복호화 방법의 흐름도이다.
도 13은 본 발명의 일 실시예에 따른 분산 소스 부호화 장치의 구성을 나타내는 블록도이다.
도 14는 본 발명의 일 실시예에 따른 분산 소스 복호화 장치의 구성을 나타내는 블록도이다.
도 15는 상관 관계에 따른 평균 압축률을 비교한 그래프이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
기존의 부호율 - 적응적 LDPC 부호
도 6은 신드롬 분할 방식으로 설계한 부호율-적응적 LDPC 부호의 개념도이다.
도 6에 도시된 바와 같이, 부호율-적응적 LDPC 부호는 L개의 원소 LDPC 부호로 이루어져 있으며, 원소 부호의 인덱스(index)를 i라고 한다면, 각 원소 부호는 i/L 의 압축율을 가지게 된다. 처음에는 압축율이 1/L인 첫 번째 원소부호를 사용하여 소스를 복호하며, 복호화에 실패하면 추가 신드롬 전송 후, 두 번째 원소 부호를 사용하여 복호한다. 상기 과정을 복호가 성공할 때까지 반복하며, 복호가 성공할 때의 압축률이 최종 압축률이 된다.
도 6에 도시된 기존의 신드롬-분할(syndrome splitting)을 통해 구성된 부호율-적응적 LDPC 부호의 단점은 이를 구성하는 서로 다른 부호율의 원소 LDPC 부호 (element LDPC codes)들이 구조적으로 종속 관계를 갖는다는 것이다. 이로 인해 원소 LDPC 부호들의 모든 원소 LDPC 부호의 변수 노드 차수 분포(variable node degree distribution)는 동일하게 된다. 즉, 최적화된 차수 분포를 가지지 못한다.
도 7은 부호율에 따른 평균 변수 노드 차수(연결선 수 / 변수 노드 수)를 나타낸 그래프이다.
도 7에 도시된 바와 같이, 각 부호율에서 최적화된 LDPC 부호들의 평균 변수 노드 차수는 부호율이 낮아질수록 평균 변수 노드 차수도 낮아지는 경향을 보인다. 반면에, 기존의 부호율-적응적 LDPC 부호는 변수노드 차수 분포가 변하지 않기 때문에 부호율에 상관없이 평균 변수 노드 차수는 같은 값을 가진다. 따라서 부호율이 낮아질수록 기존의 부호율-적응적 LDPC 부호의 원소 부호들은 최적화된 차수 분포를 가지지 못하기 때문에 성능이 저하된다. 원소 LDPC 부호의 성능은 전체 분산 소스 부호화 시스템의 압축 성능에 크게 영향을 미치기 때문에, 성능 저하가 발생하는 LDPC 부호를 사용하는 영역에서 급격한 압축 성능 열화가 발생한다.
또한, 일반적으로 검사 노드 차수 분포는 하나 혹은 인접한 두 개의 차수만을 가지는 것이 성능이 좋다고 알려져 있다. 즉, 검사 노드 차수의 분산이 낮아야 한다는 것이다. 반면에 신드롬 분할 방식으로 설계하면 검사노드 차수가 평균값에 집중되어 있는 것이 아니라 양극으로 퍼져있기 때문에 성능이 저하되는 문제가 있다.
소스 공개 기법을 적용한 부호율 - 적응적 LDPC 부호
도 8은 소스 공개 기법을 적용한 부호율-적응적 LDPC 부호의 개념도이다.
기존의 L개의 원소 부호를 가지는 부호율-적응적 LDPC 부호에서 k+1 번째 원소 부호부터 고정된 변수 노드 차수 분포 때문에 성능 저하가 발생한다. 따라서 k+1 번째부터는 신드롬 분할 방식으로 생성한 원소 부호를 대신하여 소스 공개 기법을 통하여 구성한 LDPC 부호를 사용할 수 있다.
k번째 원소 부호까지는 기존의 부호율-적응적 LDPC 부호와 동일하게 신드롬을 전송받아 원소 부호를 구성할 수 있다. 하지만 k번째 원소 부호까지 사용한 경우에도 복호에 실패하면, 신드롬이 아닌 선택한 소스 비트를 전송하여 소스 공개 기법을 사용할 수 있다. 여기서, k번째 원소 부호는 소스 공개 모부호(mother code)가 되며, k+1번째 이후의 LDPC 부호들은 소스 공개 모부호에 변수 노드의 일부가 지워진 구조를 가지게 된다. 즉, k+1번째부터는 신드롬 분할 방식으로 구성한 LDPC 부호 대신에 소스 공개 방식으로 구성한 LDPC 부호를 사용할 수 있다. 어떤 변수 노드가 지워지는지 여부에 따라 차수 분포가 변하기 때문에 지울 변수 노드를 잘 선택하여야 한다.
소스 공개 기법을 위한 변수 노드 선택 알고리듬
기존의 무작위 소스 공개 기법을 사용한 LDPC 부호의 경우 부호화기에 공개할 소스 비트를 무작위로 선택하여 전송하였기 때문에 새로 구성되는 LDPC 부호의 차수 분포를 고려하지 않았다. 비이진 LDPC 부호와 달리 이진 LDPC 부호에서는 차수 분포의 변화에 성능이 민감하게 변하기 때문에 소스 공개 기법을 통하여 새로 구성되는 LDPC 부호의 차수 분포를 고려해야 한다. 이 차수 분포는 전 단계의 LDPC 부호에서 지울 변수 노드에 따라 변하기 때문에 부호화기에 전송할 소스 비트들을 잘 선택해야 한다. 따라서 소스 공개 기법을 이진 LDPC 부호에 적용하기 위해서는 전송할 소스 비트를 잘 선택하는 알고리듬이 필요하다.
소스 공개 기법을 통해 생성된 LDPC 부호의 성능을 최적화하기 위하여 검사 노드 차수의 평균 M1과 이차 모멘트(second moment) M2를 하기의 수학식 3과 같이 정의할 수 있다.
Figure 112012016831196-pat00007
여기서, dc는 가장 큰 검사 노드의 차수를 나타내며, |cj|는 차수가 j인 검사 노드의 수를 나타낸다. 또한, E는 전체 연결선의 수, m은 전체 검사 노드의 수를 나타낸다.
소스 공개 기법을 사용할 때 검사 노드의 수는 변하지 않기 때문에 M1을 빠르게 감소시키는 것은 평균 변수 노드 차수를 빠르게 감소시키는 것과 같고, M2를 빠르게 감소시키는 것은 검사 노드의 차수를 평균에 집중시키는 것과 같다.
본 발명의 일 실시예에 따른 선택 알고리듬은 특정 변수 노드를 삭제했을 경우, 결과적으로 생성된 LDPC 부호의 검사 노드 차수의 이차 모멘트 M2를 최소화시키는 상기 특정 변수 노드를 선택하는 것이다. 상기 수학식 3을 살펴보면, M2를 최소화시키는 것은 대부분의 경우 M1 또한 최소화시키기 때문에, 단일 파라미터로써 M2를 최소화시키는 것만을 고려할 수 있다.
상기 수학식 3을 보다 더 간단히 하기 위하여, i번째 변수 노드 vi를 지웠을 때 변화하는 M2를 고려할 수 있다. M0 2 를 변수 노드를 지우기 전의 M2 , Mw 2 를 차수가 w인 연결선 하나를 지운 후의 M2 , 그리고 Mvi 2 를 vi를 지운 후의 M2라고 한다면, Mw 2 , Mvi 2 은 각각 하기의 수학식 4, 5 와 같다.
Figure 112012016831196-pat00008
Figure 112012016831196-pat00009
여기서, dc(vi, j)는 vi의 연결선 중에서 j번째 연결선과 연결되어 있는 검사 노드의 차수를 나타내며, dv(vi)는 vi의 차수이다.
Mvi 2를 최소화하는 vi는 하기의 수학식 6을 최대화하는 vi와 같다. 따라서 하기의 수학식 6을 최대화하는 vi를 선택한다.
Figure 112012016831196-pat00010
vi 가 선택되면, 태너 그래프에서 vi와 vi의 연결선들을 지워 M0 2 를 갱신한다. 그 후에 다시 상기 수학식 6을 최대화하는 변수 노드를 선택한다.
원하는 수의 변수 노드들을 모두 선택할 때까지 상기 과정을 반복한다. 하지만 상기 과정을 반복하면 차수가 0, 1인 검사 노드들이 생성된다. 차수가 0, 1인 검사 노드들은 LDPC 부호의 성능을 저하시키므로, 지웠을 때 차수가 1인 검사 노드를 발생시키는 변수 노드들은 제외할 수 있다.
또한 검사 노드 차수 분포 ρ를 더욱 집중시키기 위해 차수가 dmin인 검사 노드에 연결되어 있는 변수 노드들은 선택하지 않는다. 여기서 dmin은 2 이상의 정수로써 사용하는 LDPC 부호에 따라 미리 설정할 수 있다.
따라서 선택하게 될 변수 노드의 인덱스는 하기의 수학식 7과 같다.
Figure 112012016831196-pat00011
도 9는 본 발명의 일 실시예에 따른 공개 소스 비트 선택 알고리듬의 흐름도이다.
도 9에 도시된 바와 같이, 먼저 공개 소스 비트 선택 횟수(cnt)를 1로 설정하고, dmin을 예를 들어 3으로 설정한다(S910). 이후 상기 수학식 7을 통하여 공개할 변수 노드의 인덱스를 찾는다(S920). 만약 dmin에 의한 제약 조건에 의하여 차수가 큰 변수 노드가 선택되지 않고 차수가 2인 변수 노드가 선택된다면(dv(vi)=2), dmin 값이 2가 아닌 경우에는(S930), 차수가 2인 변수 노드를 선택하지 않고 dmin 값을 하나 줄여 제약 조건을 완화하고(S940), 차수가 큰 변수 노드를 다시 선택한다(S920). 하지만, 차수가 2인 변수 노드가 선택되고(dv(vi)=2), dmin 값이 2 라면, dmin 값을 줄이지 않고 그대로 차수가 2인 변수 노드를 선택한다. 찾은 변수 노드의 인덱스를 A 배열(A[cnt])에 저장한 후에 공개 소스 비트 선택 횟수(cnt)를 1 증가시킨다(S950). 이후 해당되는 변수 노드와 연결선들을 LDPC 부호의 태너 그래프에서 지운다(S960). 전체 소스의 길이가 n, 사용하는 LDPC 부호의 수를 L, 그리고 k번째 원소 부호까지는 기존의 신드롬 분할 방식으로 설계한 LDPC 부호를 사용한다고 할 때, 필요한 변수 노드의 수는 n-k(n/L) 이며, 공개 소스 비트 선택 횟수(cnt)가 n-k(n/L)이 될 때까지(S970), 즉 필요한 수의 변수 노드들을 전부 선택할 때까지 상기 공개 소스 비트 선택 과정을 반복한다.
분산 소스 부호화 및 복호화 방법
도 10은 본 발명의 일 실시예에 따른 분산 소스 부호화 및 복호화 방법의 개략적인 흐름도이다.
도 10에 도시된 바와 같이, 부호화기는 전체 소스 비트와 동일한 양의 신드롬(n bits)을 생성한다(S1010). i번째 LDPC 부호의 구성에 있어서, i가 k번째 이후의 LDPC 부호인지 여부를 판단하여(S1020), k번째 LDPC 부호까지는 신드롬 분할 부호율-적응 과정을 수행하여 LDPC 부호를 구성한다. 따라서, 기존의 부호율-적응적인 LDPC 부호와 동일하게 부호화기는 신드롬의 일부를 전송하며(S1030), 복호화기는 i번째까지 전송받은 신드롬을 이용하여 i번째 LDPC 부호를 구성한다(S1040). k+1번째 LDPC 부호부터는 소스 공개 부호율-적응 과정을 수행한다. 복호화기는 소스 공개 선택 알고리듬을 통하여 선택한 소스 비트를 전송하며(S1050), 복호화기는 k번째 LDPC 부호에서 전송받은 소스 비트에 해당되는 변수 노드를 지워 새로운 LDPC 부호를 구성한다(S1060).
이후 상기 구성된 LDPC 부호를 기반으로, 미리 지정된 최대 횟수만큼 신뢰-검파(belief propagation) 반복 복호를 수행할 수 있다(S1070).
미리 정해진 횟수 이내에 패리티 검사 방정식을 만족하면 복호가 성공했다고 판단하고 복호를 중단한다(S1080). 복호화기가 정해진 횟수 이내에 패리티 검사 방정식을 만족하지 못했을 경우에는 복호 실패를 알리는 피드백 메시지를 부호화기에 전달한다(S1090).
이하에서, 상기 개략적으로 설명한 분산 소스 부호화 방법 및 장치, 분산 소스 복호화 방법 및 장치를 보다 구체적으로 설명한다.
분산 소스 부호화 방법
도 11은 본 발명의 일 실시예에 따른 분산 소스 부호화 방법의 흐름도이다.
도 11에 도시된 바와 같이, 본 발명의 일 실시예에 따른 분산 소스 부호화 방법은 제 1 정보 및 제 2 정보를 부호화하는 분산 소스 부호화 방법으로서, 먼저 제 2 정보를 부호화하고 제 1 정보 및 저밀도 패리티 검사(Low Density Parity Check, LDPC) 부호의 패리티 검사 행렬을 기반으로 상기 제 1 정보의 압축 신드롬을 생성하여 상기 부호화된 제 2 정보 및 상기 제 1 정보의 압축 신드롬을 복호화 장치로 전송한다(S1110). 즉, 기존의 부호율-적응적 LDPC 부호를 이용한 분산 소스 부호화 방법과 마찬가지로, 제 2 정보를 독립적으로 부호화하고, 제 1 정보는 LDPC 부호의 패리티 검사 행렬을 기반으로 제 1 정보의 압축 신드롬을 생성한다. 여기서 처음에는 압축률이 1/L인 원소 LDPC 부호를 사용할 수 있으며, 복원 성공률을 고려하여 특정 부호율을 결정하고 상기 결정된 부호율에 상응하는 LDPC 부호를 사용하여 상기 제 1 정보의 압축 신드롬을 생성할 수도 있다.
복호화기에서는 상기 수신한 부호화된 제 2 정보를 복호화하고, 상기 복호화된 제 2 정보 및 제 1 정보의 압축 신드롬을 기반으로 제 1 정보의 복원을 시도할 수 있다. 그러나, 1/L의 압축률을 가지는 LDPC 부호를 이용하여 상기 제 1 정보의 압축 신드롬을 생성한 경우, 상기 제 1 정보의 복원이 성공할 확률은 매우 낮다. 또한, 분산 소스 부호화의 경우 제 1 정보의 복원에 성공할 수 있는 압출률을 미리 결정할 수 없고, 가장 우수한 압축률을 가진 LDPC 부호를 사용하기 위해서는 우수한 압축률을 가진 LDPC 부호를 사용하여 복원에 실패할 경우 신드롬 분할 또는 소스 공개 기법을 사용하여 다시 복원을 시도하는 것이 바람직하다. 따라서, 상기 제 1 정보의 복원에 실패하게 되면, 상기 복호화기는 상기 부호화기로 복원 실패 피드백 정보를 송신하게 된다.
부호화기는 상기 복호화 장치로부터 미리 설정한 k(단, 여기서 k는 자연수)번째 이하의 복원 실패 피드백 정보를 수신할 경우 상기 압축 신드롬 중 적어도 하나를 분할하여 상기 복호화 장치로 전송할 수 있다(S1120). 즉, k번째 LDPC 원소 부호까지는 기존의 부호율-적응적 LDPC 부호와 동일하게 신드롬을 분할하여 전송함으로써 복호화기가 새로운 LDPC 부호를 생성하도록 할 수 있다.
그러나, 전술한 바와 같이 기존의 부호율-적응적 LDPC 부호를 이용한 분산 소스 부호화 방법은 상기 부호율-적응적 LDPC 부호를 구성하는 서로 다른 부호율의 원소 LDPC 부호들이 구조적으로 종속 관계를 가지는 단점이 있다. LDPC 부호를 통한 오류 정정은 상기 LDPC 부호의 차수 분포가 최적화되었을 때 가장 우수한 오류 정정 성능을 나타낸다. 하지만, 부호율-적응적 LDPC 부호는 원소 LDPC 부호들이 모두 동일한 차수 분포를 가지게 되어 최적화된 차수 분포를 가질 수 없다. 특히, 도 7에 도시된 바와 같이 부호율이 낮아질수록 성능 저하는 심화된다. 또한, 일반적으로 검사 노드 차수 분포는 분산이 낮아야 좋은 성능을 발휘하나, 신드롬 분할 방식의 경우 검사 노드의 차수 분포의 분산이 증가된다.
따라서, 상기 복호화 장치로부터 상기 k번째 초과의 복원 실패 피드백 정보를 수신할 경우 상기 제 1 정보의 적어도 하나의 특정 비트를 상기 복호화 장치로 전송할 수 있다(S1130). 즉, k+1번째 원소 LDPC 부호부터 소스 공개 기법을 통하여 구성한 LDPC 부호를 사용할 수 있다. 여기서, k번째 원소 부호는 소스 공개 모부호가 되며, k+1번째 이후의 LDPC 부호들은 소스 공개 모부호에서 상기 전송된 특정 비트와 상응하는 변수 노드가 지워진 구조를 가지게 된다. 단, 여기서 어떤 변수 노드가 삭제되는지 여부에 따라 LDPC 부호의 차수 분포가 변하기 때문에 상기 전송되는 특정 비트를 잘 선택하여야 한다.
따라서, 전술한 소스 공개 기법을 위한 변수 노드 선택 알고리듬을 사용할 수 있다. 먼저, 상기 특정 비트를 상기 복호화 장치로 전송하는 단계(S1130)는 상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 차수 분포를 고려하여 상기 전송되는 특정 비트를 선택하여 상기 복호화 장치로 전송할 수 있다. 상기 특정 비트와 상응하는 변수 노드가 삭제된 LDPC 부호를 가정하여, 차수 분포가 최적화될 수 있도록 상기 특정 비트를 선택할 수 있다.
상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 검사 노드 차수의 이차 모멘트를 축소시키는 것은 검사 노드의 차수를 검사 노드 차수의 평균에 집중시키는 것을 의미한다. 검사 노드 차수의 분산이 작을수록 LDPC 부호의 오류 정정 능력이 우수하므로, 상기 특정 비트를 상기 복호화 장치로 전송하는 단계(S1130)는 상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 검사 노드 차수의 이차 모멘트(second moment)를 최소화시키는 특정 비트를 선택하여 상기 복호화 장치로 전송할 수 있다.
소스 공개 기법을 상기 제 1 정보의 복원이 성공할 때까지 반복 수행하는 경우, 차수가 0 또는 1인 검사 노드가 발생할 수 있다. 그러나 차수가 0 또는 1인 검사 노드들은 LDPC 부호의 성능을 저하시키므로, 상기 특정 비트를 상기 복호화 장치로 전송하는 단계(S1130)는 상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호가 0 또는 1의 차수를 가지는 검사 노드를 포함하지 않도록 상기 특정 비트를 선택하여 상기 복호화 장치로 전송할 수 있다.
또한, 검사 노드 차수 분포를 더욱 집중시킬수록 LDPC 부호의 성능이 우수하므로, 상기 특정 비트를 상기 복호화 장치로 전송하는 단계(S1130)는 상기 특정 비트와 상응하는 변수 노드가 미리 설정한 dmin(단, 여기서 dmin은 2 이상의 정수)의 차수를 가지는 검사 노드에 연결되어 있지 않은 상기 특정 비트를 선택하여 상기 복호화 장치로 전송할 수 있다.
전술한 조건들을 만족하기 위하여, 상기 특정 비트를 상기 복호화 장치로 전송하는 단계는 전술한 수학식 7을 만족시키는 상기 특정 비트를 선택하여 상기 복호화 장치로 전송도록 할 수 있다.
분산 소스 복호화 방법
도 12는 본 발명의 일 실시예에 따른 분산 소스 복호화 방법의 흐름도이다.
도 12에 도시된 바와 같이, 본 발명의 일 실시예에 따른 분산 소스 복호화 방법은 먼저 부호화된 제 2 정보를 복호화하고 상기 복호화된 제 2 정보, 제 1 정보의 압축 신드롬 및 LDPC 부호의 패리티 검사 행렬을 기반으로 제1 정보를 복원한다(S1210). 즉, 기존의 부호율-적응적 LDPC 부호를 이용한 분산 소스 부호화 방법과 마찬가지로, 독립적으로 부호화된 제 2 정보를 마찬가지로 독립적으로 복호화하고, 상기 복호화된 제 2 정보를 상기 LDPC 부호의 패리티 검사 행렬의 변수 노드에 적용하고 상기 제 1 정보의 압축 신드롬을 LDPC 부호의 패리티 검사 행렬의 검사 노드에 적용함으로써 제 1 정보를 복원할 수 있다.
상기 제 1 정보의 복원에 실패하게 되면, 복호화기는 부호화기로 복원 실패 피드백 정보를 전송할 수 있다. 단, 여기서, 상기 제 1 정보의 복원 실패가 미리 설정한 k(단, 여기서 k는 자연수)번째 이하인 경우 상기 부호화 장치로 복원 실패 피드백 정보를 전송하고 상기 부호화 장치로부터 상기 압축 신드롬 중 적어도 하나가 분할된 신드롬을 수신할 수 있다(S1220). 즉, 기존의 부호율-적응적 LDPC 부호를 이용한 분산 소스 복호화 방법을 이용한다.
여기서, 상기 제 1 정보의 복원 실패가 상기 k번째를 초과한 경우 상기 부호화 장치로 복원 실패 피드백 정보를 전송하고 상기 부호화 장치로부터 상기 제 1 정보의 적어도 하나의 특정 비트를 수신할 수 있다(S1230). 즉, 소스 공개 기법을 적용할 수 있다.
이후, 상기 수신한 분할된 신드롬 또는 특정 비트 중 어느 하나를 기반으로 상기 제 1 정보를 복원할 수 있다(S1240). 여기서, 상기 분할된 신드롬 또는 특정 비트 중 어느 하나를 기반으로 상기 제 1 정보를 복원하는 단계(S1240)는 상기 제 1 정보의 복원이 성공할 때까지 반복적으로 실시되는 것을 특징으로 할 수 있다. 즉, 부호율-적응적 LDPC 부호를 사용하여 분산 소스 복호화를 시도하되, k번째 이전에 상기 제 1 정보의 복원이 성공하면 복호화를 종료하고, k번째 LDPC 부호를 이용한 분산 소스 복호화에 실패할 경우 k+1번째 부터는 소스 공개 기법을 사용하여 부호화기로부터 상기 제 1 정보의 특정 비트를 수신하여, 상기 특정 비트와 상응하는 변수 노드를 삭제하여 새로운 LDPC 부호를 생성하여 상기 LDPC 부호를 기반으로 상기 제 1 정보의 복원을 시도한다. 상기 제 1 정보의 복원이 성공할 때까지 반복하여 소스 공개 기법을 이용한 분산 소스 복호화를 시도한다.
전술한 바와 같이, 어떠한 특정 비트를 상기 부호화기로부터 수신하는지 여부는 LDPC 부호의 차수 분포를 변화시키므로 LDPC 부호를 이용한 분산 소스 복호화의 성능에 매우 중요한 영향을 미친다. 따라서, 상기 특정 비트를 수신하는 단계(S1230)는 상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 차수 분포를 고려하여 상기 수신하는 특정 비트를 선택하여 상기 부호화 장치로부터 수신할 수 있다.
또한, 상기 수신한 특정 비트를 기반으로 제 1 정보를 복원하는 단계는 상기 수신한 특정 비트와 상응하는 변수 노드를 삭제하여 새로운 LDPC 부호를 생성하고 상기 LDPC 부호를 기반으로 상기 제 1 정보를 복원할 수 있다.
분산 소스 부호화 장치
도 13은 본 발명의 일 실시예에 따른 분산 소스 부호화 장치의 구성을 나타내는 블록도이다.
도 13에 도시된 바와 같이, 본 발명의 일 실시예에 따른 분산 소스 부호화 장치(1300)는 제 1 정보 및 제 2 정보를 부호화하는 분산 소스 부호화 장치에 있어서, 부호화부(1310), 전송부(1320), 신드롬 분할부(1330) 및 소스 공개부(1340)를 포함할 수 있다.
부호화부(1310)는 제 2 정보를 부호화하고 제 1 정보 및 저밀도 패리티 검사(Low Density Parity Check, LDPC) 부호의 패리티 검사 행렬을 기반으로 상기 제 1 정보의 압축 신드롬을 생성한다.
전송부(1320)는 상기 부호화된 제 2 정보 및 상기 제 1 정보의 압축 신드롬을 복호화 장치로 전송한다.
이후, 부호화 장치(1300)는 복호화 장치로부터 상기 제 1 정보의 복원이 실패했다는 복원 실패 피드백 정보를 수신할 수 있다.
여기서, 신드롬 분할부(1330)는 상기 복호화 장치로부터 미리 설정한 k(단, 여기서 k는 자연수)번째 이하의 복원 실패 피드백 정보를 수신할 경우 상기 압축 신드롬 중 적어도 하나를 분할하여 상기 복호화 장치로 전송할 수 있다.
소스 공개부(1340)는 상기 복호화 장치로부터 상기 k번째 초과의 복원 실패 피드백 정보를 수신할 경우 상기 제 1 정보의 적어도 하나의 특정 비트를 상기 복호화 장치로 전송할 수 있다.
전술한 바와 같이, 어떠한 비트를 복호화 장치로 전송하는지 여부는 분산 소스 부호화의 성능을 좌우하므로, 특정 비트를 선택하기 위해 전술한 변수 노드 선택 알고리듬을 이용할 수 있다.
보다 구체적으로, 상기 소스 공개부(1340)는 상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 차수 분포를 고려하여 상기 전송되는 특정 비트를 선택하여 상기 복호화 장치로 전송할 수 있다. 또한, 상기 소스 공개부(1340)는 상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 검사 노드 차수의 이차 모멘트(second moment)를 최소화시키는 특정 비트를 선택하여 상기 복호화 장치로 전송할 수 있다.
여기서, 상기 소스 공개부(1340)는 상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호가 0 또는 1의 차수를 가지는 검사 노드를 포함하지 않도록 상기 특정 비트를 선택하여 상기 복호화 장치로 전송할 수 있다.
또한, 상기 소스 공개부(1340)는 상기 특정 비트와 상응하는 변수 노드가 미리 설정한 dmin(단, 여기서 dmin은 2 이상의 정수)의 차수를 가지는 검사 노드에 연결되어 있지 않은 상기 특정 비트를 선택하여 상기 복호화 장치로 전송할 수 있다.
전술한 조건을 충족시키기 위해, 상기 소스 공개부(1340)는 전술한 수학식 7을 만족시키는 상기 특정 비트를 선택하여 상기 복호화 장치로 전송하는 것을 특징으로 할 수 있다.
본 발명의 일 실시예에 따른 분산 소스 부호화 장치(1300)의 구체적인 동작은 전술한 분산 소스 부호화 방법에 따른다.
분산 소스 복호화 장치
도 14는 본 발명의 일 실시예에 따른 분산 소스 복호화 장치의 구성을 나타내는 블록도이다.
도 14에 도시된 바와 같이 본 발명의 일 실시예에 따른 분산 소스 복호화 장치(1400)는 부호화된 제 2 정보를 복호화하고 상기 복호화된 제 2 정보, 제 1 정보의 압축 신드롬 및 LDPC 부호의 패리티 검사 행렬을 기반으로 제1 정보를 복원하는 복호화부(1410), 상기 제 1 정보의 복원 실패가 미리 설정한 k(단, 여기서 k는 자연수)번째 이하인 경우 상기 부호화 장치로 복원 실패 피드백 정보를 전송하고 상기 부호화 장치로부터 상기 압축 신드롬 중 적어도 하나가 분할된 신드롬을 수신하는 신드롬 분할부(1420) 및 상기 제 1 정보의 복원 실패가 상기 k번째를 초과한 경우 상기 부호화 장치로 복원 실패 피드백 정보를 전송하고 상기 부호화 장치로부터 상기 제 1 정보의 적어도 하나의 특정 비트를 수신하는 소스 공개부(1430)를 포함하되, 상기 복호화부(1410)는 상기 수신한 분할된 신드롬 또는 특정 비트 중 어느 하나를 기반으로 다시 상기 제 1 정보를 복원할 수 있다. 상기 복호화부(1410)는 상기 제 1 정보의 복원이 성공할 때까지 반복적으로 복원을 실시할 수 있다.
여기서, 상기 복호화부(1410)는 상기 수신한 특정 비트와 상응하는 변수 노드를 삭제하여 새로운 LDPC 부호를 생성하고 상기 LDPC 부호를 기반으로 상기 제 1 정보를 복원할 수 있다.
상기 소스 공개부(1430)는 상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 차수 분포를 고려하여 상기 수신하는 특정 비트를 선택하여 상기 부호화 장치로부터 수신할 수 있다.
본 발명의 일 실시예에 따른 분산 소스 복호화 장치(1400)의 구체적인 동작은 전술한 분산 소스 복호화 방법에 따른다.
실험예
도 15는 본 발명의 일 실시예에 따른 분산 소스 부호화 및 복호화 방법의 효과를 확인하기 위해 상관 관계에 따른 평균 압축률을 기존의 부호율- 적응적 LDPC 부호를 이용한 분산 소스 부호화 방법과 비교한 그래프이다.
도 15에 도시된 그래프에서 부호화하고자 하는 부호어의 길이는 6336(즉, 변수 노드의 개수가 6336)인 경우이며, 기존의 부호율-적응적 LDPC 부호를 이용한 경우와 본 발명의 일 실시예에 따른 방법이 비교되었다. X와 Y가 다양한 상관관계를 가지는 상황(그래프의 가로축)에서 기존의 부호율-적응적 LDPC 부호를 이용한 경우와 본 발명의 일 실시예에 따른 방법의 성능을 비교한 결과, 본 발명은 X와 Y의 상관 관계가 큰 상황에서 압축률을 크게 개선하였음을 확인할 수 있다.
1300 : 분산 소스 부호화 장치
1310 : 부호화부
1320 : 전송부
1330 : 신드롬 분할부
1340 : 소스 공개부
1400 : 분산 소스 복호화 장치
1410 : 복호화부
1420 : 신드롬 분할부
1430 : 소스 공개부

Claims (20)

  1. 제 1 정보 및 제 2 정보를 부호화하는 분산 소스 부호화 방법에 있어서,
    제 2 정보를 부호화하고 제 1 정보 및 저밀도 패리티 검사(Low Density Parity Check, LDPC) 부호의 패리티 검사 행렬을 기반으로 상기 제 1 정보의 압축 신드롬을 생성하여 상기 부호화된 제 2 정보 및 상기 제 1 정보의 압축 신드롬을 복호화 장치로 전송하는 단계;
    상기 복호화 장치로부터 미리 설정한 k(단, 여기서 k는 자연수)번째 이하의 복원 실패 피드백 정보를 수신할 경우 상기 압축 신드롬 중 적어도 하나를 분할하여 상기 복호화 장치로 전송하는 단계; 및
    상기 복호화 장치로부터 상기 k번째 초과의 복원 실패 피드백 정보를 수신할 경우 상기 제 1 정보의 적어도 하나의 특정 비트를 상기 복호화 장치로 전송하는 단계를 포함하되, 상기 특정 비트를 상기 복호화 장치로 전송하는 단계는
    상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 검사 노드 차수의 이차 모멘트(second moment)를 최소화시키는 특정 비트를 선택하여 상기 복호화 장치로 전송하는 단계를 포함하는 것을 특징으로 하는 분산 소스 부호화 방법.
  2. 제 1항에 있어서, 상기 특정 비트를 상기 복호화 장치로 전송하는 단계는
    상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 차수 분포를 고려하여 상기 전송되는 특정 비트를 선택하여 상기 복호화 장치로 전송하는 것을 특징으로 하는 분산 소스 부호화 방법.
  3. 삭제
  4. 제 1항에 있어서, 상기 특정 비트를 상기 복호화 장치로 전송하는 단계는
    상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호가 0 또는 1의 차수를 가지는 검사 노드를 포함하지 않도록 상기 특정 비트를 선택하여 상기 복호화 장치로 전송하는 것을 특징으로 하는 분산 소스 부호화 방법.
  5. 제 1항에 있어서, 상기 특정 비트를 상기 복호화 장치로 전송하는 단계는
    상기 특정 비트와 상응하는 변수 노드가 미리 설정한 dmin(단, 여기서 dmin은 2 이상의 정수)의 차수를 가지는 검사 노드에 연결되어 있지 않은 상기 특정 비트를 선택하여 상기 복호화 장치로 전송하는 것을 특징으로 하는 분산 소스 부호화 방법.
  6. 제 1항에 있어서, 상기 특정 비트를 상기 복호화 장치로 전송하는 단계는
    하기의 수학식
    Figure 112012016831196-pat00012

    - 단, 여기서
    Figure 112012016831196-pat00013
    는 상기 특정 비트와 상응하는 변수 노드의 인덱스, vi는 i번째 변수 노드, Mvi 2는 vi의 이차 모멘트, dv(vi)는 vi의 차수, dc(vi,j)는 vi의 연결선 중에서 j번째 연결선과 연결되어 있는 검사 노드의 차수를 의미함 - 을 만족시키는 상기 특정 비트를 선택하여 상기 복호화 장치로 전송하는 것을 특징으로 하는 분산 소스 부호화 방법.
  7. 부호화된 제 2 정보를 복호화하고 상기 복호화된 제 2 정보, 제 1 정보의 압축 신드롬 및 LDPC 부호의 패리티 검사 행렬을 기반으로 제1 정보를 복원하는 단계;
    상기 제 1 정보의 복원 실패가 미리 설정한 k(단, 여기서 k는 자연수)번째 이하인 경우 상기 부호화 장치로 복원 실패 피드백 정보를 전송하고 상기 부호화 장치로부터 상기 압축 신드롬 중 적어도 하나가 분할된 신드롬을 수신하는 단계;
    상기 제 1 정보의 복원 실패가 상기 k번째를 초과한 경우 상기 부호화 장치로 복원 실패 피드백 정보를 전송하고 상기 부호화 장치로부터 상기 제 1 정보의 적어도 하나의 특정 비트를 수신하는 단계; 및
    상기 수신한 분할된 신드롬 또는 특정 비트 중 어느 하나를 기반으로 상기 제 1 정보를 복원하는 단계를 포함하되, 상기 특정 비트를 수신하는 단계는
    상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 검사 노드 차수의 이차 모멘트(second moment)를 최소화시키는 특정 비트를 선택하여 상기 부호화 장치로부터 수신하는 단계를 포함하는 분산 소스 복호화 방법.
  8. 제 7항에 있어서, 상기 특정 비트를 수신하는 단계는
    상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 차수 분포를 고려하여 상기 수신하는 특정 비트를 선택하여 상기 부호화 장치로부터 수신하는 것을 특징으로 하는 분산 소스 복호화 방법.
  9. 제 7항에 있어서, 상기 수신한 분할된 신드롬 또는 특정 비트 중 어느 하나를 기반으로 상기 제 1 정보를 복원하는 단계는
    상기 제 1 정보의 복원이 성공할 때까지 반복적으로 실시되는 것을 특징으로 하는 분산 소스 복호화 방법.
  10. 제 7항에 있어서, 상기 수신한 특정 비트를 기반으로 제 1 정보를 복원하는 단계는
    상기 수신한 특정 비트와 상응하는 변수 노드를 삭제하여 새로운 LDPC 부호를 생성하고 상기 LDPC 부호를 기반으로 상기 제 1 정보를 복원하는 것을 특징으로 하는 분산 소스 복호화 방법.
  11. 제 1 정보 및 제 2 정보를 부호화하는 분산 소스 부호화 장치에 있어서,
    제 2 정보를 부호화하고 제 1 정보 및 저밀도 패리티 검사(Low Density Parity Check, LDPC) 부호의 패리티 검사 행렬을 기반으로 상기 제 1 정보의 압축 신드롬을 생성하는 부호화부;
    상기 부호화된 제 2 정보 및 상기 제 1 정보의 압축 신드롬을 복호화 장치로 전송하는 전송부;
    상기 복호화 장치로부터 미리 설정한 k(단, 여기서 k는 자연수)번째 이하의 복원 실패 피드백 정보를 수신할 경우 상기 압축 신드롬 중 적어도 하나를 분할하여 상기 복호화 장치로 전송하는 신드롬 분할부; 및
    상기 복호화 장치로부터 상기 k번째 초과의 복원 실패 피드백 정보를 수신할 경우 상기 제 1 정보의 적어도 하나의 특정 비트를 상기 복호화 장치로 전송하는 소스 공개부를 포함하되, 상기 소스 공개부는
    상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 검사 노드 차수의 이차 모멘트(second moment)를 최소화시키는 특정 비트를 선택하여 상기 복호화 장치로 전송하는 것을 특징으로 하는 분산 소스 부호화 장치.
  12. 제 11항에 있어서, 상기 소스 공개부는
    상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 차수 분포를 고려하여 상기 전송되는 특정 비트를 선택하여 상기 복호화 장치로 전송하는 것을 특징으로 하는 분산 소스 부호화 장치.
  13. 삭제
  14. 제 11항에 있어서, 상기 소스 공개부는
    상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호가 0 또는 1의 차수를 가지는 검사 노드를 포함하지 않도록 상기 특정 비트를 선택하여 상기 복호화 장치로 전송하는 것을 특징으로 하는 분산 소스 부호화 장치.
  15. 제 11항에 있어서, 상기 소스 공개부는
    상기 특정 비트와 상응하는 변수 노드가 미리 설정한 dmin(단, 여기서 dmin은 2 이상의 정수)의 차수를 가지는 검사 노드에 연결되어 있지 않은 상기 특정 비트를 선택하여 상기 복호화 장치로 전송하는 것을 특징으로 하는 분산 소스 부호화 장치.
  16. 제 11항에 있어서, 상기 소스 공개부는
    하기의 수학식
    Figure 112012016831196-pat00014

    - 단, 여기서
    Figure 112012016831196-pat00015
    는 상기 특정 비트와 상응하는 변수 노드의 인덱스, vi는 i번째 변수 노드, Mvi 2는 vi의 이차 모멘트, dv(vi)는 vi의 차수, dc(vi,j)는 vi의 연결선 중에서 j번째 연결선과 연결되어 있는 검사 노드의 차수를 의미함 - 을 만족시키는 상기 특정 비트를 선택하여 상기 복호화 장치로 전송하는 것을 특징으로 하는 분산 소스 부호화 장치.
  17. 부호화된 제 2 정보를 복호화하고 상기 복호화된 제 2 정보, 제 1 정보의 압축 신드롬 및 LDPC 부호의 패리티 검사 행렬을 기반으로 제1 정보를 복원하는 복호화부;
    상기 제 1 정보의 복원 실패가 미리 설정한 k(단, 여기서 k는 자연수)번째 이하인 경우 상기 부호화 장치로 복원 실패 피드백 정보를 전송하고 상기 부호화 장치로부터 상기 압축 신드롬 중 적어도 하나가 분할된 신드롬을 수신하는 신드롬 분할부; 및
    상기 제 1 정보의 복원 실패가 상기 k번째를 초과한 경우 상기 부호화 장치로 복원 실패 피드백 정보를 전송하고 상기 부호화 장치로부터 상기 제 1 정보의 적어도 하나의 특정 비트를 수신하는 소스 공개부를 포함하되,
    상기 복호화부는 상기 수신한 분할된 신드롬 또는 특정 비트 중 어느 하나를 기반으로 다시 상기 제 1 정보를 복원하고,
    상기 소스 공개부는 상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 검사 노드 차수의 이차 모멘트(second moment)를 최소화시키는 특정 비트를 선택하여 상기 부호화 장치로부터 수신하는 것을 특징으로 하는 분산 소스 복호화 장치.
  18. 제 17항에 있어서, 상기 소스 공개부는
    상기 특정 비트와 상응하는 변수 노드를 삭제한 LDPC 부호의 차수 분포를 고려하여 상기 수신하는 특정 비트를 선택하여 상기 부호화 장치로부터 수신하는 것을 특징으로 하는 분산 소스 복호화 장치.
  19. 제 17항에 있어서, 복호화부는
    상기 제 1 정보의 복원이 성공할 때까지 반복적으로 복원을 실시하는 것을 특징으로 하는 분산 소스 복호화 장치.
  20. 제 17항에 있어서, 상기 복호화부는
    상기 수신한 특정 비트와 상응하는 변수 노드를 삭제하여 새로운 LDPC 부호를 생성하고 상기 LDPC 부호를 기반으로 상기 제 1 정보를 복원하는 것을 특징으로 하는 분산 소스 복호화 장치.
KR1020120021008A 2012-02-29 2012-02-29 저밀도 패리티 검사 부호와 소스 공개 기법을 이용한 분산 소스 부호화 및 복호화 방법, 그리고 분산 소스 부호화 및 복호화 장치 KR101304242B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120021008A KR101304242B1 (ko) 2012-02-29 2012-02-29 저밀도 패리티 검사 부호와 소스 공개 기법을 이용한 분산 소스 부호화 및 복호화 방법, 그리고 분산 소스 부호화 및 복호화 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120021008A KR101304242B1 (ko) 2012-02-29 2012-02-29 저밀도 패리티 검사 부호와 소스 공개 기법을 이용한 분산 소스 부호화 및 복호화 방법, 그리고 분산 소스 부호화 및 복호화 장치

Publications (1)

Publication Number Publication Date
KR101304242B1 true KR101304242B1 (ko) 2013-09-05

Family

ID=49455135

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120021008A KR101304242B1 (ko) 2012-02-29 2012-02-29 저밀도 패리티 검사 부호와 소스 공개 기법을 이용한 분산 소스 부호화 및 복호화 방법, 그리고 분산 소스 부호화 및 복호화 장치

Country Status (1)

Country Link
KR (1) KR101304242B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320363A1 (en) 2007-06-19 2008-12-25 International Business Machines Corporation Method and apparatus for rateless source coding with/without decoder side information

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320363A1 (en) 2007-06-19 2008-12-25 International Business Machines Corporation Method and apparatus for rateless source coding with/without decoder side information

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
신승식 외4인, "실제적인 분산 비디오 부호화를 위한 분산 소스 부호화 시스템의 피드백 지연 문제 개선 방안", 방송공학회논문지 제17권제1호, 2012.01., p.122-128. *
신승식 외4인, "실제적인 분산 비디오 부호화를 위한 분산 소스 부호화 시스템의 피드백 지연 문제 개선 방안", 방송공학회논문지 제17권제1호, 2012.01., p.122-128.*

Similar Documents

Publication Publication Date Title
Sejdinovic et al. Expanding window fountain codes for unequal error protection
KR101159432B1 (ko) 스케일러블 정보 신호, 스케일러블 정보 내용를 인코딩하기 위한 장치와 방법 및 스케일러블 정보 신호의 에러를 정정하기 위한 장치 및 방법
US8315306B2 (en) Distributed joint source-channel coding of video using raptor codes
US8065592B2 (en) Multi-source data encoding, transmission and decoding using slepian-wolf codes based on channel code partitioning
US20120128009A1 (en) Subset coding for communication systems
US20080294963A1 (en) Method and apparatus for designing low density parity check code with multiple code rates, and information storage medium thereof
WO2018021926A1 (en) Decoding of polar codes and polar subcodes
US9608667B2 (en) Method and apparatus for decoding non-binary parity check code
EP3264612B1 (en) Ldpc code construction using a modified progressive edge-growth (peg) algorithm
El-Khamy et al. Relaxed channel polarization for reduced complexity polar coding
CN108206722B (zh) 高码率数据发送方法和装置
KR101304242B1 (ko) 저밀도 패리티 검사 부호와 소스 공개 기법을 이용한 분산 소스 부호화 및 복호화 방법, 그리고 분산 소스 부호화 및 복호화 장치
US9281842B2 (en) Method and device for improving decoding of data received from one source by several receivers
KR101272846B1 (ko) 저밀도 패리티 검사 부호를 이용한 분산 소스 부호화 및 복호화 방법, 그리고 분산 소스 부호화 및 복호화 장치
US10523239B2 (en) Method for generating encoded data that is encoded based on low-density parity-check codes, and method for decoding the encoded data
JP2015103866A (ja) 誤り訂正符号方法及びシステム
Pu et al. Unequal error protection and progressive decoding for jpeg2000
KR101258958B1 (ko) 랩터 부호를 이용하는 부호화 장치 및 부호화 방법
Cheng et al. Partitioned Adaptive Successive-Cancellation List Decoder for Polar Codes
TWI674766B (zh) 低密度奇偶檢查碼之編碼及解碼方法
JP5901819B2 (ja) 誤り訂正符号方法及びシステム
Yuan et al. Design of finite-length precoded EWF codes for scalable video streaming
CN108234069B (zh) 低码率数据发送方法和装置
Mimura et al. Belief propagation for error correcting codes and lossy compression using multilayer perceptrons
Fadhel et al. On unequal error protection raptor codes

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: 20160607

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170703

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee