KR0183778B1 - Bit allocation compatible with dolby a-3 encoding algorithm - Google Patents

Bit allocation compatible with dolby a-3 encoding algorithm Download PDF

Info

Publication number
KR0183778B1
KR0183778B1 KR1019950052227A KR19950052227A KR0183778B1 KR 0183778 B1 KR0183778 B1 KR 0183778B1 KR 1019950052227 A KR1019950052227 A KR 1019950052227A KR 19950052227 A KR19950052227 A KR 19950052227A KR 0183778 B1 KR0183778 B1 KR 0183778B1
Authority
KR
South Korea
Prior art keywords
value
bit allocation
fsnroffst
channel
flag
Prior art date
Application number
KR1019950052227A
Other languages
Korean (ko)
Other versions
KR970050783A (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 김광호
Priority to KR1019950052227A priority Critical patent/KR0183778B1/en
Publication of KR970050783A publication Critical patent/KR970050783A/en
Application granted granted Critical
Publication of KR0183778B1 publication Critical patent/KR0183778B1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 돌비 AC-3 인코딩 알고리즘과 호환하는 비트할당방법을 개시한다.The present invention discloses a bit allocation method compatible with the Dolby AC-3 encoding algorithm.

본 발명은 마스킹값과 복수개 채널의 파라메타(csnroffst, 1fesnroffst, fesnroffst, cp1snroffst)값을 비교하여 비트할당을 수행하며, 비트할당을 종결하는 플래그(End_Flag)가 '1'이면 종료하는 제1과정; 비트할당을 종결하는 플래그(End_Flag)가 '1'이 아닌 경우 데이타의 크기가 큰 채널의 파라메타(csnroffst)값과 시스템의 최대값(MAXCSNROFFST)을 사용하여 파라메타(csnroffst)값을 변화시킨 후 제1과정을 수행하는 제2과정; 및 제2과정에서 비트할당을 수행한 후 남는 비트가 있으면 데이타의 크기가 작은 채널의 파라메타(fsnroffst)값과 시스템의 최대값(MAXFSNROFFST)을 사용하여 파라메타(fsnroffst)값을 변화시킨 후 제1과정을 수행하는 제3과정을 포함함을 특징으로 한다.The present invention provides a method of performing bit allocation by comparing a masking value with values of parameters of a plurality of channels (csnroffst, 1fesnroffst, fesnroffst, and cp1snroffst), and ending the bit allocation when the flag End_Flag is '1'; If the flag (End_Flag) for terminating bit allocation is not '1', the first parameter is changed after changing the parameter value (csnroffst) using the parameter value (csnroffst) of the channel with a large data size and the maximum value (MAXCSNROFFST) of the system. A second process of performing a process; And if the bit remaining after the bit allocation is performed in the second process, the parameter (fsnroffst) is changed by using the parameter (fsnroffst) of the channel having the small data size and the maximum value (MAXFSNROFFST) of the system. It characterized in that it comprises a third process of performing.

따라서, 본 발명은 돌비 AC-3 오디오 알고리즘의 비트할당장치에서 마스킹 커브값을 이용하여 인코더의 파라미터 값을 채널의 종류에 따라 변화시키므로서 최적의 비트할당을 수행할 수 있다.Accordingly, the present invention can perform optimal bit allocation by changing a parameter value of an encoder according to a channel type using a masking curve value in a bit allocation apparatus of a Dolby AC-3 audio algorithm.

Description

돌비 AC-3 인코딩 알고리즘과 호환하는 비트할당방법Bit allocation method compatible with Dolby AC-3 encoding algorithm

제1도는 돌비 AC-3 인코딩 알고리즘의 흐름도.1 is a flow diagram of a Dolby AC-3 encoding algorithm.

제2도는 제1도에 도시된 비트할당(Core Bit Allocation)의 상세 흐름도.FIG. 2 is a detailed flowchart of Core Bit Allocation shown in FIG. 1. FIG.

제3a도와 b도는 본 발명에 의한 돌비 AC-3 인코딩 알고리즘과 호환하는 비트할당을 나타낸 흐름도.3a and b are flowcharts showing bit allocation compatible with the Dolby AC-3 encoding algorithm according to the present invention.

본 발명은 돌비 AC-3 인코딩 알고리즘과 호환하는 비트할당방법에 관한 것으로서 특히, 돌비 AC-3 오디오 알고리즘을 위한 비트할당장치에서 마스킹 커브값을 이용하여 인코더의 파라미터 값을 변화시켜 최적의 비트할당을 이루는 돌비 AC-3 인코딩 알고리즘과 호환하는 비트할당방법에 관한 것이다.The present invention relates to a bit allocation method compatible with the Dolby AC-3 encoding algorithm. In particular, in the bit allocation apparatus for the Dolby AC-3 audio algorithm, the parameter value of the encoder is changed using a masking curve value to obtain an optimal bit allocation. A bit allocation method compatible with Dolby AC-3 encoding algorithm is achieved.

돌비(Dolby) 연구소에서 발표한 AC3 오디오 알고리즘은 디지탈 비디오 디스크(DVD)와 ATV에서 채용되고 있으며, 기존방식에서 한 채널의 디지탈 오디오 신호가 필요로 하는 비트 양보다 훨씬 작은 양으로도 최대 6채널의 오디오 신호를 전송할 수 있다. 현재 이 AC-3 오디오 알고리즘은 점차로 그 응용범위가 확대되고 있으며, 앞으로 디지탈 비디오 디스크(DVD)와 ATV 등의 많은 매체에 채용될 예정이다.The AC3 audio algorithm, announced by Dolby Laboratories, is used in digital video discs (DVDs) and ATVs, and up to six channels can be used in conventional methods, with much less than the amount of bits required by one channel of the digital audio signal. Audio signal can be transmitted. Currently, the AC-3 audio algorithm is gradually expanding its application, and will be adopted in many media such as digital video disc (DVD) and ATV.

MPEG을 비롯한 코덱(CODEC)은 인코더에서 비트할당을 한 후 그 결과를 전송하여 디코더에서는 비트할당을 위한 계산을 따로 하지 않는다. 이에 반하여, 돌비 AC-3에서는 인코더와 디코더 모두에서 비트할당을 위한 계산을 하며, 비트할당을 위한 계산에 필요한 파라메타를 인코더에서 정하여 디코더에 전송한다. 그러나, AC-3 알고리즘은 디코더만이 공개되어 있으며, 인코더의 비트 할당 루틴은 공개되어 있지 않다.Codecs, including MPEG, perform bit allocation on the encoder and then transmit the result so that the decoder does not perform any calculation for bit allocation. In contrast, in Dolby AC-3, both the encoder and the decoder perform calculation for bit allocation, and parameters necessary for the calculation for bit allocation are determined by the encoder and transmitted to the decoder. However, in the AC-3 algorithm, only the decoder is disclosed, and the bit allocation routine of the encoder is not disclosed.

따라서, 본 발명은 돌비 AC-3 오디오 알고리즘을 위한 비트할당장치에서 마스킹 커브값을 이용하여 인코더의 파라미터 값을 변화시켜가면서 최적의 비트할당을 수행하는 돌비 AC-3 인코딩 알고리즘과 호환하는 비트할당방법을 제공하는 데에 그 목적이 있다.Accordingly, the present invention provides a bit allocation method compatible with Dolby AC-3 encoding algorithm that performs optimal bit allocation while changing parameter values of an encoder using masking curve values in a bit allocation apparatus for Dolby AC-3 audio algorithm. The purpose is to provide.

상기 목적을 달성하기 위하여 본 발명에 의한 돌비 AC-3 인코딩 알고리즘과 호환하는 비트할당방법은, 마스킹 값과 복수개 채널의 파라메타(csnroffst, 1fesnroffst, fesnroffst, cp1snroffst)값을 비교하여 비트할당을 수행하며, 비트할당을 종결하는 플래그(End_Flag)가 '1'이면 종료하는 제1과정; 비트할당을 종결하는 플래그(End_Flag)가 '1'이 아닌 경우 데이타의 크기가 큰 채널의 파라메타(csnroffst)값과 시스템의 최대값(MAXCSNROFFST)을 사용하여 파라메타(csnroffst)값을 변화시킨 후 제1과정을 수행하는 제2과정; 및 제2과정에서 비트할당을 수행한 후 남는 비트가 있으면 데이타의 크기가 작은 채널의 파라메타(fsnroffst)값과 시스템의 최대값(MAXFSNROFFST)을 사용하여 파라메타(fsnroffst)값을 변화시킨 후 제1과정을 수행하는 제3과정을 포함함을 특징으로 한다.In order to achieve the above object, a bit allocation method compatible with the Dolby AC-3 encoding algorithm according to the present invention performs bit allocation by comparing a masking value with a parameter value of a plurality of channels (csnroffst, 1fesnroffst, fesnroffst, cp1snroffst), Terminating the bit allocation if the flag End_Flag is '1'; If the flag (End_Flag) for terminating bit allocation is not '1', the first parameter is changed after changing the parameter value (csnroffst) using the parameter value (csnroffst) of the channel with a large data size and the maximum value (MAXCSNROFFST) of the system. A second process of performing a process; And if the bit remaining after the bit allocation is performed in the second process, the parameter (fsnroffst) is changed by using the parameter (fsnroffst) of the channel having the small data size and the maximum value (MAXFSNROFFST) of the system. It characterized in that it comprises a third process of performing.

돌비 AC-3 인코딩 알고리즘과 호환하는 비트할당방법에 있어서, 제1과정은 소정의 파라메타값과 마스킹값을 비교하여 비트할당을 수행하는 제1단계; 제1단계에서 할당된 비트의 총량을 계산하는 제2단계; 및 비트할당을 종결하는 플래그(End_Flag)가 '1'인지의 여부를 판단하는 제3단계를 포함함이 바람직하다.A bit allocation method compatible with the Dolby AC-3 encoding algorithm, the first process comprising: a first step of performing bit allocation by comparing a predetermined parameter value and a masking value; A second step of calculating the total amount of bits allocated in the first step; And a third step of determining whether the flag End_Flag for terminating bit allocation is '1'.

또한, 제2과정은 할당된 비트의 총량이 사용될 수 있는 비트의 총량보다 많은지 여부를 판단하는 제1단계; 할당된 비트의 총량이 사용할 수 있는 비트의 총량보다 많지 않을 경우, C_End_Flag가 '1'이 아니고 csnroffst값과 MAXCSNROFFST값이 같지 않으면 C_End_Flag를 증가시킨 후 제1과정을 수행하는 제2단계; 할당된 비트의 총량이 사용할 수 있는 비트의 총량보다 많지 않을 경우, C_End_Flag가 '1'이 아니고 csnroffst값과 MAXDSNROFFST값이 같으면 C_End_Flag를 '1'로 한 후 상기 제3과정을 수행하는 제3단계; 할당된 비트의 총량이 사용할 수 있는 비트의 총량보다 많지 않을 경우, C_End_Flag가 '1'이면 상기 제3과정을 수행하는 제4단계; 할당된 비트의 총량이 사용할 수 있는 비트의 총량보다 많을 경우, C_End_Flag가 '1'이 아니면 csnroffst값을 감소시키고 C_End_Flag를 '1'로 한 후 상기 제3과정을 수행하는 제5단계; 및 할당된 비트의 총량이 사용할 수 있는 비트의 총량보다 많을 경우, C_End_Flag가 '1'이면 마지막에 증가시킨 fsnroffst 계열값을 감소시킨 후 _End_Flag를 '1'로 하여 제1과정을 수행하는 제6단계를 포함함이 바람직하다.In addition, the second process includes a first step of determining whether the total amount of allocated bits is greater than the total amount of bits that can be used; Performing a first process after increasing C_End_Flag if C_End_Flag is not '1' and the csnroffst value and the MAXCSNROFFST value are not equal to the total amount of allocated bits, if the total amount of allocated bits is not greater than the total amount of available bits; A third step of performing the third process after setting C_End_Flag to '1' if C_End_Flag is not '1' and the csnroffst value and the MAXDSNROFFST value are the same if the total amount of allocated bits is not greater than the total amount of available bits; A fourth step of performing the third process if C_End_Flag is '1' when the total amount of allocated bits is not greater than the total amount of available bits; If the total amount of allocated bits is greater than the total number of available bits, if the C_End_Flag is not '1', reducing the csnroffst value, setting C_End_Flag to '1', and then performing the third process; And when the total amount of allocated bits is greater than the total number of available bits, if C_End_Flag is '1', a sixth step of performing a first process by decreasing the last increased fsnroffst sequence value and setting _End_Flag to '1'; It is preferable to include.

또한, 제3과정은 LFE채널이 있는 경우 1fesnroffst값이 MAXSNROFFST값과 같지 않고 fsnroffst값의 최대값보다 크지 않으면 fsnroffst값을 증가시킨 후 제1과정을 수행하는 제1단계; LFE채널이 없고 커플링 채널이 없는 경우 모든 fsnroffst값이 MAXFSNROFFST값과 같으면 비트할당을 종료하고, 모든 fsnroffst값이 MAXFSNROFFST값과 같지 않으면 가장 작은 fsnroffst값 중에서 인덱스값이 가장 작은 채널의 fsnroffst값을 증가시킨 후 제1과정을 수행하는 제2단계; 및 LFE채널이 없고 커플링 채널이 있는 경우, cp1snroffst값이 fsnroffst값의 최소값보다 작으면 cp1snroffst값을 증가시킨 후 제1과정을 수행함이 바람직하다.In addition, the third process is a first step of performing a first process after increasing the fsnroffst value if the 1fesnroffst value is not equal to the MAXSNROFFST value and not greater than the maximum value of the fsnroffst value when there is an LFE channel; If there is no LFE channel and there is no coupling channel, bit allocation is terminated when all fsnroffst values are equal to MAXFSNROFFST value.If all fsnroffst values are not equal to MAXFSNROFFST value, the fsnroffst value of the channel with the smallest index value among the smallest fsnroffst values is increased. A second step of performing a first process afterwards; If there is no LFE channel and there is a coupling channel, if the cp1snroffst value is smaller than the minimum value of the fsnroffst value, it is preferable to increase the cp1snroffst value and then perform the first process.

이하, 첨부한 도면을 참조하여 본 발명에 대하여 상세히 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described in detail with respect to the present invention.

제1도는 돌비 AC-3 인코딩 알고리즘의 흐름도로서, 그 설명을 하면 다음과 같다.Figure 1 is a flow diagram of the Dolby AC-3 encoding algorithm, which is described as follows.

먼저, 다채널의 PCM 데이타가 입력되면 입력된 신호에 급격한 변화가 있는지 여부를 TRANSIENT DETECTION에서 분석한 후, 그 결과에 따라서 FORWARD TRANSFORM에서 TRANSFORM SIZE를 변화시킨다. FORWARD TRANSFORM에서는 시간영역의 다채널 신호를 주파수 영역의 다채널 신호로 바꾸어 주며, COUPLING STRATEGE에서는 주파수 영역에서 각 채널을 성분을 조사하여 FORM COUPLING CHANNEL에서 비슷한 신호를 서로 묶어준다. 또한, REMATRIX에서는 필요에 따라서 주어진 신호를 서로 섞어주고, EXTRACT EXPONENTS에서는 REMATRIX의 결과에서 EXPONENT부분만을 따로 분리해낸다. EXPONENT STRATEGE는 분리된 EXPONENT값들의 분포를 보고 EXPONENT값을 어떻게 코딩할 것인가를 정하고, DITHER STRATEGE는 필요에 따라 DITHER를 첨가한다. 상기에서의 결과를 이용하여 EXPONENT를 코딩하는 부분이 NORMALIZE MANTISSA이다.First, when PCM data of multi-channel is input, it analyzes whether there is a drastic change in the input signal in the TRANSIENT DETECTION, and then changes the transformer size in the FORWARD TRANSFORM according to the result. In FORWARD TRANSFORM, multi-channel signals in the time domain are converted into multi-channel signals in the frequency domain. In COUPLING STRATEGE, similar signals are tied together in the FORM COUPLING CHANNEL by examining the components of each channel in the frequency domain. In addition, REMATRIX mixes the given signals as needed, and EXTRACT EXPONENTS separates only the EXPONENT part from the result of REMATRIX. EXPONENT STRATEGE looks at the distribution of separated EXPONENT values and determines how to code EXPONENT values. DITHER STRATEGE adds DITHER as needed. Using the above result, the part coding the EXPONENT is NORMALIZE MANTISSA.

CORE BIT ALLOCATION에서는 EXPONENT ENCODING을 하고 남은 비트를 사용하여 MANTISSA를 코딩하는 경우 각 채널의 각 주파수 밴드에 몇 비트씩을 사용하는 것이 가장 효과적인 것인가를 결정한다. 그리고, 이 결과를 이용하여 MANTISSA를 QUANTIZE MANTISSA에서 ENCODING을 하고 상기에서 코딩한 EXPONENT값들과 기타 정보들을 합하여 AC-3 프레임을 형성한다. 본 발명에서는 CORE BIT ALLOCATION에서의 비트할당을 최적으로 수행하는 방법을 제시한다.In CORE BIT ALLOCATION, if you use EXPONENT ENCODING and code MANTISSA using the remaining bits, it determines how many bits are best used for each frequency band of each channel. Using this result, the MANTISSA is ENCODING in the QUANTIZE MANTISSA, and the EXPONENT values and other information coded above are combined to form an AC-3 frame. The present invention proposes a method for optimally performing bit allocation in CORE BIT ALLOCATION.

제1도에서 보면 exponent 값을 계산하는 부분이 있다. 이 부분은 필터를 통과한 주파수 영역의 값을 mantissa와 exponent로 나눈 후 exponent를 떼어낸다. exponent값을 보면 각 값들의 크기 분포를 알 수가 있으며, 이 exponent값을 이용하여 제2도와 같은 비트할당이 이루어진다.In Figure 1, there is a part that calculates an exponent value. This part divides the value of the frequency domain passing through the filter by mantissa and exponent and then removes the exponent. Looking at the exponent value, it is possible to know the size distribution of each value, and bit allocation is performed as shown in FIG. 2 by using the exponent value.

제2도는 제1도에 도시된 비트할당(Core Bit Allocation)의 상세 흐름도로서, 개략적으로 설명하면 다음과 같다.FIG. 2 is a detailed flowchart of Core Bit Allocation shown in FIG. 1 and will be described below.

각 채널의 파라메타를 초기화(1)한 후 exponent값을 이용하여 각 주파수 영역의 값들이 어떤 크기 구조를 가지고 있는지를 PSD값을 계산함으로서 알아낸다. (2) 그 후 사람의 귀가 일정한 밴드(Band)를 기준으로 듣는다는 것을 감안하여 각 PSD 값을 합산하여 밴드단위의 PSD값을 구하게 된다. (3) 이 밴드단위의 PSD값에서 Exitation 함수를 계산하는데(4), Exitation 함수는 현재 들어오는 밴드단위의 PSD값에 프로토타입(Protype)의 마스킹 커브를 중첩시켜 밴드단위의 PSD 값에 의한 전체 주파수 범위에서의 마스킹 커브를 구하며, 이 결과와 사람의 청각 문턱값을 비교하여 최종의 마스킹 커브를 구한다. (5) 그 후 최종 마스킹 커브값을 이용하여 snroffst 값을 변화시키면서 최적의 비트할당을 한다. (6,7)After initializing the parameters of each channel (1), the exponent value is used to calculate the PSD value to determine what size structure the values of each frequency domain have. (2) After that, considering that the human ear listens based on a certain band, each PSD value is summed to obtain a PSD value in units of bands. (3) The exit function is calculated from the PSD value of the band unit. (4) The exitation function superimposes the prototype masking curve on the PSD value of the current band unit. The masking curve in the range is obtained and the final masking curve is obtained by comparing the result with the hearing threshold of the person. (5) Then, optimal bit allocation is performed while changing the snroffst value using the final masking curve value. (6,7)

제3a도 및 제3b도는 본 발명에 의한 돌비 AC-3 인코딩 알고리즘과 호환하는 비트할당방법의 흐름도로서, 마스킹값과 복수개 채널의 파라메타(csnroffst, 1fesnroffst, fesnroffst, cp1snroffst)값을 비교하여 비트할당을 수행하며, 비트할당을 종결하는 플래그(End_Flag)가 '1'이면 종료하는 제1과정; 비트할당을 종결하는 플래그(End_Flag)가 '1'이 아닌 경우 데이타의 크기가 큰 채널의 파라메타(csnroffst)값과 시스템의 최대값(MAXCSNROFFST)을 사용하여 파라메타(csnroffst)값을 변화시킨 후 제1과정을 수행하는 제2과정; 및 제2과정에서 비트할당을 수행한 후 남는 비트가 있으면 데이타의 크기가 작은 채널의 파라메타(fsnroffst)값과 시스템의 최대값(MAXFSNROFFST)을 사용하여 파라메타(fsnroffst)값을 변화시킨 후 제1과정을 수행하는 제3과정을 포함한다.3A and 3B are a flowchart of a bit allocation method compatible with the Dolby AC-3 encoding algorithm according to the present invention, in which bit allocation is performed by comparing a masking value with a plurality of channel parameter values (csnroffst, 1fesnroffst, fesnroffst, and cp1snroffst). Performing a step of terminating the bit allocation if the flag End_Flag is '1'; If the flag (End_Flag) for terminating bit allocation is not '1', the first parameter is changed after changing the parameter value (csnroffst) using the parameter value (csnroffst) of the channel with a large data size and the maximum value (MAXCSNROFFST) of the system. A second process of performing a process; And if the bit remaining after the bit allocation is performed in the second process, the parameter (fsnroffst) is changed by using the parameter (fsnroffst) of the channel having the small data size and the maximum value (MAXFSNROFFST) of the system. It includes a third process of performing.

여기서, 커플링 채널과 LFE 채널은 일반적인 독립채널과는 다르며, 이들을 서로 분리해서 취급하기 위해 커플링 채널에 사용하는 Fsnroffst 값을 cp1snroffst값이라고 부르고, LFE 채널에 사용하는 Fsnroffst값을 1fesnroffst이라고 부르기로 한다.Here, the coupling channel and the LFE channel are different from the general independent channel, and the Fsnroffst value used for the coupling channel to treat them separately from each other is called the cp1snroffst value, and the Fsnroffst value used for the LFE channel is called 1fesnroffst. .

또한 C_End_Flag는 Csnroffst 값의 조절이 끝났음을 알리는 플레그이고, MAXCSNROFFST 값은 AC-3 Syntax 상에서 지원하는 snroffst의 최대값을 나타내며, MAXFSNROFFST 값은 AC-3 Syntax 상에서 지원하는 Fsnroffst의 최대값을 나타낸다.In addition, C_End_Flag is a flag indicating that the adjustment of the Csnroffst value is finished, and the MAXCSNROFFST value indicates the maximum value of snroffst supported by AC-3 Syntax, and the MAXFSNROFFST value indicates the maximum value of Fsnroffst supported by AC-3 Syntax.

본 발명에 대하여 보다 상세히 설명하면, 다음과 같다.Referring to the present invention in more detail, as follows.

돌비 AC-3 오디오 알고리즘에서의 비트할당은 마스킹(Masking)값들과 각 채널의 snroffst에 의해서 정해진다. 이러한 비트할당 알고리즘의 기본은 마스킹 레벨(Masking Level)보다 양자화(Quantization)에 의해서 생기는 노이즈 레벨(Noise Level)이 더 작게 만드는 것이다. 그리고 양자화에 의해서 생기는 노이즈 레벨은 snroffst 값과 깊은 연관이 있다. 즉, 해당 채널의 snroffst 값이 크면 세밀하게 코딩을 해야 하고 결국, 많은 비트를 사용하여 양자화에 의해서 생기는 노이즈 레벨을 줄여야 한다.Bit allocation in the Dolby AC-3 audio algorithm is determined by the masking values and the snroffst of each channel. The basis of this bit allocation algorithm is to make the noise level caused by quantization smaller than the masking level. And the noise level caused by quantization is closely related to snroffst value. In other words, if the snroffst value of the corresponding channel is large, detailed coding should be performed, and eventually, a lot of bits should be used to reduce the noise level caused by quantization.

여러 채널에서 오디오 신호가 나온다고 하더라도 각각의 신호는 서로 연관이 되어 있으며, 각 채널의 파라메타(이하, snroffst로 칭함)값은 공통적인 파라메타(이하, Csnroffst로 칭함)값과 각 채널이 가지는 고유한 파라메타(이하, Fsnroffst로 칭함) 값으로 나뉘어 질 수 있다. 여기서, Csnroffst 값은 변화하는 폭이 각 채널이 가지는 Fsnroffst 값보다 크다.Even though the audio signal comes from several channels, each signal is related to each other, and the parameters of each channel (hereinafter referred to as snroffst) have a common parameter (hereinafter referred to as Csnroffst) and the unique parameters of each channel. Can be divided into values (hereinafter referred to as Fsnroffst). Here, the Csnroffst value is larger in width than the Fsnroffst value of each channel.

즉, snroffst 값을 조절하는 경우에는 먼저 Csnroffst값을 조절하여 다채널의 전체적인 레벨을 조절한 다음 Fsnroffst 값을 각 채널별로 조절하는 방식을 사용한다. Csnroffst 값의 조절은 COARSE-snroffst 조절로 볼 수 있고, Fsnroffst값의 조절은 FINE-snroffst 조절로 볼 수 있다.In other words, when adjusting the snroffst value, first adjust the overall level of the multi-channel by adjusting the Csnroffst value, and then adjust the Fsnroffst value for each channel. The adjustment of Csnroffst value can be seen as COARSE-snroffst control, and the adjustment of Fsnroffst value can be seen as FINE-snroffst control.

제3과정은 Fsnroffst 값 처리루틴(①)을 수행하는 것으로서, Fsnroffst 값을 하나 증가해도 snroffst 값에 주는 영향이 csnroffst 값보다 작다. Fsnroffst 값은 1fesnroffst 값, fsnroffst 값, cp1snroffst 값의 차례로 증가시킨다.In the third process, the Fsnroffst value processing routine (①) is executed. Even if one Fsnroffst value is increased, the influence on the snroffst value is smaller than the csnroffst value. The value of fsnroffst is increased in order of 1fesnroffst value, fsnroffst value, and cp1snroffst value.

먼저, LFE 채널이 있는지 판단하여(1D) LFE채널이 있는 경우 1fesnroffst 값이 MAXFSNROFFST 값과 같지 않고(2D), 1fesnroffst 값이 fsnroffst의 최대값보다 크지 않으면(3D) 1fesnroffst 값을 하나 증가시킨 후(4D) 제1과정을 수행한다. (②)First, determine if there is an LFE channel (1D), if there is an LFE channel, if the 1fesnroffst value is not equal to the MAXFSNROFFST value (2D), and if the 1fesnroffst value is not greater than the maximum value of fsnroffst (3D), then increase the 1fesnroffst value by one (4D). Perform the first step. (②)

LFE 채널의 값을 먼저 증가시키는 이유는 LFE 채널의 데이타들의 크기가 다른 채널의 값들에 비해 크기 때문에 이 채널의 코딩잡음에 따른 채널의 데이타들이 묻혀서 전체적인 음질이 떨어질 수가 있기 때문이다.The reason why the value of the LFE channel is increased first is that the data of the channel due to the coding noise of the channel may be buried because the size of the data of the LFE channel is larger than that of other channels.

(2D) 단계에서 1fesnroffst 값이 MAXFSNROFFST 값과 같지 않거나, (3D)단계에서 1fesnroffst 값이 fsnroffst의 최대값보다 크지 않으면 커플링 채널이 있는지를 비교한다. (1E)If the 1fesnroffst value is not equal to the MAXFSNROFFST value in step (2D) or if the 1fesnroffst value is not greater than the maximum value of fsnroffst in step (3D), the coupling channel is compared. (1E)

1fesnroffst 값을 하나 증가시킨 후(4D) 비트할당을 수행한 결과, 사용할 수 있는 비트가 남으면 커플링 채널이 있는지를 판단하여(1E) 모든 fsnroffst 값이 MAXFSNROFFST 값과 동일하면 비트할당을 종료하며, 모든 fsnroffst 값이 MAXFSNROFFST 값과 동일하지 않고(2E), 모든 fsnroffst 값들이 동일하지 않으면(3E), 가장 작은 fsnroffst 값 중에서 인덱스 값이 가장 작은 채널의 fsnroffst 값을 하나 증가시킨 후(4E) 제1과정을 수행한다. (3E)단계에서 모든 fsnroffst 값들이 동일하면 채널0의 fsnroffst 값을 하나 증가시킨 후(4E) 제1과정을 수행한다.After increasing the value of 1fesnroffst (4D) and performing bit allocation, if there are available bits left, it is determined whether there is a coupling channel (1E) .If all fsnroffst values are equal to the MAXFSNROFFST value, bit allocation ends. If the fsnroffst value is not equal to the MAXFSNROFFST value (2E), and all fsnroffst values are not equal (3E), increase the fsnroffst value of the channel with the smallest index value among the smallest fsnroffst values (4E), and then proceed to Step 1. Perform. If all fsnroffst values are the same in step (3E), the first process is performed after increasing the fsnroffst value of channel 0 by one (4E).

(4E)단계에서 가장 작은 채널의 fsnroffst 값을 하나 증가시키는 이유는 돌비 AC-3 인코딩 알고리즘이 인덱스가 가장 작은 채널에 가장 중요한 채널을 할당하기 때문이다. 이러한 방식으로 모든 인덱스의 fsnroffst 값이 증가하면 그 후에는 cp1snroffst 값을 증가시킨다.The reason for increasing the value of fsnroffst of the smallest channel in step 4E is that the Dolby AC-3 encoding algorithm allocates the most important channel to the channel with the smallest index. In this way, if the fsnroffst value of all indexes is increased, then the cp1snroffst value is increased.

즉, (1E)단계에서 커플링 채널이 있는 경우 cp1snroffst 값이 fsnroffst 값의 최소값보다 작지 않으면 (2E)단계를 수행하고, cp1snroffst 값이 fsnroffst 값의 최소값보다 작으면 cp1snroffst을 증가시킨 후 비트할당을 수행한다.That is, if there is a coupling channel in step (1E), if cp1snroffst is not less than the minimum value of fsnroffst, perform step (2E) .If cp1snroffst is smaller than the minimum value of fsnroffst, increase cp1snroffst and then perform bit allocation. do.

커플링 채널이 다른 채널에 순서가 뒤쳐지는 까닭은 커플링에 포함되지 않는 독립채널들은 다른 채널과는 다른 독립된 음을 가지고 있고 이러한 음은 귀에 포착이 잘 되기 때문이다.The reason why the coupling channel is out of sequence with other channels is that independent channels that are not included in the coupling have different notes from other channels, and these notes are easily picked up by the ear.

이러한 방식으로 Fsnroffst 값을 증가시키면 소정시간에는 사용할 수 있는 비트의 총량보다 많은 양의 비트를 할당하게 되는데, 이 때에 최종적으로 증가시킨 fsnroffst 계열값을 하나 줄이고(4C), End_Flag를 1로 한 다음 (5C) 최종적인 비트할당을 한다. (2A)Increasing the value of Fsnroffst in this way allocates more bits than the total number of bits available at any given time. At this time, decrease the last increased fsnroffst value by one (4C), then set End_Flag to 1 ( 5C) Final bit allocation. (2A)

본 발명은 인코더의 파라메타값을 변화시키면서 최적의 비트할당을 이루어 낸다. 즉, 본 발명의 최종적인 산물은 최적의 파라메타값과 이에 따른 비트할당이며, 디코더는 이 파라메타값을 전송받아 인코더에서와 같은 결과의 비트할당정보를 얻게 된다.The present invention achieves optimal bit allocation while varying the parameter values of the encoder. That is, the final product of the present invention is an optimal parameter value and bit allocation accordingly, and the decoder receives this parameter value to obtain bit allocation information of the result as in the encoder.

상술한 바와 같이 본 발명에 의한 돌비 AC-3 인코딩 알고리즘과 호환하는 비트할당방법은, 돌비 AC-3 오디오 알고리즘을 위한 비트할당장치에서의 인코더의 파라미터값을 채널의 종류에 따라 변화시키므로서 최적의 비트할당을 수행할 수 있다.As described above, the bit allocation method compatible with the Dolby AC-3 encoding algorithm according to the present invention is optimized by changing the parameter values of the encoder in the bit allocation apparatus for the Dolby AC-3 audio algorithm according to the type of channel. Bit allocation can be performed.

Claims (4)

마스킹값과 복수개 채널의 파라메타(csnroffst, 1fesnroffst, fesnroffst, cp1snroffst)값을 비교하여 비트할당을 수행하며, 비트할당을 종결하는 플래그(End_Flag)가 '1'이면 종료하는 제1과정; 비트할당을 종결하는 플래그(End_Flag)가 '1'이 아닌 경우 데이타의 크기가 큰 채널의 파라메타(csnroffst)값과 시스템의 최대값(MAXCSNROFFST)을 사용하여 파라메타(csnroffst)값을 변화시킨 후 상기 제1과정을 수행하는 제2과정; 및 상기 제2과정에서 비트할당을 수행한 후 남는 비트가 있으면 데이타의 크기가 작은 채널의 파라메타(fsnroffst)값과 시스템의 최대값(MAXFSNROFFST)을 사용하여 파라메타(fsnroffst)값을 변화시킨 후 상기 제1과정을 수행하는 제3과정을 포함하는 돌비 AC-3 인코딩 알고리즘과 호환하는 비트할당방법.Performing a bit allocation by comparing the masking value with the values of the parameters of the plurality of channels (csnroffst, 1fesnroffst, fesnroffst, cp1snroffst), and ending the bit allocation when the flag End_Flag to terminate bit allocation is '1'; If the flag (End_Flag) for terminating bit allocation is not '1', the parameter (csnroffst) is changed by using the parameter value (csnroffst) of the channel having a large data size and the maximum value (MAXCSNROFFST) of the system. A second process of performing a first process; And changing the parameter value fsnroffst using the parameter value fsnroffst of the channel with the small data size and the maximum value MAXFSNROFFST if there is a bit remaining after the bit allocation in the second step. A bit allocation method compatible with Dolby AC-3 encoding algorithm comprising a third step of performing one step. 제1항에 있어서, 상기 제2과정은 LFE채널이 있는 경우 1fesnroffst 값이 MAXFSNROFFST값과 같지 않고 fsnroffst 값의 최대값보다 크지 않으면 fsnroffst 값을 증가시킨 후 상기 제1과정을 수행하는 제1단계; LFE채널이 없고 커플링 채널이 없는 경우 모든 fsnroffst값이 MAXFSNROFFST값과 같으면 비트할당을 종료하고, 모든 fsnroffst값이 MAXFSNROFFST값과 같지 않으면 가장 작은 fsnroffst값 중에서 인덱스값이 가장 작은 채널의 fsnroffst값을 증가시킨 후 상기 제1과정을 수행하는 제2단계; 및 LFE채널이 없고 커플링 채널이 있는 경우, cp1snroffst값이 fsnroffst값의 최소값보다 작으면 cp1snroffst값을 증가시킨 후 상기 제1과정을 수행하는 제3단계를 포함하는 돌비 AC-3 인코딩 알고리즘과 호환하는 비트할당방법.The method of claim 1, wherein the second process comprises: a first step of performing the first process after increasing the fsnroffst value if the 1fesnroffst value is not equal to the MAXFSNROFFST value and not greater than the maximum value of the fsnroffst value when there is an LFE channel; If there is no LFE channel and there is no coupling channel, bit allocation is terminated when all fsnroffst values are equal to MAXFSNROFFST value.If all fsnroffst values are not equal to MAXFSNROFFST value, the fsnroffst value of the channel with the smallest index value among the smallest fsnroffst values is increased. A second step of performing the first process thereafter; And if there is no LFE channel and there is a coupling channel, if the cp1snroffst value is smaller than the minimum value of the fsnroffst value, a third step of performing the first step after increasing the cp1snroffst value is compatible with the Dolby AC-3 encoding algorithm. Bit allocation method. 제2항에 있어서, 상기 제1단계는 1fesnroffst 값이 MAXFSNROFFST값과 같거나 fsnroffst값의 최대값보다 크면 커플링 채널이 있는지 여부를 판단하는 돌비 AC-3 인코딩 알고리즘과 호환하는 비트할당방법.3. The bit allocation method of claim 2, wherein the first step determines whether there is a coupling channel when the value of 1fesnroffst is equal to the MAXFSNROFFST value or greater than the maximum value of the fsnroffst value. 제2항에 있어서, 상기 제2단계는 모든 fsnroffst값이 같으면 채널 0의 fsnroffst값을 증가시키는 돌비 AC-3 인코딩 알고리즘과 호환하는 비트할당방법.3. The method of claim 2, wherein the second step is compatible with a Dolby AC-3 encoding algorithm that increases the fsnroffst value of channel 0 if all fsnroffst values are equal.
KR1019950052227A 1995-12-19 1995-12-19 Bit allocation compatible with dolby a-3 encoding algorithm KR0183778B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950052227A KR0183778B1 (en) 1995-12-19 1995-12-19 Bit allocation compatible with dolby a-3 encoding algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950052227A KR0183778B1 (en) 1995-12-19 1995-12-19 Bit allocation compatible with dolby a-3 encoding algorithm

Publications (2)

Publication Number Publication Date
KR970050783A KR970050783A (en) 1997-07-29
KR0183778B1 true KR0183778B1 (en) 1999-04-15

Family

ID=19441566

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950052227A KR0183778B1 (en) 1995-12-19 1995-12-19 Bit allocation compatible with dolby a-3 encoding algorithm

Country Status (1)

Country Link
KR (1) KR0183778B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100621110B1 (en) * 2005-01-11 2006-09-13 삼성전자주식회사 Refrigerator

Also Published As

Publication number Publication date
KR970050783A (en) 1997-07-29

Similar Documents

Publication Publication Date Title
JP3784993B2 (en) Acoustic signal encoding / quantization method
JP3926399B2 (en) How to signal noise substitution during audio signal coding
EP1735779B1 (en) Encoder apparatus, decoder apparatus, methods thereof and associated audio system
KR100518470B1 (en) Encoding method and device for encoding digital sound with adaptive bit subtraction, hidden channel bit insertion and filtering, and encoding and decoding device for use with this method
US9275649B2 (en) Method and system for encoding audio data with adaptive low frequency compensation
JP3186292B2 (en) High efficiency coding method and apparatus
JP2001236099A (en) Bit assigning scheme for perception audio coder to improve consistency in perception quality
KR20010021226A (en) A digital acoustic signal coding apparatus, a method of coding a digital acoustic signal, and a recording medium for recording a program of coding the digital acoustic signal
JPH066236A (en) High efficiency encoding and/or decoding device
RU2099906C1 (en) Data reduction method in digital signal transmission and/or storage
KR20200027008A (en) Encoding and decoding method of stereo signal, and encoding and decoding device
CN1689372B (en) Method and device for selecting a sound algorithm
KR0183778B1 (en) Bit allocation compatible with dolby a-3 encoding algorithm
CN1666571A (en) Audio processing
US5625745A (en) Noise imaging protection for multi-channel audio signals
WO2000008631A1 (en) System and method for implementing a refined psycho-acoustic modeler
Truman et al. Efficient bit allocation, quantization, and coding in an audio distribution system
KR0176549B1 (en) Method for bit allocating convertible with a dolby ac-3 encoding algorithm
WO2009129822A1 (en) Efficient encoding and decoding for multi-channel signals
JP4347634B2 (en) Encoding apparatus and encoding method
US6009399A (en) Method and apparatus for encoding digital signals employing bit allocation using combinations of different threshold models to achieve desired bit rates
WO2023173941A1 (en) Multi-channel signal encoding and decoding methods, encoding and decoding devices, and terminal device
KR100740807B1 (en) Method for obtaining spatial cues in Spatial Audio Coding
JP3342996B2 (en) Multi-channel audio encoder and encoding method
JPH0750589A (en) Sub-band coding device

Legal Events

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

Payment date: 20111129

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20121129

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee