KR20110066084A - 정보 객체의 인코딩을 위한 방법 및 이를 이용한 인코더 - Google Patents

정보 객체의 인코딩을 위한 방법 및 이를 이용한 인코더 Download PDF

Info

Publication number
KR20110066084A
KR20110066084A KR1020100118120A KR20100118120A KR20110066084A KR 20110066084 A KR20110066084 A KR 20110066084A KR 1020100118120 A KR1020100118120 A KR 1020100118120A KR 20100118120 A KR20100118120 A KR 20100118120A KR 20110066084 A KR20110066084 A KR 20110066084A
Authority
KR
South Korea
Prior art keywords
sampling set
buffer
precoder
packet
bits
Prior art date
Application number
KR1020100118120A
Other languages
English (en)
Other versions
KR101783271B1 (ko
Inventor
정희원
고준호
이상묵
이기상
세르게이 지디코브
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to CN201080056017.9A priority Critical patent/CN102770911B/zh
Priority to PCT/KR2010/008816 priority patent/WO2011071324A2/en
Priority to JP2012541960A priority patent/JP5443616B2/ja
Priority to EP10836219.5A priority patent/EP2510516B1/en
Priority to US12/965,492 priority patent/US8675646B2/en
Publication of KR20110066084A publication Critical patent/KR20110066084A/ko
Priority to US14/190,810 priority patent/US9438375B2/en
Application granted granted Critical
Publication of KR101783271B1 publication Critical patent/KR101783271B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/007Unequal error protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0086Unequal error protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명에 따른 통신 시스템에서 정보 객체의 인코딩 방법은, 정보 객체를 버퍼에 저장하는 단계와; 상기 버퍼로부터 랜덤하게 선택된 비트들과 상기 버퍼로부터 정규적으로 선택된 비트들을 포함하는 샘플링 셋을 생성하는 단계와; 상기 샘플링 셋의 번호 및 상기 정보 객체의 크기 정보를 포함하는 제어 채널 데이터를 생성하는 단계와, 상기 샘플링 셋 및 제어 채널 데이터를 변조하는 단계를 포함한다.

Description

정보 객체의 인코딩을 위한 방법 및 이를 이용한 인코더{METHOD FOR ENCODING INFORMATION OBJECT AND ENCODER USING THE SAME}
본 발명은 데이터 인코딩(encoding) 및 전송 기술과 관련되며, 무선 통신 시스템 및 장치, 특히 근거리 음향 기반 통신(short-range acoustic-based communication) 시스템 및 장치에 사용될 수 있다.
도 1은 종래기술에 따른 ARQ(automatic repeat-request) 구조를 갖는 양방향 통신 시스템에서의 객체 전송을 나타내는 도면이다.
종래의 통신 시스템에서, 송신기(1)에 의해 정보 객체(예를 들어, 파일, 메시지 등)는 데이터 패킷들로 분해(decomposition)되고, 각 패킷은 통상적으로 특정 타입의 순방향 오류 정정 (forward error correction: FEC) 코딩을 이용하여 인코딩된다. 송신기(1)에 의해 인코딩된 패킷들은 이후 변조되고, 패킷화된 정보는 통신 채널(예를 들어, 음향 채널)을 통해 수신기(2)로 전송된다. 신뢰도 낮은 통신 매체를 통해 신뢰도 높은 정보 전송을 구현하기 위해, 종래의 통신 시스템들은 자동 재송 요구(automatic repeat-request: ARQ) 프로토콜을 이용할 수 있다. 이러한 프로토콜에서, 데이터 패킷을 정확하게 수신하였음을 나타내기 위해 응답 메시지(acknowledgement message)가 수신기(2)에 의해 송신기(1)로 전송된다. 만약 패킷이 정확하게 수신되지 않았다면, 수신기(2)는 재송 요구 메시지를 전송할 수 있다. 대체로, 송신기(1)는 특정된 타임아웃(time-out) 내에 수신기(2)로부터 응답이 없었다면, 송신기는 재전송을 시도할 수 있다.
ARQ 프로토콜의 보다 진보적인(및 현대적인) 변형은 체이스 결합(Chase combining)을 갖는 ARQ 및 증분 리던던시(incremental redundancy)를 갖는 ARQ를 포함하고, 이들은 비성공적으로 수신한 패킷들을 폐기할 필요가 없고, 대신에 보충 패킷들(complimentary packets)을 요청하고, 수신기 내에서 복수의 비성공적으로 수신된 패킷들을 결합하는 것을 시도한다("G. Caire and D. Tuninetti, ARQ protocols for the Gaussian collision channel IEEE Trans. on Inform. Theory, Vol. 47, No. 5, pp. 1971 -1988, July 2001").
이러함에도, 모든 ARQ 기반 구조에서, 수신기로부터 송신기로의 피드백(feedback) 통신 경로가 존재할 것이 요구되고, 이는 응답 메시지 또는 재송 요구를 전송하는데 사용될 수 있다. 그러나 일부 응용 예들에서, 복수의 제한 인자들로 인해 피드백 채널을 구현하기가 어렵다. 예를 들어, 음향 연결 응용 예들에서, 송신기는 음향 신호들을 획득하기 위한 능력을 갖지 않거나(예를 들어, 마이크가 없는 경우), 수신기가 음향 방출 능력을 갖지 않는 등의 경우들이다. 이러한 경우에 있어서, 피드백 통신 경로의 존재 여부에 의존하지 않는 대체적인 방법들이 사용되어야 한다. 특히, 2가지 종류의 방법들이 사용될 수 있다.
첫째 방법은 "방송 캐러셀(broadcast carousel)"로 알려져 있고,
예를 들면 "Paila, T., Luby, M., Lehtonen, R., Roca, V. and R. Walsh: FLUTE - File Delivery over Unidirectional Transport. RFC 3926, October 2004" 또는 "ETSI TS 101 498, Digital Audio Broadcasting (DAB); Broadcast website"를 들 수 있다.
도 2는 종래기술에 따른 방송 캐러셀 구조를 갖는 단방향 통신 시스템에서의 객체 전송을 나타낸다.
이러한 방법에서, 송신기(3)로부터의 전송에 의해 오리지널 메시지(즉, 정보 객체)의 패킷들은 루프(즉, 사이클) 상에서 주기적으로 반복되고(무한으로), 각 패킷은 고유한 식별자(번호)를 갖는다. 송신기(3)로부터 수신기(4)로 전송되는 순환적 패킷 스트림(cyclic packet stream)은 "..., 패킷1, 패킷2, 패킷3, 패킷1, 패킷2, 패킷3, 패킷1, 패킷2, ..."와 같은 일련의 패킷들로 이루어진다.
신뢰성 있는 통신 채널에서, 수신기는 초기 획득의 시간과 상관없이 단일 루프 내 모든 패킷들을 수집할 수 있다. 만약 채널에 오류가 도입되면, 수신기(4)는 여전히 모든 데이터를 수집할 수 있지만, 보통 복수의 캐러셀 루프들을 대기하여야 한다. 채널 조건이 악화되면, 방송 캐러셀은 점차 덜 효율적으로 된다. 이는 이러한 구조에서, 만약 수신기(4)가 연속적인 캐러셀 사이클들 상의 동일한 패킷들을 놓친다면, 다음 기회를 위해 전체 사이클을 대기하여야 하기 때문이다.
더욱 복잡한 관련 기술에서, 소위 디지털 파운틴 코드들(digital fountain codes)을 이용한다. 이러한 코드들은 리드-솔로몬 코드들(Reed-Solomon codes)과 같은 소거 코드들(erasure codes)로부터 얻어질 수 있거나, LT-코드들 또는 랩터 코드들(Raptor codes)과 함께 보다 효율적이고 유동적으로 구현될 수 있다("D. MacKay, Information Theory, Inference, and Learning Algorithms, Cambridge University Press, 2005, Chapter 50").
도 3은 종래기술에 따른 디지털 파운틴 코드들을 이용한 단방향 통신 시스템에서의 객체 전송을 나타낸다.
이러한 코딩 구조에서, 송신기(5)는 리드-솔로몬(RS) 코드, LT 코드 또는 랩터 코드와 같은 디지털 파운틴 코드에 의해 생성된 긴 일련의 고유 패킷들을 전송하고, 일단 수신기(6)가 기설정된 수의 패킷들을 성공적으로 수신 및 수집하면, 전체 메시지(즉, 정보 객체)를 디코딩할 수 있다. 수신기(6)는 최소 수의 패킷들이 수집될 때까지 수신을 계속하고, 이후 복원(reconstruction)을 수행한다. 이러한 구조의 이점은 패킷 손실들을 갖는 채널들에서의 보다 높은 효율성에 있다.
본 발명의 바람직한 응용 예는 이동 장치들간의 음향 기반 연결을 위한 시스템이다. 이러한 종류의 채널은 높은 배경 잡음 레벨, 왜곡 및 예측 불가능하고 변경 가능한 신호 대 잡음 비와 같은 많은 문제를 갖는 것으로 알려져 있다. 전술한 바와 같이, 종래의 기술들은 복수의 단점들을 갖는다.
1) ARQ 구조 및 그 변형 예들은 피드백 채널을 필요로 하고, 이는 일부 응용 예들에서 사용 가능하지 않거나 구현하기에 너무 복잡할 수 있다.
2) 방송 캐러셀은 빈번히 패킷 에러들을 도입하는 채널들에서 효율적이지 않다.
3) LT-코드들 또는 랩터-코드들은 패킷 손실들을 갖는 채널들(인터넷 통신 또는 위성 방송)에서 거의 최적이지만, 이들은 이동 장치들간의 음향 통신과 같은 예측 불가능한 신호 대 잡음 비를 갖는 채널들에서 비효율적일 수 있다. 이는 매우 열악한 채널 조건들에서 대부분의 패킷이 오류를 동반하여 수신될 수 있어서 복호기에 어떠한 유용한 정보도 제공하지 않을 것이거나, 역으로, 양호한 채널 조건들에서 모든 패킷들이 상당한 잡음 여유(noise margin)로 수신될 수 있어서 채널 용량이 이러한 시스템에 의해 완전히 이용되지 않을 것이기 때문이다.
이러한 문제를 해결하기 위해, 향상된 전송 구조는, 내부 코드 또는 패킷 순환 중복 검사(cyclic redundancy check: CRC) 구조에 의해 제공되는 패킷 소거들에 의존하기 보다는(보통 랩터 또는 LT 코드들에 대한 경우와 같이), 각 전송된 비트 또는 데이터 심벌에 대한 소프트 정보(soft information)를 고려하여야 한다. 동시에, 시스템은 광범위한 신호 대 잡음비들 및 채널 조건들에서 최적에 가까운 채널 용량의 이용을 제공하여야 한다.
본 발명의 목적은 아래의 특징들을 갖는 정보 객체 전송 구조를 제공하는 것이다.
(1) 단방향 통신 시스템(즉, 피드백 채널 및 ARQ 메커니즘이 없는)에서 정보 객체들의 신뢰 가능한 전송을 허용해야 한다.
(2) 예측 불가능한 신호 대 잡음 비를 갖는 잡음 채널에서 효율적이어야 하고, 즉 광범위한 채널 조건들에서 최적에 가까운 채널 이용을 제공하여야 한다.
본 발명의 일 측면에 따라, 통신 시스템에서 정보 객체의 인코딩 방법은,
정보 객체를 버퍼에 저장하는 단계와;
상기 버퍼로부터 랜덤하게 선택된 비트들과 상기 버퍼로부터 정규적으로 선택된 비트들을 포함하는 샘플링 셋을 생성하는 단계와;
상기 샘플링 셋의 번호 및 상기 정보 객체의 크기 정보를 포함하는 제어 채널 데이터를 생성하는 단계와,
상기 샘플링 셋 및 제어 채널 데이터를 변조하는 단계를 포함한다.
본 발명의 다른 측면에 따른 인코더는,
정보 객체를 인코딩하여 프리코더 버퍼에 저장하는 프리코더와;
샘플링 셋의 번호와, 상기 샘플링 셋에서 랜덤하게 선택된 비트와 상기 샘플링 셋에서 미리 설정된 규칙에 따라 선택된 비트에 대응되는 상기 프리코더 버퍼의 주소들을 생성하기 위한 샘플번호/주소 생성부와;
상기 샘플번호/주소 생성부에서 생성된 상기 주소에 대응되는 상기 프리코더 버퍼의 비트를 선택하는 다중화기와;
상기 다중화기에서 출력되는 샘플링 셋을 저장하는 샘플링 셋 버퍼와;
상기 샘플번호/주소 생성부에서 생성된 상기 샘플링 셋 번호에 대한 정보를 포함하는 제어 채널 데이터를 형성하는 제어 패킷 형성부와;
상기 샘플링 셋 버퍼에 저장된 샘플링 셋과 상기 제어 패킷 형성부에서 형성된 제어 채널 데이터를 서로 조립하는 패킷 조립 유닛과;
상기 패킷 조립 유닛에서 출력되는 패킷을 미리 설정된 방식으로 변조하는 변조부를 포함한다.
2010년 4월 19일자로 출원된 특허 출원번호 제2010-0032589호("인코더, 디코더, 인코딩 및 디코딩 방법")에서, 단방향 통신 시스템에서 정보 객체들을 전달할 수 있고, 위 두 기준들을 충족하는 정보 전송 시스템을 소개하였다. 본 발명에서, 제안된 시스템의 효율성을 더 향상시킨다. 제안된 수정은 아래의 향상들을 가져온다.
(a) 특히 높은 신호 대 잡음 비 환경에서의 높은 처리율(throughput)
(b) 임의적인 객체 크기들에 대한 유연한 처리
도 1은 종래기술에 따른 ARQ 구조를 갖는 양방향 통신 시스템에서의 객체 전송을 나타내고,
도 2는 종래기술에 따른 방송 캐러셀 구조를 갖는 단방향 통신 시스템에서의 객체 전송을 나타내고,
도 3은 종래기술에 따른 디지털 파운틴 코드들을 이용한 단방향 통신 시스템에서의 객체 전송을 나타내고,
도 4는 본 발명의 바람직한 실시 예에 따른 단방향 통신 구조에서 객체 전송 원리를 나타내고,
도 5는 본 발명의 바람직한 실시 예에 따른 송신기의 상세한 블록 구조를 나타내고,
도 6은 본 발명의 비교 예에 따른 샘플링 셋 선택 방법을 나타내고,
도 7은 본 발명의 바람직한 실시 예에 따른 주소 생성기 및 다중화기의 상세한 블록 구조를 나타내고,
도 8은 본 발명의 바람직한 실시 예에 따른 정규 샘플링 주소 생성기를 위한 변수 선택 절차를 나타내고,
도 9는 (a) 균일한 음향 잡음 스펙트럼의 경우와 (b) 협대역에 초점을 둔 음향 잡음이 존재하는 경우의 송신 신호의 진폭 스펙트럼의 분포 예를 도시하고,
도 10은 본 발명의 바람직한 실시 예에 따른 수신기의 상세한 블록 구조를 나타내고,
도 11은 랜덤하게 샘플링된 셋에서 비트 반복들의 분포로서, (a)는 하나의 셋을 수신한 이후, (b)는 5 셋들을 수신한 이후, (c)는 10 셋들을 수신한 이후를 나타내고(여기에서, N = 1000, K0=100),
도 12는 본 발명의 실시 예에 대한 비트 반복들의 분포로서, (a)는 하나의 셋을 수신한 이후, (b)는 5 셋들을 수신한 이후, (c)는 10 셋들을 수신한 이후를 나타내고(여기에서, N = 1000, K0 ( reg )=90, K0 ( rand )=10),
도 13은 두 샘플링 선택 방법들(랜덤 방식 및 본 발명)의 성능 비교를 나타낸다.
당업자는 도면 내의 요소들이 단순화 및 명료화를 위해 예시된 것이고 축척에 따라 그려지지 않을 수 있음을 알 수 있을 것이다. 예를 들어, 본 발명의 다양한 실시 예들의 이해를 돕기 위해 도면 내 일부 요소들의 치수는 다른 요소들에 비해 과장될 수 있다.
또한, 방법 단계들 및 장치 요소들은 도면 내에서 통상적인 심벌들로 표현되고, 발명의 이해와 관련된 세부 사항들만이 도시됨을 알아야 한다. 또한, 당업자가 용이하게 알 수 있는 세부 사항들은 개시되지 않을 수 있다. 본 발명에서, 제1, 제2와 같은 상대적인 용어들은 한 대상을 다른 대상으로부터 구분하기 위해 사용될 수 있고, 이는 이러한 대상들 사이의 임의의 실제적 관계 또는 순서를 의미하지 않는다.
도 4는 본 발명의 바람직한 실시 예에 따른 단방향 통신 구조에서 객체 전송 원리를 나타낸다.
제안된 시스템에서, 데이터(즉, 정보 객체)는 논리적으로 분리된 두 채널들("제어 채널" 및 "메인 채널"로 불리는)로 처리된다. 제어 채널은 가용 대역폭의 작은 부분을 차지하므로, 오직 작은 부하만을 야기한다. 가용 대역폭의 상당 부분은 메인 채널에 할당된다. 제어 채널은 메인 채널에서 데이터 복원을 가능하도록 하기 위해 필요한 동적 정보를 전달한다.
제안된 시스템에서, 데이터는 또한 패킷들을 이용하여 전송된다. 그러나 패킷은 균일하지 않다. 패킷은 메인 채널 데이터 및 제어 채널 데이터를 포함하고, 이러한 두 채널들에서의 데이터는 상이한 오류 보호 메커니즘들을 갖고, 상이한 물리적 변조 포맷들을 가질 수 있다.
송신기(7)는 프리코더 버퍼를 샘플링하여 생성된 비트들의 셋(즉, 샘플링 셋)을 메인 채널을 통해 수신기(8)로 전송하고, 또한 송신기(7)는 강인한 순방향 오류 정정(robust FEC) 코드로 인코딩된 객체 크기 및 샘플링 셋 번호(sampling set number: SSN)를 제어 채널을 통해 수신기로 전송한다. 상기 수신기(8)는 패킷들을 각각 수신한 후 반복적 디코딩 절차를 수행한다.
제어 채널은 메인 채널에서 복호를 가능하게 하는 정보를 전달한다. 최소한, 메인 채널 데이터는, 메인 채널로 전송되는 정보 객체의 길이 및 현재 샘플링 셋 번호를 포함해야 한다. 샘플링 셋 번호는 수신기(8)에 메인 채널에서의 데이터 배치에 대해 알려주는 고유한 식별자이다. 제어 채널에서의 정보는 매우 높은 리던던시를 갖는 전형적인 오류 정정 코드로 인코딩되므로, 매우 혹독한 잡음 조건들에서도 수신될 수 있다. 메인 채널에서, 인코딩 연산은 두 주요 단계들로 구성된다.
(1) 첫째, 오리지널 메시지는 여러 번 반복 및 인터리빙되며(interleaved), 결과적인 시퀀스(sequence)는 1/(R+1)의 비율을 갖는 컨볼루션 코드(convolutional code)를 이용하여 인코딩된다. 즉, 정보 객체의 각 오리지널 비트에 대해, 컨볼루션 인코더에 의해 생성되는 R 패리티 비트들(parity bits)이 존재한다. 모든 인코딩된 비트들은 프리코더 버퍼(pre-coder buffer)에 저장된다.
(2) 둘째, 각 패킷 생성 간격에서, 주소 생성기는 프리코더 버퍼로부터 기설정된 셋의 비트들을 선택하고, 이러한 비트들을 제어 채널 데이터와 함께 전송한다.
최적의 패킷 크기는 2가지의 고려 사항들에 근거하여 선택된다. 먼저, 전술한 바와 같이, 메인 채널을 통해 전송된 데이터량은 제어 채널에서의 데이터 볼륨보다 상당히 크므로, 제어 채널에서의 코드의 높은 리던던시는 전송 시스템의 누적 효율성(cumulative effectiveness)에 실질적 영향을 미치지 않는다. 다음으로, 많은 응용 예들에서, 과도하게 긴 패킷은 특히 작은 객체들에 대한 객체들의 수신 동안에 바람직하지 못한 지연을 야기할 수 있으므로, 패킷 전송 시간은 상대적으로 짧아야 한다(예를 들어, 1초). 그래서, 특정 응용 예에 의존하는 트레이드 오프(trade-off)가 존재하여야 한다. 수신 장치에서 채널 추정 및 등화를 단순화하기 위한 특별한 파일럿 심벌들의 추가와 함께, 데이터 패킷은 하나 또는 복수 종류의 변조(BPSK, QPSK, n-QAM 등)를 통해 패킷 조립 유닛(Packet assembly unit)에서 변조된다. 고려중인 시스템에서, 하나 또는 복수의 반송파들을 이용한 광대역 변조가 사용될 수 있다(예를 들어, OFDM, CDMA 등). 송신기의 상세한 블록 구조는 도 5에 예시되어 있고, 또한 2010년 4월 19일자로 출원된 특허 출원번호 제2010-0032589호("인코더, 디코더, 인코딩 및 디코딩 방법")를 참조한다.
도 5는 본 발명의 바람직한 실시 예에 따른 송신기의 상세한 블록 구조를 나타낸다. 이하, 입력단 및 출력단은 해당 소자의 입력 및 출력에 각각 대응하고, 예를 들어 제1 소자의 출력단이 제2 소자의 입력단과 연결된다는 표현은 제1 소자의 출력이 곧 제2 소자의 입력이 된다는 의미이다.
상기 송신기(7)는 인코더(101)를 포함하며, 상기 인코더(101)는 제1 입력단(In1)과 제2 입력단(In2)을 통해 정보를 수신한다. 디지털/아날로그 변환기(DAC; Digital to Analog Converter, 102) 및 확성기(loudspeaker)(103)는 상기 인코더(101)의 출력단(Out)과 연속하여 차례로 연결된다. 이외에도 통신 채널 진단을 위해 상기 인코더(101)는 추가 입력단(AddIn)을 구비할 수 있고, 상기 추가 입력단은 상기 송신기(7)의 아날로그/디지털 변환기(ADC1; Analog to Digital Convertor, 104)를 통해 상기 송신기(7)의 마이크로폰(M1)(105)과 연결된다.
상기 인코더(101)는 미리 설정된 인코딩 방식에 따라 입력된 정보 객체를 인코딩하여 프리코더 버퍼(109)에 저장하는 프리코더(10)와, 각 샘플링 셋의 샘플링 셋 번호 및 각 샘플링 셋의 각 비트에 대응되며 상기 프리코더 버퍼(109)의 주소에 해당하는 주소를 생성하기 위한 샘플번호/주소 생성부(12)와, 상기 샘플번호/주소 생성부(12)에서 생성된 상기 주소에 대응되는 상기 프리코더 버퍼(109)의 비트를 선택하는 다중화기(110)와, 상기 다중화기(110)에서 출력되는 각 샘플링 셋의 비트를 저장하는 샘플링 셋 버퍼(111)와, 상기 샘플번호/주소 생성부(12)에서 생성된 상기 샘플링 셋 번호에 대한 정보를 포함하는 제어 패킷(즉, 제어 채널 데이터)을 형성하는 제어 패킷 형성부(14)와, 상기 샘플링 셋 버퍼(111)에 저장되는 샘플링 셋과 상기 제어 패킷 형성부(14)에서 형성된 제어 패킷을 서로 조립하는 패킷 조립 유닛(112)과, 패킷 조립 유닛(112)에서 출력되는 패킷을 미리 설정된 방식으로 음향 신호로 변조하는 변조부(16)를 구비한다.
또한, 추가로 외부 음향 통신 채널에 대한 정보를 제공받아 통신 채널의 음향 스펙트럼을 산출하는 스펙트럼 산출부(18)를 구비할 수 있으며, 상기 변조부(16)는 상기 스펙트럼 산출부(18)로부터 제공되는 정보에 따라 음향 신호의 스펙트럼을 보정하는 구성 소자를 더 구비할 수 있다.
상기 샘플번호/주소 생성부(12)는 샘플링 셋 번호 생성기(115)와 주소 생성기(116)를 포함할 수 있으며, 상기 제어 패킷 형성부(14)는 제어 데이터 패킹 유닛(113)과 제어 데이터 인코더(114)를 포함할 수 있다. 또한, 상기 변조부(16)는 스펙트럼 형성 유닛(117)과, 변조기(118) 및 동기 시퀀스 삽입기(119)를 포함할 수 있으며, 상기 스펙트럼 산출부(121)는 채널 분석 유닛(120)과 스펙트럼 산출 유닛(121)을 포함할 수 있다.
이하 상기와 같은 본 발명의 인코더(101) 및 송신기(7)의 구성 및 동작을 보다 상세히 설명하기로 한다.
상기 프리코더(10)는 차례로 연결된 구성 소자들을 포함하며, 상기 프리코더(10)를 형성하는 상기 구성 소자들은 차례로 연결된 컨테이너 패킹 유닛(CCU; Container Packing Unit, 106), 반복기/인터리버(Repeater and Interleaver, 107)(또는, 반복/인터리빙 유닛이라고도 함), 컨볼루션 인코더(Convolutional Encoder, 108) 및 프리코더 버퍼(Precoder Buffer, 109)를 포함한다. 컨테이너 패킹 유닛(106)의 입력단들은 상기 프리코더(10), 인코더(101) 및 송신기(7)의 각각에 대한 제1 입력단(In1) 및 제2 입력단(In2)에 해당한다. 상기 프리코더 버퍼(109)의 출력단들은 상기 프리코더(10)의 출력단들에 해당하며 다중화기(110)의 입력단들과 일대일 연결된다. 상기 다중화기(110)의 출력단은 샘플링 셋 버퍼(SB; Sampling set Buffer, 111)를 통해 패킷 조립 유닛(Packet Assembling Unit, 112)의 제1 입력단(In1)과 연결된다. 이러한 방식으로, 인코더 메인 데이터의 준비 채널(메인 채널)이 형성된다.
상기 인코더(101)의 제2 입력단(In2)은 제어 데이터 패킹 유닛(Control Data Packing Unit, 113)의 제1 입력단(In1)과 연결되며, 또한 제어 데이터 인코더(Control Data Encoder, 114)를 통해 상기 패킷 조립 유닛(112)의 제2 입력단(In2)과 연결된다. 이와 동시에, 인코더 제어 데이터의 준비 채널(제어 채널)이 형성된다.
샘플링 셋 번호 생성기(Sample Number Generator, 115)의 출력단은 상기 제어 데이터 패킹 유닛(113)의 제2 입력단(In2)과 연결되며, 주소 생성기(EAG; Encoder Address Generator, 116)를 통해 상기 다중화기(110)와 연결된다. 상기 주소 생성기(116)는 또한 상기 인코더(101)의 제2 입력단(In2)과 연결된다. 상기 인코더(101)의 제2 입력단(In2)은 반복기/인터리버(107)의 추가적인 입력단과 연결된다.
패킷 조립 유닛 (112)의 출력단은 차례로 연결된 스펙트럼 형성 유닛(117), 변조기(118) 및 동기화 시퀀스 삽입기(Synchro-Sequence Inserter, 119)를 통해 상기 인코더(101)의 출력단(Out)과 연결된다.
인코더(101)의 추가 입력단(AddIn)은 차례로 연결된 채널 분석 유닛(Channel Analyzer Unit, 120)과 스펙트럼 산출 유닛(Spectrum Calculation unit, 121)를 통해 스펙트럼 형성 유닛(117)의 추가적인 입력단과 연결되는데, 이는 전송 신호의 최적 진폭 스펙트럼을 계산하기 위함이다.
이외에도 도시하지 않았지만, 상기 인코더(101) 및/또는 송신기(7)에 다른 추가적인 입력이 예상될 수 있다. 예를 들어, 상기 인코더(101)의 특정 구성 소자에게 입력 데이터 전송의 필요를 알리기 위한 시작 입력과, 상기 인코더(101)에 입력 데이터 전송 종료를 명령하기 위한 대안적인 통신 채널의 입력이 있을 수 있다.
송신기(7) 회로는 요구되는 모든 회로 소자에게 전력 공급할 수 있도록 구현된다.
본 발명에 따른 시스템의 송신 측은 상기한 송신기(7)를 포함하며, 그 기능은 하기와 같다.
상기 인코더(101), 디지털/아날로그 변환기(102), 아날로그/디지털 변환기(104), 확성기(103), 마이크로폰(105)이 활성화되어 대기 상태에 있는 때에 송신기(7)는 스위치 온된다(switched on).
인코딩의 예비 단계에서, 송신기(7)의 제1 입력단(In1)에 정보 객체(파일, 메시지 등)가 입력되고, 상기 송신기(7)의 제2 입력단(In2)을 통해 상기 정보 개체의 크기에 대한 데이터가 상기 주소 생성기(116) 및 제어 데이터 패킹 유닛(113)으로 입력된다. 컨테이너 패킹 유닛(106)에서 상기 정보 객체는 표준 컨테이너로 패킹된다. 이를 위해 헤더 라벨(header label)이 상기 정보 객체에 부가되며, 무결성 체크를 위한 바이트(예를 들어, 체크섬, CRC 및 해쉬-코드 등)가 설정된다.
더욱이, 상기 컨테이너 패킹 유닛(106)에서 컨테이너는 에러정정 코드(예를 들어, 리드-솔로몬 코드)에 의해 인코딩될 수 있다. 상기 컨테이너 패킹 유닛(106)으로부터의 컨테이너와 상기 컨테이너 패킹 유닛(106) 또는 상기 인코더(101)의 제2 입력단에서 분기된 상기 정보 객체의 크기 정보는 상기 반복기/인터리버(107)로 전달되며, 여기서 상기 컨테이너의 데이터 비트는 정해진 횟수로 반복되며 혼합된다. 이러한 재배열(rearrangement)의 의사랜덤 기능은 상기 정보 객체의 크기에 의존한다.
이후 컨볼루션 코드 인코딩이 컨볼루션 인코더(108)에서 수행된다. 상기한 방식으로 인코딩된 비트를 형성하는 것(즉, 반복 및 인터리빙 이후의 컨볼루션 인코딩)은 수신 측에서의 반복적인 디코딩의 경우에 코드의 높은 잡음-내성을 달성하게 하는 것으로 알려져 있다. 하지만, 본 발명에서는 이러한 방식으로 인코딩된 정보 객체(송신용 데이터 블록)가 직접적으로 변조기 및 통신 채널로 송신되지 않는다. 상기 인코딩된 정보 객체는 컨볼루션 인코더(108)로부터 프리코더 버퍼(109)로 전달된다.
상기 송신용 데이터 블록은 인코딩의 메인 단계를 위해 프리코더 버퍼(109)에 저장된다. 예비 단계는 통신 채널(본 실시 예에서는 음향)을 통한 전송의 시작 이전에 한 번만 수행되며, 이에 따라 가변 통신 채널에 따른 송신 특성의 추가적인 조정이 필요한 경우에도 프리코더 버퍼(109)의 콘텐츠는 변경되지 않고 그대로 남아있게 된다.
상기 제시한 기술적 구현들의 다른 실시 예에서 상기 프리코더(10)는 임의의 공지된 방법에 의해 형성될 수 있음을 유의하여야 한다. 이 경우에 임의의 리던던시를 갖는 에러정정 코드가 사용될 수 있다.
이후 인코딩의 기본(메인) 단계가 수행된다. 상기 송신기(7)가 스위치 온된 때에 샘플링 셋 번호 생성기(115)의 시작은 임의의 공지된 방법(즉, 시작 입력 또는 반복기/인터리버(107)로부터의 명령)에 의해 수행된다.
샘플링 셋 번호 생성기(115)는 프리코더 버퍼(109)로부터의 비트 샘플링을 위해 정해진 주기로 식별 번호로 기능하는 샘플링 셋 번호(무작위 값 또는 순차적인 값)를 생성하며, 이를 주소 생성기(116) 및 제어 데이터 패킹 유닛(113)의 제2 입력단으로 전달한다.
본 발명의 성능에 직접적으로 영향을 미치는 핵심 요소들 중의 하나는 주소 생성기(116)이고, 이는 비트 선택 기능을 실현한다. 주소 생성기(116)는 비트들이 어떻게 프리코더 버퍼(109)로부터 샘플링될 것인지를 제어한다. 프리코더 버퍼(109)는 통상적으로 오리지널(조직적) 데이터 및 일부 추가적인 패리티 데이터를 포함할 것이다. 사실, 비트 선택 절차는 완전히 랜덤할 수 있지만, 이러한 경우에 시스템 성능은 최적 성능보다 다소 악화될 것이다. 이는, 비트 위치들이 완전히 랜덤한 방식으로 선택될 때 일부 비트들이 연속적인 패킷들 또는 동일한 패킷에서조차 여러 번 반복될 수 있는 반면에, 일부 비트들은 오랜 기간 동안 샘플링 셋 버퍼(111)에 존재하지 않을 수 있기 때문이다.
도 6은 본 발명의 비교 예에 따른 샘플링 셋 선택 방법을 나타낸다.
본 비교 예에서, 주소 생성기(116a)로서 예를 들어 선형 합동 생성기(linear congruential generator: LCG)와 같은 단순한 의사랜덤 함수(pseudo-random function)가 이용된다("P. L'Ecuyer, "Tables of Linear Congruential Generators of Different Sizes and Good Lattice Structure", Mathematics of Computation 68 (225): 249-260, 1999"). 이러한 상황에서, 주소 생성기(116a)는 하나의 바람직한 성질을 갖는다. 주소 생성기(116a)는 주기적으로 의사랜덤 값들을 생성하고, 전주기(full-cycle) 주소 생성기(116a)는 주기 내 생성된 값들을 반복하지 않는다. 만약 이러한 주소 생성기(116a)가 본 발명의 시스템에 사용되면, 다중화기(110a)를 통해 샘플링 셋을 수신하는 샘플링 셋 버퍼(111)는 비트 반복들을 포함하지 않을 것이다(만약 샘플링 셋 버퍼(111)가 인코딩된 버퍼보다 작다면). 또한, 만약 주소 생성기(116a)가 이전 패킷 전송 동안의 주소 생성기(116a)의 마지막 상태에 대응하는 상태로 초기화되면, 연속적인 두 샘플링 셋들 내의 비트들은 마찬가지로 중첩되지 않을 것이다. 불행하게도, 이러한 접근은 또한 단점들을 갖는다. 주요한 단점은 전주기 주소 생성기(116a)가 임의적인 객체 길이들에 대해 용이하게 구성될 수 없다는 것이다. 그래서, 만약 개체의 길이가 기설정된 값들 중의 하나와 매우 다르다면, 시스템 성능은 악화될 수 있다.
도 7은 본 발명의 바람직한 실시 예에 따른 주소 생성기 및 다중화기의 상세한 블록 구조를 나타낸다.
상기 주소 생성기(116)는 각각 랜덤 비트들의 선택을 위하여 랜덤 값을 출력하는 다수((R+1) 개)의 랜덤 주소 생성기(RaAG; Random Address Generator, 1161)(RaAG0~RaAGR)와, 각각 정규 비트들의 선택을 위하여 기설정된 규칙에 따른 정규 값을 출력하는 다수((R+1) 개)의 정규 주소 생성기(ReAG; Regular Address Generator, 1162)(ReAG0~ReAGR)를 포함한다. 상기 다중화기(110)는 다수의 랜덤 주소 생성기(1161)와 일대일 연결된 다수((R+1) 개)의 제1 다중화기(MUX1, 1101)와, 상기 다수의 정규 주소 생성기(1162)와 일대일 연결된 다수((R+1) 개)의 제2 다중화기(MUX2, 1102)와, 각각 해당 랜덤 주소 생성기(1161) 및 해당 정규 주소 생성기(1162)와 연결된 다수((R+1) 개)의 스위치(SW; Switch, 1104)(SW0~SWR)와, 상기 다수의 스위치(1104)와 연결된 제3 다중화기(MUX3, 1103)를 포함한다. 상기 다수의 랜덤 주소 생성기(1161) 및 다수의 정규 주소 생성기(1162)의 각각은 상기 샘플링 셋 번호 생성기(115)로부터 공통의 샘플링 셋 번호를 수신한다. 한 쌍을 이루는 랜덤 주소 생성기(1161) 및 정규 주소 생성기(1162)는 상기 프리코더 버퍼(109)의 오리지널 데이터 세그먼트 또는 해당 패리티 데이터 세그먼트에 대응된다. 랜덤 주소 생성기(1161) 및 정규 주소 생성기(1162)의 쌍은 해당 스위치(1104)와 연결되며, 이때 상기 랜덤 주소 생성기(1161) 및 정규 주소 생성기(1162)의 출력단들은 상기 스위치(1104)의 제1 및 제2 입력단들과 각각 연결되고, 상기 스위치(1104)의 출력단은 상기 제3 스위치(1103)의 해당 입력단과 연결된다.
본 발명에 따른 샘플링 셋 선택 방법은 임의의 길이의 정보 객체에 대해 적합하다.
프리코더 버퍼(109)로부터 선택된 비트들의 셋이 2가지의 다소 모순적인 조건들을 만족해야 함을 인식해야 한다. 먼저, 이는 기초적인 랜덤 성질을 가져야 하고, 여러 연속적인 샘플링 셋들에서와 마찬가지로 단일 샘플링 셋에서 가능한 최소의 반복들을 생성해야 한다. 이러한 목표를 달성하기 위해, 본 발명은 이하의 절차를 수행한다.
첫째, 오리지널 및 패리티 데이터로부터 비트들의 균일한 표시를 가능하게 하기 위해, 프리코더 버퍼(109)는 (R+1) 세그먼트들로 분할되고, 여기에서 0~(N-1)의 번호를 갖는 비트들은 오리지널 데이터 비트들을 나타내고, N~(2N-1)의 번호를 갖는 비트들은 제1 패리티 비트들을 나타내고, 2N~(3N-1)의 번호를 갖는 비트들은 제2 패리티 비트들을 나타내는 등의 방식이다.
둘째, 비트들의 두 그룹들은 프리코더 버퍼(109)의 각 세그먼트로부터 선택된다.
a) 정규(regular) 그룹
b) 랜덤 그룹
랜덤 그룹은 양호한 통계적 성질들을 갖는 적절한 랜덤 주소 생성기(1161)를 이용하여 완전히 랜덤한 방식으로 선택될 것이다. 정규 그룹은 이하 상세히 설명되는 것처럼 잘 구성된 알고리즘에 의해 선택될 것이다.
오리지널 데이터 세그먼트로부터 선택된 비트들의 수를 K0, i번째 패리티 세그먼트로부터 선택된 비트들의 수를 Ki(즉, K1, K2,..., KR)로 표기하기로 한다.
Figure pat00001
오리지널 세그먼트로부터 선택된 비트들의 셋은 K0 ( reg )의 정규적으로 선택된 비트들 및 K0 ( rand )의 랜덤하게 선택된 비트들로 구성된다. 유사하게, i번째 패리티 세그먼트로부터 선택된 비트들의 셋은 Ki ( reg )의 규칙적으로 선택된 비트들 및 Ki ( rand )의 랜덤하게 선택된 비트들로 구성된다.
프리코더 버퍼(109)에 저장된 전체 비트 수 (R+1)N은 일반적으로 샘플링 셋 내 비트들의 수(K)보다 매우 크다.
각 데이터 세그먼트로부터의 랜덤한 비트 그룹의 선택은 0~(N-1) 범위의 의사랜덤 값들을 생성하는 랜덤 주소 생성기들(1161)을 이용하여 수행될 수 있고, N은 각 세그먼트의 크기(또는 오리지널 데이터의 길이)이다. 오리지널 데이터 세그먼트로부터 K0 ( rand )의 랜덤 비트들을 선택하기 위해, 랜덤 주소 생성기(1161)의 출력은 비트 주소로서 직접적으로 사용될 것이고, 패리티 세그먼트들 중의 하나로부터 랜덤 비트들을 선택하기 위해, 주소는 아래와 같이 생성될 수 있다.
Figure pat00002
여기에서, i는 패리티 세그먼트의 인덱스를 나타낸다. 송신기(7) 및 수신기(8) 모두를 동기화하기 위해, 랜덤 주소 생성기(1161)는 동일한 랜덤 시드(random seed)로 초기화되어야 하고, 이는 보통 샘플링 셋 번호의 어떤 함수이다. 즉, rand_seed = f(SSN).
오리지널 데이터 세그먼트로부터 K0 ( reg )의 정규 비트들을 선택하기 위해, 정규 주소 생성기(1162)는 아래의 수학식 3에 따른 비트 선택 인덱스를 생성할 수 있다.
Figure pat00003
여기에서, j는 샘플 인덱스이고, 이는 아래의 값들을 취한다.
Figure pat00004
여기에서, SSN은 샘플링 셋 번호이고, A0는 기선택된 상수(고정 오프셋)이고, P0는 오리지널 데이터 크기 N에 의존하는 변수이다. 바람직한 성질들을 구현하기 위해, P0는 N에 대해 서로소(relatively prime)이어야 한다. 즉, P0는 소수이고, N의 약수가 아니어야 한다. 변수 P0를 생성하기 위한 간단한 해법은, 소수들의 테이블을 검색하고, 기설정된 테이블로부터 첫째 소수를 선택하는 것이고, 이러한 수로 N을 나누면 0이 아닌 나머지가 생성된다. 만약 N을 예비 P0로 나눈 나머지가 0이면, 테이블로부터 다음 소수가 선택될 것이고, 나머지 값을 산출하는 함수인 rem[N/P0] 조건이 다시 확인될 것이다. 만약 변수 P0가 정확하게 선택되었다면, 인덱스는 자신을 반복하기 전에 0~(N-1)의 범위 내에서 모든 가능한 값들을 포괄할 것임을 알 수 있다. 그래서, 만약 인덱스들 SSN = m, m+1, m+2, m+2, ...를 갖는 여러 연속적으로 생성된 샘플링 셋들을 고려하면, 오리지널 데이터 세그먼트의 모든 비트들이 누락 없이 최소 수의 반복들로 선택된 샘플링 셋들 내에 표시되는 것을 알 수 있을 것이다.
동일한 절차가 패리티 데이터 세그먼트들로부터 Ki ( reg )의 정규 비트들을 선택하는데 사용될 것이다. 이러한 경우에, 정규 주소 생성기(1162)는 아래의 수학식에 따라 비트 선택 지수를 생성할 것이다.
Figure pat00005
여기에서, j는 샘플 인덱스이고, 이는 아래의 값들을 취한다.
Figure pat00006
여기에서, Ai 및 Pi는 A0 및 P0에 유사한 변수들이다. 보다 나은 결과를 얻기 위해, 각 세그먼트(오리지널 및 패리티)를 위한 Ai 및 Pi는 서로 달라야 한다. Ai 계수는 미리 선택될 수 있고 임의의 N 값에 대해 고정될 수 있다.
Pi 계수는 P0와 동일한 방식을 이용하여 선택될 수 있지만, Pi 에 대한 비유사한 값들을 얻기 위해, 서로소 P1의 검색은 P0보다 큰 첫째 소수로부터 시작될 수 있다. 유사하게, 서로소 P2의 검색은 P1보다 큰 첫째 소수로부터 시작될 수 있는 등의 방식이다.
보다 나은 성능을 구현하기 위해, 변수들 P0, P1, ..., PR 및 A0, A1, ..., AR은 특정 수의 샘플링 셋들의 생성 이후에 동적으로 수정될 수 있다. 변수들 A0, A1, ..., AR의 여러 셋은 미리 정의되고, ROM 테이블에 저장될 수 있는 반면에, 변수들 P0, P1, ..., PR은 전술한 알고리즘의 이용, 즉 소수들의 테이블로부터 값을 선택하고 상기 값이 N에 대한 서로소인지를 확인함으로써 다시 선택될 수 있지만, 각 선택의 경우에 재정렬(교환)된 소수 테이블을 이용할 수 있다. 이 방법은 송신기(7)가 복수 회 정규 비트 그룹의 실질적으로 동일한 셋을 선택하는 것을 방지한다.
도 8은 본 발명의 바람직한 실시 예에 따른 정규 샘플링 주소 생성기를 위한 변수 선택 절차를 나타낸다.
S110 단계에서, 샘플링 셋 번호의 입력에 따라, 소수 테이블 내 소수들(primes[])이 재정렬(또는 교환)된다. S120 단계에서, 변수들 I 및 m이 0으로 초기화된다. S130 단계에서, 테이블 내 i번째 소수 primes[i]를 예비 값 Pcandidate로 설정한다. S140 단계에서, N을 예비 값 Pcandidate로 나눈 나머지 값 rem[N/Pcandidate]을 나머지 값 rem으로 설정한다. S150 단계에서, 나머지 값 rem이 0인지의 여부를 결정한다. 나머지 값 rem이 0이면, S160 단계에서, 변수 I를 1만큼 증가시키고, S130 단계로 복귀한다. 나머지 값 rem이 0이 아니면, S170 단계에서, 변수 Pm을 Pcandidate로 설정한다. S180 단계에서, 변수 m이 R과 동일한지의 여부를 결정한다. 변수 m이 R과 동일하지 않으면, S190 단계에서, 변수 I 및 m을 각각 1만큼 증가시키고, S130 단계로 복귀한다. 변수 m이 R과 동일하면, 본 변수 선택 절차를 종료한다. 다시 도 5를 참조하면, 샘플링 셋 버퍼(111)로부터의 샘플링 비트 셋은 추가적인 에러정정 코드의 적용 없이 패킷 조립 유닛(112)의 제1 입력단으로 전달된다. 이에 따라, 정보 객체 부분은 "메인 채널"로서 형성된다.
인코더(1)의 제2 입력단(In2)으로부터 제어 데이터 패킹 유닛(113)의 제1 입력단으로 객체 크기 정보가 입력될 때, 샘플링 셋 번호 생성기(115)로부터 제어 데이터 패킹 유닛(113)의 제2 입력단으로 입력되는 샘플링 셋 번호는 제어 데이터 패킹 유닛(113)의 동작을 초기화한다. 제어 데이터 패킹 유닛(113)은 제어 데이터를 조립하는데, 제어 데이터는(컨테이너 패킹 유닛의 동작을 고려하여) 컨테이너 크기 및/또는 객체 크기, 샘플링 셋 번호 및 기타 보조 정보를 포함한다. 제어 데이터 인코더(114)에서 제어 데이터는 에러정정 코드에 의해 인코딩되며, 특정한 체크 심벌이 부가됨으로써 제어 패킷 무결성(예를 들어, 체크섬, CRC 등)을 체크할 수 있도록 한다. 제어 데이터 인코더(114)에서 생성된 제어 패킷은 패킷 조립 유닛(112)의 제2 입력단으로 전달된다. 이에 따라 상기 "메인 채널"에서의 각 샘플링 셋의 형성과 동시에, 이에 대응하는 제어 패킷이 일명 "제어 채널"로서 형성된다.
대체로 제어 채널에서의 인코딩은 높은 리던던시 코드와 결과적인 높은 잡음 내성을 갖도록 수행되며, 이에 따라 제어 채널은 통신 채널의 심각한 잡음 및 간섭 조건에서도 수신될 수 있다. 이때, 제어 채널은 메인 채널의 정보량과 비교하여 소량의 정보만을 포함하는데, 이는 제어 채널의 조건에서는 누적되는 리던던시가 비교적으로 작을 수 있게 한다.
이러한 두 채널 인코딩의 구조(메인 채널의 리던던시는 제어 채널 리던던시에 비해 작다)는 정보 객체 전송 속도를 많이 증가시키며 또한 큰 정보 객체를 전송할 가능성을 제공한다(메인 채널의 데이터 리던던시가 낮으면, 정보 객체 전송 속도는 높아진다). 메인 채널과 제어 채널에서 동일한 잡음 내성 정도에 의해, 정보 객체 전송 속도는 개별 샘플의 높은 반복 수신율 및 정보 객체의 성공적인 복구로 인해 상당히 증가한다.
메인 채널과 제어 채널은 서로 다른 보안 메커니즘을 가지고, 서로 다른 물리적 포맷을 가질 수 있다. 제어 채널은 메인 채널을 디코딩하는 것이 가능하게 하는 정보를 운반하고, 이 정보는 메인 채널로 전송되는 정보 객체의 길이, 현재 샘플링 셋 번호를 포함한다. 샘플링 셋 번호는 메인 채널의 데이터 배열에 관해 수신기(8)에 알려주는 고유한 식별자 역할을 한다.
메인 채널의 인코딩 동작은 크게 두 단계로 구분할 수 있는데, 첫째, 원래의 정보 객체는 수회 반복되며, 인터리빙되고, 이후 그 결과물은 예를 들어 1/(R+1)의 비율을 갖는 컨볼루션 코드를 사용하여 디코딩될 수 있고(즉 정보 객체의 각각의 원래의 비트를 위해 R 패리티 비트들이 발생함), 컨볼루션 인코더(108)에서 디코딩된 모든 비트들은 프리코더 버퍼에 저장된다. 둘째, 각 패킷 발생 인터벌(interval)에서, 주소 생성기(116)에서 발생한 주소에 따라 프리코더 버퍼(109)로부터 설정된 비트들의 셋을 선택하며, 이 비트들은 이후 제어 채널 데이터와 함께 전송된다.
제어 패킷 비트 및 샘플 비트(즉, 샘플링 셋의 비트)는 최적의 크기의 데이터 패킷을 형성한다. 최적 패킷 크기는 2가지 고려사항에 근거하여 선택된다. 한편으로는, 주목된 바와 같이 메인 채널을 통해 전송되는 데이터량은 제어 채널에서의 데이터량보다 상당히 커야 하므로, 이에 따라 제어 채널에서 코드의 높은 리던던시는 송신 시스템의 누적적인 효율성에 크게 영향을 끼치지 않는다. 한편, 과도하게 긴 패킷은 정보 객체 수신 중에 원치 않은 지연을 초래할 수 있으므로, 많은 응용 예들에서 패킷 송신 시간은 비교적 짧아야 한다(예를 들어, 1초). 따라서, 이들은 특정한 애플리케이션에 따라 트레이드 오프된다.
데이터 패킷은 하나 이상의 변조 방식(예를 들어, BPSK, QPSK, n-QAM)에 의해 패킷 조립 유닛(112)에서 변조되는데, 수신기(8)에서의 채널 추정(estimation) 및 채널 등화(equalization) 절차를 단순화하기 위해 특정한 파일럿 심벌들(pilot symbols)을 부가한다. 상기 시스템에서는 예를 들어, 하나 또는 다수의 반송파를 갖는 광대역 변조(예를 들어, OFDM, CDMA 등)가 사용될 수 있다. 사용자에 대한 가청음의 감지성을 줄이고 동시에 음의 광대역 특성 및 평균 전력을 보존하기 위해, 톤 스펙트럼(tone spectrum)이 변조기(118)로의 송신 이전에 스펙트럼 형성 유닛(117)에서 정정되는데, 그러한 성능을 구현하기 위해 예를 들어, 필터가 사용된다. 스펙트럼 정정은 적응적으로 수행될 수 있다.
이러한 정정은 상기 송신기(7)가 마이크로폰(M1)(105)과 아날로그/디지털 변환기(ADC1)(104)를 포함하는 경우에 가능하다. 이 경우에, 마이크로폰(M1)(105)으로부터 아날로그/디지털 변환기(ADC1, 104)를 통해 전달된 가청음은 채널 분석 유닛(120)에서 정해진 주기로 분석된다. 여기서는 통신 채널에서의 음향 잡음의 레벨 및 스펙트럼 구성(spectral composition)을 평가한다. 이 경우에, 본 발명의 시스템의 예에서는 음향 잡음은 송신기(7) 자체에서 방출되는 신호를 제외한 모든 가청음(음성, 음악, 통지의 가청음 등)을 의미한다. 이후, 스펙트럼 산출 유닛(SE, 121)에서 구현된 음향 감지의 음향심리(psycho-acoustic) 모델에 의거하여 최적 신호 스펙트럼의 계산이 수행된다. 여기서, 음향 감지성이 변경되지 않으면서 신호 전력은 최대로 제공된다.
도 9는 (a) 균일한 음향 잡음 스펙트럼의 경우와 (b) 협대역에 초점을 둔 음향 잡음이 존재하는 경우의 송신 신호의 진폭 스펙트럼의 분포 예를 도시한다.
특히, 스펙트럼 산출 유닛(121)에서 도 9에서 도시된 바와 같이 주파수 숨김 효과가 적용되는데, 여기서 (점선으로 된) 음향 잡음을 갖는 통신 채널에서 바람직한 신호 스펙트럼은 실선으로 표시된다. 따라서, 음향 잡음 레벨이 균일에 가까운 경우(도 9의 (a)), 진폭 스펙트럼의 분포는 잡음 신호에 대한 인간의 귀의 평균 감도와 반비례한다(예를 들어, 이러한 감도 특성은 ITU-R 468 표준에서 결정된다).
일정한 주파수에서 표시된 피크를 갖는 심각한 음향 간섭의 경우, 최적 분포는 주파수 숨김 효과를 고려하는 때에 잡음 신호에 대한 귀의 감도에 의해 결정된다. 이러한 분포 예는 도 9의 (b)에서 제공된다. 심한 원치 않은 가청음은 인접 주파수 구간들에 위치한 신호 성분들을 마스크하는데, 이에 따라 인접 주파수에서의 전송 신호의 세기는 전송된 신호의 음향 용량의 자각적인 증가 없이 증가하게 된다.
스펙트럼 산출 유닛(121)으로부터 추정된 데이터는 스펙트럼 형성 유닛(117)으로 전송되는데, 여기서 신호의 스펙트럼 보정은 각 데이터 패킷에 대한 가변 통신 채널에 따라 수행되며, 이는 또한 수신 장치에 의한 무-에러 데이터 수신 가능성을 추가로 증가시키며(따라서, 또한 전송 속도를 증가시키며), 아울러 송신 신호는 사용자에게 거의 주목되지 않게 된다.
또한, 변조기(118)에서 상기 보정된 심벌이 변조되며 정보 신호가 얻어진다. 동기 시퀀스 삽입기(119)에서 동기 신호가 시간 도메인에서 정보 신호에 부가됨으로써 수신기에서의 동기화 및 채널 정렬 과정의 단순화를 가져오도록 한다. 이러한 방식으로 얻어진 송신 신호는 디지털/아날로그 변환기(102) 및 확성기(103)를 통해 통신 채널로 전달된다.
도 10은 본 발명의 바람직한 실시 예에 따른 수신기의 상세한 블록 구조를 나타낸다.
수신 측에서, 먼저 신호가 복조되고, 이후 채널 왜곡들이 채널 등화기에서 보상될 수도 있다.
상기 수신기(8)의 개략적인 동작에 대해 살펴보면 아래와 같다.
복조기(205)는 제어 채널 및 주 채널에 대한 소프트 비트 결정들("soft" bit decisions)을 각각 만들어낸다. 제어 채널들에 대한 소프트 비트 결정들은 제어 채널 디코더(211)로 전달된다. 성공적인 제어 채널 디코딩의 경우에, 객체 컨테이너 크기 및 현재 SSN에 대한 정보는 주소 생성기(212)로 전달되고, 이는 송신기(7) 측에서의 주소 생성기(116)와 대응된다.
주 채널에 대응하는 소프트 결정들은 주소 생성기(212)에 의해 생성된 주소 정보에 따라 제2 역다중화기(DeMux2, 208)에 의해 역다중화된다. 이후, 각 수신된 샘플링 셋 비트에 대한 소프트 결정들은 대응하는 누산기(accumulator, 209a)에 점차 누적된다(상기 합산부(209)의 각 누산기(209a)는 프리코더 버퍼(109) 내 1비트에 대응함). 이후, 누적된 소프트 결정들은 누적 버퍼(210)에 저장된다. 특정 최소 수의 소프트 결정들이 누적 버퍼(210)에 전달된 직후, 디코딩 절차가 반복 디코더(213) 내에서 시작된다. 디코딩 시도 이후 수신기(8)는 디코딩된 객체의 무결성(integrity)을 검사할 것이고, 만약 무결성 검사가 성공적이면, 디코딩 절차가 종료될 것이다. 한편, 만약 디코딩 시도가 실패하면, 디코더(201)는 다음 샘플링 셋을 갖는 다음 패킷의 도착을 대기할 것이고, 이후 디코딩을 다시 시도하는 등 마침내 객체가 정확하게 디코딩될 때까지 이러한 절차를 계속할 것이다.
상기 수신기(8)의 구체적인 동작에 대해 살펴보면 아래와 같다.
상기 수신기(8)는 디코더(201)를 포함하며, 디코더(201)의 입력단(In)은 수신기(8)의 아날로그/디지털 변환기(ADC2, 202)를 통해 상기 수신기(8)의 마이크로폰(M2, 203)과 연결된다.
디코더(201)는 미리 설정된 복조 방식에 따라 입력된 음향 신호를 복조하는 복조부(20)와, 복조부(20)에서 출력된 각 수신 비트의 소프트 값을 판정하며 샘플링 셋의 비트들과 해당 샘플링 셋의 정보를 담고 있는 제어 패킷의 비트들을 분리하는 제1 역다중화기(DeMux1, 207)와, 상기 제어 패킷에 따라 해당 샘플링 셋의 각 비트에 대응되는 주소를 생성하기 위한 주소 생성부(22)와, 상기 샘플 비트의 소프트 판정을 수신하여 상기 주소 생성부(22)에 의해 생성된 주소 정보에 따라 역다중화하여 출력하는 제2 역다중화기(208)와, 상기 제2 역다중화기(208)의 각 출력 별로 소프트 판정을 누산하는 합산부(209)와, 상기 합산부(209)의 누적된 소프트 판정을 저장하는 누적 버퍼(210)와, 상기 누적 버퍼(210)에 저장된 샘플링 셋의 디코딩을 수행하는 디코딩 모듈(24)을 포함한다.
상기 복조부(20)는 동기화기(204)와, 복조기(205), 채널 추정 유닛(206)을 포함하며, 상기 주소 생성부(22)는 제어 채널 디코더(211)와, 주소 생성기(212)를 포함할 수 있다. 또한, 상기 디코딩부(24)는 반복 디코더(213)와, 데이터 무결성 체크 유닛(214)과, 컨테이너 언패킹/객체 복원 유닛(container unpacking and object reconstruction unit, 215)으로 구성될 수 있다.
이하 상기와 같은 본 발명의 디코더(201) 및 수신기(8)의 구성 및 동작을 보다 상세히 설명하기로 한다.
디코더(201)에서 동기화기(204), 복조기(205), 채널 추정 유닛(206) 및 제1 역다중화기(207)는 연속하여 연결된다.
제1 역다중화기(207)의 제1 출력단(Out1)은 제2 역다중화기(208)의 제1 입력단(In1)과 연결되며, 제2 역다중화기의 출력단들은 각각 누산기(Σ, 209)를 통해 대응되는 누적 버퍼(SB; Storage Buffer, 210)의 입력단들과 연결된다. 합산부(209)를 구성하는 누산기들(209a)의 수는 도 5에 도시된 인코더(101)의 프리코더 버퍼(109)의 비트 수와 대응한다.
제1 역다중화기(207)의 제2 출력단(Out2)은 제어 채널 디코더(211)와 연결되며, 제어 채널 디코더(211)의 제1 출력단과 제2 출력단은 주소 생성기(212)의 입력단들과 각각 연결되며, 주소 생성기(212)의 출력단은 상기 제2 역다중화기(208)의 제2 입력단(In2)과 연결된다.
누적 버퍼(210)는 연속하여 연결된 반복 디코더(Iterative Decoder, 213), 데이터 무결성 체크 유닛(Data Integrity Check Unit, 214), 컨테이너 언패킹/객체 복원 유닛(215)을 통해 디코더(201)의 출력단과 연결되며, 디코더(201)의 출력단은 수신기(8)의 데이터 출력단(Out)이 된다. 동시에, 데이터 무결성 체크 유닛의 추가적인 출력단은 반복 디코더(213)의 추가적인 입력단과 연결되며, 또한 상기 수신기(8)의 추가적인 출력단(AddOut)이 된다.
수신기(8) 회로는 모든 회로 소자 각각에 대한 전력 공급을 가능하게 하도록 구성되며, 이러한 전력 공급기를 구비할 수 있다.
상기한 수신기(8)를 포함하는 본 발명에 따른 시스템의 수신 측은 하기의 방식으로 동작한다.
디코더(201), 아날로그/디지털 변환기(ADC2, 202), 마이크로폰(M2, 203)이 활성화되어 대기 모드로 되는 때에, 수신기는 스위치 온된다.
마이크로폰(M2, 203)을 통한 통신 채널로부터의 신호는 아날로그/디지털 변환기(ADC2, 202)로 전달되며, 여기서 신호는 디지털화되고 디코더(201)의 입력단(In)으로 전송된다. 동기화기(204)에서는, 동기 신호에 의한 송신 신호를 검출한 후, 신호의 경계를 복원하고 샘플링 주파수의 정확한 조정이 수행되고 인입 신호(incoming signal)가 수신된다. 이후, 수신 신호가 하나 또는 다수의 반송파를 갖는 복조기(205)로 전달되는데, 복조기(205)는, 필터 뱅크 또는 고속 푸리에 변환에 기반하여, 도 5에 도시된 인코더(101)의 변조기(118)에 대응되게 구현된다. 채널 추정 유닛(206)에서는, 파일럿 심벌을 이용하여 통신 채널과 잡음 성분의 평가가 수행되며 왜곡 스펙트럼이 적응적으로 평가된다. 제1 역다중화기(207)에서는, 수신 비트의 "소프트(soft)" 값이 판정되며, 메인 채널을 위한 샘플 비트와 제어 채널을 위한 제어 패킷 비트를 분리시킨다.
제어 패킷의 "소프트 판정(soft decision)"은 도 5에 도시된 인코더(101)의 제어 데이터 인코더(114)에 순응하여 설계된 제어 채널 디코더(211)로 전달된다. 제어 패킷의 성공적인 디코딩의 경우에, 제어 채널 디코더(211)의 제1 출력단을 통한 컨테이너 크기 데이터와 제어 채널 디코더(211)의 제2 출력단을 통한 샘플링 셋 번호는 도 5에 도시된 송신기(7)의 주소 생성기(116)와 유사한 주소 생성기(212)의 입력단들로 각각 전송된다. 동시에 주소 생성기(212)에서 비트 주소가 생성되는데, 이는 송신기(8) 인코더(101)의 프리코더 버퍼(109)의 주소와 대응한다.
샘플 비트에 대응하는 "소프트 판정"은 주소 생성기(212)에 의해 생성된 주소 정보에 따라 제2 역다중화기(208)에 의해 역다중화된다. 이후, 각각의 수신 샘플 비트에서의 "소프트 판정"은 대응하는 합산부(209)에서 점차 누산된다(각각의 누산기는 도 5에 도시된 프리코더 버퍼(109)의 일 비트와 대응한다). 따라서, 일정한 개수의 수신 샘플 비트 이후의 누적된 "소프트 판정"은 누적 버퍼(210)에 저장된다. 미리 설정된 요구되는 최소 수의 "소프트 판정"이 프리코더 버퍼(109)로부터 데이터 패키지 비트에 대응하는 누적 버퍼(210)로 전달되면(이는 반복 디코더(213)에 의해 결정됨), 동시에, 프리코더 버퍼(109)로부터 수신된 데이터 패킷의 "소프트 판정"에 대한 디코딩 절차는 반복 디코더(213)에서 시작된다.
주목할 사항으로서, 합산부(209)의 일부 누산기가 채워지지 않은 때에도 반복 디코더(213)에서 디코딩이 시작된다. 동시에, 이러한 반복 디코딩이 유사한 천공 코드(punctured code) 특성들과 동일하면 코드 특성은 즉 최적에 가깝게 된다.
각각의 디코딩 시도 이후에 데이터 무결성 체크 유닛(214)이 반복 디코더로부터 대응하는 반복("리지드 결정들(rigid decisions)")을 요청한 이후에, 수신 데이터 패키지의 무결성은 이러한 리지드 결정들을 이용하여 (인코더에 의해 제공된 것에 따라) 체크된다. 상기 체크가 성공적인 경우, 수신된 데이터 패키지는 컨테이너 언패킹/객체 복원 유닛(215)으로 전송되어 컨테이너 추출 및 정보 객체 복원을 위해 언패킹된다. 이와 더불어, 반복 종료 명령이 데이터 무결성 체크 유닛(214)에서 형성되어 반복 디코더(213)로 전달된다. 이후, 정보 객체는 수신기의 출력단을 통해 사용자 장치로(상위 처리 계층으로) 전송된다. 동시에, 수신 확인 신호는 수신 장치의 추가적인 출력단(AddOut)을 통해 선택적으로 설치될 수 있는 보조 (역방향) 통신 채널(예를 들어, 무선 채널 또는 비주얼 채널)을 통해 발행된다.
누적 버퍼(210)로부터의 추가적인 데이터 디코딩은 정해진 주기로 수행되는데, 이는 디코딩 사이클 완료 동안에(예를 들어, 수십 번의 반복에 의해 결정됨) 데이터 패킷이 복원되지 않았으며 제1 역다중화기(207)를 통해 새로운 샘플링 셋이 도달한 경우에(즉, 누적 버퍼 콘텐츠가 갱신된 때에) 수행된다. 반복 디코더(213)에서, 디코딩 절차는 누적 버퍼(210)로부터 새로운 데이터를 이용하여 반복적으로 시작된다. 이러한 반복된 디코딩 절차는 디코더(201)가 프리코더 버퍼(109)로부터의 송신된 데이터 패키지를 무-에러 복원할 수 있을 때까지 수행된다.
본 발명의 이점은 아래와 같다. 만약 수신기가 일련의 연속적인 패킷들을 수신하면, 수신된 샘플링 셋들은 누락 없이 작은 수의 반복들을 가지고 오리지널 데이터 세그먼트 및 패리티 세그먼트들의 모든 비트들을 나타낸다. 대조적으로, 만약 각 샘플링 셋이 완전히 랜덤한 방식으로 선택된다면, 누락 및 반복의 수는 상대적으로 매우 높을 것이다.
도 11은 랜덤하게 샘플링된 셋에 대한 비트 반복들의 분포로서, (a)는 하나의 셋을 수신한 이후, (b)는 5 셋들을 수신한 이후, (c)는 10 셋들을 수신한 이후를 나타낸다(여기에서, N = 1000, K0=100). 알 수 있다시피, 비트 선택 절차가 단지 랜덤한 것이면, 10 패킷들을 수신한 이후일지라도, 모든 비트들의 거의 40%가 수신기의 누적 버퍼에 존재하지 않는다.
도 12는 본 발명의 실시 예에 대한 비트 반복들의 분포로서, (a)는 하나의 셋을 수신한 이후, (b)는 5 셋들을 수신한 이후, (c)는 10 셋들을 수신한 이후를 나타낸다(여기에서, N = 1000, K0 ( reg )=90, K0 ( rand )=10).
10 개의 연속적인 패킷들을 수신한 이후에, 작은 수의 누락들(~8%)과 작은 수의 반복들(~8%)을 가지고 모든 데이터 비트들의 80% 이상이 오직 한번에 전송될 것이다. 즉, 본 발명에서, 수신기는 성공적으로 여러 연속적인 데이터 패킷들(샘플링 셋들)을 수신하는 한 수신기는 객체를 신속하게 디코딩할 수 있다. 성공적인 객체 디코딩을 위해 요구되는 연속적인 패킷들의 수는 통신 채널에서의 신호 대 잡음 비에 의존한다. 수신기가 여러 비연속적인 패킷들을 수집할 때 수신기는 성공적인 디코딩을 구현하기 위해 보다 많은 패킷을 필요로 할 수 있다는 점에 주의해야 한다. 이러함에도, 랜덤 주소 생성기의 존재 및 정규 주소 생성기의 Pi 변수의 주기적인 수정으로 인해, 적어도 이러한 경우에서의 성능은 완전히 랜덤한 주소 생성기의 경우에 비해 악화되지 않을 것이다.
도 13은 두 샘플링 선택 방법들(랜덤 방식 및 본 발명)의 성능 비교를 나타낸다.
본 발명의 효율은 이동 장치들을 위한 음향 기반 연결 시스템에서 시험되었다. 도 12는 샘플링 셋 생성의 두 방법들, 즉 완전 랜덤 및 본 발명을 이용하는 방법들(모든 다른 시스템 변수들은 양 시스템들에 대해 정확히 동일함에 주의) 간의 비교를 예시한다. 알 수 있다시피, 낮은 신호 대 잡음 비(SNR ~0-5 dB)에서, 본 발명은 완전 랜덤 비트 선택 방법보다 오직 조금 나은 성능을 나타낸다. 그러나 높은 신호 대 잡음 비(SNR >20 dB)에서, 제안된 구조는 전술한 인자들로 인해 상당한 성능 이점을 나타낸다.
여기에 기술된 단방향 통신 시스템에서 샘플링 셋 비트들을 선택하기 위한 방법은 2가지의 방식들로 구현될 수 있다.
제1 예에서, 비트 선택 로직이 수학식 (1)-(6)에 따라 도 6에 도시된 주소 생성기를 수정함으로써 구현될 수 있다. 이러한 경우에, 주소 생성기는 오리지널 데이터 세그먼트로부터의 모든 K0 ( rand )의 랜덤 비트들의 인덱스들, 오리지널 데이터 세그먼트로부터의 모든 K0 ( reg )의 정규 비트들의 인덱스들, 제1 패리티 세그먼트로부터의 모든 K1 ( reg )의 정규 비트들, 그리고 모든 나머지 패리티 세그먼트들에 대한 것을 연속적으로 생성할 것이다. 본 방법은 소프트웨어 구현에 적합하다.
다른 예는 전용 주소 생성기들에 의해 오리지널 세그먼트 및 각 패리티 세그먼트로부터 랜덤 비트들 및 정규 비트들의 병렬 선택을 구현하고, 이러한 비트들을 도 7에 예시된 것처럼 공통 샘플링 셋 버퍼 내로 결합하는 것이다. 본 방법은 하드웨어 구현에 보다 적합하고, 상이한 세그먼트들로부터의 비트들의 병렬 처리로 인해 보다 높은 처리율을 가질 수 있다.
제안된 방법은 다양한 무선 통신 응용 예들에서 사용될 수 있다. 이는 채널 환경 및 신호 대 잡음 비가 예측 불가능하고 광범위하게 변경될 수 있는 응용 예들에서 특히 적합할 수 있다. 예를 들어, 이는 이동 장치들을 위한 음향 기반 통신 시스템의 경우이다. 제안된 방법은 음향 연결 시스템들에서 구현되고 성공적으로 시험되었다.
본 발명에서 모든 구성 소자들(각종 유닛, 생성기, 디코더 등)은 각각 장치, 기능 블록, 단계(프로세서에 의해 수행되는) 등을 지칭할 수 있다.
본 발명의 실시 예들은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있을 것이다. 이러한 임의의 소프트웨어는 예를 들어, 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM과 같은 저장 장치와 같은 휘발성 또는 비휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 CD, DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기 기록 가능한 매체에 저장될 수 있다. 저장 장치 및 저장 매체는 프로세서 장치에 의해 실행되어 본 발명의 실시 예들을 구현하는 지시들을 포함하는 프로그램을 저장하기에 적합한 기계로 읽을 수 있는 저장 장치의 실시 예들임을 알 수 있을 것이다. 따라서, 실시 예들은 본 명세서의 임의의 청구항에 청구된 시스템 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계로 읽을 수 있는 저장 장치를 제공한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 실시 예들은 이와 균등한 것을 적절하게 포함한다.
7: 송신기, 8: 수신기, 10: 프리코더, 12: 샘플번호/주소 생성부, 14: 제어 패킷 형성부, 16: 변조부, 109: 프리코더 버퍼, 110: 다중화기, 111: 샘플링 셋 버퍼, 112: 패킷 조립 유닛

Claims (8)

  1. 통신 시스템에서 정보 객체의 인코딩 방법에 있어서,
    정보 객체를 버퍼에 저장하는 단계와;
    상기 버퍼로부터 랜덤하게 선택된 비트들과 상기 버퍼로부터 정규적으로 선택된 비트들을 포함하는 샘플링 셋을 생성하는 단계와;
    상기 샘플링 셋의 번호 및 상기 정보 객체의 크기 정보를 포함하는 제어 채널 데이터를 생성하는 단계와,
    상기 샘플링 셋 및 제어 채널 데이터를 변조하는 단계를 포함함을 특징으로 하는 정보 객체의 인코딩 방법.
  2. 제1항에 있어서,
    상기 저장 단계 이전에, 상기 정보 객체의 비트들을 반복 및 인터리빙하는 단계를 더 포함함을 특징으로 하는 정보 객체의 인코딩 방법.
  3. 제2항에 있어서,
    상기 저장 단계 이전에, 상기 반복 및 인터리빙된 정보 객체를 기설정된 코드를 이용하여 인코딩하는 단계를 더 포함함을 특징으로 하는 정보 객체의 인코딩 방법.
  4. 인코더에 있어서,
    정보 객체를 인코딩하여 프리코더 버퍼에 저장하는 프리코더와;
    샘플링 셋의 번호와, 상기 샘플링 셋에서 랜덤하게 선택된 비트와 상기 샘플링 셋에서 미리 설정된 규칙에 따라 선택된 비트에 대응되는 상기 프리코더 버퍼의 주소들을 생성하기 위한 샘플번호/주소 생성부와;
    상기 샘플번호/주소 생성부에서 생성된 상기 주소에 대응되는 상기 프리코더 버퍼의 비트를 선택하는 다중화기와;
    상기 다중화기에서 출력되는 샘플링 셋을 저장하는 샘플링 셋 버퍼와;
    상기 샘플번호/주소 생성부에서 생성된 상기 샘플링 셋 번호에 대한 정보를 포함하는 제어 채널 데이터를 형성하는 제어 패킷 형성부와;
    상기 샘플링 셋 버퍼에 저장된 샘플링 셋과 상기 제어 패킷 형성부에서 형성된 제어 채널 데이터를 서로 조립하는 패킷 조립 유닛과;
    상기 패킷 조립 유닛에서 출력되는 패킷을 미리 설정된 방식으로 변조하는 변조부를 포함함을 특징으로 하는 인코더.
  5. 제4항에 있어서, 상기 주소 생성기는,
    랜덤 값을 출력하는 랜덤 주소 생성기와;
    기설정된 규칙에 따른 정규 값을 출력하는 정규 주소 생성기를 포함함을 특징으로 하는 인코더.
  6. 제4항에 있어서, 상기 프리코더는,
    미리 설정된 주기로 샘플링 셋의 식별을 위한 상기 샘플링 셋 번호를 생성하는 샘플링 셋 번호 생성기를 더 포함함을 특징으로 하는 인코더.
  7. 제4항에 있어서, 상기 프리코더는,
    상기 정보 객체에 헤더 라벨을 부가하며, 무결성 체크를 위한 비트를 설정하여 표준 컨테이너로 패킹하는 컨테이너 패킹 유닛과,
    상기 컨테이너 패킹 유닛의 출력 데이터를 반복 및 인터리빙하는 반복기/인터리버를 포함함을 특징으로 하는 인코더.
  8. 제7항에 있어서, 상기 프리코더는 상기 반복기/인터리버에서 출력된 데이터를 컨볼루션 코드 인코딩하여 상기 프리코더 버퍼에 저장하는 컨볼루션 인코더를 더 포함함을 특징으로 하는 인코더.
KR1020100118120A 2009-12-10 2010-11-25 정보 객체의 인코딩을 위한 방법 및 이를 이용한 인코더 KR101783271B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201080056017.9A CN102770911B (zh) 2009-12-10 2010-12-09 用于编码信息对象的方法以及使用该方法的编码器
PCT/KR2010/008816 WO2011071324A2 (en) 2009-12-10 2010-12-09 Method for encoding information object and encoder using the same
JP2012541960A JP5443616B2 (ja) 2009-12-10 2010-12-09 情報オブジェクトを符号化する方法及びそれを用いるエンコーダ
EP10836219.5A EP2510516B1 (en) 2009-12-10 2010-12-09 Method for encoding information object and encoder using the same
US12/965,492 US8675646B2 (en) 2009-12-10 2010-12-10 Method for encoding information object and encoder using the same
US14/190,810 US9438375B2 (en) 2009-12-10 2014-02-26 Method for encoding information object and encoder using the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US28536009P 2009-12-10 2009-12-10
US61/285,360 2009-12-10

Publications (2)

Publication Number Publication Date
KR20110066084A true KR20110066084A (ko) 2011-06-16
KR101783271B1 KR101783271B1 (ko) 2017-10-23

Family

ID=44399077

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100118120A KR101783271B1 (ko) 2009-12-10 2010-11-25 정보 객체의 인코딩을 위한 방법 및 이를 이용한 인코더

Country Status (6)

Country Link
US (2) US8675646B2 (ko)
EP (1) EP2510516B1 (ko)
JP (1) JP5443616B2 (ko)
KR (1) KR101783271B1 (ko)
CN (1) CN102770911B (ko)
WO (1) WO2011071324A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8681025B2 (en) 2011-10-31 2014-03-25 Electronics And Telecommunications Research Institute Data encoding and decoding apparatus and method for communicating between robot softwares
US9317371B2 (en) 2012-04-04 2016-04-19 Samsung Electronics Co., Ltd System, method, and apparatus for performing fault diagnosis for an electronic appliance using sound data

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101783271B1 (ko) * 2009-12-10 2017-10-23 삼성전자주식회사 정보 객체의 인코딩을 위한 방법 및 이를 이용한 인코더
CN103152124B (zh) * 2011-12-07 2017-06-20 华为技术有限公司 一种单播通信方法、装置及系统
ITVI20120026A1 (it) * 2012-01-27 2013-07-28 St Microelectronics Srl Metodi per la condivisione di files relativi al protocollo bit fountain
CN102831761B (zh) * 2012-08-22 2013-11-20 北京空间飞行器总体设计部 一种航天器遥控开关指令的传输方法
US10298360B2 (en) * 2014-02-17 2019-05-21 Yonsei University Wonju Industry-Academic Cooperation Foundation Method and device for determining toggle sequence and error pattern based on soft decision
US9439040B2 (en) * 2014-08-15 2016-09-06 Wensheng Hua System and method of time of flight detection
FR3027756B1 (fr) * 2014-10-24 2017-11-10 Thales Sa Procede et systeme de traitement de donnees dans un systeme de telecommunications pour une adaptation dynamique a la quantite de donnees a transmettre
US10009152B2 (en) * 2016-03-04 2018-06-26 Huawei Technologies Co., Ltd. System and method for rate-less multiple access
US10937434B2 (en) * 2018-05-17 2021-03-02 Mediatek Inc. Audio output monitoring for failure detection of warning sound playback
CN115824267B (zh) * 2023-02-14 2023-04-21 国网山西省电力公司长治供电公司 一种无线传输旋转编码器的配套保护装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US635904A (en) * 1898-12-19 1899-10-31 Louis F Stoecker Lid-holder and advertising device.
JP3197425B2 (ja) * 1994-04-04 2001-08-13 三菱電機株式会社 符号化及び復号装置及びその方法
US5642241A (en) * 1994-10-31 1997-06-24 Samsung Electronics Co., Ltd. Digital signal recording apparatus in which interleaved-NRZI modulated is generated with a lone 2T precoder
FI106175B (fi) 1997-08-18 2000-11-30 Nokia Mobile Phones Ltd Datansiirto matkaviestinverkossa
US6240073B1 (en) * 1997-11-14 2001-05-29 Shiron Satellite Communications (1996) Ltd. Reverse link for a satellite communication network
CA2388095A1 (en) * 1999-10-22 2001-05-03 Activesky, Inc. An object oriented video system
US7349481B2 (en) 2002-07-01 2008-03-25 Qualcomm Incorporated Communication using audible tones
AU2003266691A1 (en) * 2002-09-30 2004-04-19 Matsushita Electric Industrial Co., Ltd. Data processing device
EP1463255A1 (en) * 2003-03-25 2004-09-29 Sony United Kingdom Limited Interleaver for mapping symbols on the carriers of an OFDM system
US7995667B2 (en) * 2004-02-13 2011-08-09 Broadcom Corporation Reduced latency concatenated reed solomon-convolutional coding for MIMO wireless LAN
US7676722B2 (en) * 2004-03-31 2010-03-09 Sony Corporation Multimedia content delivery using pre-stored multiple description coded video with restart
CN1773989B (zh) * 2004-05-07 2012-03-21 美国博通公司 多进多出无线通信的绿地前同步码格式
DE102004047425B4 (de) * 2004-09-28 2007-06-21 Micronas Gmbh Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen
US20060221869A1 (en) * 2005-03-29 2006-10-05 Teck-Kuen Chua System and method for audio multicast
WO2008080516A1 (de) * 2006-12-27 2008-07-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und verfahren zum kodieren eines transformationskoeffizientenblockes
US7797362B2 (en) 2007-02-23 2010-09-14 Texas Instruments Incorporated Parallel architecture for matrix transposition
WO2008151061A1 (en) * 2007-05-31 2008-12-11 Interdigital Technology Corporation Channel coding and rate matching for lte control channels
US8154737B2 (en) 2007-07-11 2012-04-10 Sharp Laboratories Of America, Inc. Method and system for estimating color ink usage for a print job element
US7898443B2 (en) * 2007-12-05 2011-03-01 Qualcomm Incorporated Apparatus and methods using a linear memory model for encoder output buffers
US8316286B2 (en) * 2008-09-04 2012-11-20 Futurewei Technologies, Inc. System and method for rate matching to enhance system throughput based on packet size
RU2409897C1 (ru) * 2009-05-18 2011-01-20 Самсунг Электроникс Ко., Лтд Кодер, передающее устройство, система передачи и способ кодирования информационных объектов
KR101783271B1 (ko) * 2009-12-10 2017-10-23 삼성전자주식회사 정보 객체의 인코딩을 위한 방법 및 이를 이용한 인코더

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8681025B2 (en) 2011-10-31 2014-03-25 Electronics And Telecommunications Research Institute Data encoding and decoding apparatus and method for communicating between robot softwares
US9317371B2 (en) 2012-04-04 2016-04-19 Samsung Electronics Co., Ltd System, method, and apparatus for performing fault diagnosis for an electronic appliance using sound data

Also Published As

Publication number Publication date
EP2510516A2 (en) 2012-10-17
WO2011071324A2 (en) 2011-06-16
EP2510516B1 (en) 2019-10-16
US8675646B2 (en) 2014-03-18
US20110142073A1 (en) 2011-06-16
CN102770911A (zh) 2012-11-07
JP5443616B2 (ja) 2014-03-19
US9438375B2 (en) 2016-09-06
JP2013512640A (ja) 2013-04-11
EP2510516A4 (en) 2017-09-06
CN102770911B (zh) 2015-01-28
KR101783271B1 (ko) 2017-10-23
WO2011071324A3 (en) 2011-11-10
US20140181623A1 (en) 2014-06-26

Similar Documents

Publication Publication Date Title
KR101783271B1 (ko) 정보 객체의 인코딩을 위한 방법 및 이를 이용한 인코더
JP5377757B2 (ja) エンコーダ、デコーダ、符号化、及び復号化方法
US11791862B2 (en) Data encoder for power line communications
CN111919406B (zh) 用于使用外码的harq重传的系统和方法
US8516350B2 (en) Data encoding method and apparatus for flash-type signaling
EP1241795A2 (en) Method and system for transmitting and receiving information using chain reaction codes
US20110280261A1 (en) Interleaver Design and Header Structure For ITU G.hnem
WO2003059036A2 (en) Reduced latency interleaver utilizing shortened first codeword
TW200302638A (en) Method and apparatus for weighted non-binary repeat accumulate coding and space-time 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
GRNT Written decision to grant