KR101010954B1 - Method for processing audio data, and audio data processing apparatus applying the same - Google Patents
Method for processing audio data, and audio data processing apparatus applying the same Download PDFInfo
- Publication number
- KR101010954B1 KR101010954B1 KR1020080112345A KR20080112345A KR101010954B1 KR 101010954 B1 KR101010954 B1 KR 101010954B1 KR 1020080112345 A KR1020080112345 A KR 1020080112345A KR 20080112345 A KR20080112345 A KR 20080112345A KR 101010954 B1 KR101010954 B1 KR 101010954B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- audio data
- processing
- dimensional matrix
- audio
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
- H04N21/4398—Processing of audio elementary streams involving reformatting operations of audio signals
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Stereophonic System (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
오디오 데이터 처리방법 및 이를 적용한 오디오 데이터 처리장치가 제공된다. 본 오디오 데이터 처리방법은, 오디오 데이터를 적어도 하나의 2차원 행렬 데이터로 변환하고, 2차원 행렬 데이터를 데이터 병렬 아키텍쳐를 이용하여 처리한다. 이에 따라, 오디오 데이터를 신속하게 처리할 수 있게 된다. An audio data processing method and an audio data processing apparatus using the same are provided. This audio data processing method converts audio data into at least one two-dimensional matrix data and processes the two-dimensional matrix data using a data parallel architecture. As a result, audio data can be processed quickly.
오디오, 데이터 병렬 아키텍쳐, 처리 Audio, data parallel architecture, processing
Description
본 발명은 오디오 데이터 처리방법 및 이를 적용한 오디오 데이터 처리장치에 관한 것으로, 더욱 상세하게는 데이터 병렬 아키텍쳐를 이용하여 오디오 데이터를 처리하는 방법 및 이를 적용한 오디오 데이터 처리장치에 관한 것이다. The present invention relates to an audio data processing method and an audio data processing apparatus using the same, and more particularly, to a method for processing audio data using a data parallel architecture and an audio data processing apparatus applying the same.
데이터 병렬 아키텍쳐(Data Parallel Architecture)는 데이터를 병렬로 처리하는 구조를 의미한다. 데이터 병렬 아키텍쳐에 의해 데이터를 처리하게 되면, 한번에 많은 양의 데이터를 처리할 수 있게 되므로 처리속도를 향상시킬 수 있게 된다. Data Parallel Architecture refers to a structure that processes data in parallel. When data is processed by the data parallel architecture, a large amount of data can be processed at a time, thereby increasing the processing speed.
데이터 병렬 아키텍쳐는 일반적으로 2차원 이미지를 처리하는데 사용된다. 이는 데이터 병렬 아키텍쳐를 이용한 처리장치 내에 처리소자가 2차원 행렬 형태로 배치되어 있어, 2차원 이미지 데이터를 처리하기에 적합한 구조를 가지기 때문이다. Data parallel architectures are commonly used to process two-dimensional images. This is because the processing elements are arranged in the form of a two-dimensional matrix in the processing apparatus using the data parallel architecture, and thus have a structure suitable for processing two-dimensional image data.
하지만, 동영상의 경우 이미지 데이터 뿐만 아니라 오디오 데이터도 함께 포함되어 있다. 따라서, 하나의 처리장치를 이용하여 이미지 데이터 뿐만 아니라 오 디오 데이터도 함께 처리해야 하는 경우가 발생한다. However, the video includes audio data as well as image data. Therefore, there is a case in which not only image data but also audio data must be processed together using one processing apparatus.
이에 따라, 데이터 병렬 아키텍쳐를 이용하여 오디오 데이터를 처리하기 위한 방안의 모색이 요청된다. Accordingly, there is a demand for a method for processing audio data using a data parallel architecture.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 오디오 데이터를 적어도 하나의 2차원 행렬 데이터로 변환하고, 2차원 행렬 데이터를 데이터 병렬 아키텍쳐를 이용하여 처리하는 오디오 데이터 처리방법 및 이를 적용한 오디오 데이터 처리장치를 제공함에 있다. SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to convert audio data into at least one two-dimensional matrix data, and to process the two-dimensional matrix data by using a data parallel architecture. The present invention provides a processing method and an audio data processing apparatus using the same.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 오디오 데이터 처리방법은, 상기 오디오 데이터를 2차원 행렬 데이터로 변환하는 변환단계; 및 2차원 행렬 형태로 배치된 복수개의 처리소자를 포함하는 데이터 병렬 아키텍쳐(Data Parallel Architecture)를 이용하여 상기 2차원 행렬 데이터를 병렬적으로 처리하는 처리단계;를 포함한다. According to an embodiment of the present invention, an audio data processing method includes: a conversion step of converting the audio data into two-dimensional matrix data; And a processing step of processing the two-dimensional matrix data in parallel by using a data parallel architecture including a plurality of processing elements arranged in the form of a two-dimensional matrix.
그리고, 상기 복수개의 처리소자는 Y×X 개이고, X개의 열과 Y개의 행을 가진 행렬 형태로 배치되며(X,Y는 각각 1 이상의 정수), 상기 각 처리소자는, I개의 열과 J개의 행을 가진 행렬형태의 데이터를 포함하는 데이터 블럭을 처리하며(I,J는 각각 1 이상의 정수), 상기 2차원 행렬 데이터는, X×I 개의 열과 Y×J 개의 행을 가지고, 상기 처리단계는, 상기 2차원 행렬 데이터에 포함된 X×I×Y×J개의 데 이터를 상기 Y×X 개의 처리소자를 이용하여 병렬적으로 처리할 수도 있다. The plurality of processing elements are Y × X and are arranged in a matrix form having X columns and Y rows (X and Y are integers of 1 or more, respectively), and each of the processing elements includes I columns and J rows. Processing a data block containing data in the form of an excitation matrix (I, J each being an integer of 1 or more), wherein the two-dimensional matrix data has X × I columns and Y × J rows, and the processing step includes: X × I × Y × J data included in two-dimensional matrix data may be processed in parallel using the Y × X processing elements.
또한, 상기 변환단계는, 상기 오디오 데이터 중 [(y-1)×(X×I×J)+(x-1)×(I×J)+(j-1)×I + i] 번째 데이터를 상기 2차원 행렬 데이터의 [(x-1)×I + i] 번째 열 및 [(y-1)×J + j] 번째 행에 위치한 데이터로 맵핑하는 단계;를 포함하며, 상기 x는 1≤x≤X 범위의 정수값, 상기 y는 1≤y≤Y 범위의 정수값, 상기 i는 1≤i≤I 범위의 정수값, 상기 j는 1≤j≤J 범위의 정수값을 나타낼 수도 있다. In the converting step, the [(y-1) × (X × I × J) + (x−1) × (I × J) + (j−1) × I + i] th data of the audio data Mapping to data located in the [(x-1) × I + i] th column and the [(y-1) × J + j] th row of the 2D matrix data, wherein x is 1 An integer value in the range ≤ x ≤ X, wherein y is an integer value in the
그리고, 상기 처리된 2차원 행렬 데이터를 오디오 데이터로 역변환하는 단계;를 더 포함할 수도 있다. The method may further include inversely converting the processed two-dimensional matrix data into audio data.
한편, 본 발명의 일 실시예에 따른, 컴퓨터 판독 가능 기록매체는 상술된 오디오 데이터 처리방법을 수행하는 프로그램이 수록될 수도 있다. On the other hand, the computer-readable recording medium according to an embodiment of the present invention may contain a program for performing the above-described audio data processing method.
한편, 본 발명의 일 실시예에 따른, 오디오 데이터 처리장치는, 오디오 데이터를 2차원 행렬 데이터로 변환하는 변환부; 및 2차원 행렬 형태로 배치된 복수개의 처리소자를 포함하는 데이터 병렬 아키텍쳐(Data Parallel Architecture)를 이용하여 상기 2차원 행렬 데이터를 병렬적으로 처리하는 처리부;를 포함한다. On the other hand, according to an embodiment of the present invention, an audio data processing apparatus includes: a converter for converting audio data into two-dimensional matrix data; And a processor configured to process the two-dimensional matrix data in parallel using a data parallel architecture including a plurality of processing elements arranged in a two-dimensional matrix.
그리고, 상기 처리부는, X개의 열과 Y개의 행을 가진 행렬 형태로 배치된 Y×X 개의 처리소자를 포함하고(X,Y는 각각 1 이상의 정수), 상기 각 처리소자는, I개의 열과 J개의 행을 가진 행렬형태의 데이터를 포함하는 데이터 블럭을 처리하며(I,J는 각각 1 이상의 정수), 상기 2차원 행렬 데이터는, X×I 개의 열과 Y×J 개의 행을 가지고, 상기 처리부는, 상기 2차원 행렬 데이터에 포함된 X×I×Y×J개의 데이터를 상기 Y×X 개의 처리소자를 이용하여 한번에 처리할 수도 있다. The processing unit includes Y × X processing elements arranged in a matrix form having X columns and Y rows (X and Y each being an integer of 1 or more), and each processing element includes I columns and J columns. Processing a data block containing matrix-shaped data having rows (I, J are integers of 1 or more each), and the two-dimensional matrix data has X × I columns and Y × J rows, and the processing unit includes: The X × I × Y × J data included in the two-dimensional matrix data may be processed at once using the Y × X processing elements.
또한, 상기 변환부는, 상기 오디오 데이터 중 [(y-1)×(X×I×J)+(x-1)×(I×J)+(j-1)×I + i] 번째 데이터를 상기 2차원 행렬 데이터의 [(x-1)×I + i] 번째 열 및 [(y-1)×J + j] 번째 행에 위치한 데이터로 맵핑함으로써, 상기 오디오 데이터를 상기 2차원 행렬 데이터로 변환하고, 상기 x는 1≤x≤X 범위의 정수값, 상기 y는 1≤y≤Y 범위의 정수값, 상기 i는 1≤i≤I 범위의 정수값, 상기 j는 1≤j≤J 범위의 정수값을 나타낼 수도 있다. The converting unit may further include [(y-1) × (X × I × J) + (x−1) × (I × J) + (j−1) × I + i] th data among the audio data. Mapping the audio data to the two-dimensional matrix data by mapping the data in the [(x-1) × I + i] -th column and the [(y-1) × J + j] -th row of the two-dimensional matrix data. Where x is an integer value in the
그리고, 상기 처리된 2차원 행렬 데이터를 오디오 데이터로 역변환하는 역변환부;를 더 포함할 수도 있다. The apparatus may further include an inverse transform unit which inversely converts the processed two-dimensional matrix data into audio data.
이상 설명한 바와 같이 본 발명의 다양한 실시예에 따르면, 오디오 데이터를 적어도 하나의 2차원 행렬 데이터로 변환하고, 2차원 행렬 데이터를 데이터 병렬 아키텍쳐를 이용하여 처리하는 오디오 데이터 처리방법 및 이를 적용한 오디오 데이터 처리장치를 제공할 수 있게 되어, 데이터 병렬 아키텍쳐를 이용하여 오디오 데이터를 처리할 수 있게 된다. As described above, according to various embodiments of the present disclosure, an audio data processing method for converting audio data into at least one two-dimensional matrix data and processing the two-dimensional matrix data using a data parallel architecture, and audio data processing using the same It is possible to provide a device so that audio data can be processed using a data parallel architecture.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다. Hereinafter, with reference to the drawings will be described the present invention in more detail.
도 1은 본 발명의 일 실시예에 따른, 오디오 장치의 개략적인 구성을 도시한 블럭도이다. 도 1에 도시된 바와 같이, 오디오 장치는 오디오 입력부(110), A/D 컨버터(120), 오디오 데이터 처리장치(200), 및 오디오 출력부(130)를 포함한다. 1 is a block diagram showing a schematic configuration of an audio device according to an embodiment of the present invention. As shown in FIG. 1, an audio device includes an
오디오 입력부(110)는 외부 오디오 기기 또는 사용자의 음성 등을 입력받는 다. 예를 들어, 오디오 입력부(110)는 마이크를 통해 사용자의 음성을 입력받도록 구현될 수도 있다. The
A/D 컨버터(120)는 입력된 오디오 신호가 아날로그 신호인 경우 디지털 오디오 신호로 변환한다. 따라서, A/D 컨버터(120)는 입력된 오디오 신호가 디지털 신호인 경우 변환과정을 생략하게 된다. The A /
오디오 데이터 처리장치(200)는 A/D 컨버터(120)에서 입력된 디지털 오디오 데이터를 처리한다. 예를 들어, 오디오 데이터 처리장치(200)는 입력된 오디오 데이터에 대해 노이즈 제거, 특정 주파수 제거, 사용자의 음성 추출 등의 처리를 하게 된다. The audio
또한, 오디오 데이터 처리장치(200)는 데이터 병렬 아키텍쳐(Data Parallel Architecture)를 이용하여 구현된다. 따라서, 오디오 데이터 처리장치(200)는 입력된 오디오 데이터를 병렬처리하게 되므로, 보다 빠른 속도로 오디오 데이터를 처리할 수 있게 된다. In addition, the audio
일반적으로, 데이터 병렬 아키텍쳐는 2차원 이미지 데이터를 처리하는데 사용된다. 하지만, 본 실시예의 오디오 데이터 처리장치(200)는 데이터 병렬 아키텍쳐를 이용하여 오디오 데이터를 처리한다. In general, data parallel architecture is used to process two-dimensional image data. However, the audio
이를 위해, 오디오 데이터 처리장치(200)는 오디오 데이터를 2차원 행렬 데이터로 변환하는 과정을 거치게 된다. 왜냐하면, 2차원 이미지 데이터가 2차원 행렬 데이터 형태로 구성되어 있기 때문이다. 즉, 2차원 이미지 데이터의 각 픽셀에 대응되는 데이터 값들이 2차원 행렬 데이터의 각 데이터 값들에 해당된다. To this end, the audio
이와 같이, 오디오 데이터를 2차원 행렬 데이터로 변환하면, 오디오 데이터 처리장치(200)에 포함된 데이터 병렬 아키텍쳐는 오디오 데이터가 마치 이미지 데이터로 변환되어 입력되는 것처럼 인식하게 된다. 따라서, 오디오 데이터를 2차원 행렬 데이터(즉, 이미지 데이터 형태)로 변환함으로써, 데이터 병렬 아키텍쳐를 이용하여 오디오 데이터를 처리할 수 있게 된다. In this way, when the audio data is converted into two-dimensional matrix data, the data parallel architecture included in the audio
오디오 데이터 처리장치(200)의 구조 및 기능에 대해서는 추후 상세히 기술한다. The structure and function of the audio
오디오 출력부(130)는 처리된 오디오 데이터를 스피커 등을 통해 출력한다. The
이와 같이, 오디오 장치는 데이터 병렬 아키텍쳐를 이용한 오디오 데이터 처리장치(200)를 포함하므로, 복수개의 오디오 데이터를 동시에 처리하게 되어 오디오를 보다 빠르게 처리할 수 있게 된다. 여기에서, 오디오 데이터의 단위는 bit 또는 byte 등이 될 수 있으며, 오디오 데이터의 개수 단위는 그 크기에 제한되지 않는다. As such, since the audio apparatus includes the audio
이하에서는, 도 2를 참고하여 오디오 데이터 처리장치(200)에 대해 상세히 설명한다. 도 2는 본 발명의 일 실시예에 따른, 데이터 병렬 아키텍쳐가 적용된 오디오 데이터 처리장치의 구조를 상세히 도시한 도면이다. Hereinafter, the audio
도 2에 도시된 바와 같이, 오디오 데이터 처리장치(200)는 변환부(210), 처리부(220) 및 역변환부(230)를 포함한다. As shown in FIG. 2, the audio
변환부(210)는 오디오 데이터를 적어도 하나의 2차원 행렬 데이터로 변환한다. 구체적으로, 변환부(210)는 오디오 데이터 중 [(y-1)×(X×I×J)+(x-1)×(I× J)+(j-1)×I + i] 번째 데이터를 2차원 행렬 데이터의 [(x-1)×I + i] 번째 열, [(y-1)×J + j] 번째 행에 위치한 데이터로 맵핑함으로써, 오디오 데이터를 2차원 행렬 데이터로 변환한다. 2차원 행렬 데이터는 X×I 개의 열과 Y×J 개의 행을 가진다. The
여기에서, x는 현재 데이터가 포함된 데이터 블럭의 열의 위치(즉, 현재 데이터를 처리하는 처리소자의 열의 위치), y는 현재 데이터가 포함된 데이터 블럭의 행의 위치(즉, 현재 데이터를 처리하는 처리소자의 행의 위치), i는 데이터 블럭 내에서 현재 데이터의 열의 위치, j는 데이터 블럭 내에서 현재 데이터의 행의 위치를 나타낸다. 즉, x는 1≤x≤X 범위의 정수값, y는 1≤y≤Y 범위의 정수값, i는 1≤i≤I 범위의 정수값, j는 1≤j≤J 범위의 정수값이 된다. Where x is the position of the column of the data block that contains the current data (ie, the position of the column of the processing element that processes the current data), and y is the position of the row of the data block that contains the current data (i.e., processes the current data). Position of the row of the processing element), i denotes the position of the column of the current data within the data block, and j denotes the position of the row of the current data within the data block. That is, x is an integer value in the
그리고, X는 복수개의 처리소자(Processor Element)들(PE1 내지 PE9)의 열의 개수, Y는 복수개의 처리소자들(PE1 내지 PE9)의 행의 개수, I는 하나의 처리소자가 처리할 수 있는 데이터 블럭의 열의 개수, J는 하나의 처리소자가 처리할 수 있는 데이터 블럭의 행의 개수를 나타낸다. 여기에서, 데이터 블럭은 하나의 처리소자가 처리할 수 있는 데이터 단위를 나타내는 것으로, J개의 열과 I개의 행을 가진 행렬형태의 데이터를 포함한다. 2차원 행렬 데이터 및 데이터 블럭에 대해서는 추후 도 7을 참고하여 상세히 설명한다. X denotes the number of columns of the plurality of processor elements PE1 to PE9, Y denotes the number of rows of the plurality of processor elements PE1 to PE9, and I denotes that one processor may process the elements. The number of columns of data blocks, J, represents the number of rows of data blocks that one processing element can process. Here, the data block represents a data unit that can be processed by one processing element, and includes data in a matrix form having J columns and I rows. Two-dimensional matrix data and data blocks will be described in detail later with reference to FIG. 7.
변환부(210)는 모든 x,y,i,j 값에 대해 상기 맵핑과정을 실시함으로써, 모든 오디오 데이터를 2차원 행렬 데이터 값에 맵핑하여, 오디오 데이터를 2차원 행렬 데이터로 변환하게 된다. The
그리고, 변환부(210)는 각 데이터 블럭의 데이터들을 복수의 처리소자(PE1 내지 PE9) 각각에 입력하게 된다. The
처리부(220)는 X개의 열과 Y개의 행을 가진 행렬 형태로 배치된 Y×X 개의 처리소자를 포함한다(X,Y는 각각 1 이상의 정수). 도 2에서는 3개의 열과 3개의 행을 가진 3×3개의 처리소자를 포함하는 것으로 도시되어 있다. 즉, 도 2에서 처리부(220)는 Y=3, X=3인 것을 알 수 있다. The
각 처리소자는 J개의 열과 I개의 행을 가진 행렬형태의 데이터를 포함하는 데이터 블럭을 처리한다(I,J는 각각 1 이상의 정수). 즉, 데이터 블럭에는 총 J×I개의 데이터가 포함되며, 각 처리소자는 J×I개의 데이터를 한번에 처리할 수 있게 된다. 본 실시예에서는 J=3, I=3인 것으로 가정하여 설명한다. 즉, 각 처리소자는 총 9개의 데이터를 한번에 처리할 수 있게 된다. Each processing element processes a data block containing matrix data having J columns and I rows (I and J are integers of 1 or more, respectively). That is, the data block contains a total of J × I data, and each processing element can process J × I data at once. In the present embodiment, it is assumed that J = 3 and I = 3. That is, each processing element can process a total of nine data at once.
이와 같은 구조에 따르면, 처리부(220)는 한번에 X×Y×I×J개의 데이터를 한번에 처리할 수 있게 된다. 예를들어, 도 2에서 처리부(220)는 9개의 처리소자(PE1 내지 PE9)를 포함하고, 1개의 처리소자는 3×3의 데이터 블럭을 처리할 수 있으므로, 총 3×3×3×3=81개의 데이터를 한번에 처리할 수 있게된다. According to such a structure, the
이와 같이, 처리부(220) 복수개의 처리소자가 병렬로 연결되어 있는 구조를 가지고 있으며, 이와 같은 구조를 데이터 병렬 아키텍쳐라고 한다. As described above, the
처리소자 제어부(225)는 복수개의 처리소자들(PE1 내지 PE9)의 동작을 제어한다. 예를 들어, 처리소자 제어부(225)는 각 처리소자의 온, 오프 여부 등을 제어할 수도 있다. The
이와 같이, 처리부(220)는 복수개의 처리소자(PE1 내지 PE9) 및 처리소자 제어부(225)를 이용하여, 복수개의 데이터를 한번에 병렬 처리할 수 있게 된다. As described above, the
역변환부(230)는 처리된 2차원 행렬 데이터를 오디오 데이터로 역변환한다. 구체적으로, 역변환부(230)는 2차원 행렬 데이터의 [(x-1)×I + i] 번째 열, [(y-1)×J + j] 번째 행에 위치한 데이터를 오디오 데이터 중 [(y-1)×(X×I×J)+(x-1)×(I×J)+(j-1)×I + i] 번째 데이터로 맵핑함으로써, 2차원 행렬 데이터를 오디오 데이터로 역변환한다. The
이와 같이, 오디오 데이터 처리장치(200)는 데이터 병렬 아키텍쳐를 가진 처리부(220)를 이용하여 오디오 데이터를 처리할 수 있게 된다. As such, the audio
이하에서는, 도 3 내지 도 5를 참고하여, 오디오 데이터 처리방법에 대해 상세히 설명한다. 도 3은 본 발명의 일 실시예에 따른, 오디오 데이터 처리방법을 설명하기 위해 제공되는 흐름도이다. Hereinafter, the audio data processing method will be described in detail with reference to FIGS. 3 to 5. 3 is a flowchart provided to explain an audio data processing method according to an embodiment of the present invention.
일단, 오디오 데이터 처리장치(200)는 오디오 데이터를 적어도 하나의 2차원 행렬 데이터로 변환한다(S310). 변환 과정에 대해서는 도 4 및 도 5를 참고하여 추후 상세히 설명한다. First, the audio
그리고, 오디오 데이터 처리장치(200)는 2차원 행렬 데이터를 데이터 병렬 아키텍쳐를 이용하여 처리한다(S320). 구체적으로, 오디오 데이터 처리장치(200)는 X개의 열과 Y개의 행을 가진 행렬 형태로 배치된 Y×X 개의 처리소자를 포함한다(X,Y는 각각 1 이상의 정수). The audio
그리고, 각 처리소자는 J개의 열과 I개의 행을 가진 행렬형태의 데이터를 포 함하는 데이터 블럭을 처리한다(I,J는 각각 1 이상의 정수). 즉, 데이터 블럭에는 총 J×I개의 데이터가 포함되며, 각 처리소자는 J×I개의 데이터를 한번에 처리할 수 있게 된다. 이와 같이, 본 실시예에 따른 오디오 데이터 처리장치(200)는 한번에 X×Y×I×J개의 데이터를 한번에 처리할 수 있게 된다. Each processing element then processes a data block containing matrix data having J columns and I rows (I and J are integers of 1 or more, respectively). That is, the data block contains a total of J × I data, and each processing element can process J × I data at once. In this manner, the audio
그 후에, 오디오 데이터 처리장치(200)는 처리된 2차원 행렬 데이터를 오디오 데이터로 역변환한다(S330). 그리고, 오디오 데이터 처리장치(200)는 역변환된 오디오 데이터를 출력하게 된다(S340). Thereafter, the audio
이와 같은 과정을 거쳐, 오디오 데이터 처리장치(200)는 데이터 병렬 아키텍쳐를 이용하여 오디오 데이터를 처리하게 된다. Through such a process, the audio
이하에서는, 도 4 내지 도 7을 참고하여, 오디오 데이터를 2차원 행렬 데이터로 변환하는 과정을 상세히 설명한다. Hereinafter, a process of converting audio data into 2D matrix data will be described in detail with reference to FIGS. 4 to 7.
도 4는 본 발명의 일 실시예에 따른, 변환부(210)에 의해 오디오 데이터가 2차원 행렬 데이터로 변환되는 과정에 대해 설명하기 위해 제공되는 흐름도이다. 4 is a flowchart provided to explain a process of converting audio data into 2D matrix data by the
일단, 변환부(210)는 X×Y×I×J개의 오디오 데이터를 독취한다(S410). 그리고, 변환부(210)는 독취된 오디오 데이터의 값들 중 최대값을 추출한다(S420). 그 후에, 변환부(210)는 추출된 최대값을 이용하여 오디오 데이터 값들을 0과 1사이의 값으로 정규화한다(S430). 그리고, 변환부(210)는 정규화된 오디오 데이터 값들에 255를 곱하여, 오디오 데이터 값들이 0에서 255의 범위에 있게 한다(S440). First, the
그 다음으로, 변환부(210)는 변환 알고리즘을 이용하여 오디오 데이터를 2차원 행렬 데이터로 변환한다(S450). 변환 알고리즘에 대해서는, 이하에서 도 5를 참 고하여 상세히 설명한다. Next, the
도 5는 본 발명의 일 실시예에 따른, 변환 알고리즘을 설명하기 위해 제공되는 흐름도이다. 5 is a flowchart provided to explain a conversion algorithm, according to an embodiment of the present invention.
도 5에서, x는 현재 데이터가 포함된 데이터 블럭의 열의 위치(즉, 현재 데이터를 처리하는 처리소자의 열의 위치), y는 현재 데이터가 포함된 데이터 블럭의 행의 위치(즉, 현재 데이터를 처리하는 처리소자의 행의 위치), i는 데이터 블럭 내에서 현재 데이터의 열의 위치, j는 데이터 블럭 내에서 현재 데이터의 행의 위치를 나타낸다. 즉, x는 1≤x≤X 범위의 정수값, y는 1≤y≤Y 범위의 정수값, i는 1≤i≤I 범위의 정수값, j는 1≤j≤J 범위의 정수값이 된다. In Figure 5, x is the position of the column of the data block containing the current data (i.e., the position of the column of the processing element processing the current data), and y is the position of the row of the data block containing the current data (i.e. The position of the row of the processing element to be processed), i denotes the position of the column of the current data within the data block, and j denotes the position of the row of the current data within the data block. That is, x is an integer value in the
일단, y값을 0으로 초기화 한다(S510). 그리고, y값에 1을 더한다(S515). 그 다음, x값을 0으로 초기화하고(S520), x값에 1을 더한다(S525). 그 후에, j값을 0으로 초기화하고(S530), j값에 1을 더한다(S535). 그리고, i값을 0으로 초기화하고(S540), i값에 1을 더한다(S540). First, the y value is initialized to 0 (S510). Then, 1 is added to the y value (S515). Next, the x value is initialized to 0 (S520), and 1 is added to the x value (S525). Thereafter, the j value is initialized to 0 (S530), and 1 is added to the j value (S535). The i value is initialized to 0 (S540), and 1 is added to the i value (S540).
오디오 데이터 중 [(y-1)×(X×I×J)+(x-1)×(I×J)+(j-1)×I + i] 번째 데이터를 2차원 행렬 데이터의 [(x-1)×I + i] 번째 열, [(y-1)×J + j] 번째 행에 위치한 데이터로 맵핑한다(S550). Among the audio data, [(y-1) × (X × I × J) + (x-1) × (I × J) + (j-1) × I + i] th data is replaced with [( x-1) × I + i] maps to the data located in the [(y-1) × J + j] th row (S550).
그 후에, i가 I보다 작거나 같은 경우(S560-Y), i값에 계속 1을 더해가면서(S545) 맵핑단계(S550)를 반복한다. 그리고, i가 I보다 큰 경우(S560-N), j값이 J보다 작거나 같은지 여부를 확인한다(S570). After that, when i is less than or equal to I (S560-Y), the mapping step S550 is repeated while continuously adding 1 to the i value (S545). If i is greater than I (S560-N), it is checked whether j is less than or equal to J (S570).
그리고, j값이 1에서 J가 될때까지(S560-Y), S535 내지 S570 단계를 반복한 다. 그리고, j값이 J보다 크게 된 경우(S560-N), x가 X보다 작거나 같은지 여부를 확인한다(S570). Then, steps S535 to S570 are repeated until the j value becomes 1 to J (S560-Y). If j is greater than J (S560-N), it is checked whether x is less than or equal to X (S570).
그리고, x값이 1에서 X가 될때까지(S580-Y), S525 내지 S580 단계를 반복한다. 그리고, x값이 X보다 크게 된 경우(S580-N), y가 Y보다 작거나 같은지 여부를 확인한다(S590).Then, steps S525 to S580 are repeated until the x value becomes 1 to X (S580-Y). If x is greater than X (S580-N), it is checked whether y is less than or equal to Y (S590).
그리고, y값이 1에서 Y가 될때까지(S590-Y), S515 내지 S590 단계를 반복한다. Then, steps S515 to S590 are repeated until the y value becomes 1 to Y (S590-Y).
이와 같은 과정을 거치게 되면, X×Y×I×J개의 오디오 데이터가 X×I개의 열과 Y×J개의 행을 가진 2차원 행렬 데이터에 모두 맵핑된다. 상술한 알고리즘에 의해 오디오 데이터가 2차원 행렬 데이터로 변환되는 예에 대해 도 6 및 도 7을 참고하여 설명한다. 도 6과 도 7을 X=3, Y=3, I=3, J=3인 경우를 예로 든 것이다. Through this process, the X × Y × I × J audio data is mapped to two-dimensional matrix data having X × I columns and Y × J rows. An example in which audio data is converted into two-dimensional matrix data by the above-described algorithm will be described with reference to FIGS. 6 and 7. 6 and 7 illustrate the case where X = 3, Y = 3, I = 3, and J = 3.
도 6은 본 발명의 일 실시예에 따른, 오디오 데이터를 그래프 형태로 도시한 도면이다. 도 6에 도시된 바와 같이, 오디오 데이터는 특정 시간간격으로 특정 크기(magnitude)를 갖는 디지털 값들로 구성되어 있다. 도 6에서는 D1에서 D81의 81개의 오디오 데이터가 도시되어 있다. 6 is a diagram illustrating audio data in graph form according to an embodiment of the present invention. As shown in FIG. 6, audio data is composed of digital values having a specific magnitude at a specific time interval. In FIG. 6, 81 audio data of D1 to D81 are shown.
도 7은 본 발명의 일 실시예에 따른, 9행 9열의 2차원 행렬 데이터를 도시한 도면이다. 도 7에 도시된 바와 같이, 2차원 행렬 데이터는 제1 데이터 블럭(710), 제2 데이터 블럭(720), 제3 데이터 블럭(730), 제4 데이터 블럭(740), 제5 데이터 블럭(750),제6 데이터 블럭(760), 제7 데이터 블럭(770), 제8 데이터 블럭(780), 제9 데이터 블럭(790)을 포함한다. 그리고, 9개의 데이터 블럭은 3개의 열(즉, X는 3)과 3개의 행(즉, Y는 3)을 포함하는 행렬형태로 배치된 것을 확인할 수 있다. FIG. 7 illustrates two-dimensional matrix data of nine rows and nine columns according to an embodiment of the present invention. FIG. As shown in FIG. 7, the two-dimensional matrix data includes a
또한, 제1 데이터 블럭(710) 내지 제9 데이터 블럭(790)은 각각 도 2의 PE1 내지 PE9에 의해 처리되게 된다. In addition, the first data block 710 to the ninth data block 790 are respectively processed by PE1 to PE9 of FIG.
각 데이터 블럭은 3개의 열(즉, I는 3) 및 3개의 행(즉, J는 3)을 가진 행렬형태의 9개의 데이터를 포함하는 것을 확인할 수 있다. 즉, 9개의 처리소자(PE1 내지 PE9) 각각은 9개의 데이터를 한번에 처리할 수 있는 것을 알 수 있다. It can be seen that each data block contains nine data in the form of a matrix having three columns (ie, I is 3) and three rows (ie, J is 3). That is, it can be seen that each of the nine processing elements PE1 to PE9 can process nine data at once.
도 5에 설명된 변환 알고리즘에 의해 81개의 오디오 데이터(D1 내지 D81)를 2차원 행렬 데이터로 변환하면, 도 7에 도시된 바와 같이 오디오 데이터들이 2차원 행렬 데이터로 배치된다. 구체적으로, 도 5의 변환 알고리즘에 따르면, 각 블럭에 우선적으로 9개씩 오디오 데이터가 할당되고, 하나의 블럭 내에서는 좌측 상단부터 우측방향으로 순차적으로 오디오 데이터를 맵핑한다. 그리고, 블럭 내의 최상단 행이 다 차면, 그 다음 행에 좌측에서 우측 방향으로 순차적으로 오디오 데이터를 맵핑한다. 이와 같은 과정을 통해, 도 7과 같은 2차원 행렬 데이터가 완성된다. When the 81 audio data D1 to D81 are converted into two-dimensional matrix data by the conversion algorithm described in FIG. 5, the audio data are arranged as two-dimensional matrix data as shown in FIG. Specifically, according to the conversion algorithm of FIG. 5, nine pieces of audio data are allocated to each block first, and in one block, the audio data is sequentially mapped from the upper left to the right. When the top row in the block is full, audio data is sequentially mapped from left to right in the next row. Through this process, two-dimensional matrix data as shown in FIG. 7 is completed.
다시, 도 4로 돌아가면, 변환부(210)는 완성된 2차원 행렬 데이터를 데이터 병렬 아키텍쳐에 입력한다(S460). 구체적으로, 제1 데이터 블럭(710)은 PE1에, 제2 데이터 블럭(720)은 PE2에, 제3 데이터 블럭(730)은 PE3에, 제4 데이터 블럭(740)은 PE4에, 제5 데이터 블럭(750)은 PE5에, 제6 데이터 블럭(760)은 PE6에, 제7 데이터 블럭(770)은 PE7에, 제8 데이터 블럭(780)은 PE8에, 제9 데이터 블럭(790)은 PE9에 각각 입력된다. 4, the
이와 같은 과정을 통해, 오디오 데이터는 2차원 행렬 데이터(즉, 이미지 데 이터 형태)로 변환된다. 그리고, 이를 통해, 오디오 데이터는 데이터 병렬 아키텍쳐를 이용하여 처리될 수 있게 된다. Through this process, the audio data is converted into two-dimensional matrix data (ie, image data form). And, through this, audio data can be processed using the data parallel architecture.
본 실시예에서는, 오디오 데이터가 81개이고, 처리소자가 3×3개이며(즉, X=3, Y=3), 하나의 처리소자가 3×3개의 데이터를 처리할 수 있는 것(즉, I=3, J=3)으로 설명하였으나, 이는 설명의 편의를 위한 것에 불과하다. 즉, 처리소자의 개수와 하나의 처리소자가 처리할 수 있는 데이터의 개수는 다양하게 변화될 수 있으며, 이에 따라 2차원 행렬 데이터의 열과 행의 수 및 데이터 블럭의 열과 행의 수는 달라지게 된다. In this embodiment, there are 81 audio data, 3 x 3 processing elements (i.e., X = 3, Y = 3), and one processing element can process 3 x 3 data (i.e., I = 3, J = 3), but this is just for convenience of description. That is, the number of processing elements and the number of data that can be processed by one processing element can be changed in various ways. Accordingly, the number of columns and rows of two-dimensional matrix data and the number of columns and rows of data blocks vary. .
본 실시예에서는, 오디오 데이터가 2차원 행렬 데이터로 변환되는 알고리즘을 도 5에서 제시하였으나, 도 5의 알고리즘에 한정되지 않음은 물론이다. 즉, 본 발명은 오디오 데이터가 2차원 행렬 데이터로 변환되는 것이라면 어떤 알고리즘에 의하더라도 적용될 수 있음은 물론이다. 예를 들어, 도 5의 알고리즘은 가로 방향을 우선으로 데이터를 배치시키지만, 세로 방향을 우선으로 배치하는 알고리즘이 사용될 수도 있다. In this embodiment, an algorithm for converting audio data into two-dimensional matrix data is illustrated in FIG. 5, but is not limited to the algorithm of FIG. 5. In other words, the present invention can be applied to any algorithm as long as the audio data is converted into two-dimensional matrix data. For example, although the algorithm of FIG. 5 places data in the horizontal direction first, an algorithm in which the vertical direction is placed first may be used.
또한, 본 실시예에서는, 오디오 데이터가 2차원 행렬 데이터로 변환되는 것으로 설명하였으나, 이외에도 1차원 형태의 데이터라면 어떤 종류의 데이터이더라도 2차원 행렬 데이터로 변환될 수 있음은 물론이다. In addition, in the present embodiment, the audio data is described as being converted to the two-dimensional matrix data, but of course, any type of data can be converted to the two-dimensional matrix data if the data in the one-dimensional form of course.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.In addition, although the preferred embodiment of the present invention has been shown and described above, the present invention is not limited to the specific embodiments described above, but the technical field to which the invention belongs without departing from the spirit of the invention claimed in the claims. Of course, various modifications can be made by those skilled in the art, and these modifications should not be individually understood from the technical spirit or the prospect of the present invention.
도 1은 본 발명의 일 실시예에 따른, 오디오 장치의 개략적인 구성을 도시한 블럭도, 1 is a block diagram showing a schematic configuration of an audio device according to an embodiment of the present invention;
도 2는 본 발명의 일 실시예에 따른, 데이터 병렬 아키텍쳐가 적용된 오디오 데이터 처리장치의 구조를 상세히 도시한 도면, 2 is a diagram illustrating in detail the structure of an audio data processing apparatus to which a data parallel architecture is applied according to an embodiment of the present invention;
도 3은 본 발명의 일 실시예에 따른, 오디오 데이터 처리방법을 설명하기 위해 제공되는 흐름도,3 is a flowchart provided to explain an audio data processing method according to an embodiment of the present invention;
도 4는 본 발명의 일 실시예에 따른, 변환부에 의해 오디오 데이터가 2차원 행렬 데이터로 변환되는 과정에 대해 설명하기 위해 제공되는 흐름도,4 is a flowchart provided to explain a process of converting audio data into two-dimensional matrix data by a conversion unit according to an embodiment of the present invention;
도 5는 본 발명의 일 실시예에 따른, 변환 알고리즘을 설명하기 위해 제공되는 흐름도,5 is a flowchart provided to explain a conversion algorithm, according to an embodiment of the present invention;
도 6은 본 발명의 일 실시예에 따른, 오디오 데이터를 그래프 형태로 도시한 도면, 6 is a diagram illustrating audio data in graph form according to an embodiment of the present invention;
도 7은 본 발명의 일 실시예에 따른, 9행 9열의 2차원 행렬 데이터를 도시한 도면이다. FIG. 7 illustrates two-dimensional matrix data of nine rows and nine columns according to an embodiment of the present invention. FIG.
* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings
110 : 오디오 입력부 120 : A/D 컨버터110: audio input unit 120: A / D converter
200 : 오디오 데이터 처리장치 130 : 오디오 출력부200: audio data processing device 130: audio output unit
210 : 변환부 220 : 처리부210: converter 220: processor
225 : 처리소자 제어부 230 : 역변환부225: processing element controller 230: inverse transform unit
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080112345A KR101010954B1 (en) | 2008-11-12 | 2008-11-12 | Method for processing audio data, and audio data processing apparatus applying the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080112345A KR101010954B1 (en) | 2008-11-12 | 2008-11-12 | Method for processing audio data, and audio data processing apparatus applying the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100053298A KR20100053298A (en) | 2010-05-20 |
KR101010954B1 true KR101010954B1 (en) | 2011-01-26 |
Family
ID=42278444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080112345A KR101010954B1 (en) | 2008-11-12 | 2008-11-12 | Method for processing audio data, and audio data processing apparatus applying the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101010954B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060100865A1 (en) * | 2000-10-20 | 2006-05-11 | Pts Corporation | Methods and apparatus for efficient vocoder implementations |
US20070189618A1 (en) * | 2006-01-10 | 2007-08-16 | Lazar Bivolarski | Method and apparatus for processing sub-blocks of multimedia data in parallel processing systems |
-
2008
- 2008-11-12 KR KR1020080112345A patent/KR101010954B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060100865A1 (en) * | 2000-10-20 | 2006-05-11 | Pts Corporation | Methods and apparatus for efficient vocoder implementations |
US20070189618A1 (en) * | 2006-01-10 | 2007-08-16 | Lazar Bivolarski | Method and apparatus for processing sub-blocks of multimedia data in parallel processing systems |
Also Published As
Publication number | Publication date |
---|---|
KR20100053298A (en) | 2010-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105993177A (en) | Image capture accelerator | |
JP2012138787A5 (en) | ||
JP2011134102A (en) | Information processing apparatus and information processing method | |
US20110229033A1 (en) | Image Processing Method, and Program | |
JP2006295877A5 (en) | ||
CN107680028B (en) | Processor and method for scaling an image | |
WO2006129518A1 (en) | Memory access method | |
JP2008160306A5 (en) | ||
JP6251029B2 (en) | Control device, image processing device, control method, and program | |
CN1710946A (en) | Method for overlaying character on digital picture | |
CN102263905A (en) | Special effect processing method of image and apparatus thereof | |
KR101010954B1 (en) | Method for processing audio data, and audio data processing apparatus applying the same | |
CN106296614B (en) | Image processing apparatus and image processing method | |
US8467624B2 (en) | Image processing apparatus, image processing circuit, and image processing method | |
JP2006238070A5 (en) | ||
Ergünay et al. | Hardware implementation of a smart camera with keypoint detection and description | |
JP7106144B2 (en) | Image analysis device | |
JP6171640B2 (en) | Data conversion device, data conversion circuit, and data conversion method | |
CN106817583B (en) | HEVC SAO calculation method and device | |
CN115689895B (en) | Up-sampling hardware processing system based on Lanczos interpolation | |
CN114492728A (en) | Processing method, device and equipment based on image data Y component and storage medium | |
JP2002305651A5 (en) | ||
CN100353372C (en) | Graph separation of digital imaging data | |
JP2010162802A (en) | Image processing apparatus, image processing method and computer program | |
JP2020013225A (en) | Image quality-enhancement learning device and image quality-enhancement device |
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: 20140116 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20141118 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |