KR101410523B1 - Apparatus and method for controlling a buffer for processing voice data - Google Patents

Apparatus and method for controlling a buffer for processing voice data Download PDF

Info

Publication number
KR101410523B1
KR101410523B1 KR1020070117383A KR20070117383A KR101410523B1 KR 101410523 B1 KR101410523 B1 KR 101410523B1 KR 1020070117383 A KR1020070117383 A KR 1020070117383A KR 20070117383 A KR20070117383 A KR 20070117383A KR 101410523 B1 KR101410523 B1 KR 101410523B1
Authority
KR
South Korea
Prior art keywords
buffer
data
amount
ratio
pointer
Prior art date
Application number
KR1020070117383A
Other languages
Korean (ko)
Other versions
KR20090050768A (en
Inventor
김강열
정지연
김성관
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020070117383A priority Critical patent/KR101410523B1/en
Publication of KR20090050768A publication Critical patent/KR20090050768A/en
Application granted granted Critical
Publication of KR101410523B1 publication Critical patent/KR101410523B1/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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • 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/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10675Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
    • 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/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10805Data buffering arrangements, e.g. recording or playback buffers involving specific measures to prevent a buffer overflow
    • 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/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10814Data buffering arrangements, e.g. recording or playback buffers involving specific measures to prevent a buffer underrun

Abstract

본 발명은 음성 데이터를 처리하는 버퍼 제어 장치 및 방법에 관한 것으로, 버퍼의 초기 읽기 속도를 측정하는 과정과; 상기 초기 읽기 속도와 미리 결정된 상기 버퍼의 출력 속도의 차이를 산출하는 과정과; 상기 산출된 속도 차이에 따라 상기 버퍼에 입력 또는 출력되는 데이터량의 비율을 결정하는 과정과; 상기 결정된 데이터량의 비율에 따라 데이터를 입력 또는 출력하기 위한 상기 버퍼의 리드 포인터 및 라이트 포인터의 위치를 측정하여 상기 리드 포인터와 상기 라이트 포인터 사이의 간격을 산출하는 과정과; 상기 리드 포인터와 상기 라이트 포인터 사이의 간격의 변경 여부에 따라 상기 데이터량의 비율을 조정하는 과정을 포함하는 버퍼 제어 방법을 제공한다.The present invention relates to a buffer control apparatus and method for processing voice data, comprising: measuring an initial read speed of a buffer; Calculating a difference between the initial reading speed and a predetermined output speed of the buffer; Determining a ratio of an amount of data input to or output from the buffer according to the calculated speed difference; Calculating a gap between the read pointer and the write pointer by measuring a position of a read pointer and a write pointer of the buffer for inputting or outputting data according to a ratio of the determined data amount; And adjusting a ratio of the amount of data according to whether the interval between the read pointer and the write pointer is changed.

음성 데이터, 버퍼, 데이터 보상, 인터폴레이션(interpolation), 데시메이션(decimation), 묵음 구간 Voice data, buffer, data compensation, interpolation, decimation, silence interval

Description

음성 데이터를 처리하는 버퍼 제어 장치 및 방법{APPARATUS AND METHOD FOR CONTROLLING A BUFFER FOR PROCESSING VOICE DATA}[0001] APPARATUS AND METHOD FOR CONTROLLING A BUFFER FOR PROCESSING VOICE DATA [0002]

본 발명은 버퍼 제어에 관한 것이다. 더 상세하게는 음성 데이터를 처리하는 버퍼 제어 장치 및 방법에 관한 것이다.The present invention relates to buffer control. And more particularly, to a buffer control apparatus and method for processing voice data.

음성 디지털 시스템에서 보코더(vocoder)에서 디코딩된 음성 데이터는 버퍼(buffer)에 임시 저장되어 음성재생장치(예를 들어, 컴퓨터의 사운드카드)로 출력된다. 즉, 보코더는 디코딩된 음성 데이터를 일정한 시간(통상 20msec)을 주기로 고정되어 버퍼 라이터(Writer)로 출력하고, 버퍼 라이터는 음성 데이터를 버퍼에 기록한다. 이후 버퍼 리더(Reader)는 버퍼에 기록된 음성 데이터를 읽어 음성재생장치로 출력한다. In a voice digital system, voice data decoded in a vocoder is temporarily stored in a buffer and output to a voice reproduction device (for example, a sound card of a computer). That is, the vocoder outputs the decoded audio data to the buffer writer at fixed intervals (usually 20 msec), and the buffer writer records the audio data in the buffer. The buffer reader then reads the voice data recorded in the buffer and outputs it to the voice reproduction apparatus.

도 1은 음성 데이터가 저장되는 일반적인 버퍼의 구성도이다.1 is a block diagram of a general buffer for storing voice data.

도 1에서는 음성 데이터(105)가 버퍼(100)에 저장된 상태가 도시되었다. 버퍼(100)는 라이트 포인터(Write pointer: WP)(101)와 리드 포인터(Read Pointer: RP)(103)를 포함한다. 상기 WP(101)는 현재 버퍼 라이터(도시되지 않음)가 음성 데 이터가 기록되는 버퍼 주소의 다음 순서의 주소를 가리키며, 상기 RP(103)는 현재 리더기(도시되지 않음)가 읽고 있는 버퍼 주소의 다음 순서의 주소를 가리킨다. 또한, 이하에서 상기 RP(103)와 상기WP(101) 사이의 간격을 이하에서 'RW값(107)'이라고 정의한다. In Fig. 1, the state in which the voice data 105 is stored in the buffer 100 is shown. The buffer 100 includes a write pointer (WP) 101 and a read pointer (RP) 103. The WP 101 indicates the next address of the buffer address at which the current buffer writer (not shown) records the voice data, and the RP 103 stores the address of the buffer address currently read by the reader It points to the address in the next sequence. Hereinafter, an interval between the RP 103 and the WP 101 is defined as an 'RW value 107' below.

상기 WP(101)가 버퍼를 이동하는 속도는 버퍼 라이터가 음성 데이터를 기록하는 속도(이하 '쓰기속도')에 종속하고, 상기 쓰기속도는 상기 보코더가 음성 데이터를 출력하는 속도에 종속한다. 결국, 상기 쓰기속도는 보코더의 출력속도에 종속한다. 그런데 보코더의 출력속도는 상술한 것처럼 고정되어 있다. 왜냐하면, 보코더의 출력속도는 소프트웨어적으로 처리되어 있기 때문이다. The rate at which the WP 101 moves the buffer depends on the rate at which the buffer writer writes the voice data (hereinafter, referred to as 'writing speed'), and the writing speed is dependent on the speed at which the vocoder outputs the voice data. Eventually, the write speed depends on the output speed of the vocoder. However, the output speed of the vocoder is fixed as described above. This is because the output speed of the vocoder is processed in software.

또한, 상기 RP(103)가 버퍼를 이동하는 속도는 버퍼 리더가 음성 데이터를 읽는 속도(이하 '읽기속도')에 종속한다. 그런데 상기 읽기속도는 사운드 카드에서 설정된 일정한 샘플링 시간 주파수에 따라서 설정되어 있다. 음성 데이터가 원활하게 재생되기 위하여는 읽기속도는 상기 쓰기속도와 동일해야 한다.(즉, 음성 데이터의 재생 중에 상기 RW값(107)이 일정해야 한다.) 쓰기속도가 읽기속도보다 빠르면 버퍼 오버플로우가 발생하고, 반대의 경우에는 버퍼 언더플로우가 발생하기 때문이다. 따라서 읽기속도는 쓰기속도에 종속되어 설정되어야 하는 것이 이상적이다. 이를 위하여 상기 샘플링 주파수는 상기 보코더의 출력속도에 맞추어 설정되어 제작되는 것이 일반적이다. 그러나 사운드카드는 설정된 샘플링 주파수와 오차를 가지는 것이 일반적이다. 이는 하드웨어적 원인에 의한 것으로서 통상 설정된 샘플링 주파수와 5% 내외의 범위 안의 오차는 정상적인 제품으로 취급된다. 따라서 버 퍼에서 읽기속도와 쓰기속도의 차이가 발생하는 문제점이 생긴다.In addition, the speed at which the RP 103 moves the buffer depends on the speed at which the buffer reader reads the voice data (hereinafter, referred to as 'read speed'). However, the reading speed is set according to a predetermined sampling time frequency set in the sound card. In order for the audio data to be reproduced smoothly, the reading speed must be equal to the writing speed (i.e., the RW value 107 must be constant during audio data reproduction). If the writing speed is faster than the reading speed, And in the opposite case, a buffer underflow occurs. Therefore, it is ideal that the read speed should be set dependent on the write speed. For this purpose, the sampling frequency is generally set in accordance with the output speed of the vocoder. However, it is common for a sound card to have a set sampling frequency and error. This is due to the hardware cause, and the sampling frequency, which is normally set, and the error within the range of about 5% are treated as normal products. Therefore, there arises a problem that the difference between the read speed and the write speed occurs in the buffer.

이러한 문제점을 해결하기 위한 종래의 기술은 한국 특허청 공개 특허 번호 2007-0081766에 개시되어 있다. 상기 공개 특허의 내용을 간단히 요약하면, 음성 데이터가 기록된 버퍼에서 RW값을 측정하여 RW값이 기준을 벗어나면 VCXO의 발진 주파수를 하드웨어적으로 제어하고, 이 발진 주파수에 따라 RW값을 조정하는 방식이다. 도 2는 종래 기술에 따른 음성 데이터 처리 장치를 설명하는 도면이다. 또한, 도 3은 종래 기술에 따른 음성 데이터 처리 방법을 설명하는 개념도이다. 종래 기술에 따른 기술에 대한 설명을 위하여 도 2 및 도 3에서 공개특허 2007-0081766의 도 1 및 도 3을 첨부한다. 이에 대한 상세한 설명은 공개특허 2007-0081766을 참조할 수 있다.A conventional technique for solving such a problem is disclosed in Korean Patent Publication No. 2007-0081766. To briefly summarize the contents of the above-mentioned patent, if the RW value is measured in a buffer where audio data is recorded and the RW value is out of the standard, the oscillation frequency of the VCXO is controlled in hardware and the RW value is adjusted according to the oscillation frequency Method. 2 is a view for explaining an audio data processing apparatus according to the prior art. 3 is a conceptual diagram for explaining a speech data processing method according to the prior art. Figures 1 and 3 of Japanese Patent Application No. 2007-0081766 are attached to Figures 2 and 3 for a description of the technology according to the prior art. A detailed description thereof can be found in Japanese Patent Application Laid-Open No. 2007-0081766.

그런데 상기 종래의 장치 및 방법은 VCXO의 발진 주파수를 하드웨어적으로 제어할 때마다 '틱, 틱' 하는 소리를 유발한다. 이는 사용자가 충분히 인지할 수 있는 정도이기 때문에 음성 데이터 재생에서 품질을 저하하는 요인이 된다. 또한, 하나의 어플리케이션에 의하여 버퍼에 음성 데이터가 저장되어 재생되는 중에 멀티태스킹 등에 의하여 다른 어플리케이션에 의한 음성 데이터가 버퍼에 저장되는 등의 경우에는 상기 RP의 위치가 상기 다른 음성 데이터가 저장된 주소로 점프(jump)하는 경우가 생긴다. 이 때는 RP가 WP 보다 앞선 위치에 존재하는 역전 현상이 발생한다. 이 역전 현상은 음성 데이터의 재생에서 품질에 악영향을 미치게 된다. 즉, 소프트웨어적인 문제로 인하여 음성 재생에 문제가 생길 수 있다.However, the conventional apparatus and method cause 'tick, tick' sound whenever the oscillation frequency of the VCXO is controlled by hardware. This is a factor that can be sufficiently perceived by the user, which causes a deterioration in the quality of the audio data reproduction. In a case where audio data from another application is stored in a buffer by multitasking or the like while voice data is stored in a buffer by one application and is reproduced, the position of the RP jumps to the address where the other voice data is stored (jump) occurs. In this case, a reversal phenomenon occurs in which RP is located ahead of WP. This reverse phenomenon adversely affects quality in reproduction of audio data. That is, there may be a problem in voice reproduction due to a software problem.

상기한 문제점을 해결하기 위하여 본 발명은 버퍼 오버플로우 또는 버퍼 언더플로우를 방지하기 위한 음성 데이터를 처리하는 버퍼 제어 장치 및 방법을 제공한다.In order to solve the above problems, the present invention provides a buffer control apparatus and method for processing voice data for preventing buffer overflow or buffer underflow.

또한, 본 발명은 역전 현상을 해결하여 음성 데이터의 재생을 원활히 하기 위한 음성 데이터를 처리하는 버퍼 제어 장치 및 방법을 제공한다.The present invention also provides a buffer control apparatus and method for processing audio data for smoothly reproducing audio data by solving a reverse phenomenon.

또한, 본 발명은 사용자가 음성 왜곡을 해결하는 과정을 인식하지 못하여 재생 품질을 높일 수 있는 음성 데이터를 처리하는 버퍼 제어 장치 및 방법을 제공한다.In addition, the present invention provides a buffer control apparatus and method for processing voice data that can improve reproduction quality because a user does not recognize a process of resolving voice distortion.

본 발명에 제공하는 장치는,The apparatus provided in the present invention,

음성 데이터를 처리하는 버퍼 제어 장치에 있어서,A buffer control apparatus for processing voice data, comprising:

음성 데이터 수신을 위한 버퍼의 초기화 단계 시에 상기 버퍼의 초기 읽기속도를 측정하여 출력하고, 실시간 처리 단계 시에 상기 버퍼의 리드 포인터(Reader Point: RP)와 라이트 포인터(Write Point: WP)를 실시간으로 측정하여 출력하고 측정부와,(RP) and a write pointer (WP) of the buffer in a real-time processing step, in real time, in real time, And outputs the measurement result,

상기 음성 데이터의 묵음 구간 정보를 검출하여 출력하는 묵음 검출부와,A silence detection unit for detecting silence period information of the voice data and outputting the silence period information,

상기 초기화 단계 시 상기 출력된 초기 읽기속도를 이용하여 미리 설정된 출력속도와의 속도차이 값을 구하여 출력하고, 상기 실시간 처리 단계 시 상기 RP와 WP를 이용하여 리더-라이터(RW)값을 계산하여 출력하는 제어부와,(RW) value using the RP and the WP during the real time processing step, and outputs the value of the reader / writer (RW) ,

상기 버퍼 초기화 단계 시 상기 속도차이 값을 이용하여 상기 버퍼에 입출력될 음성 데이터량의 비율을 조정하는 초기 데이터 보상을 수행하고, 상기 실시간 처리 단계 시 상기 RW값이 변경되고 상기 현재 음성 데이터가 묵음 구간인 경우 상기 버퍼에 저장되는 음성 데이터량의 비율을 조정하는 실시간 데이터 보상을 수행하는 데이터 보상부를 포함한다. Performing initial data compensation to adjust the ratio of the amount of voice data to be input to and output from the buffer using the speed difference value in the buffer initialization step, and changing the RW value in the real time processing step, And real-time data compensation for adjusting the ratio of the amount of voice data stored in the buffer.

또한, 본 발명이 제공하는 방법은, In addition, the present invention provides a method,

음성 데이터를 처리하는 버퍼 제어 방법에 있어서,A buffer control method for processing voice data,

버퍼의 초기화 단계 중 상기 버퍼의 초기 읽기속도를 측정하는 과정과,Measuring an initial read rate of the buffer during a buffer initialization step;

상기 초기 읽기속도를 이용하여 미리 설정된 출력속도와의 속도차이 값을 구하는 과정과,Obtaining a speed difference value with a preset output speed using the initial reading speed;

상기 속도차이 값에 대응하여 상기 버퍼에 입출력될 데이터의 비율을 조정하는 초기 데이터 보상 과정과,An initial data compensation step of adjusting a ratio of data to be input to and output from the buffer in correspondence with the speed difference value;

음성 데이터를 수신한 상기 버퍼의 리드 포인터와 라이트 포인터의 위치를 실시간으로 측정하는 과정과,Measuring a position of a read pointer and a write pointer of the buffer receiving audio data in real time;

상기 음성 데이터의 묵음 구간을 검출하는 과정과, Detecting a silent section of the voice data;

상기 실시간으로 측정된 포인터들의 위치를 이용하여 리더-라이터(RW)값을 계산하는 과정과,Calculating a reader-writer (RW) value using the positions of the pointers measured in real time;

상기 RW값이 변경되고, 상기 현재 음성 데이터가 묵음 구간인 경우 상기 버퍼에 저장되는 음성 데이터량의 비율을 조정하는 실시간 데이터 보상 과정을 포함 한다.And adjusting a ratio of the amount of voice data stored in the buffer when the RW value is changed and the current voice data is a silence period.

본 발명의 실시예에 따른 효과를 설명하면 다음과 같다.Effects of the embodiment of the present invention will be described as follows.

음성 데이터를 처리하는 버퍼와 연결되는 사운드 카드에서 자체적으로 발생하는 하드웨어적 오차에 의하여 발생할 수 있는 버퍼 오버플로우 또는 버퍼 언더플로우를 방지하여 음성 데이터 재생에서 왜곡을 최소화한다.A buffer overflow or a buffer underflow that may occur due to a hardware error generated in the sound card connected to a buffer for processing voice data is prevented to minimize distortion in voice data reproduction.

또한, 본 발명은 음성 데이터를 처리하는 버퍼가 멀티 태스킹에 의하여 발생할 수 있는 역전현상을 해결하여 음성 데이터 재생을 원활히 할 수 있다.In addition, the present invention solves the inversion phenomenon that can occur due to multitasking of a buffer for processing voice data, thereby facilitating voice data reproduction.

또한, 본 발명은 음성 데이터를 처리하는 버퍼에서 발생하는 음성 데이터 재생의 왜곡을 사용자가 인식하지 못하는 묵음 구간에 처리하여 음성 데이터 재생에서 재생 품질을 높일 수 있다.Further, the present invention can improve the reproduction quality in the audio data reproduction by processing the distortion of the reproduction of the audio data generated in the buffer for processing the audio data into a silent section in which the user can not recognize.

이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대 로 내려져야 할 것이다.The operation principle of the preferred embodiment of the present invention will be described in detail with reference to the accompanying 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. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intentions or customs of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.

도 4는 본 발명의 실시예에 따른 음성 데이터를 처리하는 버퍼 제어 방법을 설명하는 순서도이다.4 is a flowchart illustrating a buffer control method for processing voice data according to an embodiment of the present invention.

401단계에서는 애플리케이션을 구동하기 위하여 버퍼가 초기화되는 단계에서 버퍼의 상태를 측정한다. 즉, 버퍼의 초기 읽기속도를 측정하여 사운드 카드에 미리 설정된 샘플링 속도와의 속도 차이를 구한다. 여기서는 설정된 샘플링 속도가 쓰기속도와 동일하게 설정된 경우를 가정한 것이다. 따라서 쓰기속도를 모르는 경우라면 버퍼의 초기 쓰기속도와 초기 읽기속도를 측정하여 양자의 차이를 구하여 속도 차이를 구할 수도 있다. 401단계는 아직 음성 데이터가 버퍼로 입력되기 이전 단계이므로, 출력속도를 측정하기 위한 시험 데이터를 생성하여 버퍼에 입력함으로써 수행될 수 있다. 상기 속도차이가 발생한 상태에서 계속하여 음성 데이터가 버퍼에 입출력되면 버퍼 오버플로우 또는 언더플로우가 발생할 수 있다. 따라서 이를 방지하기 위하여 상기 속도차이를 보상해 주어야 한다. 이는 403단계에서 수행된다.In step 401, the state of the buffer is measured in the step of initializing the buffer to drive the application. That is, the initial reading speed of the buffer is measured, and the speed difference with the sampling rate preset in the sound card is obtained. Here, it is assumed that the set sampling rate is set equal to the write speed. Therefore, if you do not know the writing speed, you can measure the initial writing speed and the initial reading speed of the buffer to obtain the difference between the two. Since step 401 is a stage before voice data is input to the buffer, it can be performed by generating test data for measuring the output speed and inputting it into the buffer. If the voice data continues to be input / output to the buffer in the state where the speed difference has occurred, buffer overflow or underflow may occur. Therefore, the speed difference must be compensated to prevent this. This is done in step 403.

속도차를 보상해 주는 방법은 다음과 같다. 버퍼에 입출력되는 데이터의 비율을 조정하는 것이다. 즉, 상기 쓰기속도와 읽기속도는 버퍼에서 이미 결정된 값이기 때문에 이를 변경시키기는 어려울 수 있다. 따라서 상기 쓰기속도와 읽기속도를 변경시키지 않는 대신에 버퍼에 입출력되는 데이터 양의 비율을 조정하는 것이다. 다시 말하면, 버퍼 리더와 버퍼 라이터가 단위시간당 읽거나 쓸 수 있는 횟수를 조정하지는 못하므로 상기 버퍼 리더와 버퍼 라이터가 1회에 읽거나 쓸 수 있는 데이터의 양을 조정함으로써 버퍼에 입출력되는 데이터의 양을 일정하게 유지하는 것이다.The method of compensating the speed difference is as follows. And adjusts the ratio of data input / output to / from the buffer. That is, since the write speed and the read speed are values already determined in the buffer, it may be difficult to change them. Therefore, instead of changing the writing speed and the reading speed, the ratio of the amount of data input / output to the buffer is adjusted. In other words, since the number of times that the buffer reader and the buffer writer can read or write per unit time can not be adjusted, the amount of data input to and output from the buffer by adjusting the amount of data that the buffer reader and the buffer writer can read or write at one time Is maintained constant.

상기 데이터량을 조정하는 것을 '데이터 보상'이라고 정의한다. 또한, 버퍼 초기화 단계에서의 데이터 보상이므로 403단계의 데이터 보상을 '초기 데이터 보상'이라 칭한다. 상기 초기 데이터 보상에는 두 가지 종류가 있다. 첫 번째는 인터폴레이션(interpolation)이고 두 번째는 데시메이션(decimation)이다. 상기 인터폴레이션은 버퍼에 저장되는 데이터량이 증가하도록 데이터 입출력 비율을 변화시키는 것을 말하고, 상기 데시메이션은 버퍼에 저장되는 데이터량이 감소하도록 입출력 비율을 변화시키는 것을 말한다. 상기 속도차이를 이용하여 음성 데이터가 입력되면 생길 수 있는 버퍼 오버플로우 또는 버퍼 언더플로우를 예측하여 이를 방지하기 위한 데시메이션 또는 인터폴레이션 비율을 조정하는 것이다.Adjusting the amount of data is defined as 'data compensation'. In addition, since data compensation in the buffer initialization step is performed, the data compensation in step 403 is referred to as 'initial data compensation'. There are two types of initial data compensation. The first is interpolation and the second is decimation. The interpolation means changing the data input / output ratio so that the amount of data stored in the buffer increases. The decimation means changing the input / output ratio so that the amount of data stored in the buffer decreases. A buffer overflow or a buffer underflow that may occur when voice data is input using the speed difference, and adjusts a decimation or an interpolation ratio to prevent the buffer overflow or the buffer underflow.

이후에 405단계에서 음성 데이터가 버퍼로 입력된다. 407단계에서는 음성 데이터가 버퍼로 입출력되는 동안 RW값을 측정한다. 앞서 설명한 바와 같이RW값은 리드 포인터와 라이트 포인터와의 간격을 의미한다. 음성 데이터가 버퍼에 입출력되는 중에는 상기 RW값이 일정하게 유지되어야 음성 데이터가 품질을 유지하며 재생될 수 있음은 앞서 설명한 것과 같다.Then, in step 405, the voice data is input to the buffer. In step 407, the RW value is measured while the voice data is input / output to the buffer. As described above, the RW value means the interval between the read pointer and the write pointer. While the audio data is being input to and output from the buffer, the RW value must be maintained constant so that the audio data can be reproduced while maintaining the quality.

참고로 401단계에서는 시험데이터에 의하여 버퍼의 읽기속도를 측정했던 것에 비하여 407단계에서는 음성 데이터가 버퍼에 입출력될 때 변화하는 버퍼의 RW값을 측정하는 점이 다르다. 이는 401단계에서는 출력속도의 측정만으로도 충분히 초기 데이터 보상이 가능하기 때문이다.In step 401, the buffer read speed is measured by the test data. In step 407, however, the RW value of the buffer that changes when the voice data is input / output to the buffer is measured. This is because the initial data compensation can be sufficiently performed only by measuring the output speed in step 401.

409단계에서는 RW값의 변화를 실시간으로 감시하여 RW값이 변경되었는지를 판단한다. 변경되지 않았다면 407단계로 돌아가고, 변경되었다면 411단계로 진행한다. 411단계에서는 현재 수신한 데이터가 묵음 구간인지를 검사한다. '묵음 구간'의 의미는 후술하기로 한다. 묵음 구간이 아니라면 411단계로 되돌아 가고 묵음 구간이라면 413단계로 진행한다. 413단계에서는 변화된 RW값에 따라 데이터 보상이 수행된다. 상기 403단계에서의 초기 데이터 보상과 구별하기 위하여 413단계에서의 데이터 보상을 '실시간 데이터 보상'이라고 칭한다.In step 409, a change in the RW value is monitored in real time to determine whether the RW value has changed. If it has not been changed, the process returns to step 407, and if it has been changed, the process proceeds to step 411. In step 411, it is determined whether the currently received data is a silent period. The meaning of the 'silence interval' will be described later. If it is not the silence period, the process returns to step 411, and if it is the silence period, the process proceeds to step 413. In step 413, data compensation is performed according to the changed RW value. The data compensation in step 413 is called 'real-time data compensation' in order to distinguish it from the initial data compensation in step 403.

상기 411단계의 묵음 구간이란 음성 데이터 중 실제로 사람이 음성 신호가 포함되지 않은 구간을 말한다. 음성 데이터는 사람의 음성 정보를 담고 있는 구간(이하 '음성 구간')과, 음성 정보가 없는 구간으로 구별할 수 있다. 이 음성 정보가 없는 구간을 묵음 구간이라 한다.The silent interval in step 411 refers to a section of the speech data in which the speech signal is not actually included. The voice data can be distinguished as a section containing human voice information (hereinafter, referred to as 'voice section') and a section having no voice information. A section without this voice information is called a silence section.

상기 묵음 구간 여부를 판단하는 이유는 다음과 같다. RW값이 변경되었다면 상술한 바처럼 413단계에서 데이터 보상을 한다. 그런데 상기 데이터 보상이 음성 구간에서 수행된다면 사용자가 이를 인식할 수 있을 정도로 음성 데이터의 재생 품질에 악영향을 줄 수 있다. 따라서 데이터 보상을 묵음 구간에서 수행하여 음성 데이터의 재생 품질에 영향 없이 RW값을 일정하게 유지할 수 있다. 이하의 도 5에서 상기 413단계의 실시간 데이터 보상에 대하여 상세히 설명한다.The reason for determining whether or not the silence period is included is as follows. If the RW value is changed, data compensation is performed in step 413 as described above. However, if the data compensation is performed in the voice section, the reproduction quality of the voice data may be adversely affected to such an extent that the user can recognize the compensation. Therefore, the data compensation can be performed in the silence period, and the RW value can be kept constant without affecting the reproduction quality of the audio data. The real-time data compensation in step 413 will be described in detail with reference to FIG.

도 5는 본 발명의 실시예에 따른 버퍼 제어 방법에서 실시간 데이터 보상 방법과 초기 데이터 보상 방법을 설명하는 순서도이다.5 is a flowchart for explaining a real-time data compensation method and an initial data compensation method in a buffer control method according to an embodiment of the present invention.

먼저, 411단계의 실시간 데이터 보상 방법을 설명한다.First, the real-time data compensation method in step 411 will be described.

501단계에서는 RW값이 RW 임계값을 초과하였는지를 검사한다. 상기 RW 임계값이란 RW 값이 취할 수 있는 값의 최대값, 최소값을 말한다. 상기 RW 임계값은 미리 결정되어 있어야 할 것이다. 만약 RW 임계값을 초과하였다면 503단계로 진행하고, 초과하지 않았다면 505단계로 진행한다. RW값이 RW임계값을 초과하는 경우는 통상적으로 컴퓨터 시스템에서 멀티태스킹으로 인하여 발생하는 것으로 알려져 있다. 즉, 하나의 음성 데이터를 읽고 있는 도중에 다른 애플리케이션을 수행하라는 명령에 의하여 버퍼의 일부가 다른 소리 데이터를 저장하고 있는 경우, RP는 상기 다른 소리 데이터가 저장된 버퍼의 주소를 지시할 수가 있다. 이런 경우RP와 WP의 위치가 역전될 수 있는데 이 경우가 RW 임계값을 초과하는 경우이다. RW임계값의 범위는 설정에 의하여 달라질 수 있다. 예를 들어 임의의 기준되는 RW값이 200바이트(byte)이고 임계비율을 50%로 설정하였다면 300~500 바이트가 RW값의 가능한 범위일 것이다. 만약 RW값이 RW임계값을 초과하였다면 503단계에서는 현재 버퍼의 음성 데이터 대신에 묵음 구간의 음성 데이터를 버퍼 리더가 읽을 수 있도록 묵음 구간의 음성 데이터를 출력한다. 이렇게 되면 상기 역전 현상이 발생한 RP를 본래의 위치로 복귀시킬 수 있어 RW값을 다시 일정하게 유지시킬 수 있다.In step 501, it is checked whether the RW value exceeds the RW threshold value. The RW threshold value refers to a maximum value and a minimum value of a value that the RW value can take. The RW threshold value should be predetermined. If the RW threshold is exceeded, the process proceeds to step 503; otherwise, the process proceeds to step 505. It is known that when the RW value exceeds the RW threshold, it usually occurs due to multitasking in a computer system. That is, when a part of the buffer stores different sound data by an instruction to execute another application while reading one sound data, the RP can indicate the address of the buffer where the other sound data is stored. In this case, the positions of RP and WP can be reversed, which is the case when the RW threshold is exceeded. The range of the RW threshold value may vary depending on the setting. For example, if a given RW value is 200 bytes and the threshold ratio is set to 50%, 300 to 500 bytes will be the possible range of RW values. If the RW value exceeds the RW threshold, in step 503, the voice data of the silent interval is output so that the buffer reader can read the voice data of the silent interval instead of the voice data of the current buffer. In this case, the RP in which the reversal occurs can be returned to its original position, and the RW value can be maintained constant again.

505단계에서는 도 4의 409단계에서 변경된 것으로 판단된 RW값이 증가하였는지 감소하였는지를 판단한다. 증가하였다면 507단계로 진행하고, 감소하였다면 509단계로 진행한다. 507단계에서는 RW값이 증가하였기 때문에 데시메이션의 비율이 조정되고, 509단계에서는 RW값이 감소하였기 때문에 인터폴레이션의 비율이 조정된다. 상기 데시메이션 및 인터폴레이션의 의미는 도 4에서 설명된 초기 데이터 보상 에서 설명된 바와 같다. 이하에서 403단계의 초기 데이터 보상에 대해서 설명한다. 다만, 411단계의 실시간 데이터 보상과의 차이점을 중심으로 설명하기로 한다.In step 505, it is determined whether the RW value determined to have changed in step 409 of FIG. 4 is increased or decreased. The process proceeds to step 507, and if it is decreased, the process proceeds to step 509. [ In step 507, the ratio of decimation is adjusted because the RW value is increased. In step 509, the ratio of interpolation is adjusted because the RW value is decreased. The meaning of the decimation and interpolation is as described in the initial data compensation described in FIG. The initial data compensation in step 403 will be described below. However, the difference from the real-time data compensation in step 411 will be mainly described.

초기 데이터 보상은 505 단계에서 판단 기준이 변경되면 된다. 즉, RW값의 증가 또는 감소에 따라 결정되는 것이 아니라, 401 단계에서 측정된 속도차이에 의해서 결정되는 점에서 차이가 있다. 또한 버퍼 초기화 단계에서는 RW값이 RW임계값을 초과하는 상황을 가정하기 매우 어렵다. 왜냐하면 버퍼가 초기화된다는 것은 해당 어플리케이션이 수행될 것을 의미하므로 다른 어플리케이션이 수행될 확률이 극히 드물기 때문이다. 따라서 501단계를 판단하지 않아도 무방할 수 있다. 즉, 측정된 속도 차이에서 예측되는 인터폴레이션 또는 데시메이션으로 데이터 보상이 수행될 수 있다.In step 505, the initial data compensation is performed when the determination criterion is changed. That is, the difference is determined not by the increase or decrease of the RW value but by the speed difference measured in the step 401. Also, it is very difficult to assume that the RW value exceeds the RW threshold in the buffer initialization step. This is because the initialization of the buffer implies that the application is to be executed, so that the probability that another application will be executed is extremely rare. Therefore, it is not necessary to judge step 501. That is, data compensation can be performed with interpolation or decimation predicted from the measured speed difference.

도 6은 본 발명의 실시예에 따른 음성 데이터를 처리하는 버퍼 제어 장치를 설명하는 구성도이다.6 is a block diagram illustrating a buffer control apparatus for processing voice data according to an embodiment of the present invention.

버퍼(601)는 음성 데이터를 입력받는다. 버퍼(601)는 라이터(Writer)(601a)와 리더(Reader)(601b))를 포함한다. 라이터(601a)가 음성 데이터를 입력받아 버퍼(501)에 쓰고, 리더(601b)가 버퍼(601)에 저장된 음성 데이터를 읽어서 출력한다. 측정부(603)는 버퍼 초기화 단계에서 시험데이터에 의한 읽기속도를 리더(601b)에서 측정하여 이를 제어부(605)로 전달한다. 그리고 음성 데이터가 버퍼(601)에서 실시간으로 처리되는 동안(이하 '실시간 처리 단계')에는 RP와 WP의 주소를 리더(601a)와 라이터(601b)에서 측정하고, 이를 제어부(605)로 전달한다. 상기 RP와 WP의 주소는 버퍼로부터 직접 읽어서 측정할 수도 있을 것이다. 묵음 검 출부(607)는 음성 데이터를 입력받아 현재 수신된 데이터가 묵음 구간인지 여부를 검사하고, 이 정보를 제어부(605)로 전달한다.The buffer 601 receives voice data. The buffer 601 includes a writer 601a and a reader 601b. Writer 601a receives the voice data and writes it into the buffer 501. The reader 601b reads and outputs the voice data stored in the buffer 601. [ The measuring unit 603 measures the reading speed by the test data in the buffer initializing step by the reader 601b and transmits it to the controller 605. [ While the audio data is being processed in real time in the buffer 601 (hereinafter referred to as a 'real-time processing step'), the reader 601a and the writer 601b measure the addresses of the RP and the WP and transmit the measured values to the controller 605 . The addresses of the RP and WP may be read by reading directly from the buffer. The silence detection unit 607 receives the voice data, checks whether the currently received data is a silent period, and transmits the information to the control unit 605. [

제어부(605)는 버퍼 초기화 단계에서 시험데이터를 생성하여 리더(601a)로 전달할 수 있다. 또한, 상기 측정부(603)로부터 전달받은 상기 읽기속도 정보를 이용하여 미리 설정된 사운드 카드의 샘플링 속도와의 속도차이를 구하여 이를 데이터 보상부(609)로 전달한다. 실시간 단계에서 제어부(605)는 상기 측정부(603)로부터 전달받은 RP와 WP의 정보를 이용하여 RW값을 구하고 이를 데이터 보상부(609)로 전달한다. 또한, 상기 묵음 검출부(607)로부터 전달받은 정보를 데이터 보상부(609)로 전달한다. The control unit 605 may generate test data and transmit it to the reader 601a in the buffer initialization step. Further, a speed difference between the sampling rate of the sound card and the sampling rate of the sound card is calculated using the reading speed information received from the measuring unit 603, and the difference is transmitted to the data compensating unit 609. In the real time step, the controller 605 obtains the RW value using the information of the RP and the WP received from the measuring unit 603, and transmits the RW value to the data compensator 609. The information received from the silence detection unit 607 is transmitted to the data compensation unit 609.

데이터 보상부(609)는 초기화 단계에서 제어부(605)로부터 속도차이 정보를 전달받아 상기 속도차이에 따라 초기 데이터 보상을 결정한다. 즉, 상기 도 5에서 설명된 인터폴레이션 또는 데시메이션 여부 및 그 비율을 결정하여 버퍼(601)로 전달한다. 실시간 단계에서 제어부(605)로부터 RW값을 전달받아 RW값이 RW 임계값을 초과하였으면 제어부(605)로부터 전달받은 묵음 데이터를 출력한다. The data compensator 609 receives the speed difference information from the controller 605 in the initialization step and determines the initial data compensation according to the speed difference. That is, whether or not the interpolation or decimation described in FIG. 5 is performed and the ratio is determined and transmitted to the buffer 601. In the real time step, if the RW value is received from the control unit 605 and the RW value exceeds the RW threshold value, the control unit 605 outputs the silence data received from the control unit 605.

도 1은 음성 데이터가 저장되는 일반적인 버퍼의 구성도,1 is a block diagram of a general buffer for storing voice data,

도 2는 종래 기술에 따른 음성 데이터 처리 장치를 설명하는 도면,2 is a view for explaining a speech data processing apparatus according to the prior art,

도 3은 종래 기술에 따른 음성 데이터 처리 방법을 설명하는 개념도,3 is a conceptual diagram illustrating a speech data processing method according to the prior art,

도 4는 본 발명의 실시예에 따른 음성 데이터를 처리하는 버퍼 제어 방법을 설명하는 순서도,4 is a flowchart illustrating a buffer control method for processing voice data according to an embodiment of the present invention;

도 5는 본 발명의 실시예에 따른 버퍼 제어 방법에서 실시간 데이터 보상 방법과 초기 데이터 보상 방법을 설명하는 순서도,FIG. 5 is a flowchart illustrating a real-time data compensation method and an initial data compensation method in a buffer control method according to an embodiment of the present invention;

도 6은 본 발명의 실시예에 따른 음성 데이터를 처리하는 버퍼 제어 장치를 설명하는 구성도.6 is a configuration diagram for explaining a buffer control apparatus for processing voice data according to an embodiment of the present invention;

Claims (10)

버퍼 제어 방법에 있어서,In the buffer control method, 버퍼의 초기 읽기 속도를 측정하는 과정과;Measuring an initial read speed of the buffer; 상기 초기 읽기 속도와 미리 결정된 상기 버퍼의 출력 속도의 차이를 산출하는 과정과;Calculating a difference between the initial reading speed and a predetermined output speed of the buffer; 상기 산출된 속도 차이에 따라 상기 버퍼에 입력 또는 출력되는 데이터량의 비율을 결정하는 과정과;Determining a ratio of an amount of data input to or output from the buffer according to the calculated speed difference; 상기 결정된 데이터량의 비율에 따라 데이터를 입력 또는 출력하기 위한 상기 버퍼의 리드 포인터 및 라이트 포인터의 위치를 측정하여 상기 리드 포인터와 상기 라이트 포인터 사이의 간격을 산출하는 과정과;Calculating a gap between the read pointer and the write pointer by measuring a position of a read pointer and a write pointer of the buffer for inputting or outputting data according to a ratio of the determined data amount; 상기 리드 포인터와 상기 라이트 포인터 사이의 간격의 변경 여부에 따라 상기 데이터량의 비율을 조정하는 과정을 포함하는 버퍼 제어 방법.And adjusting the ratio of the amount of data according to whether the interval between the read pointer and the write pointer is changed or not. 제1항에 있어서,The method according to claim 1, 상기 데이터량의 비율을 결정하는 과정은 상기 버퍼에 저장되는 데이터량이 증가되도록 하거나, 감소되도록 상기 데이터량의 비율을 결정하는 과정을 포함하는 버퍼 제어 방법.Wherein the step of determining the ratio of the data amount comprises the step of determining a ratio of the amount of data so that the amount of data stored in the buffer is increased or decreased. 제1항에 있어서,The method according to claim 1, 상기 데이터량의 비율을 조정하는 과정은 상기 리드 포인터와 상기 라이트 포인터 사이의 간격이 미리 결정된 임계값을 초과하는 경우, 사람의 음성이 포함되지 않은 음성 데이터를 출력하는 과정을 포함하는 버퍼 제어 방법.Wherein the step of adjusting the ratio of the amount of data comprises the step of outputting voice data that does not include a human voice if the interval between the read pointer and the write pointer exceeds a predetermined threshold value. 제1항에 있어서,The method according to claim 1, 상기 데이터량의 비율을 조정하는 과정은 상기 리드 포인터와 상기 라이트 포인터 사이의 간격이 미리 결정된 임계값을 초과하지 않지만 증가한 경우, 상기 버퍼에 저장되는 데이터량이 감소되도록 상기 데이터량의 비율을 조정하는 과정을 포함하는 버퍼 제어 방법.The step of adjusting the ratio of the amount of data may include adjusting the ratio of the amount of data so that the amount of data stored in the buffer is reduced when the interval between the read pointer and the write pointer does not exceed a predetermined threshold but increases, ≪ / RTI > 제1항에 있어서,The method according to claim 1, 상기 데이터량의 비율을 조정하는 과정은 상기 리드 포인터와 상기 라이트 포인터 사이의 간격이 미리 결정된 임계값을 초과하지 않지만 감소한 경우, 상기 버퍼에 저장되는 데이터량이 증가되도록 상기 데이터량의 비율을 조정하는 과정을 포함하는 버퍼 제어 방법.The step of adjusting the ratio of the amount of data may include adjusting the ratio of the amount of data to increase the amount of data stored in the buffer when the interval between the read pointer and the write pointer does not exceed a predetermined threshold but decreases, ≪ / RTI > 버퍼 제어 장치에 있어서,A buffer control device comprising: 버퍼의 초기 읽기 속도를 측정하고, 데이터를 입력 또는 출력하기 위한 상기 버퍼의 리드 포인터 및 라이트 포인터의 위치를 측정하는 측정부와;A measuring unit for measuring an initial reading speed of the buffer and measuring a position of a read pointer and a write pointer of the buffer for inputting or outputting data; 상기 초기 읽기 속도와 미리 결정된 상기 버퍼의 출력 속도의 차이를 산출하고, 상기 리드 포인터와 상기 라이트 포인터 사이의 간격을 산출하는 제어부와;A control unit for calculating a difference between the initial reading speed and a predetermined output speed of the buffer and calculating an interval between the read pointer and the write pointer; 상기 초기 읽기 속도와 상기 미리 결정된 상기 버퍼의 출력 속도 차이에 따라 상기 버퍼에 입력 또는 출력되는 데이터량의 비율을 결정하고, 상기 리드 포인터와 상기 라이트 포인터 사이의 간격의 변경 여부에 따라 상기 데이터량의 비율을 조정하는 데이터 보상부를 포함하는 장치.Determines a ratio of an amount of data input or output to the buffer according to the difference between the initial reading speed and the predetermined output speed of the buffer, and determines a ratio of the amount of data to be written to the buffer according to whether the interval between the read pointer and the write pointer is changed And a data compensation unit for adjusting the ratio. 제6항에 있어서,The method according to claim 6, 상기 데이터 보상부는 상기 버퍼에 저장되는 데이터량이 증가되도록 하거나, 감소되도록 상기 데이터량의 비율을 결정하는 것을 특징으로 하는 장치.Wherein the data compensator determines a ratio of the amount of data to be stored in the buffer so as to increase or decrease the amount of data stored in the buffer. 제6항에 있어서,The method according to claim 6, 상기 데이터 보상부는 상기 리드 포인터와 상기 라이트 포인터 사이의 간격이 미리 결정된 임계값을 초과하는 경우, 사람의 음성이 포함되지 않은 음성 데이터를 출력하도록 하는 것을 특징으로 하는 장치.Wherein the data compensator outputs voice data that does not include a human voice when the interval between the read pointer and the write pointer exceeds a predetermined threshold value. 제6항에 있어서,The method according to claim 6, 상기 데이터 보상부는 상기 리드 포인터와 상기 라이트 포인터 사이의 간격이 미리 결정된 임계값을 초과하지 않지만 증가한 경우, 상기 버퍼에 저장되는 데이터량이 감소되도록 상기 데이터량의 비율을 조정하는 것을 특징으로 하는 장치.Wherein the data compensator adjusts the ratio of the amount of data so that the amount of data stored in the buffer is reduced when an interval between the read pointer and the write pointer does not exceed a predetermined threshold but increases. 제6항에 있어서,The method according to claim 6, 상기 데이터 보상부는 상기 리드 포인터와 상기 라이트 포인터 사이의 간격이 미리 결정된 임계값을 초과하지 않지만 감소한 경우, 상기 버퍼에 저장되는 데이터량이 증가되도록 상기 데이터량의 비율을 조정하는 것을 특징으로 하는 장치.Wherein the data compensator adjusts the ratio of the data amount so that the amount of data stored in the buffer increases when the interval between the read pointer and the write pointer does not exceed a predetermined threshold value but decreases.
KR1020070117383A 2007-11-16 2007-11-16 Apparatus and method for controlling a buffer for processing voice data KR101410523B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070117383A KR101410523B1 (en) 2007-11-16 2007-11-16 Apparatus and method for controlling a buffer for processing voice data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070117383A KR101410523B1 (en) 2007-11-16 2007-11-16 Apparatus and method for controlling a buffer for processing voice data

Publications (2)

Publication Number Publication Date
KR20090050768A KR20090050768A (en) 2009-05-20
KR101410523B1 true KR101410523B1 (en) 2014-06-20

Family

ID=40859172

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070117383A KR101410523B1 (en) 2007-11-16 2007-11-16 Apparatus and method for controlling a buffer for processing voice data

Country Status (1)

Country Link
KR (1) KR101410523B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10896021B2 (en) 2019-02-26 2021-01-19 Nvidia Corporation Dynamically preventing audio underrun using machine learning

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980023973A (en) * 1996-09-03 1998-07-06 기따오까 다까시 Video audio decoding playback device
JP2001256765A (en) 2000-03-15 2001-09-21 Sony Corp Recording and reproducing device
JP2006109127A (en) 2004-10-06 2006-04-20 Sony Corp Reproducing apparatus and method therefor, recording medium, and program
JP2006227110A (en) 2005-02-15 2006-08-31 Sony Corp Apparatus and method for controlling audio input/output

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980023973A (en) * 1996-09-03 1998-07-06 기따오까 다까시 Video audio decoding playback device
JP2001256765A (en) 2000-03-15 2001-09-21 Sony Corp Recording and reproducing device
JP2006109127A (en) 2004-10-06 2006-04-20 Sony Corp Reproducing apparatus and method therefor, recording medium, and program
JP2006227110A (en) 2005-02-15 2006-08-31 Sony Corp Apparatus and method for controlling audio input/output

Also Published As

Publication number Publication date
KR20090050768A (en) 2009-05-20

Similar Documents

Publication Publication Date Title
US5157728A (en) Automatic length-reducing audio delay line
USRE43496E1 (en) Method and apparatus for compensating reproduced audio signals of an optical disc
JP4485690B2 (en) Transmission system for transmitting multimedia signals
KR950006811A (en) Disc reproducing apparatus, signal processing circuit, reproducing speed detecting circuit and reproducing method
US5357595A (en) Sound recording and reproducing apparatus for detecting and compensating for recorded periods of silence during replay
KR101410523B1 (en) Apparatus and method for controlling a buffer for processing voice data
JP4154734B2 (en) Method and apparatus for controlling data stream in vibration-proof playback device
KR100766800B1 (en) Method of and device for encoding an information stream
US20030012101A1 (en) Spindle motor speed control apparatus of optical disc reproducing device
KR20070033377A (en) Data stream encoding device and method
KR920015266A (en) Data recorder and method
KR100400919B1 (en) Elastic buffer
JPH1092057A (en) Jog controller
JP2000181477A (en) Voice processor
KR100335843B1 (en) Disc player
JP3312208B2 (en) Magnetic media reader
KR100247068B1 (en) Appaoetus and method for reproducing audio dota of ortical didsc
JP2000066671A5 (en)
KR20040090892A (en) Method and apparatus for recording optical disk
JPS63220495A (en) Digital sound information processor
JPH01143082A (en) Address mark detecting circuit for magnetic disk device
JPH0748282B2 (en) Signal processor
JPH09147495A (en) D/a conversion unit and reproduction system
JPH0287199A (en) System and device for sounding actuation for voice
KR970003019A (en) Variable speed output control device of digital audio signal

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: 20170529

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180530

Year of fee payment: 5