KR100592688B1 - Method of buffering for playing a mass storage audio file - Google Patents

Method of buffering for playing a mass storage audio file Download PDF

Info

Publication number
KR100592688B1
KR100592688B1 KR1020050004534A KR20050004534A KR100592688B1 KR 100592688 B1 KR100592688 B1 KR 100592688B1 KR 1020050004534 A KR1020050004534 A KR 1020050004534A KR 20050004534 A KR20050004534 A KR 20050004534A KR 100592688 B1 KR100592688 B1 KR 100592688B1
Authority
KR
South Korea
Prior art keywords
size
skip
data
memory block
audio file
Prior art date
Application number
KR1020050004534A
Other languages
Korean (ko)
Other versions
KR20060032131A (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 가온미디어 주식회사
Publication of KR20060032131A publication Critical patent/KR20060032131A/en
Application granted granted Critical
Publication of KR100592688B1 publication Critical patent/KR100592688B1/en

Links

Images

Abstract

본 발명은 오디오 파일 버퍼링 방법에 관한 것으로, 오디오 전용 램 메모리 또는 대용량의 램 메모리가 구비되지 않는 임베디드 시스템에서 대용량 오디오 파일(예; MP3 등)을 소용량의 램 메모리에 효율적으로 버퍼링시켜 오디오 파일을 재생하기 위한 방법을 제공한다. 본 발명에 따르면 대용량 오디오 파일 재생을 위해 추가적으로 램 메모리의 크기를 증가시키지 않아도 되고, 임베디드 시스템에서 오디오 전용 램 메모리를 추가적으로 장착하지 않고서도 오디오 재생 부가 기능을 끊김없이 효율적으로 수행할 수 있으며, 그에 따라 제품 원가에 부담없이 경쟁력 있는 임베디드 시스템 개발이 가능해지는 효과가 있다.The present invention relates to a method of buffering an audio file. In an embedded system that does not include an exclusive RAM memory or a large RAM memory, an audio file is played by efficiently buffering a large audio file (eg MP3) into a small RAM memory. It provides a method for doing so. According to the present invention, it is not necessary to increase the size of the RAM memory additionally to play a large audio file, and the embedded system can efficiently and efficiently perform the audio playback additional function without additionally installing an exclusive RAM memory. It is possible to develop competitive embedded system without burdening product cost.

버퍼링, 메모리 블록, 버퍼 여유공간, 대용량 오디오 파일, ID3 태그, 가비지 데이터Buffering, Memory Blocks, Buffer Space, Large Audio Files, ID3 Tags, Garbage Data

Description

대용량 오디오 파일 재생을 위한 버퍼링 방법{Method of buffering for playing a mass storage audio file} Method of buffering for playing a mass storage audio file}             

도 1은 본 발명에 따른 메모리 할당에 대한 일실시예 설명도.1 illustrates one embodiment of memory allocation in accordance with the present invention;

도 2a 및 도 2b는 본 발명에 따른 대용량 오디오 파일 재생을 위한 버퍼링 방법에 대한 일실시예 흐름도.2A and 2B are an embodiment flowchart of a buffering method for playing a large audio file according to the present invention;

본 발명은 오디오 파일 버퍼링 방법에 관한 것으로, 더욱 상세하게는 오디오 전용 램 메모리 또는 대용량의 램 메모리가 구비되지 않는 임베디드 시스템에서 대용량 오디오 파일(예; MP3 등)을 소용량의 램 메모리에 효율적으로 버퍼링시켜 오디오 파일을 재생하기 위한 방법에 관한 것이다.The present invention relates to a method of buffering an audio file, and more particularly, to efficiently buffer a large audio file (for example, MP3, etc.) in a small RAM memory in an embedded system without an exclusive RAM memory or a large RAM memory. A method for playing an audio file.

최근에 디지털 멀티미디어 관련 기술 발전에 힘입어 사용자는 디지털 기기 등을 통하여 오디오 파일, 예를 들어 MP3 파일 등을 감상할 수 있게 되었다.Recently, with the development of digital multimedia technology, users can enjoy audio files, for example, MP3 files, etc. through digital devices.

일반적으로, MP3 파일 재생이 가능한 임베디드 시스템(embeded system)으로 는 MP3 전용 플레이어, 디지털 방송 수신기, 디지털 방송 녹화기, 이동통신 단말기 등이 있다.In general, an embedded system capable of playing MP3 files includes an MP3 player, a digital broadcast receiver, a digital broadcast recorder, and a mobile communication terminal.

이러한 임베디드 시스템의 하드디스크 또는 플래시 메모리에는 MP3 파일이 저장되어 있으며, 사용자의 오디오 파일 선택 등에 따라 하드디스크 또는 플래시 메모리에 저장되어 있는 MP3 파일이 램 메모리로 버퍼링되고 나서 재생이 시작된다.MP3 files are stored in the hard disk or flash memory of the embedded system, and MP3 files stored in the hard disk or flash memory are buffered into the RAM memory according to a user's audio file selection, and the playback starts.

한편, 최근에는 사용자의 다양한 요구(예; 고음질의 음악 및 가사 제공 기능 등)에 부응하기 위하여 오디오 파일의 크기가 대용량화 되고 있는 추세이다. 일례로 5분 정도의 재생 시간을 갖는 고음질의 MP3 파일의 크기는 10 메가바이트(Megabytes, 이하 "MB"라 함)를 초과하고 있는 형편이다.On the other hand, in recent years, the size of the audio file is increasing in order to meet the various needs of the user (eg, high-quality music and lyrics providing function, etc.). For example, the size of a high quality MP3 file with a playback time of about 5 minutes exceeds 10 megabytes ("MB").

따라서, 대용량의 크기를 갖는 오디오 파일을 끊김없이 재생하기 위해서는 해당 오디오 파일 크기 이상의 램 메모리가 임베디드 시스템에 구비되어야 된다.Therefore, in order to seamlessly play an audio file having a large size, a RAM memory having a size larger than that audio file size should be provided in the embedded system.

그런데, 오디오 전용 플레이어를 제외하고는 오디오 재생 기능이 부가적으로 탑재된 임베디드 시스템의 경우, 즉 디지털 방송 수신기, 이동통신 단말기 등에서는 해당 기기의 고유 기능(예; 디지털 방송 수신기에서는 방송 수신 기능, 이동통신 단말기에서는 통화 기능 등) 이외로 부가 기능으로서 오디오 재생 기능이 탑재되어 있으며, 이러한 경우에서는 램 메모리의 대부분에 고유 기능을 위한 데이터 할당이 이루어질 뿐더러 대용량 오디오 파일 재생을 위해 램 메모리의 크기를 증가시키는 것은 제품 원가를 증가시켜야 되므로 제조사에게 비용 부담을 주고 있는 형편이다.However, in the case of an embedded system in which an audio reproduction function is additionally installed except for an audio-only player, that is, a unique function of a corresponding device (for example, a broadcast reception function and a mobile device in a digital broadcast receiver) in a digital broadcast receiver or a mobile communication terminal, etc. The communication terminal is equipped with an audio playback function as an additional function in addition to the call function. In such a case, data allocation for a unique function is made to most of the RAM memory, and the RAM memory size is increased for large audio file playback. This is a burden on the manufacturer because it must increase the cost of the product.

본 발명은 상기와 같은 문제점을 해결하고 상기와 같은 요구에 부응하기 위하여 제안된 것으로, 오디오 전용 램 메모리 또는 대용량의 램 메모리가 구비되어 있지 않는 임베디드 시스템에서 대용량 오디오 파일(예; MP3 등)을 소용량의 램 메모리에 효율적으로 버퍼링시켜 오디오 파일이 재생되도록 하기 위한 방법을 제공하는데 그 목적이 있다.
The present invention has been proposed to solve the above problems and to meet the above demands. The present invention provides a small capacity for a large audio file (e.g., MP3, etc.) in an embedded system that is not equipped with a dedicated RAM memory or a large RAM memory. An object of the present invention is to provide a method for efficiently buffering a RAM memory of an audio file to be played.

이하 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, detailed descriptions of well-known functions or configurations will be omitted if it is determined that the detailed description of the present invention may unnecessarily obscure the subject matter of the present invention. Terms to be described later are terms defined in consideration of functions in the present invention, and may be changed according to intentions or customs of users or operators. Therefore, the definition should be made based on the contents throughout the specification.

도 1은 본 발명에 따른 메모리 할당에 대한 일실시예 설명도이다. 이하, 본 발명에서는 디지털 방송 수신기의 하드디스크에 저장되어 있는 MP3 파일을 램 메모리(이하, "메모리"라 함)로 버퍼링하여 재생하는 것을 예로 들어 설명하며, 메모리 블록의 사이즈(size, 크기) 및 개수와 버퍼 여유공간의 크기는 메모리의 사양 및 디지털 방송 수신기에서의 메모리 용도 등에 따라 다르게 할당될 수 있음을 당업자라면 쉽게 이해할 수 있을 것이다.1 is a diagram illustrating an embodiment of memory allocation according to the present invention. Hereinafter, the present invention will be described with an example of buffering and playing MP3 files stored in a hard disk of a digital broadcasting receiver into a RAM memory (hereinafter referred to as "memory"). It will be apparent to those skilled in the art that the number and the size of the buffer free space may be allocated differently according to the specification of the memory and the memory use in the digital broadcasting receiver.

도 1에 도시된 바와 같이, 메모리에 다수의 메모리 블록, 즉 m1+r1의 사이즈를 갖는 메모리 블록 M1, m2+r2의 사이즈를 갖는 메모리 블록 M2 및 m3+r3의 사이즈를 갖는 메모리 블록 M3을 할당하고, 램 메모리에 버퍼 여유공간 Buf_remain을 할당한다.As shown in Fig. 1, a plurality of memory blocks are allocated to a memory, that is, memory blocks M1 having a size of m1 + r1, memory blocks M2 having a size of m2 + r2 and memory blocks M3 having a size of m3 + r3. Allocate buffer free space Buf_remain in RAM memory.

여기서, 메모리 블록 M1, 메모리 블록 M2 및 메모리 블록 M3는 동일한 사이즈를 갖는다[m1 = m2 = m3 = 1 MB, r1 = r2 = r3 = 64 킬로바이트(Kilobytes, 이하 "KB"라 함)]. 특히, 메모리 블록 M1 및 메모리 블록 M2는 오디오 파일이 재생되는데 사용되는 메모리 영역(즉, 오디오 재생기가 메모리 블록 M1 및 메모리 블록 M2에 버퍼링된 데이터를 읽어서 재생하는 영역)이고, 오디오 파일 재생 순서는 메모리 블록 M1의 앞 부분부터 메모리 블록 M2의 뒷 부분으로 진행된다. 그리고, 메모리 블록 M3는 하드디스크에 저장되어 있는 오디오 파일이 메모리로 읽혀지는데 사용되는 메모리 영역(즉, 메모리 관리자가 하드디스크에 저장되어 있는 오디오 파일을 버퍼링하기 위해 해당 오디오 파일을 메모리로 읽어오는 영역)이다.Here, the memory block M1, the memory block M2 and the memory block M3 have the same size (m1 = m2 = m3 = 1 MB, r1 = r2 = r3 = 64 kilobytes (hereinafter referred to as "KB")). In particular, the memory block M1 and the memory block M2 are memory areas used to play audio files (i.e., areas where the audio player reads and plays data buffered in the memory blocks M1 and memory block M2), and the audio file reproduction order is the memory. From the front of the block M1 to the rear of the memory block M2. In addition, the memory block M3 is a memory area used to read audio files stored in the hard disk into memory (that is, an area in which the memory manager reads the audio files into memory to buffer the audio files stored in the hard disk). )to be.

그리고, 버퍼 여유공간 Buf_remain은 64 KB의 사이즈를 갖고, 오디오 파일 재생에 직접적으로 필요없는 데이터, 즉 아이디3 태그(ID3 Tag) 및 가비지 데이터(garbage data)가 일시 버퍼링되는 영역이다.The buffer free space Buf_remain has a size of 64 KB and is an area in which data that is not directly required for audio file reproduction, that is, ID3 tag and garbage data is temporarily buffered.

본 발명에서는 오디오 파일 재생을 위한 버퍼링 수행 시에 하드디스크에 저 장되어 있는 오디오 파일을 이루는 데이터를 순차적으로 메모리 블록 M3로 읽어와서 해당 데이터를 분석(오디오 파일 재생에 직접적으로 필요없는 데이터 확인 등)한 후에 메모리 블록 M3에서 읽었던 오디오 파일 중 재생에 직접적으로 필요없는 데이터를 제외한 일부 데이터를 메모리 블록 M1으로 복사하고 버퍼 여유공간 Buf_remain에 오디오 파일 재생에 직접적으로 필요없는 데이터 중 일부를 일시 복사한 상태에서 메모리 블록 M1에 복사된 데이터를 재생시킨다.In the present invention, when performing buffering for playing an audio file, data of the audio file stored in the hard disk is sequentially read into the memory block M3, and the corresponding data is analyzed (confirming data not directly required for playing the audio file). After copying some of the audio files read from memory block M3, except the data that are not directly needed for playback, to the memory block M1 and temporarily copying some of the data not directly needed for audio file playback to the buffer free space Buf_remain. The data copied to the memory block M1 is reproduced.

그리고 나서, 메모리 블록 M1에 복사된 데이터의 재생이 진행되는 중에 오디오 파일의 남은 데이터의 크기가 메모리 블록 M1의 사이즈보다 크면 버퍼 여유공간 Buf_remain에 복사된 데이터를 메모리 블록 M2의 앞 부분으로 복사하고 메모리 블록 M3에 읽혀져 있는 오디오 파일의 일부 데이터를 메모리 블록 M2의 앞 부분 다음의 나머지 부분에 복사하고 버퍼 여유공간 Buf_remain에 오디오 파일 재생에 직접적으로 필요없는 데이터 중 일부를 일시 복사한 상태에서 메모리 블록 M2에 복사된 데이터를 재생시킨다.Then, if the size of the remaining data of the audio file is larger than that of the memory block M1 while the reproduction of the data copied to the memory block M1 is in progress, the data copied to the buffer free space Buf_remain is copied to the front of the memory block M2 and the memory Copy some data of the audio file read in the block M3 to the rest after the front part of the memory block M2, and temporarily copy some of the data that is not directly needed to play the audio file in the buffer free space Buf_remain to the memory block M2. Play back the copied data.

위와 같은 과정을 반복 수행하여, 하드디스크에 저장되어 있는 오디오 파일을 이루는 데이터를 순차적으로 메모리 블록 M3로 읽어오고, 버퍼 여유공간 Buf_remain에 복사된 데이터 및 메모리 블록 M3에 읽혀져 있는 오디오 파일의 일부 데이터를 메모리 블록 M1 및 메모리 블록 M2로 번갈아가면서 순차적으로 버퍼링하여 오디오 파일을 재생한다.By repeating the above process, the data constituting the audio file stored in the hard disk is sequentially read into the memory block M3, and the data copied in the buffer free space Buf_remain and some data of the audio file read in the memory block M3 are read. The audio file is reproduced by sequentially buffering the memory blocks M1 and M2.

이하, 도 2a 및 도 2b와 함께 메모리 블록 및 버퍼 여유공간에 오디오 파일의 데이터가 버퍼링되는 상태를 상세히 설명하기로 한다.Hereinafter, a state in which data of an audio file is buffered in a memory block and a buffer free space will be described in detail with reference to FIGS. 2A and 2B.

도 2a 및 도 2b는 본 발명에 따른 대용량 오디오 파일 재생을 위한 버퍼링 방법에 대한 일실시예 흐름도이다.2A and 2B are flowcharts of an embodiment of a buffering method for playing a large audio file according to the present invention.

먼저, 메모리에 동일한 사이즈를 갖는 메모리 블록 M1, 메모리 블록 M2 및 메모리 블록 M3를 할당하고, 메모리에 버퍼 여유공간 Buf_remain을 할당한다(200). 여기서, 메모리 블록 M1은 m1+r1의 사이즈를 갖고 메모리 블록 M2는 m2+r2의 사이즈를 갖고 메모리 블록 M3는 m3+r3의 사이즈를 갖고, m1 = m2 = m3 = 1 MB, r1 = r2 = r3 = 64 KB이며, 버퍼 여유공간 Buf_remain은 64 KB의 사이즈를 갖는다.First, a memory block M1, a memory block M2, and a memory block M3 having the same size are allocated to the memory, and a buffer free space Buf_remain is allocated to the memory (200). Here, the memory block M1 has the size of m1 + r1, the memory block M2 has the size of m2 + r2, the memory block M3 has the size of m3 + r3, m1 = m2 = m3 = 1 MB, r1 = r2 = r3 = 64 KB, and the buffer free space Buf_remain has a size of 64 KB.

이후, 특정 오디오 파일 재생 요청신호가 입력되면(201), 하드디스크에 저장되어 있는 해당 오디오 파일의 전체 사이즈(total_size)를 확인한다(202).Thereafter, when a specific audio file reproduction request signal is input (201), the total size (total_size) of the corresponding audio file stored in the hard disk is checked (202).

그리고 나서, 상기 메모리 블록 M3로 오디오 파일의 첫 부분부터 m3만큼에 해당되는 부분까지의 데이터를 읽어 온다(203).Then, data from the first portion of the audio file to the portion corresponding to m3 is read into the memory block M3 (203).

그런후, 상기 메모리 블록 M3로 읽어 온 데이터를 분석하여 오디오 재생에 직접적으로 필요없는 데이터(영역)의 사이즈를 판별한다(204). 여기서, 오디오 재생에 직접적으로 필요없는 데이터, 즉 아이디3 태그 및 가비지 데이터(예; 가사 데이터 등)은 오디오 파일의 앞 부분에 존재하는데, 메모리 블록 M3로 읽어 온 오디오 파일의 첫 부분부터 m3만큼에 해당되는 부분까지의 데이터를 분석하여 오디오 재생에 직접적으로 필요없는 데이터의 사이즈를 판별한다.Then, the data read into the memory block M3 is analyzed to determine the size of data (area) that is not directly necessary for audio reproduction (204). Here, data that is not directly needed for audio playback, i.e., ID3 tag and garbage data (e.g. lyrics data), is present at the beginning of the audio file, from the beginning of the audio file read into the memory block M3 to m3. The data up to that part is analyzed to determine the size of the data that is not directly needed for audio reproduction.

그리고 나서, 스킵 사이즈(skip_size) 및 스킵 사이즈2(skip_size2)를 구하고, 아이디3 태그가 존재하는 경우에는 ID3_tag_dect를 설정한다(205). 여기서, ID3_tag_dect는 아이디3 태그를 보호하기 위함이다.Then, skip size (skip_size) and skip size 2 (skip_size2) are obtained, and ID3_tag_dect is set if ID3 tag exists (205). Here, ID3_tag_dect is for protecting ID3 tag.

이러한 오디오 재생에 직접적으로 필요없는 데이터가 오디오 재생기에서 읽혀지지 않도록 하기 위해(일명 건너 뛰기) 오디오 재생에 직접적으로 필요없는 데이터의 크기를 스킵 사이즈(skip_size)라 설정하고, 스킵 사이즈를 아이디3 태그의 사이즈 및 가비지 데이터의 사이즈를 합한 값으로 구한다(skip_size = ID3 tag size + garbage data size).In order to prevent data that is not directly needed for such audio playback from being read by the audio player (aka skip), the size of data not directly needed for audio playback is set to skip size (skip_size), and the skip size is set to the ID3 tag. The sum of the size and the size of garbage data is obtained (skip_size = ID3 tag size + garbage data size).

그리고, 하드디스크에 저장되어 있는 오디오 파일을 메모리로 한 번에 읽어올 수 있는 데이터사이즈[저장매체 액세스 데이터사이즈, 이하, "리드 사이즈(read_size)"라 함]를 고려하여 스킵 사이즈2(skip_size2)를 설정하고, 스킵 사이즈2를 스킵 사이즈를 리드 사이즈로 나눈값에 "1"을 더하고 다시 리드 사이즈를 곱한값으로 구한다(skip_size2 = [(skip_size/read_size)+1) * read_size]). 여기서, 하드디스크 또는 플래시 메모리에 저장되어 있는 오디오 파일을 한 번에 읽을 수 있는 기본 단위는 정해져 있으며, 리드 사이즈는 512 바이트(Bytes, 이하 "B"라 함)의 사이즈를 갖는다.Then, skip size 2 (skip_size2) in consideration of the data size (storage access data size, hereinafter referred to as "read_size") that can read audio files stored in the hard disk into the memory at one time. Is set, and skip size 2 is obtained by adding "1" to the value obtained by dividing the skip size by the read size and multiplying the read size again (skip_size2 = [(skip_size / read_size) +1) * read_size]). Here, the basic unit for reading audio files stored in the hard disk or flash memory at one time is determined, and the read size has a size of 512 bytes (hereinafter referred to as "B").

상기 "205" 과정을 데이터 주소를 예로 들어 설명하면, 아이디3 태그는 오디오 파일의 앞 부분인 첫번째 데이터 주소 0x49, 두번째 데이터 주소 0x44, 세번째 데이터 주소 0x33로 시작되므로 이 데이터 주소를 확인하여 아이디3 태그의 존재 유무를 확인한다.When the process of "205" is described using the data address as an example, the ID3 tag starts with the first data address 0x49, the second data address 0x44, and the third data address 0x33, which are the first part of the audio file, and thus the ID3 tag is checked. Check for the presence of

그리고, 여섯번째 데이터 주소, 일곱번째 데이터 주소, 여덟번째 데이터 주소 및 아홉번째 데이터 주소를 확인하여 아이디3 태그의 전체 사이즈를 구한다[ID3 data size = (6th data & 0x7f) << 21 + (7th data & 0x7f) <<14 + (8th data & 0x7f) <<7 + (6th data & 0x7f) + 10(ID3 head data size)].Then, the sixth data address, the seventh data address, the eighth data address, and the ninth data address are checked to obtain the total size of the ID3 tag. [ID3 data size = (6th data & 0x7f) << 21 + (7th data & 0x7f) << 14 + (8th data & 0x7f) << 7 + (6th data & 0x7f) + 10 (ID3 head data size)].

그리고, 가비지 데이터는 오디오 파일의 앞 부분 또는 아이디3 태그 다음 부분부터 실질적인 오디오 재생 데이터 시작 부분인 스타트 밸류(start value)가 나오기 이전 부분에 존재하므로 데이터 주소 0xff를 갖는 데이터 a 및 데이터 주소 0xf0 ~ 0xfe를 갖는 데이터 b가 연속으로 나오면 데이터 a 및 데이터 b를 오디오 파일의 스타트 밸류로 인지하여 오디오 파일의 앞 부분 또는 아이디3 태그 다음 부분부터 데이터 a 및 데이터 b가 나오기 이전 부분까지를 가비지 데이터로 확인하고 그 사이즈를 구한다.Since garbage data exists at the beginning of the audio file or after the ID3 tag and before the start value, which is the beginning of the actual audio playback data, the data a and the data addresses 0xf0 to 0xfe If the data b with the data comes out continuously, the data a and the data b are recognized as the start value of the audio file, and the garbage is checked from the front part of the audio file or the part after the ID3 tag to the part before the data a and data b comes out. Find the size.

위와 같은 과정으로, 아이디3 태그의 사이즈와 가비지 데이터의 사이즈를 더해서 스킵 사이즈를 구한 후에 스킵 사이즈2를 구한다. 예를 들어, 스킵 사이즈가 312 B이고 리드 사이즈가 512 B이면 스킵 사이즈2는 512 B로 구해지고, 스킵 사이즈가 678 B이고 리드 사이즈가 512 B이면 스킵 사이즈2는 1024 B로 구해지고, 스킵 사이즈가 1234 B이고 리드 사이즈가 512 B이면 스킵 사이즈2는 1536 B로 구해진다.In the same manner as above, the skip size 2 is obtained by adding the size of the ID3 tag and the size of the garbage data. For example, if the skip size is 312 B and the lead size is 512 B, the skip size 2 is obtained as 512 B. If the skip size is 678 B and the lead size is 512 B, the skip size 2 is determined to be 1024 B, and the skip size is Is 1234 B and the lead size is 512 B, skip size 2 is determined to be 1536 B.

그런후, 상기 메모리 블록 M3로 오디오 파일의 첫 부분부터 m3 + 스킵 사이즈2만큼에 해당되는 부분까지의 데이터를 다시 읽어 온다(206).Thereafter, data from the first portion of the audio file to the portion corresponding to m3 + skip size 2 is read back into the memory block M3 (206).

예를 들어, 스킵 사이즈가 312 B이고, 스킵 사이즈2가 512 B이면 메모리 블록 M3에는 다음의 [표 1]과 같이 m3만큼의 데이터 1 MB와 스킵 사이즈2만큼의 데이터 512 B가 읽혀진다. 여기서, m3만큼의 데이터 1 MB에는 스킵 사이즈만큼의 데이터 312 B가 포함되어 있다.For example, if the skip size is 312B and the skip size 2 is 512B, data 1 MB as much as m3 and data 512B as the skip size 2 are read into the memory block M3 as shown in Table 1 below. Here, 1 MB of data equal to m3 includes data 312 B corresponding to the skip size.

1 MB (오디오 파일 앞 부분, 스킵 사이즈 312 B 포함) 1 MB (including the front of the audio file with skip size 312 B) 512 B (스킵 사이즈2) 512 B (skip size 2)

그리고 나서, 상기 "206" 과정에서 메모리 블록 M3에 읽혀져 있는 있는 데이터(오디오 파일 앞부분 + 스킵 사이즈2)에서 스킵 사이즈만큼의 데이터 312 B를 제외한 나머지 데이터를 메모리 블록 M1으로 m1만큼 복사하고, 메모리 블록 M1의 상태를 풀(full)로 설정한다(207).Then, in step 206, the remaining data except for the skip size data 312 B is copied from the data read in the memory block M3 (the front part of the audio file + skip size 2) to the memory block M1 by m1. The state of M1 is set to full (207).

메모리 블록 M1의 버퍼링 상태는 다음의 [표 2]와 같이 메모리 블록 M1의 앞측에는 오디오 파일의 앞 부분에 해당되는 데이터 1 MB에서 스킵 사이즈만큼의 데이터 312 B를 뺀 나머지 데이터가 버퍼링되고 메모리 블록 M1의 뒷측에는 스킵 사이즈2만큼의 데이터 중 일부 데이터 312 B가 버퍼링된다.In the buffering state of the memory block M1, as shown in the following [Table 2], in front of the memory block M1, data remaining after subtracting the skip size data 312 B from the data corresponding to the front of the audio file is buffered and the memory block M1 At the rear of the data, some data 312B of the data corresponding to the skip size 2 is buffered.

1 MB - 312 B (오디오 파일 앞 부분 - 스킵 사이즈) 1 MB-312 B (Audio file front section-skip size) 312 B (스킵 사이즈2) 312 B (Skip size 2)

그리고, ID3_tag_dect가 설정되어 있으면(상기 "205" 과정에서 아이디3 태그가 존재하는 경우에 ID3_tag_dect가 설정됨) 상기 "206" 과정에서 메모리 블록 M3에 읽혀져 있는 데이터(오디오 파일 앞부분 + 스킵 사이즈2)에서 m1 + 스킵 사이즈만큼의 데이터를 제외한 나머지 데이터 중 스킵 사이즈2 - 스킵 사이즈만큼의 데이터 200 B를 버퍼 여유공간 Buf_remain으로 복사한다(208).If ID3_tag_dect is set (ID3_tag_dect is set when ID3 tag is present in step "205"), the data read in memory block M3 (front part of audio file + skip size 2) in step "206". Of the remaining data except for data equal to m1 + skip size, data 200 B corresponding to the skip size 2-skip size is copied to the buffer free space Buf_remain (208).

즉, 다음의 [표 3]과 같이 상기 "206" 과정에서 읽혀진 스킵 사이즈2만큼의 데이터 512 B 중 상기 "207" 과정에서 메모리 블록 M1으로 복사하지 못한 스킵 사이즈2만큼의 데이터 일부 200 B를 버퍼 여유공간 Buf_remain에 복사해 둔다.That is, as shown in [Table 3], a portion of the data 200B of the skip size 2 that was not copied to the memory block M1 in the process “207” among the data size 512 B read in the process “206” is buffered as shown in the following [Table 3]. Copy it to the free space Buf_remain.

200 B (스킵 사이즈2 - 스킵 사이즈) 200 B (Skip Size 2-Skip Size) 64 KB - 200 B (빈 공간) 64 KB-200 B (empty space)

그런후, 버퍼링 후의 오디오 파일의 남은 데이터사이즈(remain_size)를 설정하고서 메모리 블록 M1에 버퍼링된 데이터 재생을 시작한다(209). 여기서, 오디오 파일의 남은 데이터사이즈는 오디오 파일의 전체 사이즈에서 메모리 블록 M1에 버퍼링된 데이터사이즈를 뺀값으로 설정한다[remain_size = total_size - (m1 + skip_size2)].Then, the remaining data size (remain_size) of the audio file after buffering is set, and data reproduction buffered in the memory block M1 is started (209). Here, the remaining data size of the audio file is set to the value obtained by subtracting the data size buffered in the memory block M1 from the total size of the audio file [remain_size = total_size-(m1 + skip_size2)].

이후, 오디오 파일 재생 상태, 즉 메모리 블록 M1에 버퍼링된 데이터 재생 상태를 체크하면서(210), 오디오 파일의 남은 데이터사이즈(remain_size)가 m1보다 크면 상기 메모리 블록 M3로 상기 오디오 파일의 남은 데이터의 첫 부분부터 m3(1 MB)만큼에 해당되는 부분까지의 데이터를 읽어 온다(211).Thereafter, while checking the audio file playing state, that is, the data playing state buffered in the memory block M1 (210), if the remaining data size (remain_size) of the audio file is larger than m1, the first of the remaining data of the audio file is stored in the memory block M3. Data from the portion to the portion corresponding to m3 (1 MB) is read (211).

그리고, 메모리 블록 M2의 앞측 부분부터 스킵 사이즈2 - 스킵 사이즈만큼에 해당되는 부분까지를 비워두고, Then, leave the portion corresponding to the skip size 2-the skip size empty from the front part of the memory block M2,

상기 "211" 과정에서 메모리 블록 M3에 읽혀져 있는 데이터에서 m2 - (스킵 사이즈2 - 스킵 사이즈)만큼의 데이터를 상기 메모리 블록 M2의 비워둔 부분 다음에 복사하고, 메모리 블록 M2의 상태를 풀(full)로 설정한다(212).In the process of "211", m2-(skip size 2-skip size) data is copied from the data read in the memory block M3 after the empty portion of the memory block M2, and the state of the memory block M2 is full. (212).

즉, 다음의 [표 4]와 같이 메모리 블록 M2의 앞측 부분에는 스킵 사이즈2 - 스킵 사이즈만큼의 200 B의 공간이 비워지고, 이 비워진 공간 다음 부분부터 메모리 블록 M3에 읽혀져 있는 있는 데이터 중 m2 사이즈 - (스킵 사이즈2 - 스킵 사이즈)만큼에 해당되는 데이터가 복사된다.That is, as shown in the following [Table 4], the space of skip size 2-skip size 200B is emptied in the front part of the memory block M2, and the m2 size of the data read in the memory block M3 from the next part of the vacant space. Data corresponding to (Skip size 2-Skip size) is copied.

200 B (비워둔 공간) 200 B (empty space) 1 MB - 200 B [m2 사이즈 - (스킵 사이즈2 - 스킵 사이즈)]1 MB-200 B [m2 size-(skip size 2-skip size)]

그리고, ID3_tag_dect가 설정되어 있으면(상기 "205" 과정에서 아이디3 태그가 존재하는 경우에 ID3_tag_dect가 설정됨) 상기 버퍼 여유공간 Buf_remain에 복사된 스킵 사이즈2 - 스킵 사이즈만큼의 데이터 200 B를 상기 메모리 블록 M2의 비워둔 부분으로 복사하고, 상기 m2 - (스킵 사이즈2 - 스킵 사이즈)만큼 메모리 블록 M2로 복사되고 나서 메모리 블록 M3에 남은 데이터[메모리 블록 M3의 앞 부분부터 m3 - (스킵 사이즈2 - 스킵 사이즈)만큼에 해당되는 위치 다음부터의 데이터]에서 스킵 사이즈2 - 스킵 사이즈만큼의 데이터를 버퍼 여유공간 Buf_remain으로 복사한다(213).If ID3_tag_dect is set (ID3_tag_dect is set when ID3 tag is present in step "205"), the memory block is configured to skip data 200 B corresponding to the skip size 2-skip size copied to the buffer free space Buf_remain. Copies to the empty portion of M2 and copies the remaining data in memory block M3 by m2-(Skip size 2-Skip size) from the beginning of memory block M3 [m3-(Skip size 2-Skip) Data after the position corresponding to the size)] is copied to the buffer free space Buf_remain at the skip size 2-skip size (213).

즉, 다음의 [표 5]와 같이 메모리 블록 M2의 앞측 부분에는 버퍼 여유공간 Buf_remain에 복사되어 있던 데이터 200 B가 복사되고 메모리 블록 M2의 앞측 부분에는 기존 데이터가 그대로 유지된다.That is, as shown in the following [Table 5], the data 200B copied in the buffer free space Buf_remain is copied to the front part of the memory block M2, and the existing data is kept intact in the front part of the memory block M2.

200 B (Buf_remain의 데이터) 200 B (data from Buf_remain) 1 MB - 200 B (그대로 유지) 1 MB-200 B (keep it as it is)

그리고, 다음의 [표 6]과 같이 버퍼 여유공간 Buf_remain의 앞측 부분에 메모리 블록 M3의 복사되고 남은 데이터 중 스킵 사이즈2 - 스킵 사이즈만큼의 데이터 200 B가 복사된다.Then, as shown in the following [Table 6], the data 200B of the skip size 2-the skip size of the remaining data of the memory block M3 is copied to the front part of the buffer free space Buf_remain.

200 B (스킵 사이즈2 - 스킵 사이즈) 200 B (Skip Size 2-Skip Size) 64 KB - 200 B (빈 공간) 64 KB-200 B (empty space)

그런후, 버퍼링 후의 오디오 파일의 남은 데이터사이즈(remain_size)를 재설정하고서 메모리 블록 M2에 버퍼링된 데이터 재생을 시작하고 메모리 블록 M1에 버퍼링된 데이터를 모두 삭제하여 메모리 블록 M1을 비운다(214). 여기서, 오디오 파일의 남은 데이터사이즈는 상기 "209" 과정에서 설정한 오디오 파일의 남은 데이터사이즈에서 메모리 블록 M2에 버퍼링된 데이터사이즈인 m2를 뺀값으로 설정한다[remain_size- = m2]. 즉, 이후에, 오디오 파일 재생 순서에 따라 메모리 블록 M1에 버퍼링된 데이터 재생을 마치고서 메모리 블록 M2에 버퍼링된 데이터 재생을 진행한다. 이 때, 메모리 블록 M1에 버퍼링된 데이터 재생을 모두 마치면 메모리 블록 M1에 버퍼링된 데이터를 모두 삭제하여 메모리 블록 M1을 비운 상태에서 메모리 블록 M2에 버퍼링된 데이터 재생을 진행한다.Thereafter, the remaining data size (remain_size) of the audio file after buffering is reset, and data playback buffered in memory block M2 is started, and all data buffered in memory block M1 is deleted to free memory block M1 (214). Here, the remaining data size of the audio file is set to a value obtained by subtracting m2, the data size buffered in the memory block M2, from the remaining data size of the audio file set in step 209 [remain_size- = m2]. That is, after the data playback buffered in the memory block M1 is finished in the audio file playback order, the data buffered in the memory block M2 is played back. At this time, when the reproduction of the data buffered in the memory block M1 is completed, all the data buffered in the memory block M1 is deleted to proceed with the reproduction of the buffered data in the memory block M2 while the memory block M1 is empty.

이후, 오디오 파일 재생 상태, 즉 메모리 블록 M2에 버퍼링된 데이터 재생 상태를 체크하면서(215), 오디오 파일의 남은 데이터사이즈(remain_size)가 m2보다 크면 상기 메모리 블록 M3로 상기 오디오 파일의 남은 데이터의 첫 부분부터 m3(1 MB)만큼에 해당되는 부분까지의 데이터를 읽어 온다(216).Then, while checking the audio file reproduction state, that is, the data reproduction state buffered in the memory block M2 (215), if the remaining data size (remain_size) of the audio file is larger than m2, the first of the remaining data of the audio file to the memory block M3 The data from the portion to the portion corresponding to m3 (1 MB) is read (216).

그리고 나서, 상기 데이터가 모두 삭제된 메모리 블록 M1의 앞측 부분부터 스킵 사이즈2 - 스킵 사이즈만큼에 해당되는 부분까지를 비워두고, 상기 메모리 블록 M3에 읽혀져 있는 데이터에서 m1 - (스킵 사이즈2 - 스킵 사이즈)만큼의 데이터를 상기 메모리 블록 M1의 비워둔 부분 다음에 복사하고, 메모리 블록 M1의 상태를 풀(full)로 설정한다(217).Then, from the front part of the memory block M1 where all the data is deleted, the skip size 2-the skip size is left blank, and m1-(skip size 2-skip size) in the data read in the memory block M3. ) Is copied after the empty portion of the memory block M1, and the state of the memory block M1 is set to full (217).

그리고, ID3_tag_dect가 설정되어 있으면(상기 "205" 과정에서 아이디3 태그가 존재하는 경우에 ID3_tag_dect가 설정됨) 상기 버퍼 여유공간 Buf_remain에 복사된 스킵 사이즈2 - 스킵 사이즈만큼의 데이터 200 B를 메모리 블록 M1의 비워둔 부분으로 복사하고, 상기 m1 - (스킵 사이즈2 - 스킵 사이즈)만큼 메모리 블록 M2로 복사되고 나서 메모리 블록 M3에 남은 데이터[메모리 블록 M3의 앞 부분부터 m3 - (스킵 사이즈2 - 스킵 사이즈)만큼에 해당되는 위치 다음부터의 데이터]를 스킵 사이즈2 - 스킵 사이즈만큼의 데이터를 버퍼 여유공간 Buf_remain으로 복사한다(218).If ID3_tag_dect is set (ID3_tag_dect is set when ID3 tag is present in step "205"), the memory block M1 stores the skip size 2-the skip size data 200 B copied to the buffer free space Buf_remain. Copy to the empty portion of the memory block and copy the remaining data in the memory block M3 by m1-(skip size 2-skip size) from the beginning of the memory block M3 [m3-(skip size 2-skip size) Data from the position corresponding to the position corresponding to the &quot;) is copied to the skip size 2-the skip size to the buffer free space Buf_remain (218).

그런후, 버퍼링 후의 오디오 파일의 남은 데이터사이즈(remain_size)를 재설정하고서 메모리 블록 M1에 버퍼링된 데이터 재생을 시작하고 메모리 블록 M2에 버퍼링된 데이터를 모두 삭제하여 메모리 블록 M2를 비운다(219). 여기서, 오디오 파일의 남은 데이터사이즈는 상기 "214" 과정에서 설정한 오디오 파일의 남은 데이터사이즈에서 메모리 블록 M1에 버퍼링된 데이터사이즈인 m1을 뺀값으로 설정한다[remain_size- = m1].Thereafter, the remaining data size (remain_size) of the audio file after buffering is reset, and the data block buffered in the memory block M1 is started, and all the data buffered in the memory block M2 is deleted to empty the memory block M2 (219). Here, the remaining data size of the audio file is set to a value obtained by subtracting m1, the data size buffered in the memory block M1, from the remaining data size of the audio file set in step 214 [remain_size- = m1].

이후에, 오디오 파일 재생이 완료될 때까지, 즉 오디오 파일의 남은 데이터 사이즈(remain_size)가 m1(또는 m2)보다 작아질 때까지 상기 "211" 과정 내지 상기 "219" 과정을 반복적으로 수행하여 메모리 블록 M1 및 메모리 블록 M2로 번갈아가면서 오디오 파일의 남은 모든 데이터를 버퍼링한다(220).Thereafter, the processes "211" to "219" are repeatedly performed until the reproduction of the audio file is completed, that is, until the remaining data size (remain_size) of the audio file is smaller than m1 (or m2). Alternately to block M1 and memory block M2, all remaining data of the audio file is buffered (220).

그리고 나서, 오디오 파일 재생이 완료되면 즉 메모리 블록 M1 및 메모리 블록 M2에 버퍼링된 모든 데이터가 재생되면 메모리 블록 M1, 메모리 블록 M2, 메모리 블록 M3 및 버퍼 여유공간 Buf_remain 할당을 해제한다(221).Then, when the reproduction of the audio file is completed, that is, when all the data buffered in the memory block M1 and the memory block M2 are reproduced, the memory block M1, the memory block M2, the memory block M3, and the buffer free space Buf_remain are released (221).

이상 본 발명의 내용이 실시예를 들어 설명되었으나, 본 발명의 실시예는 본 발명의 예시에 불과하며 본 발명의 범위를 제한하는 것으로 해석되어서는 안 된다. 본 발명이 속하는 분야의 기술자는 본원의 특허청구범위에 기재된 원리 및 범위 내에서 본 발명을 여러 가지 형태로 변형 또는 변경할 수 있다.While the content of the present invention has been described by way of examples, the embodiments of the present invention are merely illustrative of the present invention and should not be construed as limiting the scope of the present invention. Those skilled in the art to which the present invention pertains may modify or alter the present invention in various forms within the principles and scope described in the claims herein.

상기와 같은 본 발명은, 대용량 오디오 파일 재생을 위해 추가적으로 램 메모리의 크기를 증가시키지 않아도 되고, 임베디드 시스템에서 오디오 전용 램 메모리를 추가적으로 장착하지 않고서도 오디오 재생 부가 기능을 끊김없이 효율적으로 수행할 수 있으며, 그에 따라 제품 원가에 부담없이 경쟁력 있는 임베디드 시스템 개발이 가능해지는 효과가 있다.As described above, the present invention does not need to additionally increase the size of the RAM memory for playing a large audio file, and can efficiently perform the audio reproducing additional function without additionally installing an audio dedicated RAM memory in an embedded system. As a result, it is possible to develop a competitive embedded system without burdening product cost.

Claims (3)

메모리 블록 M1 (사이즈 m1+r1), 메모리 블록 M2 (사이즈 m2+r2), 메모리 블록 M3 (사이즈 m3+r3), 및 버퍼 여유공간 Buf_remain (사이즈 r)을 메모리에 할당한 상태에서, 특정 오디오 파일에 대한 재생 요청신호가 입력되면 해당 오디오 파일의 전체 사이즈(total_size)를 확인하는 제1 단계;In a state in which memory block M1 (size m1 + r1), memory block M2 (size m2 + r2), memory block M3 (size m3 + r3), and buffer free space Buf_remain (size r) are allocated to memory, a specific audio file A first step of checking a total size (total_size) of a corresponding audio file when a reproduction request signal for the input is input; 상기 메모리 블록 M3로 상기 오디오 파일의 데이터를 m3만큼 읽어와서 오디오 재생에 불필요한 데이터를 판별하여 재생 건너 뛰기를 위한 스킵 사이즈(skip_size) 및 저장매체 액세스 데이터사이즈(read_size)를 고려한 스킵 사이즈2 (skip_size2)를 설정하는 제2 단계;Skip size 2 (skip_size2) in consideration of skip size (skip_size) and storage medium access data size (read_size) for skipping playback by determining data unnecessary for audio reproduction by reading data of the audio file by m3 into the memory block M3. Setting a second step; 상기 메모리 블록 M3로 상기 오디오 파일의 데이터를 m3+skip_size2만큼 다시 읽어와서 상기 메모리 블록 M3에 읽혀진 데이터에서 skip_size만큼의 데이터를 제외한 나머지 데이터를 상기 메모리 블록 M1으로 복사하고, 상기 메모리 블록 M3에 읽혀진 데이터에서 m1+skip_size만큼의 데이터를 제외한 나머지 데이터(상기 메모리 블록 M1으로 복사되지 않은 데이터)를 skip_size2-skip_size만큼 상기 버퍼 여유공간 Buf_remain으로 복사하고, 오디오 파일의 남은 데이터사이즈(remain_size)를 total_size-(m1+skip_size2)로 설정한 후에 상기 메모리 블록 M1에 복사된 데이터를 재생하는 제3 단계;The data of the audio file is read back into the memory block M3 by m3 + skip_size2, and the remaining data except for skip_size data is copied from the data read into the memory block M3 to the memory block M1, and the data read into the memory block M3. Copies the remaining data (data not copied to the memory block M1) except m1 + skip_size to the buffer free space Buf_remain by skip_size2-skip_size, and total_size- (m1) of the remaining data size (remain_size) of the audio file. reproducing data copied to the memory block M1 after setting to + skip_size2); 상기 설정한 remain_size가 m1보다 크면 상기 메모리 블록 M2의 앞측에 skip_size2-skip_size만큼의 공간을 비워두고, 상기 메모리 블록 M3로 상기 오디오 파일의 남은 데이터를 m3만큼 읽어와서 상기 메모리 블록 M2의 비워둔 공간 다음에 상기 메모리 블록 M3에 읽혀진 데이터에서 m2-(skip_size2-skip_size)만큼의 데이터를 복사하고, 상기 버퍼 여유공간 Buf_remain에 복사되어 있는 데이터를 상기 메모리 블록 M2의 비워둔 공간에 skip_size2-skip_size만큼 복사하고, 상기 메모리 블록 M3의 m3-(skip_size2-skip_size) 위치에 읽혀져 있는 데이터에서 skip_size2-skip_size만큼의 데이터(상기 메모리 블록 M2로 복사되지 않은 데이터)를 상기 Buf_remain으로 복사하고, remain_size를 remain_size-m2로 재설정한 후에 상기 메모리 블록 M2에 복사된 데이터를 재생하는 제4 단계; 및If the set remain_size is larger than m1, a space of skip_size2-skip_size is left in front of the memory block M2, and the remaining data of the audio file is read by m3 into the memory block M3, and the next space is left in the memory block M2. Copy data corresponding to m2- (skip_size2-skip_size) from the data read into the memory block M3, copy the data copied into the buffer free space Buf_remain into the empty space of the memory block M2 by skip_size2-skip_size, Copying skip_size2-skip_size data (data not copied to the memory block M2) from the data read at the m3- (skip_size2-skip_size) position of the memory block M3 to the Buf_remain and resetting remain_size to remain_size-m2. A fourth step of reproducing the data copied to the memory block M2 later; And 상기 재설정한 remain_size가 m2보다 크면 상기 메모리 블록 M1의 앞측에 skip_size2-skip_size만큼의 공간을 비워두고, 상기 메모리 블록 M3로 상기 오디오 파일의 남은 데이터를 m3만큼 읽어와서 상기 메모리 블록 M1의 비워둔 공간 다음에 상기 메모리 블록 M3에 읽혀진 데이터에서 m1-(skip_size2-skip_size)만큼의 데이터를 복사하고, 상기 버퍼 여유공간 Buf_remain에 복사되어 있는 데이터를 상기 메모리 블록 M1의 비워둔 공간에 skip_size2-skip_size만큼 복사하고, 상기 메모리 블록 M3의 m3-(skip_size2-skip_size) 위치에 읽혀져 있는 데이터에서 skip_size2-skip_size만큼의 데이터(상기 메모리 블록 M1으로 복사되지 않은 데이터)를 상기 버퍼 여유공간 Buf_remain으로 복사하고, remain_size를 remain_size-m1으로 재설정한 후에 상기 메모리 블록 M1에 복사된 데이터를 재생하는 제5 단계를 포함하여 이루어지고, 상기 재설정한 remain_size가 m1 또는 m2보다 작아질 때까지 상기 제4 단계 및 상기 제5 단계를 반복적으로 수행하는 대용량 오디오 파일 재생을 위한 버 퍼링 방법.If the reset remain_size is larger than m2, the space of skip_size2-skip_size is left in front of the memory block M1, and the remaining data of the audio file is read by m3 into the memory block M3, and the space after the memory block M1 is empty. Copy the data of m1- (skip_size2-skip_size) from the data read in the memory block M3, and copy the data copied in the buffer free space Buf_remain into the empty space of the memory block M1 by skip_size2-skip_size, Copy skip_size2-skip_size data (data not copied to the memory block M1) from the data read in the m3- (skip_size2-skip_size) position of the memory block M3 to the buffer free space Buf_remain, and remain_size remains_size-m1. A fifth step of reproducing data copied to the memory block M1 after resetting to The lure is, the fourth step until a remain_size the reset is smaller than m1 or m2 and buffering method for a large-capacity audio file is played to perform the fifth step repeatedly. 제1 항에 있어서,According to claim 1, 상기 스킵 사이즈(skip_size)는 아이디3 태그(ID3 Tag)의 사이즈와 가비지 데이터(garbage data)의 사이즈를 합한 값으로 구해지는 것을 특징으로 하는 대용량 오디오 파일 재생을 위한 버퍼링 방법.The skip size (skip_size) is obtained by adding the size of the ID3 tag (ID3 Tag) and the size of the garbage data (garbage data), the buffering method for playing a large audio file. 제2 항에 있어서,The method of claim 2, 상기 스킵 사이즈2(skip_size2)는 스킵 사이즈(skip_size)를 저장매체 액세스 데이터사이즈(read_size)로 나눈값에 "1"을 더하고 다시 저장매체 액세스 데이터사이즈(read_size)를 곱한 값으로 설정되는 것을 특징으로 하는 대용량 오디오 파일 재생을 위한 버퍼링 방법.The skip size 2 (skip_size2) is set to a value obtained by adding "1" to the value obtained by dividing the skip size (skip_size) by the storage medium access data size (read_size) and multiplying the storage medium access data size (read_size). Buffering method for playing large audio files.
KR1020050004534A 2004-10-11 2005-01-18 Method of buffering for playing a mass storage audio file KR100592688B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20040080951 2004-10-11
KR1020040080951 2004-10-11

Publications (2)

Publication Number Publication Date
KR20060032131A KR20060032131A (en) 2006-04-14
KR100592688B1 true KR100592688B1 (en) 2006-06-26

Family

ID=37141613

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050004534A KR100592688B1 (en) 2004-10-11 2005-01-18 Method of buffering for playing a mass storage audio file

Country Status (1)

Country Link
KR (1) KR100592688B1 (en)

Also Published As

Publication number Publication date
KR20060032131A (en) 2006-04-14

Similar Documents

Publication Publication Date Title
KR100725236B1 (en) Apparatus and method for writing and reproducing data
US7984231B2 (en) Information recording medium access device, and data recording method
KR100602214B1 (en) Recording/reproducing device, recording/ reproducing method
US7213085B2 (en) Use of a media cache for subsequent copying acceleration
US20080080322A1 (en) Recording apparatus
JP4022971B2 (en) Storage device and data deletion method
US5619731A (en) Interactive music CD and data
US20040024981A1 (en) Recording device, recoding method, storage medium, program, and communication device
JP2007180957A (en) Disk player and content reproducing method
KR100365353B1 (en) Compact disc recordable player having means of copy protection and copying method thereof
US6738876B2 (en) Apparatus and method for preserving a region code for an optical disk drive
US5452097A (en) Video data reproducing apparatus for reproducing video data and method therefor
KR100592688B1 (en) Method of buffering for playing a mass storage audio file
JP2000298926A (en) Data reproducing device
KR101203380B1 (en) Method for editing file in digital broadcasting receiver
KR20040095725A (en) Data processor, data processing method, program for data processor, and program recording medium
JP2003186754A (en) Music data deleting device, music data management system, music data management device and music data deleting method
KR100745204B1 (en) Method and Apparatus for Diagnosing Bad Block using Enforced Write Operation in Large-Capacity Storage
US8494348B2 (en) Method of managing and reproducing additional audio files of an interactive optical disc
KR100762645B1 (en) Apparatus for management contents data and method thereof
US7640393B2 (en) Signal reproducing device
US20050162558A1 (en) Multimedia authoring system
KR20060046644A (en) Method for playing the real-time multimedia file using multiple file caching in mobile multimedia player
CN100557696C (en) A kind of control method for playing back of optical file, device and equipment
US20030177134A1 (en) DVD player selecting MP3 files in units of directories and method thereof

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

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140611

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150512

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee