KR100752066B1 - Method and device for coding/decoding - Google Patents

Method and device for coding/decoding 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
Korean (ko)
Other versions
KR20010113868A (en
Inventor
마이네니콜라우스
푸른하겐하이코
Original Assignee
로베르트 보쉬 게엠베하
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 로베르트 보쉬 게엠베하 filed Critical 로베르트 보쉬 게엠베하
Publication of KR20010113868A publication Critical patent/KR20010113868A/en
Application granted granted Critical
Publication of KR100752066B1 publication Critical patent/KR100752066B1/en

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 개의 새로운 인터벌로 분할되며, 단일 비트는 코딩/디코딩될 목표 범위가 새로운 인터벌들 중 어디에 위치하는지를 신호화한다. 이와 같이 신호화된 새로운 인터벌은 다음 순환 스텝을 위한 인터벌로서 사용된다. 코딩될 목표 범위 또는 디코딩될 목표 범위를 위한 코드 비트는 상기 인터벌이 최소 크기를 미달할 때 찾아진다. 적어도 하나의 순환 스텝은 인터벌 내의 목표 범위에 대한 확률 분포를 기초로 하며, 새로운 인터벌들은 상기 확률 분포에 기초하여 선택된다.The present invention relates to a method and a coder / decoder for coding / decoding a target range from a value range, in which the target range to be decoded until or until the code bit for the target range to be coded is found. Repeat the cyclic step in the coding / decoding step for the target range until. In the case of a cyclic step, the interval of the value range in which the target range to be coded / decoded is located is divided into two new intervals, and a single bit signals where the target range to be coded / decoded is located among the new intervals. The new interval thus signaled is used as the interval for the next cyclic step. The code bits for the target range to be coded or the target range to be decoded are found when the interval falls below the minimum size. At least one cyclic step is based on a probability distribution for the target range within the interval, and new intervals are selected based on the probability distribution.

값 범위, 목표 범위, 코드 비트, 순환 스텝, 신호화, 확률 분포Value range, target range, code bits, cyclic steps, signaling, probability distribution

Description

코딩/디코딩 방법과 장치{Method and device for coding/decoding}Coding / Decoding Method and Device {Method and device for coding / decoding}

본 발명은 반복 순환 스텝을 사용하는 코딩/디코딩 방법과 장치에 관한 것이다.The present invention relates to a coding / decoding method and apparatus using an iterative cyclic step.

각각의 순환 스텝의 경우, 코딩될 값이 존재하는 인터벌은 2 개의 새로운 인터벌들로 분할되며, 형성된 새로운 인터벌들 중 어느 인터벌에 상기 값이 존재하는지는 비트에 의해 나타난다. 상기 방법은 코딩/디코딩될 값이 위치할 때까지 계속해서 실행된다.For each cyclic step, the interval at which the value to be coded is divided into two new intervals, and which of the new intervals formed is represented by the bit. The method continues to run until the value to be coded / decoded is located.

독립 청구항의 특징을 갖는 본 발명에 따른 방법 및 장치는 코드 비트수를 적게 유지할 수 있는 장점을 갖는다.The method and apparatus according to the invention having the features of the independent claims have the advantage of keeping the number of code bits small.

다른 장점들은 종속 청구항에 제시된 조치로부터 얻어진다. 특히 상기 방법은 특정 시퀀스를 갖는 복수의 데이터를 코딩/디코딩할 때 바람직하다. 또한 인터벌 한계가 적절히 선택될 때, 필요한 코드 비트수를 상당히 줄일 수 있다. 특히 간단한 모델로서 확률 분포가 사용되며 이 확률 분포는 시퀀스 내에 몇 개의 소자들이 후속되는가에 의존한다. 이와 같이 측정된 확률 분포가 특정의 사용 분야에서 유용한 것으로 입증되었다. 이것은 특히 오디오 데이터에 해당된다. 측정된 확률 분포는, 상기 분포가 인터벌 테이블로 변환될 때 특히 간단하게 저장될 수 있다.Other advantages derive from the measures set out in the dependent claims. In particular, the method is preferred when coding / decoding a plurality of data having a specific sequence. In addition, when the interval limit is properly selected, the required number of code bits can be significantly reduced. In particular, as a simple model, a probability distribution is used, which depends on how many elements follow in the sequence. The probability distribution thus measured has proven to be useful in certain applications. This is particularly true of audio data. The measured probability distribution can be stored particularly simply when the distribution is converted to an interval table.

본 발명의 실시예를 도면에 도시하며 이하에서 상세히 설명한다.An embodiment of the present invention is shown in the drawings and described in detail below.

도 1은 송신기 및 수신기를 도시한 도면.1 shows a transmitter and a receiver.

도 2는 인터벌 구획화에 의한 값의 선택을 도시한 도면.2 illustrates selection of values by interval partitioning.

도 3 내지 도 5는 여러 가지 확률 분포를 도시한 도면.3 to 5 illustrate various probability distributions.

도 1에서는 송신 스테이션(1)과 수신 스테이션(2)을 구비한 데이터 전송 시스템을 도시하며, 송신 스테이션(1)은 전송 채널(3)을 거쳐서 데이터를 수신 스테이션(2)에 전송한다. 전송을 위해서는, 전송할 데이터를 코딩해야 한다. 즉, 송신 스테이션(1)에서는 송신할 데이터를 디지털 비트 신호로 변환하며, 그 후 이 신호들은 전송 채널(3)을 통해 전송된다. 수신 스테이션(2)에서는 상술한 바와 같이 전송된 비트 시퀀스가 디코딩된다. 즉, 수신된 비트 시퀀스로부터 원래의 신호가 다시 형성된다. 이로써 하기의 방법에서는, 어떻게 특정 데이터의 코딩이 특히 효과적으로 실행되는지 즉, 어떻게 특히 적은 수의 코딩 비트에 의해 가능한 많은 데이터량이 전송되는지가 설명된다.1 shows a data transmission system with a transmitting station 1 and a receiving station 2, which transmits data to the receiving station 2 via a transmission channel 3. For transmission, the data to be transmitted must be coded. That is, the transmitting station 1 converts the data to be transmitted into digital bit signals, which are then transmitted over the transmission channel 3. At the receiving station 2, the transmitted bit sequence is decoded as described above. That is, the original signal is formed again from the received bit sequence. Thus, in the following method, it is explained how the coding of specific data is performed particularly effectively, i.e., how much data amount is possible with a particularly small number of coding bits.

코딩될 데이터들은 0 내지 1023(=210-1)의 값 범위를 나타내는 수의 스트림(stream of numbers)에 의해 도 2에 설명된다. 코딩될 정보 또는 데이터는 도 2에 도시된 0 내지 1023의 값 범위로부터 개별 수들이 선택되는 것으로 구성된다. 이는 도 2에서 수 330에 의해 설명된다. 정보 즉, 송신 스테이션(1)으로부터 수신 스테이션(2)으로 전송되는 개별 데이터는 0 내지 1023의 수들의 양으로부터 수 330가 선택되는 것으로 구성된다.The data to be coded is illustrated in FIG. 2 by a stream of numbers representing a value range of 0 to 1023 (= 2 10 −1). The information or data to be coded consists of selecting individual numbers from the value range of 0 to 1023 shown in FIG. This is illustrated by the number 330 in FIG. 2. The information, i.e. the individual data transmitted from the transmitting station 1 to the receiving station 2, consists of the number 330 being selected from the amount of numbers from 0 to 1023.

또한 도 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을 포함할 때까지 계속된다.In addition, in FIG. 2, which number 330 is located by interval partitioning is described. In the first step, hereinafter referred to as the cyclic step, the maximum possible interval (first step = interval 0 to 1023) is divided into two new partial intervals. As a starting interval, the entire value range, i.e., numbers between 0 and 1023, is divided into two partial intervals by designating an interval limit of 512, where a first interval of 0 to 511 and a second interval of 512 to 1023 are obtained. By a single bit, it is indicated at which interval the coded number 330 is located, for example 0 can always indicate that the number to be coded is located in the lower interval, and 1 can indicate that the number to be coded is located in the upper partial interval. In the present embodiment, the first code bit may be 0 since the number 330 to be coded is located at a lower interval, that is, an interval of 0 to 511. In the second step, the interval defined above is subsequently divided into partial intervals. This is done by interval limit 256, one single bit signaling whether the number 330 to be coded is located between the lower interval, i.e., 0 to 255 or the upper interval, i.e., between 256 and 511. The code bit in this case is 1 since the number 330 to be coded is located in the upper interval. This interval is further divided into two new intervals, i.e. the lower interval of 256 to 384 and the upper interval of 384 to 512, in a further step. Code bit 0 indicates that number 330 to be coded is located at the lower interval. The method continues until the remaining interval width includes one number, that is, the number 330.

디코딩은, 코딩된 수 330이 0 내지 1023의 인터벌에서 찾아질 때까지, 수신 스테이션(2)이 마찬가지로 수신된 비트 시퀀스에 의해 인터벌을 구획화하는, 동일한 방식으로 이루어진다.Decoding is done in the same way, until the receiving station 2 likewise partitions the interval by the received sequence of bits until the coded number 330 is found at intervals from 0 to 1023.

관찰된 각각의 인터벌을 동일 크기의 2 개의 새로운 인터벌들로 이등분하는 상기 방법의 경우, 0 내지 1023의 인터벌로부터 하나의 수를 선택 또는 코딩하기 위해서는 항상 10 비트가 필요한 것을 쉽게 알 수 있다. 따라서, 수를 전송하기 위하여 이중 시스템을 직접 사용하는 것과는 달리, 비트는 절약되지 않는다. 그렇지만 이는, 이 경우처럼 항상 인터벌의 이등분에 의해 인터벌 한계가 주어지는 것이 아니라, 확률 분포에 기초하여 인터벌 구획화를 위한 다른 인터벌 한계가 선택될 때, 변한다. 예를 들어, 코딩될 수가 1023보다는 0에 가깝게 놓일 확률이 더 크면, 인터벌 구획화시에 인터벌 한계가 적절하게 선택됨으로써 필요한 비트수는 줄어들 수 있다. 예를 들어, 전송될 수들이 0.5의 확률로 0 내지 63의 인터벌에 위치하고 남은 0.5의 확률로 64 내지 1023의 인터벌에 위치하면, 0 내지 63의 하부 인터벌 범위와 64 내지 1024의 상부 인터벌 범위가 제 1 인터벌 구획화를 위해 충분하기 때문에, 통계적적으로 평균해 볼때, 코딩 요구조건이 줄어들 수 있다. 제 1 코드 비트가 0이면, 코딩될 값이 0 내지 63의 인터벌에 위치하며, 전송될 값이 추가의 6 개 비트로 코딩될 수 있음을 명확히 알 수 있다. 인터벌 구획화시에 코딩될 또는 디코딩될 값에 대해 확률 분포를 사용함으로써, 코딩에 필요한 비트 비용을 줄일 수 있다.In the above method of dividing each observed interval into two new intervals of the same size, it can be readily seen that 10 bits are always needed to select or code one number from an interval of 0 to 1023. Thus, unlike using a dual system directly to transfer numbers, bits are not saved. However, this does not always give an interval limit by bisection of the interval as in this case, but changes when another interval limit for interval segmentation is selected based on the probability distribution. For example, if the number of codes to be coded is closer to zero than 1023, then the number of bits required can be reduced by properly selecting the interval limit at interval partitioning. For example, if the numbers to be transmitted are located at intervals of 0 to 63 with a probability of 0.5 and at intervals of 64 to 1023 with a probability of 0.5 remaining, the lower interval range of 0 to 63 and the upper interval range of 64 to 1024 are the first. Since it is sufficient for one-interval partitioning, the coding requirements can be reduced when statistically averaged. If the first code bit is zero, it can be clearly seen that the value to be coded is located at an interval of 0 to 63, and that the value to be transmitted can be coded with an additional six bits. By using the probability distribution for the values to be coded or decoded at interval partitioning, the bit cost required for coding can be reduced.

다른 장점은 복수의 수로 구성된 집합을 전송할 때 얻을 수 있다. 인터벌 0 내지 1023으로부터 복수의 수를 전송할 때 즉, 코딩 이후 상응하게 다시 디코딩할 때, 데이터를 분류함으로써 필요한 코드 비트의 수를 줄일 수 있다. 이 경우, 상기 수들은 상기 수들이 내림차순 또는 올림차순을 형성하는 시퀀스로 전송 즉, 코딩 및 디코딩되는 것이 중요하다. 수 330의 코딩 후, 다음 번 수가 더 크거나 더 작은 것이 분명하면, 인터벌 구획화를 위해 필요한 인터벌은 줄어들 수 있다. 다음의 설명은 수 450이 추가로 전송되어야 하며, 송신기(1: 코더) 및 수신기(2: 디코더)가, 2 개의 수가 전송되는 점과 전송될 제 1 수가 더 작은 점을 인식하는 것을 기본으로 한다. 코딩 및 디코딩시 330 내지 1023의 인터벌만이 관찰되면 된다. 이 인터벌이 0 내지 1023의 인터벌보다 작기 때문에, 경우에 따라서는 더 적은 수의 비트들이 사용될 수 있다. 따라서 코딩에 필요한 비트의 수는, 전송될(코딩/디코딩될) 복수의 수들이 시퀀스로 전송되고 송신기와 수신기가 이것을 인식할 때, 줄어들 수 있다. 예컨대 더 작은 수가 960이면, 나머지 인터벌에는 단지 64의 수만이 남아 있게 되며, 이 수는 6 개의 비트들로 간단히 코딩된다. 복수의 수가 특정의 시퀀스로 전송될 수 있으므로, 비트는 절약될 수 있다. 또한 이 조건 하에서, 인터벌 구획화를 위한 인터벌 한계는 남아 있는 나머지 인터벌의 이등분으로 구성되지 않아도 되는 것이 제시된다.Another advantage is gained when transferring sets of multiple numbers. When transmitting a plurality of numbers from intervals 0 to 1023, i.e., when decoding correspondingly again after coding, the number of code bits required can be reduced by classifying the data. In this case, it is important that the numbers are transmitted, i.e. coded and decoded, in a sequence in which the numbers form a descending or ascending order. After coding of number 330, if it is apparent that the next number is larger or smaller, the interval required for interval partitioning can be reduced. The following description is based on the fact that the number 450 has to be transmitted in addition and the transmitter (coder) and receiver (decoder 2: decoder) recognize that two numbers are transmitted and that the first number to be transmitted is smaller. . Only an interval of 330 to 1023 needs to be observed in coding and decoding. Since this interval is less than an interval of 0 to 1023, fewer bits may be used in some cases. Thus, the number of bits required for coding can be reduced when a plurality of numbers to be transmitted (coded / decoded) are transmitted in sequence and the transmitter and receiver recognize this. For example, if the smaller number is 960, then only 64 numbers remain in the remaining intervals, which are simply coded into 6 bits. Since a plurality of numbers can be transmitted in a specific sequence, bits can be saved. It is also proposed that under this condition, the interval limit for interval partitioning does not have to consist of bisection of the remaining intervals.

도 3, 도 4 및 도 5에서는 이론적 고찰로부터 나온 다양한 확률 분포가 설명된다. 실제로 이 확률 분포는, 실제 데이터, 특히 코딩될 실제 오디오 데이터에 대해 매우 우수하게 근사한 것으로 입증되었다.3, 4 and 5 illustrate various probability distributions from theoretical considerations. Indeed, this probability distribution proved to be very good approximation for real data, especially real audio data to be coded.

도 3, 도 4 및 도 5에서, 확률 분포(P(x))는 0 내지 1에 이르는 정상 인터벌(x)과 비교 도시된다. 구체적인 용도에 있어, 이 정상 인터벌 각각은 코딩/디코딩될 수들이 위치하는 구체적인 수 범위로 변환되어야 한다. 도 3 내지 도 5에서, 하나의 인터벌 내에서 수들의 분포는 전체적으로 얼마나 많은 수가 상기 인터벌 내에 있는 지에 따른다. 이는 특히 복수의 수가 코딩/디코딩될 때 중요하다. 예컨대 하나의 값 범위로부터 10개의 수가 코딩/디코딩되어야 하면, 단 하나의 수가 코딩/디코딩되어야 할 때와는 다른 확률 함수가 기본이 된다. 연속적으로 수를 코딩/디코딩하는데 있어서, 이것은 각각의 코딩/디코딩 스텝을 위해 다른 확률 분포가 사용되어야 함을 의미한다. 이를 위해, 코딩 및 디코딩시에는 코딩 또는 디코딩될 수들의 총 수의 양을 알고 있어야 한다. 그러면, 전체값 범위에서 수들이 동일하게 분포되어 있다는 가정 하에, 도 3 내지 도 5에 도시된 확률 분포가 얻어진다.3, 4 and 5, the probability distribution P (x) is shown in comparison with the normal interval x ranging from 0 to 1. For specific purposes, each of these normal intervals must be converted to a specific number range in which the numbers to be coded / decoded are located. In Figures 3 to 5, the distribution of numbers within one interval depends entirely on how many are within the interval. This is especially important when multiple numbers are coded / decoded. For example, if ten numbers from one value range are to be coded / decoded, then a different probability function is the basis than when only one number should be coded / decoded. In coding / decoding the numbers successively, this means that a different probability distribution should be used for each coding / decoding step. For this purpose, in coding and decoding it is necessary to know the total number of numbers to be coded or decoded. Then, under the assumption that the numbers are equally distributed in the entire value range, the probability distributions shown in Figs.

도 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에서 설명했던 분할 방법과 정확하게 일치하기 때문이다.3 shows the probability distribution P (x) when the single value is coded / decoded. As can be readily seen, the probability distribution is constant over the normalized full value range of zero to one. In this case, the preferred interval limit is obtained by dividing the center. In Figure 3, the meaningful interval limits are shown by vertical lines, each given a percentage. 25% line when x = 0.25, 50% line when x = 0.5 and 75% line when x = 0.75. As can be easily understood, the 50% limit results in lower and upper intervals, in which case the probability that the value to be coded / decoded is in the lower interval is 50%, and the probability in the upper interval is 50% as well. In the first splitting step, if it is detected that the value to be coded / decoded is located in the lower interval, then the 25% limit, i.e., the limit of dividing the new interval into two intervals with 50% probability each, will define the next useful splitting limit. it means. FIG. 3 also shows that under the same distribution, little bit is reduced in coding / decoding individual values from one interval, since it is exactly the same as the partitioning method described in FIG.

도 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 shows the probability distribution for numbers at normal intervals of 0 to 1, assuming that additional numbers are coded / decoded and two numbers of independent equal probabilities are estimated over the entire value interval. The number to be coded is coded in a predetermined order, for example, first the small number is coded and then the large number is coded. To code the first number, the probabilities do not have the same magnitude over the entire value range of 0-1023. If the small number takes 1022, the large number should take the value 1023, but this does not mean anything except that the probability of the small number taking the value 1022 is relatively low. On the contrary, if the small number has one, the second number, that is, the large number has a value range of 1 to 1023. That is, the probability that the small number will take the value 1 is much greater than the probability that the small number will take the value 1022. The smallest, smallest probability curve at 1023 and the end of the value range, that is, at 1023, is correspondingly obtained. In the normalized value range of 0 to 1, the probability P (x) is largest at zero and smallest at one. Therefore, in order to code / decode two numbers using interval partitioning, the probability distribution according to FIG. 4 should be used for a small number and the probability distribution according to FIG. 3 for a large number. The distribution according to FIG. 4 is converted into a full value range by multiplication with a value range and the distribution according to FIG. 3 is converted by multiplication and a shift from a small value to the remaining interval extending from the upper limit of the value range. The interval limit should always be chosen so that the probability that one number is in two new intervals is equal. In this case, for this division, the first interval limit is shown as in FIG. 3. The 25% line is at x = 0.134, the 50% line is at x = 0.293 and the 75% line is at x = 0.500. Depending on at what interval the number to be coded / decoded is located, 50% lines are selected in the first division step and 25% lines or 75% lines in the second division step.

도 4에는 추가의 수가 더 있다는 가정 하에, 코딩/디코딩될 수에 대한 0 내지 1의 정상 인터벌에서의 확률 분포가 도시된다. 또한, 도 4에서는 상기 수들이 시퀀스로 코딩/디코딩된다고 가정한다. 이 가정하에서, 인터벌 구획화의 인터벌 한계를 결정하기 위해 도 4에서 재차 퍼센트로 표시한 바와 같이 한계가 선택된다. 실질적으로 이 인터벌 한계는, 인터벌을 이등분하지 않으며, 코딩/디코딩될 수를 위한 확률이 인터벌 한계의 오른쪽과 왼쪽에서 각각 50%에 이도록 비대칭으로 설계된다.FIG. 4 shows the probability distribution at normal intervals of 0 to 1 for the number to be coded / decoded, assuming there are more numbers. In addition, assume that the numbers are coded / decoded in a sequence. Under this assumption, the limit is selected as indicated again in percent in FIG. 4 to determine the interval limit of interval partitioning. In practice, this interval limit is designed to be asymmetrical so that the interval is not bisected and the probability for being coded / decoded is 50% on the right and left sides of the interval limit, respectively.

도 5에는 코딩/디코딩될 수에 여전히, 2 개의 추가의 코딩/디코딩될 수가 후속하며, 그 값은 도 5의 확률 분포를 위한 수보다 더 크다는 가정 하에, 상기 정상 인터벌로부터의 하나의 수에 대한, 0 내지 1의 상기 정상 인터벌에서의 확률 분포가 도시된다. 코딩/디코딩될 수에 대한 상기와 같은 가정 하에, 작은 값(즉, 0에 근사한 값)이 1에 근사한 값보다 확률이 더 큰 확률 분포가 생긴다. 이 확률 분포에 기초하여, 여기서 25%, 50%, 75%로 표시된 인터벌 한계가 선택될 수 있으며, 이로써 적은 비트만을 필요로 하는 수가 매우 효과적으로 코딩될 수 있다. 25% 라인은 x=0.0914에, 50% 라인은 x=0.206에, 75% 라인은 x=0.370에 있다.FIG. 5 is still followed by the coded / decoded number, followed by two additional coded / decoded numbers, the value of which is greater than the number for the probability distribution of FIG. 5, for one number from the normal interval. , Probability distribution at the normal interval of 0 to 1 is shown. Under the above assumptions about the number to be coded / decoded, a probability distribution occurs where a small value (i.e., a value close to zero) is more likely than a value close to one. Based on this probability distribution, an interval limit represented by 25%, 50%, 75% can be selected here, so that a number requiring only a few bits can be coded very effectively. The 25% line is at x = 0.0914, the 50% line is at x = 0.206 and the 75% line is at x = 0.370.

4 개의 값이 후속하거나 5 개의 값이 후속한다는 가정 하에, 상응하는 확률 분포가 형성될 수 있다. 그러나 값의 수가 증가함에 따라, 확률 분포가 단지 미미하게 변하는데 즉, 확률 분포는 약 10개의 값의 한계로부터 시작해서 단지 약간(marginally) 변한다.Assuming that four values follow or five values follow, a corresponding probability distribution can be formed. However, as the number of values increases, the probability distribution changes only marginally, that is, the probability distribution changes only marginally starting from the limit of about 10 values.

하나의 값 범위로부터 3 개의 값이 전송되어야 하면, 이 값은 그 크기에 따라 오름차순으로 분류된다. 즉, 상기 값 범위에서 제 1 수는 가장 작은 값이며, 마지막 수는 가장 큰 수이다. 이러한 가정 하에, 도 3, 도 4 및 도 5의 확률 분포가 사용될 수 있다. 제 1 수를 코딩/디코딩하기 위하여, 도 5의 확률 분포는 전체 값 범위에서 사용된다. 이 제 1 수가 코딩/디코딩된 후, 도 4의 확률 분포는 제 1 수보다 큰 제 2 수의 코딩/디코딩을 위해 사용된다. 그러나 가장 작은 수와 값 범위의 상한 사이의 인터벌만이 고려된다. 따라서 도 4의 확률 분포는 이 인터벌에 대해 정규화된다. 도 4의 확률 분포를 고려한 인터벌 구획화를 통해, 상기 인터벌 내에서 제 2 수가 코딩/디코딩된다. 가장 큰 제 3 수를 코딩하기 위해, 도 3에 따른 확률 분포가 상기 인터벌에서 사용되며, 상기 인터벌의 하한은 디코딩된 제 2 수에 의해, 그 상한은 값 범위의 상한에 의해 형성된다. 이 수를 코딩 및 디코딩하기 위해, 도 3에 따른 확률 분포가 사용되며, 이 확률 분포는 결과적으로 항상 나머지 인터벌의 이등분을 의미한다. 이러한 조치를 통해, 3 개의 수를 코딩하기 위해 필요한 비트의 수가 적게 유지된다.If three values must be transmitted from one value range, these values are sorted in ascending order according to their size. That is, in the value range, the first number is the smallest value and the last number is the largest number. Under this assumption, the probability distributions of Figures 3, 4 and 5 can be used. To code / decode the first number, the probability distribution of FIG. 5 is used over the full value range. After this first number is coded / decoded, the probability distribution of FIG. 4 is used for coding / decoding of a second number greater than the first number. However, only the interval between the smallest number and the upper limit of the value range is considered. Thus, the probability distribution of FIG. 4 is normalized for this interval. Through interval partitioning considering the probability distribution of FIG. 4, a second number is coded / decoded within the interval. To code the largest third number, a probability distribution according to FIG. 3 is used in the interval, the lower limit of the interval being formed by the decoded second number, and the upper limit being formed by the upper limit of the value range. To code and decode this number, a probability distribution according to FIG. 3 is used, which in turn means always bisects the remaining intervals. With this measure, the number of bits needed to code three numbers is kept small.

상기 방법은 확률 분포에 근거하기 때문에, 코딩에 필요한 비트의 수는 상기 수의 실제 분포가 상기 확률 분포에 얼마나 일치하는지에 달려 있다. 따라서 특정 수의 세트를 코딩하기 위해 얼마나 많은 비트가 필요한지가 항상 명확하지는 않다. 값 범위에서 수가 확률이 매우 낮은 분포를 갖는 경우, 개별 케이스에서, 본 발명에서의 인터벌의 이등분에 의한 간단한 인터벌 구획화에 비해 더 많은 비트가 필요할 수 있다. 그러나 통계학적으로 평균해볼 때, 20% 내지 30% 정도 감소한 비트율로 매우 큰 절약이 이루어진다.Since the method is based on a probability distribution, the number of bits required for coding depends on how the actual distribution of the number matches the probability distribution. Thus, it is not always clear how many bits are needed to code a specific number of sets. If the number has a very low probability distribution in the value range, in individual cases, more bits may be needed than simple interval partitioning by bisection of the intervals in the present invention. However, statistically averaged, significant savings are achieved with bit rates reduced by 20% to 30%.

도 4 및 도 5는 코딩/디코딩될 더 큰 수들이 후속하는, 코딩/디코딩될 수들에 적용된다. 즉, 코딩/디코딩될 수들의 오름차순 분류에 적용된다. 코딩/디코딩될 수들의 내림차순 분류가 사용되면, 이에 상응하게 확률 분포가 반영된다. 즉, 확률 분포는 각각 값 1에서 가장 크고 값 0에서 가장 작다.4 and 5 apply to numbers to be coded / decoded, followed by larger numbers to be coded / decoded. That is, it applies to ascending classification of the numbers to be coded / decoded. If a descending classification of the numbers to be coded / decoded is used, then the probability distribution is reflected accordingly. In other words, the probability distributions are the largest at value 1 and the smallest at value 0, respectively.

도 3 내지 도 5의 확률 분포는 하나의 값 인터벌 내에서의 값들의 분포에 관한 이론적 고찰에 기초한다. 그러나 실제 값은 유사한 의존성을 나타내는 것이 도시된다. 여기서는, 오디오 데이터의 전송이 예시로서 언급되며, 상기 데이터의 전송은 사인(sinusoidal) 진동의 주파수가 수의 값으로서 전송됨으로써 이루어진다. 실제 오디오 데이터의 평가는, 주파수가 오름차순 또는 내림차순으로 분류된 후, 주파수의 가능한 전체 값 범위에서 특정 주파수의 확률이, 얼마나 많은 추가 주파수가 일렬로 연속되는지에 의존하는 것을 나타낸다. 이 확률 분포는 여기서 고찰한 도 5 및 도 6의 확률 분포와 유사한 형상을 나타낸다. 즉, 오름차순 수의 열로서 주파수를 분류할 때 후속하는 추가 주파수의 수에 의존해서, 더 작은 주파수 값 쪽으로의 확률이 더 큰 주파수 값 쪽으로의 확률보다 큰 것이 도시된다. 실제 오디오 데이터의 평가에 의해 샘플 확률이 계산되며, 이 확률은 실제로, 원래의 신호를 재구성하기 위해 중첩된 사인 진동 주파수를 각각 나타내는 주파수 수의 오름차순을 코딩하기에 바람직한 것으로 입증되었다. The probability distributions of FIGS. 3-5 are based on theoretical considerations regarding the distribution of values within one value interval. However, the actual values are shown to show similar dependencies. Here, the transmission of audio data is referred to as an example, and the transmission of the data is achieved by the frequency of the sinusoidal vibration being transmitted as a numerical value. The evaluation of the actual audio data indicates that after frequencies have been sorted in ascending or descending order, the probability of a particular frequency in the full range of possible values of frequency depends on how many additional frequencies are continuous in a row. This probability distribution shows a shape similar to that of FIGS. 5 and 6 discussed here. That is, depending on the number of additional frequencies that follow when classifying frequencies as a column of ascending numbers, it is shown that the probability toward smaller frequency values is greater than the probability toward larger frequency values. Sample probabilities are calculated by evaluation of the actual audio data, which has proved to be desirable for coding an ascending order of frequency numbers, each representing superimposed sinusoidal frequencies in order to reconstruct the original signal.

이와 같이 측정된 확률 분포를 사용하기 위해서는, 전체 확률 분포가 저장될 필요가 없으며, 오히려 인터벌 구획화를 위한 의미있는 인터벌 한계가 기준 인터벌에 기초하다는 것을 나타내는 것으로 충분하다. 선택된 오디오 데이터로부터 얻은, 처음 5 개의 인터벌 구획화를 위한 인터벌 한계가 이하에서 제시된다. 이는 값 범위를 동일한 확률의 32 개의 범위로 분할하는 인터벌 한계를 위한 31 개의 연속하는 값이다. 언급한 값들은 1024의 값 범위를 기초로 한다. 즉, 하나의 구체적인 값 범위에서 사용하기 위해, 이 수들은 1024로 나눠진 다음, 구체적 사용시 고려한 인터벌에서 상기 값의 수와 각각 곱해진다. 상기 확률 분포를 동일한 확률의 32 개의 범위로 분할하는 분할 한계는 다음과 같다:In order to use the probability distribution thus measured, it is not necessary to store the entire probability distribution, but rather it is sufficient to indicate that a meaningful interval limit for interval partitioning is based on a reference interval. The interval limit for the first five interval partitions, obtained from the selected audio data, is presented below. This is 31 consecutive values for an interval limit that splits the value range into 32 ranges of equal probability. The values mentioned are based on a value range of 1024. That is, for use in one specific value range, these numbers are divided by 1024 and then multiplied by the number of values in the interval considered in the specific use, respectively. The partitioning limit for dividing the probability distribution into 32 ranges of equal probability is as follows:

후속값이 없는 경우,
53, 87, 118, 150, 181, 212, 243, 275, 306, 337, 368, 399
If there is no subsequent value,
53, 87, 118, 150, 181, 212, 243, 275, 306, 337, 368, 399

431, 462, 493, 524, 555, 587, 618, 649, 680, 711, 743, 774431, 462, 493, 524, 555, 587, 618, 649, 680, 711, 743, 774

805, 836, 867, 899, 930, 961, 992805, 836, 867, 899, 930, 961, 992

1 개의 후속값이 있는 경우,If there is one successor

34, 53, 71, 89, 106, 123, 141, 159, 177, 195, 214, 234 34, 53, 71, 89, 106, 123, 141, 159, 177, 195, 214, 234

254, 274, 296, 317, 340, 363, 387, 412, 438, 465, 494, 524 254, 274, 296, 317, 340, 363, 387, 412, 438, 465, 494, 524                 

556, 591, 629, 670, 718, 774, 847556, 591, 629, 670, 718, 774, 847

2 개의 후속값이 있는 경우,If there are two subsequent values,

26, 41, 54, 66, 78, 91, 103, 116, 128, 142, 155, 169 26, 41, 54, 66, 78, 91, 103, 116, 128, 142, 155, 169

184, 199, 214, 231, 247, 265, 284, 303, 324, 346, 369, 394184, 199, 214, 231, 247, 265, 284, 303, 324, 346, 369, 394

422, 452, 485, 524, 570, 627, 709422, 452, 485, 524, 570, 627, 709

3 개의 후속값이 있는 경우,If there are three successors

23, 35, 45, 55, 65, 75, 85, 96, 106, 117, 128, 139 23, 35, 45, 55, 65, 75, 85, 96, 106, 117, 128, 139

151, 164, 177, 190, 204, 219, 235, 252, 270, 290, 311, 334151, 164, 177, 190, 204, 219, 235, 252, 270, 290, 311, 334

360, 389, 422, 461, 508, 571, 665360, 389, 422, 461, 508, 571, 665

4 개의 후속값이 있는 경우,If there are four subsequent values,

20, 30, 39, 48, 56, 64, 73, 81, 90, 99, 108, 118 20, 30, 39, 48, 56, 64, 73, 81, 90, 99, 108, 118

127, 138, 149, 160, 172, 185, 198, 213, 228, 245, 263, 284127, 138, 149, 160, 172, 185, 198, 213, 228, 245, 263, 284

306, 332, 362, 398, 444, 507, 608306, 332, 362, 398, 444, 507, 608

5 개의 후속값이 있는 경우,If there are five subsequent values,

18, 27, 35, 43, 50, 57, 65, 72, 79, 87, 95, 104 18, 27, 35, 43, 50, 57, 65, 72, 79, 87, 95, 104

112, 121, 131, 141, 151, 162, 174, 187, 201, 216, 233, 251112, 121, 131, 141, 151, 162, 174, 187, 201, 216, 233, 251

272, 296, 324, 357, 401, 460, 558272, 296, 324, 357, 401, 460, 558

6 개의 후속값이 있는 경우,If there are six subsequent values,

16, 24, 31, 38, 45, 51, 57, 64, 70, 77, 84, 91 16, 24, 31, 38, 45, 51, 57, 64, 70, 77, 84, 91

99, 107, 115, 123, 132, 142, 152, 163, 175, 188, 203, 219  99, 107, 115, 123, 132, 142, 152, 163, 175, 188, 203, 219                 

237, 257, 282, 311, 349, 403, 493237, 257, 282, 311, 349, 403, 493

7 개의 후속값이 있는 경우,If there are seven subsequent values,

12, 19, 25, 30, 35, 41, 46, 51, 56, 62, 67, 73 12, 19, 25, 30, 35, 41, 46, 51, 56, 62, 67, 73

79, 85, 92, 99, 106, 114, 122, 132, 142, 153, 165, 179 79, 85, 92, 99, 106, 114, 122, 132, 142, 153, 165, 179

195, 213, 236, 264, 301, 355, 452195, 213, 236, 264, 301, 355, 452

상술한 바와 같이 매우 큰 수를 위한 확률 분포는 후속하는 값과 다르지 않으므로, 이 경우들에서는 항상 7 개의 후속하는 값을 위한 확률 분포가 사용될 수 있다(이는 적어도 오디오 데이터에서 유효함). 또한 오디오 데이터에서는, 확률 분포를 고려한 상태에서 처음 5 개의 인터벌 구획화가 이루어질 때, 확률 분포를 더 고려할 때 추가의 절약(saving)이 낮은 것으로 나타났다. 따라서, 오디오 데이터에 있어서는, 확률 분포의 고려 하에 처음 5 개의 인터벌 구획화만이 이루어지고, 경우에 따라서 나머지 인터벌이 동일한 크기의 2 개의 새로운 부분 인터벌로 분할됨으로써 간단히 남아 있는 추가의 인터벌 구획화가 이루어지는 것만으로, 충분한 것으로 나타났다.As described above, the probability distribution for a very large number does not differ from the subsequent value, so in these cases the probability distribution for seven subsequent values can always be used (which is at least valid in audio data). In addition, in the audio data, when the first five interval partitioning is performed in consideration of the probability distribution, additional savings are lowered when the probability distribution is further considered. Therefore, in the audio data, only the first five interval partitions are made under consideration of probability distribution, and in some cases, the remaining intervals are divided into two new partial intervals of the same size, so that only additional interval partitioning remaining is performed. Appeared to be sufficient.

추가의 수가 뒤따른다는 가정 하에, 수 330의 코딩에 기초해 테이블의 사용이 설명된다.Under the assumption that an additional number follows, the use of the table is described based on the coding of the number 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)만을 포함할 때까지 이루어진다.Wherein the number 330 is selected from an interval of 0 to 1023. Looking at the table, the number 317 is set as the first partition limit. This means that the probability that the number to be coded is below the limit is exactly the same as the probability that it is above the limit. Since the relative number 330 is above this limit, the first code bit is one. For the remaining intervals from 318 to 1023, the next split is made at 524, as shown in the table. Thus, the second code bit is zero. The next division is made at 412 (code bit = 0), ie the coded value is located at an interval of 318 to 412. The next division is made at 363 (code bit 0), ie the number that can be coded is limited to an interval of 318 to 363. The next partition (340 in the table) limits the range of numbers that can be coded to range from 318 to 340. Subsequent coding is simply done by dividing the remaining intervals. In addition, the division of the intervals 318 to 340 is made at the limit 329 = (318 + 340) / 2, so that the code bit is one. As a result, the remaining intervals of 330 to 340 are divided again centrally in subsequent cyclic steps, until the remaining intervals generated contain only one number to be coded (here 330).

상기와 같이 저장된 테이블에 의해, 매우 간단한 수단으로, 코딩을 위해 필요한 비트를 감소시킬 수 있다. 여기에 필요한 메모리양은 인터벌에 대한 개별 한계만이 저장됨으로써 적아지며, 코딩 스테이션(1) 뿐만 아니라 디코딩 스테이션(2)도 상기 방법을 사용하기 위해 큰 노력을 하지 않아도 된다.The table stored as above allows, by very simple means, to reduce the bits required for coding. The amount of memory required for this is reduced by storing only the individual limits for the intervals, and the coding station 1 as well as the decoding station 2 need not make a great effort to use the method.

상기 방법은 값 범위로부터 선택된 수에 의해 설명된다. 수들 대신에, 배치된 어느 유형의 데이터도 사용될 수 있으며, 이 데이터는 시퀀스로 배치될 수 있다. 이와 같은 데이터는 하나의 값 범위 내의 해당 수들로 문제 없이 변환되므로, 상기 방법은 어느 유형의 데이터에도 적합하다. 또한 개별 수들 대신에 범위가 사용될 수 있으며 즉, 수 범위는 간단히 코딩될 수 있다.The method is described by a number selected from a range of values. Instead of numbers, any type of data placed may be used, which may be placed in sequence. Since such data is converted into corresponding numbers within one value range without problem, the method is suitable for any type of data. Also, a range can be used instead of individual numbers, that is, the number range can be simply coded.

상기 방법은 항상 개별 수가 확실하게 검출될 때까지 실행된다. 또한 상기 방법은, 나머지 인터벌이 작아서 각각의 적용에서 받아들여질 수 있을 때 중단할 수도 있다. 이로 인하여 코딩에 필요한 비트를 더욱 감소시킬 수 있기 때문에, 매우 간단한 방식으로 비트율이 다양하게 조정될 수 있다.The method is always executed until an individual number is reliably detected. The method may also abort when the remaining interval is small and can be accepted in each application. This can further reduce the bits required for coding, so that the bit rate can be varied in a very simple manner.

Claims (11)

값 범위로부터 목표 범위를 코딩/디코딩하기 위한 방법에 있어서, 코딩될 상기 목표 범위에 대한 코드 비트들이 찾아질 때까지 또는 상기 코드 비트를 이용해서, 디코딩될 상기 목표 범위가 찾아질 때까지, 상기 목표 범위에 대하여 코딩/디코딩 스텝에서 순환 스텝이 반복되며, 코딩/디코딩될 상기 목표 범위가 위치되는 값 범위의 인터벌은 상기 순환 스텝에서 2개의 새로운 인터벌로 분할되고, 단일 비트는 코딩/디코딩될 상기 목표 범위가 위치되는 상기 새로운 인터벌을 시그널링하기 위해 사용되며, 이와 같이 시그널링된 새로운 인터벌은 다음 순환 스텝을 위한 인터벌로서 사용되고, 상기 인터벌이 최소 크기에 도달하지 않았을 때 코딩될 목표 범위 또는 디코딩될 목표 범위를 위한 상기 코드 비트가 찾아지며, 적어도 하나의 순환 스텝은 인터벌 내의 상기 목표 범위에 대한 확률 분포를 기초로 하며, 상기 새로운 인터벌들은 상기 확률 분포에 기초하여 선택되는 것을 특징으로 하는 코딩/디코딩 방법. CLAIMS 1. A method for coding / decoding a target range from a value range, the method comprising: until the code bits for the target range to be coded are found or using the code bits until the target range to be decoded is found. The cyclic step is repeated in the coding / decoding step for the range, the interval of the value range in which the target range to be coded / decoded is located is divided into two new intervals in the cyclic step, and a single bit is the target to be coded / decoded. A range is used to signal the new interval at which the range is located, and this signaled new interval is used as the interval for the next cyclical step, and when the interval has not reached the minimum size, the target range to be coded or the target range to be decoded. The code bits for the at least one cyclic step are found From, based on the probability distribution for the target range, the new interval will coding / decoding method, characterized in that is selected based on the probability distribution. 제 1 항에 있어서, 상기 목표 범위로서, 개별 수가 사용되는 것을 특징으로 하는 코딩/디코딩 방법.A coding / decoding method according to claim 1, wherein an individual number is used as said target range. 제 1 항 또는 제 2 항에 있어서, 각각의 순환 스텝에서 상기 인터벌은, 코딩/디코딩될 상기 목표 범위가 동일한 확률로 새로운 2 개의 인터벌의 각각에 위치하도록 선택되는 것을 특징으로 하는 코딩/디코딩 방법.3. A method according to claim 1 or 2, wherein in each cyclic step the interval is selected such that the target range to be coded / decoded is located in each of the two new intervals with equal probability. 제 1 항 또는 제 2 항에 있어서, 복수의 상기 목표 범위가 코딩/디코딩되며, 상기 목표 범위의 수는 값의 수로 주어지고, 상기 코딩/디코딩 스텝은 값의 수의 모든 상기 목표 범위가 코딩/디코딩될 때까지 반복되는 것을 특징으로 하는 코딩/디코딩 방법.3. A method according to claim 1 or 2, wherein a plurality of said target ranges are coded / decoded, the number of said target ranges is given as a number of values, and wherein said coding / decoding step is characterized in that all said target ranges of number of values are coded / decoded. Coding / decoding method which is repeated until decoded. 제 4 항에 있어서, 상기 확률 분포를 검출하기 위해, 코딩/디코딩될 상기 목표 범위의 시퀀스가 결정되며, 하나의 목표 범위의 확률 분포는 얼마나 많은 목표 범위들이 상기 시퀀스 내에서 후속하는지에 의존하는 것을 특징으로 하는 코딩/디코딩 방법.5. The method of claim 4, wherein to detect the probability distribution, a sequence of the target ranges to be coded / decoded is determined, and the probability distribution of one target range depends on how many target ranges follow in the sequence. A coding / decoding method characterized by the above. 제 5 항에 있어서, 상기 코딩/디코딩될 목표 범위는 오름차순 또는 내림차순을 형성하는 것을 특징으로 하는 코딩/디코딩 방법.6. The method of claim 5, wherein the target range to be coded / decoded forms an ascending or descending order. 제 5 항에 있어서, 복수의 확률 분포가 저장되며, 하나의 코딩/디코딩 스텝을 위한 확률 분포의 선택은 얼마나 많은 상기 목표 범위들이 상기 시퀀스 내에서 후속하는지에 의존하는 것을 특징으로 하는 코딩/디코딩 방법.6. A method according to claim 5, wherein a plurality of probability distributions are stored and the selection of the probability distribution for one coding / decoding step depends on how many of the target ranges follow in the sequence. . 제 7 항에 있어서, 상기 저장된 확률 분포는 데이터의 측정값으로부터 검출되는 것을 특징으로 하는 코딩/디코딩 방법.8. The method of claim 7, wherein the stored probability distribution is detected from a measurement of data. 제 7 항에 있어서, 상기 저장된 확률 분포가 계산되는 것을 특징으로 하는 코딩/디코딩 방법.8. The coding / decoding method of claim 7, wherein the stored probability distribution is calculated. 제 1 항 또는 제 2 항에 있어서, 상기 코딩/디코딩될 수는 정수인 것을 특징으로 하는 코딩/디코딩 방법.3. Method according to claim 1 or 2, characterized in that the number of coded / decoded is an integer. 값 범위로부터 목표 범위를 코딩/디코딩하기 위한 코더/디코더에 있어서, 코딩될 상기 목표 범위를 위한 코드 비트를 찾을 때까지 또는 상기 코드 비트를 이용해서, 디코딩될 상기 목표 범위를 찾을 때까지, 상기 목표 범위를 위한 코딩/디코딩 스텝에서 순환 스텝을 반복하기 위한 수단; 상기 순환 스텝에서, 코딩/디코딩될 상기 목표 범위가 위치하는 값 범위의 인터벌을 2 개의 새로운 인터벌로 분할하기 위한 수단; 코딩/디코딩될 상기 목표 범위가 상기 새로운 인터벌들 중 어디에 위치하는지 단일 비트를 사용하여 표시하기 위한 수단; 상기 단일 비트로 표시된 새로운 인터벌을 다음 순환 스텝을 위한 인터벌로서 사용하기 위한 수단; 및 코딩될 상기 목표 범위 또는 디코딩될 상기 목표 범위를 위한 상기 코드 비트가 찾아졌음을 설정하는 것은 상기 인터벌이 최소 크기를 미달할 때 결정하기 위한 수단; 인터벌 내의 상기 목표 범위에 대한 확률 분포를 사용하여 적어도 하나의 순환 스텝에서 2개의 새로운 인터벌들을 선택하기 위한 수단을 포함하는, 코더/디코더. A coder / decoder for coding / decoding a target range from a value range, wherein the target is either until a code bit for the target range to be coded is found or the code bit is used to find the target range to be decoded. Means for repeating a cyclic step in a coding / decoding step for a range; Means for dividing an interval of a value range in which the target range to be coded / decoded is located into two new intervals in the cyclic step; Means for indicating using a single bit where the target range to be coded / decoded is located among the new intervals; Means for using the new interval indicated by the single bit as an interval for a next cyclic step; And setting that the code bit for the target range to be coded or the target range to be decoded has been found comprises means for determining when the interval falls below a minimum size; And means for selecting two new intervals in at least one cyclic step using a probability distribution over the target range within the interval.
KR1020017012428A 1999-03-31 2000-02-24 Method and device for coding/decoding KR100752066B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19914645.5 1999-03-31
DE19914645A DE19914645A1 (en) 1999-03-31 1999-03-31 Coding / decoding method and apparatus

Publications (2)

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

Family

ID=7903103

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017012428A KR100752066B1 (en) 1999-03-31 2000-02-24 Method and device for coding/decoding

Country Status (6)

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

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10149332A1 (en) 2001-10-06 2003-04-30 Bosch Gmbh Robert Method for transmitting data from at least one sensor to a control device
CN108965870B (en) * 2010-09-10 2022-11-01 交互数字麦迪逊专利控股公司 Encoding links to reference blocks in video compression by image content based search and ranking
DE102022200893A1 (en) * 2022-01-27 2023-07-27 Robert Bosch Gesellschaft mit beschränkter Haftung Method of encoding and decoding data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60106228A (en) * 1983-11-15 1985-06-11 Nec Corp System and circuit for nonlinear quantization and encoding
KR910021054A (en) * 1990-05-25 1991-12-20 오오가 노리오 Digital signal encoding device
KR940016170A (en) * 1992-12-01 1994-07-22 김광호 Data coding technology for digital video tape recorder suitable for high speed image playback

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 (en) * 1997-01-24 2002-11-25 京セラ株式会社 Code generation method and coding method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60106228A (en) * 1983-11-15 1985-06-11 Nec Corp System and circuit for nonlinear quantization and encoding
KR910021054A (en) * 1990-05-25 1991-12-20 오오가 노리오 Digital signal encoding device
KR940016170A (en) * 1992-12-01 1994-07-22 김광호 Data coding technology for digital video tape recorder suitable for high speed image playback

Also Published As

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

Similar Documents

Publication Publication Date Title
US4754336A (en) Picture data communication system with scanning pattern change
CN108833050B (en) Coding method, interpretation method, device and equipment
CN101233571B (en) Method and device for processing audio signal
KR970013788A (en) Variable length coded data transmission device
RU95119387A (en) METHOD OF GROUP SIGNAL CODING AND DEVICE FOR IMPLEMENTING THE METHOD
ATE75358T1 (en) HIGH EFFICIENCY ENCODER.
KR930020998A (en) Vector coding method of video transform coefficients and device thereof
KR960703296A (en) Method and apparatus for decoding orthogonally encoded data signals (RECEIVER FOR A DIRECT SEQUENCE SPREAD SPECTRUM ORTHOGONALLY ENCODED SIGNAL EMPLOYING RAKE PRINCIPLE)
RU96101998A (en) METHOD AND DEVICE FOR DETERMINING AT THE RECEIVER OF THE SYSTEM OF COMMUNICATION OF THE SPEED OF TRANSMISSION OF DATA TRANSMITTED TO VARIABLE SPEED
KR19980703104A (en) Method and apparatus for data encoding and communication over noisy media
KR960036647A (en) Bit Plan Compression Transmission Device Using Scanning
RU2006116878A (en) METHOD AND SYSTEM FOR EXTERNAL TRANSMISSION POWER CONTROL CIRCUIT
CN115276662B (en) Method for efficiently compressing and transmitting micro-service user information
KR880009502A (en) Method and apparatus for transmitting information
KR100752066B1 (en) Method and device for coding/decoding
EP0364261A3 (en) Highly efficient coding apparatus
US7398451B2 (en) Error correction process and mechanism
US5933464A (en) Bitwise soft decision symbol decoder
US7110466B1 (en) Variable rate message coding
US6092234A (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
KR100841311B1 (en) Method of image compression for video decoding based on motion compensation
US20060158357A1 (en) Text compression method for multi-level display
CA2753016A1 (en) Coder and decoder, coding method and decoding method, and system comprising a coder and a decoder
CA1226068A (en) Digital quantizer

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