KR101078379B1 - Method and Apparatus for Processing Audio Data - Google Patents
Method and Apparatus for Processing Audio Data Download PDFInfo
- Publication number
- KR101078379B1 KR101078379B1 KR1020090018624A KR20090018624A KR101078379B1 KR 101078379 B1 KR101078379 B1 KR 101078379B1 KR 1020090018624 A KR1020090018624 A KR 1020090018624A KR 20090018624 A KR20090018624 A KR 20090018624A KR 101078379 B1 KR101078379 B1 KR 101078379B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- channel data
- channel
- downmix
- loaded
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000001186 cumulative effect Effects 0.000 claims abstract description 35
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 abstract description 21
- 238000003672 processing method Methods 0.000 abstract description 11
- 239000000203 mixture Substances 0.000 description 16
- 239000000284 extract Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 241001125929 Trisopterus luscus Species 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Stereophonic System (AREA)
Abstract
Disclosed are a method and apparatus for processing audio data. The audio data processing method loads any channel data and previous cumulative data of a plurality of channel data from a memory, calculates the loaded channel data using a downmix coefficient corresponding to the channel data, and loads the loaded channel. Determine whether data is the last input channel data for constituting output channel data, and if the loaded channel data is the last input channel data, use the window coefficients for the calculated channel data and the previous cumulative data. To operate. Thus, the downmix and windowing process can be integrated.
Downmix, audio, window, processor, channel
Description
The present invention relates to a method of processing audio data, and more particularly, to a technology related to downmixing and windowing that can integrate downmixing and windowing of input channel data.
In recent years, in order to provide a higher quality and realistic audio service to users, multi-channel digital surround audio formats have diversified from existing one-channel (eg mono) or two-channel (eg stereo) audio formats. Is being developed. For example, Dolby AC3 (Dolby Audio Coding ?? 3), DTS (Digital Theater System), and the like are representative examples of multichannel digital surround audio formats of 5.1 channels or more.
Dolby AC3, DTS, etc. are multi-channel surround audio formats originally developed for the purpose of realistically displaying movies in theaters, but are currently available through various media such as DVD, CD, laser disc, digital broadcasting, etc. It is also widely used. Therefore, even if a general home includes an audio system capable of supporting the multi-channel surround audio format, such as a home theater or a DVD / Divx player, anyone can listen to high quality surround sound.
On the other hand, in many cases, the actual personal audio system cannot support the multi-channel surround audio format. In particular, in recent years, the use of portable devices such as mobile communication terminals, etc. has become common, and these portable devices are not suitable for outputting surround sound due to their mechanical characteristics. Therefore, in such a case, a sound quality improvement technique for an audio system that does not support multiple channels is required.
The down mix may refer to a technique of mixing audio data of a plurality of channels and converting the audio data of fewer channels. For example, the downmixing apparatus may downmix audio data of 5.1 channels and convert the audio data of two channels (or one channel). In this case, since the audio data of the two channels (or one channel) includes components of the audio data of the 5.1 channels, it is possible to reproduce a higher quality sound by using the two channel (or one channel) audio system.
In general, a conventional audio system having such a downmix function encodes a bit stream input from the outside for each channel, converts the encoded frequency domain data into time domain data, and outputs the converted time domain data. Down mix to match the channel. In addition, a windowing process of multiplying the downmixed data by the window coefficient is performed to generate audio data, for example, PCM data.
This conventional audio system performs downmixing and windowing as separate processes, respectively, as mentioned above. For example, in the downmix process, data of a plurality of input channels is stored in a memory, and the stored data are sequentially loaded and processed for each channel, and then stored in the memory. After the downmix process is completed, the windowing processor loads the downmixed data stored in the memory to multiply the window coefficients and outputs the window coefficients.
However, such a conventional technology has too many accesses to the memory in the downmix process and the windowing process, and the computation amount is excessive. This is because the downmix process and the windowing process continually repeat the process of loading data from memory, processing it, and saving it again. Thus, there is an urgent need for new technologies that can simplify the downmix and windowing process.
The technical problem to be solved by the present invention is to provide an audio data processing method and apparatus that can minimize the access to the memory and significantly reduce the amount of computation by integrating down mix and windowing when processing audio data. .
In order to solve this technical problem, the present invention provides an audio data processing method in one aspect. The audio data processing method includes the steps of loading any one of a plurality of channel data and previous cumulative data from a memory; Calculating the loaded channel data using a downmix coefficient corresponding to the channel data; Determining whether the loaded channel data is last input channel data for constituting output channel data; And when the loaded channel data is the last input channel data, calculating the calculated channel data and the previous cumulative data using window coefficients.
The audio data processing method may further include adding the calculated channel data to the previous cumulative data when the loaded channel data is not the last input channel data; And storing the added data in the memory. The audio data storing method may further include storing data calculated using the window coefficient in a specific buffer.
Computing using the window coefficients comprises: adding the computed channel data to the previous cumulative data; Extracting window coefficients from the memory; And multiplying the added data by the window coefficient. The loading may include storing a plurality of channel samples included in any one channel data in a plurality of registers.
The calculating using the downmix coefficients may include extracting a downmix coefficient corresponding to the loaded channel data from the memory; And multiplying the extracted down mix coefficients to a plurality of channel samples stored in the register, respectively.
Meanwhile, in order to solve the above technical problem, the present invention provides an audio data processing apparatus in another aspect. The audio data processing apparatus includes a memory for storing information; And loading one channel data of the plurality of channel data and previous cumulative data from the memory, and calculating the loaded channel data using a downmix coefficient, wherein the loaded channel data is configured to configure an output channel. And determining whether the input channel data is the last input channel, and calculating the calculated channel data and the loaded previous accumulated data using a window coefficient when the loaded channel data is the last input channel data.
When the loaded channel data is not the last input channel data, the calculator may add the calculated channel data to the previous cumulative data and store the calculated channel data in the memory.
When the loaded channel data is the last input channel data, the calculator may add the calculated channel data to the previous accumulated data and multiply the added data by a window coefficient. In addition, the calculator may multiply the loaded channel data by a downmix coefficient corresponding to the loaded channel data.
The memory may include a downmix coefficient table including downmix coefficients for each channel for downmixing the plurality of channel data; And a window coefficient table including window coefficients for windowing the downmixed data.
The loaded channel data may include a plurality of channel samples. In this case, the operation unit may include a plurality of registers for storing the plurality of channel samples.
As described above, according to the present invention, by performing windowing in parallel when performing a downmix operation on the last input channel data for configuring an output channel, the downmix and windowing may be integrated. Therefore, there is an advantage in that the downmix and windowing process can minimize access to memory and greatly reduce the amount of computation.
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. In the preferred embodiment of the present invention described below, specific technical terms are used for clarity of content. However, the invention is not limited to the particular term selected, and it is to be understood that each specific term includes all technical synonyms that operate in a similar manner to achieve a similar purpose.
1 is a block diagram showing a configuration of an audio system including an audio data processing apparatus according to a preferred embodiment of the present invention.
As shown in FIG. 1, the
The
The
The
The
For example, the
The
FIG. 2 is a block diagram showing the configuration of the
1 to 2, the
The
In addition, the
The
The
The
In this case, if the loaded channel data is the last input channel data, the
On the other hand, the
3 is a flowchart illustrating an operation flow of the
1 to 3, first, the
Subsequently, the
Next, the
For example, the input N channel data includes five channel data, such as L (Left) channel data, C (Center) channel data, R (Right) channel data, Ls (Left Surround) channel data, and Rs (Right Surround). A) channel data, and the output channel data is two channel data, e.g., L output channel data and R output channel data, the downmix and windowing algorithm may, for example, configure the L channel to form the L output channel data. The operation using the downmix coefficient may be instructed in the order of data, C channel data, Ls channel data, and Rs channel data. In this case, the
In the determination, when the loaded channel data is the last input channel data for constituting the output channel, the
On the other hand, in the determination, if the loaded channel data is not the last input channel for constituting the output channel, the
As described above, according to the audio data processing method according to the preferred embodiment of the present invention, a windowing operation is performed when downmixing the last input channel data for configuring an output channel. Therefore, the number of accesses to the memory can be greatly reduced, and the amount of computation can be reduced.
Hereinafter, a more specific embodiment will be described as another preferred embodiment of the present invention. First, in the following embodiment, five channel data, for example, L channel data, C channel data, R channel data, Ls channel data, and Rs channel data are input, and downmixed and windowed to output two channel data, For example, an example of outputting the L output channel data and the R output channel data will be described.
4 is a flowchart illustrating an audio data processing method according to another exemplary embodiment of the present invention. Among the five channel data input from the outside, four channels of data except for the R channel data are downmixed and windowed to L output. The procedure for outputting channel data is shown. At this time, it is assumed that the order of processing the four channel data is determined by the downmixing and windowing algorithm in the order of L channel data, C channel data, Ls channel data, and Rs channel data.
As shown in FIG. 4, first, the calculator loads L channel data, which is channel data to be processed first, from a memory (step S11). For example, the calculator may take channel samples included in the L channel data stored in the memory and store the channel samples in the register. In this case, since the L channel data is the channel data to be processed first, previous cumulative data does not exist.
Next, the operation unit extracts the down mix coefficients corresponding to the L channel data loaded from the memory from the down mix coefficient table, and multiplies the extracted down mix coefficients by the L channel data (step: S12). For example, the calculator may multiply the downmix coefficients by the channel samples stored in the register unit.
When the operation is completed, the operation unit determines whether the L channel data is the last input channel data, ie, the Rs channel data for configuring the L output channel data, and the L channel data is not the last input channel data. The obtained L-channel data is stored in the memory as first accumulated data (step S13).
The process of steps S11 to S13 is expressed by the following equation.
In this case, L [0. 1.2,… , k] means L channel data having k (k is an integer of 2 or more) channel samples, a means a downmix coefficient corresponding to the L channel data, and P1 [0. 1.2,… , k] may mean L channel data, that is, first cumulative data, calculated using the downmix coefficient.
In these steps S11 to S13, the loading operation from the memory occurs once and the storage operation into the memory occurs once. In this case, one time may mean a unit for processing all k channel samples.
Next, the operation unit loads the C channel data, which is the channel data to be processed second, and the previous accumulated data (ie, the first accumulated data) from the memory (step: S14). For example, the calculator may take channel samples included in the C channel data stored in the memory and store the channel samples in the register.
Next, the operation unit extracts the down mix coefficients corresponding to the C channel data loaded from the memory from the down mix coefficient table, and multiplies the extracted down mix coefficients to the C channel data (step: S15). For example, the calculator may multiply the downmix coefficients by the channel samples stored in the register unit.
When the operation is completed, the operation unit determines whether the C channel data is the last input channel data, that is, the Rs channel data for configuring the L output channel data, and the C channel data is not the last input channel data. The added C-channel data is added to the loaded first accumulated data, and the added data is stored in the memory as the second accumulated data (step S16).
The process of steps S14 to S16 is expressed by the following equation.
At this time, the C [0. 1.2,… , k] means C channel data having k channel samples, b means downmix coefficient corresponding to C channel data, and P1 [0. 1.2,… , k] means first cumulative data, and P2 [0. 1.2,… , k] may mean data obtained by adding C channel data and first cumulative data calculated using a downmix coefficient, that is, second cumulative data.
In these steps S14 to S16, the loading operation from the memory occurs twice and the storage operation into the memory occurs once.
Next, the calculator loads the Ls channel data, which is the third channel data to be processed, and the previous cumulative data (ie, the second cumulative data) from the memory (step S17). For example, the operation unit may take channel samples included in the Ls channel data stored in the memory and store the channel samples in the register unit.
Next, the operation unit extracts the down mix coefficients corresponding to the Ls channel data loaded from the memory from the down mix coefficient table, and multiplies the extracted down mix coefficients to the Ls channel data (step: S18). For example, the calculator may multiply the downmix coefficients by the channel samples stored in the register unit.
When the operation is completed, the operation unit determines whether the Ls channel data is the last input channel data, ie, the Rs channel data for configuring the L output channel data, and the Ls channel data is not the last input channel data. The added Ls channel data is added to the loaded second accumulated data, and the added data is stored in the memory as the third accumulated data (step S19).
The process of steps S17 to S19 is expressed by the following equation.
At this time, the Ls [0. 1.2,… , k] means Ls channel data having k channel samples, c means downmix coefficient corresponding to Ls channel data, and P2 [0. 1.2,… , k] means second cumulative data, and P3 [0. 1.2,… , k] may refer to data obtained by adding Ls channel data and second cumulative data calculated using a downmix coefficient, that is, third cumulative data.
In these steps S17 to S19, the loading operation from the memory occurs twice and the storage operation into the memory occurs once.
Next, the calculator loads Rs channel data, which is the fourth channel data to be processed, and previous cumulative data (ie, third cumulative data) from the memory (step S20). For example, the calculator may take channel samples included in the Rs channel data stored in the memory and store the channel samples in the register.
Next, the calculating unit extracts the down mix coefficients corresponding to the Rs channel data loaded from the memory from the down mix coefficient table, and multiplies the extracted down mix coefficients by the Rs channel data (step: S21). For example, the calculator may multiply the downmix coefficients by the channel samples stored in the register unit.
When the operation is completed, the operation unit determines whether the Rs channel data is the last input channel data, ie, the Rs channel data for configuring the L output channel data, and since the Rs channel data currently being processed is the last input channel data, The calculated Rs channel data is added to the loaded third accumulated data, and the added data is calculated using a windowing coefficient (step S22). For example, the calculator may multiply the window coefficient by a value obtained by adding the Rs channel data and the third cumulative data calculated using the downmix coefficient.
When the process of steps S20 to S22 is expressed by an equation, Equation 4 below.
At this time, the Rs [0. 1.2,… , k] means Rs channel data having k channel samples, d means downmix coefficient corresponding to the Rs channel data, and P3 [0. 1.2,… , k] means third cumulative data, and W [0. 1.2,… , k] means window coefficient, and Pout [0, 1, 2,... , k] may refer to data obtained by multiplying a window coefficient by a value obtained by adding Rs channel data calculated using the downmix coefficient and third accumulated data, that is, L channel output data.
In these steps S20 to S22, the loading operation from the memory occurs three times and the storage operation into the memory occurs once.
Referring to FIG. 4, a process of downmixing and windowing four channel data and outputting L channel output data has been described. In this process, a total of eight times of loading operations from the memory and four times of storing data into the memory occurred. In the conventional case, since the downmix procedure and the windowing procedure are completely separated from each other, much more memory is required to perform the corresponding process. For example, in the conventional case, when the downmix is completed, the completed data is stored in the memory, and when the windowing is performed, the stored data must be reloaded, thereby causing unnecessary access to the memory.
FIG. 5 is a flowchart illustrating an audio data processing method according to another exemplary embodiment of the present invention, and outputs R by downmixing and windowing four channel data except for the L channel data among five channel data input from the outside The procedure for outputting channel data is shown. In this case, it is assumed that the order of processing the four channel data is determined by the downmixing and windowing algorithm in the order of the R channel data, the C channel data, the Ls channel data, and the Rs channel data.
As illustrated in FIG. 5, the procedure of downmixing and windowing four channel data and outputting the R output channel data may be performed in the same concept as the procedure of outputting the L output channel data described above.
The calculation unit loads the R channel data (step: S31), performs an operation using a downmix coefficient (step: S32), and since the R channel data is not the last input channel data, stores the first accumulated data in the memory. (Step S33). Subsequently, the operation unit loads the C channel data (step: S34), performs an operation using the downmix coefficients (step: S35), and since the C channel data is not the last input channel data, the second accumulated data is stored in the memory. (Step S36).
Next, the operation unit loads the Ls channel data (step S37), performs an operation using a downmix coefficient (step S38), and since the Ls channel data is not the last input channel data, Store in memory (step S37). The operation unit then loads the Rs channel data (step: S40), performs an operation using the downmix coefficients (step: S41), and then confirms that the Rs channel data is the last input channel data and computed the downmix coefficients. After the Rs channel data and the third cumulative data are added, the added data is calculated using the window coefficient (step S42).
Although the present invention has been described above with reference to its preferred embodiments, those skilled in the art will variously modify the present invention without departing from the spirit and scope of the invention as set forth in the claims below. And can be practiced with modification. Accordingly, modifications of the embodiments of the present invention will not depart from the scope of the present invention.
1 is a block diagram showing a configuration of an audio system including an audio data processing apparatus according to a preferred embodiment of the present invention.
FIG. 2 is a block diagram showing the configuration of the data processing unit shown in FIG.
3 is a flowchart illustrating an operation flow of an operation unit included in the data processing unit.
4 is a flowchart illustrating an audio data processing method according to another exemplary embodiment of the present invention.
5 is a flowchart illustrating an audio data processing method according to another exemplary embodiment of the present invention.
Description of the Related Art [0002]
10: decoder
20: domain conversion unit
30: data processing unit
31: calculation unit
33: Arithmetic Logic Unit (ALU)
34: register
36: memory
40: audio output
Claims (12)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090018624A KR101078379B1 (en) | 2009-03-04 | 2009-03-04 | Method and Apparatus for Processing Audio Data |
PCT/KR2010/001276 WO2010101381A2 (en) | 2009-03-04 | 2010-03-02 | Method and apparatus for processing audio data |
JP2011552879A JP2012519310A (en) | 2009-03-04 | 2010-03-02 | Audio data processing method and apparatus |
CN2010800103099A CN102341845B (en) | 2009-03-04 | 2010-03-02 | Method and apparatus for processing audio data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090018624A KR101078379B1 (en) | 2009-03-04 | 2009-03-04 | Method and Apparatus for Processing Audio Data |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100099998A KR20100099998A (en) | 2010-09-15 |
KR101078379B1 true KR101078379B1 (en) | 2011-10-31 |
Family
ID=42710096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090018624A KR101078379B1 (en) | 2009-03-04 | 2009-03-04 | Method and Apparatus for Processing Audio Data |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP2012519310A (en) |
KR (1) | KR101078379B1 (en) |
CN (1) | CN102341845B (en) |
WO (1) | WO2010101381A2 (en) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02294200A (en) * | 1989-05-09 | 1990-12-05 | Mitsubishi Electric Corp | Sound receiver |
JPH06165079A (en) * | 1992-11-25 | 1994-06-10 | Matsushita Electric Ind Co Ltd | Down mixing device for multichannel stereo use |
JP3761639B2 (en) * | 1995-09-29 | 2006-03-29 | ユナイテッド・モジュール・コーポレーション | Audio decoding device |
US6128597A (en) * | 1996-05-03 | 2000-10-03 | Lsi Logic Corporation | Audio decoder with a reconfigurable downmixing/windowing pipeline and method therefor |
KR20000073030A (en) * | 1999-05-04 | 2000-12-05 | 김영환 | Device for overlapping and adding window in AC-3 decoder |
JP2001298680A (en) * | 2000-04-17 | 2001-10-26 | Matsushita Electric Ind Co Ltd | Specification of digital broadcasting signal and its receiving device |
JP2004109362A (en) * | 2002-09-17 | 2004-04-08 | Pioneer Electronic Corp | Apparatus, method, and program for noise removal of frame structure |
WO2010038318A1 (en) * | 2008-10-01 | 2010-04-08 | Thomson Licensing | Decoding apparatus, decoding method, encoding apparatus, encoding method, and editing apparatus |
-
2009
- 2009-03-04 KR KR1020090018624A patent/KR101078379B1/en not_active IP Right Cessation
-
2010
- 2010-03-02 CN CN2010800103099A patent/CN102341845B/en not_active Expired - Fee Related
- 2010-03-02 WO PCT/KR2010/001276 patent/WO2010101381A2/en active Application Filing
- 2010-03-02 JP JP2011552879A patent/JP2012519310A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20100099998A (en) | 2010-09-15 |
WO2010101381A2 (en) | 2010-09-10 |
CN102341845A (en) | 2012-02-01 |
JP2012519310A (en) | 2012-08-23 |
WO2010101381A3 (en) | 2010-11-18 |
CN102341845B (en) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11343631B2 (en) | Compatible multi-channel coding/decoding | |
US7853343B2 (en) | Acoustic device and reproduction mode setting method | |
AU2005281937B2 (en) | Generation of a multichannel encoded signal and decoding of a multichannel encoded signal | |
JP4601669B2 (en) | Apparatus and method for generating a multi-channel signal or parameter data set | |
CN101228575B (en) | Sound channel reconfiguration with side information | |
RU2420814C2 (en) | Audio decoding | |
KR102226071B1 (en) | Binaural rendering method and apparatus for decoding multi channel audio | |
JP2014089467A (en) | Encoding/decoding system for multi-channel audio signal, recording medium and method | |
CN1922657B (en) | Decoding scheme for variable block length signals | |
JP2008519301A (en) | Stereo compatible multi-channel audio coding | |
WO2005122639A1 (en) | Acoustic signal encoding device and acoustic signal decoding device | |
CN101379554A (en) | Apparatus and method for encoding/decoding signal | |
KR101078379B1 (en) | Method and Apparatus for Processing Audio Data | |
KR101464977B1 (en) | Method of managing a memory and Method and apparatus of decoding multi channel data | |
US9466302B2 (en) | Coding of spherical harmonic coefficients | |
RU2795865C2 (en) | Audio coder and audio decoder | |
JP2009151183A (en) | Multi-channel voice sound signal coding device and method, and multi-channel voice sound signal decoding device and method | |
US20070019521A1 (en) | Method and apparatus for flexibly setting channels of multi-channel audio data | |
JP2015186143A (en) | Channel number converter |
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: 20141007 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160602 Year of fee payment: 5 |
|
R401 | Registration of restoration | ||
FPAY | Annual fee payment |
Payment date: 20161019 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |