KR20000057815A - 디지털 오디오 방송 및 다른 응용들을 위한 결합 다중프로그램 에러 은폐 방법 및 장치 - Google Patents

디지털 오디오 방송 및 다른 응용들을 위한 결합 다중프로그램 에러 은폐 방법 및 장치 Download PDF

Info

Publication number
KR20000057815A
KR20000057815A KR1020000003965A KR20000003965A KR20000057815A KR 20000057815 A KR20000057815 A KR 20000057815A KR 1020000003965 A KR1020000003965 A KR 1020000003965A KR 20000003965 A KR20000003965 A KR 20000003965A KR 20000057815 A KR20000057815 A KR 20000057815A
Authority
KR
South Korea
Prior art keywords
code
program
subset
audio
outer code
Prior art date
Application number
KR1020000003965A
Other languages
English (en)
Other versions
KR100742102B1 (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 KR20000057815A publication Critical patent/KR20000057815A/ko
Application granted granted Critical
Publication of KR100742102B1 publication Critical patent/KR100742102B1/ko

Links

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/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • 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/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • 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/0064Concatenated codes
    • H04L1/0065Serial concatenated codes
    • 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
    • H04HBROADCAST COMMUNICATION
    • H04H2201/00Aspects of broadcast communication
    • H04H2201/10Aspects of broadcast communication characterised by the type of broadcast system
    • H04H2201/17Aspects of broadcast communication characterised by the type of broadcast system in band adjacent channel [IBAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H2201/00Aspects of broadcast communication
    • H04H2201/10Aspects of broadcast communication characterised by the type of broadcast system
    • H04H2201/20Aspects of broadcast communication characterised by the type of broadcast system digital audio broadcasting [DAB]
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 통신 시스템에서 전송에 대해, 예를 들어, 오디오, 비디오 또는 이미지 정보와 같은 정보를 처리하기 위한 방법과 장치를 제공한다. 예시적인 실시예에서, 다중 프로그램 코더는 구체적인 비트 할당에 따라 각각의 프로그램과 관련된 비트스트림을 엔코드한다. 외부 코드 엔코더는 다중 프로그램 코더로부터 엔코드된 비트스트림들을 수신하고, 예를 들어, CRC 코드, RS 코드, BCH코드 또는 다른 형태의 선형 블록 코드와 같은 외부 코드를 결과 적으로 발생하는 엔코드된 비트스트림들의 서브세트의 서브 블록들에 다중 적용한다. 외부 코드는 엔코드된 비트스트림들의 서브세트에서 각각의 엔코드된 비트스트림의 서브 블록들이 단일 외부 코드 블록과 관련되도록 적용된다. 소정의 외부 코드 블록과 관련된 복수의 서브 블록은 코드 블록들의 정수 또는 비-정수 일수 있다. 본 발명은 지정된 수의 프로그램 서브 블록이 소정의 외부 코드 블록에 할당 되도록 하여, 외부 코드 에러 플래그가 그렇지 않으면 가능할 수 있는 것보다 프로그램당 더 작은 그룹의 비트를 생성할 수 있도록 한다. 내부 코드 엔코더는 예를 들어, 컨벌루셔널(convolutional) 코드, 터보 코드 또는 격자(trellis) 코드된 변조와 같은 내부 코드를 결과 외부 코드 블록들에 적용하는데 사용될 수 있다.

Description

디지털 오디오 방송 및 다른 응용들을 위한 결합 다중 프로그램 에러 은폐 방법 및 장치 {Joint multiple program error concealment for digital audio broadcasting and other applications}
본 출원은 발명자 Deepen Sinha 및 Carl-Erik W. Sundberg의 이름으로 본 발명과 동시에 출원된 "Joint Multiple Program Coding for Digital Audio Broadcasting and Other Applications" 및 "Multiple Program Decoding for Digital Audio Broadcasting and Other Applications"이란 명칭의 미국 특허 출원에 관한 것이다.
본 발명은 일반적으로 디지털 오디오 방송(DAB) 및 정보를 전송하기 위한 다른 기술들에 관한 것이고, 특히, DAB 및 다른 응용들에 대한 다중 프로그램 에러 은폐(concealment) 기술에 관한 것이다.
본 명세서에 참고 문헌으로 포함된 디지털 오디오, 섹션 42, pp 42-1 내지 42-18, CRC Press의 "The Perceptual Audio Coder"로 D. Sinha, J.D. Johnston, S.Dorward 및 S.R. Quackenbush에 의해 설명되는 인식 오디오 코더(perceptual audio coder)(PAC)와 같은, 인식 오디오 코딩 장치들은 각각의 오디오 프레임 비트에 대해 비트 요구가 사이코어커스틱(psychoacoustic) 모델에 기초한 잡음 할당 전략을 이용한 오디오 코딩을 실행한다. 유사한 압축 기술들을 통합하는 PACs 및 다른 오디오 코딩 장치들은 원래부터 패킷-지향이다. 즉, 시간의 고정 간격(프레임)에 대한 오디오 정보는 가변 길이 패킷에 의해 나타난다. 각각의 패킷은 오디오 프레임의 양자화된 스펙트랄/서브 밴드 설명(quantized spectral/subband description)에 의해 따르는 일정한 제어 정보를 포함한다. 스테레오 신호들에 대해, 패킷은 중앙 채널과 측면 채널들로(예를 들어, 왼쪽 채널과 오른쪽 채널), 분리되거나 또는 차별적인 둘 이상의 오디오 채널들의 스펙트랄 설명을 포함할 수 있다.
상기-인용된 참조에서 설명되는 바와 같은 PAC 엔코딩은 인식-구동 적응 필터 뱅크 또는 변형 코딩 알고리즘으로 간주될 수 있다. 이것은 신호 압축의 높은 레벨을 이루기 위해 진보된 신호 처리 및 사이코어커스틱 모델링을 통합한다. 간단하게, PAC 엔코딩은 오디오 신호의 컴팩트한 설명을 얻기 위해 수정된 이산 코사인 변형(MDCT) 및 웨이브리트(wavelet) 사이를 교환하는 신호 적응 교환된 필터 뱅크를 사용한다. 필터 뱅크 출력은 비-균등 벡터 양자화들을 이용하여 양자화된다. 양자화의 목적을 위해, 필터 뱅크 출력은 소위 "코드 밴드(codebands)"에 그룹화되어, 예를 들어, 양자화 스텝 크기와 같은 양자화 파라미터들은 각각의 코드 밴드에 대해 독립적으로 선택된다. 이러한 스텝 크기들은 사이코어커스틱 모델에 따라 생성된다. 양자화된 계수들은 적응 허프만 코딩 기술을 이용하여 더 압축된다. 전체 15개의 상이한 코드북들을 채택하고, 각각의 코드 밴드에 대해, 최고의 코드북은 독립적으로 선택될 수 있다. 스테레오 및 다중 채널 오디오 물질에 대해, 다중 채널 조합의 합계/차이 또는 다른 형태가 엔코드될 수 있다.
PAC 엔코딩은 압축된 오디오 정보를 블록 샘플링 알고리즘을 이용하여 패킷화된 비트스트림으로 포맷한다. 44.1 KHz 샘플링 속도에서, 1024입력에 상응하는 각각의 패킷은 채널들의 수에 관계없이 각각의 채널로부터 샘플화한다. 하나의 1024 샘플 블록에 대한 허프만 엔코드된 필터 뱅크 출력들, 코드북 섹션, 양자화 및 채널 조합 정보는 단일 패킷에서 배열된다. 각각의 1024입력 오디오 샘플들에 상응하는 패킷의 크기가 가변함에도 불구하고, 장-기간 불변 평균 패킷 길이는 아래에 설명될 바와 같이 유지될 수 있다.
응용에 따라서, 다양한 부가 정보가 제 1 프레임 또는 모든 프레임에 부가될 수 있다. 그러한 DAB 적용에서와 같은 신뢰할 수 없는 전송 채널들에 대해, 헤더는 각각의 프레임에 부가된다. 이 헤더는 에러 복구를 위해 중요한 PAC 패킷 동기 정보를 포함하고, 또한, 샘플 속도, 전송 비트 속도, 오디오 코딩 모델들 등과 같은 다른 유용한 정보를 포함한다. 중요한 제어 정보는 두 연속하는 패킷들을 되풀이하여 더 보호된다.
상술한 설명으로부터 PAC 비트 요구가 사이코어커스틱 모델에 따라 결정되는 바와 같이 양자화 스텝 크기에 의해 주로 유도된다. 그러나, 하프만 코딩의 사용에 기인하여, 일반적으로, 즉, 양자화 및 하프만 코딩 스텝들 이전에 미리 정확한 비트 요구를 예측하는 것이 불가능하고, 비트 요구는 프레임으로부터 프레임으로 변한다. 따라서, 종래 PAC 엔코더들은 장-기간 비트 속도 강제를 만족시키기 위해 속도 루프와 버퍼링 메커니즘을 이용할 수 있다. 버퍼링 메커니즘에서 버퍼의 크기는 허용 가능한 시스템 지연에 의해 결정된다.
종래 단일 프로그램 PAC 비트 할당에서, 엔코더는 특정 오디오 프레임에 대한 일정한 수의 비트를 버퍼 제어 메커니즘에 할당하기 위한 요구를 만든다. 버퍼의 상태와 평균 비트 속도에 따라, 그후, 버퍼 제어 메커니즘은 현재 프레임에 실제적으로 할당될 수 있는 비트의 최대수를 복귀한다. 이것은 이 비트 할당이 초기 비트 할당 요구보다 상당히 낮을 수 있다는 것을 언급해야 한다. 이것은 즉, 초기 사이코어커스틱 모델 스텝 크기들에 의해 암시되는 바와 같이, 인식 트랜스페런트(transparent) 코딩에 대한 정확성 레벨에서 현재 프레임을 엔코드하는 것이 가능하지 않음을 나타낸다. 이것은 수정된 스텝 크기들을 갖는 비트 요구가 낮고, 실제 비트 할당에 가깝도록 스텝 크기를 조정하는 속도 루프의 기능이다. 속도 루프는 과도한 잡음의 인식을 최소화하기 위해 사이코어커스틱 원리에 기초하여 동작한다. 그러나, 즉, 사이코어커스틱 모델에 의해 제안되는 것보다 높은 잡음 할당의 실질적인 언더코딩의 양은 속도 강제를 만족시키기 위해 필요할 수 있다. 언더코딩은 디코드화된 오디오 출력에서 가청 결과물로 인도될 수 있고, 일정한 형태의 신호들에 대해서 그리고, 저 비트 속도에서 특히 현저하다.
PAC 엔코딩과 같은 인식 오디오 코딩 기술들은 특히 인-밴드 디지털 오디오 방송(DAB) 시스템들과 같은 FM 밴드 및 AM 밴드 전송 적용에 대해 매력적이고, 또한, 이것은 하이브리드 인-밴드 온-채널(hybrid in-band on-channel)(HIBOC), 모든-디지털 IBOC 및 인-밴드 이웃 채널(IBAC)/인-밴드 예비 채널(IBRC)DAB 시스템들로서 공지될 수 있다. 또한, 인식 오디오 코딩 기술들은 위성 DAB 시스템들과 인터넷 DAB 시스템들과 같은 다른 적용에서 사용하기 위해 적합하다. PAC 및 다른 종래 오디오 코딩 기술들이 단일 프로그램 DAB 전송 적용에서 적합한 성능을 제공함에도 불구하고, 개선들은 예를 들어, 다중-프로그램 DAB, 위성 DAB, 인터넷 DAB 및 다른 형태의 다중 프로그램 전송과 같은 다중 프로그램 전송 적용을 위해 필요하다.
본 발명은 다중 에러 은폐로, 다중 프로그램 DAB와 같은, 다중 프로그램 전송을 구현하기 위한 방법 및 장치를 제공한다. 본 발명의 예시적인 실시예에서, 다중 프로그램 코더는 예를 들어, 엔코드된 비트스트림들의 세트를 생성하기 위한 프레임과 같이 소정의 간격 동안 각각의 프로그램의 부분을 엔코드한다. 그후, 비트스트림은 예를 들어, CRC 코드, RS 코드, BCH 코드 또는 다른 선형 블록 코드와 같은 외부 코드를, 예를 들어, 컨벌루셔널 코드, 터보 코드 또는 격자 코드화된 변조와 같이 내부 코드를 이용하여 더 엔코드된다. 본 발명에 따라, 지시된 수의 프로그램 서브 블록들은 소정의 외부 코드 블록을 할당하여, 외부 코드 에러 플래그들은 달리 가능한 것보다 프로그램당 보다 작은 그룹의 비트를 생성할 수 있다. 예를 들어, M 프로그램 서브 블록들의 세트는 소정의 외부 코드 블록과 관련될 수 있고, 여기서 M은 정수 또는 비-정수 값일 수 있다. 인터리버(interleaver)는 외부 코드가 적용되기 이전에, 지시된 수의 정보 비트의 증가에서 M 프로그램 서브 블록들을 인터리브하는데(interleave) 사용될 수 있다. 이것은 외부 코드 생성이 다중 프로그램 코더의 동작으로부터 분리되는 것을 허용한다. 본 발명의 결합 다중 프로그램 에러 은폐는 결합 다중 프로그램 엔코딩으로 또는, 결합 다중 프로그램 엔코딩 없이 이용할 수 있다.
본 발명은 동시 다중 프로그램 청취 및/또는 기록, 오디오 및 데이터의 동시 전달 등과 같은 복수의 적용에서 구현될 수 있다. 부가하여, 본 발명은 예를 들어, 데이터, 비디오 및 이미지 정보를 포함하여, 다른 형태의 디지털 정보에 적용될 수 있다. 본 발명의 다른 실시예는 다른 형태의 외부 코드들, 다른 형태의 내부 코드들, 예를 들어, 블록 인터리빙, 컨벌루셔널 인터리빙 또는 랜덤 인터리빙과 TDM, FDM, 또는 CDM 프레임 포맷들을 포함하는 광범위한 상이한 프레임 포맷과 같은 다른 형태의 인터리빙들뿐만 아니라, 이러한 및 다른 포맷들의 조합을 이용할 수 있다. 또한, 본 발명은 인식 코더들에 적용할 수 있을 뿐만 아니라 비트 속도들의 넓은 범위를 통해 동작하는 다른 압축 기술들을 사용하여 다른 형태의 소스 엔코더들에 적용할 수 있고, 무선 방송 채널들과 다른 전송 채널들을 사용할 수 있다.
도 1은 본 발명과 연결되어 사용되기에 적합한 결합 다중 프로그램 오디오 코더의 예시적인 실시예를 도시한 도면.
도 2는 본 발명과 연결되어 사용되기에 적합한 결합 다중 프로그램 오디오 코더의 다른 실시예를 도시한 도면.
도 3은 본 발명과 연결되어 사용되기에 적합한 결합 다중 프로그램 오디오 코딩을 제공하는 전송기의 일부를 도시한 도면.
도 4는 도 3의 전송기에서 사용되기 위한 예시적인 프레임 포맷을 도시한 도면.
도 5는 외부 코드 워드가 두 프로그램에 연결되어 적용되는 본 발명의 실시예에 연결되어 사용되는 다중 프로그램 디코더의 일부를 도시한 도면.
도 6은 각각의 외부 코드 블록이 네 프로그램 서브 블록을 포함하는 본 발명에 따른 다중 에러 은폐(concealment)의 예를 예시한 도면.
도 7 및 8은 외부 코드의 생성이 결합 다중 프로그램 코딩의 동작으로부터 분리되는 본 발명의 실시예를 예시한 도면.
도 9는 도 8 실시예에서 인터리버(interleaver)의 동작을 예시하는 예를 도시한 도면.
* 도면의 주요 부분에 대한 부호의 설명 *
10:다중 프로그램 코더 30:전송기
32:버퍼 34:CRC 장치
36:컨벌루셔널 코더 뱅크 37:프레임 포맷기
본 발명은 예를 들어, Digital Audio, Section 42, pp.42-1 to 42-18, CRC Press, 1998에서 "The Perceptual Audio Coder"로 D.Sinha, J.D.Johnston, S. Dorward 및 S.R. Quackenbush에 의해 설명되는 인식 오디오 코더(perceptual audio coder)(PAC)와 같은 오디오 코더에 의해 생성되는 오디오 비트들과 같이, 오디오 정보 비트들의 전송으로 사용되는, 실시예의 다중 프로그램 기술들로 연결하여 아래에 설명될 것이다. 그러나, 본 발명의 다중 에러 은폐 기술은, 예를 들어, 비디오 또는 이미지 정보와, 다른 형태의 코딩 장치들과 같은 많은 다른 형태의 정보에 적용될 수 있다는 것이 이해되어야 한다. 부가하여, 본 발명은 인터넷을 통한 통신과, 다른 컴퓨터 네트워크들과, 셀룰러 멀티미디어, 위성, 무선 케이블, 무선 로컬 루프, 고-속 무선 액세스와 다른 형태의 통신 시스템들을 통한 통신을 포함하여, 광범위하고 다양하며 상이한 형태의 통신 적용에 이용될 수 있다. 본 발명은 예를 들어, 주파수 채널들, 시간 슬롯들, 코드 분할 다중 액세스(CDMA) 슬롯들과 비동기 전이 모드(ATM)에서의 가상 접속 또는 다른 패킷에 기초한 전송 시스템들과 같은, 임의의 원하는 형태의 통신 채널 또는 채널들로 이용될 수 있다. 또한, 예를 들어, 메모리 또는 다른 저장 장치 또는, 그러한 장치의 지정된 부분과 같이 여기서 사용되는 용어"channel"은 저장 채널들을 포함하도록 의도된다. 또한, 예를 들어, 노이지(noisy) 저장 채널들을 이용하는 다중 프로그램의 저장과 같이, 따라서, 본 발명은 정보 저장 적용에 적용될 수 있다. 여기서 사용되는 용어"program"은 예를 들어, 소정의 채널 또는 다른 그룹의 오디오, 비디오, 데이터 또는 다른 정보뿐만 아니라, 그러한 채널 또는 그룹의 부분 또는 조합과 같이 임의의 형태의 정보 신호를 포함하도록 의도된다. 일반적으로, 여기에서 사용되는 용어"criticality measure"는 코드화되는 소정의 신호, 또는 그것의 부분과 연관된 임의의 비트 필요 지시자를 언급한다. 따라서, 시간내에 소정의 지점의 임계(cirticality) 측정값은 상응하는 신호 또는 신호부를 코딩하는 것과 관련된 비트 요구를 나타낸다. 임계 플래그는 임계 측정의 하나의 특정 형태의 예이다.
오디오 프로그램에서, 일반적으로, 트랜지언트(transients) 또는 온세트(onsets)는 코딩 시비러티(coding severity)와 비트 요구에 관한 가장 중요한 정보를 나타낸다. 온세트에 대해, 비트 요구는 실질적으로 보통보다 클 수 있고, 특히, 서브 밴드 코딩 계획에 대해 클 수 있고, 또한, 이러한 것들은 코딩 결과에 가장 수용하기 쉽다. 64kbps 스테레오에서 PAC 엔코딩을 갖는 경험은 온세트의 왜곡이 코딩 처리의 가장 가청이 좋은 결과물을 나타낸다는 것을 가리킨다. PAC 엔코딩에서, 오디오 프레임에서 온세트의 존재는 임계 플래그를 이용하여 나타낸다. 그것의 가장 단순한 형태에서, 임계 플래그는 온세트의 존재 또는 부재를 나타내는 단일-비트 이진수 플래그이다. 또한, 연속하는 또는 다중-비트 값이 사용될 수 있고, 이것은 예를 들어, 0.0과 1.0 사이와 같은 임계 플래그의 중간 값들이 비-온세트 오디오 세그먼트의 상대적인 풍부함을 나타내는 경우이다. 예를 들어, 세그먼트에서 트랜지언트 또는 다른 보다 높은 하모닉 컨텐츠가 있다면, 임계 플래그의 중간 값들은 높을 수 있다.
도 1은 본 발명과 연결되어 이용될 수 있는 결합 다중 프로그램 오디오 코더(10)를 보여준다. 코더(10)는 N PAC 오디오 코더(ENC-1, ENC-2, ..., ENC-N)를 구비하는 PAC 엔코더 뱅크(12)와 이차원(two-dimensional) 다중 비트 할당기(14)를 포함한다. 오디오 프로그램 지시된 오디오 1, 오디오 2, ... 오디오 N을 포함하는 하나의 세트의 입력 오디오 신호(16)는 PAC 엔코더 뱅크(12)에서 각각 PAC 엔코더(ENC-1, ENC-2, ... ENC-N)에 제공된다. 또한, N 오디오 프로그램들의 세트는 여기서 프로그램의 "클러스터(cluster)"로 언급된다. N 오디오 프로그램들의 클러스터는 예를 들어, 1≤N≤NT와 같이 소정의 시스템에서 전송되는 프로그램들의 전체 수(NT)의 서브세트일 수 있다. 임의의 경우에, 잔존 NT-N 프로그램은 있다면, 예를 들어, 다중 오디오 코딩 동작에서 포함되지 않는 데이터 프로그램들과 같이 포함될 수 있다. 다중 비트 할당자(14)는 아래에 보다 구체적으로 설명된 기술들을 이용하여, N 오디오 프로그램들 사이에 소정의 시간 간격에 대한 사용 가능한 비트들의 공통 풀(pool)을 할당한다. 이것은 보다 큰 퍼센티지의 사용 가능한 비트들이 실질적으로 순간적인 기초상에 더 많은 요구 오디오 프로그램들에 할당될 수 있다.
비트 할당 요구는 엔코더(ENC-1, ENC-2, ... ENC-N)에 의해 다중 비트 할당기(14)로 보내지고, 다중 비트 할당기(14)는 실제 비트 할당과 응답한다. 소자(18)는 비트 할당 요구와 실제 할당을 나타낸다. 통상적인 구현에서, 다른 값들은 물론 사용될 수 있을 지라도, N 값은 20 내지 25의 순서일 수 있다. 이전에 설명된 것처럼, N-프로그램 클러스터는 예를 들어, 통신 시스템에서 전송되는 소정의 세트의 NT프로그램들로 모든 오디오 프로그램들을 나타낼 수 있거나 또는, 소정의 세트의 NT프로그램의 지시된 서브세트를 나타낼 수 있다. 나중 경우에, 서브세트의 특정 프로그램은 예를 들어, 시간의 함수로서 변할 수 있다.
다중 비틀 할당자(14)의 기본 동작은 다음과 같다:
1. 고정된 시간 간격들에서, Tf가 프레임 지속인 모든 Tfmsecs, PAC 엔코딩에서 통상 22 msec로, 비트 할당 요구는 다중 비트 할당자(14)로 PAC 엔코더 뱅크(12)에 각각의 참여하는 프로그램 엔코더(ENC-1, ENC-2, ... ENC-N)에 의해 만들어진다. 예를 들어, i=1, 2, ... N, 인 i번째 프로그램은 두 성분으로 구성될 수 있다: (i)실제 비트는 Tf시간 간격으로 i번째의 오디오 정보의 지각이 있는 코딩에 대해 요구하고; (ⅱ)임계 측정 Cf(i)은 예를 들어, 단일-비트 또는 복수-비트 임계 플래그는 Tf시간 간격으로 i번째 프로그램의 오디오 정보의 임계를 나타낸다. 상술한 바와 같이, 오디오 프로그램들의 경우에, 임계는 오디오의 "richness"의 공헌과 같은, 일반적인 특징 또는 다른 질 또는 온세트, 트랜지언트 또는 하모닉스와 같이, 오디오에서 임의의 임계 특징들의 존재를 반영할 수 있다. 다른 예에서, 임계 측정 Cf(i)은 상응하는 프로그램의 지시된 질을 특징지우는 번호를 포함하는 선형 임계 플래그일 수 있다. 일반적으로, 그러한 선형 임계 플래그는 오디오 프로그램의 일부에 대한 임계의 측정 범위를 제공하기 위해 다중 비트들을 활용할 수 있다.
2. 다중 비트 할당자(14)는 개별 프로그램 엔코더들로부터 비트 할당 요구를 다중으로 처리하는 몇몇의 요소들을 고려한다. 이러한 요소들은 프로그램 엔코더들로부터 현재 및 과거 비트 할당 요구들, 특정 프로그램에 대한 평균 속도와, 예를 들어, 소스 코딩 및 디코딩에 기인한 허용할 수 있는 시스템을 포함한다. 할당자 처리의 결과는 현재 시간 간격에 대한 각각의 N 프로그램들에 대한 비트 속도 할당이다. 그후, 이러한 할당은 개별 프로그램 엔코더(ENC-1, ENC-2, ... ENC-N)로 피드백 된다.
3. 각각의 프로그램 엔코더는 실제 비트 할당으로 또는 이하로 비트 속도 요구를 유지하기 위해 그것의 속도 루프 메커니즘을 동작한다. 비트 요구를 통한 부정확한 제어 때문에(허프만 코딩에 기인하여), 소정의 프로그램 엔코더는 일부의 사용되지 않는 비트 용량을 여전히 가질 수 있다(거의 항상 50비트보다 작고, 통상 10-25비트). 이것은 예를 들어, 프로그램 관련 데이터와 같이 보조 데이터용으로 사용될 수 있고, 500-1500bps정도일 수 있다. 이론적으로, 또한, 이것은 미래의 사용을 위해 다중 비트 할당자로 사용되지 않는 용량을 복귀하는 것이 가능하다. 그러나, 일반적으로, 이것은 중요한 부가 다중 코딩 게인들(gains)이 없는 부가된 복잡성을 초래한다.
도 1에 예시된 2차원 다중 코딩과 다른 것으로, 상술한 종래 단일 프로그램 PAC 비트 할당은 N 오디오 프로그램들로 확장된다는 것이 언급되어야 한다. 도 2는 본 발명과 연결하여 활용할 수 있는 다른 결합 다중 프로그램 엔코더(20)를 보여준다. 엔코더(20)는 이전에 설명된 바와 같이 N 오디오 프로그램 입력(16) 세트에 의해 구동되는 PAC 엔코더 뱅크(12)와 종래 단일 프로그램 PAC 비트 할당자(22)를 포함한다. 비트 할당자(22)는 예를 들어, 시간 차원만을 통해 동작하는 일차원이다. PAC 엔코더(ENC-1, ENC-2, ... ENC-N)로부터 N 비트 할당 요구(24)의 세트는 스위치(26)에 의해 샘플화되고, 단일 프로그램 할당자(22)로 연속적으로 전달된다. 단일 프로그램 비트 할당자(22)로부터 비트 할당은 적절한 엔코더들에 스위치(28)를 통해 연속적으로 전달된다. 본질적으로 다중 엔코더 시간은 N 오디오 프로그램들 사이의 단일 프로그램 비트 할당자(22)를 다중 송신한다. 이 다른 결합 다중 프로그램 엔코더는 도 1의 2차원 결합 다중 프로그램 엔코더(10)에 유사한 성능을 제공하기 위해, 예를 들어, 단일 프로그램 엔코더와 관련된 N 회 시스템 지연과 같은 상당히 긴 시스템 지연을 필요로 한다. 따라서, 이것은 긴 지연들에 민감한 적용에서 사용되기에 부적합할 수 있다.
도 1의 결합 다중 프로그램 코더에서 사용되기에 적합한 결합 다중 프로그램 오디오 코딩 알고리즘은 C-같은 의사 코드를 이용하여 아래에 주어진다. 이 예시적인 결합 다중 프로그램 오디오 코딩 알고리즘의 목적에 대해, 이것은 3-값의 임계 플래그 CF가 사용되는 것이 가정된다: Cf(i)=1은 고정된 저-복잡성 오디오를 나타내고, Cf(i)=0.5는 고정된 높은-복잡성 오디오를 나타내고, Cf(i)=1은 온세트 또는 트랜지언트 세그먼트를 나타낸다. 물론, 임계 측정의 많은 다른 형태들이 사용될 수 있다. 이 코딩 알고리즘은 도 1의 다중 비트 할당자(14)에 의해 구현될 수 있다.
다중-프로그램 비트 할당용 처리 알고리즘
각각의 클러스터는 N 프로그램 엔코더들을 포함한다.
i=1, ..., N에 대해, 다음의 표기가 정의된다.
(Bd[i], Cf[i])는 현재 비트 할당 요구이고, 여기서 Bd[i]는 i번째 프로그램 엔코더로부터 현재 비트 요구이고, Cf[i]는 i번째 엔코더로부터 제3 임계 플래그이다.
Cf[i]=1 가장 중요한, Cf[i]=0.5 중간정도 중요한, Cf[i]=0 중요하지 않음
BR[i]는 지시된 비트 속도(i번째 프로그램에 대한 Tfmsec마다 비트)
Ba[i]는 엔코더에 의해 복귀되는 실제 비트 할당
ND는 최대 허용 가능한 시스템 지연[Tfmsec 오디오 프레임들의 유닛에서(예를 들어 8)]
BRM = 클러스터 내의 최대 평균 비트 전송 속도(예를 들어, 64kbps)
CRCBLKLEN = 외부 코드에 대한 불록 길이
도 3은 도 1의 결합 다중 프로그램 오디오 코더(10)를 결합하는 전송기(30)를 도시한다. 다중 프로그램 코더(10)의 출력은 N 출력 비트스트림(B1, B2,... BN.)의 세트이다. 소정의 출력 비트스트림(Bi)은 예를 들면, i번째 오디오 프로그램에서 발생된 오디오 패킷들의 순서인 엔코드된 오디오 신호를 나타낸다. 출력 비트스트림들(Bi)은 버퍼(32)에 분배되고, 주기적 과잉 코드들(CRCs)은 CRC 장치(34)의 각 스트림들에 대해 계산된다. CRC는 전송기(40)에서 사용될 수 있는 "외부 코드"의 한 형식의 실례이다. 다른 가능한 외부 코드들은 예를 들어, Reed-Solomon(RS) 코드들, Bose-Chadhuri-Hocquenghem(BCH) 코드들 및 다른 선형 불록 코드들을 포함한다.
전송기(30)에서, 버퍼(32)는 본 명세서에서 "F 프레임" 더하기 계수 오버헤드를 한 값으로 인용되는 지정된 고정 길이 프레임의 용량까지 CRC 프레임들로 채워진다. 그러면, 각각의 프로그램 비트스트림은 개별적 컨벌루셔널 인코더들(36A)의 세트 및 테일 발생기(36B)(tail generator)를 포함하는 컨벌루셔널 코더 뱅크(36)를 사용하여, 개별적으로 컨벌루셔널하게 코드되고 F 프레임 내에서 테일로 종결된다. 아래에 더욱 상세히 설명되는 바와 같이, 이 분리된 채널 코딩은 각각의 프로그램이 단일하고 비교적 낮은 속도 비터비 디코더(Viterbi decoder)로, 그것의 동작 비트 전송 속도의 공지된 상한으로 디코드되어, 순간 튜닝이 모든 프로그램들에 대해 가능하다. 비록, 다른 실시예들이 결합 채널 코딩 모두를 또는 N 프로그램의 부분 집합을 사용할 수 있었지만, 이것은 일반적으로 고속 비터비 디코더들과 더욱 복잡한 디인터리빙(deinterleaving)을 요구했을 것이다. 코더 뱅크(36)에서의 컨벌루셔널 코딩은 전송기(30)에서 사용된 "내부 코드" 형식의 실례이다. 내부 코드의 다른 형식은 불록 또는 컨벌루셔널 코드들(소위 "터보"코드들)을 포함하고, 격자 코드된 변조(trellis coded modulation)와 결합하여 코딩하면서 사용될 수 있다.
또한, 전송기(30)는 컨벌루셔널 코더 뱅크(36)의 출력으로부터 위에 기술한 F 프레임들을 형성하는 프레임 포맷기(37)를 포함한다. 인터리빙은 하나 이상의 고정된 길이 F 프레임의 세트에 대해 인터리버(38)에서 이루어진다. 도 4는 시간 분할 멀티플렉스된(TDM) 포맷에서 프레임 포맷기(37)에 의해 발생될 수 있는 F 프레임(40)의 실례를 도시한다. F 프레임(40)은 제어 정보(42), N 오디오 채널들을 위해 엔코드된 오디오 데이터 비트들(44-1, 44-2, ... 44-N) 및 반복된 제어 정보(42R)를 포함한다. 이 실시예에서, 각각의 엔코드된 오디오 비트들(44-i, i=1, 2, ... N)의 세트는 CRC 프레임(47)의 정수 및 종결 테일(48)을 포함한다. 프레임 포맷팅 과정의 일부로서, 다중 프로그램 제어 정보는 예를 들어, 반복된 제어 정보(42R) 및 그것 자체의 종결된 컨벌루셔널 내부 코드와 그것 자체의 CRC 외부 코드로 방지된 에러로서 반복될 수 있으므로, 제어 정보는 비-제어 정보보다 높은 레벨의 에러 방지를 제공받는다. 제어 정보는 대안적으로 비-제어 정보로서 동일한 외부 및/또는 내부 코드들을 사용할 수 있다.
F 프레임(40)의 제어 정보는 예를 들어, 각각의 프로그램에 대한 CRC 프레임들의 번호를 지시, 프레임 동기 워드와 같은 프레임 동기 정보, 인터리버 동기 정보, 가입자 확인/제어 정보, 예를 들어, 유로 무선 서비스를 위해, 속도(rate)와 같은 프로그램 내용 정보, 형식(오디오/데이터/음성) 등, 그리고, 오디오 코딩 형식과 같은 전송 파라메터들, 외부 및 내부 채널 코딩 형식, 결합 다중 프로그램 오디오 코딩 모두 또는 프로그램들의 소정의 세트의 일부의 사용, 다중 설명 코딩, 및 불균등 에러 방지(UEP)를 포함할 수 있다. 이 제어 정보의 부분들은 시스템 구성 갱신 및 프로그램 채널 개편으로 매우 느리게 변화할 수 있어서, 완전한 정보의 세트는 하나의 프레임 헤드에 포함될 필요가 없지만, 대신에 F 프레임의 번호로 확산될 수 있다.
도3의 전송기(30)는 일반적으로 도 3에는 도면의 간결성을 위해 도시되지 않은 변조기들, 멀티플렉서들, 업컨버터 등의 부가 처리 요소들을 포함할 수 있다. 또한, 전송기는 이러한 요소외의 요소들을 사용하여 구현될 수 있다. 또한, 결합 다중 프로그램 오디오 코더(10)와 같은 전송기(30)의 요소들은 적용-명세 집적 회로, 마이크로 프로세서 또는 다른 형식의 디지털 데이터 프로세서, 뿐만 아니라 이것들과 다른 알려진 장치들의 조합 또는 부분을 사용하여 적어도 부분적으로 구현될 수 있다. 또한, 전송기(30)의 요소는 컴퓨터 또는 다른 디지털 데이터 프로세서에서의 중앙 처리 장치(CPU) 등에 의해 실행된 하나 이상의 소프트웨어 프로그램들의 형식으로 구현될 수 있다.
일반적으로, 위에 설명된 결합 다중 프로그램 오디오 코딩과 관련하여 비교적 적은 오버헤드가 있다는 것을 주의해야 한다. 각각의 F 프레임은 많아야 봐야 최대 인터리버 간격으로 인터리브된 N 오디오 프로그램들의 한 세트의 모든 비트들을 포함한다. 각각의 오디오 프로그램은 예를 들어, 그것의 할당된 비트 전송 속도의 4배의 피크 평균 비트 전송 속도 예를 들어, 4 곱하기 64kbps가 허용될 수 있다. 앞서 설명한 바와 같이, 소정의 F 프레임의 제어 정보(42, 42R)는 F 프레임의 각각의 오디오 프로그램에 대한 CRC 프레임들의 수를 포함한다. 이것은 일반적으로 많아야 프로그램당 16 비트를 요구할 것이며, 이것은 본 실시예에서 N=20 프로그램들, 4초의 F 프레임 존속 기간 및 64kbps의 할당된 비트 전송 속도의 가정하에 0.025%의 오버헤드로 해석된다. 본 실시예에서, 각각의 프로그램에 대한 컨벌루셔널 코드는 각각의 F 프레임에서 종결되고, 테일 비트에 대한 오버헤드는 겨우 약 0.003%이다. 만약 UEP가 제공된다면, 제어 비트들은 두 배가 될 것이지만 테일 비트에 부가는 예를 들어, 속도-호환 구멍 컨벌루셔널(RCPC) 코드들의 사용으로 피할 수 있다. 또한 오버헤드는 예를 들어, F 프레임 1/4로 더 작은 F 프레임에 대해 최소이다. 위에 설명한 F 프레임의 크기는 일반적으로 많아야 위에 소정의 값의 4배인 제어/테일 오버헤드를 가질 것이다.
위에 설명된 결합 다중 프로그램 코딩 기술은 "Unequal Error Protection Audio Coders"라는 명칭으로 발명자 Deepen Sinha 및 Carl-Erik W. Sundberg로 1998년 2월 11일에 출원된 미국 특허 출원 번호 제 09/022,114와 "Unequal Error Protection For Digital Broadcasting Using Channel Classification"이라는 명칭으로 발명자 Deepen Sinha 및 Carl-Erik W. Sundberg로 1998년 9월 30일에 출원된 미국 특허 출원 번호 제 09/163,656과 같은 UEP 기술과 사용될 수 있다.
본 발명은 일반적으로 다중 프로그램들과 결합적으로 에러를 은폐하기 위해, 적절히-구성된 외부 코드들의 사용에 관한 것이다. 위에서 설명된 도 3의 전송기에서, 각각의 엔코드된 오디오 프로그램은 그것 자체의 외부 코드 예를 들어, 그것 자체의 CRC 코드, RS 코드 또는 신형 불록 코드의 다른 형식을 가진다. 비록 긴 다른 코드가 소정의 속도에서의 에러 정정/에러 검출 관점에서 짧은 코드가 양호하지만, 고정된 외부 코드 불록 길이를 가변 PAC 오디오 코더 패킷 길이에 매칭하는데 문제가 발생한다. 본 발명은 외부 코드 불록들이 두 개 이상의 프로그램 비트스트림 사이에서 할당될 수 있도록 하여, 긴 코드 불록들이 중요한 매칭 문제들 없이 사용될 수 있다. 본 발명의 관점은 결합 다중 프로그램 인코딩을 요구하지 않는다는 것 즉, 그것은 독립적으로-코딩된 프로그램들 또는 결합적으로-코딩된 프로그램들과 사용될 수 있음을 주의 해야한다.
도 5는 외부 코드 워드가 두 프로그램에 결합적으로 적용된 본 발명의 실시예와 결합하여 사용하기 위한 다중 프로그램 디코더(50)의 일부를 도시한다. 이 두-프로그램 실시예에서, 외부 코드 예를 들어, CRC 또는 RS 코드는 두 개 이상의 오디오 프로그램에 결합적으로 적용되고, 긴 외부 코드 불록 길이 예를 들어, 1024가 사용된다. 디코더(50)에서, 디인터리브된 제 1 및 제 2 프로그램 비트스트림들은 각각 비터비 디코더(52-1 및 52-2)에 적용된다. 비터비 디코더(52-1 및 52-2)는 개별적인 제 1 및 제 2 프로그램에 제공된 내부 코드 예를 들어, 컨벌루셔널 코드를 디코드한다. 비터비 디코드 출력들은 외부 코드 디코더(54)에 인가되고, 이것은 외부 코드를 디코드하고 각각의 두 오디오 프로그램에 대해 오디오 비트들의 세트 및 디코드된 외부 코드에서 에러의 존부를 표시하는 플래그를 생성한다. 제 1 및 제 2 프로그램들에 대한 결과 오디오 비트들 및 플래그들은 PAC 디코더(56-1 및 56-2)에 각각 공급되고, 이것은 초기 아날로그 신호들을 재 구축한다.
도 5의 실시예에서, 외부 코드 불록 당의 단일 프로그램의 실시예와는 달리, 외부 코드 디코더(54)에 의해 발생된 플래그는 두 PAC 디코더(56-1 및 56-2)에서 에러 은폐 알고리즘을 트리거한다. 프로그램 마다의 동등한 불록 길이는 외부 코드 경우 마다의 단일 프로그램에 비교된 에러 방지의 높은 레벨에서 감소된다. 도 5에 도시된 외부 코드 불록 할당 기술은 4 프로그램, 8 프로그램 등과 같은 외부 코드 불록 당의 많은 수의 프로그램에 일반화된다. 어떤 경우에, 비터비 디코더들은 2, 4, 8 등으로부터 모든 비트스트림을 디코드하기 위해 요구된 최소한의 속도에서 동작하는 것이 요구된다.
더욱 상세한 실시예로서, 외부 코드가 길이 255의 GF(28)에 기초한 RS 코드라고 가정하면, 외부 코드 불록 길이는 2040비트이다. 외부 코들 불록 경우 마다의 단일 프로그램에서, 프로그램 당의 2040 비트 외부 코드 불록들은 에러에 대해 플래그될 것이다. 그러나, 위에서 설명한 바와 같이, 외부 코드 불록 마다의 4 프로그램과 외부 코드 불록의 할당은 길이 520 비트/프로그램의 불록들이 플래그되도록 할 것이어서, 향상된 에러 은폐를 제공할 것이다. 외부 코드 불록 마다의 8 프로그램과 외부 코드 불록의 할당은 길이 260 비트/프로그램의 불록들이 플래그되도록 할 것이어서, 더욱 향상된 에러 은폐를 제공할 것이다. 이러한 플래그된 비트의 수는 아래의 테이블 1에 나열된 시뮬레이션을 사용하여 다른 오디오 코더 속도에 대해 결정된 양호한 CRC 불록 길이와 일관성을 갖는다.
테이블 1 : 에러 은폐를 위한 CRC 불록들의 양호한 길이
도 6은 코드 불록(60)이 4 프로그램 사이에서 할당되는 즉, 4 프로그램 서브 불록(62-1, 62-2, 62-3 및 62-4)들을 포함하는 위에서 설명된 다중 프로그램 에러 은폐의 실시예를 도시한다. 실시예는 4 프로그램 마다의 5 서브 클러스터에 정렬된 N=20 프로그램을 포함하는 클러스터(66)에 적용된다. 외부 코드 당의 단일 프로그램의 경우에, 결합 다중 프로그램 코더 비트 할당은 외부 코드 불록의 유닛에서 수행될 수 있다. 하나의 F 프레임이 채워질 때, 비트 할당은 프로그램의 그 부분에 대해 완성된다. 외부 코드 마다의 다중 프로그램의 경우에, 즉, 향상된 에러 은폐를 위한 긴 외부 코드들, 어떤 형식의 은폐가 요구되는지에 의존하는 비트 할당에 대해 가능한 수많은 시나리오가 있다. 그러한 두 시나리오들은 클러스터 당 20 프로그램 및 외부 코드 불록 당 4 프로그램 서브 불록들을 실례로 아래에 설명된다. 프로그램 당의 잠재적인 불균등 비트 할당과 플래그될 수 있는 비트/프로그램의 불록의 길이와 비트 할당에서의 효율성에 대한 그것의 함축으로 인하여 어려움이 발생할 수 있다.
시나리오 1 : 내부 코드 디코딩은 N 프로그램들의 완성된 클러스터에 대해 수행되고, 결합 비트 할당은 완전 외부 코드 프레임의 유닛의 견지에서 완성된 클러스터에 대해 수행된다. F 프레임 길이는 외부 코드 불록의 정수이다. 인터리버는 버퍼 출력과 외부 코드 인코더 사이에 채용되고, 인터리버는 시간 내내 동작하고 프로그램 서브 불록 유닛의 프로그램에 대해 동작한다.
시나리오 2 : 결합 비트 할당은 도 6에 도시된 바와 같이, 외부 코드 불록 길이의 단계에서 4 프로그램의 한 서브 클러스터에 대해 수행된다. 인터리버는 버퍼 출력과 외부 코드 인코더 사이에 채용되고, 인터리버는 시간 내내 동작하고 서브 클러스터의 4 프로그램에 대해 동작한다. 비트 할당은 각각의 프로그램 및 클러스터에 얼마나 많은 프로그램 불록이 있는 지를 결정하고, 이 정보는 선택된 인터리빙으로 간주하는 정보에 따라, 수신기의 다중 프로그램 디코더에 전송된다.
일반적으로 시나리오 2는 시나리오 1 보다 다소 덜 효과적인 비트 할당 결과를 얻고, 다중 플레그된 프로그램 프레임들의 더 높을 가능성 결과를 얻는다. 그러나, 시나이로 2는 단지 클러스터에 대해서만 내부 코드 디코딩을 요구한다.
도 7 및 도 8은 외부 코드의 발생이 결합 다중 프로그램 코딩의 동작으로부터 분리된 본 발명의 실시예를 도시한다. 도 7은 미리 설명한 결합 다중 프로그램 코더(10) 및 버퍼(71)를 포함하는 전송기(70)의 부분을 도시한다. 이 실시예는 F' 프레임으로 참조되는 변경된 F 프레임을 사용하고 위의 시나리오 1의 변화를 포함한다. F' 프레임(72)은 도7에 도시되고, 제어 부분(72A) 및 비-제어 부분(72B)을 포함한다. 이 실시예에서, 결합 다중 프로그램 코더 및 F' 프레임은 예를 들어, ns=256비트인 정보 비트의 지정된 수 ns의 증가 동작을 한다. 미리 설명된 F 프레임과 마찬가지로, F' 프레임은 고정 길이를 가진다. 이 실시예에서, F' 프레임에서 발생된 F 프레임은 외부 코드와 관련된 오버헤드 및 고정 길이 F' 프레임을 포함한다. F 프레임 및 F' 프레임은 정수 관계를 필요로하지 않는다. 즉, 외부 코드 불록 당 정수의 프로그램을 필요로하지 않는다. 간결성을 위해, 외부 코드 불록 당 정수 M의 프로그램이 있다고 가정하면, 외부 코드의 길이는 아래의 식으로 주어진다.
[식]
n0= ns·M ·1/Router
여기서, Router는 외부 코드의 속도이고, 결과 F 프레임은 n0불록의 정수이다. 이 실시예에서 F 프레임의 n0불록의 수가 크고, 인터리버가 ns정보 비트의 프로그램 서브 불록에 대해 동작하는 것으로 가정된다. 디인터리빙 후, n0불록으로부터의 모든 플래그는 M 프로그램들에 대해 확산되기 쉬워서, 결합 에러 은폐가 성취된다. 위에서 설명한 바와 같이, M은 정수일 필요가 없다. 그러나, 만약 M이 비-정수라면, 즉, ns정보 비트의 서브 불록의 단편이 플래그된다면, 플래그/서브 불록 비-메치가 될 것이다. 이것은 본 실시예의 ns가 소정의 PAC 프레임과 이미 비동기이므로, 원칙적으로 수용 가능하다.
도 8은 전송기(70)의 부가적인 요소들 및 수신기(80)의 대응하는 부분을 도시한다. 전송기(70)에서, F' 프레임(72)의 비-제어 부분(72B)은 ns정보 비트의 서브 불록에 대해 인터리버하는 인터리버(82)에 적용된다. 인터리브된 서브 불록들은 외부 코드 코더(84)에 인가되고, 내부 코드 코더(85)에 인가된다. 그러면, F 프레임의 결과 비-제어 부분은 부가적인 요소에서 처리될 수 있고, 통신 채널(86)을 통해 수신기(80)로 전달될 수 있다. F' 프레임(72)의 제어 부분(72A)은 본 실시예에서 분리적으로 엔코드되도록 가정된다는 것을 주의해야한다. 일반적으로, 제어 정보는 높은 레벨의 에러 방지를 사용하여 엔코드될 수 있고/또는, 도 4의 F 프레임과 관련하여 도시된 방법으로 각각의 프레임에서 반복될 수 있다. 미리 설명한 바와 같이, 제어 정보는 비-제어 정보로서 같은 외부 및 내부 코드 또는 다른 외부 및/또는 내부 코드를 사용할 것이다.
도 9의 실시예는 M=4, 외부 코드는 CRC 코드 및 인터리빙 깊이(D)는 8 코드 워드인 경우에, 인터리버(82)의 인터리빙 동작을 도시한다. 이 실시예에서, CRC 체크 비트들은 인터리빙 처리의 부분이 아닌 것으로 가정되고, 이것은 도 8의 전송기(70)의 인터리버(82)의 부분으로부터 명백해진다. 정보 비트들은 도시된 바와 같이 ns비트의 증가에서 인터리버(82)로 판독된다. 도 9의 실시예를 위해, 이러한 정보 비트들은 F' 프레임(72)의 비-제어 부분(72B)만을 포함하고, 제어 부분은 분리적으로 코드된다고 가정된다. 본 실시예의 인터리버는 D 행과 4*ns열의 불록 인터리버이다. 각각의 행은 CRC 코드 워드의 길이이다. 특정한 코드 워드가 플래그 되었을 때, 즉, 에러가 검출되었을 때, 플레그된 서브 불록들 사이의 분리는 전형적으로 디인터리빙 후의 D 서브 불록이다. 이것은 인터리버(82)에서 사용될 수 있는 하나의 인터리빙 형식의 실시예임이 강조되어야 한다. 다른 장치도 예를 들어, 랜덤 형 인터리버들 또는 컨벌루셔널 인터리버들과 가능하다. 물론, 어떤 인터리버와 관련된 잠재적인 결점은 시스템에서의 더 많은 지연의 개입 가능성이다.
다시, 도 8을 참조하여, 수신기(80)의 비터비 디코더(88)는 비터비 알고리즘을 N 프로그램의 단일 클러스터에 적용하여 내부 코드를 디코드한다. 그러면, 외부 코드는 외부 코드 디코더(90)에서 디코드되고, 외부 코드 디코더의 출력은 디인터리버(92)에서 디인터리버된다. 디인터리버(92)는 클러스터의 N 프로그램중 선택된 하나에 대해 오디오 비트 및 외부 코드 플래그를 포함하는 재구성된 F' 프레임(94)을 발생한다. 오디오 비트 및 플래그들은 PAC 디코딩 및 에러 은폐 요소(96)에 예를 들어 초기의 오디오 신호를 재구성하는 PAC 디코더에 공급된다. 플래그는 요소(96)에서 에러 은폐 알고리즘을 트리거하기 위해 사용된다. 두 전송기(70) 및 수신기(80)는 도면의 명확성과 간결성을 위해 생략된 변조기/복조기, 업컨버터/다운 컨버터 등과 같은 부가적인 요소를 포함할 수 있다. 또한, 다중 프로그램 청취 및/또는 기록은 다중 PAC디코더를 사용하여 본 발명에서 성취될 수 있다.
도 7 및 도 8에 도시된 실시예에서, 클러스터의 프로그램 수의 분리와 외부 코드의 길이가 있다. 또한, 소정의 클러스터가 단일 프로그램만을 포함할 수 있다는 것을 주의해야 한다. 다시 말해, 도 7 및 도 8의 실시예는 비록, 이 경우에 종래의 단일 프로그램 DAB와 관련하여 더 많은 지연이 긴 외부 코드로 인해 발생하지만, 긴 외부 코드로 단일 프로그램 DAB를 위해 사용될 수 있다. 길이 256의 GF(28)에 기초한 RS 코드의 실시예에서, 외부 코드 불록 길이는 2048비트이고, 64kbps 오디오 코드 속도에서 M의 적당한 값은 4에서 8이다.
본 발명의 다른 실시예는 예를 들어 RS, BCH 또는 다른 선형 불록 코드들 같은 외부 코드들의 다른 형식, 컨벌루셔널 코드의 다양한 형식, 터보 코드 또는 격자 코드된 변조와 관련된 코딩과 같은 다른 형식의 내부 코드, 및 예를 들어 불록 인터리빙, 컨벌루셔널 인터리빙 또는 랜덤 인터리빙과 같은 다양한 다른 형식의 인터리빙을 사용할 수 있다. 또한 다른 실시예들은 단지 외부 코드가 아닌 내부 코드만을 사용할 수 있으며, 역으로도 성립할 수 있다. 물론 RS, BCH 또는 에러 수정 외부 코드의 다른 유사한 형식을 사용하는 실시예들은 에러 정정뿐만 아니라 에러 플래그를 발생하기 위해서도 위의 코드를 사용할 수 있다.
또한, 도 4에서 보여주는 TDM 프레임 포맷은 실시예이지만, TDM 프레임 포맷의 임의의 구체적인 형태 또는 일반적으로 TDM 프레임 포맷들로 사용되도록 본 발명을 한정하는 것으로 구성되지 않아야 한다. 본 발명은 주파수 분할 멀티플렉스드(FDM) 및 코드 분할 멀티플렉스드(CDM) 포맷뿐만 아니라 TDM, FDM, CDM 또는 다른 형태의 프레임 포맷들을 포함하여, 광범위하게 다른 프레임 포맷들을 디코딩하는데 적용될 수 있다. 또한, 여기에 구체적으로 설명되지는 않았지만, 복수의 상이한 형태의 변조 기술은 예를 들어, 모든 채널에서 단일-캐리어 변조 또는, 모든 채널에서 직각 주파수 분할 멀티플렉싱(OFDM)을 포함하여, 본 발명에 연결하여 사용될 수 있다. 소정의 캐리어는 예를 들어, m-QAM, m-PSK 또는 격자(trellis) 코드화된 변조와 같은 기술을 포함하여 임의의 원하는 형태의 변조 기술을 이용하여 변조될 수 있다.
상술한 바와 같이, 본 발명은 데이터, 비디오, 이미지들과 다른 형태의 정보와 같이, 오디오와 다른 디지털 정보의 전송에 적용될 수 있다. 예시적인 실시예가 PAC 엔코더에 의해 생성되는 것들과 같이, 오디오 패킷들을 이용함에도 불구하고, 일반적으로, 본 발명은 임의의 형식으로 디지털 정보에 더 많이 적용할 수 있고, 임의의 형태의 압축 기술에 의해 생성될 수 있다. 본 발명은 동시 다중 프로그램 청취 및/또는 기록, 오디오 및 데이터의 동시 전달 등과 같은 복수의 적용에서 구현될 수 있다. 다음의 청구범위의 범위 내에서 이러한 및 복수의 다른 실시예와 구현은 당업자들에게 명백할 것이다.
본 발명은 동시 다중 프로그램 청취 및/또는 기록, 오디오 및 데이터의 동시 전달 등과 같은 복수의 적용에서 구현될 수 있다. 또한, 본 발명은 예를 들어, 데이터, 비디오 및 이미지 정보를 포함하여, 다른 형태의 디지털 정보에 적용될 수 있다. 본 발명의 다른 실시예는 다른 형태의 외부 코드들, 다른 형태의 내부 코드들, 예를 들어, 블록 인터리빙, 컨벌루셔널 인터리빙 또는 랜덤 인터리빙과 TDM, FDM, 또는 CDM 프레임 포맷들을 포함하는 광범위한 상이한 프레임 포맷과 같은 다른 형태의 인터리빙들뿐만 아니라, 이러한 및 다른 포맷들의 조합을 이용할 수 있다. 또한, 본 발명은 인식 코더들에 적용할 수 있을 뿐만 아니라 비트 속도들의 넓은 범위를 통해 동작하는 다른 압축 기술들을 사용하여 다른 형태의 소스 엔코더들에 적용할 수 있고, 무선 방송 채널들과 다른 전송 채널들을 사용할 수 있다.

Claims (21)

  1. 통신 시스템에서 전송을 위한 복수의 프로그램을 처리하는 방법에 있어서,
    지정된 비트 할당에 따라 각각의 프로그램과 관련된 비트스트림을 엔코딩하는 단계와;
    엔코드된 비트스트림들의 서브세트에 있는 각각의 엔코드된 비트스트림의 서브 불록들이 단일 외부 코드 불록과 관련되도록, 외부 코드를 결과 적으로 발생하는 엔코드된 비트스트림의 적어도 한 서브세트의 서브 불록들에 외부 코드를 인가하는 단계를 포함하는 복수의 프로그램 처리 방법.
  2. 제 1 항에 있어서,
    상기 서브세트에서 각각의 엔코드된 비트스트림의 서브 블록들의 정수는 외부 코드 블록들 중의 소정의 하나와 관련되는 복수의 프로그램 처리 방법.
  3. 제 1 항에 있어서,
    상기 서브세트에서 각각의 엔코드된 비트스트림의 서브 블록들의 비-정수는 외부 코드 블록들 중의 소정의 하나와 관련되는 복수의 프로그램 처리 방법.
  4. 제 1 항에 있어서,
    상기 외부 코드를 적용하기 전에, 정보 비트들의 지정된 수(ns)의 증가에서 엔코드된 비트스트림의 각각의 서브세트의 서브 블록들을 인터리빙하는 단계를 더 포함하는 복수의 프로그램 처리 방법.
  5. 제 1 항에 있어서,
    상기 외부 코드 생성 단계가 엔코딩 단계로부터 분리되도록, 상기 적용하는 단계는 엔코드된 비트스트림의 서브세트들의 인터리브된 서브 블록들 상에 외부 코드 생성 단계를 더 포함하는 복수의 프로그램 처리 방법.
  6. 제 1 항에 있어서,
    상기 엔코딩 및 적용 단계는 각각의 정보 비트들의 복수의 프레임에 대해 반복되는 복수의 프로그램 처리 방법.
  7. 제 1 항에 있어서,
    상기 외부 코드는 CRC 코드, RS 코드 및 BCH 코드 중의 하나를 구비하는 선형 블록 코드인 복수의 프로그램 처리 방법.
  8. 제 1 항에 있어서,
    상기 결과 외부 코드 블록들에 내부 코드를 적용하는 단계를 더 포함하는 복수의 프로그램 처리 방법.
  9. 제 8 항에 있어서,
    상기 내부 코드는 컨벌루셔널 코드, 터보 코드와, 격자 코드 중의 하나인 복수의 프로그램 처리 방법.
  10. 제 1 항에 있어서,
    상기 엔코딩 단계는 상기 복수의 프로그램의 적어도 하나의 서브세트를 결합적으로 엔코딩하는 단계를 포함하는 복수의 프로그램 처리 방법.
  11. 제 1 항에 있어서,
    상기 엔코딩 단계는 상기 복수의 프로그램의 적어도 하나의 서브세트를 독립적으로 엔코딩하는 단계를 포함하는 복수의 프로그램 처리 방법.
  12. 통신 시스템에서 전송을 위한 복수의 프로그램 처리 장치에 있어서,
    구체화된 비트 할당에 따른 각각의 프로그램과 관련된 비트스트림을 엔코드하도록 동작하는 다중 프로그램 코더와;
    상기 엔코드된 비트스트림들의 서브세트에서 각각의 엔코드된 비트스트림의 서브 블록들이 단일 외부 코드 블록과 관련되도록, 외부 코드를 결과 적으로 발생하는 엔코드된 비트스트림의 적어도 하나의 서브세트의 서브 불록에 결합적으로 인가하는 외부 코드 엔코더를 포함하는 복수의 프로그램 처리 장치.
  13. 제 12 항에 있어서,
    상기 서브세트에서 각각의 엔코드된 비트스트림의 서브 블록들의 정수는 외부 코드 블록들 중의 소정의 하나와 관련되는 복수의 프로그램 처리 장치.
  14. 제 12 항에 있어서,
    상기 서브세트에서 각각의 엔코드된 비트스트림의 서브 블록들의 비-정수는 외부 코드 블록들의 소정의 하나와 관련되는 복수의 프로그램 처리 장치.
  15. 제 12 항에 있어서,
    상기 외부코드가 적용되기 이전에, 정보 비트들의 지정된 수의 증가에서 엔코드된 비트스트림들의 각각의 서브세트의 서브 블록들을 인터리브하도록 동작하는 인터리버를 더 포함하는 복수의 프로그램 처리 장치.
  16. 제 12 항에 있어서,
    상기 외부 코드는 엔코드된 비트스트림들의 서브세트들의 인터리브된 서브 블록들에 관해 생성되어, 외부 코드 생성은 다중 프로그램 코더의 동작으로부터 분리되는 복수의 프로그램 처리 장치.
  17. 제 12 항에 있어서,
    상기 외부 코드는 CRC 코드, RS 코드와, BCH 코드 중의 하나를 구비하는 선형 블록 코드인 복수의 프로그램 처리 장치.
  18. 제 12 항에 있어서,
    상기 외부 코드 엔코더에 의해 생성되는 외부 코드 블록들에 내부 코드를 적용하도록 동작하는 내부 코드 엔코더를 더 포함하는 복수의 프로그램 처리 장치.
  19. 제 18 항에 있어서,
    상기 내부 코드는 컨벌루셔널 코드, 터보 코드와 격자 코드 중의 하나인 복수의 프로그램 처리 장치.
  20. 제 12 항에 있어서,
    상기 다중 프로그램 코더는 복수의 프로그램의 적어도 하나의 서브세트를 결합적으로 엔코드하도록 동작하는 복수의 프로그램 처리 장치.
  21. 제 12 항에 있어서,
    상기 다중 프로그램 코더는 복수의 프로그램의 적어도 하나의 서브세트를 독립적으로 엔코드하도록 동작하는 복수의 프로그램 처리 장치.
KR1020000003965A 1999-01-27 2000-01-27 디지털 오디오 방송 및 다른 애플리케이션들을 위한 공동 다중 프로그램 에러 은폐 방법 및 장치 KR100742102B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/238,138 1999-01-27
US9/238,138 1999-01-27
US09/238,138 US6357029B1 (en) 1999-01-27 1999-01-27 Joint multiple program error concealment for digital audio broadcasting and other applications

Publications (2)

Publication Number Publication Date
KR20000057815A true KR20000057815A (ko) 2000-09-25
KR100742102B1 KR100742102B1 (ko) 2007-07-25

Family

ID=22896668

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000003965A KR100742102B1 (ko) 1999-01-27 2000-01-27 디지털 오디오 방송 및 다른 애플리케이션들을 위한 공동 다중 프로그램 에러 은폐 방법 및 장치

Country Status (6)

Country Link
US (1) US6357029B1 (ko)
EP (1) EP1024616B1 (ko)
JP (1) JP2000236261A (ko)
KR (1) KR100742102B1 (ko)
CA (1) CA2296138C (ko)
TW (1) TW484271B (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681363B1 (en) * 1999-02-09 2004-01-20 Sony Corporation Data receiver, data transmission system, and data transmitting method therefor
US6829307B1 (en) * 1999-02-24 2004-12-07 The Board Of Trustees Of Leland Stanford Junior University Express bit swapping in a multicarrier transmission system
CN100483953C (zh) * 1999-05-10 2009-04-29 株式会社Ntt杜可莫 数据信号发送方法与数据信号发送装置
US7283965B1 (en) * 1999-06-30 2007-10-16 The Directv Group, Inc. Delivery and transmission of dolby digital AC-3 over television broadcast
US6807648B1 (en) * 1999-09-13 2004-10-19 Verizon Laboratories Inc. Variable-strength error correction in ad-hoc networks
KR100677070B1 (ko) * 1999-10-02 2007-02-01 삼성전자주식회사 무선 멀티미디어 통신에서의 비디오 비트스트림 데이터의 오류 제어방법 및 이를 위한 기록 매체
US6510182B1 (en) * 1999-10-25 2003-01-21 Freesystems Pte. Ltd. Wireless infrared digital audio system
US6587826B1 (en) * 1999-12-15 2003-07-01 Agere Systems Inc. Channel code configurations for digital audio broadcasting systems and other types of communication systems
US6798791B1 (en) * 1999-12-16 2004-09-28 Agere Systems Inc Cluster frame synchronization scheme for a satellite digital audio radio system
DE10017929A1 (de) * 2000-04-11 2001-11-22 Siemens Ag Verfahren zum Übertragen breitbandiger, IP-basierter Datenströme in einem Punkt-zu-Mehrpunkt-Kommunikationsnetz
US6922447B1 (en) * 2000-05-17 2005-07-26 Nokia Corporation Apparatus, and associated method, for forming a signal exhibiting space-time redundancy
DE50103788D1 (de) * 2000-07-31 2004-10-28 Siemens Ag Verfahren zur fehlerkorrektur bei einer paketorientierten datenübertragung
US7305043B2 (en) * 2002-10-17 2007-12-04 Ibiquity Digital Corporation Method and apparatus for formatting signals for digital audio broadcasting transmission and reception
US7065696B1 (en) * 2003-04-11 2006-06-20 Broadlogic Network Technologies Inc. Method and system for providing high-speed forward error correction for multi-stream data
US7613985B2 (en) * 2003-10-24 2009-11-03 Ikanos Communications, Inc. Hierarchical trellis coded modulation
US7895034B2 (en) * 2004-09-17 2011-02-22 Digital Rise Technology Co., Ltd. Audio encoding system
EP1887446A1 (de) * 2006-08-02 2008-02-13 Siemens Aktiengesellschaft Verfahren zur seriellen asynchronen Übertragung von Daten in einer Anordnung zur Überwachung, Steuerung und Regelung einer betriebstechnischen Anlage eines Gebäudes
JP5153456B2 (ja) * 2008-05-28 2013-02-27 株式会社アドバンテスト 過剰雑音比導出装置、雑音指数導出装置、方法、プログラム、記録媒体
FR2955001A1 (fr) * 2010-01-06 2011-07-08 St Microelectronics Grenoble 2 Procede et dispositif d'entrelacement en ligne et en colonne pour blocs de taille variable
US8527837B2 (en) * 2010-10-15 2013-09-03 Micron Technology, Inc. Selective error control coding in memory devices
CN102684842B (zh) * 2011-08-17 2017-02-01 国家新闻出版广电总局广播科学研究院 一种交织和解交织比特流的方法以及交织器与解交织器
WO2014001605A1 (en) * 2012-06-28 2014-01-03 Ant-Advanced Network Technologies Oy Processing and error concealment of digital signals
CN106301672B (zh) * 2015-05-19 2019-03-22 红阳科技股份有限公司 提升数据正确性的音频传输系统及其数据处理方法
US20170063495A1 (en) * 2015-08-28 2017-03-02 Red Sunrise Co., Ltd. Audio signal transmission system and data processing method for enhancing data accuracy of the same
US10210545B2 (en) * 2015-12-30 2019-02-19 TCL Research America Inc. Method and system for grouping devices in a same space for cross-device marketing

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4202140A1 (de) * 1992-01-27 1993-07-29 Thomson Brandt Gmbh Verfahren zur uebertragung digitaler audio-signale
US5517511A (en) * 1992-11-30 1996-05-14 Digital Voice Systems, Inc. Digital transmission of acoustic signals over a noisy communication channel
US5463641A (en) 1993-07-16 1995-10-31 At&T Ipm Corp. Tailored error protection
US5465260A (en) * 1993-11-04 1995-11-07 Cirrus Logic, Inc. Dual purpose cyclic redundancy check
DE4409368A1 (de) * 1994-03-18 1995-09-21 Fraunhofer Ges Forschung Verfahren zum Codieren mehrerer Audiosignale
US5956674A (en) * 1995-12-01 1999-09-21 Digital Theater Systems, Inc. Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels
US5815514A (en) * 1996-02-09 1998-09-29 Overland Data, Inc. Variable rate bit inserter for digital data storage
US5949796A (en) * 1996-06-19 1999-09-07 Kumar; Derek D. In-band on-channel digital broadcasting method and system
US5708665A (en) * 1996-08-22 1998-01-13 Lsi Logic Corporation Digital receiver using equalization and block decoding with erasure and error correction
US5812603A (en) * 1996-08-22 1998-09-22 Lsi Logic Corporation Digital receiver using a concatenated decoder with error and erasure correction
US6088387A (en) * 1997-12-31 2000-07-11 At&T Corp. Multi-channel parallel/serial concatenated convolutional codes and trellis coded modulation encoder/decoder

Also Published As

Publication number Publication date
EP1024616B1 (en) 2017-07-12
CA2296138C (en) 2004-08-17
EP1024616A3 (en) 2006-04-05
CA2296138A1 (en) 2000-07-27
KR100742102B1 (ko) 2007-07-25
EP1024616A2 (en) 2000-08-02
TW484271B (en) 2002-04-21
JP2000236261A (ja) 2000-08-29
US6357029B1 (en) 2002-03-12

Similar Documents

Publication Publication Date Title
KR100712866B1 (ko) 디지털 오디오 방송 및 다른 응용들을 위한 다중 프로그램디코딩 방법 및 장치
KR100742102B1 (ko) 디지털 오디오 방송 및 다른 애플리케이션들을 위한 공동 다중 프로그램 에러 은폐 방법 및 장치
US6405338B1 (en) Unequal error protection for perceptual audio coders
US6223324B1 (en) Multiple program unequal error protection for digital audio broadcasting and other applications
EP0991221B1 (en) Unequal error protection for digital broadcasting using channel classification
JP3852680B2 (ja) 部分帯域干渉チャネルに対する隠れパンクチャリングに基づくチャネルコーディング
US6662339B1 (en) Error screening based on code and control information consistency in a communication system
US6587826B1 (en) Channel code configurations for digital audio broadcasting systems and other types of communication systems
KR100783298B1 (ko) 디지털 오디오 방송 및 다른 응용들을 위한 결합 다중프로그램 코딩 방법 및 장치
Naik et al. Joint encoding and decoding methods for digital audio broadcasting of multiple programs

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
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130620

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140701

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170710

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190709

Year of fee payment: 13