KR20040097276A - 인터리빙을 행하기 위한 방법 및 장치와, 디인터리빙을행하기 위한 방법 및 장치 - Google Patents

인터리빙을 행하기 위한 방법 및 장치와, 디인터리빙을행하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20040097276A
KR20040097276A KR10-2004-7015803A KR20047015803A KR20040097276A KR 20040097276 A KR20040097276 A KR 20040097276A KR 20047015803 A KR20047015803 A KR 20047015803A KR 20040097276 A KR20040097276 A KR 20040097276A
Authority
KR
South Korea
Prior art keywords
data
bit
bit string
bits
interleaving
Prior art date
Application number
KR10-2004-7015803A
Other languages
English (en)
Other versions
KR100493263B1 (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 KR20040097276A publication Critical patent/KR20040097276A/ko
Application granted granted Critical
Publication of KR100493263B1 publication Critical patent/KR100493263B1/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/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
    • 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
    • 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/27Coding, 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 using interleaving techniques
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • H03M13/2707Simple row-column interleaver, i.e. pure block interleaving
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/276Interleaving address generation
    • H03M13/2764Circuits therefore
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2792Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
    • 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/356Unequal error protection [UEP]
    • 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/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • 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/0023Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
    • H04L1/0025Transmission of mode-switching indication
    • 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
    • H04L1/0088Unequal error protection in control part

Abstract

기입 어드레스 공급부(210)는, 전송 또는 기록할 프레임에 포함되는 헤더(H)에 대응한 비트열 및 이 프레임에 포함된 데이터(D)에 대응한 비트열을 구성하는 각 비트를 기입하기 위해 기입 어드레스를 상기 작업메모리(220)에 공급한다. 판독어드레스 공급부(230)는 헤더(H)에 대응한 복수의 연속한 비트를 작업메모리(220)로부터 판독하기 위한 복수의 어드레스와, 데이터(D)에 대응한 1개의 비트를 작업메모리(220)로부터 판독하기 위한 어드레스를 교대로 작업메모리(220)로 공급하고, 헤더(H)에 대응한 비트열을 구성하는 각 비트가 데이터(D)를 구성하는 비트열 내에 분산 배치된 비트열을 작업메모리(220)로부터 판독한다.
이러한 인터리빙장치에 의하면, 프레임을 구성하는 각 정보에 대해, 개별적으로 랜덤화를 수행하고, 각 정보를 구성하는 비트를 그 정보에 대해 최적인 형태로 전송할 수 있다.

Description

인터리빙을 행하기 위한 방법 및 장치와, 디인터리빙을 행하기 위한 방법 및 장치{Interleaving Method and Device, and Deinterleaving Method and Device}
본 발명은, 디지털통신시스템의 송신장치 및 기록매체에 디지털 정보를 기록하는 디지털기록장치에 사용되는 인터리빙방법 및 인터리빙장치, 그리고 디지털통신시스템의 수신장치 및 기록매체로부터 디지털정보를 재생하는 재생장치에 사용되는 디인터리빙방법 및 디인터리빙장치에 관한 것이다.
디지털 정보의 전송을 행하는 디지털 통신시스템에서는, 전송과정에서 디지털 정보 중에 부호오류가 발생할 수 있으므로, 전송해야할 디지털 정보에 대해서, 오류정정부호(error-correcting codes)에 의한 부호화가 행하여진다.
이 오류정정부호화를 행한 경우, 하나의 부호어(code word)에 포함되는 오류비트의 수가 소정치 이하로 유지된다면, 수신측에서의 오류정정복호화 시에 그 전체의 오류를 정정하는 것이 가능하다. 각 부호어에 대해 정정될 수 있는 비트 수는 그 오류정정부호의 오류정정능력이라고 알려져 있다.
이동통신 등의 통신환경에서 평균부호오류율 자체는 작은 것이고, 버스트 오류(burst errors)가 발생하기 쉽다. 따라서, 오류정정부호화를 행하여 데이터 전송을 행하였더라도, 그 오류정정능력을 넘어서는 연속 비트 수의 버스트 오류가 발생하는 것이 많다.
이 때문에, 이동통신환경에서는, 랜덤부호오류가 발생하는 통신환경과 비교하면, 오류정정부호를 사용하는 것에 의해, 효과가 적게된다. 그래서, 이 문제를 해결하기 위해서, 인터리빙이 사용된다.
이 인터리빙은, 전송해야할 비트열의 순서를 바꿔서 늘어 세우고, 본래의 늘어선 순서와 달라진 순서로 각 비트를 전송하는 기술이다.
일례로서, n개 비트로 이루어진 부호어를 m개 모은 m×n비트의 비트열을 하나의 단위로 하여 인터리빙을 행하는 방법에 대해서 설명한다. 또한, 이하에서는 편의상 1회의 인터리빙의 대상으로 되는 비트열을 프레임이라고 하겠다.
일반적으로 인터리빙은 메모리를 사용하여 행한다. 이 예에서는, 메모리에 있는 m×n 개의 연속기억영역을 이용하여 인터리빙을 수행한다.
도 20은, 이 인터리빙용의 기억영역을 2차원적으로 표현한 메모리 공간을 나타낸 것이다. 이 메모리 공간에서의 각 기억영역은, n개의 조합값을 가질 수 있는하위 어드레스와, m개의 조합값을 가질 수 있는 상위 어드레스로 이루어진 소정 비트 수의 어드레스 데이터에 의해 특정된다. 도 20에서는, 동일한 상위 어드레스를 가지는 기억영역이 하위 어드레스 순으로 좌측에서 우측으로 늘어서며, 동일한 하위 어드레스를 가지는 기억영역이 상위 어드레스 순으로 위에서 아래로 늘어서 있다. 또한 이하에서는 편의상 동일한 상위 어드레스를 가지는 일련의 기억영역을 행(rows)이라고 하고, 동일한 하위 어드레스를 가지는 일련의 기억영역을 열(columns)이라고 하겠다.
인터리빙을 행할 때에, 우선 그 대상으로 되는 비트열이 1비트씩 m×n개의 기억영역의 각각으로 순차 기입된다. 이 기입을 행할 때의 기입어드레스는 예를 들면 도 21에 도시한 바와 같은 어드레스 발생회로에 의해 발생된다. 이 어드레스 발생회로는 n-진카운터(n-scale counter: 11)와 m-진카운터(12)로 구성되어 있다. 여기서, m-진카운터(12)는 인터리빙 대상인 각 비트의 입력타이밍에 동기한 비트 클럭(bit block)의 카운터를 행한다. 또한 m-진카운터의 카운트 값이 m회 변화할 때마다 n-진카운터(11)는 "1"만큼씩 그 카운트 값을 증가시킨다. 그리고, n-진카운터(11)의 카운트 값을 하위어드레스 m-진카운터(12)의 카운트 값을 상위 어드레스로 하는 기입 어드레스가, 도 20에 도시한 메모리에 대해 부여되고 메모리에 대한 기입이 실행된다.
그 결과, 도 22에 도시한 바와 같이, 비트열 중 최초의 n비트의 부호어가 메모리 공간에서의 제1행에 기입되고, 다음의 부호어가 제2행에 기입되고, …, 최후에 m번째의 부호어가 제m행에 기입된다.
다음으로, 이러한 메모리에 기입된 각 비트가 기입의 경우와 다른 순서로 판독된다.
이러한 판독하는 동작에서는, 도 23에 도시하는 어드레스 발생회로에 의해 판독 어드레스가 발생된다. 이 도 23에 도시한 구성에서는 m-진카운터(22)에 의해 비트 블록의 카운터가 행해지고, 이 m-진카운터(22)의 카운트 값이 m회 변화할 때마다 n-진카운터(21)의 카운트 값이 "1"만큼 증가된다. 그리고, n-진카운터(21)의 카운트 값을 하위 어드레스로, m-진카운터(22)의 카운트 값을 상위 어드레스로 하는 판독 어드레스가 비트 블록에 동기하여서 인터리빙용의 메모리에 공급되고, 메모리의 판독이 행해진다.
그 결과, 도 24에 도시한 바와 같이, 메모리 공간의 제1열의 각 기억영역에 기억된 m비트가 상위 어드레스 순으로 판독되고, 다음으로 제2열의 각 기억영역에 기억된 m비트가 상위 어드레스 순으로 판독되고, …최후의 제n열의 각 기억영역에 기억된 m비트가 상위 어드레스 순으로 판독된다.
이와 같이, 프레임을 구성하는 각 부호어가 메모리에 기입됨과 함께, 각 부호어를 구성하는 각 비트가 기입 시와는 다른 순서로 판독하는 것에 의해 각 부호어를 구성하는 각 비트가 프레임 내에 전역으로 분산된다. 또한 구체적으로 설명하면, 각 부호어를 구성하는 n개의 비트는 인터리빙의 결과, 다른 부호어에 속해있던 m-1개의 비트를 사이에 두고서 떨어진 상태로 프레임 내에 분산 배치되는 것이다.
프레임은, 이러한 인터리빙이 수행된 후, 전송로로 전송된다.
수신측에서는, 이 프레임을 전송로를 매개로 송신하면, 인터리빙과는 반대로바꿔 늘어 세우는 조작을 실행하여 원래의 순서로 각 비트가 늘어선 프레임을 복원한다. 이 수신측에서 행해지는 바꿔 늘어 세우는 조작이 디인터리빙이다.
이러한 인터리빙 및 디인터리빙을 이용한 전송방식에 의해 프레임의 전송을 행한 경우, 전송과정에서 버스트 부호오류가 프레임에 생긴다해도 수신측에서 이 부호오류를 정정하는 것이 용이하게 된다.
상세히 설명하면, 다음과 같다.
우선 예를 들면, 전송과정에서, 인터리빙이 수행된 프레임에 m×k 비트 길이의 버스트 부호오류가 발생하였다고 가정하자.
여기서, m×k 비트 길이를 가지고 발생하는 버스트 부호오류는 각 부호어에 대해서 k비트씩 포함하고 있다. 이때, 상기 비트는 m개의 부호어를 형성한다. 이 때문에 디인터리빙에 의해 복원된 m개의 부호어에서, 버스트 부호오류의 영향을 받고 있는 비트는 1부호어에 대해 k비트밖에 안 된다. 즉, 인터리빙된 프레임에 버스트 부호오류가 생겼다고 해도, 그 부호오류는 디인터리빙 후에 프레임에 대해서는 랜덤부호오류로 되어버린다.
따라서, k비트 이상의 부호오류를 정정할 수 있는 오류정정부호를 사용하여 부호어의 오류정정부호화가 행해지고 있는 경우에는, m×k비트 길이의 버스트 부호오류가 발생하였다고 해도 수신측에서 모든 부호오류를 정정하는 것이 가능하다.
또한, 이 인터리빙이 초래하는 효과를 이하에서는 편의상 버스트부호오류의 랜덤화 또는 단순히 랜덤화라고 하겠다.
여기서, 프레임을 구성하는 부호어의 수 m이 큰 경우에는, 비트 길이가 긴버스트 부호오류가 생겼다고 하여도, 1부호어마다의 오류비트 수를 적게 할 수 있다. 이 의미에서, 인터리빙에 의한 랜덤화의 효과는 프레임을 구성하는 부호어의 수 m이 클수록 커진다라고 할 수 있을 것이다.
그렇지만, 송신 측에서 인터리빙을 수신측에서 디인터리빙 각각 실행하기에는 적어도 1프레임만큼의 비트를 축적할 필요가 있으므로, 지연이 필연적으로 생기게 된다. 그래서, 인터리빙의 프레임 길이로서 지연이 적게 되는 길이를 선택할 필요가 있다. 이 때문에, 예를 들면, 인터리빙의 처리단위로서 프레임 길이를 코덱(CODEC) 등으로 설정된 프레임 길이와 같게 설정하는 등이 바람직하다.
그런데, 음성이나 화상 등의 정보의 디지털 통신에서는, 전송의 단위인 1프레임을 구성하는 비트열이, 오류정정부호화된 헤더와 오류정정부호화되지 않은 부분으로 구성된 경우가 있다. 이러한 1프레임을 구성하는 비트열 전체에 대해서 상기 인터리빙을 실행하면, 오류정정부호화되지 않은 부분도 버스트부호오류의 프레임화가 행해지므로 다음과 같은 문제가 생긴다.
(1) 문제 1
음성 등의 정보를 취급하는 코덱에서는, 오류정정부호화가 행해지지 않은 부분에 오류가 있는 것이 추정된 경우에, 그 부분을 무음구간으로 치환시켜 은폐처리(concealment)라고 불리는 작동이 실행된다. 이러한 작동을 적절하게 행하기 위해서는 부호오류가 집중되는 것이 바람직하다. 따라서, 오류정정부호화가 행해지지 않은 부분에 관해서는, 인터리빙에 의한 랜덤화는 오히려 바람직하지 않다.
(2) 문제 2
인터리빙에 의한 랜덤화의 효과를 극대화시키기 위해서는, 전술한 바와 같이, 오류정정부호화된 부호어 비트 길이 n을 기준으로 하여 인터리빙을 실행하고, 각 부호어를 구성하는 n비트를 1프레임 내에서 넓게 분산시키는 것이 바람직하다. 그러나, 실제에는 전송할 데이터의 종류에 따라 다른 종류의 오류정정부호화가 실행되고, 부호길이가 여러 가지인 다수 종류의 부호어(오류정정부호)로부터 1프레임이 구성되는 경우가 많다. 이러한 경우에, 프레임 내의 특정 오류정정부호화의 부호길이를 기준으로 하여 프레임 전체에 인터리빙을 수행하면, 그 특정 오류정정부호에 대해서는 충분한 랜덤화 효과를 얻을 수 있지만, 이것과 부호길이가 다른 그 외의 오류정정부호에 대해서는 충분한 랜덤화의 효과를 얻을 수 없다라는 문제가 발생한다.
(3) 제3문제점
랜덤화가 바람직한가 여부는, 오류정정부호화가 되어 있는 데이터인가 여부만으로 결정된다라고 할 수 없다. 즉, 오류정정부호화된 비트열과 오류정정부호화되지 않은 비트열로 구성되는 프레임에서, 오류정정부호화되지 않은 비트열이, 그 성질상 랜덤화를 행하는 것이 바람직한 데이터에 대응하여 구성되거나, 또는 랜덤화를 행하지 않는 쪽이 바람직한 데이터에 대응하여 구성되는 경우가 있다. 프레임을 구성하는 각 데이터마다에 대해, 랜덤화를 행하는 것이 적절할지 여부에 대해서는 그 데이터의 성질에 맞는 적절한 조치를 채택한다면 바람직할 것이다. 그러나, 지금까지는 이러한 문제를 해결하기 위한 기술적 수단이 제공되고 있지 않다.
본 발명은, 이러한 사정을 고려하여 이루어진 것으로서, 프레임을 구성하는 각 정보에 대해서 개별적으로 랜덤화를 수행하고, 각 정보를 구성하는 비트를 그 정보로 취해 적절한 형태로 전송할 수 있도록 하는 인터리빙방법, 인터리빙장치, 디인터리빙방법, 디인터리빙장치를 제공하는 것을 목적으로 한다.
이 목적을 달성하기 위해, 본 발명은, 전송 또는 기록할 프레임에 포함되는 제1정보에 대응한 비트열 내에 그 프레임에 포함되는 제2정보에 대응하는 비트열을 구성하는 각 비트를 분산 배치하는 것을 특징으로 하는 인터리빙방법 및 이것에 대응하는 디인터리빙방법을 제공한다.
이러한 발명에 따르면, 제2정보에 대해서만 인터리빙에 의한 랜덤화의 효과가 미치므로 각 정보에 알맞은 전송을 행할 수 있다.
도 1은, 본 발명의 제1실시형태에 따른 인터리빙장치의 구성을 나타내는 블록도이며,
도 2는, 이 인터리빙 장치에 기입어드레스 공급부의 구성 예를 나타내는 블록도이며,
도 3은, 이 인터리빙 장치의 판독어드레스 제공부의 구성 예를 나타내는 블록도이며,
도 4는 이 실시형태에서 인터리빙 시에 프레임을 구성하는 각 비트를 작업메모리의 각 기억영역에 기입하는 순서 및 디인터리빙 시에 프레임을 구성하는 각 비트를 작업메모리의 각 기억영역으로부터 판독하는 순서를 나타내는 도면이며,
도 5는 이 실시형태에서 인터리빙 시에 프레임을 구성하는 각 비트를 작업 메모리의 각 기억영역으로부터 판독하는 순서 및 디인터리빙 시에 프레임을 구성하는 각 비트를 작업 메모리의 각 기억영역에 기입하는 순서를 나타낸 도면이며,
도 6은 이 실시형태에 관한 디인터리빙 장치의 구성을 나타내는 블록도이며,
도 7은 이 실시형태의 동작을 나타내는 타이밍도이며,
도 8은 본 발명의 제2실시형태에 관한 2-단 인터리빙장치의 구성을 나타내는블록도이며,
도 9는 이 실시형태에 관한 2-단 디인터리빙 장치의 구성을 나타내는 블록도이며,
도 10은 이 실시형태의 작동을 나타내는 타이밍도이며,
도 11은 이 실시형태에 관한 다단 인터리빙장치의 일반적 구성을 나타내는 블록도이며,
도 12는 이 실시형태에 관한 다단 디인터리빙 장치의 일반적 구성을 나타내는 블록도이며,
도 13은 본 발명의 제3실시형태가 적용되는 오디오 신호의 압축부호화 데이터의 생성방법을 설명하는 도면이며,
도 14는 이 실시형태의 동작을 나타내는 타이밍도이며,
도 15는 이 실시형태에 관한 인터리빙 장치의 구성을 나타내는 블록도이며,
도 16은 이 실시형태에 관한 디인터리빙 장치의 구성을 나타내는 블록도이며,
도 17은 이 실시형태와 대비되는 비교예 1에 관한 인터리빙 방법 및 그 부호오류에 대한 내성(resistance)을 설명하는 도면이며,
도 18은 이 실시형태와 대비되는 비교예 2에서의 인터리빙 방법 및 그 부호오류에 대응하는 내성을 설명하는 도면이며,
도 19는 이 실시형태에서의 인터리빙 방법의 부호오류에 대한 내성을 설명하는 도면이며,
도 20은 인터리빙에 사용되는 메모리의 기억영역을 2차원적으로 나타내는 도면이며,
도 21은 인터리빙 시에 메모리에 대한 기입 어드레스를 발생하는 장치의 구성 예를 나타내는 블록도이며,
도 22는 인터리빙 시에 메모리의 각 기억영역에 프레임을 구성하는 각 비트를 기입하는 순서를 나타내는 도면이며,
도 23은 인터리빙 시에 메모리에 대한 판독어드레스를 발생하는 장치의 구성 예를 나타내는 블록도이며,
도 24는 인터리빙 시에 메모리의 각 기억영역으로부터 프레임을 구성하는 각 비트를 판독하는 순서를 나타내는 도면이다.
이하, 본 발명의 실시형태에 대해서 도면을 참조하여 설명한다.
A. 제1실시형태
(1) 인터리빙 장치
도 1은 본 발명의 제1실시형태인 디지털 통신 시스템의 송신측 장치에 설치된 인터리빙 장치(1)의 구성을 나타내는 블록도이다.
이 인터리빙 장치(1)는 도 1에 도시한 바와 같이, 분리부(100)와, 처리부(200)로 이루어진다.
인터리빙 장치(1)에는 수신측장치에 전송할 프레임이 순차 공급된다. 각 프레임은 다수의 비트로 된 비트열이며, 이들의 비트는 비트 클럭(CLK)에 동기하여,인터리빙 장치(1)에 순차 공급된다.
각 프레임을 구성하는 정보를 그 종류에 따라 분류하면, 헤더(H)와 이것에 이어지는 데이터(D)로 나눌 수 있다.
이하 설명하는 예에서는, 헤더(H)는 p개의 비트로 구성되며, 데이터(D)는 m×p개의 비트로 구성되어 있다.
또한, 헤드(H)는 오류정정부호화가 된다. 이에 대해 데이터(D)는 오류정정부호화가 되어 있지 않다.
분리부(100)는, 순차 공급되는 프레임을 헤더(H)와 데이터(D)로 분리하여 출력하는 장치이다. 이 분리는 예를 들면 다음과 같은 방법으로 행할 수 있다. 즉, 비트 클럭(CLK)에 동기하여 공급되는 비트의 개수를 카운트하고, 선두 1비트로부터 p 비트까지를 헤더(H)로 하고, 그 이후의 부분을 데이터(D)로 하는 것이다.
처리부(200)는 분리부(1001)로부터 헤더(H)와 데이터(D)를 받아 헤더(H)를 구성하는 각 비트를 데이터(D) 내에 분산 배치시키는 장치이다. 이 처리부(200)는 기입 어드레스 공급부(210)와, 작업메모리(220)와, 판독어드레스 공급부(230)를 주요한 구성요소로서 포함하고 있다.
여기서 작업메모리(220)는 인터리빙의 대상인 프레임을 구성하는 각 비트를 기억하기 위한 기억장치이다. 본 실시형태에서는 이 작업메모리(220)의 전체 기억영역 중 어드레스가 연속되는 복수의 기억영역을 사용하고, 각 기억영역에 1프레임을 구성하는 각 비트를 각각 저장한다.
인터리빙은 이 작업 메모리(220)에 대해서 프레임을 구성하는 각 비트를 순차 기입하는 처리와, 이 작업 메모리(220)로부터 기입 시와는 다른 순서로 각 비트를 판독하는 처리로써 구성된다.
기입어드레스 공급부(210)는 프레임을 구성하는 각 비트의 작업 메모리(220)로의 기입이 행해질 때, 소정의 어드레스 발생 프로그램에 따라서, 헤더(H)를 구성하는 각 비트의 기입처를 특정하는 기입어드레스(WADh)와, 데이터(D)를 구성하는 각 비트의 기입처를 특정하는 기입어드레스(WADd)를 각각 비트 클럭(CLK)에 동기하여 생성하고, 작업 메모리(220)로 공급하는 장치이다.
또한, 기입 어드레스 공급부(210)는 1프레임을 구성하는 각 비트를 작업 메모리(220)에 기입하는 것으로 필요한 전부의 기입어드레스 생성을 마치면, 그 취지를 나타내는 신호(END)를 판독어드레스 공급부(230)로 공급한다.
판독 어드레스 공급부(230)는 신호 END를 받으면, 소정 어드레스 발생 프로그램에 따라서, 작업 메모리(220)에 기억된 각 비트를 판독하기 위한 판독 어드레스(RAD)를 비트 클럭(CLK)에 동기하여 발생하고, 작업 메모리(220)로 공급하는 장치이다.
도 2는, 기입 어드레스 공급부(210)의 어드레스 발생 알고리즘을 하드웨어적으로 나타내는 블록도이다.
이 기입 어드레스 공급부(210)의 어드레스 발생 알고리즘은, p-진카운터(210A)와, p-진카운터(210B)와, m-진카운터(210c)와, AND게이트(210D)와, 가산기(210E)로서 구성되어 있다. 여기서 p-진카운터(210A)는 비트 클럭(CLK)을 카운트한다. 헤더(H)를 구성하는 각 비트의 기입 어드레스(WADh)는 이 p-진카운터(210A)의카운트 값을 하위 어드레스로 하고, "0"을 상위 어드레스로 하는 것이다.
p-진카운터(210A)는 카운트 값이 p회 변화하여 카운트 오버로 되면, 비트 클럭(CLK)의 카운트를 정지한다.
AND게이트(210D)는, p-진카운터(210A)가 카운트 오버로 된 후에, 공급되는 비트 클럭(CLK)을 m-진카운터(210C)로 공급한다.
m-진카운터(210C)는, 이 AND 게이트(210D)를 통해서 공급되는 비트 클럭(CLK)의 카운트를 행한다. m-진카운터(210C)는 그 카운트 값이 m회 변화하면 카운트 오버로 되지만, 그 후, 비트 클럭(CLK)이 공급되는 한, 다시 초기값 "0"으로부터 카운트를 반복한다. p-진카운터(210B)는 m-진카운터(210C)가 카운트 오버로 될 때마다 "1"씩 카운트 값을 증가시킨다. 가산기(210E)는 m-진카운터(210C)의 카운트 값에 "1"을 가산하여 출력한다.
데이터(D)를 구성하는 각 비트의 기입처를 특정하는 기입 어드레스(WADd)는 p-진카운터(210B)의 카운트 값을 하위 어드레스로 하고, 가산기(210E)의 출력 데이터를 상위 어드레스로 하는 것이다.
도 3은 판독어드레스 공급부(230)의 어드레스 발생 알고리즘을 하드웨어적으로 나타낸 블록도이다. 이 판독 어드레스 공급부(230)의 어드레스 발생 알고리즘은 p-진카운터(230A)와, (m+1)-진카운터(230B)에 의해 구성되고 있다. (m+1)-진카운트(230B)는 비트 클럭(CLK)의 카운트를 행한다. p-진카운터(230A)는, (m+1)-진카운터(230B)의 카운트 값이 (m+1)회 변화하고, 초기값"0"으로 복귀할 때마다 "1"만큼 카운트 값을 증가시킨다.
판독어드레스(RAD)는 이 p-진카운터(230A)의 카운트 값을 하위어드레스로 하고, m+1진카운터(230B)의 카운트 값을 상위 어드레스로 하는 것이다.
이상이 인터리빙장치(1) 구성에 대한 상세한 설명이다.
다음으로 이 인터리빙 장치(1)에 의해 행해지는 인터리빙을 도 4 및 도 5를 참조하여 설명한다.
본 실시형태에서는, 작업메모리(220)에서의 (m+1)×p개의 연속한 기억영역을 이용하여 인터리빙을 행한다.
도 4 및 도 5에는 이 인터리빙용 작업 메모리(220)의 기억영역을 2차원적으로 표현한 메모리 공간이 표시되어 있다. 이 메모리 공간에서의 각 기억영역에는 각각 고유의 어드레스가 대응하고 있다. 어드레스는 p 개 값을 가질 수 있는 하위 어드레스와 (m+1)개 값을 가질 수 있는 상위 어드레스로 구성된다.
도 4 및 도 5에서는, 상위 어드레스를 동일하게 하는 각 기억영역이 하위 어드레스순으로 왼쪽에서 오른쪽으로 늘어서 있고, 하위 어드레스를 동일하게 하는 각 기억영역이 상위 어드레스순으로 위쪽으로부터 아래쪽으로 늘어서 있다. 이미 설명한 바와 같이, 상위 어드레스를 동일하게 하는 일련의 기억영역을 행(row)이라고 하고, 하위 어드레스를 동일하게 하는 일련의 기억영역을 열(column)이라고 한다.
인터리빙을 행하는 데서, 우선, 그 대상으로 되는 비트열이 1비트씩 m×n 개의 기억영역의 각각에 순차적으로 기입된다. 이 기입을 행할 때의 기입 어드레스는 이미 도 2를 참조하여 설명한 기입어드레스 공급부(210)에 의해 발생된다.
헤드(H)를 구성하는 p비트가 비트 클럭(CLK)에 동기하여 작업메모리(220)에 공급되는 사이, 기입 어드레스공급부(210)에서는 p-진카운터(210A)에 의해 비트 클럭(CLK)의 카운트가 행해진다. 그래서, p-진카운터(210A)의 카운트 값을 하위 어드레스, "0"을 상위 어드레스로서 포함하는 기입어드레스(WADh)가 생성되고, 비트 클럭(CLK)에 동기하여 작업 메모리(220)로 공급된다.
이 결과, 도 4에 도시한 바와 같이, 헤더(H)를 구성하는 p개의 비트가 작업메모리(220)의 인터리빙용 기억영역 중 최초의 행에 기입된다.
다음으로, 헤더(H)에 이어서, 데이터(D)를 구성하는 m×p 개의 비트가 비트 클럭(CLK)에 동기하여 작업메모리(220)로 공급된다.
이 사이에, 기입 어드레스공급부(210)에서는, m-진카운터(210C)에 의해 비트 클럭(CLK)의 카운트가 행해짐과 동시에, m-진카운트(210C)가 카운트 오버로 될 때마다 p-진카운터(210B)의 카운트 값의 인터리빙이 행해진다. 그리고, p-진카운트(210B)의 카운트 값에 "1"을 더한 것을 상위 어드레스로서 포함하는 기입어드레스(WADd)가 생성되고, 비트 클럭(CLK)에 동기하여 작업메모리(220)로 공급된다.
그 결과, 도 4에 도시한 바와 같이, 데이터(D)를 구성하는 m×p개의 비트 중 최초의 m비트가, 작업 메모리(220)에서의 제1열 제2행으로부터 제(m+1)행에 대응한 각 기억영역에 기입되며, 다음의 m비트는 제2열의 제2행으로부터 제(m+1)행에 대응한 각 기억영역에 기입되며, 최후의(즉, p번째의) m비트는 제p열의 제2행으로부터 제(m+1)행에 대응한 각 기억영역에 기입된다.
다음으로, 이렇게 하여, 작업 메모리(220)에 기입된 각 비트가, 기입의 경우와는 다른 순서로 판독된다.
이 판독동작에서는, 도 3을 참조하여 설명한 판독어드레스 공급부(230)로써, 판독어드레스가 발생된다.
즉, (m+1)-진카운터(230B)에 의해 비트 클럭(CLK)의 카운트가 행해짐과 동시에, 이 (m+1)-진카운터(230B)가 카운트 오버될 때마다 p-진카운터(230A)의 카운트 값이"1"만큼 증가된다. 그리고, p-진카운터(230A)의 카운트 값을 하위 어드레스로 하고, (m+1)-진카운터(230B)의 카운트 값을 상위 어드레스로 하는 판독어드레스가 비트 클럭(CLK)에 동기하여 작업메모리(220)로 공급된다.
이 결과, 도 5에 도시한 바와 같이, 우선 작업메모리(220)에서의 제1열 각 기억영역에 기억된 (m+1)비트가 판독되고, 다음으로 제2열 각 기억영역에 기억된 (m+1)비트가 판독되고, …, 최후에 제p열의 각 기억영역에 기억된 (m+1)비트가 판독된다.
이상 설명한 인터리빙에 의해, 헤더(H)를 구성하는 p개의 비트를 데이터(D)를 구성하는 비트열 중에 등간격으로 분산 배치한 프레임이 얻어진다. 또한 이 인터리빙 후에 프레임에 대해서는 뒤에서 도면을 참조하면서 상세히 설명한다.
(2) 디인터리빙 장치
송신측 장치에서 인터리빙이 수행된 프레임은, 전송로를 통해 수신측장치로 전송된다. 도 6은 이 수신측장치에 설치된 디인터리빙장치(2)의 구성을 나타내는 블록도이다.
이 디인터리빙장치(2)는 기입 어드레스 공급부(310)와, 작업메모리(320)와,판독 어드레스 공급부(330)로 구성되어 있다.
여기서, 작업메모리(320)는 인터리빙장치(1)에서의 작업메모리(220)와 동일한 기억장치이다. 작업메모리(320)에는 전송로를 매개하여 수신된 프레임을 구성하는 (m+1)×p개의 비트가 비트 클럭(CLK)에 동기하여 공급된다.
디인터리빙은, 이러한 각 비트를 작업메모리(320)에 기입하는 처리와, 이러한 각 비트를 기입할 때와는 다른 순서로 작업메모리(320)로부터 판독하는 처리로 구성된다.
수신 프레임을 구성하는 비트가 비트 클럭(CLK)에 동기하여 작업메모리(320)에 공급되는 사이, 기입 어드레스 공급부(310)는 기입 어드레스(WAD)를 비트 클럭(CLK)에 동기하여 작업메모리(320)에 공급한다.
이 기입 어드레스 공급부(310)는, 인터리빙장치(1)에서의 판독 어드레스 공급부(230)와 동일한 구성을 가지고 있다(도 3참조).
그리고, 이 기입 어드레스 공급부(310)에서는, (m+1)-진카운터에 의해 비트 클럭의 카운트가 행해짐과 동시에, 이 (m+1)-진카운터가 카운트 오버될 때마다 p-진카운터의 카운트 값이 "1"식 증가된다. 그리고, p-진카운터의 카운트 값을 하위 어드레스, (m+1)-진카운터의 카운트 값을 상위어드레스로 하는 기입어드레스(WAD)가 비트 클럭에 동기하여 작업메모리(320)에 공급되는 것이다.
이 결과, 도 5에 도시한 바와 같이, 수신프레임을 구성하는 (m+1)×p개의 비트 중 최초의 (m+1)비트가 작업메모리(320)에서의 제1열 각 기억영역에 기입되고, 다음의 (m+1)비트가 제2열의 각 기억영역에 기입되고, …, 최후의(즉, p번째의)(m+1)비트가 제p열의 각 기억영역에 기입된다.
이때, 작업메모리(320)에서의 각 비트의 배치는 그러한 각 비트가 송신측 장치로부터 송신되기에 앞서 인터리빙장치(1)의 작업 메모리(220)에 기입되었을 때의 배치와 일치하게 된다.
수신 프레임을 구성하는 전체 비트의 작업메모리(320)로의 기입이 종료하면, 그 취지를 나타내는 신호(END)가 기입 어드레스 공급부(310)로부터 판독 어드레스 공급부(330)로 공급된다.
이 판독 어드레스 공급부(330)는, 인터리빙장치(1)에서의 기입 어드레스 공급부(210)와 동일한 구성을 가지고 있다(도 2참조).
그리고, 이 판독 어드레스 공급부(330)에서는 우선, p-진카운터에 의해 비트 클럭(CLK)의 카운터가 행해진다. 그리고, 이 p-진카운터의 카운터 값을 하위 어드레스, "0"을 상위 어드레스로 하여 포함하는 판독 어드레스(RAD)가 생성되고, 비트 클럭(CLK)에 동기하여 작업 메모리(320)로 공급된다.
이 결과, 도 4에 도시한 바와 같이, 헤더(H)를 구성하는 p개의 비트가, 작업메모리(310)에서의 최초의 행에 대응한 각 기억 어드레스로부터 판독된다.
다음으로, 판독 어드레스 공급부(330)에서는, m-진카운터에 의해 비트 클럭(CLK)의 카운터가 행해짐과 동시에, m-진카운터가 카운트 오버될 때마다 p-진카운터의 카운트 값이 증가한다. 그리고, p-진카운터의 카운트 값을 하위 어드레스, m-진카운터의 카운트 값에 "1"을 더한 것을 상위 어드레스로 하여 포함하는 판독 어드레스(RADd)가 생성되고, 비트 클럭(CLK)에 동기하여 작업메모리(320)에 공급된다.
이 결과, 도 4에 도시한 바와 같이, 작업메모리(320)에서의 제1열 제2행으로부터 제(m+1)행에 대응한 각 기억영역으로부터 데이터(D)를 구성하는 m×p의 비트 중 최초의 m개의 비트가 판독된다. 그리고, 작업메모리(320)에서의 제2열 제2행 내지 제(m+1)행에 대응한 각 기억영역으로부터 다음의 m비트가 판독되고, 제3열 제2행으로부터 제(m+1)행에 대응하는 각 기억영역으로부터 다음의 m비트가 판독되고, …, 제p열 제2행으로부터 제(m+1)행에 대응하는 각 기억영역으로부터 최후의(즉, p번째의) m비트가 판독된다.
이렇게 하여서, 디인터리빙장치(2)에서는, 인터리빙장치(1)에서의 인터리빙과 완전히 역으로 조작이 행해지고, 인터리빙 전의 원래의 프레임이 복원된다.
(3) 본 실시형태의 효과
다음으로 도 7a ~ 도 7d를 참조하여, 본 실시형태의 효과를 설명한다.
우선, 송신측 장치에서 인터리빙의 대상인 프레임의 구성을 도 7a에 나타낸다. 이 도면에 도시한 바와 같이, 인터리빙의 대상인 프레임은, 오류정정부호에 의해서 오류정정부호화된 헤더(H)와, 오류정정부호화되지 않은 데이터(D)로 구성되어 있다.
이 예에서는, 헤더(H)는, k1개의 부호어로 되며, 각 부호어의 부호길이는 m1비트이다. 그리고, 헤더(H)는, p(=k1×m1)비트로 된 비트 예이다.
오류정정부호화되지 않은 데이터(D)는, q(=m×p)비트로 된 비트 예이다.
이 프레임에 대해서, 도 1에 도시하는 인터리빙장치(1)에 의해서 인터리빙이수행되면, 도 7b에 도시한 바와 같이, 각 비트가 배열된 프레임이 얻어진다. 즉, 헤더(H)를 구성하고 있던 p개의 비트는 인터리빙에 의해 데이터(D)를 구성하는 비트 열 내에 등간격으로 분산 배치되는 것이다. 여기서, 헤더(H)를 구성하고 있던 p개 비트의 인터리빙 후에서의 간격은, 인터리빙 장치(1)에서 기입 어드레스의 하위 어드레스를 변화시키면서 작업메모리(220)에 헤더(H)의 각 비트를 기입한 후, 데이터(D)의 각 비트를 기입할 때의 기입 어드레스의 상위 어드레스의 변화 폭에 대응한 비트의 길이, 즉, m비트로 된다. 또한, 도 7b에는 m=10으로 한 경우에서의 인터리빙 후의 프레임의 구성이 나타나 있다.
한편, 도 7b에 도시하는 인터리빙 후의 프레임이 전송된 과정에서, 도 7c에 도시한 바와 같이 버스트 부호오류가 발생한 경우를 고려한다. 이 도 7c에 도시한 예에서는, 헤더(H)를 구성하고 있던 비트 예 중 2번째의 각 비트가 버스트 부호오류의 영향을 받고 있다.
이러한 버스트 부호오류가 발생한 프레임에 대해서, 도 6에 도시하는 디인터리빙장치(2)에 의해서, 디인터리빙이 수행되면, 도 7d에 도시한 바와 같은 프레임이 복원된다.
도 7d에 도시한 바와 같이, 복원된 프레임 중 헤더(H)에 관해서는 2번째 비트만이 버스트 부호오류의 영향을 받고 있다. 이러한 본 실시형태에서는 전송과정에서 프레임에 버스트 부호오류가 발생하였다고 하여도, 헤더(H)는 그 영향을 받기 어렵고, 예를 들면, 받게 되더라도, 그 영향은 디인터리빙후의 헤더(H)에 랜덤부호오류로 되어 나타날 뿐이다. 즉, 본 실시형태에서 실시되는 인터리빙은 헤더(H)에대해서는 버스트 부호오류의 랜덤화 효과를 초래하는 것이다.
여기서, 헤더(H)에서의 오류비트수가 오류정정부호의 오류정정능력 이내에 있으면, 수신측장치에서, 그 부호오류를 정정하는 것이 가능하다.
이에 대해서, 복원된 프레임 중 데이터(D)에 관해서는 제8번째 ~ 제15번째까지의 연속한 비트가 버스트 부호오류의 영향을 받고 있다. 이러한 본 실시형태에서는 전송과정에서 프레임에 버스트 부호오류가 생기는 경우, 디인터리빙 후의 데이터(D)에는 그 버스트 부호오류가 그대로 나타난다. 즉, 본 실시형태에서의 인터리빙은, 데이터(D)에 대해서는 버스트 부호오류의 랜덤화 효과를 초래하고 있지 않는 것이다.
이 오류정정부호화되지 않은 데이터(D)에 대해서는, 부호오류가 집중하고 있으므로, 전술한 은폐처리 등을 실행하는 경우에는 채택될 수 있다.
이상 설명한 바와 같이, 본 실시형태에 의하면, 음성이나 화상 등의 데이터(D)에 대해서, 오류정정부호에 의해 오류정정부호화된 헤더(H)를 부가하여 전송하는 과정에서 버스트 부호오류가 발생하더라도, 그 부호오류는 헤더(H)에 대해서만 랜덤화 되지 않으므로, 헤더(H)에 대해서는 수신측에서의 오류정정이 용이하게 되고, 데이터(D)에 대해서는 수신측에서의 은폐처리 등의 실행이 용이하게 된다는 효과를 얻을 수 있다.
(4) 본 실시형태의 변형예
이상 설명한 실시형태는 다음과 같이 변형될 수 있다.
① 인터리빙장치나 디인터리빙장치에서, 작업메모리에 대한 기입어드레스나판독어드레스는 처리가, 소정의 소프트웨어를 실행하는 것으로서 발생하여도 좋고, 전용의 하드웨어에 의해 발생하도록 하여도 좋다.
② 인터리빙을 위한 어드레스 발생 알고리즘은 상기 실시형태의 것에 한정되지 않는다. 예를 들면, 상위 어드레스와 하위 어드레스의 관계 또는 작업메모리에서의 행과 열의 관계를 전술한 실시형태에서의 것과 거꾸로 하여도 좋다. 또한, 예를 들면, 작업메모리 내에 별도의 에어리어에 헤더와 데이터를 저장하여두고, 헤더를 구성하는 비트를 1비트 판독하는 처리와, 데이터를 구성하는 비트를 m비트 판독하는 처리를 교대로 반복한다라고 하는 간단한 방법으로 본 실시형태에 관한 인터리빙을 실행하는 것도 가능하다.
③ 전술한 실시형태에서는, 인터리빙 시에 헤더(H)의 전체 비트를 작업메모리(220)에서의 1행만큼의 기억영역에 기입하도록 하였지만, 복수 행의 기억영역에 기입하도록 하여도 좋다.
④ 인터리빙이나 디인터리빙의 대상으로 되는 프레임은, 각 프레임마다 길 리가 달라도 좋다.
⑤ 전술한 실시형태에서는 각 헤더를 구성하는 각 비트를 그 정수배의 비트 길이를 가지는 데이터 내에 분산 배치시켰지만, 헤더와 데이터와의 비는 정수일 필요는 없다. 헤더와 데이터와의 길이가 정수비를 구성하지 않는 경우에는, 예를 들면, 데이터 더미 비트를 추가하는 것으로써 헤더 길이의 정수배로서 인터리빙을 실시하고, 그 후 더미 비트를 없앤다는 방법을 채택하여도 좋다. 또한, 헤더를 구성하는 각 비트는 반드시 등간격으로 데이터 내에 분산 배치시킬 필요는 없다. 어떠한 방법으로 헤더를 구성하는 각 비트의 분산배치를 행할 것인가가 수신측에 이미 알려져 있는 상태라면, 예를 들어 비균일한 간격으로서 분산배치가 행해졌다해도 수신측에서의 디인터리빙은 가능하다.
B. 제2실시형태
도 8은 본 실시형태에 관한 인터리빙장치의 일례인 2-단 인터리빙장치(3)의 구성을 나타내는 블록도이다. 또한 도 9는 본 실시형태에 관한 다단 디인터리빙장치의 일례인 2-단 디인터리빙장치(4)의 구성을 나타내는 블록도이다. 도 10a~도 10f는 본 실시형태의 작동을 나타내는 도면이다. 또한, 도 11은 본 실시형태를 일반화한 r-단 인터리빙장치(5)의 구성을 나타내는 블록도이다. 또한 도 12는 본 실시형태를 일반화한 r-단 디인터리빙장치의 구성을 나타내는 블록도이다. 이미 제1실시형태에서 설명한 바와 같이, 각 인터리빙장치는 디지털 통신시스템의 송신측 장치에 설치되고, 각 디인터리빙장치는 수신측장치에 설치되어 있다. 이하, 도 8 내지 도 12를 차례로 참조하면서 본 실시형태에 대해서 설명한다.
(1) 2-단 인터리빙장치
우선 도 8을 참조하고, 본 실시형태에 관한 2-단 인터리빙장치(3)에 대해서 설명한다.
이 2-단 인터리빙장치(3)는 분리부(1002)와, 처리부(2001)와, 처리부(2002)로 구성되어 있다.
이 2-단 인터리빙장치(3)의 처리대상인 프레임 구성을 도 10a에 도시한다.
상기 제1실시형태에서는, 인터리빙의 대상인 프레임의 헤더(H)가 1종류의 오류정정부호만에 의해서, 오류정정부호화된 부호어에 의해 구성되어 있다.
본 실시형태에서 인터리빙의 대상인 프레임은, 상기 제1실시형태와 동일하게 오류정정부호화된 헤더(H)와, 오류정정부호화되지 않은 데이터(D)로 구성되어 있지만, 헤더(H)는 헤더(H1)와 헤더(H2)로 구성되어 있다. 여기서 헤더(H1)와 헤더(H2)는 다른 종류의 오류정정부호에 의해 오류정정부호화되어 있다. 또한, 이하에서는 설명의 편의상 데이터(D)의 비트 길이를 63비트, 헤더(H1)의 비트 길이를 6비트, 헤더(H2)의 비트 길이를 3비트로 한다.
분리부(1002)는 1프레임을 구성하는 비트열을, 오류정정부호화된 헤더(H)와 오류정정부호화되지 않은 데이터(D)로 분리하는 점에서 제1실시형태에서의 분리부(1001)와 동일한 형태이다. 그러나, 본 실시형태에서의 분리부(1002)는 이것 외에도 데이터(D)로부터 분리한 헤더(H)를 또한 제1오류정정부호에 의해서 오류정정부호화된 헤더(H1)와 제2오류정정부호에 의해 오류정정부호화된 부분(H2)으로 분리한다.
도 10b는 이 분리부(1002)에 의한 분리에 의해 얻어진 헤더(H2)와 헤더(H1)와 데이터(D)를 도시하고 있다.
그리고, 분리부(1002)는 데이터(D) 및 헤더(H1)를 처리부(2001)로 공급하고, 헤더(H2)를 처리부(2002)로 공급한다. 처리부(2002)에는 헤더(H2)의 다른 처리부(2001)의 처리결과가 공급된다.
처리부(2001) 및 처리부(2002) 각각은, 제1실시형태의 처리부(200)와 대략 동일한 구성을 가지고 있다.
그리고, 처리부(2001)는 데이터(D)의 비트열 가운데에 헤더(H1)를 구성하는 9개의 비트를 분산 배치하는 인터리빙을 수행한다. 이 인터리빙을 수행하기 위한 구성 및 작동은 이미 제1실시형태에서 도 1 내지 도 5를 참조하여 설명한 바와 같다.
도 10c는 이 인터리빙이 수행되어 처리부(2001)로부터 출력되는 비트열을 나타내는 것이다.
도 10c에 도시한 바와 같이, 처리부(2001)로부터 출력되는 72(=8×9)비트의 비트열에서, 헤더(H1)를 구성하고 있는 9개의 비트는 데이터(D)를 구성하는 비트열 가운데에 등간격으로 분산 배치된다. 여기서 헤더(H1)를 구성하고 있던 각 비트 사이에는, 데이터(D)에서의 7(=63/9) 개의 연속한 비트가 끼워진다. 헤더의 비트 사이에 삽입된 이 데이터의 비트열은 7비트이다.
다음으로, 처리부(2002)는 헤더(H2)를 구성하는 3개 비트를 처리부(2001)로부터 출력되는 72비트의 비트열 가운데에 등간격으로 분산 배치되는 인터리빙을 수행한다. 이 처리부(2002)에 의해서 행해지는 인터리빙의 처리내용은 처리부(2001)에 의해서 행해지는 인터리빙과 동일한 형태이다.
이 처리부(2002)의 인터리빙을 마친 비트열을 도 10d에 도시한다.
도 10d에 도시한 바와 같이, 인터리빙 후의 비트열에서, 헤더(H2)를 구성하고 있던 3개의 비트의 각각의 사이에는 처리부(2001)로부터 출력된 비트열 가운데 연속한 24(=72/3)비트가 끼워져 있다.
이 처리부(2002)로부터 얻어지는 비트열이 2-단 인터리빙을 마친 프레임으로서, 전송로를 통해서 수신측장치로 송신되는 것이다.
(2) 2-단 디인터리빙장치
다음으로 수신측장치에 설치된 2-단 디인터리빙장치(4)에 대해서 설명한다. 이 2-단 인터리빙장치(4)는 도 9에 도시한 바와 같이 처리부(3002)와 처리부(3001)와 합성부(4002)로 구성되어 있다.
처리부(3001) 및 처리부(3002)의 각각은 제1실시형태에서의 디인터리빙장치(2)(도 6참조)와 동일한 구성을 가지고 있다.
처리부(3002)는 처리부(2002)에 의해서 행하여진 인터리빙과 완전히 반대로 조작되는 디인터리빙을 전송로로부터 수신한 프레임에 수행한다.
예를 들면 도 10d에 도시한 내용의 프레임이 처리부(3002)에 부여된 경우, 처리부(3002)가 행하는 디인터리빙에 의해 도 10c에 도시하는 비트열이 얻어진다.
이 비트열은, 헤더(H2)를 구성하는 3비트의 비트열과, 헤더(H1)를 구성하는 각 비트를 데이터(D)의 비트열로 분산 배치한 비트열로 구성된다.
이것들 중 헤더(H2)는 합성부(4002)로 공급된다. 한편, 헤더(H1)를 구성하는 각 비트를 데이터(D)의 비트열로 분산 배치한 비트열은 처리부(3001)로 공급된다.
처리부(3001)는 처리부(2001)에 의해 행해지는 인터리빙과 완전히 반대로 조작하는 디인터리빙을 실행한다. 이 디인터리빙에 의해서 헤더(H1)를 구성하는 각 비트를 데이터(D)의 비트열로 분산 배치한 비트열로부터, 도 10b에 도시하는 7개의 비트로 되는 헤더(H1)와 63개의 비트로 되는 데이터(D)가 복원되고, 각각 합성부(4002)로 공급된다.
합성부(4002)는 헤더(H2)와 헤더(H1)와 데이터(D)를 합성하고, 도 10a에 도시한 원래의 프레임을 출력한다.
이상이 도 9에 도시하는 2-단 디인터리빙장치(4)의 상세한 설명이다.
(3) 본 실시형태의 효과
다음으로 도 10을 참조하여 본 실시형태의 효과를 설명한다.
우선, 도 10d에 도시하는 인터리빙 후의 프레임이 전송되는 과정에서, 도 10e에 도시하는 버스트 부호오류가 발생하였다고 하자. 이 도 10d에 도시한 예에서는 헤더(H1)를 구성하고 있던 비트열 가운데 1비트와, 헤더(H2)를 구성하고 있던 비트열 가운데 1비트와, 데이터(D)를 구성하고 있던 연속한 몇 개의 비트가 버스트 부호오류의 영향을 받고 있다.
이러한 버스트 부호오류의 영향을 받은 프레임이 수신측 장치에 의해서 수신되고, 2-단 디인터리빙장치(4)에 의해서 디인터리빙 되면, 도 10f에 도시한 바와 같은 프레임이 복원된다.
이 복원후의 프레임에서, 버스트 부호오류의 영향은, 제1오류정정부호에 의해서 오류정정부호화된 헤더(H1) 및 제2오류정정부호에 의해 오류정정부호화된 헤더(H2)에서는 각각 1비트의 랜덤부호오류로 되어 나타나고, 오류정정부호화되지 않은 데이터(D)에서는 몇 개의 연속한 비트의 부호오류로 되어 나타내진다. 즉, 본 실시형태에서는 헤더(H1) 및 헤더(H2)에 대해서만 인터리빙에 의한 랜덤효과가 미치고, 데이터(D)에 대해서는 인터리빙에 의한 랜덤화 효과가 미치지 않는다.
여기서 헤더(H1) 및 헤더(H2)에서의 오류비트수가 각각 오류정정부호의 오류정정능력 이내이라면, 그 부호오류를 정정하는 것이 가능하다. 또한 오류정정부호화되지 않은 데이터(D)에는 버스트 부호오류가 생기고 있으므로, 상기 은폐처리가 실행된다.
이상 설명한 바와 같이, 본 실시형태에 의하면, 상기 제1실시형태와 같은 형태로 음성이나 화상 등의 데이터(D)에 2개의 다른 오류정정부호에 의한 오류정정부호화된 헤더(H1) 및 헤더(H2)를 부가하여 전송하는 과정에서 버스트 부호오류가 발생하였다 하여도, 그 부호오류는 헤더(H1) 및 헤더(H2)에 대해서만 랜덤화 되고, 오류정정부호화되지 않은 데이터(D)에 대해서는 랜덤화 되지 않는다. 따라서, 각 헤더에 대해서는 수신측에서의 오류정정이 용이하게 되고, 데이터(D)에 대해서는 수신측에서의 은폐처리 등의 실행이 용이하게된다라고 하는 효과를 얻을 수 있다.
또한 본 실시형태에서는 각 헤더(H1) 및 헤더(H2)를 분산 배치시키는 인터리빙을 2회로 나누어 실행하므로, 각 헤더에 의해서 최적인 조건에서 인터리빙을 실행하고, 각 헤더마다에서 최대의 랜덤화 효과를 얻을 수 있다.
(4) 다단 인터리빙장치 및 다단 디인터리빙 장치의 일반적 구성
이상 오류정정부호화된 헤더가. 제1오류정정부호에 의해서 오류정정부호화된 헤더(H1)와, 제2오류정정부호에 의해 오류정정부호화된 헤더(H2)의 2개로 된 경우에 대해서 설명하였지만, 본 발명은 이에 한정되지 않으며, 프레임이, 다른 오류정정부호에 의해서 오류정정부호화된 3종류 이상의 헤더를 갖는 경우에도 물론 적용 가능하다.
도 11은, 프레임이, 다른 오류정정부호에 의해서 오류정정부호화된 r개의 헤더를 포함하는 프레임의 인터리빙을 행하는 r-단 인터리빙장치(5)의 구성을 나타내고 있다.
이 도면에 도시된 바와 같이, r-단 인터리빙장치(5)는 분리부(100r)와, r개의 처리부(2001~200r)로 구성되어 있다.
분리부(100r)는, 프레임을 r개의 헤더(H1~Hr) 및 데이터(D)로 분리한다.
처리부(2001)는 헤더(H1)를 구성하는 각 비트를 데이터(D)를 구성하는 비트열 중에 등간격으로 분산 배치하는 인터리빙을 실행하고, 이 결과 얻어진 비트열을출력한다.
처리부(2002)는 헤더(H2)를 구성하는 각 비트를, 처리부(2001)로부터 출력되는 비트열 중에 등간격으로 분산 배치하다 인터리빙을 실행한다.
다른 처리부에 대해서도 같은 형태이다. 즉, 도 11에서의 각 처리부(200k)(k = 1~r)는, 헤더(Hk)를 구성하는 각 비트를 처리부(200k-1)로부터 출력된 비트 열 중에 등간격으로 분산 배치하는 인터리빙을 실행하는 것이다.
그리고, 최종단(r-단 번째)의 처리부(200r)로부터 얻어진 비트열이 인터리빙 후의 프레임으로서, 전송로를 매개로 수신측 장치로 전송된다.
수신측장치에서는, 도 12에 도시한 r-단 디인터리빙장치(6)에 의해 수신 프레임의 디인터리빙이 행해진다.
이 r-단 디인터리빙장치(6)는 r개의 처리부(300k) (k = 1~r)와 합성부(400r)를 가지고 있다.
처리부(300k)(k = 1~r)는, 처리부(200k)(k = 1~r)에 의해서 행하여지는 인터리빙과 완전히 역으로 조작하는 디인터리빙을 실행한다.
또한, 상세히 설명하면, 처리부(300k)는 전송을 통해서 수신한 프레임에 대해서, 처리부(200k)에 의한 인터리빙과는 거꾸로 디인터리빙을 실행하고, 연속한 비트로 되는 헤더(Hr)와, 다른 헤더를 구성하는 각 비트를 데이터(D)내에 분산 배치한비트열을 출력한다. 그리고, 처리부(300k)는 헤더(Hr)를 합성부(400r)로 보내고 후자의 비트열을 처리부(300r-1)로 보낸다. 다음의 처리부(300r-1)는 처리부(300r)로부터 출력된 비트열에 대해서, 처리부(200k-1)에 의한 인터리빙과는 거꾸로 디인터리빙을 실행하고, 연속한 비트로 되는 헤더(Hr-1)와, 다른 헤더를 구성하는 각 비트를 데이터(D) 내에 분산 배치한 비트열을 출력한다. 그리고, 처리부(300r-1)는 헤더(Hr-1)를 합성부(400k)로 보내고, 후자의 비트열을 처리부(300r-2)로 보낸다. 이 처리부(300r-2) 이후의 각 처리부(300k)도 같은 형태로 작동한다. 그리고, 최종단의 처리부(3001)는 처리부(3002)로부터 출력된 비트열에 대해서, 처리부(2001)에 의한 인터리빙과는 거꾸로 디인터리빙을 실행하고, 연속한 비트로 된 헤더(H1)와 데이터(D)를 합성부(400r)로 보낸다.
합성부(400r)는, 이렇게 하여 각 처리부로부터 출력된 헤더(H1~ Hr) 및 데이터(D)를 합성하고 원래의 프레임을 복원한다.
이상 설명으로부터 명확한 것처럼, 본 발명은 프레임이 2종류의 헤더를 가지는 경우만 아니라, 3종류이상의 헤더를 가지는 경우에도 적용 가능한 것이다.
C. 제3실시형태
전술한 제1실시형태 및 제2실시형태에서는, 전송할 프레임을 오류정정부호화된 부분과, 오류정정부호화되지 않은 부분으로 나누고, 전자를 구성하는 각 비트를후자의 비트열의 전역에 교대로 분산 배치시키는 인터리빙을 실행하였다.
본 발명에서의 인터리빙의 실시형태는 이러한 것에 한정되지 않는다.
예를 들면, 오류정정부호화되지 않은 데이터 중에 그 성질상, 인터리빙에 의한 랜덤화 효과를 미치게 한 쪽이 좋은 종류의 것이 포함되고 있는 경우가 있다.
본 실시형태는 이러한 경우를 상정한 것이다. 본 실시형태에서는 오류정정부호화되지 않은 데이터와, 인터리빙에 의한 랜덤화의 효과가 바람직한 부분과, 그렇지 않은 부분으로 나누고, 전자를 구성하는 각 비트를 후자의 비트열 가운데에 분산 배치하는 인터리빙을 실시한다.
본 실시형태를 적용하는 것에 적합한 대상의 첫 번째로, 오디오 신호를 압축 부호화한 부호화데이터가 있다. 본 실시형태에서의 인터리빙의 설명에 앞서서, 이 부호화 데이터의 생성방법에 대해서 도 13을 참조하여 설명한다.
우선 1프레임의 오디오신호의 샘플(이 예로서는 1024샘플)에 대해서, 시간주파수 변환의 일종인 MDCT(Modified Discrete Cosine Transformation)를 실행한다. 이것에 의해, 오디오신호는 MDCT계수라 불리는 주파수축 상에서의 파라미터로 변환된다.
다음으로, MDCT계수를 미리 정해진 주파수영역(스케일 팩터 밴드: scale factor band) 단위로 분할한다. 일반적으로 MDCT의 주파수 분해능은, 이 스케일 팩터 밴드 폭 보다도 상세하므로, 각 스케일 팩터 밴드에는 복수의 MDCT 계수가 존재하는 것으로 된다.
다음으로, 각 스케일 팩터 밴드마다에, 각각에 속하는 계수의 MDCT계수 X로부터 스케일 팩터(SF)와, 스펙트럴 데이터(ML)를 구한다. 여기서, 스케일 팩터(SF)는, MDCT계수를 부동소수점 표시한 때의 지수부에 상당하는 것이며, 스펙트럴 데이터(ML)는 가수부에 상당하는 것이다.
각 스케일 팩터밴드는 복수의 MDCT계수가 속하고 있지만, 스케일 팩터(SF)는 각 스케일 팩터 밴드마다 1개씩 생성한다. 한편, 스펙터클 데이터(ML)는 이 스케일 팩터밴드에 속하는 MDCT계수(X)에 각각 대응하여 생성한다.
이상 설명한 MDCT계수(X), 스케일 팩터(SF) 및 스펙터클 데이터(ML)의 사이에는 다음의 수학식 1에 도시한 관계가 있다.
수학식 1
abs(X) = int((abs(ML)*(2^(1/4*(SF-OFFSET))))^(3/4)+MAGIC NUMBER)
단, 상기 수학식 1에서, 함수 abs(X)는 그 변수(X)의 절대치를 나타낸다. 또한, OFFSET와 MAGIC NUMBER는 정수이며, 예를 들면, OFFSET=100, MAGIC NUMBER=0.4054이다.
수학식 1에 의하면, 1개의 MDCT계수(X)에 대해서, 스케일 팩터(SF)와 스펙트럴 데이터(ML)의 조합이 복수 얻어지는 것으로 된다. 이 때문에, 스케일 팩터(SF)의 선택에는 자유도가 있다. 그래서, 각 스케일 팩터 밴드마다, 이 스케일 팩터 밴드에 속하는 각 MDCT계수에 대응한 스펙트럴 데이터(ML)의 데이터 량이 가장 적게 되도록 스케일 팩터(SF)를 선택한다. 이 스케일 팩터(SF)는 수학식 1의 연산을 반복하여 행하는 반복법에 의해서 구한다.
다음으로, 각 스케일 팩터 밴드에 대응한 각 스케일 팩터(SF)의 차분 부호화를 행한다.
우선, 스케일 팩터 밴드가 예를 들면, 밴드1 ~ 밴드n까지인 경우, 밴드1의 스케일 팩터(SF)와 밴드2의 스케일 팩터(SF)의 차분, 밴드2의 스케일 팩터(SF)와 밴드3의 스케일 팩터(SF)의 차분, … 밴드(n-1)의 스케일 팩터(SF)와 밴드 n의 스케일 팩터(SF)의 차분을 구한다.
다음으로, 이렇게 하여, 구한 각 차분을 RVLC(Reversible Variable Length Code)를 사용하여 부호화한다. 이 RVLC는 앞으로부터만 아니라 뒤로부터도 복호 가능한 가변장부호이다.
이 RVLC의 예로서, 일정 개수의 "1"을 포함한 가변장부호를 들 수 있다. 예를 들면, "1"의 개수를 "3"으로 미리 결정하여 두면, "111", "1011", "1101", "11001", "10101", …이라고 하는 일련의 RVLC를 생성하는 것이 가능하다.
또한 다른 예로서는, 동일한 개수의 "0"과 "1"을 포함하는 가변장부호도 RVLC로 된다(예를 들면, "01", "10", "0011", "1100", "001011", "000111", "110100", …). 또한 부호가 완전히 좌우대칭인 RVLC의 예도 있다(예를 들면, "0", "101", "111", "1001", "11011", "10001", …).
스펙트럴 데이터(ML)에 대해서는, 허프만 부호화(Huffman encoding)를 행하고, 허프만 부호 스크램블링을 수행한다.
다음으로, 이렇게 얻어진 각 정보를 사용하여, 헤더(H)와, 스케일 팩터(SF)에 대응하는 데이터(D1)와, 스펙트럴 데이터(ML)에 대응하는 데이터(D2)로 이루어진 프레임을 조립한다.
이 프레임에서, 헤더(H)에는 밴드 1 및 밴드 n에서의 각 스케일 팩터(SF)난 유효한 스케일 팩터 밴드 수 등의 중요한 정보에 대해서 오류정정부호화를 행한 부호어가 포함되어 있다. 여기서, 밴드 1 및 밴드 n에서의 각각의 스케일 팩터(SF)는 수신측장치에서의 각 밴드의 스케일 팩터(SF)를 차례로 복호하여 갈 때, 초기 스케일 이득 정보로서 이용되는 것이다. 이 초기 스케일 이득 정보나 스케일 팩터 밴드 수에 오류정정부호화를 수행하여 헤더(H)에 포함시키는 것은, 수신측장치에서 이러한 정보를 바르게 복호할 수 없다면 그 프레임에 속하는 모든 스케일 팩터(SF)의 복호가 불가능하게 되기 때문이다.
데이터(D1)에는 각 밴드의 스케일 팩터(SF) 사이의 차분을 부호화한 RVLC가 포함되어 있다. 데이터(D2)에는 스펙트럴 데이터(ML)를 허프만 부호화하고, 또한 허프만 부호 스크램블링을 행한 데이터가 포함되어 있다. 또한, 데이터(D1) 및 데이터(D2)는 오류정정부호화되어 있지 않다.
전술한 요점을 정리하면, 본 실시형태에 적용대상으로 되는 프레임의 내용은 다음과 같다.
a. 오류정정부호화된 헤더(H)
초기 스케일 이득 정보(밴드 1 및 밴드 n에서의 각 스케일 팩터(SF))
스케일 팩터 밴드의 유효수
b. 오류정정부호화되지 않은 데이터(D1)
각 밴드의 스케일 팩터(SF) 사이의 차분을 부호화한 RVLC
c. 오류정정부호화되지 않은 데이터(D2)
스펙트럴 데이터(ML)를 허프만부호화하고, 또한 허프만 부호 스크램블링을 행한 데이터
헤더(H), 데이터(D1) 및 데이터(D2)의 비트 수는, 각 프레임에 의해서 가변이지만, 예를 들면, 40Kbps/48Khz 샘플링 레이트 조건에서는, 도 14(a)에 도시한 바와 같은 순으로 320 비트, 80비트, 1200비트 정도로 된다.
이상이 본 실시형태에서의 전송대상의 상세한 내용이다.
도 15는, 이 전송대상인 프레임에 인터리빙을 수행한 본 실시형태에 관한 인터리빙 장치의 구성을 나타낸 블록도이다.
이 도면에 도시한 바와 같이, 본 실시형태에 관한 인터리빙장치는 분리부(1003)와, 2개의 처리부(2003, 2004)로 구성되어 있다.
이 중, 분리부(1003)는 1프레임을 오류정정부호화된 헤더(H)와, 오류정정부호화되지 않은 데이터로 분리하는 점에서 제1실시형태에서의 분리부(1001)와 동일한 형태이다. 그렇지만, 본 실시형태에 관한 분리부(1003)는 오류정정부호화되지 않은 데이터를 또한 스케일 팩터(SF)에 대응한 데이터(D1)와 스펙트럴 데이터(ML)에 대응한 데이터(D2)로 분리한다. 그리고, 분리부(1003)는, 헤더(H)를 처리부(2004)로, 데이터(D1) 및 데이터(D2)를 처리부(2003)로 보낸다.
처리부(2003) 및 처리부(2004)의 구성은, 각각 제1실시형태의 처리부(200)와 대략 동일하다.
그리고, 처리부(2003)는, 데이터(D1)를 구성하는 비트를 데이터(D2)의 비트열 중에 등간격으로 분산 배치시키는 인터리빙을 실행하고, 그 결과 얻어지는 비트열을 출력한다.
처리부(2004)는, 헤더(H)를 구성하는 각 비트를 처리부(2003)로부터 출력된 비트열의 전역에 걸쳐서 등간격으로 분산 배치시키는 인터리빙을 수행하고, 이 인터리빙 후의 프레임을 전송로를 통해 수신측장치로 보낸다.
다음으로, 도 14를 참조하여, 본 실시형태에 관한 인터리빙장치 작동의 구체예를 설명한다.
우선, 전송대상인 프레임의 내용은 이미 참조한 도 14a에 도시한 바와 같다.
*이 프레임은, 도 14b에 도시한 바와 같이, 헤더(H)와, 데이터(D1) 및 데이터(D2)로 분리된다. 이 예에서는, 헤더(H)는 320비트, 데이터(D1)는 80비트, 데이터(D2)는 1200 비트로 구성되고 있다.
처리부(2003)에서는, 도 14b에 도시한 바와 같이, 헤더(H)와, 데이터(D1)와, 데이터(D2)로 분리된다. 이 예에서는, 헤더(H)는 320비트, 데이터(D1)는 80비트, 데이터(D2)는 1200비트로서 구성되어 있다.
처리부(2003)에서는 도 14c에 도시한 바와 같이, 작업메모리에서의 80×(15+1)개의 연속한 기억영역을 사용하여 데이터(D1)를 구성하는 80개의 비트를 데이터(D2)를 구성하는 1200(=15×80)비트의 비트열 내에 등간격으로 분산 배치시키는 인터리빙이 수행된다.
도 14c에는 이 인터리빙용의 기억영역이 2차원적으로 표시되어 있다.
우선, 도 14c에 도시한 바와 같이, 데이터(D1)를 구성하는 80비트가 작업메모리의 제1행에 대응한 80개의 기억영역에 기입된다.
다음으로, 작업메모리의 제1열 제2행 내지 제16행에 대응한 제15개의 기억영역에 데이터(D2)에서의 최초 15비트가 기입되며, 제2열 제2행 내지 제16행에 대응한 15개읠 기억영역에 다음 15비트가 기입되며, …, 제80열 제2행 내지 제16행에 대응한 15개 기억영역에 최후(즉, 80번째) 15비트가 기입된다.
그리고, 작업메모리의 제1열 제1행 내지 제16행에 대응한 각 기억영역으로부터 16비트가 판독되며, 제2열 제1행 내지 제16행에 대응한 각 기억영역으로부터 16비트가 판독되며, …, 제80열 제1행 내지 제16행에 대응한 각 기억영역으로부터 최후의 16비트가 판독된다.
이와 같이 하여, 도 14d에 도시한 바와 같이, 데이터(D1)를 구성하는 각 비트를 데이터(D2)의 비트열 내에 등간격으로 분산 배치시키는 1280비트의 비트열이 얻어지며, 처리부(2004)로 출력된다.
처리부(2004)에서는, 헤더(H)를 구성하는 320개의 비트를, 처리부(2003)로부터 출력되는 1280(=4×320)비트의 비트열 내에 등간격으로 분산 배치시키는 인터리빙이 행해진다.
이 처리부(2004)에 의한 인터리빙에 의해, 도 14e에 도시하는 1600비트의 비트열이 얻어진다.
이 비트열은, 인터리빙 후의 프레임으로서 송수신측 장치로 전송된다.
이상이 본 실시형태에 관한 인터리빙장치의 상세한 설명이다.
수신측장치에서는 도 16에 도시한 디인터리빙장치에 의해 수신프레임의 디인터리빙이 수행된다.
이 디인터리빙장치는 2개의 처리부(3004) 및 처리부(3003)와 합성부(4003)로 구성되어 있다.
처리부(3004) 및 처리부(3003) 각각은 제1실시형태에서의 디인터리빙장치(2)(도 6참조)와 동일한 구성을 가지고 있다. 합성부(4003)는 제2실시형태에서의 합성부(4002)와 동일한 기능을 가지고 있다.
이 디인터리빙장치에 의해, 수신프레임의 디인터리빙이 행해지고, 각 비트가 원래의 순번대로 늘어선 헤더(H), 데이터(D1) 및 데이터(D2)가 얻어진다.
그리고, 헤더(H), 데이터(D1) 및 데이터(D2)에 기초하여 오디오신호의 재생이 행하여진다.
구체적으로는, 우선 헤더(H)로부터 초기 스케일 팩터 게인 정보(밴드 1 및 밴드 n 각 스케일 팩터(SF))나, 유효 스케일 팩터 수 등의 복호에 필요한 정보를 얻어낸다.
다음으로 데이터(D1)에 포함되어 있는 각 RVLC로부터 각 밴드의 스케일 팩터(SF) 사이의 차분을 구하고, 이러한 차분과 초기 스케일 팩터 게인 정보를 이용하여 각 밴드 1 내지 n의 스케일 팩터(SF)를 복호한다. 이 경우, 저주파로부터 고주파 방향의 복호 및 고주파로부터 저주파 방향의 복호의 양쪽이 가능하므로, 어느 RVLC로 부호오류가 생기더라도, 많은 밴드의 스케일 팩터(SF)를 복호하는 것이 가능하다.
즉, 예를 들면, 주파수가 높은 밴드(n-1)의 스케일 팩터(SF)를 구하는 데 필요한 차분이 부호오류에 의해 얻어지지 않는 경우에는, 밴드 1의 스케일 팩터(SF)(초기 스케일 게인 정보)에 밴드 1 및 2의 각 스케일 팩터 사이의 차분을 가산하여 밴드 2의 스케일 팩터(SF)를 구하고, 다음에 이에 대하여 밴드 2 및 3의 각 스케일 팩터 사이의 차분을 가산하여 밴드 3의 스케일 팩터(SF)를 구하는 등의 방식으로, 저주파 측으로부터 고주파 측을 향해서 모든 밴드의 스케일 팩터(SF)를 구하여 간다. 이에 대해서, 예를 들면, 주파수가 낮은 밴드 2의 스케일 팩터(SF)를 구하는 데에 필요한 차분이 부호오류에 의해 얻어지지 않은 경우에는, 밴드 n의 스케일 팩터(SF)(초기 스케일 게인 정보)로부터 밴드(n-1) 및 밴드 n 각 스케일 팩터 사이의 차분을 감산하여 밴드(n-1)의 스케일 팩터(SF)를 구하고, 다음으로 이러한 밴드(n-3) 및 밴드 (n-2)의 각 스케일 팩터 사이의 차분을 감산하여 밴드 (n-3)의 스케일팩터(SF)를 구하는 등의 방법으로 고주파 측으로부터 저주파 측을 향해서 모든 밴드의 스케일 팩터(SF)를 구하여 가면 좋다.
다음으로, 각 밴드의 스케일 팩터(SF)와, 데이터(D2)에 포함되어 있는 각 밴드의 각 MDCT계수의 스펙트럴 데이터(ML)를 전술한 수학식 1에 대입하고, 각 밴드에 속하는 각 MDCT계수(X)를 재생한다.
그리고, 부호오류에 의해 복호할 수 없는 스케일 팩터(SF)가 있는 경우에는, 그 스케일 팩터(SF)에 대응한 밴드에 대해서, 은폐처리를 수행한다. 즉, 당해 밴드에 관해서는, 스펙트럴 데이터(ML)를 "0"으로 설정한다.
다음으로, MDCT계수 X에 역 MDCT변환을 수행함과 동시에 역MDCT변환결과와 헤더정보에 기초하여 오디오 신호를 재생한다.
이상이 수신측장치의 동작이다.
다음으로, 본 실시형태의 효과에 대해서 설명한다.
여기서는 본 실시형태의 효과가 보다 정확하게 이해되도록, 최초에 본 실시형태에 의한 인터리빙방법 이외의 인터리빙 방법을 비교예로서, 열거하고, 이것을 채용한 경우에서의 보호오류에 대해서 내성(resistance)을 설명한다. 그후, 이것과의 비교로서, 본 실시형태에 의한 인터리빙방법을 채용한 경우에서의 부호오류에 대해서 내성을 설명한다.
우선, 본 실시형태 이외의 인터리빙 방법의 비교예 1로서, 전술한 제1실시형태와 같이, 오류정정부호화된 헤더(H)를 구성하는 각 비트를 오류정정부호화되지않은 데이터(D1) 및 데이터(D2)의 양쪽으로 대응한 비트열의 가운데에 분산시키는 경우를 고려한다. 또한 본 실시형태와의 비교에서 편의를 위해, 헤더(H)는 320비트, 데이터(D1)는 80 비트, 데이터(D2)는 1200비트의 비트 길이를 가지는 것으로 한다.
이 경우, 인터리빙은, 도 17a에 도시한 바와 같이, 작업메모리에서의 320×(1200 + 1) 개의 연속한 기억영역을 사용하여 수행된다.
도 17a에는 이 인터리빙용 기억영역이 2차원적으로 표시되어 있다.
우선, 도 17a에 도시한 바와 같이, 헤더(H)를 구성하는 320비트가 작업메모리의 제1행에 대응한 320개의 기억영역에 기입된다.
다음으로, 작업메모리의 제1열 제2행 내지 제5행에 대응한 4개의 기억영역에 데이터(D1)에서의 최초의 4비트가 기입되고, 제2열 제2행 내지 제5행에 대응한 4개의 기억영역에 최후의 4비트가 기입된다.
이렇게 하여, 데이터(D1)를 구성하는 80개 비트의 기입을 종료하면, 계속하여, 데이터(D2)를 구성하는 1200개 비트의 기입이 수행된다. 즉, 작업메모리의 제21열 제2행 내지 제5행에 대응한 각 기억영역에 데이터(D2)에서의 최초의 4비트가 기입되고, 제22열 제2행 내지 제5행에 대응한 각 기억영역에 다음 4비트가 기입되며, …, 제320열의 제2행 내지 제5행에 대응한 각 기억영역에 최후의 4비트가 기입됩니다.
이렇게 하여, 헤더(H1), 데이터(D1) 및 데이터(D2)를 구성하는 각 비트의 작업메모리의 기입이 종료하면, 작업메모리에 기억된 각 비트가 기입 시와는 다른 순서로 판독된다. 즉, 작업메모리의 제1열 제1행 제5행에 대응한 각 기억영역으로부터 5비트가 판독되며, 제2열 제1행 내지 제5행에 대응한 각 기억영역으로부터 5비트가 판독되고, …, 제320열 제1행 내지 제5행에 대응한 각 기억영역으로부터 최후의 5비트가 판독된다.
이와 같이 하여, 헤더(H)를 구성하는 320개의 비트를, 데이터(D1) 및 데이터(D2)를 구성하는 1280 비트의 비트열에 등간격으로 분산 배치시켜진 1600비트의 비트열이 얻어지며, 전송로를 매개로 하여 수신측장치로 전송된다.
이 전송과정에서, 도 17b에 도시한 바와 같이, 버스트 부호오류가 생긴다면, 이 도 17b에 도시한 예에서는, 헤더(H)를 구성하는 320비트 중 9번째 비트로부터 13번째 비트까지 5비트와, 데이터(D1)를 구성하고 있는 연속한 어느 비트가 버스트 부호오류로 되어 나타난다. 따라서, 이 오류비트 수(도 17b에 도시한 예에서는 4비트)가 오류정정능력 이내에 있다면, 수신측장치에서 그 부호오류를 정정할 수 있다.
한편, 도 17b에 도시한 예에서는, 각 밴드의 스케일 팩터(SF)를 차례로 구하는데 필요한 RVLC를 포함한 데이터(D1)가 버스트 오류의 영향을 받고 있다.
여기서, 수신장치에서는, 복원된 스케일 팩터(SF)와 스펙트럴 데이터(ML)에기초하여서, 각 스케일 팩터 밴드마다에 MDCT계수X를 생성한다. 따라서, 데이터(D1)와, 데이터(D2) 중 한 쪽에 버스트 오류가 생기면, 다른 쪽에 오류가 없더라도, 오류부분에 대응한 스케일 팩터 밴드가 복호 불능으로 된다.
그리고, 도 17b에 도시한 예에서는, 데이터(D1)의 비트에, 즉, 각 밴드의 스케일 팩터(SF)를 구하는 데 필요한 RVL의 비트열 중 19번째 비트로부터 38번째 비트까지의 연속한 비트열에 오류가 발생하고 있다. 이 때문에, 부호오류가 생긴 RVLC를 스케일 팩터(SF)의 복호에 필요로 하는 모든 스케일 팩터 밴드가 복호불능구간으로 된다. 도 17b에 도시한 바와 같이, RVLC의 비트 열 중 다수의 비트열에 오류가 발생한 경우, 도 17c에 도시한 바와 같이 많은 밴드를 포함하는 복호불능기간이 생겨버린다.
다음으로, 비교예 2를 들어 설명한다. 이 비교예 2에서는 도 15에 도시한 바와 같은 인터리빙장치에 의해 프레임에 인터리빙을 수행한다. 단 이 비교예 2에 의해서 수행되는 인터리빙은 본 실시형태에 의해 수행되는 인터리빙과는 다르다.
이 비교예 2에서, 처리부(2003)는 도 18(a)에 도시한 바와 같이, 스케일 팩터(SF)의 복호에 필요한 데이터(D1)를 구성하는 80비트를 작업메모리의 제1행 및 제2행에 40비트씩 나누어 기입한다. 다음으로 처리부(2003)는 작업 메모리의 제1열 제3행 내지 제32행까지의 각 기억영역에 데이터(D2)를 구성하는 1200개의 비트 중 최초의 30비트를 기입하고, 제2열의 제3행 내지 제32행까지의 각 기억영역에 다음 30비트를 기입하고, …, 제40열 제3행 내지 제32행까지의 각 기억영역에 다음 30비트를 기입한다. 그리고, 이 기입이 종료하면, 처리부(2003)는 작업 메모리의 제1열 제1행 내지 제32행까지의 각 기억영역으로부터 32비트를 판독하고, 제2열 제1행 내지 제32행까지의 각 기억영역으로부터 32비트를 판독하고, …, 제40열 제1행 내지 제32행까지의 각 기억영역으로부터 최후의 30비트를 판독한다. 그리고, 처리부(2003)는 이렇게 하여 판독한 1280비트의 비트열을 처리부(2004)로 보낸다.
다음으로, 처리부(2004)에서는 헤더(H)를 구성하는 320개의 비트를, 처리부(2003)로부터 출력된 1280비트의 비트열 내에 등간격으로 분산 배치시키는 인터리빙을 수행한다.
도 18b는 이 인터리빙에 의해 얻어진 비트열의 구성을 나타내는 것이다.
이 비트열은, 인터리빙 후의 프레임으로서, 수신측 장치로 전송된다.
이 프레임의 전송과정에서, 도 18b에 도시한 바와 같은 버스트 부호오류가 생겼다고 하자.
이 도 18b에 도시한 예에서는, 스케일 팩터(SF)의 복호에 필요한 데이터(D1)의 제3비트, 제4비트, 제43비트 및 제44비트가 버스트 부호오류의 영향을 받고 있다. 따라서, 이러한 비트 오류에 의해 스케일 팩터(SF)의 복호를 할 수 없는 스케일 팩터 밴드가 복호불능구간으로 된다.
그래서, 스케일 팩터(SF)의 부호에는 RVLC가 사용되고 있고, 또한 최저주파의 밴드(1)에 대응하는 스케일 팩터(SF)와 최고주파의 밴드에 대응하는 스케일 팩터(SF)는 초기 스펙트럴 이득 정보로서 헤더(H)에 포함되어 있다. 따라서, 주파수가 높은 밴드에 대응한 RVLC에 부호오류가 생기고 있을 때에는 저주파로부터 고주파를 행해서 복호가 행해지고, 거꾸로 주파수가 낮은 밴드에 대응한 RVLC에 부호오류가 생기고 있는 경우에는, 고주파로부터 저주파를 향해서 복호를 행하는 것으로서, 매우 광범위한 밴드의 스케일 팩터(SF)를 복원하는 것이 가능하다.
그렇지만, 전술한 바와 같이, 데이터(D1)를 구성하는 각 비트를 작업메모리에서의 복수 행에 대응한 각 기억영역에 기입하여서 인터리빙을 행하면, 인터리빙 후의 프레임에서 스케일 팩터(SF)의 복호에 필요한 RVLC의 구성 비트가 2개 연속하여 나타나는 것으로 된다(도 18b 참조). 이 때문에, 스케일 팩터(SF)의 복호에 필요한 각 비트 중, 버스트 부호오류의 영향을 받는 비트의 개수가 증가하는 것으로 된다. 더구나, 스케일 팩터(SF)의 복호에 필요한 각 RVLC의 구성 비트 중 주파수축 상에서 떨어진 2 또는 그 이상의 밴드에 대응한 각 RVLC의 구성 비트가 버스트 부호오류의 영향을 받을 가능성이 높다.
그래서, 주파수 축 위에서, 떨어진 복수의 밴드에 대응한 각 RVLC의 구성 비트에 부호오류가 생기면, 도 8c에 도시한 바와 같이, 그것들의 밴드 중 가장 주파수가 낮은 밴드로부터 가장 주파수가 높은 밴드까지의 구간이 복호불능 구간으로 된다.
이러한 비교예 1 및 비교예 2에 대해, 본 실시형태에서는 처리부(2003)에서인터리빙을 행할 때, 스케일 팩터(SF)에 대응한 데이터(D1)를 구성하는 전체 비트를 작업메모리의 제1행에 기입하도록 하였으므로, 스케일 팩터(SF)에 복호에 필요한 RVLC의 구성 비트를 프레임 내에 등간격으로 분산 배치시키는 것이 가능하다. 또한 각 밴드의 스케일 팩터(SF)의 복호에 필요한 RVLC의 구성 비트는 주파수축 위에서 각 밴드의 순서와 동일 순서로서, 인터리빙 후의 비트열 중에 나타난다. 따라서, 전송중의 프레임에 도 19a에 도시한 바와 같은 버스트오류가 생긴다하여도, 주파수축 상에서 접근한 밴드에 대응한 스케일 팩터(SF)의 복호가 불가능하게 되는 것에 불과하다. 따라서, 스케일 팩터(SF)의 상실에 따른 복호 불능구간을 도 19b에 도시한 바와 같이 짧게 할 수 있다.
이러한 본 실시형태에 의하면, 오류정정부호화된 헤더(H)와, 오류정정부호화가 행해지지 않은 데이터(D1) 및 데이터(D2)가 있는 경우, 데이터(D2) 중에 데이터(D1)에 포함되는 스케일 팩터(SF)의 복호를 위한 각 비트를 분산 배치하고, 또한, 이 결과 얻어지는 비트열에 헤더(H)를 구성하는 각 비트를 분산 배치하도록 하였으므로, 버스트 오류가 발생하여도 스케일 팩터(SF)가 복호 불능으로 되는 확률을 낮출 수 있다. 이 때문에 재생되는 오디오 신호의 품질을 향상시키는 것이 가능하다.
또한, 스케일 팩터(SF)의 복호에 필요한 각 비트의 분산 배치를 행할 때에, 각 비트를 작업메모리의 제1행만에 기입하도록 하였으므로, 주파수축 위에서의 각 밴드의 순서와 동일 순서로서, 각 밴드의 스케일 팩터(SF)의 복호에 필요한 각 비트가 프레임 내에 분산 배치되는 것이 된다.
D. 이상 설명한 각 실시형태의 변형예
제1실시형태 내지 제2실시형태에 관한 인터리빙장치 및 디인터리빙장치에서는, 도시된 하드웨어식 구성 외에, 전술한 작동과 동등한 프로그램을 실행하도록 한 소프트웨어로도 실현 가능하다.
또한, 전술한 각 실시형태에서는, 오류정정부호화된 헤더(H)를 구성하는 각 비트를 그렇지 않은 데이터의 비트열 중에 분산 배치시키도록 하였지만, 본 발명은 여기에 한정되지 않으며, 오류정정부호화되지 않은 부분에 전술한 인터리빙과 디인터리빙을 적용하여도 좋은 것은 물론이다.
또한 제3실시형태에서는, 하나의 신호를 나타내는 3가지의 파라미터에 본 발명을 적용한 경우를 열거하였지만, 본 발명은 이것에 한정되지 않고, 1개의 신호를 4종류 이상의 파라미터에 의해 표현하는 것에 적용하여도 좋은 것은 물론이다. 이 경우에는 어느 파라미터에 대응하는 각 비트를 나머지 파라미터 중 1개의 파라미터에 대응하는 비트열 중에 분산 배치하고, 이 분산처리를 파라미터의 종류 수에 대응하여 복수회 반복하여 실행하는 것으로서, 인터리빙을 실행하면 좋다.

Claims (11)

  1. 오류정정부호화되어 있지 않은 제1세트의 데이터 및 오류정정부호화되어 있는 제2세트의 데이터를 동일 프레임에 포함시켜 전송 또는 저장하는 방법에 있어서, 상기 제1세트의 데이터에 대응하는 2 이상의 비트를 사이에 끼우도록, 상기 제2세트를 나타내는 비트열을 구성하는 비트는 상기 제1세트의 데이터를 나타내는 비트열 내에 하나 또는 복수의 비트씩 분산 배치되는 것을 특징으로 하는 인터리빙방법.
  2. 제1항에 있어서, 상기 제2세트의 데이터를 나타내는 비트열을 형성하는 비트들은 상기 제1세트의 데이터를 나타내는 비트열 내에 1비트씩 분산 배치되는 것을 특징으로 하는 인터리빙방법.
  3. 제1항에 있어서, 상기 제2세트의 데이터를 나타내는 비트열을 형성하는 비트들은 상기 제1세트의 데이터를 나타내는 비트열 내에 복수 비트씩 분산 배치되는 것을 특징으로 하는 인터리빙방법.
  4. 제1항에 있어서, 상기 제2세트의 데이터가 복수 세트로 이루어지고, 상기 제2세트의 데이터의 세트 수만큼 분산배치가 반복되는 것을 특징으로 하는 인터리빙방법.
  5. 제4항에 있어서, 상기 제2세트의 데이터는 각 세트별로 상이한 코드 길이로 오류정정부호화된 것을 특징으로 하는 인터리빙방법.
  6. 제1항에 있어서, 상기 제1세트의 데이터는 전송 과정에서 부호오류가 발생할 겨웅에 은폐처리(concealment processing)의 대상으로 되는 정보인 것을 특징으로 하는 인터리빙방법.
  7. 제1항에 있어서, 상기 제1세트의 데이터는, 전송 또는 저장하고자 하는 신호를 미분 부호화할 때 얻어지는 미분값을 나타내는 데이터이고, 상기 제2세트의 데이터는 상기 미분 부호화시 얻어지는 초기값 데이터 세트인 것을 특징으로 하는 인터리빙방법.
  8. (a) 디인터리빙의 대상이 되는 비트열 내에 분산배치된 비트들을 상기 비트열로부터 추출하여 제2세트의 데이터를 나타내는 비트열로 복원하는 단계; 및
    (b) 상기 복원하는 단계(a)에서 추출되고 남은 비트열로서 이루어진 제1세트의 데이터를 나타내는 비트열을 복원하는 단계를 포함하며,
    상기 제1세트의 데이터는 오류정정부호화되어 있지 않은 데이터이며, 상기 제2세트의 데이터는 오류정정부호화된 데이터인 것을 특징으로 하는 디인터리빙방법.
  9. 제8항에 있어서,
    (c) 상기 제1세트의 데이터를 나타내는 비트열 내에 분산 배치된 비트들을 추출하여 또 다른 제2세트를 나타내는 비트열을 복원하는 단계;
    (d) 상기 복원하는 단계 (c)에서 추출되고 남은 비트열로서 이루어진 새로운 제1세트의 데이터를 나타내는 비트열을 복원하는 단계를 포함하며,
    상기 단계 (c) 및 (d)를 반복함으로써, 서로 다른 세트의 데이터를 나타내는 3개 이상의 비트열을 복원하는 것을 특징으로 하는 디인터리빙방법.
  10. 행렬 구조의 작업 메모리와,
    전송 또는 저장하고자 하는 프레임에 포함되는 제1세트의 데이터를 나타내는 비트열을 구성하는 각 비트를 상기 작업 메모리의 제1행을 제외한 영역에 기입하기 위한 복수의 기입 어드레스를 상기 작업 메모리의 열마다 상기 작업 메모리에 공급하고, 상기 프레임에 포함된 제2세트의 데이터를 나타내는 비트열을 구성하는 각 비트를 상기 작업 메모리의 제1행에 기입하기 위한 복수의 기입 어드레스를 상기 작업 메모리에 공급하는 기입 어드레스 공급부와,
    상기 작업 메모리로부터 전송 또는 저장하고자 하는 프레임을 형성하는 비트열을 판독하기 위한 복수의 판독 어드레스를 상기 작업 메모리의 열마다 상기 작업 메모리에 공급하는 판독 어드레스 공급부를 구비하는 것을 특징으로 하는 인터리빙 장치.
  11. 행렬 구조의 작업 메모리와,
    디인터리빙의 대상이 되는 비트열을 구성하는 각 비트를 상기 작업 메모리에 기입하기 위한 복수의 기입 어드레스를 상기 작업 메모리의 열마다 상기 작업 메모리에 공급하는 기입 어드레스 공급부와,
    상기 디인터리빙 대상이 되는 비트열 내에 분산 배치된 제2세트의 데이터를 나타내는 비트열을 구성하는 각 비트를 상기 작업 메모리의 제1행으로부터 판독하기 위한 복수의 판독 어드레스를 상기 작업 메모리에 공급하고, 상기 작업 메모리의 제1행을 제외한 영역으로부터 제1세트의 데이터를 나타내는 비트열을 구성하는 각 비트를 판독하기 위한 복수의 판독 어드레스를 상기 작업 메모리의 열마다 공급하는 판독 어드레스 공급부를 구비하는 것을 특징으로 하는 디인터리빙장치.
KR10-2004-7015803A 1998-05-27 1999-05-27 인터리빙을 행하기 위한 방법 및 장치와, 디인터리빙을행하기 위한 방법 및 장치 KR100493263B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JPJP-P-1998-00146191 1998-05-27
JP14619198 1998-05-27
JP34601698 1998-12-04
JPJP-P-1998-00346016 1998-12-04
PCT/JP1999/002799 WO1999062184A1 (fr) 1998-05-27 1999-05-27 Procede et dispositif d'intercalage, et procede et dispositif de desintercalage

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-7000929A Division KR100493261B1 (ko) 1998-05-27 1999-05-27 인터리빙을 행하기 위한 방법 및 장치와, 디인터리빙을행하기 위한 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20040097276A true KR20040097276A (ko) 2004-11-17
KR100493263B1 KR100493263B1 (ko) 2005-06-02

Family

ID=26477080

Family Applications (2)

Application Number Title Priority Date Filing Date
KR10-2004-7015803A KR100493263B1 (ko) 1998-05-27 1999-05-27 인터리빙을 행하기 위한 방법 및 장치와, 디인터리빙을행하기 위한 방법 및 장치
KR10-2000-7000929A KR100493261B1 (ko) 1998-05-27 1999-05-27 인터리빙을 행하기 위한 방법 및 장치와, 디인터리빙을행하기 위한 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR10-2000-7000929A KR100493261B1 (ko) 1998-05-27 1999-05-27 인터리빙을 행하기 위한 방법 및 장치와, 디인터리빙을행하기 위한 방법 및 장치

Country Status (9)

Country Link
US (4) US6871302B1 (ko)
EP (3) EP1017175B1 (ko)
JP (1) JP3362051B2 (ko)
KR (2) KR100493263B1 (ko)
CN (1) CN1147052C (ko)
AU (1) AU742455C (ko)
CA (1) CA2297770C (ko)
DE (3) DE69936568T2 (ko)
WO (1) WO1999062184A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100493263B1 (ko) * 1998-05-27 2005-06-02 가부시키가이샤 엔.티.티.도코모 인터리빙을 행하기 위한 방법 및 장치와, 디인터리빙을행하기 위한 방법 및 장치
DE10219700C1 (de) * 2002-05-02 2003-09-18 Astrium Gmbh Verfahren zum Interleaving von Daten
EP1561296A1 (en) * 2002-09-24 2005-08-10 Telefonaktiebolaget LM Ericsson (publ) Interleaving for mobile communications
US8077743B2 (en) * 2003-11-18 2011-12-13 Qualcomm Incorporated Method and apparatus for offset interleaving of vocoder frames
JP4349183B2 (ja) * 2004-04-01 2009-10-21 富士ゼロックス株式会社 画像処理装置および画像処理方法
US8340098B2 (en) * 2005-12-07 2012-12-25 General Instrument Corporation Method and apparatus for delivering compressed video to subscriber terminals
EP2067258A2 (en) * 2006-09-12 2009-06-10 Nxp B.V. Deinterleaver for a multi-stage interleaving scheme with processing of bit pairs
US7688908B2 (en) * 2007-03-12 2010-03-30 Samsung Electronics Co., Ltd. System and method for processing wireless high definition video data using a shortened last codeword
US7779216B2 (en) * 2007-04-11 2010-08-17 Honeywell International Inc. Method and system of randomizing memory locations
JP2008311640A (ja) * 2007-05-16 2008-12-25 Rohm Co Ltd 半導体レーザダイオード
US8700792B2 (en) 2008-01-31 2014-04-15 General Instrument Corporation Method and apparatus for expediting delivery of programming content over a broadband network
US8752092B2 (en) 2008-06-27 2014-06-10 General Instrument Corporation Method and apparatus for providing low resolution images in a broadcast system
WO2010085361A2 (en) * 2009-01-26 2010-07-29 Thomson Licensing Frame packing for video coding
US8189408B2 (en) * 2009-11-17 2012-05-29 Freescale Semiconductor, Inc. Memory device having shifting capability and method thereof
JP4734450B2 (ja) * 2009-12-22 2011-07-27 株式会社東芝 認証モジュール、電子機器及びインタリーブ信号の復元方法
US9357244B2 (en) 2010-03-11 2016-05-31 Arris Enterprises, Inc. Method and system for inhibiting audio-video synchronization delay
WO2011154780A1 (en) * 2010-06-11 2011-12-15 Freescale Semiconductor, Inc. Method for providing data protection for data stored within a memory element and integrated circuit device therefor
EP2490355A1 (en) * 2011-02-18 2012-08-22 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Digital receiver and digital transmitter having a variable interleaver functionality
EP2863566B1 (en) 2013-10-18 2020-09-02 Université de Nantes Method and apparatus for reconstructing a data block
US9876606B2 (en) 2015-01-20 2018-01-23 Telefonaktiebolaget L M Ericsson (Publ) Transmitting device, receiving device, and methods performed therein
WO2018187902A1 (en) 2017-04-10 2018-10-18 Qualcomm Incorporated An efficient interleaver design for polar codes
CN113688067A (zh) * 2021-08-30 2021-11-23 上海汉图科技有限公司 数据写入、数据读取方法及装置

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4559625A (en) * 1983-07-28 1985-12-17 Cyclotomics, Inc. Interleavers for digital communications
JPS63182977A (ja) * 1987-01-23 1988-07-28 Pioneer Electronic Corp デイジタル音声信号多重方式
FR2627650B1 (fr) * 1988-02-24 1990-07-06 Crouzet Sa Procede et dispositif de transmission de donnees
EP0519669A3 (en) * 1991-06-21 1994-07-06 Ibm Encoding and rebuilding data for a dasd array
US5255343A (en) * 1992-06-26 1993-10-19 Northern Telecom Limited Method for detecting and masking bad frames in coded speech signals
JP2900719B2 (ja) 1992-08-24 1999-06-02 日本電気株式会社 音声コーデック処理方法
US5517511A (en) * 1992-11-30 1996-05-14 Digital Voice Systems, Inc. Digital transmission of acoustic signals over a noisy communication channel
DE69317867T2 (de) 1992-12-14 1998-10-22 Koninkl Philips Electronics Nv Verfahren und Vorrichtung zur Realisierung eines Quasiproduktkodes mit verschiedenen Fehlerschutzstufen
EP0603932B1 (en) * 1992-12-14 1998-04-08 Koninklijke Philips Electronics N.V. Method and apparatus for implementing a quasi-product code with different degrees of protection against errors
AU665716B2 (en) * 1993-07-05 1996-01-11 Mitsubishi Denki Kabushiki Kaisha A transmitter for encoding error correction codes and a receiver for decoding error correction codes on a transmission frame
CA2131674A1 (en) 1993-09-10 1995-03-11 Kalyan Ganesan High performance error control coding in channel encoders and decoders
FR2713845B1 (fr) * 1993-12-07 1996-01-19 Thomson Consumer Electronics Procédé d'entrelacement et de désentrelacement en bloc et dispositif de mise en Óoeuvre.
JP3304632B2 (ja) * 1994-09-21 2002-07-22 ソニー株式会社 インターリーブ方法およびインターリーブ回路
WO1996027962A2 (en) 1995-03-03 1996-09-12 Philips Electronics N.V. Error protected multichannel digital data transmission system and method having graceful degration quality through multi-resolution, and transmitter station and receiver station for use in such system
DE59610391D1 (de) 1995-06-12 2003-06-05 Siemens Ag Verfahren und Codiereinrichtung zur gesicherten Übertragung von Daten mittels Mehrkomponenten-Codierung
FR2737363B1 (fr) * 1995-07-27 1997-09-05 France Telecom Entrelacement/desentrelacement d'elements de donnees
DE69527525T2 (de) * 1995-08-21 2003-04-03 Alcatel Sa Verfahren zur Schachtelung von Datenrahmen, Übertragungsfehlerkorrekturanordnung und Modulator damit
US5757822A (en) 1995-08-24 1998-05-26 Quantum Corporation Bit-interleaved rate 16/17 modulation code with three-way byte-interleaved ECC
JPH09130269A (ja) * 1995-11-06 1997-05-16 Oki Electric Ind Co Ltd 誤り訂正符号フレーム構成装置
JPH09153918A (ja) * 1995-11-30 1997-06-10 Nippon Telegr & Teleph Corp <Ntt> ディジタル伝送装置
JP3572769B2 (ja) * 1995-11-30 2004-10-06 ソニー株式会社 ディジタルオーディオ信号処理装置および方法
US5764649A (en) * 1996-03-29 1998-06-09 Amati Communications Corporation Efficient address generation for convolutional interleaving using a minimal amount of memory
JP3854662B2 (ja) * 1996-06-12 2006-12-06 キヤノン株式会社 撮像装置
US5898698A (en) * 1996-09-24 1999-04-27 Orckit Communications Ltd. Multiple codeword interleaver method and apparatus
US5751741A (en) * 1996-11-20 1998-05-12 Motorola, Inc. Rate-adapted communication system and method for efficient buffer utilization thereof
US5978833A (en) * 1996-12-31 1999-11-02 Intel Corporation Method and apparatus for accessing and downloading information from the internet
US5946357A (en) * 1997-01-17 1999-08-31 Telefonaktiebolaget L M Ericsson Apparatus, and associated method, for transmitting and receiving a multi-stage, encoded and interleaved digital communication signal
ES2236784T3 (es) * 1997-01-31 2005-07-16 Alcatel Metodo y dispositivo para intercalar y desintercalar datos digitales y sistema de comunicacion.
DE69829736T2 (de) * 1997-05-13 2006-02-09 Matsushita Electric Industrial Co., Ltd., Kadoma Paketsender
US6154661A (en) * 1997-12-10 2000-11-28 Arraycomm, Inc. Transmitting on the downlink using one or more weight vectors determined to achieve a desired radiation pattern
AU756985B2 (en) 1998-05-27 2003-01-30 Ntt Mobile Communications Network, Inc. Error protecting method and error protective device
KR100493263B1 (ko) 1998-05-27 2005-06-02 가부시키가이샤 엔.티.티.도코모 인터리빙을 행하기 위한 방법 및 장치와, 디인터리빙을행하기 위한 방법 및 장치
JP2000124816A (ja) * 1998-10-14 2000-04-28 Oki Electric Ind Co Ltd 符号化インタリーブ装置

Also Published As

Publication number Publication date
CN1147052C (zh) 2004-04-21
CA2297770A1 (en) 1999-12-02
WO1999062184A1 (fr) 1999-12-02
DE69936568D1 (de) 2007-08-30
US7191369B2 (en) 2007-03-13
EP1843474B1 (en) 2008-12-17
US7469365B2 (en) 2008-12-23
DE69936568T2 (de) 2008-04-30
AU742455C (en) 2003-01-09
US20050005223A1 (en) 2005-01-06
US20070038902A1 (en) 2007-02-15
US7428667B2 (en) 2008-09-23
JP3362051B2 (ja) 2003-01-07
CA2297770C (en) 2007-10-30
EP1017175A4 (en) 2005-11-16
KR100493263B1 (ko) 2005-06-02
CN1272978A (zh) 2000-11-08
AU3954499A (en) 1999-12-13
US6871302B1 (en) 2005-03-22
DE69942595D1 (de) 2010-08-26
DE69940134D1 (de) 2009-01-29
EP1843474A1 (en) 2007-10-10
AU742455B2 (en) 2002-01-03
KR100493261B1 (ko) 2005-06-02
EP1841077B1 (en) 2010-07-14
EP1017175B1 (en) 2007-07-18
US20070038903A1 (en) 2007-02-15
EP1841077A1 (en) 2007-10-03
KR20010022350A (ko) 2001-03-15
EP1017175A1 (en) 2000-07-05

Similar Documents

Publication Publication Date Title
KR100493263B1 (ko) 인터리빙을 행하기 위한 방법 및 장치와, 디인터리빙을행하기 위한 방법 및 장치
US6105159A (en) Trellis code with improved error propagation
US4908827A (en) Forward error correction system
US6658605B1 (en) Multiple coding method and apparatus, multiple decoding method and apparatus, and information transmission system
NZ197132A (en) Error correctable data transmission method:parity check word generation and interleaving of parallel data words
US6563436B2 (en) Kerdock coding and decoding system for map data
KR20030070135A (ko) 에러 정정 코드를 디코딩하는 방법 및 장치
KR20090100346A (ko) 기록 쓰기 경로를 위한 리버스 연결 인코딩 시스템과 매체 상에 기록하기 위한 데이터를 인코딩하는 방법과 컴퓨터 판독가능한 기록 매체
US6329935B1 (en) Temporally separating and re-organizing data using two-stage interleaving and de-interleaving
JP3704358B2 (ja) ディジタル情報信号の送信および受信
JP3540154B2 (ja) 多重化送信装置および多重化送信方法
CA2602283C (en) Interleaving system
JPH03242027A (ja) インターリーブを付加した並列誤り訂正方式
JP2001211082A (ja) Pcm信号符号化方法及び復号化方法
EP1111799B1 (en) Error correction with a cross-interleaved Reed-Solomon code, particularly for CD-ROM
KR100832535B1 (ko) 단일 네트워크 채널에서의 패킷 손실을 줄이기 위한 데이터송/수신 처리 방법 및 장치
JP2536861B2 (ja) 多段復号化方法
JP4666235B2 (ja) 符号化装置及び方法、並びにプログラム
KR100218680B1 (ko) 길쌈부호화 방법
JP2003087123A (ja) 高コードレートブロック符号化/復号化方法及び装置
JPS60256230A (ja) デイジタル情報伝送方法
JPS6058732A (ja) ディジタル信号伝送方法
JPH01185038A (ja) 誤り制御装置
JPH01264421A (ja) 符号化フレーム構成処理方式

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130503

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140502

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150430

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160427

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170504

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20180503

Year of fee payment: 14

EXPY Expiration of term