KR20080103720A - 고배속으로 레코딩되는 디지털 오디오 데이터의 실시간재생 방법 - Google Patents

고배속으로 레코딩되는 디지털 오디오 데이터의 실시간재생 방법 Download PDF

Info

Publication number
KR20080103720A
KR20080103720A KR1020070050803A KR20070050803A KR20080103720A KR 20080103720 A KR20080103720 A KR 20080103720A KR 1020070050803 A KR1020070050803 A KR 1020070050803A KR 20070050803 A KR20070050803 A KR 20070050803A KR 20080103720 A KR20080103720 A KR 20080103720A
Authority
KR
South Korea
Prior art keywords
digital audio
audio data
memory buffer
data
speed
Prior art date
Application number
KR1020070050803A
Other languages
English (en)
Other versions
KR100871997B1 (ko
Inventor
이진욱
Original Assignee
주식회사 텔레칩스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 텔레칩스 filed Critical 주식회사 텔레칩스
Priority to KR1020070050803A priority Critical patent/KR100871997B1/ko
Publication of KR20080103720A publication Critical patent/KR20080103720A/ko
Application granted granted Critical
Publication of KR100871997B1 publication Critical patent/KR100871997B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/005Reproducing at a different information rate from the information rate of recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B11/00Recording on or reproducing from the same record carrier wherein for these two operations the methods are covered by different main groups of groups G11B3/00 - G11B7/00 or by different subgroups of group G11B9/00; Record carriers therefor
    • G11B11/10Recording on or reproducing from the same record carrier wherein for these two operations the methods are covered by different main groups of groups G11B3/00 - G11B7/00 or by different subgroups of group G11B9/00; Record carriers therefor using recording by magnetic means or other means for magnetisation or demagnetisation of a record carrier, e.g. light induced spin magnetisation; Demagnetisation by thermal or stress means in the presence or not of an orienting magnetic field
    • G11B11/105Recording on or reproducing from the same record carrier wherein for these two operations the methods are covered by different main groups of groups G11B3/00 - G11B7/00 or by different subgroups of group G11B9/00; Record carriers therefor using recording by magnetic means or other means for magnetisation or demagnetisation of a record carrier, e.g. light induced spin magnetisation; Demagnetisation by thermal or stress means in the presence or not of an orienting magnetic field using a beam of light or a magnetic field for recording by change of magnetisation and a beam of light for reproducing, i.e. magneto-optical, e.g. light-induced thermomagnetic recording, spin magnetisation recording, Kerr or Faraday effect reproducing
    • G11B11/10595Control of operating function
    • G11B11/10597Adaptations for transducing various formats on the same or different carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/24Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by sensing features on the record carrier other than the transducing track ; sensing signals or marks recorded by another method than the main recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • G11B2020/10546Audio or video recording specifically adapted for audio data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • G11B2020/10592Audio or video recording specifically adapted for recording or reproducing multichannel signals
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10935Digital recording or reproducing wherein a time constraint must be met
    • G11B2020/10953Concurrent recording or playback of different streams or files
    • G11B2020/10962Concurrent recording or playback of different streams or files wherein both recording and playback take place simultaneously
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media
    • G11B2220/65Solid state media wherein solid state memory is used for storing indexing information or metadata

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 고배속으로 레코딩되는 디지털 오디오 데이터의 실시간 재생 방법으로, 특히 고배속으로 레코딩이 이루어지더라도 레코딩되는 오디오 데이터의 일부 또는 전체를 사람이 들을 수 있는 빠르기로 실시간 재생할 수 있는 디지털 오디오 데이터의 실시간 재생 방법에 관한 것이다. 본 발명에 따르면, 고배속 녹음과 동시에 녹음 진행과 음악 감상을 할 수 있으며, 녹음 속도와 상관없이 사용자가 음악을 1 배속으로 들을 수 있는 효과가 있다.
CD 녹음, 고배속 출력, 실시간 재생, 버퍼 메모리, 가상 헤더

Description

고배속으로 레코딩되는 디지털 오디오 데이터의 실시간 재생 방법{Method for real time replaying digital audio data with high-speed recording}
도 1은 디지털 오디오 데이터의 레코딩 및 디코딩 수행을 위한 일반적인 장치 구성도,
도 2는 종래 기술에 의한 고배속 레코딩 및 고배속 디코딩 결과를 나타낸 개념도,
도 3은 종래 기술에 의한 고배속 레코딩 및 저배속 디코딩 결과를 나타낸 개념도,
도 4는 본 발명의 제 1 실시예에 의한 고배속으로 레코딩되는 디지털 오디오 데이터의 실시간 재생 방법에 있어서 완전 녹음 + 부분 재생 방법의 대략적인 개념을 나타낸 도면,
도 5는 본 발명에서 사용되는 가상 헤더의 예를 나타낸 도면,
도 6은 본 발명의 제 1 실시예에 의한 고배속으로 레코딩되는 디지털 오디오 데이터의 실시간 재생 방법의 동작 과정을 나타낸 순서도,
도 7은 도 4와 도 6에 도시된 완전 녹음 + 부분 재생 방법을 보다 상세히 나타낸 순서도,
도 8은 본 발명의 제 2 실시예에 의한 고배속으로 레코딩되는 디지털 오디오 데이터의 실시간 재생 방법에 있어서 완전 녹음 + 완전 재생 방법의 대략적인 개념을 나타낸 도면,
도 9는 본 발명의 제 2 실시예에 의한 고배속으로 레코딩되는 디지털 오디오 데이터의 실시간 재생 방법의 동작 과정을 나타낸 순서도,
도 10은 도 8과 도 9에 도시된 완전 녹음 + 완전 재생 방법을 보다 상세히 나타낸 순서도이다.
본 발명은 고배속으로 레코딩되는 디지털 오디오 데이터의 실시간 재생 방법으로, 특히 고배속으로 레코딩이 이루어지더라도 레코딩되는 오디오 데이터의 일부 또는 전체를 사람이 들을 수 있는 빠르기로 실시간 재생할 수 있는 디지털 오디오 데이터의 실시간 재생 방법에 관한 것이다.
콤팩트 디스크(CD : compact disk)에 수록된 디지털 오디오 데이터는 PCM(pulse code modulation) 방식으로 저장되어 있으며, 일반적인 CD 플레이어 장치에서는 CD에 수록된 디지털 오디오 데이터를 DAC(digital-analog converter)를 통해 들을 수 있는 사운드로 변환하여 출력해준다.
최근의 디지털 기기들은 CD에 저장되어 있는 PCM 형태의 디지털 오디오 데이터를 불러와서 별도의 저장 공간에 레코딩하는 기술을 제시하고 있으며, 이러한 PCM 데이터를 압축 저장하기 위해 MP3, WMA 등 다양한 형태의 파일 포맷을 제시하고 있다.
이러한 디지털 레코딩 장치가 CD로부터 고배속으로 디지털 오디오 출력을 받아 레코딩 한다면 예를 들어 12분짜리 곡을 4x(4배속)으로 입력받으면 3분만에 디지털 오디오 데이터를 모두 입력받아 레코딩을 마칠 수 있다. 이처럼 고배속으로 레코딩이 이루어지면 레코딩 작업 시간을 단축시키는 효과를 가져온다.
그러나, 레코딩 작업과 병행하여 입력받은 곡을 재생해야 한다면 다음과 같은 문제가 발생한다. 즉, 4x으로 디지털 오디오 데이터를 입력받아 이를 바로 DAC를 통해 사운드로 변환 출력하면 역시 출력되는 사운드도 4배속으로 출력되므로 본래 사운드의 4배 빠르기로 들리게 된다. 따라서, 사람의 귀에도 4배 빠른 음악이 들리게 되는 문제가 있다.
도 1은 디지털 오디오 데이터의 레코딩 및 디코딩 수행을 위한 일반적인 장치 구성도이다.
도시된 바와 같이, CD 또는 디지털 오디오 출력을 갖는 기기로부터 데이터를 입력받아 디스크(저장공간)에 저장하고 이를 재생할 수 있는 기기(일명 Juke Box)의 내부 구조가 도시되어 있다. Juke Box는 내부에 여러 오디오 CD가 존재하는 형태로 이해할 수 있다.
고배속 레코딩이란 입력되는 디지털 오디오 데이터가 1x 이상으로 입력되는 것을 레코딩하여 저장하는 것을 의미하며, 일반적으로 MP3, WMA 와 같은 오디오 압축 포맷으로 디스크에 저장된다. 여기에서는, 약 1 ~ 16 배속으로 출력되는 PCM 형태의 디지털 오디오 데이터를 입력받아 인코더를 통해 데이터를 압축하여 디스크에 저장하고 있다.
데이터를 압축하는 이유는 다음과 같다. 디지털 오디오 출력은 CD를 기준으로 44.1Khz의 16bit 스테레오 데이터를 1초 동안 표현하기 위해 176,400byte 크기의 데이터가 필요하며, 5분인 경우에는 52,920,000byte라는 매우 큰 데이터가 된다. 따라서 이를 바로 디스크에 저장하는 방법은 비효율적이므로 인코더를 통해 데이터 압축을 수행한다.
그리고, 저장된 압축 데이터는 다시 디코더를 통해 압축 해제되고, DAC를 통해 아날로그 사운드로 변형되어 스피커를 통해 출력된다.
이때, 레코딩이 고배속으로 이루어지므로 동시에 디코딩하기 위해서는 디코딩 과정 역시 고배속으로 이루어져야 한다는 문제점이 있다.
도 2는 종래 기술에 의한 고배속 레코딩 및 디코딩 결과를 나타낸 개념도이다.
도시된 바와 같이, CD로부터 4x 스피드(4배속)으로 출력되는 PCM 디지털 오디오 데이터가 인코더를 통해 입력되며, 디코더도 4x의 속도로 디코딩하므로 사용자의 입장에서는 4배속의 소리를 듣게 된다. 이러한 동작 방식은 인코딩된 데이터 를 바로 디코딩하거나 PCM 데이터를 바로 바이패스(bypass)해주면 비교적 쉽게 구현할 수 있지만, 사용자가 음악을 감상하는 의미를 무시하는 방법이다.
도 3은 종래 기술에 의한 고배속 레코딩 및 저배속 디코딩 결과를 나타낸 개념도이다.
도시된 바와 같이, 사용자가 음악을 감상한다는 의미로 볼 때 레코딩은 4x로 이루어지더라도 음악 소리의 출력은 1x로 재생되는 것이 합리적이다.
문제는 디지털 오디오 출력 데이터의 크기이다. 5분의 디지털 오디오 출력 데이터의 크기는 52.92Mbyte이며 이를 4x으로 입력받으면 5분동안 입력되는 데이터의 크기는 52.92Mbyte x 4 = 211.68Mbyte가 된다.
즉, 데이터는 이처럼 빠른 속도로 매우 많은 양이 입력되지만 출력되는 데이터는 1/4이기 때문에 5분의 데이터가 이미 다 입력되어 저장된 상태에서 아직 사운드로 출력해야할 데이터가 3/4가 남아 있게 되며, 이를 어딘가 저장한 후 출력을 해야하는 문제점이 있다.
또한, CD 한 장을 모두 레코딩하기 위해서는 이보다 더 많은 메모리의 크기가 필요하다는 문제점이 있다.
본 발명의 목적은 CD 등에 저장되어 있는 디지털 오디오 데이터를 다른 디지털 기기에 고배속으로 레코딩하면서도 레코딩되는 오디오 데이터의 일부 또는 전체 를 사람이 들을 수 있는 빠르기로 실시간 재생할 수 있는 실시간 재생 방법을 제공하는 것이다.
본 발명의 제 1 실시예에 의한 고배속으로 레코딩되는 디지털 오디오 데이터의 실시간 재생 방법은, (a) 인코더를 초기화하고, 디코더에서 사용할 가상 헤더를 생성하는 단계; (b) 디지털 오디오 데이터를 1 배속 이상으로 입력받는 단계; (c) 인코더가 입력받은 데이터를 인코딩하여 압축하는 단계; (d) 메모리 버퍼에 빈 공간이 있으면, 압축 데이터를 프레임 단위로 메모리 버퍼에 저장하는 단계; (e) 메모리 버퍼에 저장된 압축 데이터를 저장장치에 저장하는 단계; (f) 디코더가 가상 헤더를 이용하여 메모리 버퍼에 저장된 압축 데이터를 1 배속으로 순차적으로 디코딩하여 재생하는 단계를 포함하여 구성된다.
본 발명의 제 2 실시예에 의한 고배속으로 레코딩되는 디지털 오디오 데이터의 실시간 재생 방법은, (a) 인코더를 초기화하고, 디코더에서 사용할 가상 헤더를 생성하는 단계; (b) 디지털 오디오 데이터를 1 배속 이상으로 입력받는 단계; (c) 입력받은 데이터를 인코딩하여 압축하는 단계; (d) 메모리 버퍼에 빈 공간이 있으면, 압축 데이터를 프레임 단위로 메모리 버퍼에 저장하는 단계; (e) 압축 데이터를 저장장치에 저장하는 단계; (f) 현재 저장장치에 레코딩 중인 트랙을 재생하는 경우, 메모리 버퍼에 저장된 압축 데이터를 1 배속으로 순차적으로 디코딩하여 재 생하는 단계; (g) 저장장치에 레코딩 완료된 트랙을 재생하는 경우, 저장장치에 저장된 압축 데이터를 1 배속으로 순차적으로 디코딩하여 재생하는 단계; 및 (h) 디지털 오디오 데이터의 마지막 트랙에 대한 레코딩이 모두 완료될 때까지 (a) - (g) 과정을 반복하는 단계를 포함하여 구성된다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 4는 본 발명의 제 1 실시예에 의한 고배속으로 레코딩되는 디지털 오디오 데이터의 실시간 재생 방법에 있어서 완전 녹음 + 부분 재생 방법의 대략적인 개념을 나타낸 도면이다.
도시된 바와 같이, 고배속으로 입력되는 PCM 데이터는 처음 인코딩될 때 디코딩에서 사용될 가상 헤더(virtual header)를 생성하고, 압축된 디지털 오디오 데이터를 인코디드 버퍼 블럭(Encoded Buffer block)에 저장한다.
이때, 가상 헤더는 디코딩을 위해 사용되는 것으로서 처음 인코딩시에 생성된다. 디코더를 초기화하기 위해서는 완전하게 파일 형태로 저장된 압축 오디오 파일을 분석하여 디코더가 필요로 하는 정보를 얻은 후에야 초기화와 디코딩이 가능하다. 이때 분석되는 정보가 헤더 정보이며 이를 이용해서 압축된 최소 단위에 대한 디코딩에 가능해진다.
따라서, 인코더에서 압축된 오디오 데이터를 바로 디코더에서 디코딩하기 위해서는 역시 헤더 정보가 필요하다. 이를 위해 인코더에서 헤더 정보를 만들어서 디코더에 제공하면, 디코더에서는 이를 이용하여 초기화하기 때문에 오디오 데이터가 완전하게 저장된 파일 상태가 아니더라도 디코딩이 가능해진다. 가상 헤더는 이처럼 파일 형태로 저장되지 않은 오디오 데이터를 바로 디코딩하기 위해 인코더에서 디코더로 제공해주는 헤더 정보를 의미한다.
또한, 인코디드 버퍼 블럭은 인코더에 의해 압축된 디지털 오디오 데이터를 받아서 디스크 등의 저장장치에 저장한다.
이때, 설정에 의해 디코더는 인코디드 버퍼 블럭으로부터 디스크에 저장된 파일을 제공받을 수도 있으며, 또는 메모리 버퍼로부터 압축 데이터를 제공받을 수도 있다. 디코더가 파일을 제공받는 경우에는 파일 시스템(file system)에 의해 느린 속도로 파일 형태의 데이터를 받아서 재생하게 되며, 빠른 속도 처리가 요구되고 용량이 큰 메모리가 구비된 경우에는 메모리 버퍼에 저장된 압축 데이터를 제공받아 재생하도록 설정할 수 있다.
디코더는 인코디드 버퍼 블럭으로부터 입력받은 압축 오디오 데이터를 가상 헤더를 이용하여 1x(1 배속)으로 출력한다. 여기서는 4x로 입력되는 경우를 예로 들었으며, 도시된 바와 같이 4프레임이 저장되는 동안 1프레임이 재생되는 것을 확인할 수 있다.
인코디드 버퍼 블럭을 사용하는데 있어 메모리 버퍼를 사용한다면 이를 위해 인코딩되어 압축된 디지털 오디오 데이터가 저장되는 임시 저장 공간(메모리 버퍼의 크기)은 압축된 디지털 오디오 데이터의 전체 크기의 1/(입력 배속) 크기를 갖도록 설정한다. 도 4에서는 입력 배속이 4x이므로 압축 오디오 데이터의 1/4의 크 기를 갖도록 설정된다.
종료 조건을 한 곡이 모두 인코딩되는 시점에 해당 곡에 대한 디코딩도 동시에 끝나게 함으로써, 곡의 모든 부분을 재생할 수는 없지만 어느 곡을 레코딩하고 있는지 소리를 들어 확인할 수 있게 해준다.
또한, CD의 모든 곡을 레코딩하는 경우, 한 곡의 레코딩이 끝나고 다음 곡을 레코딩할 경우에 인코디드 버퍼 블럭을 초기화하고 다음 곡에 대한 디코딩을 수행하도록 설정함으로써 레코딩(또는 리핑)이 끝나는 시점과 현재 어떤 곡을 녹음하는지에 대한 정보를 얻을 수 있게 해준다. 곡의 감상보다는 모니터링에 의미를 둔 동작 방식이다.
도 5는 본 발명에서 사용되는 가상 헤더의 예를 나타낸 도면이다.
가상 헤더는 앞서 설명한 바와 같이 압축 오디오 파일에 있어야 할 헤더의 정보를 대신하는 자료구조이다. 현재 녹음 중인 곡이 압축 오디오 파일로 완성된 형태가 아니기 때문에 이를 바로 디코딩하기 위해서는 파일 헤더를 대신하는 가상 헤더를 사용함으로써 현재 녹음 중인 곡의 디코딩이 가능해진다.
도시된 바와 같이, 오디오 파일의 구조를 가지는 압축 오디오 파일의 경우 압축 오디오 데이터의 전체 특징을 나타내는 헤더('Header')와 오디오 압축 데이터인 'Audio Data'로 구분된다. 하나의 의미 있는 압축을 가지는 'Audio Data'는 다시 내부 헤더인 'Stream Infomation'과 압축된 데이터로 구분된다. 이때, 특정 압축 오디오 파일은 'Stream Information'이 없을 수도 있다.
오디오 파일의 저장 포맷에서 해당 오디오의 특성을 나타내 주는 부분들이 'Header'에 저장된다. 이 'Header'에는 SR(sampling rates), BR(bitrates), Ch(Channel mode), size, frames수(packet수) 등의 내용이 포함되며, 해당 frame(packet)이 유용한 형태의 정보로 나타내어 지는데 필요하다.
위의 오디오 파일을 재생하기 위해서는 'Header'와 'Audio Data'로부터 어떻게 압축되어 있는지와 어떤 식으로 디코딩할지에 대한 정보를 얻어올 수 있다. 현재 인코딩 중인 압축 오디오 파일은 아직 헤더가 만들어지지 못한 경우이기 때문에 이를 디코딩하기 위해 인코딩 중인 압축 오디오 파일 정보에 가상 헤더를 사용하여 디코딩 가능하게 한다.
가상 헤더를 생성함으로써, 인코더에서 이미 SR, BR, Ch와 같은 필수 정보를 가지고 있기 때문에 이를 동일하게 디코더에 제공해줄 수 있으며, 특정 압축 파일의 필요에 따라 인코딩에서 사용된 오디오 프레임에 대한 추가 정보를 가상 헤더에 추가할 수도 있다.
도 6은 본 발명의 제 1 실시예에 의한 고배속으로 레코딩되는 디지털 오디오 데이터의 실시간 재생 방법의 동작 과정을 나타낸 순서도이다.
도시된 바와 같이, 먼저 디지털 오디오 데이터를 1 배속 이상으로 입력받기 시작한다. 그리고, 인코더를 초기화하면서 가상 헤더를 생성하고, 생성된 가상 헤더를 이용하여 디코더를 초기화한다(S1). 그리고 디지털 오디오 데이터를 1 배속 이상으로 계속 입력받는다(S2).
레코딩 태스크(recording task)로서, 입력받은 데이터를 인코딩하여 압축한다(S3). 이렇게 압축된 데이터를 프레임이라 한다.
그리고, 메모리 버퍼에 빈 공간이 있는지 확인한 후(SA), 만약 메모리 버퍼에 빈 공간이 있으면, 압축 데이터를 프레임 단위로 메모리 버퍼에 저장한다(S4). 이때, 메모리 버퍼에 빈 공간이 있다는 것은 프레임 단위의 압축 데이터가 저장될 수 있다는 뜻이고, 빈 공간이 없이 모두 채워진 풀 상태라면 일정 시간 대기 후 다시 비어있는지를 확인하도록 설정할 수 있다.
그리고 나서, 압축 데이터를 프레임 단위로 저장장치에 저장한다(S5).
이때, 메모리 버퍼와 디스크 등의 저장장치를 모두 포함하는 인코디드 버퍼 블럭의 내부 설정에 따라 2가지 동작이 가능하다. 즉, 메모리 크기가 충분하고 빠른 처리 속도의 동작이 필요하다면 메모리 버퍼에 프레임을 저장한 후 이를 다시 기록 버퍼에 복사하는 과정을 거쳐서 저장장치에 압축 데이터가 저장되도록 설정할 수 있다. 또한, 메모리 버퍼를 사용하지 않고 입력된 프레임을 바로 기록 버퍼에 저장한 후 기록 태스크(writing task)에 의해 디스크 등의 저장장치에 저장하도록 설정할 수도 있다.
압축 데이터가 저장장치에 저장되는 제 5 단계(S5)는 압축 데이터가 메모리 버퍼에 저장되는 제 4 단계(S4)와 병행해서 이루어진다. 즉, 메모리 버퍼에 저장된 데이터가 동시에 저장장치에 저장된다. 그리고 메모리 버퍼가 모두 채워지면 더 이상 메모리 버퍼에는 데이터를 입력하지 않고 저장장치에만 데이터를 저장하는 동작으로 해석할 수 있다.
디코딩 태스크(decoding task)로서, 앞서 S1~S4 및 S5 단계와 병행하여 디코더가 메모리 버퍼에 저장된 압축 데이터를 프레임 단위로 읽어와서 1 배속으로 순차적으로 디코딩하여 재생한다(S6). 이때 디코딩 정보로서 앞서 생성된 가상 헤더가 이용된다. 디코딩 과정은 이제까지 언급한 디지털 오디오 데이터의 입력, 인코딩을 통한 압축, 저장 과정과 병행하여 이루어진다. 디코딩된 데이터는 DAC를 거쳐 아날로그 사운드로 변환되며, 스피커를 통해 사람이 들을 수 있는 소리로 변조되어 출력된다.
그리고, 디지털 오디오 데이터의 1 트랙에 대한 레코딩이 모두 완료될 때까지 제 1 단계(S1)부터 제 6 단계(S6)까지의 과정을 반복한다(SB). 즉, 고배속으로 CD 데이터를 불러와서 압축하여 메모리 버퍼와 저장장치에 저장하고, 메모리 버퍼에 저장된 데이터를 디코딩하여 출력하는 과정을 1 곡에 대하여 계속 반복하는 것이다.
마지막으로, 기록 버퍼의 데이터가 모두 저장장치에 저장되어 디지털 오디오 데이터의 1 트랙에 대한 레코딩이 모두 완료되면 메모리 버퍼를 초기화하고(S7), 디지털 오디오 데이터의 다음 트랙에 대하여 앞서 언급된 전체 과정을 반복한다.
도 7은 도 4와 도 6에 도시된 완전 녹음 + 부분 재생 방법을 보다 상세히 나타낸 순서도이다.
도시된 바와 같이, CD 데이터의 완전 녹음 및 부분 재생을 구현하기 위한 구체적인 예가 도시되어 있다.
전체적인 내용은 앞서 도 4와 도 6에서 설명한 내용과 거의 일치한다. 각각의 태스크(task)는 동시에 주어진 작업을 실행할 수 있는 작업 처리 단위를 의미한다.
레코딩 태스크(recording task)는 인코딩된 데이터를 인코디드 버퍼 블럭에 프레임 단위로 저장을 하고 빠져나온 후 현재 트랙에 대한 인코딩 작업이 완료되었는지를 체크하고, 인코딩이 완료되지 않은 경우에는 디지털 오디오 데이터를 입력받아 인코딩한 후 인코디드 버퍼 블럭에 저장하는 과정을 반복한다.
디코딩 태스크(decoding task)는 인코디드 버퍼 블럭에서 프레임을 얻을 수 있으면 디코딩하고 데이터가 없으면 대기한다. 이 과정은 레코딩 태스크가 레코딩을 종료할 때까지 지속된다.
마지막으로, 기록 태스크(writing task)는 인코디드 버퍼 블럭에서 기록 버퍼에 저장할 데이터가 있으면 저장하고 없으면 역시 대기한다.
여기에서, 메모리 버퍼는 순환 링 버퍼로 구현되며, 이를 사용할 경우 파일 시스템을 사용하는 경우보다 훨씬 빠른 응답속도를 가져오게 된다.
하지만, 메모리 버퍼는 크기가 이미 정해져 있기 때문에 레코딩 시작부터 버퍼에 모두 채워진 데이터까지만 디코딩이 가능하다는 결점이 있다. 따라서, 메모리 버퍼의 크기가 작을 경우에 한 트랙에 대한 레코딩이 끝나지 않았는데 메모리 버퍼는 이미 디코딩 태스크에 의해 모두 비워져서 더 이상 디코딩을 할 수 없는 상태가 지속될 수도 있다.
이러한 문제를 해결하기 위해 부분 재생 시간을 미리 정하는 것이 중요하며, 이 시간 동안 디코딩에 사용될 데이터의 크기를 확보할 필요가 있다. 순환 버퍼의 특징상 데이터 입출력이 동시에 이루어지며 데이터가 빠져 나간 공간만큼 다시 비어있는 공간으로 지정되기 때문에 활용 가능한 버퍼의 크기는 (버퍼크기)/(입력 배속)을 더한 만큼 더 가능하다.
또한, 이러한 경우에 대한 예외처리로서, 1 트랙에 대한 레코딩이 모두 완료되지 않은 시점에서 재생이 모두 완료되면 메모리 버퍼의 처음부터 다시 디코딩 및 재생을 되풀이하도록 설정함으로써 음악 재생이 중단되지 않고 계속 진행되도록 설정할 수도 있다.
도 8은 본 발명의 제 2 실시예에 의한 고배속으로 레코딩되는 디지털 오디오 데이터의 실시간 재생 방법에 있어서 완전 녹음 + 완전 재생 방법의 대략적인 개념을 나타낸 도면이다.
앞서 설명한 제 1 실시예와는 달리 CD의 한 트랙에서 다음 트랙으로 이동하면서 레코딩이 이루어지더라도 현재 플레이되는 음악이 정상적으로 재생되도록 구현한다. 즉, 곡의 마지막까지 재생이 이루어진 후에 재생 과정을 종료한다.
이를 구현하기 위해 현재 입력되는 트랙에 대한 레코딩이 종료되어 다음 곡으로 넘어가더라도 디코딩을 종료시키지 않는다. 디코딩의 종료 조건은 디코딩되는 곡의 끝까지 재생한 경우이고 현재 곡에 대한 재생이 끝나면 다음 곡을 재생한다. 이때, 재생하려는 곡이 아직 레코딩 중이면 메모리 버퍼로부터 데이터를 가져오고, 레코딩이 완료된 경우라면 파일로부터 읽어서 재생한다.
인코디드 버퍼 블럭의 구성은 앞서 도4, 도6, 도7에서 기술한 내용과 같다. 차이점으로는 메모리 버퍼를 사용하는 경우에는 메모리 버퍼의 크기가 제 1 실시예의 경우보다 커야 한다는 점이다.
메모리 버퍼는 인코딩된 압축 오디오 데이터를 1 배속으로 재생하기 위한 버퍼이지만 그 크기는 CD의 650Mbyte를 전체 압축 데이터로 만들었을 때의 크기가 1/10로 압축된 것으로 가정하여 약 65Mbyte의 크기를 갖는 것을 권장한다. 이 메모리의 크기는 SDRAM과 같은 크기의 메모리를 사용할 수도 있고 NAND와 같은 플래시 메모리를 사용할 수도 있다.
디코더가 곡을 재생할 때, 현재 레코딩이 완료되지 않은 트랙을 재생하기 위해서는 메모리 버퍼에 저장된 압축 데이터를 가져와서 디코딩하여 스피커로 1배속의 사운드를 재생하며, 레코딩이 완료된 트랙을 재생하는 경우에는 디스크 등의 저장장치에 파일 형태로 저장된 데이터를 가져와서 디코딩하여 1배속으로 재생한다.
도 9는 본 발명의 제 2 실시예에 의한 고배속으로 레코딩되는 디지털 오디오 데이터의 실시간 재생 방법의 동작 과정을 나타낸 순서도이다.
도시된 바와 같이, 먼저 디지털 오디오 데이터를 1 배속 이상으로 입력받기 시작한다. 그리고, 인코더를 초기화하면서 가상 헤더를 생성하고, 생성된 가상 헤더를 이용하여 디코더를 초기화한다(S100). 그리고 디지털 오디오 데이터를 1 배속 이상으로 계속 입력받는다(S200).
레코딩 태스크로서, 입력받은 데이터를 인코딩하여 압축한다(S300).
그리고, 메모리 버퍼에 빈 공간이 있는지 여부를 확인하고(SC), 빈 공간이 있는 경우에는 압축 데이터를 프레임 단위로 메모리 버퍼에 저장한다(S400).
기록 태스크로서, 압축 데이터를 프레임 단위로 디스크 등의 저장장치에 저장한다(S500).
그리고 디코딩 태스크로서 압축 데이터를 1 배속으로 순차적으로 디코딩하여 재생하는데, 재생하려는 트랙이 현재 레코딩인 중인지 여부에 따라서 디코딩 경로를 다르게 설정한다(SD).
즉, 현재 디코딩하려는 트랙이 레코딩이 완료된 트랙이라면 저장장치에 저장된 파일 형태의 데이터를 불러와서 디코딩한다(S600). 그러나 현재 디코딩하려는 트랙이 레코딩 중인 트랙이라면 메모리 버퍼로부터 압축 데이터를 불러와서 디코딩한다(S700). 디코딩 과정은 앞서 S100~S400 및 S500 과정과 병행하여 이루어진다.
디코더는 더 이상 재생할 파일이 없을 때까지 계속 플레이한다. 디코딩된 데이터는 DAC를 거쳐 아날로그 사운드로 변환되며, 스피커를 통해 사람이 들을 수 있는 소리로 변조되어 출력된다.
그리고, 디지털 오디오 데이터의 트랙 모두에 대한 레코딩이 완료될 때까지 위 전체 과정(S100 ~ S700)을 반복한다(SE). 현재 레코딩 중인 트랙에 대한 레코딩이 완료되었는지를 체크하고, 다음에 레코딩할 곡이 있으면 다음 트랙을 선택하고 다시 S100부터 반복한다.
모든 트랙에 대한 레코딩이 완료되었으나 아직 재생이 완료되지 않은 경우에는 디코딩 및 재생 과정을 계속 진행하고, 더 이상 재생할 다음 곡이 없는 경우에 는 재생 과정을 종료한다(S800).
도 10은 도 8과 도 9에 도시된 완전 녹음 + 완전 재생 방법을 보다 상세히 나타낸 순서도이다.
도시된 바와 같이, CD 데이터의 완전 녹음 및 완전 재생을 구현하기 위한 구체적인 예가 도시되어 있다.
전체적인 내용은 앞서 도 4, 도 6, 도 7에서 설명한 것과 같은 인코디드 버퍼 블럭의 동작을 사용하며, 도 8, 도 9에서 설명한 것과 같이 종료 조건은 디코더가 모든 곡을 재생 완료하는 시점이다. 또한 레코딩 태스크와 디코딩 태스크는 서로 독립적으로 동작한다.
제 1 실시예에서는 현재 트랙에 대한 레코딩이 종료되면 디코딩도 종료되지만, 제 2 실시예의 경우에는 레코딩 진행과는 별도로 레코딩 진행 중이거나 레코딩 완료된 모든 트랙에 대하여 1x 재생이 이루어진다.
레코딩 및 재생이 이루어지는 최초 과정은 제 1 실시예의 경우와 거의 동일하다. 즉, 현재 재생하는 곡이 레코딩 중이기 때문에 이를 임시로 저장해서 보관하고 있는 메모리 버퍼로부터 데이터를 받아야 한다. 그러나, 제 1 실시예에서 문제점으로 지적되는 메모리 버퍼의 크기에 따라 발생하는 불안 요인은 메모리 버퍼의 크기를 레코딩하는 CD 크기의 1/10 정도로 설정함으로써 모두 보호되므로 문제가 발생하지 않는다.
이상에서 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명에 따르면, 고배속 녹음과 동시에 녹음 진행과 음악 감상을 할 수 있으며, 녹음 속도와 상관없이 사용자가 음악을 1 배속으로 들을 수 있는 효과가 있다.

Claims (9)

  1. (a) 인코더를 초기화하고, 디코더에서 사용할 가상 헤더를 생성하는 단계;
    (b) 디지털 오디오 데이터를 1 배속 이상으로 입력받는 단계;
    (c) 상기 인코더가 상기 입력받은 데이터를 인코딩하여 압축하는 단계;
    (d) 메모리 버퍼에 빈 공간이 있으면, 상기 압축 데이터를 프레임 단위로 상기 메모리 버퍼에 저장하는 단계;
    (e) 상기 메모리 버퍼에 저장된 압축 데이터를 저장장치에 저장하는 단계; 및
    (f) 상기 디코더가 상기 가상 헤더를 이용하여 상기 메모리 버퍼에 저장된 압축 데이터를 1 배속으로 순차적으로 디코딩하여 재생하는 단계;
    를 포함하여 구성되는 디지털 오디오 데이터의 실시간 재생 방법.
  2. 제 1 항에 있어서,
    상기 메모리 버퍼의 크기를 압축된 디지털 오디오 데이터의 전체 크기의 1/(입력 배속)로 설정하는 단계를 더 포함하여 구성되는 디지털 오디오 데이터의 실시간 재생 방법.
  3. 제 2 항에 있어서,
    (g) 상기 디지털 오디오 데이터의 1 트랙에 대한 레코딩이 모두 완료될 때까지 상기 (a) - (f) 과정을 반복하는 단계; 및
    (h) 상기 디지털 오디오 데이터의 1 트랙에 대한 레코딩이 모두 완료되면 상기 메모리 버퍼를 초기화하고 상기 디지털 오디오 데이터의 다음 트랙에 대하여 상기 전체 과정을 반복하는 단계;
    를 더 포함하여 구성되는 디지털 오디오 데이터의 실시간 재생 방법.
  4. 제 3 항에 있어서,
    상기 메모리 버퍼가 모두 채워진 후 상기 메모리 버퍼에 저장된 압축 데이터가 모두 재생된 경우, 상기 압축 데이터에 대한 디코딩 및 재생을 되풀이하는 단계를 더 포함하여 구성되는 디지털 오디오 데이터의 실시간 재생 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 (d) 단계는 상기 압축 데이터를 기록 버퍼에 먼저 저장한 후에 파일 형태로 상기 저장장치에 저장하는 단계를 포함하여 구성되는 것을 특징으로 하는 디지털 오디오 데이터의 실시간 재생 방법.
  6. (a) 인코더를 초기화하고, 디코더에서 사용할 가상 헤더를 생성하는 단계;
    (b) 디지털 오디오 데이터를 1 배속 이상으로 입력받는 단계;
    (c) 상기 입력받은 데이터를 인코딩하여 압축하는 단계;
    (d) 메모리 버퍼에 빈 공간이 있으면, 상기 압축 데이터를 프레임 단위로 상기 메모리 버퍼에 저장하는 단계;
    (e) 상기 압축 데이터를 저장장치에 저장하는 단계;
    (f) 현재 저장장치에 레코딩 중인 트랙을 재생하는 경우, 상기 메모리 버퍼에 저장된 압축 데이터를 1 배속으로 순차적으로 디코딩하여 재생하는 단계;
    (g) 저장장치에 레코딩 완료된 트랙을 재생하는 경우, 상기 저장장치에 저장된 압축 데이터를 1 배속으로 순차적으로 디코딩하여 재생하는 단계; 및
    (h) 상기 디지털 오디오 데이터의 마지막 트랙에 대한 레코딩이 모두 완료될 때까지 상기 (a) - (g) 과정을 반복하는 단계;
    를 포함하여 구성되는 디지털 오디오 데이터의 실시간 재생 방법.
  7. 제 6 항에 있어서,
    상기 디지털 오디오 데이터에 대한 레코딩이 모두 완료된 후에, 상기 저장장치에 저장된 미재생 압축 데이터를 1 배속으로 순차적으로 디코딩하여 재생하는 단계를 더 포함하여 구성되는 디지털 오디오 데이터의 실시간 재생 방법.
  8. 제 7 항에 있어서,
    상기 메모리 버퍼의 크기를 압축된 디지털 오디오 데이터의 전체 크기로 설정하는 단계를 더 포함하여 구성되는 디지털 오디오 데이터의 실시간 재생 방법.
  9. 제 6 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 (d) 단계는 상기 압축 데이터를 기록 버퍼에 먼저 저장한 후에 파일 형태로 상기 저장장치에 레코딩하는 단계를 포함하여 구성되는 것을 특징으로 하는 디지털 오디오 데이터의 실시간 재생 방법.
KR1020070050803A 2007-05-25 2007-05-25 고배속으로 레코딩되는 디지털 오디오 데이터의 실시간재생 방법 KR100871997B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070050803A KR100871997B1 (ko) 2007-05-25 2007-05-25 고배속으로 레코딩되는 디지털 오디오 데이터의 실시간재생 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070050803A KR100871997B1 (ko) 2007-05-25 2007-05-25 고배속으로 레코딩되는 디지털 오디오 데이터의 실시간재생 방법

Publications (2)

Publication Number Publication Date
KR20080103720A true KR20080103720A (ko) 2008-11-28
KR100871997B1 KR100871997B1 (ko) 2008-12-05

Family

ID=40288943

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070050803A KR100871997B1 (ko) 2007-05-25 2007-05-25 고배속으로 레코딩되는 디지털 오디오 데이터의 실시간재생 방법

Country Status (1)

Country Link
KR (1) KR100871997B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180006233A (ko) * 2016-07-08 2018-01-17 전자부품연구원 오디오 ld 자동 복합 제어 방법 및 시스템
KR20180006126A (ko) * 2016-07-08 2018-01-17 전자부품연구원 저-지연 오디오 ld 자동 제어 방법 및 시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05151758A (ja) * 1991-11-28 1993-06-18 Sharp Corp 情報記録再生装置
JPH0963191A (ja) * 1995-08-25 1997-03-07 Sony Corp 記録再生システム
JP2003022606A (ja) 2001-07-06 2003-01-24 Sony Corp 記録再生装置および方法、記録媒体、並びにプログラム
KR100484475B1 (ko) * 2002-01-26 2005-04-20 엘지전자 주식회사 실시간 입력 데이터 기록장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180006233A (ko) * 2016-07-08 2018-01-17 전자부품연구원 오디오 ld 자동 복합 제어 방법 및 시스템
KR20180006126A (ko) * 2016-07-08 2018-01-17 전자부품연구원 저-지연 오디오 ld 자동 제어 방법 및 시스템

Also Published As

Publication number Publication date
KR100871997B1 (ko) 2008-12-05

Similar Documents

Publication Publication Date Title
US6076063A (en) Audio player and recorder employing semiconductor memory as a recording medium
JP2005519537A5 (ko)
EP1780710A1 (en) Method for recording, reproducing and handling audio data in a data recording medium
KR100871997B1 (ko) 고배속으로 레코딩되는 디지털 오디오 데이터의 실시간재생 방법
JP3968206B2 (ja) 再生装置
WO2004013853A1 (ja) 情報記録媒体、情報記録装置及び方法、情報再生装置及び方法、情報記録再生装置及び方法、コンピュータプログラム、並びにデータ構造
KR100552605B1 (ko) 멀티 트랙 오디오 포맷 변환/재생 방법 및 시스템
JP2002109824A (ja) ディジタル音声信号の記録方法、およびその装置
JP2004348887A (ja) オーディオ再生装置
JP2001143395A (ja) データ復号装置
KR0122631Y1 (ko) 멀티 트랙 기록 재생 장치
JP2010123225A (ja) 記録再生装置及び記録再生方法
JP2005275149A (ja) 楽曲情報編集装置
KR100366282B1 (ko) 음성신호 압축 방법
JP4433954B2 (ja) 情報処理装置および方法、並びにプログラム
JP3726808B2 (ja) 音声信号のエンコード方法及び再生装置
JP3726809B2 (ja) 音声信号のエンコード方法及び再生装置
JP3726812B2 (ja) 音声信号のエンコード方法及び再生装置
KR20010016735A (ko) 압축음악용 컴팩트 디스크 및 압축음악 재생용 컴팩트 디스크 플레이어
JP2005011432A (ja) オーディオ再生装置
JP3726811B2 (ja) 音声信号のエンコード方法及び再生装置
JP3724712B2 (ja) 音声信号伝送方法及び伝送されたデータの再生方法
JP3726805B2 (ja) 音声信号のエンコード方法及び再生装置
JP4341169B2 (ja) ファイル再生装置およびそれに使用されるフォルダ認識方法
JP3726807B2 (ja) 音声信号のエンコード方法及び再生装置

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131007

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141112

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151006

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20161026

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20171024

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181008

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20191014

Year of fee payment: 12