KR100462989B1 - Method of Managing Voice Token in the Voice Prompt Board - Google Patents

Method of Managing Voice Token in the Voice Prompt Board Download PDF

Info

Publication number
KR100462989B1
KR100462989B1 KR10-2002-0061026A KR20020061026A KR100462989B1 KR 100462989 B1 KR100462989 B1 KR 100462989B1 KR 20020061026 A KR20020061026 A KR 20020061026A KR 100462989 B1 KR100462989 B1 KR 100462989B1
Authority
KR
South Korea
Prior art keywords
voice
sector
token
sector structure
recording
Prior art date
Application number
KR10-2002-0061026A
Other languages
Korean (ko)
Other versions
KR20040031890A (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 KR10-2002-0061026A priority Critical patent/KR100462989B1/en
Publication of KR20040031890A publication Critical patent/KR20040031890A/en
Application granted granted Critical
Publication of KR100462989B1 publication Critical patent/KR100462989B1/en

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 링크 리스트(Linked List) 기법을 이용한 음성 프롬프트 보드의 음성 토큰 관리 방법에 관한 것으로, 음성 프롬프트 보드의 음성 메모리에서 자유 리스트 포인터 변수를 설정하여 링크 리스트 형태로 전체적인 음성 섹터 구조체를 구성하는 과정과; 각각의 녹음 리스트 포인터 변수를 설정하여 음성 토큰의 녹음에 필요한 음성 섹터를 나타내기 위한 음성 녹음 섹터 구조체를 구성하는 과정과; 각각의 재생 리스트 포인터 변수를 설정하여 음성 토큰의 재생에 필요한 이전에 녹음된 음성 섹터를 나타내기 위한 음성 재생 섹터 구조체를 구성하는 과정과; 음성 토큰 녹음 시에 상기 자유 리스트 포인터 변수가 지시하는 바로 다음의 음성 섹터 구조체를 가져와서 이에 대응하는 음성 섹터의 메모리 영역에 해당 음성 토큰을 저장하는 과정과; 상기 음성 토큰의 저장 완료 시에 이용 가능한 음성 녹음 섹터 구조체를 자유 음성 메모리 푸울 내에 할당함과 동시에 해당 음성 녹음 섹터 구조체에 대응하는 녹음 리스트 포인터 변수를 할당하는 과정과; 음성 토큰 재생 시에 상기 할당된 음성 녹음 섹터 구조체의 링크 리스트에 대응하는 음성 녹음 섹터들의 연결 구조를 판독해 음성 재생 섹터 구조체의 링크 리스트로 복사하여 해당 링크 리스트에 따라 상기 음성 토큰을 재생하는 과정을 포함하여, 음성 메모리를 효율적으로 사용할 수 있고 음성 메모리 공간을 절약할 수 있도록 하며, 또한 음성 섹터의 최소 단위를 사용하여 시간적인 제약 없이 음성 메모리가 허용하는 범위 내에서 녹음이나 재생이 가능하다.The present invention relates to a method for managing a voice token of a voice prompt board using a linked list technique. A method of configuring an entire voice sector structure in the form of a linked list by setting a free list pointer variable in a voice memory of a voice prompt board. and; Setting a respective recording list pointer variable to construct a voice recording sector structure for representing a voice sector required for recording a voice token; Setting each playlist pointer variable to construct a speech playback sector structure for representing a previously recorded speech sector required for playback of the speech token; Taking a next voice sector structure indicated by the free list pointer variable and storing the corresponding voice token in a memory region of the corresponding voice sector when recording a voice token; Allocating a voice recording sector structure available in the storage of the voice token in a free voice memory pool and allocating a recording list pointer variable corresponding to the voice recording sector structure; Reproducing the voice token according to a corresponding link list by reading a connection structure of voice recording sectors corresponding to the link list of the allocated voice recording sector structure and copying the link structure of the voice recording sector structure. In addition, the voice memory can be used efficiently and the voice memory space can be saved. Also, the minimum unit of the voice sector can be used to record or play back the voice memory without limiting time.

Description

음성 프롬프트 보드의 음성 토큰 관리 방법 {Method of Managing Voice Token in the Voice Prompt Board}How to manage voice tokens on voice prompt boards {Method of Managing Voice Token in the Voice Prompt Board}

본 발명은 음성 프롬프트 보드의 음성 토큰 관리 방법에 관한 것으로, 특히 링크 리스트(Linked List) 기법을 이용한 음성 프롬프트 보드의 음성 토큰 관리 방법에 관한 것이다.The present invention relates to a voice token management method of a voice prompt board, and more particularly, to a voice token management method of a voice prompt board using a linked list technique.

일반적으로, 음성 프롬프트 보드는 음성 재생(즉, 안내 멘트)의 기본 단위인 음성 토큰을 미리 결정하고, 해당 결정된 음성 토큰들 중에서 가장 긴 음성 토큰의 길이를 음성 메모리의 최소 관리 단위로 정하고, 해당 길이에 맞추어 음성 메모리를 나눈 다음에, 해당 각 음성 토큰을 해당 나눈 각 음성 메모리에 저장하여 사용하도록 이루어져 있다.In general, the voice prompt board pre-determines the voice token which is the basic unit of voice playback (ie, announcement), sets the length of the longest voice token among the determined voice tokens as the minimum management unit of voice memory, and the corresponding length. After dividing the voice memory according to, the respective voice tokens are stored and used in each of the divided voice memories.

이와 같은 종래의 음성 프롬프트 보드는 음성 토큰이 일정한 길이를 가지도록 이루어지는 경우에는 메모리의 낭비 없이 사용할 수 있으나, 만약 대부분의 음성 토큰들의 길이가 짧고 특별히 긴 길이를 가지는 음성 토큰이 존재하는 경우에는, 해당 특별히 긴 길이를 가지는 음성 토큰에 맞추어 음성 메모리의 최소 관리 단위를 정하게 되므로, 메모리의 낭비가 심해진다.Such a conventional voice prompt board can be used without wasting memory when the voice token has a certain length, but if most of the voice tokens are short and have a particularly long voice token, Since the minimum management unit of the voice memory is determined in accordance with a particularly long voice token, the memory is wasted.

예를 들어, 512 초의 음성을 저장할 수 있는 음성 메모리가 있다고 가정하며, 필요한 음성 토큰은 1 초 길이를 갖는 것이 20 개, 2 초 길이를 갖는 것이 20 개, 4 초 길이를 갖는 것이 20 개 및 8 초 길이를 갖는 것이 4 개가 필요하다고 가정하면, '1 초 * 20 개 = 20 초', '2 초 * 20 개 = 40 초', '4 초 * 20 개 = 80 초' 및 '8 초 * 4 개 = 32 초'로 총 172 초를 저장할 수 있는 메모리 공간이 필요하게 된다.For example, suppose you have a voice memory that can hold 512 seconds of voice, and the required voice tokens are 20 for 1 second, 20 for 2 seconds, 20 for 4 seconds, and 8 Supposing you need 4 things with seconds length: '1 second * 20 = 20 seconds',' 2 seconds * 20 = 40 seconds', '4 seconds * 20 = 80 seconds' and' 8 seconds * 4 Dogs = 32 seconds', which requires a total of 172 seconds of memory space.

그러나, 음성 메모리에 필요한 음성을 저장하기 위해서는, 먼저 음성 토큰들 중에서 가장 긴 음성 토큰의 길이(즉, 8 초) 단위로 64 개(즉, 512 초 ÷ 8 초)의 메모리 구역을 나눈 다음에, 1 초 길이의 음성 토큰에 20 개의 메모리 영역을 할당하고 2 초 길이의 음성 토큰에 20 개의 메모리 영역을 할당하고 4 초 길이의 음성 토큰에 20 개의 메모리 영역을 할당하고 8 초 길이의 음성 토큰에 4 개의 메모리 영역을 할당하여 녹음을 수행한다.However, in order to store the necessary voice in the voice memory, first divide the 64 memory zones (ie 512 seconds ÷ 8 seconds) by the length (ie 8 seconds) of the longest voice token among the voice tokens, Allocate 20 memory areas for a 1 second long voice token, 20 memory areas for a 2 second long voice token, 20 memory areas for a 4 second long voice token, and 4 to a 8 second long voice token Recording by allocating two memory areas.

즉, '8 초(실제 사용 길이는 1 초) * 20 개 = 160 초', '8 초(실제 사용 길이는 2 초) * 20 개 = 160 초', '8 초(실제 사용 길이는 4 초) * 20 개 = 160 초' 및 '8 초 * 4 개 = 32 초'로 총 512 초가 소요되므로, 340 초에 해당하는 메모리 공간을 낭비하게 되는 결과를 초래하게 된다.That is, '8 seconds (actual length is 1 second) * 20 = 160 seconds',' 8 seconds (actual length is 2 seconds) * 20 = 160 seconds', '8 seconds (actual length is 4 seconds) ) * 20 = 160 seconds' and '8 seconds * 4 = 32 seconds' takes a total of 512 seconds, resulting in a waste of 340 seconds of memory space.

그리고, 각각 해당되는 음성 토큰의 메모리 범위가 단순하게 고정되어 있으므로, 하드웨어 회로를 구현하여 녹음 수행 시에는 녹음 종료 시까지 음성을 음성 메모리에 기록하게 되며, 재생 시에는 해당되는 메모리 범위 중에서 실제 녹음된 시간만큼 음성 메모리에서 판독하여 재생하게 된다.In addition, since the memory ranges of the corresponding voice tokens are simply fixed, the hardware circuit is implemented to record the voice in the voice memory until the end of recording when recording is performed. The voice is read out from the voice memory and played back.

이와 같이, 종래의 음성 프롬프트 보드에서는 가장 긴 음성 토큰을 저장하기 위해서 음성 메모리의 최소 관리 단위를 가장 긴 음성 토큰에 맞추어야 했기 때문에, 대부분의 음성 토큰들의 길이가 짧고 특별히 긴 길이를 가지는 음성 토큰이 존재하는 경우, 실제로 사용되는 메모리 용량보다 더 많은 메모리 공간을 할당하게 되어 메모리 낭비를 초래하게 되는 단점이 있었다.As such, in the conventional voice prompt board, in order to store the longest voice token, the minimum management unit of the voice memory has to be matched to the longest voice token, so that most voice tokens have a short and particularly long length. In this case, it allocates more memory space than the memory capacity actually used, which causes a waste of memory.

또한, 종래의 음성 프롬프트 보드에서는 하나의 음성 멘트를 최대로 정해진 음성 메모리 길이 이상으로 녹음하거나 재생하는 것이 불가능하며, 이를 위해서는 해당 음성 멘트를 저장할 수 있도록 메모리 공간을 다시 할당하여 사용해야 한다.In addition, in the conventional voice prompt board, it is impossible to record or play a single voice memo over a maximum voice memory length. For this purpose, a memory space must be reallocated so as to store the voice memo.

전술한 바와 같은 문제점을 해결하기 위한 것으로, 본 발명은 링크 리스트 기법을 이용한 음성 프롬프트 보드의 음성 토큰 관리 방법을 제공하는데, 그 목적이 있다.In order to solve the problems as described above, the present invention provides a voice token management method of a voice prompt board using a link list technique, an object thereof.

또한, 본 발명은 음성 프롬프트 보드에서 음성 메모리를 데이터 구조 관리 방법의 하나인 링크 리스트 형태로 구성한 다음에, 음성 토큰을 재생하거나 녹음할 시에 활용하도록 한 음성 프롬프트 보드의 음성 토큰 관리 방법을 제공하는데, 그 목적이 있다.In addition, the present invention provides a voice token management method of the voice prompt board to configure the voice memory in the form of a link list, which is one of the data structure management method in the voice prompt board, and then to use when playing or recording the voice token. , Its purpose is.

또한, 본 발명은 음성 프롬프트 보드의 음성 토큰 관리 방법에 있어서, 음성 메모리를 음성 섹터(즉, 음성 저장을 위한 메모리 기본 단위)로 나누어 관리함으로써, 음성 메모리를 효율적으로 사용할 수 있고 음성 메모리 공간을 절약할 수 있도록 하며, 또한 음성 섹터의 최소 단위를 사용하여 시간적인 제약 없이 음성 메모리가 허용하는 범위 내에서 녹음이나 재생이 가능하도록 하는데, 그 목적이 있다.In addition, according to the present invention, in the voice token management method of the voice prompt board, the voice memory is divided into voice sectors (ie, memory basic units for voice storage) so that voice memory can be efficiently used and voice memory space is saved. It is also possible to use the minimum unit of the voice sector to enable recording or playback within the range allowed by the voice memory without time constraints.

도 1은 본 발명의 실시 예에 따른 음성 프롬프트 보드(Voice Prompt Board)의 음성 토큰 관리 방법을 나타낸 순서도.1 is a flowchart illustrating a voice token management method of a voice prompt board according to an exemplary embodiment of the present invention.

도 2는 도 1에 있어 전체적인 음성 섹터 구조체를 나타낸 도면.FIG. 2 shows the overall speech sector structure of FIG. 1; FIG.

도 3은 도 1에 있어 음성 녹음 섹터 구조체를 나타낸 도면.3 shows a voice recording sector structure in FIG.

도 4는 도 1에 있어 음성 재생 섹터 구조체를 나타낸 도면.4 is a diagram showing a voice reproduction sector structure in FIG.

도 5는 도 1에 있어 음성 토큰 녹음 시에 이용 가능한 음성 섹터 구조체 링크 리스트의 변화를 나타낸 도면.FIG. 5 is a view showing a change of the voice sector structure link list available for recording a voice token in FIG. 1; FIG.

도 6은 도 1에 있어 음성 토큰 녹음 시에 음성 녹음 섹터 구조체 링크 리스트의 변화를 나타낸 도면.FIG. 6 is a view showing a change of a voice recording sector structure link list in voice token recording in FIG. 1; FIG.

도 7은 도 1에 있어 음성 토큰 재생 시에 음성 재생 섹터 구조체 링크 리스트의 변화를 나타낸 도면.FIG. 7 is a view showing a change of a speech reproduction sector structure link list in the reproduction of the speech token in FIG. 1; FIG.

도 8은 도 1에 있어 음성 토큰 재생 과정을 나타낸 순서도.FIG. 8 is a flowchart illustrating a voice token playing process of FIG. 1. FIG.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

상술한 바와 같은 목적을 이루기 위한 본 발명의 실시 예에 따른 음성 프롬프트 보드의 음성 토큰 관리 방법은 음성 프롬프트 보드의 음성 메모리에서 자유 리스트 포인터 변수를 설정하여 링크 리스트 형태로 전체적인 음성 섹터 구조체를 구성하는 과정과; 각각의 녹음 리스트 포인터 변수를 설정하여 음성 토큰의 녹음에 필요한 음성 섹터를 나타내기 위한 음성 녹음 섹터 구조체를 구성하는 과정과; 각각의 재생 리스트 포인터 변수를 설정하여 음성 토큰의 재생에 필요한 이전에 녹음된 음성 섹터를 나타내기 위한 음성 재생 섹터 구조체를 구성하는 과정과; 음성 토큰 녹음 시에 상기 자유 리스트 포인터 변수가 지시하는 바로 다음의 음성 섹터 구조체를 가져와서 이에 대응하는 음성 섹터의 메모리 영역에 해당 음성 토큰을 저장하는 과정과; 상기 음성 토큰의 저장 완료 시에 이용 가능한 음성 녹음 섹터 구조체를 자유 음성 메모리 푸울 내에 할당함과 동시에 해당 음성 녹음 섹터 구조체에 대응하는 녹음 리스트 포인터 변수를 할당하는 과정과; 음성 토큰 재생 시에 상기 할당된 음성 녹음 섹터 구조체의 링크 리스트에 대응하는 음성 녹음 섹터들의 연결 구조를 판독해 음성 재생 섹터 구조체의 링크 리스트로 복사하여 해당 링크 리스트에 따라 상기 음성 토큰을 재생하는 과정을 포함하여 이루어진 것을 특징으로 한다.The method of managing a voice token of a voice prompt board according to an embodiment of the present invention for achieving the above object is a process of configuring the entire voice sector structure in the form of a linked list by setting a free list pointer variable in a voice memory of the voice prompt board. and; Setting a respective recording list pointer variable to construct a voice recording sector structure for representing a voice sector required for recording a voice token; Setting each playlist pointer variable to construct a speech playback sector structure for representing a previously recorded speech sector required for playback of the speech token; Taking a next voice sector structure indicated by the free list pointer variable and storing the corresponding voice token in a memory region of the corresponding voice sector when recording a voice token; Allocating a voice recording sector structure available in the storage of the voice token in a free voice memory pool and allocating a recording list pointer variable corresponding to the voice recording sector structure; Reproducing the voice token according to a corresponding link list by reading a connection structure of voice recording sectors corresponding to the link list of the allocated voice recording sector structure and copying the link structure of the voice recording sector structure. Characterized in that the made up.

바람직하게는, 상기 음성 섹터 구조체 구성 과정은 상기 음성 메모리를 소정의 시간 단위의 기본 음성 섹터로 나누는 단계와; 상기 음성 섹터를 나타내는 음성 섹터 구조체의 포인터를 링크 리스트로 연결하여 상기 자유 음성 메모리 푸울을 형성하는 단계와; 상기 자유 음성 메모리 푸울의 링크 리스트 중에서 마지막 요소를 영으로 지시하여 상기 링크 리스트의 끝을 알 수 있도록 하는 단계를 포함하여 이루어진 것을 특징으로 한다.Advantageously, the process of constructing a speech sector structure comprises: dividing the speech memory into basic speech sectors in predetermined time units; Linking a pointer of a voice sector structure representing the voice sector to a linked list to form the free voice memory pool; And indicating the last element of the link list of the free voice memory pool so as to indicate the end of the link list.

또한 바람직하게는, 상기 음성 토큰 저장 과정은 임의의 음성 토큰 녹음 시에 상기 자유 리스트 포인터 변수를 확인하여 상기 자유 리스트 포인터 변수가 지시하는 바로 다음의 음성 섹터 구조체를 가져와서 녹음 리스트 포인터 변수로 지시하는 단계와; 상기 자유 리스트 포인터 변수를 현재 음성 섹터 구조체가 지시하던 다음의 음성 섹터 구조체로 지시하는 단계와; 현재 음성 섹터 구조체를 영으로 지시함과 동시에 상기 음성 토큰을 현재 음성 섹터의 메모리 영역에 저장하는 단계를 포함하여 이루어진 것을 특징으로 한다.Also preferably, the storing of the voice token may identify the free list pointer variable at the time of recording any voice token, take the next voice sector structure indicated by the free list pointer variable, and indicate the recorded list pointer variable. Steps; Pointing the free list pointer variable to the next speech sector structure indicated by the current speech sector structure; And indicating the current voice sector structure as zero and storing the voice token in a memory area of the current voice sector.

더욱이 바람직하게는, 상기 음성 토큰 재생 과정은 상기 음성 메모리에 저장된 모든 음성 토큰을 운용자의 필요에 의해 반복 재생할 경우인지를 확인하는 단계와; 상기 음성 토큰을 한 번만 재생할 경우에 상기 자유 음성 메모리 푸울 내 할당된 음성 녹음 섹터 구조체 링크 리스트에 대응하는 음성 녹음 섹터들의 연결 구조를 판독하여 음성 재생 섹터 구조체 링크 리스트로 복사하는 단계와; 상기 복사 완료 시에 상기 재생 리스트 포인터 변수를 판독하는 단계와; 상기 재생 리스트 포인터 변수가 지시하는 음성 재생 섹터를 가져와 해당 음성 재생 섹터 구조체의 내용과 같이 상기 음성 토큰을 판독하여 재생하는 단계와; 상기 음성 토큰 재생 완료 시에 상기 음성 재생 섹터 구조체를 링크 리스트에서 삭제하는 단계와; 상기 삭제한 음성 재생 섹터 구조체가 지시하던 다음 링크 리스트의 요소를 판독하여 이전의재생 리스트 포인터 변수로 지시하는 단계와; 상기 삭제한 음성 재생 섹터 구조체가 지시하던 다음 링크 리스트의 요소에 대응하는 음성 재생 섹터 구조체가 더 있는지를 확인하는 단계와; 상기 음성 재생 섹터 구조체가 하나밖에 없는 경우에 다음 링크 리스트의 요소를 영으로 지시하는 단계를 포함하여 이루어진 것을 특징으로 한다.Further preferably, the voice token reproducing process may include: checking whether all voice tokens stored in the voice memory are repeatedly reproduced by an operator's need; Reading and copying a concatenated structure of voice record sectors corresponding to an assigned voice record sector structure link list in the free voice memory pool when playing the voice token only once; Reading the playlist pointer variable upon completion of the copying; Taking a speech reproduction sector indicated by the playlist pointer variable and reading and playing the speech token as the contents of the speech reproduction sector structure; Deleting the speech reproduction sector structure from the link list when the speech token reproduction is completed; Reading an element of a next link list indicated by the deleted voice reproduction sector structure and pointing it to a previous reproduction list pointer variable; Checking whether there is further a speech reproduction sector structure corresponding to an element of a next link list indicated by the deleted speech reproduction sector structure; And instructing the element of the next link list to be zero when there is only one audio reproduction sector structure.

다르게는, 상기 음성 토큰 재생 과정은 상기 음성 토큰을 반복 재생할 경우에 상기 음성 녹음 섹터 구조체 링크 리스트에서 영이 나오기 전까지 상기 음성 재생 섹터 구조체 링크 리스트로 복사하는 단계와; 재생 반복 횟수만큼 상기 복사된 음성 재생 섹터 구조체 링크 리스트를 반복해서 복사한 다음에 맨 마지막에 영을 붙이는 단계와; 상기 음성 재생 섹터 구조체 링크 리스트의 요소가 영이 나올 때까지 재생 반복 횟수만큼 상기 음성 토큰을 반복 재생하는 단계를 포함하여 이루어진 것을 특징으로 한다. 이하, 본 발명의 실시 예를 첨부한 도면을 참조하여 상세하게 설명하면 다음과 같다.Alternatively, the voice token reproducing process may further include copying the voice token to the voice reproducing sector structure link list until zero occurs in the voice recording sector structure link list when the voice token is repeatedly reproduced; Repeatedly copying the copied speech reproduction sector structure link list by the number of reproduction repetitions and then appending a zero at the end; And replaying the voice token repeatedly as many times as the repetition number of times until the element of the voice reproducing sector structure link list is zero. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 실시 예에 따른 음성 프롬프트 보드의 음성 토큰 관리 방법을 도 1의 순서도를 참고하여 설명하면 다음과 같다.The voice token management method of the voice prompt board according to an embodiment of the present invention will be described with reference to the flowchart of FIG. 1.

첫 번째로, 음성 프롬프트 보드의 음성 메모리에서 전체적인 음성 섹터 구조체를 도 2에 도시된 바와 같이, 자유 리스트 포인터 변수(FreeListPtr)를 설정하여 데이터 구조 관리 방법의 하나인 링크 리스트 형태로 구성해 준다(과정 S1). 여기서, 도 2는 음성 프롬프트 보드에서 이용 가능한 음성 섹터의 자료 구조, 즉 링크리스트 형태로 구성되어 있는 전체적인 음성 섹터 구조체를 나타낸 도면이다.First, as shown in FIG. 2, the entire voice sector structure in the voice memory of the voice prompt board is set in the form of a linked list which is one of data structure management methods by setting a free list pointer variable (FreeListPtr). S1). Here, FIG. 2 is a diagram showing the overall voice sector structure composed of the data structure of the voice sector available in the voice prompt board, that is, in the form of a link list.

조금 더 자세히 살펴보면, 도 2에 있어서, 자유 리스트 포인터 변수(FreeListPtr)는 전체의 자유 음성 섹터 링크 리스트(Free Voice Sector Linked List)를 지시하는 포인터 변수를 말한다.In more detail, in FIG. 2, the free list pointer variable FreeListPtr refers to a pointer variable indicating an entire free voice sector linked list.

우선, 음성 토큰을 저장하는 음성 메모리를 소정의 시간(예로, 1 초) 단위의 기본 음성 섹터로 나눈다. 여기에서, 본 발명의 설명 상 편의를 위해서 해당 음성 메모리를 1 초 단위로 나눈 것으로 설명하나, 본 발명은 이에 국한된 것이 아니라 이것보다 더 작은 단위 또는 큰 단위로 나누는 것도 가능하다는 점을 잘 이해해야 한다.First, the voice memory for storing the voice token is divided into basic voice sectors for a predetermined time (for example, 1 second). Herein, the voice memory is divided into one second units for convenience of explanation of the present invention, but it should be understood that the present invention is not limited thereto, but may be divided into smaller units or larger units.

그리고, 상기와 같이 나누어진 음성 섹터를 나타내는 구조체(즉, 음성 섹터 구조체)의 포인터를 링크 리스트로 연결하는데, 이때 해당 구조체를 링크 리스트로 연결하는 구현은 데이터베이스 구조론의 일반 개념을 따라 이루어진다.The pointers of the structures representing the divided voice sectors (ie, the voice sector structures) are linked to the linked list, and the implementation of linking the structures to the linked list is performed according to the general concept of database structure theory.

이렇게 연결된 링크 리스트를 자유 음성 메모리 푸울(Pool)이라고 하는데, 해당 자유 음성 메모리 푸울은 전체 음성 메모리 중에서 음성 토큰 녹음 시에 사용이 가능한 음성 섹터를 나타낸다.The linked list is called a free voice memory pool. The free voice memory pool represents a voice sector that can be used for recording a voice token among all voice memories.

또한, 해당 자유 음성 메모리 푸울의 링크 리스트 중에서 마지막 요소를 영(NULL)으로 지시하도록 함으로써, 해당 연결된 링크 리스트의 끝을 알 수 있도록 해 준다.In addition, the last element of the link list of the free voice memory pool is indicated by null, so that the end of the linked link list is known.

두 번째로, 상기 음성 토큰을 상기 음성 메모리에 녹음할 시에 해당 녹음에 필요한 음성 섹터를 나타내기 위한 음성 녹음 섹터 구조체를 도 3에 도시된 바와같이, 각각의 녹음 리스트 포인터 변수(T0RecListPtr ~ TnRecListPtr)를 설정하여 구성해 준다(과정 S2). 여기서, 도 3은 음성 프롬프트 보드에서 음성 토큰 녹음 시에 사용하는 음성 섹터의 자료 구조, 즉 음성 녹음 섹터 구조체를 나타낸 도면이다.Secondly, when recording the voice token in the voice memory, a voice recording sector structure for indicating a voice sector required for the corresponding recording is shown in Fig. 3, respectively, for each recording list pointer variable (T0RecListPtr to TnRecListPtr). Set up and configure (step S2). 3 is a diagram illustrating a data structure of a voice sector, that is, a voice recording sector structure, used when recording a voice token in a voice prompt board.

그리고, 상기 음성 녹음 섹터 구조체는 다음 구조체를 지시하는 넥스트 포인터 변수, 음성 녹음 섹터를 표시하는 음성 섹터 번호 및 음성 녹음 시간을 표시하는 음성 녹음 시간 변수를 포함하여 이루어진다.The voice recording sector structure includes a next pointer variable indicating a next structure, a voice sector number indicating a voice recording sector, and a voice recording time variable indicating a voice recording time.

조금 더 자세히 살펴보면, 도 3에 있어서, 다수 개의 녹음 리스트 포인터 변수(T0RecListPtr ~ TnRecListPtr)는 어떤 음성 토큰(즉, 몇 번째의 음성 토큰)을 상기 음성 메모리에 녹음할 경우에 해당 녹음에 필요한 음성 섹터를 나타내는 구조체(즉, 음성 녹음 섹터 구조체)의 포인터 변수를 말하는데, 시스템 초기화 시에는 녹음된 음성 토큰이 존재하지 않기 때문에 해당 녹음 리스트 포인터 변수(T0RecListPtr ~ TnRecListPtr)는 영(NULL)을 지시하도록 한다.In more detail, in FIG. 3, a plurality of recording list pointer variables T0RecListPtr to TnRecListPtr indicate a voice sector required for recording when a voice token (that is, a number of voice tokens) is recorded in the voice memory. Refers to a pointer variable of the indicating structure (ie, voice recording sector structure). Since the recorded voice token does not exist at system initialization, the corresponding recording list pointer variables T0RecListPtr to TnRecListPtr indicate zero.

예를 들어, 0번의 녹음 리스트 포인터 변수(T0RecListPtr)는 음성 토큰 0번에 녹음을 실시하였을 경우 해당 녹음에 필요한 음성 섹터를 나타내는 구조체의 포인터 변수를 말하며, n번의 녹음 리스트 포인터 변수(TnRecListPtr)는 음성 토큰 n번에 녹음을 실시하였을 경우 해당 녹음에 필요한 음성 섹터를 나타내는 구조체의 포인터 변수를 말한다.For example, the 0 recording list pointer variable (T0RecListPtr) refers to a pointer variable of a structure representing a voice sector required for recording when the voice token 0 is recorded, and the n recording list pointer variable (TnRecListPtr) is a voice. When recording is performed on token n, this refers to a pointer variable of a structure representing a voice sector required for the recording.

세 번째로, 상기 음성 메모리로부터 음성 토큰을 판독하여 재생할 시에 해당 재생에 필요한 이전에 녹음된 음성 섹터를 나타내기 위한 음성 재생 섹터 구조체를도 4에 도시된 바와 같이, 각각의 재생 리스트 포인터 변수(T0PlyListPtr ~ TnPlyListPtr)를 설정하여 구성해 준다(과정 S3). 여기서, 도 4는 음성 프롬프트 보드에서 음성 토큰 재생 시에 사용하는 음성 섹터의 자료 구조, 즉 음성 재생 섹터 구조체를 나타낸 도면이다.Third, a speech reproduction sector structure for representing a previously recorded speech sector required for the reproduction at the time of reading and playing the speech token from the speech memory, as shown in FIG. T0PlyListPtr to TnPlyListPtr) are configured (step S3). 4 is a diagram showing a data structure of a voice sector, that is, a voice reproduction sector structure, used in reproducing a voice token in the voice prompt board.

그리고, 상기 음성 재생 섹터 구조체는 다음 구조체를 지시하는 넥스트 포인터 변수, 음성 재생 섹터를 표시하는 음성 섹터 번호 및 음성 재생 시간을 표시하는 음성 재생 시간 변수를 포함하여 이루어진다.The voice reproduction sector structure includes a next pointer variable indicating a next structure, a voice sector number indicating a voice reproduction sector, and a voice reproduction time variable indicating a voice reproduction time.

조금 더 자세히 살펴보면, 도 4에 있어서, 다수 개의 재생 리스트 포인터 변수(T0PlyListPtr ~ TnPlyListPtr)는 어떤 음성 토큰(즉, 몇 번째의 음성 토큰)을 상기 음성 메모리로부터 판독하여 재생할 경우 해당 재생에 필요한 이전에 녹음된 음성 섹터를 나타내는 구조체(즉, 음성 재생 섹터 구조체)의 포인터 변수를 말하는데, 시스템 초기화 시에는 재생할 음성 토큰이 존재하지 않기 때문에 해당 재생 리스트 포인터 변수(T0PlyListPtr ~ TnPlyListPtr)는 영(NULL)을 지시하도록 한다.In more detail, in FIG. 4, a plurality of play list pointer variables T0PlyListPtr to TnPlyListPtr are previously recorded for playing a voice token (i.e., a few voice tokens) from the voice memory. Refers to a pointer variable of a structure representing a speech sector that has been processed (i.e., a speech playback sector structure), and the playlist pointer variables (T0PlyListPtr to TnPlyListPtr) indicate zero because there is no speech token to play at system initialization. do.

예를 들어, 0번의 재생 리스트 포인터 변수(T0PlyListPtr)는 음성 토큰 0번을 재생할 경우 이전에 녹음된 음성 섹터를 나타내는 구조체의 포인터 변수를 말하며, n번의 재생 리스트 포인터 변수(TnPlyListPtr)는 음성 토큰 n번을 재생할 경우 이전에 녹음된 음성 섹터를 나타내는 구조체의 포인터 변수를 말한다.For example, 0 playlist pointer variable (T0PlyListPtr) refers to a pointer variable of a structure representing a previously recorded speech sector when playing speech token 0, and n playlist pointer variable (TnPlyListPtr) refers to speech token n In the case of playback, it refers to a pointer variable of a structure representing a previously recorded voice sector.

네 번째로, 실제로 임의의 음성 토큰을 상기 음성 메모리에 녹음할 경우, 현재의 자유 리스트 포인터 변수(FreeListPtr)가 지시하는 바로 다음의 음성 섹터 구조체를 가져와서 이에 대응하는 음성 섹터의 메모리 영역에 해당 음성 토큰을 소정의 시간 동안 저장해 준다(과정 S4).Fourthly, when actually recording any voice token into the voice memory, the next voice sector structure indicated by the current free list pointer variable (FreeListPtr) is taken and the corresponding voice sector is stored in the memory area of the corresponding voice sector. The token is stored for a predetermined time (step S4).

예를 들어, 0번의 음성 토큰을 녹음할 경우에 이용 가능한 음성 섹터 구조체 링크 리스트의 변화를 도 5를 참고하여 살펴보면 다음과 같다.For example, a change in the voice sector structure link list that is available when 0 voice tokens are recorded will be described with reference to FIG. 5.

도 5에 도시된 바와 같이, 0번의 음성 토큰 녹음을 상기 음성 메모리에 수행하면, 현재의 자유 리스트 포인터 변수(FreeListPtr)를 먼저 확인한 다음에, 해당 자유 리스트 포인터 변수(FreeListPtr)가 지시하는 바로 다음의 음성 섹터 구조체(Sector #1)를 가져와서 0번의 녹음 리스트 포인터 변수(T0RecListPtr)로 지시하도록 한다.As shown in Fig. 5, when 0 voice token recording is performed to the voice memory, the current free list pointer variable FreeListPtr is first checked, and then immediately following the free list pointer variable FreeListPtr indicated. The voice sector structure Sector # 1 is taken and pointed to by the recording list pointer variable T0RecListPtr of 0.

그리고, 상기 자유 리스트 포인터 변수(FreeListPtr)는 0번의 음성 섹터 구조체(Sector #0)가 지시하던 1번의 음성 섹터 구조체(Sector #1)를 지시하도록 함과 동시에, 0번의 음성 섹터 구조체(Sector #0)를 영(NULL)으로 지시하도록 한다.The free list pointer variable FreeListPtr points to the first voice sector structure Sector # 1 indicated by the 0 voice sector structure Sector # 0 and to the 0 voice sector structure Sector # 0. ) To null.

그런 후, 하드웨어를 조작하여 상기 0번의 음성 토큰을 0번의 음성 섹터의 메모리 영역에 1초 동안 저장해 준다.Then, the hardware is manipulated to store the voice token # 0 in the memory area of the voice sector # 0 for 1 second.

다섯 번째로, 상기 음성 토큰을 상기 음성 메모리에 저장한 경우에 상기 자유 음성 메모리 푸울 내에 존재하는 이용 가능한 음성 녹음 섹터 구조체를 할당하며, 해당 음성 녹음 섹터 구조체에 대응하는 녹음 리스트 포인터 변수(T0RecListPtr)를 할당해 줌으로써(과정 S5), 음성 토큰의 재생 시에 어떤 음성 섹터가 어떤 순서로 사용되었는지를 알기 위해서는 해당되는 음성 토큰의 녹음 리스트 포인터 변수(T0RecListPtr)를 판독하여 해당 녹음 리스트 포인터 변수(T0RecListPtr)가 지시하는 음성 섹터들을 가져와 해당 음성 토큰의 재생에 사용할 수 있도록 한다.Fifth, allocating an available voice recording sector structure existing in the free voice memory pool when the voice token is stored in the voice memory, and assigning a recording list pointer variable T0RecListPtr corresponding to the voice recording sector structure. By assigning (step S5), the recording list pointer variable T0RecListPtr of the corresponding speech token is read and the recording list pointer variable T0RecListPtr is read in order to find out which voice sectors are used in what order during the playback of the voice token. The indicated voice sectors are taken and made available for playback of the corresponding voice token.

예를 들어, 0번의 음성 토큰을 녹음할 경우에 상기 음성 녹음 섹터 구조체 링크 리스트의 변화를 도 6을 참고하여 살펴보면 다음과 같다.For example, when a voice token of 0 is recorded, a change in the voice recording sector structure link list will be described with reference to FIG. 6.

도 6에 도시된 바와 같이, 상기 자유 음성 메모리 푸울 내에 존재하는 이용 가능한 음성 녹음 섹터 구조체들 중에서 하나(즉, 0번의 음성 녹음 섹터 구조체(Sector #0))만 할당되었음을 알 수 있는데, 음성 토큰의 재생 시에 어떤 음성 섹터가 어떤 순서로 사용되었는지를 알려 주기 위해서는 해당 할당된 0번의 음성 섹터 구조체(Sector #0)에 대응하는 녹음 리스트 포인터 변수(T0RecListPtr)를 할당해 둔다. 이에, 추후에 해당되는 음성 토큰의 녹음 리스트 포인터 변수(T0RecListPtr)를 판독하여 해당 녹음 리스트 포인터 변수(T0RecListPtr)가 지시하는 음성 섹터(Sector #0)를 가져와 재생에 사용할 수 있도록 한다.As shown in FIG. 6, it can be seen that only one of the available voice recording sector structures present in the free voice memory pool (ie, 0 voice recording sector structure Sector # 0) has been allocated. The recording list pointer variable T0RecListPtr corresponding to the allocated number 0 voice sector structure Sector # 0 is assigned to indicate which voice sector is used in what order during reproduction. Therefore, the recording list pointer variable T0RecListPtr of the corresponding voice token is read later so that the voice sector Sector # 0 indicated by the recording list pointer variable T0RecListPtr can be taken and used for playback.

여섯 번째로, 상기 음성 메모리에 저장된 음성 토큰을 재생할 경우에, 상기 자유 음성 메모리 푸울 내에서 이미 할당된 음성 녹음 섹터 구조체의 링크 리스트에 대응하는 음성 녹음 섹터들의 연결 구조를 판독하여 음성 재생 섹터 구조체의 링크 리스트로 복사한 후에, 해당 음성 재생 섹터 구조체 링크 리스트에 따라 실제 하드웨어를 조작하여 상기 음성 토큰을 재생시켜 준다(과정 S6). 여기서, 해당 음성 재생 섹터 구조체 링크 리스트는 일종의 재생을 위한 임시 저장 장소라고 이해하면 된다.Sixth, in the case of playing back the voice token stored in the voice memory, the connection structure of the voice recording sectors corresponding to the link list of the voice recording sector structure already allocated in the free voice memory pool is read to read the voice token sector structure. After copying to the link list, real hardware is manipulated according to the corresponding speech reproduction sector structure link list to reproduce the speech token (step S6). It is to be understood that the voice reproduction sector structure link list is a temporary storage place for a kind of reproduction.

상기 제6과정(S6)의 음성 토큰 재생 과정을 도 8의 순서도를 참고하여 살펴보면 다음과 같다.The voice token reproduction process of the sixth process S6 will be described with reference to the flowchart of FIG. 8.

먼저, 상기 음성 메모리에 저장된 모든 음성 토큰을 반복 재생할 경우인지를 확인하는데, 즉 운용자의 필요에 의해 음성 반복 재생 요구가 인가되는지를 확인한다(단계 S6-1).First, it is checked whether or not all voice tokens stored in the voice memory are repeatedly played back, i.e., whether or not the voice repeated playback request is applied as required by the operator (step S6-1).

이에, 상기 제6-1단계(S6-1)에서 단 한번만 음성을 재생하는 경우, 예를 들어 도 7을 참고하여 0번의 음성 토큰을 재생할 경우에 상기 음성 재생 섹터 구조체의 링크 리스트의 변화를 살펴보면 다음과 같다.Therefore, when the voice is played back only once in step 6-1 (S6-1), for example, when the voice token of 0 is played with reference to FIG. 7, the link list of the voice play sector structure is changed. As follows.

도 7에 도시된 바와 같이, 상기 음성 메모리에 저장된 0번의 음성 토큰을 재생하기 위해서는, 우선 상기 자유 음성 메모리 푸울 내에서 이미 할당된 음성 녹음 섹터 구조체의 링크 리스트에 대응하는 음성 녹음 섹터들의 연결 구조를 판독하여(단계 S6-2) 음성 재생 섹터 구조체의 링크 리스트로 복사해 준다(단계 S6-3).As shown in FIG. 7, in order to reproduce 0 voice tokens stored in the voice memory, a connection structure of voice recording sectors corresponding to a link list of a voice recording sector structure already allocated in the free voice memory pool is first determined. The data is read (step S6-2) and copied to the link list of the audio reproduction sector structure (step S6-3).

이와 같은 복사가 완료되었는지를 확인하며(단계 S6-4), 이에 해당 복사가 완료되면 상기 음성 녹음 섹터 구조체의 링크 리스트와 음성 재생 섹터 구조체의 링크 리스트가 동일하게 되며, 이에 해당 음성 재생 섹터 구조체의 링크 리스트에 따라 실제 하드웨어를 조작하여 상기 음성 토큰을 재생시켜 주도록 한다.It is checked whether such a copy is completed (step S6-4). When the copy is completed, the link list of the voice recording sector structure and the link list of the voice reproduction sector structure are the same. The actual token is manipulated according to the link list to reproduce the voice token.

즉, 0번의 재생 리스트 포인터 변수(T0PlyListPtr)를 판독하여(단계 S6-5) 해당 0번의 재생 리스트 포인터 변수(T0PlyListPtr)가 지시하는 음성 재생 섹터를 가지고 와서(단계 S6-6) 해당 음성 재생 섹터 구조체(Sector #0)의 내용과 같이 상기 음성 메모리로부터 음성 토큰을 판독하여 재생해 준다(단계 S6-7).In other words, by reading the 0 playlist list variable T0PlyListPtr (step S6-5) and bringing the speech playback sector indicated by the 0 playlist pointer variable T0PlyListPtr (step S6-6), the corresponding speech playback sector structure As described in (Sector # 0), the voice token is read from the voice memory and played back (step S6-7).

그런 후, 상기 음성 토큰의 재생이 완료되었는지를 확인하며(단계 S6-8), 이에 상기 음성 토큰의 재생이 완료되면 상기 음성 재생 섹터 구조체(Sector #0)를링크 리스트에서 삭제하며(단계 S6-9), 해당 삭제한 음성 재생 섹터 구조체(Sector #0)가 지시하던 다음 링크 리스트의 요소를 판독하여(단계 S6-10) 0번의 재생 리스트 포인터 변수(T0PlyListPtr)로 지시하도록 한다(단계 S6-11).Then, it is checked whether the reproduction of the voice token is completed (step S6-8), and when the reproduction of the voice token is completed, the voice reproduction sector structure Sector # 0 is deleted from the link list (step S6-). 9) The element of the next linked list indicated by the deleted speech reproduction sector structure Sector # 0 is read (step S6-10), and is indicated by the number 0 playlist pointer variable T0PlyListPtr (step S6-11). ).

이 때, 해당 삭제한 음성 재생 섹터 구조체(Sector #0)가 지시하던 다음 링크 리스트의 요소에 대응하는 음성 재생 섹터 구조체가 더 있는지를 확인하는데(단계 S6-12), 도 7의 경우에는 음성 재생 섹터 구조체(Sector #0)가 하나밖에 없기 때문에 다음 링크 리스트의 요소를 영(NULL)으로 지시해 재생할 음성 토큰이 더 이상 존재하지 않음을 알려 준다(단계 S6-13).At this time, it is checked whether or not there are more voice reproduction sector structures corresponding to the elements of the next link list indicated by the deleted voice reproduction sector structure (Sector # 0) (step S6-12). Since there is only one sector structure (Sector # 0), the next link list element is indicated by null to indicate that there is no longer a voice token to be reproduced (steps S6-13).

반면에, 해당 삭제한 음성 재생 섹터 구조체(Sector #0)가 지시하던 다음 링크 리스트의 요소에 대응하는 음성 재생 섹터 구조체가 더 있는 경우에는 다음 번의 재생 리스트 포인터 변수(T1PlyListPtr)를 판독하여(단계 S6-14) 상술한 바와 같은 동작을 영(NULL)이 나올 때까지 반복 수행하도록 한다.On the other hand, if there is further speech reproduction sector structure corresponding to the element of the next linked list indicated by the deleted speech reproduction sector structure Sector # 0, the next playlist pointer variable T1PlyListPtr is read (step S6). -14) The above operation is repeated until zero is displayed.

한편, 상기 제6-1단계(S6-1)에서 필요에 따라서 음성 반복 재생을 수행할 경우에는, 상기 음성 녹음 섹터 구조체 링크 리스트를 상기 음성 재생 섹터 구조체 링크 리스트로 복사할 때에 동일하게 복사하지 않고 영(NULL)이 나오기 전까지 복사한 후에(단계 S6-15) 필요한 반복 횟수만큼 해당 복사된 음성 재생 섹터 구조체 링크 리스트를 반복해서 복사해 주며(단계 S6-16), 그 다음에 맨 마지막에 영(NULL)을 붙인 후(단계 S6-17), 0번의 재생 리스트 포인터 변수(T0PlyListPtr)를 판독하여 상술한 바와 같은 동작을 수행한다.On the other hand, in the case where voice repeat playback is performed as necessary in step 6-1 (S6-1), when copying the voice record sector structure link list to the voice play sector structure link list, the same copy is not copied. After copying until a null comes out (step S6-15), the copied voice reproduction sector structure link list is repeatedly copied as many times as necessary (step S6-16), and then zero (at the end). NULL) (step S6-17), the playback list pointer variable (T0PlyListPtr) 0 is read and the operation as described above is performed.

이상과 같이, 본 발명에 의해 음성 프롬프트 보드에서 음성 메모리를 음성 섹터로 나누어 관리함으로써, 음성 메모리를 효율적으로 사용할 수 있고 음성 메모리 공간을 절약할 수 있도록 하며, 또한 음성 섹터의 최소 단위를 사용하여 시간적인 제약 없이 음성 메모리가 허용하는 범위 내에서 녹음이나 재생이 가능하다.As described above, according to the present invention, the voice prompt board divides and manages the voice memory into voice sectors, thereby making it possible to efficiently use the voice memory and to save the voice memory space. You can record or play back as long as voice memory allows without any limitation.

Claims (8)

음성 프롬프트 보드의 음성 메모리에서 자유 리스트 포인터 변수를 설정하여 링크 리스트 형태로 전체적인 음성 섹터 구조체를 구성하는 과정과;Setting a free list pointer variable in a voice memory of the voice prompt board to form an overall voice sector structure in the form of a linked list; 각각의 녹음 리스트 포인터 변수를 설정하여 음성 토큰의 녹음에 필요한 음성 섹터를 나타내기 위한 음성 녹음 섹터 구조체를 구성하는 과정과;Setting a respective recording list pointer variable to construct a voice recording sector structure for representing a voice sector required for recording a voice token; 각각의 재생 리스트 포인터 변수를 설정하여 음성 토큰의 재생에 필요한 이전에 녹음된 음성 섹터를 나타내기 위한 음성 재생 섹터 구조체를 구성하는 과정과;Setting each playlist pointer variable to construct a speech playback sector structure for representing a previously recorded speech sector required for playback of the speech token; 음성 토큰 녹음 시에 상기 자유 리스트 포인터 변수가 지시하는 바로 다음의 음성 섹터 구조체를 가져와서 이에 대응하는 음성 섹터의 메모리 영역에 해당 음성 토큰을 저장하는 과정과;Taking a next voice sector structure indicated by the free list pointer variable and storing the corresponding voice token in a memory region of the corresponding voice sector when recording a voice token; 상기 음성 토큰의 저장 완료 시에 이용 가능한 음성 녹음 섹터 구조체를 자유 음성 메모리 푸울 내에 할당함과 동시에 해당 음성 녹음 섹터 구조체에 대응하는 녹음 리스트 포인터 변수를 할당하는 과정과;Allocating a voice recording sector structure available in the storage of the voice token in a free voice memory pool and allocating a recording list pointer variable corresponding to the voice recording sector structure; 음성 토큰 재생 시에 상기 할당된 음성 녹음 섹터 구조체의 링크 리스트에 대응하는 음성 녹음 섹터들의 연결 구조를 판독해 음성 재생 섹터 구조체의 링크 리스트로 복사하여 해당 링크 리스트에 따라 상기 음성 토큰을 재생하는 과정을 포함하여 이루어진 것을 특징으로 하는 음성 프롬프트 보드의 음성 토큰 관리 방법.Reproducing the voice token according to a corresponding link list by reading a connection structure of voice recording sectors corresponding to the link list of the allocated voice recording sector structure and copying the link structure of the voice recording sector structure. Voice token management method of a voice prompt board comprising a. 제1항에 있어서,The method of claim 1, 상기 음성 섹터 구조체 구성 과정은 상기 음성 메모리를 소정의 시간 단위의 기본 음성 섹터로 나누는 단계와;The process of constructing the speech sector structure may include dividing the speech memory into basic speech sectors in predetermined time units; 상기 음성 섹터를 나타내는 음성 섹터 구조체의 포인터를 링크 리스트로 연결하여 상기 자유 음성 메모리 푸울을 형성하는 단계와;Linking a pointer of a voice sector structure representing the voice sector to a linked list to form the free voice memory pool; 상기 자유 음성 메모리 푸울의 링크 리스트 중에서 마지막 요소를 영으로 지시하여 상기 링크 리스트의 끝을 알 수 있도록 하는 단계를 포함하여 이루어진 것을 특징으로 하는 음성 프롬프트 보드의 음성 토큰 관리 방법.And indicating the last element of the link list of the free voice memory pool so as to indicate the end of the link list. 제1항에 있어서,The method of claim 1, 상기 음성 녹음 섹터 구조체는 다음 구조체를 지시하는 넥스트 포인터 변수, 음성 녹음 섹터를 표시하는 음성 섹터 번호 및 음성 녹음 시간을 표시하는 음성 녹음 시간 변수를 포함하여 이루어진 것을 특징으로 하는 음성 프롬프트 보드의 음성 토큰 관리 방법.The voice recording sector structure includes a next pointer variable indicating a next structure, a voice sector number indicating a voice recording sector, and a voice recording time variable indicating a voice recording time. Way. 제1항에 있어서,The method of claim 1, 상기 음성 재생 섹터 구조체는 다음 구조체를 지시하는 넥스트 포인터 변수,음성 재생 섹터를 표시하는 음성 섹터 번호 및 음성 재생 시간을 표시하는 음성 재생 시간 변수를 포함하여 이루어진 것을 특징으로 하는 음성 프롬프트 보드의 음성 토큰 관리 방법.The voice reproduction sector structure includes a next pointer variable indicating a next structure, a voice sector number indicating a voice reproduction sector, and a voice reproduction time variable indicating a voice reproduction time. Way. 제1항에 있어서,The method of claim 1, 상기 음성 토큰 저장 과정은 임의의 음성 토큰 녹음 시에 상기 자유 리스트 포인터 변수를 확인하여 상기 자유 리스트 포인터 변수가 지시하는 바로 다음의 음성 섹터 구조체를 가져와서 녹음 리스트 포인터 변수로 지시하는 단계와;The storing of the voice token comprises: identifying the free list pointer variable upon recording any voice token, taking the next voice sector structure indicated by the free list pointer variable, and pointing the free list pointer variable to the recording list pointer variable; 상기 자유 리스트 포인터 변수를 현재 음성 섹터 구조체가 지시하던 다음의 음성 섹터 구조체로 지시하는 단계와;Pointing the free list pointer variable to the next speech sector structure indicated by the current speech sector structure; 현재 음성 섹터 구조체를 영으로 지시함과 동시에 상기 음성 토큰을 현재 음성 섹터의 메모리 영역에 저장하는 단계를 포함하여 이루어진 것을 특징으로 하는 음성 프롬프트 보드의 음성 토큰 관리 방법.And indicating the current voice sector structure as zero and storing the voice token in a memory area of the current voice sector. 제1항에 있어서,The method of claim 1, 상기 음성 토큰 재생 과정은 상기 음성 메모리에 저장된 모든 음성 토큰을 운용자의 필요에 의해 반복 재생할 경우인지를 확인하는 단계와;The voice token reproducing process may include: checking whether all voice tokens stored in the voice memory are repeatedly played back as required by an operator; 상기 음성 토큰을 한 번만 재생할 경우에 상기 자유 음성 메모리 푸울 내 할당된 음성 녹음 섹터 구조체 링크 리스트에 대응하는 음성 녹음 섹터들의 연결 구조를 판독하여 음성 재생 섹터 구조체 링크 리스트로 복사하는 단계와;Reading and copying a concatenated structure of voice record sectors corresponding to an assigned voice record sector structure link list in the free voice memory pool when playing the voice token only once; 상기 복사 완료 시에 상기 재생 리스트 포인터 변수를 판독하는 단계와;Reading the playlist pointer variable upon completion of the copying; 상기 재생 리스트 포인터 변수가 지시하는 음성 재생 섹터를 가져와 해당 음성 재생 섹터 구조체의 내용과 같이 상기 음성 토큰을 판독하여 재생하는 단계와;Taking a speech reproduction sector indicated by the playlist pointer variable and reading and playing the speech token as the contents of the speech reproduction sector structure; 상기 음성 토큰 재생 완료 시에 상기 음성 재생 섹터 구조체를 링크 리스트에서 삭제하는 단계와;Deleting the speech reproduction sector structure from the link list when the speech token reproduction is completed; 상기 삭제한 음성 재생 섹터 구조체가 지시하던 다음 링크 리스트의 요소를 판독하여 이전의 재생 리스트 포인터 변수로 지시하는 단계와;Reading an element of a next link list indicated by the deleted voice reproduction sector structure and pointing it to a previous playlist pointer variable; 상기 삭제한 음성 재생 섹터 구조체가 지시하던 다음 링크 리스트의 요소에 대응하는 음성 재생 섹터 구조체가 더 있는지를 확인하는 단계와;Checking whether there is further a speech reproduction sector structure corresponding to an element of a next link list indicated by the deleted speech reproduction sector structure; 상기 음성 재생 섹터 구조체가 하나밖에 없는 경우에 다음 링크 리스트의 요소를 영으로 지시하는 단계를 포함하여 이루어진 것을 특징으로 하는 음성 프롬프트 보드의 음성 토큰 관리 방법.And instructing an element of a next link list to be zero when there is only one voice reproduction sector structure. 제6항에 있어서,The method of claim 6, 상기 음성 토큰 재생 과정은 상기 음성 재생 섹터 구조체가 더 있는 경우에 다음 번의 재생 리스트 포인터 변수를 판독하여 해당 재생 리스트 포인터 변수가 지시하는 음성 재생 섹터를 가져와 해당 음성 재생 섹터 구조체의 내용과 같이 상기 음성 토큰을 판독하여 재생하는 단계와;The voice token reproducing process reads the next play list pointer variable when there is more voice play sector structure, retrieves the voice play sector indicated by the play list pointer variable, and performs the voice token like the contents of the voice play sector structure. Reading and reproducing; 상기 음성 토큰 재생 완료 시에 상기 음성 재생 섹터 구조체를 링크 리스트에서 삭제하는 단계와;Deleting the speech reproduction sector structure from the link list when the speech token reproduction is completed; 상기 삭제한 음성 재생 섹터 구조체가 지시하던 다음 링크 리스트의 요소를 판독하여 이전의 재생 리스트 포인터 변수로 지시하는 단계와;Reading an element of a next link list indicated by the deleted voice reproduction sector structure and pointing it to a previous playlist pointer variable; 상기 삭제한 음성 재생 섹터 구조체가 지시하던 다음 링크 리스트의 요소에 대응하는 음성 재생 섹터 구조체가 더 있는지를 확인하는 단계를 더 포함하여 이루어진 것을 특징으로 하는 음성 프롬프트 보드의 음성 토큰 관리 방법.And confirming whether there is a further speech reproduction sector structure corresponding to the element of the next link list indicated by the deleted speech reproduction sector structure. 제6항에 있어서,The method of claim 6, 상기 음성 토큰 재생 과정은 상기 음성 토큰을 반복 재생할 경우에 상기 음성 녹음 섹터 구조체 링크 리스트에서 영이 나오기 전까지 상기 음성 재생 섹터 구조체 링크 리스트로 복사하는 단계와;The voice token reproducing process may include copying the voice token to the voice reproducing sector structure link list until zero occurs in the voice recording sector structure link list when the voice token is repeatedly reproduced. 재생 반복 횟수만큼 상기 복사된 음성 재생 섹터 구조체 링크 리스트를 반복해서 복사한 다음에 맨 마지막에 영을 붙이는 단계와;Repeatedly copying the copied speech reproduction sector structure link list by the number of reproduction repetitions and then appending a zero at the end; 상기 음성 재생 섹터 구조체 링크 리스트의 요소가 영이 나올 때까지 재생 반복 횟수만큼 상기 음성 토큰을 반복 재생하는 단계를 포함하여 이루어진 것을 특징으로 하는 음성 프롬프트 보드의 음성 토큰 관리 방법.And replaying the voice token repeatedly as many times as the repetition number of times until the element of the voice reproducing sector structure link list is zero.
KR10-2002-0061026A 2002-10-07 2002-10-07 Method of Managing Voice Token in the Voice Prompt Board KR100462989B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0061026A KR100462989B1 (en) 2002-10-07 2002-10-07 Method of Managing Voice Token in the Voice Prompt Board

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0061026A KR100462989B1 (en) 2002-10-07 2002-10-07 Method of Managing Voice Token in the Voice Prompt Board

Publications (2)

Publication Number Publication Date
KR20040031890A KR20040031890A (en) 2004-04-14
KR100462989B1 true KR100462989B1 (en) 2004-12-23

Family

ID=37331929

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0061026A KR100462989B1 (en) 2002-10-07 2002-10-07 Method of Managing Voice Token in the Voice Prompt Board

Country Status (1)

Country Link
KR (1) KR100462989B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06223540A (en) * 1993-01-28 1994-08-12 Sony Corp Reproducing device
KR960038664A (en) * 1995-04-27 1996-11-21 김광호 IC card memory capable of recording and playing back audio and video together or separately and its control method
US5621857A (en) * 1991-12-20 1997-04-15 Oregon Graduate Institute Of Science And Technology Method and system for identifying and recognizing speech
US6423713B1 (en) * 1997-05-22 2002-07-23 G. D. Searle & Company Substituted pyrazoles as p38 kinase inhibitors
KR20040054352A (en) * 2002-12-18 2004-06-25 한국전자통신연구원 Apparatus and method for controlling memory allocation for variable sized packets

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621857A (en) * 1991-12-20 1997-04-15 Oregon Graduate Institute Of Science And Technology Method and system for identifying and recognizing speech
JPH06223540A (en) * 1993-01-28 1994-08-12 Sony Corp Reproducing device
KR960038664A (en) * 1995-04-27 1996-11-21 김광호 IC card memory capable of recording and playing back audio and video together or separately and its control method
US6423713B1 (en) * 1997-05-22 2002-07-23 G. D. Searle & Company Substituted pyrazoles as p38 kinase inhibitors
KR20040054352A (en) * 2002-12-18 2004-06-25 한국전자통신연구원 Apparatus and method for controlling memory allocation for variable sized packets

Also Published As

Publication number Publication date
KR20040031890A (en) 2004-04-14

Similar Documents

Publication Publication Date Title
JPS62145574A (en) Writing of information into support unable to be erased
US5798991A (en) Data processing method and data processing apparatus
KR100327286B1 (en) Digital audio recorder and player with address backup function
KR100462989B1 (en) Method of Managing Voice Token in the Voice Prompt Board
JPH11144478A (en) Information storage method of nonvolatile semiconductor memory and electronic apparatus
JPH04360246A (en) Device for compressing file
US5911031A (en) IC card memory for recording and reproducing audio and/or video data concurrently or separately and a control method thereof
JPH05113920A (en) Method and device for managing file
KR100292351B1 (en) Storage medium recorded control information thereon for edit function and control information recording method
KR20030081824A (en) Method for recording/reproducing audio/video data in a disk drive
JPS62287350A (en) Index integrally updating system
JP3217590B2 (en) Message playback device
US20030177134A1 (en) DVD player selecting MP3 files in units of directories and method thereof
JPH01255028A (en) Method for making access to external storage device
KR20060010132A (en) Apparatus and method for random replaying an audio file in an audio file replay system
KR100340721B1 (en) A device and a method of new data speedy managing for telephone memory
JPS63303399A (en) Voice information storage apparatus
JPH04114244A (en) File reading system
JPH06222965A (en) Managing method for circulation sequential organized file
JPH05113922A (en) Data storage device
JPH06124218A (en) Disk content destruction factor estimation supporting method and information processing system with disk content destruction factor estimation supporting function
JP2004355645A (en) Information processor having multiwindow screen and record medium
JPH05250808A (en) Sound recording system
JPH0285940A (en) Multi-access memory control circuit
JPH06290110A (en) Information recording method/device

Legal Events

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

Payment date: 20121115

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20131115

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20141117

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20151112

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20161114

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee