KR101174349B1 - System for playing audio data - Google Patents

System for playing audio data Download PDF

Info

Publication number
KR101174349B1
KR101174349B1 KR1020120066827A KR20120066827A KR101174349B1 KR 101174349 B1 KR101174349 B1 KR 101174349B1 KR 1020120066827 A KR1020120066827 A KR 1020120066827A KR 20120066827 A KR20120066827 A KR 20120066827A KR 101174349 B1 KR101174349 B1 KR 101174349B1
Authority
KR
South Korea
Prior art keywords
voice data
data
unit
flash
voice
Prior art date
Application number
KR1020120066827A
Other languages
Korean (ko)
Inventor
김병용
Original Assignee
엘아이지넥스원 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘아이지넥스원 주식회사 filed Critical 엘아이지넥스원 주식회사
Priority to KR1020120066827A priority Critical patent/KR101174349B1/en
Application granted granted Critical
Publication of KR101174349B1 publication Critical patent/KR101174349B1/en

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • 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
    • G11B2020/10537Audio or video recording
    • G11B2020/10546Audio or video recording specifically adapted for audio data
    • 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
    • G11B2020/10935Digital recording or reproducing wherein a time constraint must be met
    • G11B2020/10944Real-time recording or reproducing, e.g. for ensuring seamless playback of AV data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/663Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports

Abstract

PURPOSE: An audio data reproducing system is provided to delete and store audio data in parallel using a message queue when the audio data are stored. CONSTITUTION: A second audio data processing unit extracts and records audio data, stored in a message queue, in at least one flash which is selected from a flash package. The second audio data processing unit deletes data which are recorded in at least one flash which is not selected from the flash package. An audio data transmitting unit(310) transmits recorded audio data to a TCP socket. An audio data reproducing unit(320) receives the recorded audio data using a TCP socket. The audio data reproducing unit reproduces the received audio data.

Description

음성 데이터 재생 시스템 {System for playing audio data}Voice data playback system {System for playing audio data}

본 발명은 실시간 저장된 음성 데이터를 재생하는 시스템에 관한 것이다.The present invention relates to a system for reproducing real-time stored voice data.

최근 들어 블랙박스 시스템은 항공, 선박 등에서 여러 분야로 발전하고 있다. 이러한 블랙박스 시스템에서 가장 중요한 기능은 데이터를 효율적으로 관리하고 저장하는 방법이다. 그런데, 음성 데이터는 연속적인 신호 특성을 가지고 있기 때문에 저장을 할 경우 저장 속도에 많은 영향을 준다. 만약 일정한 주기로 음성 데이터를 처리하지 못한다면 음질은 크게 저하된다.Recently, the black box system has been developed in various fields such as aviation and ships. The most important function of such a black box system is how to manage and store data efficiently. However, since voice data has continuous signal characteristics, the storage speed greatly affects the storage speed. If the voice data cannot be processed at regular intervals, the sound quality is greatly degraded.

한편, 플래시는 저장할 섹터 영역이 저장 전에 삭제되어 있어야 저장이 가능하다. 그래서, 데이터를 플래시 메모리에 저장할 때에는 데이터 삭제 과정을 거친 뒤에 데이터 저장을 수행한다. 그런데, 삭제 속도가 저장 속도보다 느리기 때문에 데이터를 저장하는 데에 많은 시간이 소요되어 음성 데이터를 플래시에 실시간으로 저장하는 것은 매우 어렵다.On the other hand, the flash can be stored only if the sector area to be stored is deleted before storing. Therefore, when data is stored in the flash memory, the data is stored and then stored. However, since the deletion speed is slower than the storage speed, it takes a lot of time to store the data, so it is very difficult to store the voice data in the flash in real time.

본 발명은 상기한 문제점을 해결하기 위해 안출된 것으로서, 음성 데이터를 저장할 때에 메시지 큐(Message Queue)를 이용하며 데이터의 삭제와 저장을 병렬로 처리하는 음성 데이터 저장 장치와 방법 및 음성 데이터 재생 시스템을 제안함을 목적으로 한다.DISCLOSURE OF THE INVENTION The present invention has been made to solve the above problems, and a voice data storage device and method for processing data deletion and storage in parallel using a message queue when storing voice data, and a voice data reproducing system are provided. For the purpose of suggestion.

본 발명은 상기한 목적을 달성하기 위해 안출된 것으로서, 음성 데이터를 메시지 큐(Message Queue)에 저장시키는 제1 음성 데이터 처리부; 및 상기 음성 데이터의 처리가 가능할 때에, 플래시들을 포함하는 플래시 패키지로부터 선택된 적어도 하나의 선택 플래시에 상기 메시지 큐에 저장된 음성 데이터를 추출하여 기록하며, 상기 플래시 패키지로부터 선택되지 않은 적어도 하나의 미선택 플래시에 기록되어 있는 데이터를 삭제하는 제2 음성 데이터 처리부를 포함하는 것을 특징으로 하는 음성 데이터 저장 장치를 제안한다.The present invention has been made to achieve the above object, the first voice data processing unit for storing voice data in a message queue (Message Queue); And extracting and recording voice data stored in the message queue into at least one selected flash selected from a flash package including flashes when the voice data can be processed, and to at least one unselected flash not selected from the flash package. A voice data storage device comprising a second voice data processor for deleting recorded data.

바람직하게는, 상기 제2 음성 데이터 처리부는, 상기 메시지 큐를 생성하는 메시지 큐 생성부; 상기 메시지 큐에 저장된 음성 데이터를 획득하는 메시지 큐 획득부; 입력된 명령을 기초로 상기 미선택 플래시의 섹터 단위 또는 블록 단위로 상기 삭제를 수행하는 데이터 삭제부; 상기 삭제가 수행될 때, 오프셋(offset)을 증가시키면서 상기 삭제 때와 동일 단위로 상기 기록을 수행하는 데이터 기록부; 상기 기록이 수행될 때마다 상기 오프셋이 기준값 이상인지 여부를 판별하는 오프셋 판별부; 및 기준값 이상이면 상기 플래시 패키지로부터 상기 선택 플래시를 다시 선택하며, 기준값 이상이 아니면 상기 기록이 다시 수행되도록 제어하는 오프셋 처리부를 포함한다.Preferably, the second voice data processing unit, a message queue generating unit for generating the message queue; A message queue obtaining unit obtaining voice data stored in the message queue; A data deletion unit for performing the deletion in units of sectors or blocks of the unselected flash based on an input command; A data recording unit which performs the recording in the same unit as the deletion while increasing the offset when the deletion is performed; An offset determination unit that determines whether the offset is equal to or greater than a reference value each time the recording is performed; And an offset processing unit for reselecting the selected flash from the flash package if it is equal to or greater than a reference value, and controlling the recording to be performed again if it is not equal to or greater than the reference value.

바람직하게는, 상기 제2 음성 데이터 처리부는 상기 기록과 상기 삭제를 동시에 수행하거나, 동일 개수의 플래시에 대하여 상기 기록과 상기 삭제를 각각 수행하거나, 또는 상기 음성 데이터가 상기 메시지 큐에 저장될 때마다 상기 기록과 상기 삭제를 실시간으로 수행한다.Preferably, the second voice data processing unit performs the recording and the deletion at the same time, each recording and the deletion for the same number of flashes, or whenever the voice data is stored in the message queue. The recording and the deletion are performed in real time.

바람직하게는, 상기 제1 음성 데이터 처리부는, 상기 메시지 큐가 생성되면 상기 메시지 큐와 관련된 메시지 큐 핸들을 획득하는 메시지 큐 핸들 획득부; 상기 메시지 큐 핸들을 기초로 상기 메시지 큐에 메모리를 할당하는 메모리 할당부; 음성 데이터를 획득하는 음성 데이터 획득부; 획득된 음성 데이터를 압축하는 음성 데이터 압축부; 입력된 명령에 근거하여 압축된 음성 데이터를 계속 저장할 것인지 여부를 판별하는 음성 데이터 판별부; 및 계속 저장 대상이면 압축된 음성 데이터의 내용을 메모리 할당된 메시지 큐에 저장시키며, 더이상 저장 대상이 아니면 메시지 큐에 저장된 음성 데이터에 대한 정보를 저장시키는 음성 데이터 저장부를 포함한다.Preferably, the first voice data processing unit includes: a message queue handle obtaining unit obtaining a message queue handle associated with the message queue when the message queue is created; A memory allocator configured to allocate memory to the message queue based on the message queue handle; A voice data acquisition unit for acquiring voice data; A voice data compression unit for compressing the obtained voice data; A voice data determination unit that determines whether to continue to store the compressed voice data based on the input command; And a voice data storage unit for storing the contents of the compressed voice data in a memory-allocated message queue if the storage target is to be continuously stored, and storing information on the voice data stored in the message queue if the storage target is no longer stored.

또한, 본 발명은 음성 데이터를 메시지 큐에 저장시키는 제1 음성 데이터 처리 단계; 및 상기 음성 데이터의 처리가 가능할 때에, 플래시들을 포함하는 플래시 패키지로부터 선택된 적어도 하나의 선택 플래시에 상기 메시지 큐에 저장된 음성 데이터를 추출하여 기록하며, 상기 플래시 패키지로부터 선택되지 않은 적어도 하나의 미선택 플래시에 기록되어 있는 데이터를 삭제하는 제2 음성 데이터 처리 단계를 포함하는 것을 특징으로 하는 음성 데이터 저장 방법을 제안한다.The present invention also provides a method for processing voice data, comprising: a first voice data processing step of storing voice data in a message queue; And extracting and recording voice data stored in the message queue into at least one selected flash selected from a flash package including flashes when the voice data can be processed, and to at least one unselected flash not selected from the flash package. And a second voice data processing step of deleting the recorded data.

바람직하게는, 상기 제2 음성 데이터 처리 단계는, 상기 메시지 큐를 생성하는 메시지 큐 생성 단계; 상기 메시지 큐에 저장된 음성 데이터를 획득하는 메시지 큐 획득 단계; 입력된 명령을 기초로 상기 미선택 플래시를 구성하는 섹터 단위 또는 블록 단위로 상기 삭제를 수행하는 데이터 삭제 단계; 상기 삭제가 수행될 때, 오프셋을 증가시키면서 상기 삭제 때와 동일 단위로 상기 기록을 수행하는 데이터 기록 단계; 상기 기록이 수행될 때마다 상기 오프셋이 기준값 이상인지 여부를 판별하는 오프셋 판별 단계; 및 기준값 이상이면 상기 플래시 패키지로부터 상기 선택 플래시를 다시 선택하며, 기준값 이상이 아니면 상기 기록이 다시 수행되도록 제어하는 오프셋 처리 단계를 포함한다.Advantageously, said second voice data processing step comprises: a message queue generation step of generating said message queue; A message queue obtaining step of obtaining voice data stored in the message queue; A data deletion step of performing the deletion on a sector basis or a block basis constituting the unselected flash based on an input command; A data recording step of performing the recording in the same unit as the deletion while increasing the offset when the deletion is performed; An offset determination step of discriminating whether or not the offset is equal to or greater than a reference value each time the recording is performed; And an offset processing step of reselecting the selection flash from the flash package if it is equal to or greater than a reference value, and controlling the recording to be performed again if it is not equal to or greater than the reference value.

바람직하게는, 상기 제2 음성 데이터 처리 단계는 상기 기록과 상기 삭제를 동시에 수행하거나, 동일 개수의 플래시에 대하여 상기 기록과 상기 삭제를 각각 수행하거나, 또는 상기 음성 데이터가 상기 메시지 큐에 저장될 때마다 상기 기록과 상기 삭제를 실시간으로 수행한다.Preferably, the second voice data processing step is performed when the recording and the deletion are performed simultaneously, the recording and the deletion are respectively performed for the same number of flashes, or when the voice data is stored in the message queue. The recording and the deletion are performed in real time every time.

바람직하게는, 상기 제1 음성 데이터 처리 단계는, 상기 메시지 큐가 생성되면, 상기 메시지 큐와 관련된 메시지 큐 핸들을 획득하는 메시지 큐 핸들 획득 단계; 상기 메시지 큐 핸들을 기초로 상기 메시지 큐에 메모리를 할당하는 메모리 할당 단계; 음성 데이터를 획득하는 음성 데이터 획득 단계; 획득된 음성 데이터를 압축하는 음성 데이터 압축 단계; 입력된 명령에 근거하여 압축된 음성 데이터를 계속 저장할 것인지 여부를 판별하는 음성 데이터 판별 단계; 및 계속 저장 대상이면 압축된 음성 데이터의 내용을 메모리 할당된 메시지 큐에 저장시키며, 더이상 저장 대상이 아니면 메시지 큐에 저장된 음성 데이터에 대한 정보를 저장시키는 음성 데이터 저장 단계를 포함한다.Preferably, the first voice data processing step includes: a message queue handle obtaining step of obtaining a message queue handle associated with the message queue when the message queue is created; A memory allocation step of allocating memory to the message queue based on the message queue handle; Obtaining voice data; A speech data compression step of compressing the obtained speech data; A voice data determination step of determining whether to continue to store the compressed voice data based on the input command; And storing the contents of the compressed voice data in a memory-allocated message queue if the storage target is to be stored, and storing information on the voice data stored in the message queue if the storage target is no longer a storage target.

또한, 본 발명은 음성 데이터를 메시지 큐에 저장시키는 제1 음성 데이터 처리부; 상기 음성 데이터의 처리가 가능할 때에, 플래시들을 포함하는 플래시 패키지로부터 선택된 적어도 하나의 선택 플래시에 상기 메시지 큐에 저장된 음성 데이터를 추출하여 기록하며, 상기 플래시 패키지로부터 선택되지 않은 적어도 하나의 미선택 플래시에 기록되어 있는 데이터를 삭제하는 제2 음성 데이터 처리부; 기록된 음성 데이터를 TCP 소켓으로 전송하는 음성 데이터 전송부; 및 상기 TCP 소켓을 이용하여 상기 기록된 음성 데이터를 수신하며, 수신된 음성 데이터를 재생시키는 음성 데이터 재생부를 포함하는 것을 특징으로 하는 음성 데이터 재생 시스템을 제안한다.The present invention also provides a first voice data processor for storing voice data in a message queue; When the voice data can be processed, voice data stored in the message queue is extracted and recorded in at least one selected flash selected from a flash package including flashes, and recorded in at least one unselected flash not selected from the flash package. A second voice data processor which deletes the data; A voice data transmitter for transmitting the recorded voice data to a TCP socket; And a voice data reproducing unit for receiving the recorded voice data using the TCP socket and reproducing the received voice data.

바람직하게는, 상기 음성 데이터 전송부는, 상기 기록된 음성 데이터를 상기 음성 데이터 재생부로 전송하기 위한 상기 TCP 소켓을 구성하는 TCP 소켓 처리부; 상기 기록된 음성 데이터에 대한 정보를 기초로 상기 기록된 음성 데이터가 미리 정해진 조건에 부합하는 것인지 여부를 제1 판별하는 조건 판별부; 조건에 부합하면 오프셋을 증가시키면서 음성 데이터가 기록된 플래시로부터 섹터 단위 또는 블록 단위로 상기 기록된 음성 데이터를 추출하는 음성 데이터 추출부; 추출된 음성 데이터를 구성된 TCP 소켓으로 전송하는 전송부; 상기 전송부에 의한 상기 전송이 수행될 때마다 상기 오프셋이 기준값 이상인지 여부를 제2 판별하는 오프셋 비교부; 및 기준값 이상이면 상기 추출을 위한 섹터 또는 블록을 변경한 뒤 더이상 추출할 음성 데이터가 없을 때까지 상기 제1 판별이 다시 수행되도록 제어하며, 기준값 이상이 아니면 상기 변경 없이 더이상 추출할 음성 데이터가 없을 때까지 상기 제1 판별이 다시 수행되도록 제어하는 판별 수행 제어부를 포함한다.Preferably, the voice data transmitter comprises: a TCP socket processor configured to configure the TCP socket for transmitting the recorded voice data to the voice data reproducing unit; A condition discriminating unit configured to first determine whether the recorded speech data meets a predetermined condition based on the information on the recorded speech data; A voice data extraction unit for extracting the recorded voice data in sector units or block units from a flash on which voice data is recorded while increasing an offset if the condition is met; A transmitter for transmitting the extracted voice data to a configured TCP socket; An offset comparison unit for secondly determining whether the offset is equal to or greater than a reference value each time the transmission by the transmission unit is performed; And if the reference value is equal to or greater than the reference value, the first determination is performed again after changing the sector or block for extraction until there is no more voice data to extract; And a determination performing control unit controlling to perform the first determination again.

바람직하게는, 상기 음성 데이터 재생부는, 상기 음성 데이터 전송부에 의해 상기 TCP 소켓이 구성되면, 구성된 TCP 소켓과의 연결을 수행하는 TCP 소켓 연결부; 상기 연결이 수행되면, 상기 구성된 TCP 소켓으로부터 상기 기록된 음성 데이터를 수신 저장하는 음성 데이터 수신부; 상기 수신이 종료되면, 상기 구성된 TCP 소켓을 삭제하는 TCP 소켓 삭제부; 상기 재생을 수행하는 사운드 디바이스를 생성하는 사운드 디바이스 생성부; 저장된 음성 데이터를 디코딩시키는 디코딩부; 및 상기 재생을 위한 재생 위치를 설정하며, 생성된 사운드 디바이스를 통해 설정된 재생 위치에서 디코딩된 음성 데이터를 재생시키는 사운드 디바이스 구동 제어부를 포함한다.Preferably, the voice data reproducing unit, the TCP socket connection unit for performing a connection with the configured TCP socket when the TCP socket is configured by the voice data transmission unit; A voice data receiver configured to receive and store the recorded voice data from the configured TCP socket when the connection is performed; A TCP socket deletion unit for deleting the configured TCP socket when the reception is completed; A sound device generator for generating a sound device for performing the playback; A decoding unit for decoding the stored voice data; And a sound device driving control unit which sets a reproduction position for the reproduction and reproduces the decoded voice data at the reproduction position set through the generated sound device.

본 발명은 다음 효과를 얻을 수 있다. 첫째, 음성 데이터를 저장할 때에 메시지 큐를 이용함으로써, 플래시 메모리에 음성 데이터를 안정적으로 저장할 수 있다. 둘째, 데이터의 삭제와 저장을 병렬로 처리함으로써, 음성 데이터를 저장하는 데에 걸리는 시간을 단축시킬 수 있으며 음성 데이터의 실시간 저장도 가능해진다.The present invention can obtain the following effects. First, by using the message queue when storing the voice data, the voice data can be stably stored in the flash memory. Second, by deleting and storing data in parallel, the time taken to store the voice data can be shortened, and real-time storage of the voice data is also possible.

도 1은 본 발명의 바람직한 실시예에 따른 음성 데이터 저장 장치를 개략적으로 도시한 블록도이다.
도 2는 본 음성 데이터 저장 장치를 구성하는 모듈을 구체적으로 도시한 블록도이다.
도 3은 본 발명의 바람직한 실시예에 따른 음성 데이터 재생 시스템을 개략적으로 도시한 블록도이다.
도 4는 본 음성 데이터 재생 시스템을 구성하는 모듈을 구체적으로 도시한 블록도이다.
도 5는 일실시예에 따른 플래시 저장 시스템을 개략적으로 도시한 블록도이다.
도 6은 데이터 획득 및 압축 모듈의 데이터 획득 및 압축 과정을 보여주는 흐름도이다.
도 7은 음성 저장 모듈의 음성 저장 방법을 설명하기 위한 참고도이다.
도 8은 음성 저장 모듈의 음성 저장 과정을 보여주는 흐름도이다.
도 9는 음성 저장 시스템의 일실시 예시도이다.
도 10은 음성 저장 시스템의 주요 기능을 설명한 음성 저장 시스템의 구성표이다.
도 11은 데이터 전송 모듈의 데이터 전송 방법과 관련한 흐름도이다.
도 12는 음성 재생 모듈의 음성 재생 방법과 관련한 흐름도이다.
도 13은 플래시 저장 시스템에 대한 실험 결과 데이터이다.
도 14는 본 발명의 바람직한 실시예에 따른 음성 데이터 저장 방법을 개략적으로 도시한 흐름도이다.
1 is a block diagram schematically illustrating a voice data storage device according to a preferred embodiment of the present invention.
2 is a block diagram specifically showing a module constituting the voice data storage device.
3 is a block diagram schematically showing a voice data reproducing system according to a preferred embodiment of the present invention.
4 is a block diagram specifically showing a module constituting the voice data reproducing system.
5 is a block diagram schematically illustrating a flash storage system according to an exemplary embodiment.
6 is a flowchart illustrating a data acquisition and compression process of the data acquisition and compression module.
7 is a reference diagram for explaining a voice storage method of the voice storage module.
8 is a flowchart illustrating a voice storage process of the voice storage module.
9 is an exemplary view of a voice storage system.
10 is a configuration diagram of the voice storage system explaining the main functions of the voice storage system.
11 is a flowchart related to a data transmission method of a data transmission module.
12 is a flowchart related to a voice reproducing method of the voice reproducing module.
13 is experimental result data for a flash storage system.
14 is a flowchart schematically showing a method of storing voice data according to a preferred embodiment of the present invention.

이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the drawings, the same reference numerals are used to designate the same or similar components throughout the drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. In addition, the following will describe a preferred embodiment of the present invention, but the technical idea of the present invention is not limited thereto and may be variously modified and modified by those skilled in the art.

도 1은 본 발명의 바람직한 실시예에 따른 음성 데이터 저장 장치를 개략적으로 도시한 블록도이다. 도 2는 본 음성 데이터 저장 장치를 구성하는 모듈을 구체적으로 도시한 블록도이다. 이하 설명은 도 1과 도 2를 참조한다.1 is a block diagram schematically illustrating a voice data storage device according to a preferred embodiment of the present invention. 2 is a block diagram specifically showing a module constituting the voice data storage device. The following description refers to FIGS. 1 and 2.

도 1에 따르면, 음성 데이터 저장 장치(100)는 제1 음성 데이터 처리부(110), 제2 음성 데이터 처리부(120), 전원부(130) 및 제1 주제어부(140)를 포함한다.According to FIG. 1, the voice data storage device 100 includes a first voice data processor 110, a second voice data processor 120, a power supply unit 130, and a first main controller 140.

제1 음성 데이터 처리부(110)는 음성 데이터를 메시지 큐(Message Queue)에 저장시키는 기능을 수행한다. 제1 음성 데이터 처리부(110)는 도 2의 (a)에 도시된 바와 같이 메시지 큐 핸들 획득부(111), 메모리 할당부(112), 음성 데이터 획득부(113), 음성 데이터 압축부(114), 음성 데이터 판별부(115) 및 음성 데이터 저장부(116)를 포함할 수 있다.The first voice data processing unit 110 stores the voice data in a message queue. As shown in FIG. 2A, the first voice data processor 110 may include a message queue handle acquirer 111, a memory allocator 112, a voice data acquirer 113, and a voice data compressor 114. ), A voice data determination unit 115 and a voice data storage unit 116.

메시지 큐 핸들 획득부(111)는 제2 음성 데이터 처리부(120)에 의해 메시지 큐가 생성되면, 메시지 큐와 관련된 메시지 큐 핸들을 획득하는 기능을 수행한다. 메모리 할당부(112)는 메시지 큐 핸들을 기초로 메시지 큐에 메모리를 할당하는 기능을 수행한다.When the message queue is generated by the second voice data processing unit 120, the message queue handle obtaining unit 111 acquires a message queue handle related to the message queue. The memory allocator 112 performs a function of allocating memory to the message queue based on the message queue handle.

한편, 음성 데이터 획득부(113)는 음성 데이터를 획득하는 기능을 수행한다. 음성 데이터 압축부(114)는 획득된 음성 데이터를 압축하는 기능을 수행한다. 음성 데이터 판별부(115)는 입력된 명령에 근거하여 압축된 음성 데이터를 계속 저장할 것인지 여부를 판별하는 기능을 수행한다. 압축된 음성 데이터가 계속 저장 대상이면, 음성 데이터 저장부(116)는 압축된 음성 데이터의 내용을 메모리 할당된 메시지 큐에 저장시키는 기능을 수행한다. 반면, 압축된 음성 데이터가 더이상 저장 대상이 아니면, 음성 데이터 저장부(116)는 메시지 큐에 저장된 음성 데이터에 대한 정보를 저장시키는 기능을 수행한다.Meanwhile, the voice data acquisition unit 113 performs a function of obtaining voice data. The voice data compressor 114 performs a function of compressing the obtained voice data. The voice data determination unit 115 determines whether to continue to store the compressed voice data based on the input command. If the compressed voice data continues to be stored, the voice data storage unit 116 stores the contents of the compressed voice data in a memory allocated message queue. On the other hand, if the compressed voice data is no longer a storage target, the voice data storage unit 116 stores the information on the voice data stored in the message queue.

제2 음성 데이터 처리부(120)는 메시지 큐에 저장된 음성 데이터의 처리가 가능할 때에, 플래시들을 포함하는 플래시 패키지로부터 선택된 적어도 하나의 선택 플래시에 상기 음성 데이터를 추출하여 기록하는 기능을 수행한다. 이때, 제2 음성 데이터 처리부(120)는 플래시 패키지로부터 선택되지 않은 적어도 하나의 미선택 플래시에 대해서는 미선택 플래시에 기록되어 있는 데이터를 삭제하는 기능을 수행한다. 하나의 플래시는 다수개의 블록들로 분할될 수 있으며, 각 블록은 다수개의 섹터들로 분할될 수 있다. 제2 음성 데이터 처리부(120)는 섹터 단위 또는 블록 단위로 음성 데이터를 기록하거나 삭제할 수 있다.When the voice data stored in the message queue can be processed, the second voice data processor 120 performs a function of extracting and recording the voice data into at least one selected flash selected from a flash package including flashes. In this case, the second voice data processor 120 deletes data recorded in the unselected flash for at least one unselected flash not selected from the flash package. One flash may be divided into a plurality of blocks, and each block may be divided into a plurality of sectors. The second voice data processor 120 may record or delete voice data in units of sectors or blocks.

제2 음성 데이터 처리부(120)는 데이터 기록과 데이터 삭제를 동시에 수행할 수 있다. 또는, 제2 음성 데이터 처리부(120)는 동일 개수의 플래시에 대하여 데이터 기록과 데이터 삭제를 각각 수행할 수 있다. 또는, 제2 음성 데이터 처리부(120)는 음성 데이터가 메시지 큐에 저장될 때마다 데이터 기록과 데이터 삭제를 실시간으로 수행할 수 있다. 제2 음성 데이터 처리부(120)의 이러한 기능을 고려할 때, 제2 음성 데이터 처리부(120)는 도 2의 (b)에 도시된 바와 같이 메시지 큐 생성부(121), 메시지 큐 획득부(122), 데이터 삭제부(123), 데이터 기록부(124), 오프셋 판별부(125) 및 오프셋 처리부(126)를 포함할 수 있다.The second voice data processor 120 may simultaneously perform data recording and data deletion. Alternatively, the second voice data processor 120 may perform data recording and data deletion on the same number of flashes, respectively. Alternatively, the second voice data processor 120 may perform data recording and data deletion in real time whenever the voice data is stored in the message queue. In view of this function of the second voice data processor 120, the second voice data processor 120 may include a message queue generator 121 and a message queue acquirer 122 as shown in FIG. 2B. The data deleting unit 123, the data recording unit 124, the offset determining unit 125, and the offset processing unit 126 may be included.

메시지 큐 생성부(121)는 메시지 큐를 생성하는 기능을 수행한다. 메시지 큐 획득부(122)는 메시지 큐에 저장된 음성 데이터를 획득하는 기능을 수행한다. 데이터 삭제부(123)는 입력된 명령을 기초로 미선택 플래시의 섹터 단위 또는 블록 단위로 데이터 삭제를 수행한다. 데이터 기록부(124)는 데이터 삭제부(123)에 의해 데이터 삭제가 수행될 때, 오프셋(offset)을 증가시키면서 선택 플래시의 섹터 단위 또는 블록 단위로 데이터 기록을 수행한다. 본 실시예에서 데이터 삭제와 데이터 기록은 동일 단위를 적용한다. 예컨대, 데이터 삭제부(123)가 섹터 단위로 데이터 삭제를 수행한다면 데이터 기록부(124)도 섹터 단위로 데이터 기록을 수행한다. 오프셋 판별부(125)는 데이터 기록이 수행될 때마다 오프셋이 기준값 이상인지 여부를 판별하는 기능을 수행한다. 오프셋이 기준값 이상인 것으로 판별되면, 오프셋 처리부(126)는 플래시 패키지로부터 선택 플래시를 다시 선택하는 기능을 수행한다. 반면, 오프셋이 기준값 미만인 것으로 판별되면, 오프셋 처리부(126)는 데이터 기록이 다시 수행되도록 제어하는 기능을 수행한다.The message queue generating unit 121 performs a function of generating a message queue. The message queue acquisition unit 122 performs a function of acquiring voice data stored in the message queue. The data deleting unit 123 deletes data in sector units or block units of the unselected flash based on the input command. When data deletion is performed by the data deletion unit 123, the data recording unit 124 performs data recording in units of sectors or blocks of the selected flash while increasing an offset. In this embodiment, data deletion and data recording apply the same unit. For example, if the data deletion unit 123 performs data deletion in sector units, the data recording unit 124 also performs data recording in sector units. The offset determination unit 125 performs a function of determining whether the offset is equal to or greater than the reference value each time data recording is performed. If it is determined that the offset is greater than or equal to the reference value, the offset processing unit 126 performs a function of reselecting the selection flash from the flash package. On the other hand, if it is determined that the offset is less than the reference value, the offset processing unit 126 performs a function of controlling data recording to be performed again.

전원부(130)는 음성 데이터 저장 장치(100)를 구성하는 각 부(모듈)에 전원을 공급하는 기능을 수행한다.The power supply unit 130 supplies power to each unit (module) constituting the voice data storage device 100.

제1 주제어부(140)는 음성 데이터 저장 장치(100)를 구성하는 각 모듈의 전체 작동을 제어하는 기능을 수행한다.The first main control unit 140 performs a function of controlling the overall operation of each module constituting the voice data storage device 100.

도 3은 본 발명의 바람직한 실시예에 따른 음성 데이터 재생 시스템을 개략적으로 도시한 블록도이다. 도 4는 본 음성 데이터 재생 시스템을 구성하는 모듈을 구체적으로 도시한 블록도이다. 이하 설명은 도 3과 도 4를 참조한다.3 is a block diagram schematically showing a voice data reproducing system according to a preferred embodiment of the present invention. 4 is a block diagram specifically showing a module constituting the voice data reproducing system. The following description refers to FIGS. 3 and 4.

도 3에 따르면, 음성 데이터 재생 시스템(300)은 음성 데이터 저장 장치(100), 음성 데이터 전송부(310), 음성 데이터 재생부(320) 및 제2 주제어부(330)를 포함한다.According to FIG. 3, the voice data reproducing system 300 includes a voice data storage device 100, a voice data transmitting unit 310, a voice data reproducing unit 320, and a second main control unit 330.

음성 데이터 전송부(310)는 음성 데이터 저장 장치(100)에 의해 기록된 음성 데이터를 TCP 소켓으로 전송하는 기능을 수행한다. 음성 데이터 전송부(310)는 도 4의 (a)에 도시된 바와 같이 TCP 소켓 처리부(311), 조건 판별부(312), 음성 데이터 추출부(313), 전송부(314), 오프셋 비교부(315) 및 판별 수행 제어부(316)를 포함할 수 있다.The voice data transmitter 310 transmits the voice data recorded by the voice data storage device 100 to the TCP socket. As shown in FIG. 4A, the voice data transmitter 310 includes a TCP socket processor 311, a condition determiner 312, a voice data extractor 313, a transmitter 314, and an offset comparator. 315 and the determination performing control unit 316.

TCP 소켓 처리부(311)는 음성 데이터를 음성 데이터 재생부(320)로 전송하기 위한 TCP 소켓을 구성하는 기능을 수행한다. 조건 판별부(312)는 음성 데이터에 대한 정보를 기초로 음성 데이터가 미리 정해진 조건에 부합하는 것인지 여부를 제1 판별하는 기능을 수행한다. 음성 데이터가 조건에 부합하는 것으로 판별되면, 음성 데이터 추출부(313)는 오프셋을 증가시키면서 음성 데이터가 기록된 플래시로부터 섹터 단위 또는 블록 단위로 음성 데이터를 추출하는 기능을 수행한다. 전송부(314)는 추출된 음성 데이터를 구성된 TCP 소켓으로 전송하는 기능을 수행한다. 한편, 음성 데이터가 조건에 부합하지 않는 것으로 판별되면, 음성 데이터 추출부(313)는 TCP 소켓을 삭제하여 음성 데이터 재생부(320)로의 음성 데이터 전송을 취소할 수 있다.The TCP socket processing unit 311 performs a function of configuring a TCP socket for transmitting voice data to the voice data reproducing unit 320. The condition determining unit 312 performs a first function of determining whether the voice data meets a predetermined condition based on the information on the voice data. If it is determined that the voice data meets the condition, the voice data extracting unit 313 performs a function of extracting the voice data in units of sectors or blocks from the flash on which the voice data is recorded while increasing the offset. The transmitter 314 transmits the extracted voice data to the configured TCP socket. On the other hand, if it is determined that the voice data does not meet the condition, the voice data extraction unit 313 may cancel the voice data transmission to the voice data reproducing unit 320 by deleting the TCP socket.

오프셋 비교부(315)는 전송부(314)에 의한 데이터 전송이 수행될 때마다 오프셋이 기준값 이상인지 여부를 제2 판별하는 기능을 수행한다. 기준값 이상이면, 판별 수행 제어부(316)는 데이터 추출을 위한 섹터 또는 블록을 변경한 뒤 더이상 추출할 음성 데이터가 없을 때까지 제1 판별이 다시 수행되도록 제어하는 기능을 수행한다. 반면 기준값 이상이 아니면, 판별 수행 제어부(316)는 상기 변경 없이 더이상 추출할 음성 데이터가 없을 때까지 제1 판별이 다시 수행되도록 제어하는 기능을 수행한다.The offset comparison unit 315 performs a second function of determining whether the offset is equal to or greater than a reference value each time data transmission by the transmission unit 314 is performed. If it is equal to or greater than the reference value, the determination performing control unit 316 changes the sector or block for data extraction and controls the first determination to be performed again until there is no more voice data to extract. On the other hand, if it is not equal to or greater than the reference value, the determination performing control unit 316 performs a function of controlling the first determination to be performed again until there is no more voice data to be extracted without the change.

음성 데이터 재생부(320)는 TCP 소켓을 이용하여 음성 데이터 전송부(310)를 통해 음성 데이터를 수신하며, 수신된 음성 데이터를 재생시키는 기능을 수행한다. 음성 데이터 재생부(320)는 도 4의 (b)에 도시된 바와 같이 TCP 소켓 연결부(321), 음성 데이터 수신부(322), TCP 소켓 삭제부(323), 사운드 디바이스 생성부(324), 디코딩부(325) 및 사운드 디바이스 구동 제어부(326)를 포함할 수 있다.The voice data reproducing unit 320 receives voice data through the voice data transmitting unit 310 by using a TCP socket and performs a function of reproducing the received voice data. The voice data reproducing unit 320 includes a TCP socket connection unit 321, a voice data receiving unit 322, a TCP socket deleting unit 323, a sound device generating unit 324, and decoding as shown in FIG. 4B. The unit 325 and the sound device driving control unit 326 may be included.

TCP 소켓 연결부(321)는 음성 데이터 전송부(310)에 의해 TCP 소켓이 구성되면, 구성된 TCP 소켓과의 연결을 수행하는 기능을 수행한다. 연결이 수행되면, 음성 데이터 수신부(322)는 구성된 TCP 소켓으로부터 음성 데이터를 수신 저장하는 기능을 수행한다. 데이터 수신이 종료되면, TCP 소켓 삭제부(323)는 구성된 TCP 소켓을 삭제하는 기능을 수행한다. 사운드 디바이스 생성부(324)는 음성 데이터의 재생을 수행하는 사운드 디바이스를 생성하는 기능을 수행한다. 디코딩부(325)는 저장된 음성 데이터를 디코딩시키는 기능을 수행한다. 사운드 디바이스 구동 제어부(326)는 데이터 재생을 위한 재생 위치를 설정하며, 생성된 사운드 디바이스를 통해 설정된 재생 위치에서 디코딩된 음성 데이터를 재생시키는 기능을 수행한다.When the TCP socket is configured by the voice data transmission unit 310, the TCP socket connection unit 321 performs a function of performing a connection with the configured TCP socket. When the connection is made, the voice data receiver 322 performs a function of receiving and storing voice data from the configured TCP socket. When the data reception is finished, the TCP socket deleting unit 323 deletes the configured TCP socket. The sound device generation unit 324 performs a function of generating a sound device for reproducing voice data. The decoding unit 325 performs a function of decoding the stored voice data. The sound device driving control unit 326 sets a playback position for data reproduction and performs a function of playing the decoded voice data at the playback position set through the generated sound device.

다음으로, 음성 데이터 저장 장치(100)와 음성 데이터 재생 시스템(300)의 실시예에 대해서 설명한다. 음성 저장 시스템은 음성 데이터 저장 장치(100)의 실시예로서, 블랙박스 시스템에서 획득한 음성 데이터를 플래시 메모리에 실시간으로 저장하는 것이다. 음성 데이터는 연속적인 신호 특성을 가지고 있기 때문에 저장을 할 경우 저장 속도에 많은 영향을 준다. 그런데, 플래시는 저장할 섹터 영역이 저장 전에 삭제되어 있어야 저장이 가능한 데다 데이터 삭제 속도가 데이터 저장 속도보다 느리기 때문에, 음성 데이터를 플래시에 실시간으로 저장하는 것은 매우 어렵다. 음성 저장 시스템은 이러한 문제점을 해결하기 위한 것으로서, 데이터 저장과 데이터 삭제를 병렬로 처리함으로써 데이터 삭제에 걸리는 시간을 단축시키고, 음성 획득 모듈과 음성 저장 모듈 간에 메시지 큐를 사용함으로써 데이터를 안정적으로 저장시킨다. 음성 저장 시스템을 플래시 저장 시스템에 적용시킬 경우, 실험 결과 음성 저장 시스템에 의해 저장된 음성과 원 음성 간 음질의 차이가 거의 없음을 알 수 있다. 플래시 저장 시스템은 음성 데이터 재생 시스템(300)의 실시예이다.Next, an embodiment of the voice data storage device 100 and the voice data reproduction system 300 will be described. The voice storage system is an embodiment of the voice data storage device 100, and stores voice data acquired by a black box system in a flash memory in real time. Since voice data has continuous signal characteristics, the storage speed greatly affects the storage speed. However, since flash can be stored only when the sector area to be stored is deleted before storage, and the data deletion speed is slower than the data storage speed, it is very difficult to store voice data in the flash in real time. The voice storage system is to solve this problem. The data storage and data deletion process is performed in parallel to reduce the time required for data deletion and to stably store data by using a message queue between the voice acquisition module and the voice storage module. . When the voice storage system is applied to the flash storage system, the experimental results show that there is almost no difference in sound quality between the voice stored by the voice storage system and the original voice. The flash storage system is an embodiment of the voice data playback system 300.

도 5는 일실시예에 따른 플래시 저장 시스템을 개략적으로 도시한 블록도이다. 도 5에 따르면, 플래시 저장 시스템(500)은 데이터 획득 및 압축 모듈(510), 음성 저장 모듈(520), 데이터 전송 모듈(530) 및 음성 재생 모듈(540)을 포함한다. 음성 저장 시스템은 데이터 획득 및 압축 모듈(510)과 음성 저장 모듈(520)을 포함하는 구성이다.5 is a block diagram schematically illustrating a flash storage system according to an exemplary embodiment. According to FIG. 5, the flash storage system 500 includes a data acquisition and compression module 510, a voice storage module 520, a data transmission module 530, and a voice reproduction module 540. The voice storage system includes a data acquisition and compression module 510 and a voice storage module 520.

데이터 획득 및 압축 모듈(510)은 McASP로부터 데이터를 획득하고, 획득한 데이터를 G.726의 32kbps로 압축하는 기능을 한다. 데이터 획득은 각 채널당 1024 Byte를 획득하고, 획득한 데이터는 512 Byte로 압축을 한다. 압축된 데이터는 오디오 저장 모듈로 전달하기 위해서 메시지 큐로 데이터를 전송한다. 데이터 획득 및 압축 모듈(510)은 제1 음성 데이터 처리부(110)에 대응하는 구성이다.The data acquisition and compression module 510 acquires data from McASP and compresses the obtained data to 32 kbps of G.726. Data acquisition acquires 1024 bytes per channel, and the obtained data is compressed to 512 bytes. The compressed data is sent to the message queue for delivery to the audio storage module. The data acquisition and compression module 510 corresponds to the first voice data processing unit 110.

도 6은 데이터 획득 및 압축 모듈(310)의 데이터 획득 및 압축 과정을 보여주는 흐름도이다. S610 단계는 메시지 큐 핸들 획득부(111)가 수행하는 기능과 관련된 것이고, S620 단계는 메모리 할당부(112)가 수행하는 기능과 관련된 것이다. S630 단계는 음성 데이터 획득부(113)가 수행하는 기능과 관련된 것이고, S640 단계는 음성 데이터 압축부(114)가 수행하는 기능과 관련된 것이다. S650 단계는 데이터를 저장할 것인지 여부를 결정하는 단계이다. Yes이면 메시지 큐에 넣어서 음성 저장 모듈(520)로 전송해서 데이터를 플래시에 저장한다. 반면, No이면 EEPROM에 현재까지 사용했던 주소를 기록한다. 그 이유는 추후 플래시에 저장한 위치를 찾기 위해서이다. 데이터 전송 모듈(530)에서 시작 주소와 정지 주소를 EEPROM에서 획득하여 사용한 영역을 찾아서 플래시에 있는 데이터를 획득하여 전송해 주기 위함이다.6 is a flowchart illustrating a data acquisition and compression process of the data acquisition and compression module 310. Operation S610 is related to a function performed by the message queue handle acquisition unit 111, and operation S620 is related to a function performed by the memory allocator 112. Operation S630 is related to a function performed by the voice data acquisition unit 113, and operation S640 is related to a function performed by the voice data compression unit 114. Step S650 is a step for determining whether to store data. If yes, the message is put in the message queue and transmitted to the voice storage module 520 to store data in the flash. On the other hand, if No, the address used so far is recorded in the EEPROM. The reason for this is to find out where you saved the flash later. The data transmission module 530 obtains the start address and the stop address from the EEPROM, finds the used area, and acquires and transmits the data in the flash.

다시 도 5를 참조하여 설명한다.This will be described with reference to FIG. 5 again.

음성 저장 모듈(520)은 메시지를 생성하고, 생성된 메시지로부터 음성 데이터를 획득한다. 8개의 플래시는 4개로 분할하여 음성 데이터를 저장한다. 1번 채널에서 획득한 음성 데이터는 1~4번 플래시에 저장한다. 도 7에 도시된 바와 같이, 4개의 플래시는 2개씩 묶어서 상위 플래시(710)와 하위 플래시(720)로 구별한다. 상위 플래시(710)와 하위 플래시(720)로 구별하는 것은 상위 플래시(710)가 데이터를 저장하고 있으면 하위 플래시(720)는 삭제를 수행함으로써 병렬적으로 삭제와 저장을 처리한다. 모든 플래시는 섹터(sector) 단위로 번갈아 가면서 데이터를 저장한다. 음성 저장 모듈(520)는 제2 음성 데이터 처리부(120)에 대응하는 구성이다.The voice storage module 520 generates a message and obtains voice data from the generated message. Eight flashes are divided into four to store voice data. Voice data acquired from channel 1 is stored in flash 1 ~ 4. As shown in FIG. 7, four flashes are grouped into two and divided into an upper flash 710 and a lower flash 720. The upper flash 710 and the lower flash 720 are distinguished from each other when the upper flash 710 is storing data, and the lower flash 720 processes deletion and storage in parallel by performing deletion. Every flash alternately stores data in sectors. The voice storage module 520 has a configuration corresponding to the second voice data processor 120.

도 8은 음성 저장 모듈(520)의 음성 저장 과정을 보여주는 흐름도이다. 데이터 획득 및 압축 모듈(510)과 음성 저장 모듈(520) 간에 데이터 전송을 위해 사용하는 것이 메시지 큐이다. 따라서 데이터 획득 및 압축 모듈(510)에서 메시지 큐를 할당하고 음성 저장 모듈(520)에서 메시지를 생성함으로써 메시지 큐 초기화가 완료된다(S810).8 is a flowchart illustrating a voice storage process of the voice storage module 520. The message queue is used for data transfer between the data acquisition and compression module 510 and the voice storage module 520. Accordingly, message queue initialization is completed by allocating a message queue in the data acquisition and compression module 510 and generating a message in the voice storage module 520 (S810).

데이터 획득 및 압축 모듈(510)에서 메시지 큐에 저장(MSGQ_put())하면 음성 저장 모듈(520)에서 메시지 큐를 획득(MSGQ_put())한다(S820). 만약 데이터 획득 및 압축 모듈(510)에서 메시지 큐에 데이터를 넣지 않으면 메시지 큐를 획득하는 부분은 데이터가 들어올 때까지 기다린다(Pending 상태). 데이터가 들어오면 Exchange flag를 확인한다(S830). Exchange flag는 상위 플래시(예를 들어 1, 2 플래시)와 하위 플래시(예를 들어 3, 4 플래시)를 변경할 것인지를 알려주는 플래그이다. 예들 들어 만약 Exhange가 1이면 하위 플래시는 해당하는 섹터를 삭제하고 상위 플래시는 해당하는 섹터에 데이터를 저장한다(S840). 데이터 저장은 64Byte 단위로 데이터를 번갈아 가면서 저장한다(S850). Sector offset은 플래시를 교체할 것인지를 알려주는 역할을 한다(S860). Sector offset이 0xffff 이상이면 다른 섹터에 저장해야 한다. 왜냐하면 한 개의 섹터에 저장할 수 있는 크기는 0xffff(128kbyte)이기 때문이다. Sector offset이 0xffff 이상이면 상위 플래시와 하위 플래시를 교체하겠다고 Exchange을 1로 설정한다(S870). 만약 sector offset이 0xffff 이하이면 메시지 큐로 데이터가 들어올 때까지 대기한다.When the data acquisition and compression module 510 stores the message queue (MSGQ_put ()), the voice storage module 520 acquires the message queue (MSGQ_put ()) (S820). If the data acquisition and compression module 510 does not put data in the message queue, the part that acquires the message queue waits for data to enter (Pending state). If the data comes in, check the Exchange flag (S830). The Exchange flag is a flag that tells you whether you want to change the upper flash (for example, 1 or 2 flash) and the lower flash (for example, 3 or 4 flash). For example, if Exhange is 1, the lower flash deletes the corresponding sector and the upper flash stores data in the corresponding sector (S840). Data storage stores data alternately in units of 64 bytes (S850). The sector offset informs whether to replace the flash (S860). If the sector offset is greater than 0xffff, it must be stored in another sector. This is because the size that can be stored in one sector is 0xffff (128kbyte). If the sector offset is 0xffff or more, Exchange is set to 1 to replace the upper flash and the lower flash (S870). If the sector offset is less than 0xffff, it waits for data to enter the message queue.

앞서 설명한 바와 같이, 데이터 획득 및 압축 모듈(510)과 음성 저장 모듈(520)은 음성 저장 시스템을 구성하는 모듈들이다. 음성 저장 시스템(900)은 도 9의 (a)와 같이 제어 보드(910)와 플래시 저장 메모리 보드(920)로 구성될 수 있다. 제어 보드(910)는 데이터 획득 및 압축 모듈(510)에 대응하는 구성으로서, 도 9의 (b)와 같이 입력단으로부터 아날로그 음성을 디지털화 음성으로 변환하는 AIC33(911)과 디지털화 음성을 획득하는 DSP의 McASP(912)로 구성된다. 획득한 음성 데이터는 도 9의 (c)에 도시된 바와 같이 플렉시블 케이블(Flexible cable; 913)을 통해 메모리 보드(920)의 플래시(Flash; 921)에 저장된다. 이때, EEPROM(915)에는 해당 데이터와 관련한 시작과 끝 주소가 저장된다. 도 10은 음성 저장 시스템의 주요 기능을 설명한 음성 저장 시스템의 구성표이다.As described above, the data acquisition and compression module 510 and the voice storage module 520 are modules constituting the voice storage system. The voice storage system 900 may include a control board 910 and a flash storage memory board 920 as shown in FIG. 9A. The control board 910 is a configuration corresponding to the data acquisition and compression module 510. As shown in FIG. 9 (b), the control board 910 includes an AIC33 (911) for converting analog speech into digitized speech from an input terminal, McASP 912. The obtained voice data is stored in a flash 921 of the memory board 920 through a flexible cable 913 as shown in FIG. 9C. At this time, the EEPROM 915 stores start and end addresses related to the data. 10 is a configuration diagram of the voice storage system explaining the main functions of the voice storage system.

제어 보드(910)는 아날로그 음성을 AIC33(911)와 DSP의 McASP(912)로 디지털 음성 데이터를 획득한다. 획득한 데이터는 G.726의 32kbps로 압축하고, 압축된 데이터를 메모리 보드(920)의 플래시(921)에 저장한다.The control board 910 acquires the digital voice data from the analog voice to the AIC33 911 and the McASP 912 of the DSP. The obtained data is compressed to 32 kbps of G.726, and the compressed data is stored in the flash 921 of the memory board 920.

플래시 저장 메모리 보드(920)는 제어 보드(910)와 플렉시블 케이블(913)로 연결되어 압축된 데이터를 저장하는 기능을 수행한다. 플래시의 데이터 저장은 모든 값이 0xFFFF에서 해당하는 비트값 0으로 변경하여 저장하는 방식이다. 따라서, 플래시를 저장하기 전에 삭제가 수행되어 있어야 저장이 가능하다. 플래시 수행 속도는 64byte를 수행하는 480㎲가 필요하고, 한 섹터를 삭제하는 데에 0.5sec가 필요하다. 플래시는 한개의 플래시가 삭제 기능을 수행하고 있는 상태에서 다른 플래시에서는 저장 기능을 수행할 수 있다.The flash storage memory board 920 is connected to the control board 910 by a flexible cable 913 to store the compressed data. Flash data storage is to change all values from 0xFFFF to the corresponding bit value 0 and save. Therefore, before the flash can be saved, it must be deleted before it can be saved. The flash execution speed requires 480 ms to execute 64 bytes, and 0.5 sec to erase one sector. A flash may perform a save function on another flash while one flash is performing an erase function.

다시 도 5를 참조하여 설명한다.This will be described with reference to FIG. 5 again.

데이터 전송 모듈(530)은 음성 저장 모듈(520)에서 동일한 방법으로 저장된 데이터를 획득하고, 획득한 데이터를 TCP 소켓으로 전송한다. 도 11은 데이터 전송 모듈(530)의 데이터 전송 방법과 관련한 흐름도이다.The data transmission module 530 acquires data stored in the same manner in the voice storage module 520 and transmits the obtained data to the TCP socket. 11 is a flowchart related to a data transmission method of the data transmission module 530.

데이터 전송 모듈(530)은 이더넷을 통해 데이터를 전송하기 때문에 우선 TCP 소켓을 초기화한다(S1110). 초기화가 완료되면 시작 주소와 정지 주소를 EEPROM에서 가져온다(S1120). 시작 주소와 정지 주소가 같을 때까지 플래시에 있는 데이터를 가져온다(S1130). 시작 주소와 정지 주소에서는 Flash, Sector, Sector offset이 저장되어 있다. Start Address에서 Flash 값이 상위 플래시(예를 들어 1, 2 플래시)인지를 확인한다(S1140). 만약 상위 플래시가 Yes이면 상위 플래시에서 Sector을 번갈아 가면서 64byte 단위로 데이터를 획득하여(S1150) 이더넷으로 데이터를 전송한다(S1160). 여기서도 Sector offset이 0xffff 값 이상이면(S1170) 플래시를 하위 플래시(예를 들어 3, 4 플래시)로 변경한다(S1180). start Address 값을 변경하여 Stop Address 값과 같을 때까지 반복 수행한다. 만약 시작 주소와 정지 주소가 같으면 EEPROM에 Start Address을 업데이트하고 TCP 소켓을 삭제한다(S1190).Since the data transmission module 530 transmits data through Ethernet, first, the TCP socket is initialized (S1110). When the initialization is completed, the start address and the stop address are obtained from the EEPROM (S1120). The data in the flash is taken until the start address and the stop address are the same (S1130). Flash, Sector, and Sector offsets are stored in start address and stop address. Check whether the flash value is the upper flash (for example, 1 and 2 flashes) at the start address (S1140). If the upper flash is Yes, the data is acquired in units of 64 bytes while alternately transferring the sectors from the upper flash (S1150), and the data is transmitted to the Ethernet (S1160). Here, if the sector offset is equal to or greater than 0xffff (S1170), the flash is changed to a lower flash (for example, 3 and 4 flashes) (S1180). Change start Address and repeat until it is same as Stop Address. If the start address and the stop address are the same, the start address is updated in the EEPROM and the TCP socket is deleted (S1190).

다시 도 5를 참조하여 설명한다.This will be described with reference to FIG. 5 again.

음성 재생 모듈(540)은 TCP 소켓을 이용하여 음성 데이터를 수신하고 파일로 저장한다. 저장된 파일을 320Byte 단위로 읽어서 G.726 32kbps로 디코딩을 한다. 디코딩 데이터는 저(low)수준 wave 플레이를 이용하여 스피커로 재생한다. 도 12는 음성 재생 모듈(540)의 음성 재생 방법과 관련한 흐름도이다.The voice reproduction module 540 receives voice data using a TCP socket and stores it as a file. The stored file is read in 320bytes and decoded in G.726 32kbps. The decoded data is played back to the speaker using low level wave play. 12 is a flowchart related to a voice reproducing method of the voice reproducing module 540.

TCP 소켓을 초기화한다(S1210). 데이터 전송 모듈(530)에서 전송되는 데이터를 수신하고 파일에 저장한다(S1220). 저장이 완료되면 TCP 소켓을 삭제한다(S1230). 사운드 디바이스를 초기화하고 G.726 압축 코덱을 초기화한다(S1240). 음성 파일을 읽어서 G.726으로 디코딩하고(S1250) 디코딩된 PCM 음성 데이터는 사운드 카드의 DMA로 전송하여 음성을 출력한다(S1260). 출력이 완료되면 다른 DMA 전송을 위해 재생 위치를 변경한다(S1270). 이렇게 모든 파일을 사운드 카드을 이용하여 재생한다.Initialize the TCP socket (S1210). The data transmitted from the data transmission module 530 is received and stored in a file (S1220). When the saving is completed, the TCP socket is deleted (S1230). Initialize the sound device and initialize the G.726 compression codec (S1240). The voice file is read and decoded to G.726 (S1250), and the decoded PCM voice data is transmitted to the DMA of the sound card to output voice (S1260). When the output is completed, the playback position is changed for another DMA transfer (S1270). This plays all the files using the sound card.

도 5에 따른 플래시 저장 시스템을 이용하여 실험한 결과 및 분석은 다음과 같다. 본 실험에서 사용한 시스템의 사양은 다음과 같다.Experiments using the flash storage system according to Figure 5 results and analysis are as follows. The specifications of the system used in this experiment are as follows.

■ 음성 저장 시스템■ voice storage system

- TMS320DM648 900Mhz 7200 MIPS/MFLOPS-TMS320DM648 900Mhz 7200 MIPS / MFLOPS

- 1Gigabit Flash Memory-1 Gigabit Flash Memory

- TMS320C6000 DSP/BIOS 5.31-TMS320C6000 DSP / BIOS 5.31

- CCStudio v3.3CCStudio v3.3

■ 재생 시스템■ playback system

- Intel CoreTM2 Duo CPU T9550 @ 2.66GHz-Intel Core TM 2 Duo CPU T9550 @ 2.66GHz

- RAM 2.67GHz, 2.96GBRAM 2.67 GHz, 2.96 GB

- Windows XP Professional K Version 2002-Windows XP Professional K Version 2002

- Visual C++ 6.0Visual C ++ 6.0

상기 시스템을 이용하여 원본 오디오의 파형(도 13의 (a))과 저장된 오디오의 파형(도 13의 (b))을 비교하면 유사한 파형을 확인하였다. 도 13 (a) 오디오를 G.726 32kbps으로 압축하고, 디코딩에 의해서 발생한 양자화 에러로 파형이 다른 것을 확인하였다. 하지만, 두 오디오를 여러 사람에게 들려주었을 경우에 유사하게 들렸다고 평가를 받았다.Similar waveforms were confirmed by comparing the waveform of the original audio (FIG. 13A) with the waveform of the stored audio (FIG. 13B) using the system. Fig. 13 (a) The audio was compressed to G.726 32 kbps, and it was confirmed that the waveform was different due to the quantization error generated by the decoding. However, when the two audios were played to several people, they were evaluated to sound similar.

도 13의 (c), (d)는 도 13의 (a), (b)와 달리 복잡한 음성이 아닌 사람의 스피치(speech)를 이용하여 측정한 것이다. 사람의 speech는 주파수가 단조롭기 때문에 원본 음성과 저장된 음성이 매우 유사함을 확인할 수 있다. 도 13의 (a), (b)는 오디오 데이터로 주파수가 복잡하기 때문에 압축하였을 경우 양자화 에러가 더 많이 발생하는 것을 확인하였다. 하지만 사람의 귀로 들었을 경우 양자화 에러가 많아도 유사하게 들리는 특징을 가지고 있다.(C) and (d) of FIG. 13 are measured using speech of a person who is not a complex voice, unlike (a) and (b) of FIG. Since human speech is monotonous in frequency, we can see that the original voice and the stored voice are very similar. 13 (a) and 13 (b) show that quantization errors occur more when compressed because audio frequencies are complicated. However, if you hear it in the human ear, it has a characteristic that sounds similar even though there are many quantization errors.

이상 설명한 바와 같이, 플래시 저장 시스템은 블랙박스 시스템에서 음성을 획득한 데이터를 플래시 메모리에 실시간으로 저장한다. 이 플래시 저장 시스템은 음성 캡처 모듈과 음성 저장 모듈 간에 메시지 큐를 사용함으로써 모듈간 동기화를 제어한다. 그리고, 음성 데이터를 시간 효율적으로 저장하기 위해 각각의 플래시를 병렬적으로 처리하여 저장을 하면서 삭제를 수행한다. 저장된 음성 데이터는 TCP 소켓을 이용하여 다른 장비로 전송하고 전송된 데이터는 저 수준 wave 재생 프로그램을 이용하여 재생한다. 이 플래시 저장 시스템을 실험해본 결과, 원본 음성과 저장된 음성을 여러 사람에게 들려주고 평가한 결과 음질이 유사하다고 평가받았다.As described above, the flash storage system stores the data obtained by the black box system in the flash memory in real time. The flash storage system controls intermodule synchronization by using message queues between the voice capture module and the voice storage module. In order to efficiently store voice data, the respective flashes are processed in parallel to be stored while being deleted. Stored voice data is transmitted to other equipment using TCP socket, and the transmitted data is reproduced using low level wave playback program. As a result of experimenting with this flash storage system, the sound quality is similar to the original voice and the stored voice.

다음으로, 음성 데이터 저장 장치(100)의 음성 데이터 저장 방법에 대해서 설명한다. 도 14는 본 발명의 바람직한 실시예에 따른 음성 데이터 저장 방법을 개략적으로 도시한 흐름도이다. 이하 설명은 도 14를 참조한다.Next, the voice data storage method of the voice data storage device 100 will be described. 14 is a flowchart schematically showing a method of storing voice data according to a preferred embodiment of the present invention. The following description refers to FIG. 14.

먼저, 음성 데이터를 메시지 큐에 저장시킨다(제1 음성 데이터 처리 단계, S10).First, voice data is stored in a message queue (first voice data processing step, S10).

제1 음성 데이터 처리 단계(S10)는 메시지 큐 핸들 획득 단계, 메모리 할당 단계, 음성 데이터 획득 단계, 음성 데이터 압축 단계, 음성 데이터 판별 단계, 음성 데이터 저장 단계 등을 포함할 수 있다. 이때, 메시지 큐 핸들 획득 단계는 메시지 큐가 생성된 뒤 메시지 큐와 관련된 메시지 큐 핸들을 획득하는 단계를 의미한다. 메모리 할당 단계는 메시지 큐 핸들을 기초로 메시지 큐에 메모리를 할당하는 단계를 의미한다. 음성 데이터 획득 단계는 음성 데이터를 획득하는 단계를 의미한다. 음성 데이터 압축 단계는 획득된 음성 데이터를 압축하는 단계를 의미한다. 음성 데이터 판별 단계는 입력된 명령에 근거하여 압축된 음성 데이터를 계속 저장할 것인지 여부를 판별하는 단계를 의미한다. 음성 데이터 저장 단계는 압축된 음성 데이터가 계속 저장 대상일 때 압축된 음성 데이터의 내용을 메모리 할당된 메시지 큐에 저장시키며, 압축된 음성 데이터가 더이상 저장 대상이 아닐 때 메시지 큐에 저장된 음성 데이터에 대한 정보를 저장시키는 단계를 의미한다.The first voice data processing step S10 may include a message queue handle acquisition step, a memory allocation step, a voice data acquisition step, a voice data compression step, a voice data determination step, a voice data storage step, and the like. In this case, the step of obtaining a message queue handle refers to a step of acquiring a message queue handle related to the message queue after the message queue is created. The memory allocating step means allocating memory to the message queue based on the message queue handle. Acquiring voice data means acquiring voice data. The speech data compressing step means compressing the obtained speech data. The voice data determination step means determining whether to continue to store the compressed voice data based on the input command. The voice data storing step stores the contents of the compressed voice data in a memory-allocated message queue when the compressed voice data is still a storage target, and stores the contents of the compressed voice data in the message queue when the compressed voice data is no longer a storage target. It means the step of storing the information.

제1 음성 데이터 처리 단계(S10) 이후, 메시지 큐에 저장된 음성 데이터의 처리가 가능할 때에, 플래시들을 포함하는 플래시 패키지로부터 선택된 적어도 하나의 선택 플래시에 음성 데이터를 추출하여 기록하며, 플래시 패키지로부터 선택되지 않은 적어도 하나의 미선택 플래시에 기록되어 있는 데이터를 삭제한다(제2 음성 데이터 처리 단계, S20).After the first voice data processing step (S10), when processing of the voice data stored in the message queue is possible, voice data is extracted and recorded in at least one selected flash selected from a flash package including flashes, and not selected from the flash package. The data recorded in the at least one unselected flash is deleted (second voice data processing step, S20).

제2 음성 데이터 처리 단계(S20)는 데이터 기록과 데이터 삭제를 동시에 수행할 수 있다. 또는, 제2 음성 데이터 처리 단계(S20)는 동일 개수의 플래시에 대하여 데이터 기록과 데이터 삭제를 각각 수행할 수 있다. 또는, 제2 음성 데이터 처리 단계(S20)는 음성 데이터가 메시지 큐에 저장될 때마다 데이터 기록과 데이터 삭제를 실시간으로 수행할 수 있다.The second voice data processing step S20 may simultaneously perform data recording and data deletion. Alternatively, in the second voice data processing step S20, data recording and data deletion may be performed for the same number of flashes, respectively. Alternatively, the second voice data processing step S20 may perform data recording and data deletion in real time whenever the voice data is stored in the message queue.

제2 음성 데이터 처리 단계(S20)는 메시지 큐 생성 단계, 메시지 큐 획득 단계, 데이터 삭제 단계, 데이터 기록 단계, 오프셋 판별 단계 및 오프셋 처리 단계로 구체화될 수 있다. 메시지 큐 생성 단계는 메시지 큐를 생성하는 단계를 의미한다. 메시지 큐 획득 단계는 메시지 큐에 저장된 음성 데이터를 획득하는 단계를 의미한다. 데이터 삭제 단계는 입력된 명령을 기초로 미선택 플래시의 섹터 단위 또는 블록 단위로 데이터 삭제를 수행하는 단계를 의미한다. 데이터 기록 단계는 데이터 삭제가 수행될 때, 오프셋을 증가시키면서 데이터 삭제 때와 동일 단위로 데이터 기록을 수행하는 단계를 의미한다. 오프셋 판별 단계는 데이터 기록이 수행될 때마다 오프셋이 기준값 이상인지 여부를 판별하는 단계를 의미한다. 오프셋 처리 단계는 오프셋이 기준값 이상일 때 플래시 패키지로부터 선택 플래시를 다시 선택하며, 오프셋이 기준값 미만일 때 데이터 기록이 다시 수행되도록 제어하는 단계를 의미한다.The second voice data processing step S20 may be embodied as a message queue generation step, a message queue acquisition step, a data deletion step, a data recording step, an offset determination step, and an offset processing step. The message queue creation step refers to a step of creating a message queue. The message queue acquiring step refers to acquiring voice data stored in the message queue. The data erasing step refers to a step of performing data deletion on a sector basis or a block basis of the unselected flash based on the input command. The data recording step refers to a step of performing data recording in the same unit as that of data deletion while increasing the offset when data deletion is performed. The offset determination step means determining whether or not the offset is equal to or greater than the reference value each time data recording is performed. The offset processing step means reselecting the selection flash from the flash package when the offset is greater than or equal to the reference value, and controlling the data recording to be performed again when the offset is less than the reference value.

본 발명은 군사 목적의 항공용 통합형 기록 장치, 예컨대 항공용 블랙박스 시스템이나 VFDR(Variable Flow Ducted Rocket)에 이용될 수 있다.The present invention can be used for military aviation integrated recording devices such as aviation black box systems or VFDR (Variable Flow Ducted Rocket).

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.It will be apparent to those skilled in the art that various modifications, substitutions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims. will be. Accordingly, the embodiments disclosed in the present invention and the accompanying drawings are not intended to limit the technical spirit of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by the embodiments and the accompanying drawings. . The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.

100 : 음성 데이터 저장 장치 110 : 제1 음성 데이터 처리부
111 : 메시지 큐 핸들 획득부 112 : 메모리 할당부
113 : 음성 데이터 획득부 114 : 음성 데이터 압축부
115 : 음성 데이터 판별부 116 : 음성 데이터 저장부
120 : 제2 음성 데이터 처리부 121 : 메시지 큐 생성부
122 : 메시지 큐 획득부 123 : 데이터 삭제부
124 : 데이터 기록부 125 : 오프셋 판별부
126 : 오프셋 처리부 300 : 음성 데이터 재생 시스템
310 : 음성 데이터 전송부 311 : TCP 소켓 처리부
312 : 조건 판별부 313 : 음성 데이터 추출부
314 : 전송부 315 : 오프셋 비교부
316 : 판별 수행 제어부 320 : 음성 데이터 재생부
321 : TCP 소켓 연결부 322 : 음성 데이터 수신부
323 : TCP 소켓 삭제부 324 : 사운드 디바이스 생성부
325 : 디코딩부 326 : 사운드 디바이스 구동 제어부
100: voice data storage device 110: first voice data processing unit
111: message queue handle acquisition unit 112: memory allocation unit
113: voice data acquisition unit 114: voice data compression unit
115: voice data determination unit 116: voice data storage unit
120: second voice data processing unit 121: message queue generation unit
122: message queue acquisition unit 123: data deletion unit
124: data recording unit 125: offset determination unit
126: offset processing unit 300: voice data playback system
310: voice data transmission unit 311: TCP socket processing unit
312: condition determining unit 313: voice data extracting unit
314: transmission unit 315: offset comparison unit
316: Determination performing control unit 320: Voice data reproducing unit
321: TCP socket connection unit 322: voice data receiver
323: TCP socket deletion unit 324: Sound device generation unit
325: decoding unit 326: sound device driving control unit

Claims (2)

음성 데이터를 메시지 큐에 저장시키는 제1 음성 데이터 처리부;
상기 음성 데이터의 처리가 가능할 때에, 플래시들을 포함하는 플래시 패키지로부터 선택된 적어도 하나의 선택 플래시에 상기 메시지 큐에 저장된 음성 데이터를 추출하여 기록하며, 상기 플래시 패키지로부터 선택되지 않은 적어도 하나의 미선택 플래시에 기록되어 있는 데이터를 삭제하는 제2 음성 데이터 처리부;
기록된 음성 데이터를 TCP 소켓으로 전송하는 음성 데이터 전송부; 및
상기 TCP 소켓을 이용하여 상기 기록된 음성 데이터를 수신하며, 수신된 음성 데이터를 재생시키는 것으로서, 상기 음성 데이터 전송부에 의해 상기 TCP 소켓이 구성되면, 구성된 TCP 소켓과의 연결을 수행하는 TCP 소켓 연결부; 상기 연결이 수행되면, 상기 구성된 TCP 소켓으로부터 상기 기록된 음성 데이터를 수신 저장하는 음성 데이터 수신부; 상기 수신이 종료되면, 상기 구성된 TCP 소켓을 삭제하는 TCP 소켓 삭제부; 상기 재생을 수행하는 사운드 디바이스를 생성하는 사운드 디바이스 생성부; 저장된 음성 데이터를 디코딩시키는 디코딩부; 및 상기 재생을 위한 재생 위치를 설정하며, 생성된 사운드 디바이스를 통해 설정된 재생 위치에서 디코딩된 음성 데이터를 재생시키는 사운드 디바이스 구동 제어부를 포함하는 음성 데이터 재생부
를 포함하는 것을 특징으로 하는 음성 데이터 재생 시스템.
A first voice data processor for storing voice data in a message queue;
When the voice data can be processed, voice data stored in the message queue is extracted and recorded in at least one selected flash selected from a flash package including flashes, and recorded in at least one unselected flash not selected from the flash package. A second voice data processor which deletes the data;
A voice data transmitter for transmitting the recorded voice data to a TCP socket; And
Receiving the recorded voice data by using the TCP socket, reproducing the received voice data, when the TCP socket is configured by the voice data transmission unit, TCP socket connection unit for performing a connection with the configured TCP socket ; A voice data receiver configured to receive and store the recorded voice data from the configured TCP socket when the connection is performed; A TCP socket deletion unit for deleting the configured TCP socket when the reception is completed; A sound device generator for generating a sound device for performing the playback; A decoding unit for decoding the stored voice data; And a sound device driving controller configured to set a play position for the play and to play the decoded voice data at the play position set through the generated sound device.
Voice data playback system comprising a.
제 1 항에 있어서,
상기 음성 데이터 전송부는,
상기 기록된 음성 데이터를 상기 음성 데이터 재생부로 전송하기 위한 상기 TCP 소켓을 구성하는 TCP 소켓 처리부;
상기 기록된 음성 데이터에 대한 정보를 기초로 상기 기록된 음성 데이터가 미리 정해진 조건에 부합하는 것인지 여부를 제1 판별하는 조건 판별부;
조건에 부합하면 오프셋을 증가시키면서 음성 데이터가 기록된 플래시로부터 섹터 단위 또는 블록 단위로 상기 기록된 음성 데이터를 추출하는 음성 데이터 추출부;
추출된 음성 데이터를 구성된 TCP 소켓으로 전송하는 전송부;
상기 전송부에 의한 상기 전송이 수행될 때마다 상기 오프셋이 기준값 이상인지 여부를 제2 판별하는 오프셋 비교부; 및
기준값 이상이면 상기 추출을 위한 섹터 또는 블록을 변경한 뒤 더이상 추출할 음성 데이터가 없을 때까지 상기 제1 판별이 다시 수행되도록 제어하며, 기준값 이상이 아니면 상기 변경 없이 더이상 추출할 음성 데이터가 없을 때까지 상기 제1 판별이 다시 수행되도록 제어하는 판별 수행 제어부
를 포함하는 것을 특징으로 하는 음성 데이터 재생 시스템.
The method of claim 1,
The voice data transmission unit,
A TCP socket processing unit constituting the TCP socket for transmitting the recorded voice data to the voice data reproducing unit;
A condition discriminating unit configured to first determine whether the recorded speech data meets a predetermined condition based on the information on the recorded speech data;
A voice data extraction unit for extracting the recorded voice data in sector units or block units from a flash on which voice data is recorded while increasing an offset if the condition is met;
A transmitter for transmitting the extracted voice data to a configured TCP socket;
An offset comparison unit for secondly determining whether the offset is equal to or greater than a reference value each time the transmission by the transmission unit is performed; And
If the reference value is equal to or greater than the reference value, the first determination is performed again after changing the sector or block for extraction until there is no more voice data to extract, and if it is not equal to the reference value until there is no more voice data to extract without the change. A determination performing control unit controlling the first determination to be performed again
Voice data playback system comprising a.
KR1020120066827A 2012-06-21 2012-06-21 System for playing audio data KR101174349B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120066827A KR101174349B1 (en) 2012-06-21 2012-06-21 System for playing audio data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120066827A KR101174349B1 (en) 2012-06-21 2012-06-21 System for playing audio data

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020110050740A Division KR101201676B1 (en) 2011-05-27 2011-05-27 Apparatus for storing audio data

Publications (1)

Publication Number Publication Date
KR101174349B1 true KR101174349B1 (en) 2012-08-16

Family

ID=46887300

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120066827A KR101174349B1 (en) 2012-06-21 2012-06-21 System for playing audio data

Country Status (1)

Country Link
KR (1) KR101174349B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867430A (en) 1996-12-20 1999-02-02 Advanced Micro Devices Inc Bank architecture for a non-volatile memory enabling simultaneous reading and writing
US6961805B2 (en) 1996-10-29 2005-11-01 Micron Technology Inc. Memory system, method and predecoding circuit operable in different modes for selectively accessing multiple blocks of memory cells for simultaneous reading writing or erasure
JP2009075774A (en) 2007-09-19 2009-04-09 Toshiba Corp Video/audio recording and playback device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961805B2 (en) 1996-10-29 2005-11-01 Micron Technology Inc. Memory system, method and predecoding circuit operable in different modes for selectively accessing multiple blocks of memory cells for simultaneous reading writing or erasure
US5867430A (en) 1996-12-20 1999-02-02 Advanced Micro Devices Inc Bank architecture for a non-volatile memory enabling simultaneous reading and writing
JP2009075774A (en) 2007-09-19 2009-04-09 Toshiba Corp Video/audio recording and playback device

Similar Documents

Publication Publication Date Title
CN107423364B (en) Method, device and storage medium for answering operation broadcasting based on artificial intelligence
EP3629561A1 (en) Data transmission method and system, and bluetooth headphone
JP6056625B2 (en) Information processing apparatus, voice processing method, and voice processing program
JP2009139592A (en) Speech processing device, speech processing system, and speech processing program
CN102667924A (en) Method and apparatus for decoding audio data
WO2023098332A1 (en) Audio processing method, apparatus and device, medium, and program product
CN1965610A (en) Coding reverberant sound signals
CN108702568B (en) Method and equipment for testing time delay of audio loop
CN109389976A (en) Intelligent appliance apparatus control method, device, intelligent appliance equipment and storage medium
CN104157292A (en) Anti-howling audio signal processing method and device thereof
CN109947387A (en) Audio collection method, audio frequency playing method, system, equipment and storage medium
CN110310642A (en) Method of speech processing, system, client, equipment and storage medium
US9779731B1 (en) Echo cancellation based on shared reference signals
CN109510636A (en) Receive test method, device, medium and the equipment of FM signal function
CN111415675B (en) Audio signal processing method, device, equipment and storage medium
CN206991290U (en) A kind of external sound card
CN107957908A (en) A kind of microphone sharing method, device, computer equipment and storage medium
CN111145773A (en) Sound field restoration method and device
KR101174349B1 (en) System for playing audio data
KR101201676B1 (en) Apparatus for storing audio data
KR101272289B1 (en) Method for storing audio data
US11936715B2 (en) Multi-machine wireless synchronous recorder, multi-track recording system and method
WO2020024508A1 (en) Voice information obtaining method and apparatus
KR20210116457A (en) Decryption device, decryption method and program
US11915710B2 (en) Conference terminal and embedding method of audio watermarks

Legal Events

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

Payment date: 20150703

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160707

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170626

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180627

Year of fee payment: 7