KR100752066B1 - 코딩/디코딩 방법과 장치 - Google Patents

코딩/디코딩 방법과 장치 Download PDF

Info

Publication number
KR100752066B1
KR100752066B1 KR1020017012428A KR20017012428A KR100752066B1 KR 100752066 B1 KR100752066 B1 KR 100752066B1 KR 1020017012428 A KR1020017012428 A KR 1020017012428A KR 20017012428 A KR20017012428 A KR 20017012428A KR 100752066 B1 KR100752066 B1 KR 100752066B1
Authority
KR
South Korea
Prior art keywords
interval
coded
decoded
target range
range
Prior art date
Application number
KR1020017012428A
Other languages
English (en)
Other versions
KR20010113868A (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 KR20010113868A publication Critical patent/KR20010113868A/ko
Application granted granted Critical
Publication of KR100752066B1 publication Critical patent/KR100752066B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/34Analogue value compared with reference values
    • H03M1/38Analogue value compared with reference values sequentially only, e.g. successive approximation type
    • H03M1/46Analogue value compared with reference values sequentially only, e.g. successive approximation type with digital/analogue converter for supplying reference values to converter
    • H03M1/464Non-linear conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 값 범위로부터 목표 범위를 코딩/디코딩하기 위한 방법 및 코더/디코더에 관한 것으로서, 본 방법에서는 코딩될 목표 범위를 위한 코드 비트를 찾을 때까지 또는 이 코드 비트를 이용해서, 디코딩될 목표 범위를 찾을 때까지, 목표 범위를 위한 코딩/디코딩 스텝에서 순환 스텝을 반복한다. 순환 스텝의 경우, 코딩/디코딩될 목표 범위가 위치하는 값 범위의 인터벌은 2 개의 새로운 인터벌로 분할되며, 단일 비트는 코딩/디코딩될 목표 범위가 새로운 인터벌들 중 어디에 위치하는지를 신호화한다. 이와 같이 신호화된 새로운 인터벌은 다음 순환 스텝을 위한 인터벌로서 사용된다. 코딩될 목표 범위 또는 디코딩될 목표 범위를 위한 코드 비트는 상기 인터벌이 최소 크기를 미달할 때 찾아진다. 적어도 하나의 순환 스텝은 인터벌 내의 목표 범위에 대한 확률 분포를 기초로 하며, 새로운 인터벌들은 상기 확률 분포에 기초하여 선택된다.
값 범위, 목표 범위, 코드 비트, 순환 스텝, 신호화, 확률 분포

Description

코딩/디코딩 방법과 장치{Method and device for coding/decoding}
본 발명은 반복 순환 스텝을 사용하는 코딩/디코딩 방법과 장치에 관한 것이다.
각각의 순환 스텝의 경우, 코딩될 값이 존재하는 인터벌은 2 개의 새로운 인터벌들로 분할되며, 형성된 새로운 인터벌들 중 어느 인터벌에 상기 값이 존재하는지는 비트에 의해 나타난다. 상기 방법은 코딩/디코딩될 값이 위치할 때까지 계속해서 실행된다.
독립 청구항의 특징을 갖는 본 발명에 따른 방법 및 장치는 코드 비트수를 적게 유지할 수 있는 장점을 갖는다.
다른 장점들은 종속 청구항에 제시된 조치로부터 얻어진다. 특히 상기 방법은 특정 시퀀스를 갖는 복수의 데이터를 코딩/디코딩할 때 바람직하다. 또한 인터벌 한계가 적절히 선택될 때, 필요한 코드 비트수를 상당히 줄일 수 있다. 특히 간단한 모델로서 확률 분포가 사용되며 이 확률 분포는 시퀀스 내에 몇 개의 소자들이 후속되는가에 의존한다. 이와 같이 측정된 확률 분포가 특정의 사용 분야에서 유용한 것으로 입증되었다. 이것은 특히 오디오 데이터에 해당된다. 측정된 확률 분포는, 상기 분포가 인터벌 테이블로 변환될 때 특히 간단하게 저장될 수 있다.
본 발명의 실시예를 도면에 도시하며 이하에서 상세히 설명한다.
도 1은 송신기 및 수신기를 도시한 도면.
도 2는 인터벌 구획화에 의한 값의 선택을 도시한 도면.
도 3 내지 도 5는 여러 가지 확률 분포를 도시한 도면.
도 1에서는 송신 스테이션(1)과 수신 스테이션(2)을 구비한 데이터 전송 시스템을 도시하며, 송신 스테이션(1)은 전송 채널(3)을 거쳐서 데이터를 수신 스테이션(2)에 전송한다. 전송을 위해서는, 전송할 데이터를 코딩해야 한다. 즉, 송신 스테이션(1)에서는 송신할 데이터를 디지털 비트 신호로 변환하며, 그 후 이 신호들은 전송 채널(3)을 통해 전송된다. 수신 스테이션(2)에서는 상술한 바와 같이 전송된 비트 시퀀스가 디코딩된다. 즉, 수신된 비트 시퀀스로부터 원래의 신호가 다시 형성된다. 이로써 하기의 방법에서는, 어떻게 특정 데이터의 코딩이 특히 효과적으로 실행되는지 즉, 어떻게 특히 적은 수의 코딩 비트에 의해 가능한 많은 데이터량이 전송되는지가 설명된다.
코딩될 데이터들은 0 내지 1023(=210-1)의 값 범위를 나타내는 수의 스트림(stream of numbers)에 의해 도 2에 설명된다. 코딩될 정보 또는 데이터는 도 2에 도시된 0 내지 1023의 값 범위로부터 개별 수들이 선택되는 것으로 구성된다. 이는 도 2에서 수 330에 의해 설명된다. 정보 즉, 송신 스테이션(1)으로부터 수신 스테이션(2)으로 전송되는 개별 데이터는 0 내지 1023의 수들의 양으로부터 수 330가 선택되는 것으로 구성된다.
또한 도 2에서는 인터벌 구획화에 의해 수 330이 어느 쪽에 위치하는지가 설명된다. 이하에서 순환 스텝이라 표현하는 제 1 스텝에서는 최대 가능 인터벌(제 1 스텝 = 인터벌 0 내지 1023)이 2 개의 새로운 부분 인터벌로 분할된다. 시작 인터벌로서, 전체 값 범위 즉, 0 내지 1023 사이의 수들은 인터벌 한계 512로 지정함으로써 2 개의 부분 인터벌로 분할되는데, 이때 0 내지 511의 제 1 인터벌과 512 내지 1023의 제 2 인터벌이 얻어진다. 단일 비트에 의해, 코딩될 수 330이 어떤 인터벌에 위치하는지가 나타내지며, 예컨대 0은 항상, 코딩될 수가 하부 인터벌에 위치하는 것을, 1은 코딩될 수가 상부 부분 인터벌에 위치하는 것을 나타낼 수 있다. 본 실시예에서 제 1 코드 비트는, 코딩될 수 330이 하부 인터벌 즉, 0 내지 511의 인터벌에 위치하기 때문에, 0일 수 있다. 제 2 스텝에서는, 앞서 규정된 인터벌이 계속해서 부분 인터벌로 분할된다. 이는 인터벌 한계 256에 의해서 이루어지며, 하나의 단일 비트는, 코딩될 수 330이 하부 인터벌 즉, 0 내지 255 사이에 위치하는지 또는 상부 인터벌 즉, 256 내지 511 사이에 위치하는지를 신호화한다. 이 경우에 코드 비트는, 코딩될 수 330이 상부 인터벌에 위치하기 때문에, 1이다. 이 인터벌은 추가의 스텝에서, 다시 2 개의 새로운 인터벌 즉, 256 내지 384의 하부 인터벌과 384 내지 512의 상부 인터벌로 분할된다. 코드 비트 0은 코딩될 수 330이 하부 인터벌에 위치하는 것을 나타낸다. 상기 방법은 남아 있는 인터벌 폭이 하나의 수 즉, 수 330을 포함할 때까지 계속된다.
디코딩은, 코딩된 수 330이 0 내지 1023의 인터벌에서 찾아질 때까지, 수신 스테이션(2)이 마찬가지로 수신된 비트 시퀀스에 의해 인터벌을 구획화하는, 동일한 방식으로 이루어진다.
관찰된 각각의 인터벌을 동일 크기의 2 개의 새로운 인터벌들로 이등분하는 상기 방법의 경우, 0 내지 1023의 인터벌로부터 하나의 수를 선택 또는 코딩하기 위해서는 항상 10 비트가 필요한 것을 쉽게 알 수 있다. 따라서, 수를 전송하기 위하여 이중 시스템을 직접 사용하는 것과는 달리, 비트는 절약되지 않는다. 그렇지만 이는, 이 경우처럼 항상 인터벌의 이등분에 의해 인터벌 한계가 주어지는 것이 아니라, 확률 분포에 기초하여 인터벌 구획화를 위한 다른 인터벌 한계가 선택될 때, 변한다. 예를 들어, 코딩될 수가 1023보다는 0에 가깝게 놓일 확률이 더 크면, 인터벌 구획화시에 인터벌 한계가 적절하게 선택됨으로써 필요한 비트수는 줄어들 수 있다. 예를 들어, 전송될 수들이 0.5의 확률로 0 내지 63의 인터벌에 위치하고 남은 0.5의 확률로 64 내지 1023의 인터벌에 위치하면, 0 내지 63의 하부 인터벌 범위와 64 내지 1024의 상부 인터벌 범위가 제 1 인터벌 구획화를 위해 충분하기 때문에, 통계적적으로 평균해 볼때, 코딩 요구조건이 줄어들 수 있다. 제 1 코드 비트가 0이면, 코딩될 값이 0 내지 63의 인터벌에 위치하며, 전송될 값이 추가의 6 개 비트로 코딩될 수 있음을 명확히 알 수 있다. 인터벌 구획화시에 코딩될 또는 디코딩될 값에 대해 확률 분포를 사용함으로써, 코딩에 필요한 비트 비용을 줄일 수 있다.
다른 장점은 복수의 수로 구성된 집합을 전송할 때 얻을 수 있다. 인터벌 0 내지 1023으로부터 복수의 수를 전송할 때 즉, 코딩 이후 상응하게 다시 디코딩할 때, 데이터를 분류함으로써 필요한 코드 비트의 수를 줄일 수 있다. 이 경우, 상기 수들은 상기 수들이 내림차순 또는 올림차순을 형성하는 시퀀스로 전송 즉, 코딩 및 디코딩되는 것이 중요하다. 수 330의 코딩 후, 다음 번 수가 더 크거나 더 작은 것이 분명하면, 인터벌 구획화를 위해 필요한 인터벌은 줄어들 수 있다. 다음의 설명은 수 450이 추가로 전송되어야 하며, 송신기(1: 코더) 및 수신기(2: 디코더)가, 2 개의 수가 전송되는 점과 전송될 제 1 수가 더 작은 점을 인식하는 것을 기본으로 한다. 코딩 및 디코딩시 330 내지 1023의 인터벌만이 관찰되면 된다. 이 인터벌이 0 내지 1023의 인터벌보다 작기 때문에, 경우에 따라서는 더 적은 수의 비트들이 사용될 수 있다. 따라서 코딩에 필요한 비트의 수는, 전송될(코딩/디코딩될) 복수의 수들이 시퀀스로 전송되고 송신기와 수신기가 이것을 인식할 때, 줄어들 수 있다. 예컨대 더 작은 수가 960이면, 나머지 인터벌에는 단지 64의 수만이 남아 있게 되며, 이 수는 6 개의 비트들로 간단히 코딩된다. 복수의 수가 특정의 시퀀스로 전송될 수 있으므로, 비트는 절약될 수 있다. 또한 이 조건 하에서, 인터벌 구획화를 위한 인터벌 한계는 남아 있는 나머지 인터벌의 이등분으로 구성되지 않아도 되는 것이 제시된다.
도 3, 도 4 및 도 5에서는 이론적 고찰로부터 나온 다양한 확률 분포가 설명된다. 실제로 이 확률 분포는, 실제 데이터, 특히 코딩될 실제 오디오 데이터에 대해 매우 우수하게 근사한 것으로 입증되었다.
도 3, 도 4 및 도 5에서, 확률 분포(P(x))는 0 내지 1에 이르는 정상 인터벌(x)과 비교 도시된다. 구체적인 용도에 있어, 이 정상 인터벌 각각은 코딩/디코딩될 수들이 위치하는 구체적인 수 범위로 변환되어야 한다. 도 3 내지 도 5에서, 하나의 인터벌 내에서 수들의 분포는 전체적으로 얼마나 많은 수가 상기 인터벌 내에 있는 지에 따른다. 이는 특히 복수의 수가 코딩/디코딩될 때 중요하다. 예컨대 하나의 값 범위로부터 10개의 수가 코딩/디코딩되어야 하면, 단 하나의 수가 코딩/디코딩되어야 할 때와는 다른 확률 함수가 기본이 된다. 연속적으로 수를 코딩/디코딩하는데 있어서, 이것은 각각의 코딩/디코딩 스텝을 위해 다른 확률 분포가 사용되어야 함을 의미한다. 이를 위해, 코딩 및 디코딩시에는 코딩 또는 디코딩될 수들의 총 수의 양을 알고 있어야 한다. 그러면, 전체값 범위에서 수들이 동일하게 분포되어 있다는 가정 하에, 도 3 내지 도 5에 도시된 확률 분포가 얻어진다.
도 3에는 단독 값이 코딩/디코딩될 때의 확률 분포(P(x))가 도시된다. 쉽게 알 수 있는 바와 같이, 상기 확률 분포는 0 내지 1의 정규화된 전체 값 범위에 걸쳐서 일정하다. 이 경우, 바람직한 인터벌 한계는 중앙을 분할함으로써 얻어진다. 도 3에서, 의미 있는 인터벌 한계는 각각 퍼센트가 제공된 수직선으로 도시된다. x=0.25일 때 25% 라인이며, x=0.5일 때 50% 라인이고, x=0.75일 때 75% 라인이다. 쉽게 이해할 수 있는 바와 같이, 50% 한계에 의해 하부와 상부 인터벌이 생기며, 이 경우 코딩/디코딩될 값이 하부 인터벌에 위치할 확률은 50%이며, 상부 인터벌에 위치할 확률도 마찬가지로 50%이다. 제 1 분할 스텝에서, 코딩/디코딩될 값이 하부 인터벌에 위치한 것이 검출되면, 25% 한계 즉, 마찬가지로 새로운 인터벌을 각각 50%의 확률을 갖는 2 개의 인터벌로 분할하는 한계는 다음 번의 유용한 분할 한계를 의미한다. 도 3에서는 또한, 동일한 분포의 가정 하에, 하나의 인터벌로부터 개별 값을 코딩/디코딩하는데 있어서 비트가 거의 줄어들지 않는 것이 제시되는데, 그 이유는 도 2에서 설명했던 분할 방법과 정확하게 일치하기 때문이다.
도 4는 추가의 수가 코딩/디코딩되며, 전체 값 인터벌에 걸쳐서 2개의 수의 독립된 동일한 확률이 추정된다는 가정 하에, 0 내지 1의 정상 인터벌에서 수에 대한 확률 분포를 도시한다. 코딩될 수는 소정의 순서대로, 예컨대 먼저 작은 수가 코딩된 다음, 큰 수가 코딩된다. 제 1 수를 코딩하기 위해, 확률은 0 내지 1023의 전체 값 범위에 걸쳐서 동일한 크기를 갖지 않는다. 작은 수가 1022를 취하면 큰 수는 1023의 값을 취해야 하지만, 이는 1022의 값을 취하는 작은 수의 확률이 상대적으로 낮다는 것 외의 다른 의미를 갖지는 않는다. 반대로 작은 수가 1을 가지면, 제 2의 수 즉, 큰 수는 1 내지 1023의 값 범위를 갖는다. 즉, 작은 수가 값 1을 취할 확률은 작은수가 1022의 값을 취할 확률보다 훨씬 더 크다. 1에서 가장 크고 값 범위의 끝 즉, 1023에서 가장 작은, 작은 수의 확률 곡선이 상응하게 얻어진다. 0 내지 1의 정규화된 값 범위에서 확률(P(x))는 0에서 가장 크고 1에서 가장 작다. 따라서 인터벌 구획화를 이용해 2 개의 수를 코딩/디코딩하기 위해, 도 4에 따른 확률 분포는 작은 수에 대해, 도 3에 따른 확률 분포는 큰 수에 대해 사용되어야 한다. 도 4에 따른 분포는 값 범위와의 곱셈에 의해, 전체 값 범위로 변환되며 도 3에 따른 분포는 곱셈, 및 작은 값으로부터 값 범위의 상한값까지 연장된 나머지 인터벌로의 시프트에 의해 변환된다. 인터벌 한계는 항상, 하나의 수가 2 개의 새로운 인터벌에 위치할 확률이 동일하도록 선택되어야 한다. 이 경우 상기 분할을 위해, 도 3에서와 마찬가지로 제 1 인터벌 한계가 도시된다. 25% 라인은 x=0.134에, 50% 라인은 x=0.293에, 75% 라인은 x=0.500에 있다. 코딩/디코딩될 수가 어느 인터벌에 위치하는지에 따라, 제 1 분할 스텝에서는 50% 라인이, 제 2 분할 스텝에서는 25% 라인 또는 75% 라인이 선택된다.
도 4에는 추가의 수가 더 있다는 가정 하에, 코딩/디코딩될 수에 대한 0 내지 1의 정상 인터벌에서의 확률 분포가 도시된다. 또한, 도 4에서는 상기 수들이 시퀀스로 코딩/디코딩된다고 가정한다. 이 가정하에서, 인터벌 구획화의 인터벌 한계를 결정하기 위해 도 4에서 재차 퍼센트로 표시한 바와 같이 한계가 선택된다. 실질적으로 이 인터벌 한계는, 인터벌을 이등분하지 않으며, 코딩/디코딩될 수를 위한 확률이 인터벌 한계의 오른쪽과 왼쪽에서 각각 50%에 이도록 비대칭으로 설계된다.
도 5에는 코딩/디코딩될 수에 여전히, 2 개의 추가의 코딩/디코딩될 수가 후속하며, 그 값은 도 5의 확률 분포를 위한 수보다 더 크다는 가정 하에, 상기 정상 인터벌로부터의 하나의 수에 대한, 0 내지 1의 상기 정상 인터벌에서의 확률 분포가 도시된다. 코딩/디코딩될 수에 대한 상기와 같은 가정 하에, 작은 값(즉, 0에 근사한 값)이 1에 근사한 값보다 확률이 더 큰 확률 분포가 생긴다. 이 확률 분포에 기초하여, 여기서 25%, 50%, 75%로 표시된 인터벌 한계가 선택될 수 있으며, 이로써 적은 비트만을 필요로 하는 수가 매우 효과적으로 코딩될 수 있다. 25% 라인은 x=0.0914에, 50% 라인은 x=0.206에, 75% 라인은 x=0.370에 있다.
4 개의 값이 후속하거나 5 개의 값이 후속한다는 가정 하에, 상응하는 확률 분포가 형성될 수 있다. 그러나 값의 수가 증가함에 따라, 확률 분포가 단지 미미하게 변하는데 즉, 확률 분포는 약 10개의 값의 한계로부터 시작해서 단지 약간(marginally) 변한다.
하나의 값 범위로부터 3 개의 값이 전송되어야 하면, 이 값은 그 크기에 따라 오름차순으로 분류된다. 즉, 상기 값 범위에서 제 1 수는 가장 작은 값이며, 마지막 수는 가장 큰 수이다. 이러한 가정 하에, 도 3, 도 4 및 도 5의 확률 분포가 사용될 수 있다. 제 1 수를 코딩/디코딩하기 위하여, 도 5의 확률 분포는 전체 값 범위에서 사용된다. 이 제 1 수가 코딩/디코딩된 후, 도 4의 확률 분포는 제 1 수보다 큰 제 2 수의 코딩/디코딩을 위해 사용된다. 그러나 가장 작은 수와 값 범위의 상한 사이의 인터벌만이 고려된다. 따라서 도 4의 확률 분포는 이 인터벌에 대해 정규화된다. 도 4의 확률 분포를 고려한 인터벌 구획화를 통해, 상기 인터벌 내에서 제 2 수가 코딩/디코딩된다. 가장 큰 제 3 수를 코딩하기 위해, 도 3에 따른 확률 분포가 상기 인터벌에서 사용되며, 상기 인터벌의 하한은 디코딩된 제 2 수에 의해, 그 상한은 값 범위의 상한에 의해 형성된다. 이 수를 코딩 및 디코딩하기 위해, 도 3에 따른 확률 분포가 사용되며, 이 확률 분포는 결과적으로 항상 나머지 인터벌의 이등분을 의미한다. 이러한 조치를 통해, 3 개의 수를 코딩하기 위해 필요한 비트의 수가 적게 유지된다.
상기 방법은 확률 분포에 근거하기 때문에, 코딩에 필요한 비트의 수는 상기 수의 실제 분포가 상기 확률 분포에 얼마나 일치하는지에 달려 있다. 따라서 특정 수의 세트를 코딩하기 위해 얼마나 많은 비트가 필요한지가 항상 명확하지는 않다. 값 범위에서 수가 확률이 매우 낮은 분포를 갖는 경우, 개별 케이스에서, 본 발명에서의 인터벌의 이등분에 의한 간단한 인터벌 구획화에 비해 더 많은 비트가 필요할 수 있다. 그러나 통계학적으로 평균해볼 때, 20% 내지 30% 정도 감소한 비트율로 매우 큰 절약이 이루어진다.
도 4 및 도 5는 코딩/디코딩될 더 큰 수들이 후속하는, 코딩/디코딩될 수들에 적용된다. 즉, 코딩/디코딩될 수들의 오름차순 분류에 적용된다. 코딩/디코딩될 수들의 내림차순 분류가 사용되면, 이에 상응하게 확률 분포가 반영된다. 즉, 확률 분포는 각각 값 1에서 가장 크고 값 0에서 가장 작다.
도 3 내지 도 5의 확률 분포는 하나의 값 인터벌 내에서의 값들의 분포에 관한 이론적 고찰에 기초한다. 그러나 실제 값은 유사한 의존성을 나타내는 것이 도시된다. 여기서는, 오디오 데이터의 전송이 예시로서 언급되며, 상기 데이터의 전송은 사인(sinusoidal) 진동의 주파수가 수의 값으로서 전송됨으로써 이루어진다. 실제 오디오 데이터의 평가는, 주파수가 오름차순 또는 내림차순으로 분류된 후, 주파수의 가능한 전체 값 범위에서 특정 주파수의 확률이, 얼마나 많은 추가 주파수가 일렬로 연속되는지에 의존하는 것을 나타낸다. 이 확률 분포는 여기서 고찰한 도 5 및 도 6의 확률 분포와 유사한 형상을 나타낸다. 즉, 오름차순 수의 열로서 주파수를 분류할 때 후속하는 추가 주파수의 수에 의존해서, 더 작은 주파수 값 쪽으로의 확률이 더 큰 주파수 값 쪽으로의 확률보다 큰 것이 도시된다. 실제 오디오 데이터의 평가에 의해 샘플 확률이 계산되며, 이 확률은 실제로, 원래의 신호를 재구성하기 위해 중첩된 사인 진동 주파수를 각각 나타내는 주파수 수의 오름차순을 코딩하기에 바람직한 것으로 입증되었다.
이와 같이 측정된 확률 분포를 사용하기 위해서는, 전체 확률 분포가 저장될 필요가 없으며, 오히려 인터벌 구획화를 위한 의미있는 인터벌 한계가 기준 인터벌에 기초하다는 것을 나타내는 것으로 충분하다. 선택된 오디오 데이터로부터 얻은, 처음 5 개의 인터벌 구획화를 위한 인터벌 한계가 이하에서 제시된다. 이는 값 범위를 동일한 확률의 32 개의 범위로 분할하는 인터벌 한계를 위한 31 개의 연속하는 값이다. 언급한 값들은 1024의 값 범위를 기초로 한다. 즉, 하나의 구체적인 값 범위에서 사용하기 위해, 이 수들은 1024로 나눠진 다음, 구체적 사용시 고려한 인터벌에서 상기 값의 수와 각각 곱해진다. 상기 확률 분포를 동일한 확률의 32 개의 범위로 분할하는 분할 한계는 다음과 같다:
후속값이 없는 경우,
53, 87, 118, 150, 181, 212, 243, 275, 306, 337, 368, 399
431, 462, 493, 524, 555, 587, 618, 649, 680, 711, 743, 774
805, 836, 867, 899, 930, 961, 992
1 개의 후속값이 있는 경우,
34, 53, 71, 89, 106, 123, 141, 159, 177, 195, 214, 234
254, 274, 296, 317, 340, 363, 387, 412, 438, 465, 494, 524
556, 591, 629, 670, 718, 774, 847
2 개의 후속값이 있는 경우,
26, 41, 54, 66, 78, 91, 103, 116, 128, 142, 155, 169
184, 199, 214, 231, 247, 265, 284, 303, 324, 346, 369, 394
422, 452, 485, 524, 570, 627, 709
3 개의 후속값이 있는 경우,
23, 35, 45, 55, 65, 75, 85, 96, 106, 117, 128, 139
151, 164, 177, 190, 204, 219, 235, 252, 270, 290, 311, 334
360, 389, 422, 461, 508, 571, 665
4 개의 후속값이 있는 경우,
20, 30, 39, 48, 56, 64, 73, 81, 90, 99, 108, 118
127, 138, 149, 160, 172, 185, 198, 213, 228, 245, 263, 284
306, 332, 362, 398, 444, 507, 608
5 개의 후속값이 있는 경우,
18, 27, 35, 43, 50, 57, 65, 72, 79, 87, 95, 104
112, 121, 131, 141, 151, 162, 174, 187, 201, 216, 233, 251
272, 296, 324, 357, 401, 460, 558
6 개의 후속값이 있는 경우,
16, 24, 31, 38, 45, 51, 57, 64, 70, 77, 84, 91
99, 107, 115, 123, 132, 142, 152, 163, 175, 188, 203, 219
237, 257, 282, 311, 349, 403, 493
7 개의 후속값이 있는 경우,
12, 19, 25, 30, 35, 41, 46, 51, 56, 62, 67, 73
79, 85, 92, 99, 106, 114, 122, 132, 142, 153, 165, 179
195, 213, 236, 264, 301, 355, 452
상술한 바와 같이 매우 큰 수를 위한 확률 분포는 후속하는 값과 다르지 않으므로, 이 경우들에서는 항상 7 개의 후속하는 값을 위한 확률 분포가 사용될 수 있다(이는 적어도 오디오 데이터에서 유효함). 또한 오디오 데이터에서는, 확률 분포를 고려한 상태에서 처음 5 개의 인터벌 구획화가 이루어질 때, 확률 분포를 더 고려할 때 추가의 절약(saving)이 낮은 것으로 나타났다. 따라서, 오디오 데이터에 있어서는, 확률 분포의 고려 하에 처음 5 개의 인터벌 구획화만이 이루어지고, 경우에 따라서 나머지 인터벌이 동일한 크기의 2 개의 새로운 부분 인터벌로 분할됨으로써 간단히 남아 있는 추가의 인터벌 구획화가 이루어지는 것만으로, 충분한 것으로 나타났다.
추가의 수가 뒤따른다는 가정 하에, 수 330의 코딩에 기초해 테이블의 사용이 설명된다.
여기서 수 330은 0 내지 1023의 인터벌로부터 선택된다. 테이블을 보면, 제 1 분할 한계로서 수 317이 세팅된다. 이것은 코딩될 수가 상기 한계 아래에 있을 확률이 상기 한계 위에 있을 확률과 정확히 같은 것을 의미한다. 관련 수 330은 상기 한계 위에 있으므로, 제 1 코드 비트는 1이다. 318 부터 1023까지의 남은 인터벌에 대해, 다음 분할은 테이블에 나타난 바와 같이, 524에서 이루어진다. 따라서, 제 2 코드 비트는 0이다. 다음 분할은 412에서 이루어지며(코드 비트 = 0) 즉, 코딩된 값은 318 내지 412의 인터벌에 위치한다. 다음 분할은 363(코드 비트 0)에서 이루어지며 즉, 코딩될 수는 318 내지 363의 인터벌로 제한된다. 다음 분할(테이블에서 340)은 코딩될 수의 범위를 318 내지 340의 범위로 제한한다. 후속 코딩은 나머지 인터벌을 이등분함으로써 간단히 이루어진다. 또한, 318 내지 340의 인터벌의 분할은 한계 329 = (318 + 340)/2에서 이루어지며, 이로써 코드 비트는 1이 된다. 결과적으로 남은 330 내지 340의 인터벌은 후속 순환 스텝에 다시 중앙에서 분할되는데, 이는 발생된 나머지 인터벌이 코딩될 하나의 수(여기서는 330)만을 포함할 때까지 이루어진다.
상기와 같이 저장된 테이블에 의해, 매우 간단한 수단으로, 코딩을 위해 필요한 비트를 감소시킬 수 있다. 여기에 필요한 메모리양은 인터벌에 대한 개별 한계만이 저장됨으로써 적아지며, 코딩 스테이션(1) 뿐만 아니라 디코딩 스테이션(2)도 상기 방법을 사용하기 위해 큰 노력을 하지 않아도 된다.
상기 방법은 값 범위로부터 선택된 수에 의해 설명된다. 수들 대신에, 배치된 어느 유형의 데이터도 사용될 수 있으며, 이 데이터는 시퀀스로 배치될 수 있다. 이와 같은 데이터는 하나의 값 범위 내의 해당 수들로 문제 없이 변환되므로, 상기 방법은 어느 유형의 데이터에도 적합하다. 또한 개별 수들 대신에 범위가 사용될 수 있으며 즉, 수 범위는 간단히 코딩될 수 있다.
상기 방법은 항상 개별 수가 확실하게 검출될 때까지 실행된다. 또한 상기 방법은, 나머지 인터벌이 작아서 각각의 적용에서 받아들여질 수 있을 때 중단할 수도 있다. 이로 인하여 코딩에 필요한 비트를 더욱 감소시킬 수 있기 때문에, 매우 간단한 방식으로 비트율이 다양하게 조정될 수 있다.

Claims (11)

  1. 값 범위로부터 목표 범위를 코딩/디코딩하기 위한 방법에 있어서, 코딩될 상기 목표 범위에 대한 코드 비트들이 찾아질 때까지 또는 상기 코드 비트를 이용해서, 디코딩될 상기 목표 범위가 찾아질 때까지, 상기 목표 범위에 대하여 코딩/디코딩 스텝에서 순환 스텝이 반복되며, 코딩/디코딩될 상기 목표 범위가 위치되는 값 범위의 인터벌은 상기 순환 스텝에서 2개의 새로운 인터벌로 분할되고, 단일 비트는 코딩/디코딩될 상기 목표 범위가 위치되는 상기 새로운 인터벌을 시그널링하기 위해 사용되며, 이와 같이 시그널링된 새로운 인터벌은 다음 순환 스텝을 위한 인터벌로서 사용되고, 상기 인터벌이 최소 크기에 도달하지 않았을 때 코딩될 목표 범위 또는 디코딩될 목표 범위를 위한 상기 코드 비트가 찾아지며, 적어도 하나의 순환 스텝은 인터벌 내의 상기 목표 범위에 대한 확률 분포를 기초로 하며, 상기 새로운 인터벌들은 상기 확률 분포에 기초하여 선택되는 것을 특징으로 하는 코딩/디코딩 방법.
  2. 제 1 항에 있어서, 상기 목표 범위로서, 개별 수가 사용되는 것을 특징으로 하는 코딩/디코딩 방법.
  3. 제 1 항 또는 제 2 항에 있어서, 각각의 순환 스텝에서 상기 인터벌은, 코딩/디코딩될 상기 목표 범위가 동일한 확률로 새로운 2 개의 인터벌의 각각에 위치하도록 선택되는 것을 특징으로 하는 코딩/디코딩 방법.
  4. 제 1 항 또는 제 2 항에 있어서, 복수의 상기 목표 범위가 코딩/디코딩되며, 상기 목표 범위의 수는 값의 수로 주어지고, 상기 코딩/디코딩 스텝은 값의 수의 모든 상기 목표 범위가 코딩/디코딩될 때까지 반복되는 것을 특징으로 하는 코딩/디코딩 방법.
  5. 제 4 항에 있어서, 상기 확률 분포를 검출하기 위해, 코딩/디코딩될 상기 목표 범위의 시퀀스가 결정되며, 하나의 목표 범위의 확률 분포는 얼마나 많은 목표 범위들이 상기 시퀀스 내에서 후속하는지에 의존하는 것을 특징으로 하는 코딩/디코딩 방법.
  6. 제 5 항에 있어서, 상기 코딩/디코딩될 목표 범위는 오름차순 또는 내림차순을 형성하는 것을 특징으로 하는 코딩/디코딩 방법.
  7. 제 5 항에 있어서, 복수의 확률 분포가 저장되며, 하나의 코딩/디코딩 스텝을 위한 확률 분포의 선택은 얼마나 많은 상기 목표 범위들이 상기 시퀀스 내에서 후속하는지에 의존하는 것을 특징으로 하는 코딩/디코딩 방법.
  8. 제 7 항에 있어서, 상기 저장된 확률 분포는 데이터의 측정값으로부터 검출되는 것을 특징으로 하는 코딩/디코딩 방법.
  9. 제 7 항에 있어서, 상기 저장된 확률 분포가 계산되는 것을 특징으로 하는 코딩/디코딩 방법.
  10. 제 1 항 또는 제 2 항에 있어서, 상기 코딩/디코딩될 수는 정수인 것을 특징으로 하는 코딩/디코딩 방법.
  11. 값 범위로부터 목표 범위를 코딩/디코딩하기 위한 코더/디코더에 있어서, 코딩될 상기 목표 범위를 위한 코드 비트를 찾을 때까지 또는 상기 코드 비트를 이용해서, 디코딩될 상기 목표 범위를 찾을 때까지, 상기 목표 범위를 위한 코딩/디코딩 스텝에서 순환 스텝을 반복하기 위한 수단; 상기 순환 스텝에서, 코딩/디코딩될 상기 목표 범위가 위치하는 값 범위의 인터벌을 2 개의 새로운 인터벌로 분할하기 위한 수단; 코딩/디코딩될 상기 목표 범위가 상기 새로운 인터벌들 중 어디에 위치하는지 단일 비트를 사용하여 표시하기 위한 수단; 상기 단일 비트로 표시된 새로운 인터벌을 다음 순환 스텝을 위한 인터벌로서 사용하기 위한 수단; 및 코딩될 상기 목표 범위 또는 디코딩될 상기 목표 범위를 위한 상기 코드 비트가 찾아졌음을 설정하는 것은 상기 인터벌이 최소 크기를 미달할 때 결정하기 위한 수단; 인터벌 내의 상기 목표 범위에 대한 확률 분포를 사용하여 적어도 하나의 순환 스텝에서 2개의 새로운 인터벌들을 선택하기 위한 수단을 포함하는, 코더/디코더.
KR1020017012428A 1999-03-31 2000-02-24 코딩/디코딩 방법과 장치 KR100752066B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19914645.5 1999-03-31
DE19914645A DE19914645A1 (de) 1999-03-31 1999-03-31 Verfahren und Vorrichtung zur Codierung/Decodierung

Publications (2)

Publication Number Publication Date
KR20010113868A KR20010113868A (ko) 2001-12-28
KR100752066B1 true KR100752066B1 (ko) 2007-08-28

Family

ID=7903103

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017012428A KR100752066B1 (ko) 1999-03-31 2000-02-24 코딩/디코딩 방법과 장치

Country Status (6)

Country Link
US (1) US6624768B1 (ko)
EP (1) EP1206840B1 (ko)
JP (1) JP4603698B2 (ko)
KR (1) KR100752066B1 (ko)
DE (2) DE19914645A1 (ko)
WO (1) WO2000060744A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10149332A1 (de) 2001-10-06 2003-04-30 Bosch Gmbh Robert Verfahren zur Übertragung von Daten von wenigstens einem Sensor zu einem Steuergerät
CN108965870B (zh) * 2010-09-10 2022-11-01 交互数字麦迪逊专利控股公司 通过基于图像内容搜索和分级在视频压缩中对至参考块的链接进行编码
DE102022200893A1 (de) * 2022-01-27 2023-07-27 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Codierung und Decodierung von Daten

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60106228A (ja) * 1983-11-15 1985-06-11 Nec Corp 非線形量子化符号化方式及び回路
KR910021054A (ko) * 1990-05-25 1991-12-20 오오가 노리오 디지탈 신호 인코딩 장치
KR940016170A (ko) * 1992-12-01 1994-07-22 김광호 고속화상 재생에 적합한 디지탈 비디오 테이프레코더용 데이타 코딩기술

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1322362A (en) * 1970-06-16 1973-07-04 Maritsas D Generating pseudo-random sequences
US5045852A (en) * 1990-03-30 1991-09-03 International Business Machines Corporation Dynamic model selection during data compression
JP3350385B2 (ja) * 1997-01-24 2002-11-25 京セラ株式会社 符号生成方法および符号化方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60106228A (ja) * 1983-11-15 1985-06-11 Nec Corp 非線形量子化符号化方式及び回路
KR910021054A (ko) * 1990-05-25 1991-12-20 오오가 노리오 디지탈 신호 인코딩 장치
KR940016170A (ko) * 1992-12-01 1994-07-22 김광호 고속화상 재생에 적합한 디지탈 비디오 테이프레코더용 데이타 코딩기술

Also Published As

Publication number Publication date
EP1206840A1 (de) 2002-05-22
DE19914645A1 (de) 2000-10-26
WO2000060744A1 (de) 2000-10-12
KR20010113868A (ko) 2001-12-28
US6624768B1 (en) 2003-09-23
DE50003299D1 (de) 2003-09-18
EP1206840B1 (de) 2003-08-13
JP2002541523A (ja) 2002-12-03
JP4603698B2 (ja) 2010-12-22

Similar Documents

Publication Publication Date Title
US9258013B1 (en) Data compression with Huffman code on multicore processors
CN101233571B (zh) 处理音频信号的方法和装置
ATE75358T1 (de) Hochwirksame kodiereinrichtung.
KR930020998A (ko) 비디오 변환계수의 벡터 코딩방법 및 그 장치
KR960703296A (ko) 직교형으로 인코딩된 데이터 신호를 디코딩하기 위한 방법 및 장치 (receiver for a direct sequence spread spectrum orthogonally encoded signal employing rake principle)
RU97113145A (ru) Способ и устройство для определения в приемнике системы связи скорости передачи данных, передаваемых с переменной скоростью
KR19980703104A (ko) 데이터 엔코딩 및 잡음있는 매체를 통한 통신을 위한 방법 및장치
US4191974A (en) Facsimile encoding communication system
RU2006116878A (ru) Способ и система для внешнего контура управления мощностью передачи
KR970019131A (ko) 심볼률 판별 및 통계분석 기능을 가진 데이타 수신장치(data receiver with symbol rate discrimination and statistical analysis functions)
CN115276662B (zh) 一种微服务用户信息高效压缩传输方法
US7528750B2 (en) Entropy encoding and decoding apparatus and method based on tree structure
CN103746706A (zh) 基于双游程交替编码的测试数据压缩与解压缩方法
KR880009502A (ko) 정보 전송 방법 및 그 장치
KR100752066B1 (ko) 코딩/디코딩 방법과 장치
CN1140894C (zh) 可变位速率语音传输系统
EP0364261A3 (en) Highly efficient coding apparatus
US7398451B2 (en) Error correction process and mechanism
US5933464A (en) Bitwise soft decision symbol decoder
US20120076232A1 (en) Coder and Decoder, Coding Method and Decoding Method, and System Comprising a Coder and a Decoder
US7110466B1 (en) Variable rate message coding
JPH0813134B2 (ja) ブロック化エントロピー符号化装置
EP0838906A2 (en) Method and device for determining thresholds of metric values used in Viterbi synchronization evaluation circuits
US7636382B1 (en) Encoding Viterbi error states into single chip sequences
KR100472545B1 (ko) 두가지코드워드길이를이용한버텍스코딩장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120808

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130820

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140814

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee