KR20040044854A - 가변 비트율 디지털 인코딩 오디오 데이터 파일의 경과재생 타임키핑용 방법 및 장치 - Google Patents

가변 비트율 디지털 인코딩 오디오 데이터 파일의 경과재생 타임키핑용 방법 및 장치 Download PDF

Info

Publication number
KR20040044854A
KR20040044854A KR10-2004-7003347A KR20047003347A KR20040044854A KR 20040044854 A KR20040044854 A KR 20040044854A KR 20047003347 A KR20047003347 A KR 20047003347A KR 20040044854 A KR20040044854 A KR 20040044854A
Authority
KR
South Korea
Prior art keywords
audio data
data
file
player
audio
Prior art date
Application number
KR10-2004-7003347A
Other languages
English (en)
Other versions
KR100913843B1 (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 톰슨 라이센싱 에스.에이.
Publication of KR20040044854A publication Critical patent/KR20040044854A/ko
Application granted granted Critical
Publication of KR100913843B1 publication Critical patent/KR100913843B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • 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/02Analogue recording or reproducing
    • G11B20/04Direct recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/022Control panels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/12Control of operating function, e.g. switching from recording to reproducing by sensing distinguishing features of or on records, e.g. diameter end mark
    • G11B19/125Control of operating function, e.g. switching from recording to reproducing by sensing distinguishing features of or on records, e.g. diameter end mark involving the detection of carrier data format
    • 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/00007Time or data compression or expansion
    • 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
    • G11B27/007Reproducing at a different information rate from the information rate of recording reproducing continuously a part of the information, i.e. repeating
    • 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/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • 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/34Indicating arrangements 
    • 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/36Monitoring, i.e. supervising the progress of recording or reproducing
    • 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/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • 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/61Solid state media wherein solid state memory is used for storing A/V content

Abstract

본 발명은 디지털 오디오 플레이어(10) 및 인코딩 디지털 오디오 데이터를 처리하는 방법을 제공하며, 여기서 디지털 오디오 데이터는 복수의 인코딩 포맷중 하나를 이용하여 인코딩된다. 오디오 데이터 플레이어는 데이터 파일을 저장하는 하드 디스크 또는 다른 데이터 저장 매체(32), 마이크로콘트롤러(22), 안티-스킵 보호를 위한 버퍼 메모리(25), 및 오디오 디코더(12)를 구비한다. 인코딩 오디오 데이터 파일 및 관련된 디코더 파일은 퍼스널 컴퓨터 또는 유사한 장치로부터 오디오 데이터 플레이어 하드 드라이브로 다운로드된다. 플레이어는 선택, 정렬, 및 저장된 오디오 데이터 파일의 재생을 위한 메뉴 구동 사용자 인터페이스를 제공한다. 재생동안, 경과 재생 시간이 계산되어 표시된다. 가변 비트율 데이터 파일에 대해서, 오디오 데이터 플레이어(10)는 경과 재생 타임키핑 맵을 오디오 데이터 파일의 재생 및 패스트 포워드 스캔과 동시에 재생한다. 오디오 데이터 파일의 재생, 포워드 스캔, 및 리버스 스캔과 동시에, 오디오 데이터 플레이어(10)는 이송된 각 데이터 부분용 압축율을 결정하고, 이송된 각 데이터 부분용 재생 시간을 계산한다.

Description

가변 비트율 디지털 인코딩 오디오 데이터 파일의 경과 재생 타임키핑용 방법 및 장치{METHOD AND APPARATUS FOR ELAPSED PLAYBACK TIMEKEEPING OF VARIABLE BIT-RATE DIGITALLY ENCODED AUDIO DATA FILES}
디지털로 인코딩한 오디오 데이터를 플레이할 수 있는 휴대용 오디오 데이터 플레이어가 흔하게 사용되고 있다. 특히, 고체 메모리 장치(solid state memory device)에 저장된 디지털로 인코딩한 오디오 데이터를 처리할 수 있는 비교적 작은 핸드헬드 장치가 인기를 얻고 있다. 또한, 휴대용 오디오 데이터 플레이어에 더 많은 데이터 저장 기능이 필요해짐에 따라, 또다른 세대의 플레이어가 개발되어 인기를 얻고 있다. 이러한 휴대용 오디오 데이터 플레이어는, 퍼스널 컴퓨터(PC) 및 다른 애플리케이션에서 사용되는 전형적인 하드 드라이브처럼 스킵 및 이와 유사한 다른 문제점으로부터 영향을 받지 않는 소형화된 고용량 하드 드라이브를 포함한다.
오디오 데이터 플레이어에서, 디지털 오디오 데이터는, 먼저 데이터를 오디오 CD, 인터넷, 또는 다른 디지털 오디오 장치로부터 PC로 다운로드함으로써 데이터 저장 장치 내에 로딩된다. 이후, 데이터는 선택된 인코딩 포맷에 따라 압축되어 오디오 데이터 플레이어와 관련된 데이터 저장 장치 내에 로딩된다.
오디오 데이터는 선택된 인코딩 포맷에 따른 재생동안 오디오 데이터 플레이어에 의해 압축 해제/디코딩된다. 오디오 데이터를 압축 및 압축해제하기 위해 다양한 인코딩 포맷을 이용할 수 있다. 후술하는 바와 같이, 인코딩 포맷이라는 용어는, 압축된 비트스트림의 구문 및 의미를 특정하는 임의의 인코딩/디코딩 방식 및 그 비트스트림이 재생을 위해 압축해제되는 방식을 의미한다. 이러한 인코딩 포맷은, MP3 및 MP3 Pro를 포함하지만, 이러한 포맷에 제한되지는 않는다.
MP3 파일용으로 사용되는 데이터 구조는 인터리브 헤더 프레임 및 데이터 프레임의 시퀀스를 포함한다. 각 헤더 프레임은, 뒤따르는 데이터 프레임에 해당하는 다양한 정보 필드를 포함하며, 예를 들어, 뒤따르는 데이터 프레임을 압축하는데 사용되는 비트율을 포함한다. 오디오 데이터 파일을 인코딩하는데 사용되는 압축율은 고정될 수 있지만(즉, 일정 비트율 CBR), 오디오의 복잡성에 따라 프레임마다 가변적일 수도 있으며(즉, 가변 비트율 VBR), 각 프레임에 의해 표현되는 재생 시간 양은 MP3 포맷 파일과 동일하다. 따라서, VBR 파일에서, 각 데이터 프레임 내에 포함된 데이터 양은 가변적일 것이며, 이에 따라 재생동안 경과 재생 시간을 표시하는데 어려움이 있으며, 특히 오디오 데이터 파일의 재생동안 포워드 또는 백워드 스키핑일 때 그러하다. 이러한 문제점을 해결하기 위해, 일반적으로 오디오 데이터 플레이어는, 오디오 데이터 파일의 헤더 프레임 모두를 판독함으로써 재생 전에 프리컴파일되어야 하는 타임키핑 맵을 개발한다. 그러나, 타임키핑 맵의 프리컴파일링은 일단 오디오 데이터 파일이 선택되면 재생 실행을 지연하게 된다.
MP3 인코딩 오디오 데이터 파일에 있어서, 이 데이터 파일에 ID3 태그라 칭하는 프레임의 특정 세트가 프리펜드(prepend)되거나 첨부된다. ID3 태그는 오디오 데이터 파일에 관련된 다른 데이터 및 설명 텍스트를 포함한다. 예를 들어, 이 태그는 타이틀, 음악가, 앨범, 년도, 코멘트, 및 장르를 포함할 수 있다. ID3 태그 정보는 ID3 태그에 포함된 정보에 기초하여 특정 오디오 데이터 파일을 검색, 정렬, 및 선택하는데 유용하다. ID3 태그 정보는 흔히 텍스트 문자로 저장되며, 이 정보는 오디오 데이터 플레이어의 표시 스크린 상에 표시될 수 있다. 이러한 사용자 인터페이스가 개별적인 오디오 데이터 파일을 찾고, 선택하고, 플레이하는데 유용하지만, 그 표시를 판독해야만 한다는 것은, 조깅 또는 운전과 같이 활동중에 오디오 데이터 플레이어를 이용하는 사람에게는 유용하지 못할 수 있다.
대부분의 오디오 데이터 플레이어는 디지털 신호 프로세서(DSP)를 이용하여 오디오 디코딩, 압축 해제, 및 오디오 데이터 파일의 다른 변환을 수행한다. 예를 들어, DSP는, 다양한 프리셋 이퀄라이제이션 또는 특정 재생 선호를 빠르게 선택하는데 유용한 다른 오디오 개선 세팅을 제공할 수 있다. 예를 들어, 프리셋 DSP 모드는 락, 재즈, 및 팝과 같은 특정 오디오 장르에 대하여 특정화될 수 있다. 이러한 프리셋 DSP 모드를 선택하려면 일반적으로 사용자는 지정 버튼을 누르거나 표시 메뉴로부터 DSP 모드를 선택함으로써 재생 중간에 DSP 모드를 변경해야 한다.
대부분의 PC용 오디오 데이터 파일 관리 프로그램에 의해 사용자는, 휴대용 오디오 데이터 플레이어에 다운로드되어 선택된 오디오 데이터 파일의 시퀀스를 플레이할 수 있는 플레이리스트를 작성 및 편집할 수 있다. MP3 오디오 데이터 파일과 관련된 이러한 플레이리스트의 한 가지 형태가 M3U 리스트로서 알려져 있다. M3U 플레이리스트는, 플레이리스트에 포함된 데이터 오디오 파일의 위치 또는 경로의 넘버링된 순차 리스트를 포함하는 텍스트 파일로 간단히 구성된다. 따라서, PC 상에서 작성되어 오디오 데이터 플레이어에 다운로드된 플레이리스트를 이용하여 오디오 데이터 플레이어의 데이터 저장 장치에 포함된 오디오 데이터 파일의 시퀀스를 선택적으로 플레이할 수 있다. 그러나, 일반적으로 오디오 데이터 플레이어에 의해 플레이리스트를 오디오 플레이어 자체에서 작성하거나 편집할 수는 없다. 또한, M3U 파일 포맷은 파일 위치만을 또는 경로 정보와 코멘트 필드를 포함한다. 따라서, M3U 파일 포맷은 MP3 오디오 데이터 파일의 ID3 태그에 포함된 정보와 같은 다른 오디오 데이터 파일 정보를 포함하지 않는다.
발명의 개요
본 발명은, 데이터 저장 장치 및 오디오 디코더와 접속되어 인코딩 오디오 데이터 파일을 처리하기 위한 마이크로콘트롤러를 구비하여 오디오 데이터의 전 처리(pre-processing) 없이 경과 시간을 표시하는 오디오 데이터 플레이어를 제공함으로써, 상기한 오디오 데이터 플레이어, 특히 핸드헬드 오디오 플레이어의 한 단점을 해결한다. 특히, 본 발명은 가변 비트율 오디오 데이터 파일의 경과 재생 시간을 계산 및 표시하는 방법을 제공한다. 또한, 본 발명은, 오디오 데이터 파일의 재생 및 패스트 포워드 스캔 모드 동안, 경과 재생 타임키핑 맵을 생성하는 방법을 제공한다. 다른 방법으로, 이 경과 재생은 재생 동작 동안 처리되는 비트 양과 조합하여 평균 포워드 비트율을 계산함으로써 결정될 수 있다.
일반적으로 오디오 데이터 플레이어는, 사용자 인터페이스, 데이터 저장 장치, 버퍼 메모리, 및 오디오 디코더에 접속되는 마이크로콘트롤러를 포함한다. 사용자 인터페이스는 LCD 및 다양한 멀티방식 및 다기능 스위치를 구비한 키보드를 구비한다. 또한, 오디오 데이터 플레이어는 PC 또는 다른 USB 장착 장치에 접속하기 위한 USB 포트를 제공한다. 오디오 데이터 플레이어를 USB 포트를 통해 PC에 접속함으로써, 오디오 데이터 파일 및 오디오 플레이리스트를 오디오 데이터 플레이어에 다운로드하여 데이터 저장 장치 내에 저장할 수 있다. 일실시예에서, 데이터 저장 장치는 10GB 하드 드라이브를 포함하지만, 다른 이동 데이터 저장 매체 또는 플래시 메모리 카드와 같은 고체 메모리 장치를 이용할 수도 있다. 이 실시예에서, 사용자 인터페이스는 오디오 데이터 파일의 메뉴 구동 선택, 정렬, 및 재생을 제공한다. 또한, 오디오 데이터 파일의 재생동안, LCD는 타이틀, 음악가, 앨범, 및 장르와 같은 ID3 태그 정보를 표시한다. 또한, LCD 스크린은 경과 재생 시간, 볼륨 레벨, 및 프리셋 DSP 모드와 같은 다른 정보를 표시할 수 있다.
이 실시예로서 알려져 있는 오디오 데이터 플레이어로는, 충전가능 배터리, 5V 입력, 헤드폰 출력 포트, 및 라인 아웃 포트를 구비한 휴대용 핸드헬드 유닛이 있다. 따라서, 헤드폰을 이용하는 휴대용 애플리케이션, 또는 AC 전력 및 헤드폰 또는 다른 오디오 장치를 이용하는 고정된 애플리케이션용으로 오디오 데이터 플레이어를 이용할 수 있다.
이에 관한 한 가지 형태에 있어서, 상이한 압축율을 가질 수 있는 데이터 부분들을 갖는 오디오 데이터 파일에 대한 경과 재생 시간을 오디오 데이터 플레이어에서 감시하는 방법을 개시하며, 오디오 데이터 파일의 재생, 포워드 스캔, 백워드 스캔과 동시에, 이송되는(traversed) 각 데이터 부분의 압축율을 결정하여 이송되는 각 데이터 부분의 재생 시간을 계산하는 것을 특징으로 한다.
다른 형태에 있어서, 데이터 저장 장치 및 오디오 디코더에 접속된 마이크로콘트롤러를 포함하는 오디오 데이터 플레이어에서, 오디오 데이터 파일의 경과 재생 시간을 표시하는 방법을 개시하며, 오디오 데이터 파일의 재생 및 포워드 스캔과 동시에 타임키핑 맵을 생성하고, 재생, 포워드 스캔, 및 백워드 스캔과 동시에 경과 재생 시간을 계산 및 표시하는 것을 특징으로 한다.
또다른 형태에 있어서, 데이터 저장 장치에 접속된 마이크로콘트롤러와 오디오 디코더를 포함하는 오디오 데이터 플레이어가 개시되며, 오디오 데이터 파일을 저장하는 데이터 저장 장치, 데이터 저장 장치에 접속되어 오디오 데이터의 스트리밍을 버퍼링하는 순환 버퍼, 순환 버퍼로부터 출력되는 오디오 데이터의 각 부분에 대한 경과 재생 시간(T1)을 계산하는 타임키퍼, 순환 버퍼로부터 데이터를 수신하며 오디오 데이터의 시간 길이(△T)를 포함하는 선형 버퍼, 선형 버퍼로부터 데이터를 수신하는 오디오 디코더, 및 순환 버퍼로부터 출력되는 오디오 데이터용 경과 재생 시간에서 선형 버퍼에 포함되어 있는 오디오 데이터의 시간 길이를 감한 값(T2)을 포함하는 타임키퍼를 포함하는 것을 특징으로 한다.
그 장점으로는, 개시된 오디오 데이터 플레이어에서 오디오 데이터 파일의 재생 전에 전체 오디오 데이터 파일이 타임키핑 맵을 생성하기 위해 스캔될 필요가없다는 것이다. 따라서, 개시된 오디오 데이터 플레이어는, 타임키핑 맵을 프리컴파일링하는 것과 관련된 재생용 오디오 데이터 파일을 선택한 후 지연을 갖지 않는다. 또한, 타임키핑 맵을 생성할 때 실제 오디오 데이터가 처리될 필요가 없다.
본 발명은 디지털 방식으로 인코딩한 오디오 데이터 및 관련된 음악 관리 소프트웨어의 특징을 처리하는 방법 및 장치에 관한 것이다.
본 발명의 상기한 특징 및 다른 특징 및 목적, 및 이를 달성하는 방식은 자명할 것이며, 본 발명은 첨부 도면과 함께 다음에 따르는 본 발명의 실시예의 상세한 설명을 참조함으로써 충분히 이해될 것이다.
도 1은 본 발명에 따른 휴대용 오디오 데이터 플레이어의 개략적인 블록도.
도 2는 본 발명에 따른 휴대용 오디오 데이터 플레이어의 상면도.
도 3은 도 2의 휴대용 오디오 데이터 플레이어의 배면도.
도 4는 도 2의 휴대용 오디오 데이터 플레이어의 우측면도.
도 5는 도 2의 휴대용 오디오 데이터 플레이어 상에 표시된 메인 메뉴의 평면도.
도 6은 본 발명에 따른 휴대용 오디오 데이터 플레이어를 이용하여 오디오 트랙을 재생하는 단계를 도시하는 흐름도.
도 7은 도 2의 오디오 데이터 플레이어의 일부를 통한 데이터 흐름의 블록도.
도 8은 포워드 모드에서 타임키핑 맵을 생성하고 재생 시간을 계산 및 표시하는 단계를 나타내는 흐름도.
도 9는 리버스 모드에서 타임키핑 맵을 생성하고 경과 재생 시간을 계산 및표시하는 단계를 나타내는 흐름도.
도 10은 타임키핑 맵을 생성하지 않고 경과 재생 시간을 계산 및 표시하는 단계를 나타내는 흐름도.
대응 참조 부호는 전체 도면에 걸쳐 대응하는 부분을 나타낸다. 이 도면이 본 발명의 실시예를 도시하고 있지만, 반드시 일정한 비율일 필요는 없으며 소정의 특징이 보다 쉬운 이해를 돕기 위해 과장될 수도 있다. 본 명세서에서의 예는 단지 본 발명의 일실시예를 나타낼 뿐이며, 이러한 예는 본 발명의 범위를 제한하는 것이 아니다.
본 발명의 상세한 설명
후술하는 실시예는 다음에 따르는 상세한 설명에서 개시된 형태로 본 발명을 제한하지 않는다. 즉, 실시예를 선택하고 설명함으로써 당업자가 그 교시를 활용할 수 있다.
도 1은 본 발명에 따른 휴대용 오디오 데이터 플레이어(10)의 블록도를 나타낸다. 다양한 소자의 일반적인 배열 및 동작을 후술한다. 그러나, 오디오 데이터 플레이어(10)의 다양한 소자의 상세는 당업자에게 공지되어 있으므로 그 설명을 생략한다. 오디오 데이터 플레이어(10)는, 데이터 저장 장치(32)로부터 버퍼 메모리(25)를 통해 오디오 디코더 DSP(12)로의 데이터 전송을 포함하는 오디오 데이터 플레이어(10)의 전체 동작, 및 다양한 소자를 제어하는 마이크로콘트롤러(22)를 포함한다. 마이크로콘트롤러(22)는, 오디오 데이터 플레이어(10)의 동작을 제어하도록 다양한 명령 세트 및 프로그램을 저장하는 적절한 양의 메모리(23)를 포함한다.
DSP(12)를 프로그래밍하여 선택된 오디오 데이터 파일의 재생동안 다양한 신호 처리 기능을 수행할 수 있다. 이 경우, 재생동안 DSP(12)가 수행하는 기능은, 오디오 데이터 파일의 디코딩, 볼륨 제어, 디지털 사운드 이퀄라이제이션, 및 샘플 변환을 포함하지만, 이러한 기능으로 한정되지 않는다. 이러한 관점에서, DSP(12)는, 재생동안 디코더 파일, 오디오 데이터 파일, 이퀄라이저 모드 선택, 및 다른 다양하게 필요한 데이터가 로딩되는 온보드 메모리(11)를 포함한다.
디코더 파일은 DSP(12)의 디코딩 동작을 제어하는 프로그램을 포함하고, 오디오 데이터 파일은 오디오 콘텐츠와 관련된 데이터를 포함한다. 오디오 데이터 파일과 디코더 파일은 모두 데이터 저장 장치(32)에 저장된다. 그 프로그램을 저장하는 디코더 파일은 데이터 저장 장치(32)로부터 DSP 메모리(11)로 전송된다. 다른 방법으로, 디코더 파일은 오디오 데이터 플레이어(10)의 ROM(23), RAM(11), 또는 다른 적절한 저장 장치에 저장되어도 된다. 또한, 디코더 파일 및 다른 시스템 파일과 프로그램은 SDRAM(25), EEPROM(21), 또는 DSP(12)에 접속된 다른 적절한 저장 장치에 저장되어도 된다.
데이터 저장 장치(32)에 저장된 오디오 데이터 및 디코더 프로그램은 인크립트될 수 있으며, 하나 이상의 디크립션 키를 이용하여 디코딩 프로그램 파일 및 오디오 데이터 파일이 DSP(12)에 의해 디크립트되는 것을 필요로 한다. 또한, 디크립션 키는, 저장 장치(32)에 저장될 수 있으며 오디오 데이터 플레이어(10)의 특정한 저장 장치 또는 다른 일부 코딩 구성 요소에 안전하게 링크될 수 있으며 이에따라 특정한 오디오 데이터 플레이어 상에서 사용되도록 인크립트된 오디오 데이터 파일이 그 특정한 오디오 데이터 플레이어에 의해서만 디크립되고 재생될 수 있다.
선택된 오디오 데이터 파일이 디코딩될 때, DSP(12)는 디코딩된 데이터 스트림을 디지털-아날로그 변환기(14)에 제공한다. D/A 변환기(14)는 DSP(12)의 디지털 출력을 아날로그 신호로 변환하며 이 아날로그 신호를 헤드폰 증폭기916) 및 라인아웃 프리앰프(40)에 제공한다. 아날로그 신호는, 증폭되어 오디오 플레이어(10)의 하우징 상에 배치되어 있는, 라인아웃 잭(41) 및 헤드폰 잭(17)에 제공된다.
DSP(12)는 복수의 선택가능한 프리셋 이퀄라이제이션 모드, 예를 들어, 베이스, 재즈, 팝, 락, 및 플랫을 포함한다. 이러한 선택가능한 이퀄라이제이션 모드의 각각은, 오디오 데이터에서 인코딩되는 스피킹 타입 또는 음악 장르와 같은 오디오 정보 타입의 오디오 재생을 개선하도록 특정하게 구성된다. 또한, 일실시예에서는 DSP 이퀄라이제이션 모드의 자동 선택을 포함하며, 또한 사용자는, LCD 표시 모듈(20)에 의해 디스플레이(2) 상에 표시되는 그래픽 이퀄라이저 사용자 인터페이스를 통해 사운드 이퀄라이제이션을 수동으로 설정할 수 있다. 다른 방법으로, 플레이어(10)는 마이크로콘트롤러(22)와 DSP(12)의 기능을 하나의 유닛 내에 내장하는 단일 IC를 포함할 수 있는 이점을 갖는다. 이러한 목적에 적당한 IC로는, Texas Instruments, Inc.사가 제조한 TMS320DA250이 있으나, 이러한 예로 한정되지 않는다. 이러한 IC는, 이미 알려져 있는 방식으로 MP3 파일을 디코딩하고 처리하도록 구성될 수 있으며, 또한 후술하는 자동 DSP 선택 특징을 제공하도록 프로그래밍될 수 있다.
오디오 플레이어(10)는 데이터 저장 장치(32)와 동작하도록 구성된다. 이 실시예에서, 데이터 저장 장치(10),는 이동 데이터 저장 장치이며, 특히 인코딩된 오디오 데이터 파일, DSP(12)의 디코딩 동작을 제어하기 위한 디코더 파일, 플레이리스트 파일, 및 워드 프로세싱 파일, 프리젠테이션, 및 스프레드시트와 같은 컴퓨터 데이터 파일을 포함하는 다양한 데이터 파일을 저장하는데 사용될 수 있는 하드 드라이브이다. 데이터 저장 장치(32)와 마이크로콘트롤러(22)간에 데이터 버스(33)를 통해 많은 양의 데이터가 쉽게 전송될 수 있다. 버퍼 메모리(25)는, 순환 데이터 버퍼로서 동작하여 스킵 또는 다른 유사한 이동 데이터 저장 장치의 데이터 전송 지연에 의해 야기되는 오디오 재생의 인터럽션을 방지한다. 본 발명에 의해, 디코더 파일, 플레이리스트, 및 비교적 많은 양의 오디오 데이터가 데이터 저장 장치(32)에 저장될 수 있다.
본 발명에 따라, 오디오 데이터 파일은, MP3, MP3 Pro와 같이 선택된 인코딩 포맷에 따라 오디오 데이터 파일을 인코딩하고 인코딩된 데이터 파일을 저장하는 음악 관리 소프트웨어를 이용하여 PC, 또는 유사한 다른 장치로부터 USB 포트(42)를 통해 데이터 저장 장치(32)로 로딩된다. 이러한 음악 관리 소프트웨어는 당해 기술에 알려져 있는 프로그래밍 방법을 이용하여 구현된다. 음악 관리 소프트웨어는 오디오 데이터 파일 및 적절한 디코더 파일을 데이터 버스(43, 33)를 통해 오디오 데이터 플레이어(10)에 전송하고 데이터 저장 장치(32)에 전송한다. 또한, 음악 관리 소프트웨어는, 필요시에 시스템 구성 파일 및 파일 속성 테이블을 생성 및수정하여 데이터 저장 장치(32)에 저장되어 있는 다양한 데이터 파일과 디코더 파일에 관한 정보를 제공한다. 이 구성 파일과 파일 속성 테이블을 이용하여, 오디오 데이터 플레이어(10)는 다양한 그룹화에 의해 정렬되는 오디오 데이터 파일을 디스플레이(21) 상에 표시할 수 있고, 각 오디오 데이터 파일용으로 정확한 인코딩 포맷을 결정할 수 있으며, 사용자 선택에 응답하여 각 콘텐츠 파일용으로 적절한 디코더 파일을 다운로드할 수 있다.
도 2 내지 도 4는, 오디오 데이터 플레이어(10)의 하우징(13) 상에 배치될 수 있는, 디스플레이, 버튼, 스위칭, 인디케이터, 및 포트의 일실시예를 도시한다. 도 2를 참조하면, 사용자 입력(26)은, 재생할 특정한 오디오 데이터 파일을 정렬, 선택 및 재생 세팅을 사용자가 제어할 수 있도록 오디오 데이터 플레이어(10)의 하우징(13)상에 배치된 복수의 버튼(44; 도 3, 46; 도 4, 60 - 77)을 포함한다. 또한, 사용자 입력(26)은, 당해 기술에 알려져 있는, 예를 들어, 키보드, 음성 구동 터치패드, 및 터치스크린 입력 장치와 같은 다른 입력 장치를 포함할 수 있다. 2개의 멀티웨이 스위치는 버튼(62 - 66, 68 - 72)을 포함한다. 소프트 키(74 - 77)는, 다양한 사용자 인터페이스 메뉴 표시용으로 그 기능이 변경되는 다기능 버튼이다. 또한, 오디오 데이터 플레이어(10)는, 하우징(13) 상에 배치된 디스플레이(21)를 포함한다. 디스플레이(21)는, 데이터 저장 장치(32)에 저장된 플레이 리스트 및 오디오 데이터 파일, 소프트 키(74 - 77)의 기능, 및 도 2에 도시한 재생 상태 및 도 5에 도시한 탑-레벨 메뉴와 같이 오디오 데이터 플레이어(10)와 관련된 다양한 상태 정보를 표시한다.
다시 도 2를 참조하면, STOP/POWER 버튼(60)에 의해 사용자는 재생을 정지하고 오디오 데이터 플레이어(10)를 턴 온/오프할 수 있다. PLAY/PAUSE 버튼(62)에 의해 사용자는 재생을 시작 및 포즈할 수 있다. 좌 화살표 버튼(63)에 의해, 메뉴를 이용할 때 사용자는 하이라이트를 좌측으로 그리고 이전 오디오 데이터 파일로 스킵하며 또는 음악 재생시에 현재의 오디오 데이터 파일에서 백워드 스캔할 수 있다. 우측 화살표 버튼(65)에 의해, 사용자는 메뉴를 이용할 때 하이라이트를 오른쪽으로 이동할 수 있고, 그 다음 오디오 데이터 파일로 포워드 방향으로 스킵할 수 있으며, 음악을 재생할 때 현재의 오디오 데이터 파일에서 포워드 방향으로 스캔할 수 있다. 상측 화살표 버튼(64)에 의해, 사용자는 메뉴를 이용할 때 하이라이트를 위쪽으로 이동할 수 있다. 하측 화살표 버튼(66)에 의해, 사용자는 메뉴를 이용할 때 하이라이트를 아래쪽으로 이동할 수 있다.
도 2를 다시 참조하면, SELECT 버튼(68)에 의해 사용자는 하이라이트된 아이템을 선택할 수 있다. 볼륨 업 버튼(69)은 헤드폰(18)용 재생 볼륨 레벨을 증가하고 볼륨 다운 버튼(71)은 볼륨 레벨을 감소한다. MODE 버튼(70)에 의해 사용자는 NORMAL, REPEAT, REPEAT ONE, REPEAT ALL, SHUFFLE, 및 REPEAT ALL SHUFFLE을 포함하는 특정한 재생 모드를 선택할 수 있다. SAVE 버튼(72)에 의해 사용자는 새로운 플레이리스트를 생성하거나 오디오 데이터 파일을 기존의 플레이리스트에 추가할 수 있다. 소프트 키(74 ~ 77)는 디스플레이(21)의 아래쪽에서 각 버튼 바로 위에 보이는 메뉴 아이템을 선택한다.
도 3을 참조하면, 오디오 데이터 플레이어(10)가 온 상태일 때 POWER 인디케이터(78)가 점등된다. CHARGE 인디케이터(79)는 전원(47)이 충전중일 때 점등된다. 이 실시예에서, 전원(47)은 충전가능한 배터리 팩이다. DC IN 잭(48)은 오디오 데이터 플레이어(10)에 전원을 공급하고 전원(47)을 충전하도록 AC 아답터로부터 5V DC를 제공한다. RESET 버튼(44)에 의해 사용자는 오디오 데이터 플레이어의 모든 설정값을 제품 출하시의 디폴트 값으로 리셋할 수 있다.
도 4를 참조하면, OFF/LOCK 스위치(46)에 의해 사용자는 스위치(46)가 로크 위치로 이동되어 있을 때 버튼(60 ~ 77)을 비활성화 상태로 할 수 있다. LINE OUT 잭(41)에 의해 사용자는 오디오 데이터 플레이어를 개별적인 오디오 시스템에 접속할 수 있다. 헤드폰 잭(17)에 의해 사용자는 헤드폰(18) 상에서 디코딩 오디오를 재생할 수 있다. USB 포트(42)에 의해 오디오 데이터 플레이어(10)는 USB 케이블을 이용하는 PC 또는 다른 유사한 장치에 접속된다.
사용자가 사용자 입력을 통해 재생용으로 특정한 오디오 데이터 파일을 선택하면, 마이크로콘트롤러(22)는 선택한 오디오 데이터 파일과 관련된 적절한 디코더 파일을 데이터 저장 장치(32)로부터 DSP 메모리(11)로 로드한다. 도 1을 다시 참조하면, 마이크로콘트롤러(22)는, 버퍼 메모리(25)를 스킵-보호 버퍼로서 이용하여 선택된 오디오 데이터 파일을 버스(33, 29)를 통해 DSP(12)에 스트리밍한다.
선택된 오디오 데이터 파일의 스트리밍이 시작된 후, DSP(12)는 그 관련된 디코더 파일을 이용하여 오디오 데이터 파일을 디코딩한다. 데이터 저장 장치(32)에 저장되어 있는 디코더 파일에 의해, 오디오 플레이어(10)는 데이터 저장 장치(32)에 저장되어 있는 오디오 데이터 파일과 관련된 다양한 인코딩 포맷을 처리하도록 구성될 수 있다. 실제로, 휴대용 오디오 플레이어(10)는, 데이터 저장 장치(32)에 저장되어 있는 특정한 오디오 데이터 파일을 사용자가 선택할 때 필요시에 데이터 저장 장치(32)에 저장되어 있는 디코더 파일에 의해 갱신되는 소프트웨어이다. 오디오 데이터 플레이어(10)를 이용하여 데이터 저장 장치(32)로부터 선택된 오디오 데이터 파일을 처리하는 것과 관련된 단계는 도 6의 흐름도로 도시되어 있으며, 이하 설명한다.
도 6은 본 발명에 따라 선택된 오디오 데이터 파일을 처리하는 단계를 나타내는 흐름도를 도시한다. 단계 100에서 파워업한 후, 단계 110에서 오디오 데이터 플레이어(10)의 마이크로콘트롤러(22)는 데이터 저장 장치(32)로부터 시스템 구성 파일을 로드한다. 단계 110에서, 마이크로콘트롤러(22)는 데이터 저장 장치(32)에 저장되는 데이터 파일용으로 지원될 필요가 있는 다양한 파일 포맷을 식별한다. 또한, 구성 파일은, 오디오 데이터 파일의 파일 확장자를 데이터 저장 장치(32)에 저장된 특정한 디코더 파일과 같게 하는 정보를 포함한다. 단계 120에서, 구성 파일이 유효하지 않다면, 단계 122에서 마이크로콘트롤러(22)는 디스플레이(21) 상에 에러를 표시한다. 단계 124에서, 그 구성 파일이 유효하다면, 마이크로콘트롤러(22)는 데이터 저장 장치(32)에 저장되어 있는 파일 속성 테이블을 판독하고 데이터 저장 장치(32)에 저장된 파일/폴더의 메뉴 구동 리스트를 디스플레이(21)가 표시하도록 한다.
도 5를 참조하면, 디스플레이(21)상에 표시된 메인 메뉴에 의해 사용자는 예를 들어 음악가, 앨범, 타이틀, 장르, 플레이리스트, 및 모든 오디오 데이터 파일과 같은 그룹화 또는 식별 특징에 따라 오디오 데이터 파일을 네비게이트 및 표시할 수 있다. 메인 메뉴로부터, 사용자는 상기한 바와 같이 사용자 입력(26)을 동작하여 정렬된 리스트를 네비게이트하고 표시된 오디오 데이터 파일중 원하는 한 가지 또는 재생용 플레이리스트를 선택할 수 있다.
단계 126에서 오디오 데이터 파일 또는 플레이리스트가 재생용으로 선택되면, 마이크로콘트롤러(22) 및 DSP(12)는 여러 동시 단계를 포함하는 다수의 단계를 수행하여 오디오 재생을 제공하게 된다. 먼저, 단계 130에서 마이크로콘트롤러(22)는 대응하는 디코더 파일을 식별하고 데이터 저장 장치(32)로부터 DSP 메모리(11)로 전송한다. 예를 들어, 사용자가 MP3 파일을 선택하면, 마이크로콘트롤러(22)는 MP3 디코더 파일을 데이터 저장 장치(32)로부터 DSP 메모리(11)로 전송한다. MP3 디코더 파일을 이용하여 DSP(12)의 디코딩 동작을 제어한다.
단계 132에서, 마이크로콘트롤러(22)는 데이터 저장 장치(32)로부터 버퍼 메모리(25)를 통해 DSP(12)로 선택된 오디오 데이터 파일의 스트리밍을 시작한다. 단계 134에서, DSP(12)는, 적용될 수 있다면, 적절한 인코딩 포맷에 따라 디코더 파일을 이용하여 오디오 데이터 파일을 디코딩 및 디크립트한다. 디코딩된 오디오 데이터는 재생을 위해 D/A 변환기(14), 헤드폰 앰프(16), 및 라인 아웃 프리 앰프(40)에 제공된다.
단계 136에서, 선택된 오디오 데이터 파일에서의 모든 데이터가 버퍼 메모리(25)로 전송되었는지 여부가 결정된다. 모두 전송되지 않았다면, 단계 138에서, 마이크로콘트롤러(22)는 데이터 저장 장치(32)로부터 버퍼 메모리(25)로의 데이터 스트리밍을 계속 진행한다. 단계 136에서 결정되는 바와 같이 데이터 전송이 완료되면, 단계 140에서 마이크로콘트롤러(22)는 이전 오디오 데이터 파일과 동일한 포맷을 이용하여 그 다음 오디오 데이터 파일이 인코딩되는지 여부를 결정한다. 상기 그 다음 오디오 데이터 파일의 인코딩 포맷이 이전 인코딩 포맷과 동일하다면, 마이크로콘트롤러(22)는 단계 132로 복귀하여 상기 그 다음 오디오 파일로부터 데이터 스트리밍을 계속하며, 이 데이터는 이전처럼 단계 134에서 후속하여 디코딩된다.
상기 그 다음 오디오 데이터 파일의 인코딩 포맷이 이전 오디오 데이터 파일의 인코딩 포맷과 다르면, 마이크로콘트롤러(22)는 단계 130으로 복귀한다. 이 경우, 그 다음 오디오 데이터 파일과 관련된 새로운 디코더 파일이 DSP 메모리(11)로 전송되고, 오디오 데이터 파일을 스트리밍하는 단계와 새롭게 로딩된 디코더 파일을 이용하여 데이터 파일을 디코딩하는 단계가 반복된다. 이러한 방식으로, 오디오 데이터 플레이어(10)는, 복수의 인코딩 포맷중 임의의 하나를 이용하여, 선택된 인코딩 포맷과 관련된 디코더 파일이 이용가능하며 DSP 메모리(11) 상으로 다운로드될 수 있는 기간 동안에는, 인코딩된 오디오 데이터 파일을 재생할 수 있다. 본 실시예에서, 필요한 디코더 파일은 오디오 데이터 파일과 함께 데이터 저장 장치(32)에 저장된다. 이처럼, 오디오 플레이어(10)는 데이터 저장 장치(32)에 오디오 데이터 파일과 함께 저장된 디코더 파일을 통한 DSP의 소프트웨어 갱신에 의해 다른 인코딩 포맷을 플레이하도록 갱신될 수 있다. 따라서, 오디오플레이어(10)는, 차후에 이용가능한 인코딩 포맷을 포함하는 다양한 인코딩 포맷을 이용하여 인코딩된 데이터 파일을 재생할 수 있다.
도 2에 도시된 재생 표시동안, 오디오 데이터 파일 및 오디오 데이터 플레이어 세팅에 관한 다양한 정보가 표시된다. 예를 들어, 도 2의 디스플레이(2)는 파일 이름, 음악가 이름, 앨범 타이틀, 장르, 전체 파일중에서 현재 재생되고 있는 트랙, 볼륨 레벨 표시, 오디오 데이터 파일의 경과 재생 시간, 재생 모드 표시, 비트율, 및 선택되는 DSP 모드 선택을 나타낸다.
도 7을 참조하면, 오디오 데이터 플레이어(10)의 일실시예는, 오디오 데이터 파일의 재생 및 패스트 포워드 스캔과 동시에 재생 타임키핑 맵을 생성한다. 또한, 오디오 데이터 플레이어(10)는 오디오 데이터 파일의 재생, 포워드 스캔, 및 백워드 스캔과 동시에 경과 재생 시간을 계산 및 표시한다. 오디오 데이터 파일이 데이터 저장 장치(32)로부터 버퍼 메모리 또는 순환 버퍼(25)를 통해 스트리밍될 때, 마이크로콘트롤러 또는 타임키퍼(22)는 오디오 데이터의 각 세그먼트에 대한 경과 재생 시간(T1)을 계산한다. DSP 메모리 또는 선형 버퍼(11)는 순환 버퍼(25)로부터 오디오 데이터 스트림을 수신하고, 선형 버퍼(11)는 오디오 데이터의 시간 길이(△T)를 포함한다. 선형 버퍼(11)로부터 출력되어 디코딩용 DSP 디코더(12)로 입력되는 경과 재생 시간(T2)을 계산 및 표시하기 위해, 타임키퍼(11)는, 순환 버퍼(25)로부터 출력되는 오디오 데이터의 경과 재생 시간(T1)으로부터, 선형 버퍼(11)에 포함되어 있는 오디오 데이터의 시간 길이(△T)를 감사한다. 따라서, T2는, DSP(12)에 의해 현재 디코딩되고 있는 오디오 데이터용 오디오 데이터 파일의 경과 재생 시간을 나타낸다.
일실시예에서, 압축율에 따라 길이가 가변되는 데이터 프레임에 오디오 데이터가 저장되지만, 각 데이터 세그먼트에 대하여, 특히 각 512바이트 섹터마다 타임키핑이 수행된다. 따라서, 데이터의 각 섹터 또는 세그먼트에 대한 재생 시간이 계산된다. 섹터 경계가 하나의 데이터 프레임 내에 위치하면, 그 프레임의 끝부분에서의 시간이 필요시에 내삽된다.
일실시예에서의 타임키핑 맵 또는 데이터 구조는, 데이터의 각 섹터가 아닌 데이터의 각 64개 섹터 블록에 대하여 밀리초 단위로 재생 시간을 저장한다. 따라서, 전체 블록의 재생 시간의 추정값이 계산되고 각 데이터 섹터가 처리될 때마다 저장된다. 따라서, 타임키핑 맵은, 전체 블록이 처리되지 않았더라도 처리된 모든 섹터에 대한 재생 시간 참조를 포함한다. 실제 오디오 데이터를 처리하지 않고 타임키핑 맵은 생성할 수 있는 이점이 있다. 또한, 전형적인 MP3 파일 재생 시간의 약 1시간을 나타내는 4,096 워드(워드당 16비트) 순환 버퍼에 블록 시간을 저장할 수 있다.
본 발명에 따른 프로세스에서, 헤더 프레임을 뒤따르는 데이터 프레임에 대한 압축율 또는 비트율이 먼저 판독된다. 일실시예에서 타임키핑이 섹터 단위로 수행되기 때문에, 재생 시간(TS)이 섹터당 계산된다. 단일 MP3 데이터 프레임은 하나의 512바이트 섹터보다 크거나 작을 수 있으며, 이에 따라 필요시에 섹터당 재생 시간(TS)을 계산하도록 내삽이 완료된다. 또한, 재생 시간은 64개 섹터의 데이터블록마다 타임키퍼 맵에 저장되기 때문에, 본 발명은 블록당 재생 시간(TB)을 계산한다. 재생 시간(TB)은 처리되는 각 데이터 섹터마다 현재 블록에 대하여 계산되어, 재생 시간은, 각 블록이 완료된 후가 아니라 각 블록이 처리될 때 각 섹터에 대하여 이용가능하게 된다. 현재 블록에 대한 재생 시간(TB)은 순환 버퍼(25)내의 타임키퍼 맵에 저장된다. 이후, 프로세스는 다음 데이터 세그먼트를 위해 반복된다.
포워드 또는 백워드로 이송되는 각 데이터 섹터에 대하여, 프로세스는 오디오 데이터 파일의 경과 재생 시간을 계산 및 표시한다. 특히, 본 발명은 데이터 블록용 재생 시간(TB)을 검색하며, 이것은 현재 데이터 섹터를 포함하고 있다. 경과 재생 시간(T1)은 증분되어 이송되고 있는 현재 데이터 섹터의 재생 시간에 가산되거나 그 데이터 섹터로부터 감산된다. 따라서, 현재 데이터 블록에 대한 재생 시간은 블록 수 즉 1/64에 의해 승산되며, 그 이유는 이 실시예에서 블록당 64개의 섹터가 있기 때문이다. 이후, 섹터 재생 시간은 재생 또는 포워드 스캔 모드용으로 경과 재생 시간(T1)에 가산되거나, 백워드 스캔 모드용으로 T1으로부터 감산된다 (T2 = T1 ±TB*(블록의 수)). 재생 시간(T1)은 선형 버퍼(11)에 상주하는 데이터의 시간 길이(△T)에 대하여 조정되며, 이것은 TB에 의해 승산된 블록에서의 선형 버퍼(11)의 크기와 동일하다(T2 = T1 - △T; △T = 블록에서의 선형 버퍼의 크기 * TB). 따라서, T2는, 현재 천이되고 있으며 DSP(12)에 존재하는 오디오 데이터의 경과 재생 시간을 나타낸다. 이후, 경과 재생 시간(T2)이 오디오 데이터 플레이어(10)의 표시 장치 상에 표시된다.
오디오 데이터 플레이어(10)의 일실시예에서, 소량의 포워드 재생이 백워드 스캔 모드동안 대량의 백워드 스키핑과 교번된다. 따라서, 포워드 재생 및 백워드 재생동안의 데이터의 이송 동안, 오디오 데이터 플레이어(10)는 도 8 및 도 9에 도시한 흐름도에 따라 이송되고 있는 재생 시간의 추정값을 가산 및 감산한다. 또한, 본 발명의 타임키핑 방법은 반복 A/B 특성을 이용할 수도 있다. 오디오 데이터 파일의 재생이 진행될 때, 사용자는 반복 구간이 시작되는 포인트 A를 선택할 수 있으며, 반복 구간이 끝나는 포인트 B를 선택할 수 있다. 사용자가 포인트 A를 선택하면, 섹터에서의 오디오 데이터 파일 위치가 저장되고 추정 경과 재생 시간인 밀리초 단위로 저장된다. 오디오 데이터 파일의 재생이 포인트 B로부터 다시 포인트 A로 스킵될 때마다, 경과 재생 시간은 저장된 값으로 리셋되고 재생이 포인트 A로부터 다시 진행되어, 후술하는 방식에 따라 타임키핑된다.
본 발명에 따른 프로세스를 보다 상세히 설명한다. 도 8을 참조하면, 재생 및 포워드 스캔 모드와 함께 타임키핑 맵을 동시에 생성하는 프로세스의 흐름도가 도시되어 있다. 단계 804에서, 데이터의 다음 샘플/세그먼트, 이 경우에는 데이터의 1바이트가 버퍼 내에 로드된다. 단계 806에서, 데이터의 바이트를 버퍼 내에 로드함으로써 데이터 파일의 끝에 도달하였는지 여부를 결정한다. 도달하였다면, 프로세스는 단계 808에서 종료된다. 도달하지 않았다면, 프로세스는, 단계 810에서 데이터 세그먼트의 가장 최근의 로드에 의해 프레임 헤더가 버퍼 내에 로드되었는지 여부를 결정한다. 비트 시퀀스를 그 프레임 헤더와 관련된 비트 시퀀스와 비교함으로써 프레임이 로드되었는지 여부를 결정한다. 버퍼가 프레임 헤더를 갖지 않는다면, 프로세스는 단계 812로 진행하여 하나의 데이터 샘플/세그먼트만큼 진행하고 이후 단계 824로 진행하여 예를 들어 리버스 모드로 변경함으로써 동작 모드에 임의의 변경이 있었는지 여부를 결정한다. 리버스 모드가 선택되었다면, 프로세스는 도 9에 도시한 바와 같이 리버스 모드에서의 경과 시간을 결정하기 위한 프로시저로 진행된다.
단계 810에서 결정된 바와 같이 프레임 헤더가 버퍼 내에 로드되었다면, 816에서 및 단계 818에서 데이터의 각 블록용 경과 시간을 계산한다. 시간 프로세스는 단계 814에서 프레임 비트율을 판독하고, 소정의 파일에 대하여 일정한 프레임당 경과한 단계에서의 각 섹터용 경과 시간을 계산하는 것을 상기하기 바란다. 따라서, 섹터용 시간은, 프레임당 일정한 시간에 의해 승산된, 섹터에서의 프레임 헤더의 수가 될 수 있다. 프로세스가 소정의 블록내에서 섹터를 이송함에 따라, 프로세스는 그 블록에서 진행되는 시간, 및 그 블록에서의 섹터 수를 계속 카운트한다. 이후 블록 시간을 추정하기 위해, 프로세스는 프레임 시간을 64로 승산하고, 그 블록에서 섹터 수로 나눈다. 그 블록의 최종 섹터에 대하여 블록 시간의 이 추정값이 정확하다는 것을 주목하길 바라며, 이것은 맵에 입력되는 최종 추정값이다. 단계 820에서, 프로세스는 계산된 값으로부터 타임키핑 맵을 생성하고 그 데이터를 저장한다. 단계 822에서, 시스템은 소정 양의 데이터를 다음 프레임 헤더 시작 근처인 포인트로 진행한다. 각 프레임 크기는 그 헤더에 주어진 파라미터로부터 알려져 있다. 상기 다음 프레임 헤더 근처로 진행하여 데이터에서의 잠재적인 폴스(false) 헤더 코드를 피하고, 헤더 코드 존재 가능성이 매우 낮은 헤더 코드를 검증하는 계산 시간을 절약하는 이점을 갖는다.
또한, 단계 824에서, 이 단계는, 동작 모드가 포워드 동작 모드로부터 변경되었는지 여부를 결정한다. 변경되었다면, 프로세스는 도 9에 따라 단계 826으로 진행하여 경과 시간을 결정하고 표시하는 단계를 수행한다. 동작 모드가 변경되지 않았다면, 시스템은 프로세스의 시작을 단계 804에서 진행하여 상기한 단계들을 반복한다. 폴스 헤더 코드를 피하는 다른 방식은, 일련의 트루(true) 헤더가 획득되었다는 신뢰를 나타내는 신뢰 측정값을 생성하는 것이다. 신뢰 측정값이 매우 낮으면, 프로세스는, 단계 822를, 단계 812에서처럼 하나의 세그먼트/샘플만을 진행하는 단계로 대체하도록 구성되어도 된다. 또한, 이 프로세스는, 파일 간에 가변될 수 있지만 소정의 파일에 대하여 일정해야 하는 헤더에 주어진 파라미터를 체크해야 한다. 이러한 노력에 의해 일련의 트루 헤더를 빠르게 획득하는 가능성이 최대화된다.
도 9는, 플레이어가 리버스 모드에서 동작하고 있을 때 경과 시간을 결정하고 표시하는 단계를 도시한다. 리버스 모드에서, 플레이어는, 소정의 시간 양으로 리버스 모드로 되돌아가고 경과 시간을 결정하기 위해 필요한 데이터를 얻도록 다시 소정의 프래그먼트동안 포워드로 진행함으로써 동작한다. 프로세스는, 단계 904에서, 하나의 섹터만큼 진행하거나 역진행한다. 단계 906에서, 프로세스는 데이터 블록당 시간을 검색하고 단계 908에서 데이터 블록당 시간을 64로 나눔으로써섹터당 시간을 결정한다. 단계 912에서, 프로세스는, 데이터가 포워드 또는 리버스 방향으로 액세스되었는지 여부를 결정한다. 리버스 방향으로 결정되었다면, 섹터당 시간은 현재 경과 시간으로부터 감산되고, 포워드 방향으로 결정되었다면, 섹터당 시간은 현재 경과 시간에 가산된다. 단계 916에서, 프로세스는 데이터 시작에 도달하였는지 여부를 결정한다. 데이터 시작에 도달하였다면, 프로세스는 단계 920에서 리버스 모드를 벗어나 단계 922에서의 포워드 처리로 진행한다. 데이터 시작에 도달하지 못했다면, 플레이어는 예를 들어 포워드 모드로 변경함으로써 동작 모드 변경이 요구되었는지 여부를 결정한다. 단계 918에서 포워드 모드가 결정되었다면, 프로세스는 단계 922에서의 포워드 처리 모드로 진행한다. 단계 918에서 포워드 모드가 결정되지 않았다면, 프로세스는 단계 904로 복귀함으로써 프로시저의 시작으로 복귀한다. 이러한 방식으로, 동작의 리버스 모드동안의 경과 시간이 결정된다. 각 섹터에 대한 추정 시간은 대략적이며 완전한 블록마다 이 블록에 대하여 계산된 경과 시간은 정확하다는 점을 주목하길 바란다.
도 10은, 포워드 또는 리버스 모드에서 플레이어(10)가 동작하고 있을 때 타임키핑 맵을 생성하지 않고 경과 시간을 결정하는 단계를 도시한다. 단계 1004에서, 프로세스는 플레이어가 포워드 또는 리버스 모드에 있는지 여부를 결정한다. 포워드 모드이라면, 즉, 일반적인 플레이 모드라면, 프로세스는 단계 1006으로 진행하며, 여기서 플레이어(10)내에 포함되어 있는 클록을 이용하여 경과 시간을 결정하게 된다. 단계 1010에서, 프로세스는 전체 포워드 시간을 갱신한다. 단계 1016에서, 프로세스는 처리되는 데이터 양을 판독하고, 단계 1022에서 이 프로세스는 포워드 방향으로 처리되는 전체 양을 갱신한다. 단계 1024에서, 평균 포워드 비트율("AFB")이 계산된다. 프로세스는, 일반적인 플레이에서 이송되는 모든 비트의 합을, 그 비트를 이송하는데 걸린 모든 시간의 합에 의해 나누어 AFB를 계산한다. 다른 방법으로, 프로세스는 가중 방식을 이용하여 AFB를 계산할 수 있으며, 여기서 계산 바로 전의 소정의 비트 수 및 이 비트 수와 관련된 시간의 전체 합이 시간상으로 더 떨어져 있는 그 비트 계산에 더 가중된다. 일반적인 플레이가 아직 발생하지 않았다면 그리고 패스트 포워드가 파일 시작으로부터 시작되었다면, 프로세스는 평균 비트율의 소정의 추정값으로 시작할 수 있다. MP3 파일에 대하여, 이것은 전형적으로 초당 128킬로비트이다. 단계 1026에서, 프로세스는 선택된 파일의 재생이 완료되는지 여부를 결정한다. 완료되었다면, 프로세스는 단계 1028에서 종료하고, 완료되지 않았다면, 프로세스는 단계 1004로부터 반복된다.
단계 1004에서 플레이어가 리버스 모드에서 동작하고 있지 않다고 결정되면, 프로세스는 단계 1008로 진행하여 플레이어가 포워드 또는 리버스 방향으로 데이터를 현재 처리중인지 여부를 결정한다. 이 데이터가 리버스 방향으로 처리되고 있지 않다면, 프로세스는, 단계 1012에서 진행된 데이터 양을 판독하고, 그 데이터 양을 단계 1024에서 결정된 평균 포워드 비트율로 나눔으로써 시간 변화를 결정한다. 단계 1008에서 결정된 바와 같이 그 데이터가 리버스 방향으로 처리중이라면, 프로세스는, 단계 1014에서 물러난 데이터 양을 판독하고, 그 물러난 데이터 양을 평균 포워드 비트율로 나눔으로써 경과 시간 변화를 결정한다. 또한, 단계 1026에서 선택된 파일의 데이터 처리가 완료되는지 여부를 결정한다. 완료되었다면, 프로세스는 단계 1028에서 종료하고, 완료되지 않았다면, 프로세스는 단계 1004로부터 반복된다.
상기한 타임키핑 방법에서는 재생 전에 타임키핑 맵을 프리컴파일할 필요가 없고 이에 따라 오디오 데이터 파일을 통한 추가 패스가 필요없지만, 본 발명의 일실시예는 재생 전에 컴파일되는 타임키핑 맵을 컴파일링하는 방법을 포함하여도 된다. 프리컴파일된 타임키핑 맵에 의해 오디오 데이터의 재생이 오디오 데이터 파일 내에서도 양호하게 시작될 수 있다. 또한, 오디오 데이터 파일을 판독할 수 있는 비율에 의해 DSP(12)가 제한되는 이벤트에서 오디오 데이터 파일의 보다 빠른 포워드 스캐닝이 가능해진다.
전형적인 타임키핑의 1초 정밀도에 가까운 타임키핑을 유지하는 16비트 맵 워드당 10초인 평균 매핑비를 갖는 계산 및 실험이 도시되었다. 이 매핑비는 초당 약 2비트이기 때문에, 전형적인 오디오 데이터 파일은, 매핑되고 있는 오디오 데이터 파일보다 작은 크기의 적어도 약 4배인 데이터 구조 또는 타임키핑 맵을 필요로 한다.
예시적인 실시예에서, 적절한 마이크로콘트롤러(22)는, NEC사에 의해 제조된 μPC78A4036를 포함하지만, 이에 한정되지 않는다. 마이크로콘트롤러(22)와 관련된 것은 메모리(23)로서, 이 경우, 48KB의 ROM이고, 또한 8BM의 RAM을 포함하는 버퍼 메모리(25)로서, 이 버퍼 메모리는 128kbps에서 7분의 버퍼링된 재생 시간을 제공하고 64kbps에서 14분의 버퍼링된 재생 시간을 제공한다. 적절한 DSP 유닛(12)은, 미국 텍사스주 댈라스에 소재하는 Texas Instruments, Inc.에서 제조한TMS320NC5410을 포함하지만, 이에 한정되지 않는다. 또한, DSP(12)는 관련된 메모리(11)를 포함하며, 이 경우 64KB의 RAM이다. 데이터 저장 장치(32)용으로 적절한 하드 드라이브는, 미국 뉴욕주 아몽크에 소재한 IBM 사가 제조한 MicrodriveTM를 포함하지만, 이에 한정되지 않는다. 예를 들어, 10GB 하드 드라이브는 128 kbps의 MP3 비트율에서 약 150시간의 오디오, 또는 64kbps의 비트율에서 300시간의 오디오를 제공한다.
본 발명이 예시적인 실시예로 설명되었지만 본 발명의 사상으로부터 벗어나지 않고 설명한 실시예를 수정 및 변경할 수 있다는 것은 당업자에게 자명할 것이다. 예를 들어, 오디오 플레이어(10) 내에 고정 배치된 데이터 저장 장치(32)를 참조하여 본 발명을 설명하였지만, 본 발명은 플래시 메모리, 다른 고정된 저장 장치, 광학 장치, 또는 오디오 플레이어(10)에 접속되거나 탈착되거나 고정되도록 구성되는 메모리 카드를 이용하여 구현될 수 있으며, 여기서 디코더 프로그램 및 오디오 데이터 파일은 음악 관리 소프트웨어에 의해 메모리 카드 상에 로드된다. 또한, 적절한 디코더 프로그램 및 오디오 데이터 파일을 로드하는 특징은, 종래에 공지되어 있는 프로그래밍 방법중 임의의 하나, 또는 이들 프로그래밍 방법의 조합을 이용하여 음악 관리 소프트웨어에서 구현될 수 있는 것으로 인식된다. 또한, 오디오 데이터 플레이어를 참조하여 설명되었지만, 본 발명은 임의의 휴대용 데이터 처리 장치, 예를 들어, 비디오 디스플레이 장치에 적용될 수 있으며, 여기서 데이터는 복수의 데이터 인코딩 포맷중 임의의 하나를 이용하여 인코딩될 수 있다. 따라서, 본 발명은 모든 수정을 포함하면서 청구범위에 의해서만 한정된다.

Claims (13)

  1. 상이한 압축율을 가질 수 있는 데이터 부분들을 포함하는 오디오 데이터 파일의 처리동안, 오디오 데이터 플레이어(10)에서 상기 오디오 데이터 파일의 경과 재생 시간을 감시하는 방법으로서,
    이송되는 각 데이터 부분의 크기 및 압축율을 결정하는 단계와,
    상기 이송되는 각 데이터 부분의 크기 및 압축율에 기초하여 상기 이송되는 각 데이터 부분의 재생 시간을 계산하는 단계와,
    상기 계산에 따라 상기 재생 시간을 상기 오디오 데이터 플레이어의 디스플레이 상에 표시하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 결정하는 단계는, 내삽에 의해 현재 데이터 부분 내에서의 경과 시간을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 이송되는 각 데이터 부분의 상기 재생 시간을 타임키핑 맵에 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 이송되는 각 데이터 부분의 재생 시간에 따라 경과 재생 시간 카운터를 조절하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 계산하는 단계는, 오디오 데이터 디코더에 입력을 공급하는 버퍼에 대한 입력에서 경과 재생 시간을 계산하는 단계를 포함하고,
    상기 경과 재생 시간은 상기 버퍼 내에 포함된 데이터의 추정 재생 시간을 감산함으로써 조절되는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 압축율은 상기 오디오 데이터 파일의 데이터 프레임 헤더 내에 저장된 비트율에 따라 결정되며,
    신뢰 추정기는 프레임 헤더를 지정하며 이에 따라 상기 비트율을 지정하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 압축율은 상기 오디오 데이터 파일의 데이터 프레임 헤더에 저장된 비트율에 따라 결정되며,
    간격 스키퍼는 프레임 헤더를 지정하며 이에 따라 상기 비트율을 지정하는것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    각 데이터 부분은 고정 시간 길이의 오디오 데이터 및 가변 길이의 데이터를 포함하고,
    상기 데이터의 길이는 각 데이터 부분의 압축율에 의해 결정되는 것을 특징으로 하는 방법.
  9. 오디오 데이터 파일을 갖는 데이터 저장 장치, 및 오디오 디코더에 접속된 마이크로콘트롤러와,
    상기 데이터 저장 장치에 접속되어 오디오 데이터의 스트리밍을 버퍼링하는 제1 버퍼와,
    순환 버퍼로부터 출력되는 오디오 데이터의 각 부분에 대한 경과 재생 시간을 계산하는 타임키퍼와,
    상기 제1 버퍼로부터 데이터를 수신하고 오디오 데이터의 시간 길이를 갖는 제2 버퍼를 포함하고,
    상기 오디오 디코더는 상기 제2 버퍼로부터 데이터를 수신하며, 상기 타임키퍼는 제1 버퍼로부터 출력되는 오디오 데이터의 경과 재생 시간에서 상기 제 2 버퍼에 포함된 오디오 데이터의 시간 길이를 감산한 경과 재생 시간을 계산하는 것을 특징으로 하는 오디오 데이터 플레이어.
  10. 제9항에 있어서,
    상기 제1 버퍼는 순환 버퍼를 포함하는 것을 특징으로 하는 오디오 데이터 플레이어.
  11. 제10항에 있어서,
    상기 제2 버퍼는 선형 버퍼를 포함하는 것을 특징으로 하는 오디오 데이터 플레이어.
  12. 제10항에 있어서,
    상기 타임키퍼의 기능은 마이크로콘트롤러에서 구현되는 것을 특징으로 하는 오디오 데이터 플레이어.
  13. 제10항에 있어서,
    상기 마이크로콘트롤러에 의해 경과 재생 시간이 표시 장치 상에 표시될 수 있는 것을 특징으로 하는 오디오 데이터 플레이어.
KR1020047003347A 2001-09-06 2002-06-28 가변 비트율 디지털 인코딩 오디오 데이터 파일의 경과재생 타임키핑용 방법 및 장치 KR100913843B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US31757301P 2001-09-06 2001-09-06
US60/317,573 2001-09-06
PCT/US2002/020364 WO2003023785A2 (en) 2001-09-06 2002-06-28 Method and apparatus for elapsed playback timekeeping of variable bit-rate digitally encoded audio data files

Publications (2)

Publication Number Publication Date
KR20040044854A true KR20040044854A (ko) 2004-05-31
KR100913843B1 KR100913843B1 (ko) 2009-08-26

Family

ID=23234292

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047003347A KR100913843B1 (ko) 2001-09-06 2002-06-28 가변 비트율 디지털 인코딩 오디오 데이터 파일의 경과재생 타임키핑용 방법 및 장치

Country Status (10)

Country Link
US (1) US7283880B2 (ko)
EP (1) EP1423854B1 (ko)
JP (1) JP4746268B2 (ko)
KR (1) KR100913843B1 (ko)
CN (1) CN100350488C (ko)
AU (1) AU2002320173A1 (ko)
BR (1) BRPI0212368B1 (ko)
MX (1) MXPA04002148A (ko)
MY (1) MY128877A (ko)
WO (1) WO2003023785A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100807717B1 (ko) * 2006-01-17 2008-02-28 이영준 행사진행용 재생장치
US8000823B2 (en) 2007-01-12 2011-08-16 Samsung Electronics Co., Ltd. Audio playback time estimating apparatus and method

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003036541A1 (en) 2001-10-22 2003-05-01 Apple Computer, Inc. Intelligent synchronization for a media player
US8150937B2 (en) 2004-10-25 2012-04-03 Apple Inc. Wireless synchronization between media player and host device
US7680849B2 (en) 2004-10-25 2010-03-16 Apple Inc. Multiple media type synchronization between host computer and media device
US20080086494A1 (en) * 2006-09-11 2008-04-10 Apple Computer, Inc. Transfer and synchronization of media data
JP3660649B2 (ja) * 2002-06-07 2005-06-15 株式会社東芝 ファイル情報再生装置及びファイル情報再生方法
JP2004341430A (ja) * 2003-05-19 2004-12-02 Sony Corp 再生装置および再生方法、記録媒体、並びにプログラム
US20060206582A1 (en) * 2003-11-17 2006-09-14 David Finn Portable music device with song tag capture
EP1550942A1 (en) * 2004-01-05 2005-07-06 Thomson Licensing S.A. User interface for a device for playback of audio files
US10972536B2 (en) 2004-06-04 2021-04-06 Apple Inc. System and method for synchronizing media presentation at multiple recipients
US20070110074A1 (en) 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
US8443038B2 (en) 2004-06-04 2013-05-14 Apple Inc. Network media device
US8797926B2 (en) 2004-06-04 2014-08-05 Apple Inc. Networked media station
EP1615465A3 (en) * 2004-07-08 2016-07-27 LG Electronics, Inc. Music play control apparatus with an earphone comprising at least one earphone function key, and method thereof
KR100679022B1 (ko) 2004-10-18 2007-02-05 삼성전자주식회사 계층간 필터링을 이용한 비디오 코딩 및 디코딩방법과,비디오 인코더 및 디코더
EP1803302A4 (en) * 2004-10-18 2007-11-07 Samsung Electronics Co Ltd DEVICE AND METHOD FOR ADJUSTING THE BIT RATE OF A BINARY TRAIN EVOLUTIVE CODE BY MULTILAYER
US11314378B2 (en) 2005-01-07 2022-04-26 Apple Inc. Persistent group of media items for a media device
EP1679704A1 (en) * 2005-01-10 2006-07-12 Thomson Licensing Method and device for scanning the contents of a storage medium
TWI265450B (en) * 2005-02-03 2006-11-01 Asustek Comp Inc An audio signal switching apparatus
JP2006221714A (ja) * 2005-02-09 2006-08-24 Toshiba Corp 符号化ディジタルオーディオ再生装置
US20060182427A1 (en) * 2005-02-15 2006-08-17 Phison Electronics Corp. [multimedia player]
DE102005036286B4 (de) * 2005-08-02 2010-01-21 Continental Automotive Gmbh Verfahren zur Bestimmung der Wiedergabezeit komprimierter Audiodaten
US20070040808A1 (en) * 2005-08-22 2007-02-22 Creative Technology Ltd. User configurable button
KR100639110B1 (ko) * 2005-09-09 2006-10-31 주식회사 코아로직 프레임 단위로 이루어진 오디오 스트림 데이터의 시간정보산출방법
US7603434B2 (en) * 2006-04-13 2009-10-13 Domingo Enterprises, Llc Central system providing previews of a user's media collection to a portable media player
US20070244985A1 (en) * 2006-04-13 2007-10-18 Concert Technology Corporation User system providing previews of a user's media collection to an associated portable media player
US8316081B2 (en) 2006-04-13 2012-11-20 Domingo Enterprises, Llc Portable media player enabled to obtain previews of a user's media collection
US7873424B1 (en) 2006-04-13 2011-01-18 Honda Motor Co., Ltd. System and method for optimizing digital audio playback
KR101254320B1 (ko) * 2006-09-21 2013-04-12 삼성전자주식회사 미디어 파일의 정확한 재생시간을 표시하는 전자장치 및 그방법
US9083994B2 (en) 2006-09-26 2015-07-14 Qualcomm Incorporated Method and system for error robust audio playback time stamp reporting
WO2008058257A2 (en) * 2006-11-08 2008-05-15 Mywaves, Inc. An apparatus and method for dynamic streaming of multimedia files
US8019451B2 (en) * 2006-11-22 2011-09-13 Target Brands, Inc. Financial transaction product with media player
US8631088B2 (en) 2007-01-07 2014-01-14 Apple Inc. Prioritized data synchronization with host device
US20080168525A1 (en) * 2007-01-07 2008-07-10 David Heller Background Data Transmission between Media Device and Host Device
US8850140B2 (en) 2007-01-07 2014-09-30 Apple Inc. Data backup for mobile device
US8264934B2 (en) * 2007-03-16 2012-09-11 Bby Solutions, Inc. Multitrack recording using multiple digital electronic devices
US7975225B2 (en) * 2007-05-02 2011-07-05 Microsoft Corporation Iteratively locating a position corresponding to a desired seek time
JP5130809B2 (ja) * 2007-07-13 2013-01-30 ヤマハ株式会社 楽曲を制作するための装置およびプログラム
CN101110247B (zh) * 2007-08-17 2011-04-20 华为技术有限公司 音频文件的播放方法及装置
CN101419484B (zh) * 2007-10-24 2012-05-16 鸿富锦精密工业(深圳)有限公司 复合音频接口机箱
JP2009139531A (ja) * 2007-12-05 2009-06-25 Oki Semiconductor Co Ltd 音声再生時間算出方法
US8543230B2 (en) 2008-05-30 2013-09-24 Nokia Corporation Optimizing seek functionality in media content
JP5553533B2 (ja) * 2009-06-08 2014-07-16 キヤノン株式会社 画像編集装置およびその制御方法およびプログラム
JP2011049650A (ja) * 2009-08-25 2011-03-10 Canon Inc 画像処理装置及び画像処理方法
US9237294B2 (en) 2010-03-05 2016-01-12 Sony Corporation Apparatus and method for replacing a broadcasted advertisement based on both heuristic information and attempts in altering the playback of the advertisement
US9832528B2 (en) 2010-10-21 2017-11-28 Sony Corporation System and method for merging network-based content with broadcasted programming content
CN104301783B (zh) * 2014-10-27 2018-06-15 科大讯飞股份有限公司 音频文件的生成方法、播放方法及装置
US10783929B2 (en) 2018-03-30 2020-09-22 Apple Inc. Managing playback groups
US11297369B2 (en) 2018-03-30 2022-04-05 Apple Inc. Remotely controlling playback devices
US10993274B2 (en) 2018-03-30 2021-04-27 Apple Inc. Pairing devices by proxy
US10614857B2 (en) 2018-07-02 2020-04-07 Apple Inc. Calibrating media playback channels for synchronized presentation

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3248380B2 (ja) 1994-12-15 2002-01-21 ソニー株式会社 データ復号化装置およびデータ復号化方法
KR0176638B1 (ko) * 1995-07-11 1999-04-15 김광호 메모리 오디오 녹음/재생기의 시간코드 자동발생 장치 및 방법
US5715176A (en) * 1996-01-23 1998-02-03 International Business Machines Corporation Method and system for locating a frame position in an MPEG data stream
JP3232052B2 (ja) 1997-10-31 2001-11-26 松下電器産業株式会社 画像復号化方法
EP0917143B1 (en) 1997-11-11 2004-01-02 Deutsche Thomson-Brandt Gmbh Method and apparatus for controlling the buffering of a data stream
JP2000295575A (ja) 1999-04-06 2000-10-20 Sony Corp 磁気記録再生方法及び装置
EP1367591B1 (en) * 1999-04-07 2011-03-09 Pioneer Electronic Corporation Digital data recording medium and apparatus
GB9919188D0 (en) 1999-08-14 1999-10-20 Koninkl Philips Electronics Nv Disc playback status display

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100807717B1 (ko) * 2006-01-17 2008-02-28 이영준 행사진행용 재생장치
US8000823B2 (en) 2007-01-12 2011-08-16 Samsung Electronics Co., Ltd. Audio playback time estimating apparatus and method

Also Published As

Publication number Publication date
AU2002320173A1 (en) 2003-03-24
KR100913843B1 (ko) 2009-08-26
US20040249489A1 (en) 2004-12-09
CN100350488C (zh) 2007-11-21
JP4746268B2 (ja) 2011-08-10
WO2003023785A3 (en) 2003-07-10
US7283880B2 (en) 2007-10-16
WO2003023785A2 (en) 2003-03-20
MXPA04002148A (es) 2004-06-29
EP1423854B1 (en) 2011-10-05
BR0212368A (pt) 2004-08-17
JP2005502921A (ja) 2005-01-27
MY128877A (en) 2007-02-28
BRPI0212368B1 (pt) 2015-06-30
EP1423854A2 (en) 2004-06-02
CN1550013A (zh) 2004-11-24

Similar Documents

Publication Publication Date Title
KR100913843B1 (ko) 가변 비트율 디지털 인코딩 오디오 데이터 파일의 경과재생 타임키핑용 방법 및 장치
KR100889438B1 (ko) 자동적 균등화 모드 활성화를 위한 방법 및 장치
US20030158737A1 (en) Method and apparatus for incorporating additional audio information into audio data file identifying information
KR100913844B1 (ko) 디지털 오디오 플레이어에서 사용자 인터페이스 및네비게이션 작업을 지원하기 위한 m3u 파일 포맷의 확장
JP6506125B2 (ja) オーディオ識別子を用いたプレイリストの作成
KR100917086B1 (ko) 디지털 오디오 데이터 플레이어에서 인덱싱 재생목록을생성하는 방법 및 장치
US7667123B2 (en) System and method for musical playlist selection in a portable audio device
MXPA01010909A (es) Reproductor de audio digital personal de formato multiple.
EP1239480A2 (en) Information reproduction apparatus and method for erasing program data
KR100366243B1 (ko) 컴퓨터 음악파일 데이터의 기록 및 재생방법과 그 장치
WO2003058625A1 (en) Method and apparatus for creating and editing audio playlists in a digital audio player
JP2005038541A (ja) コンテンツデータ記録再生装置及びコンテンツデータ記録再生方法
JP2002100120A (ja) 音楽データの曲間制御方法、情報処理装置及び音楽データの曲間制御プログラム
TWI285317B (en) A system and method for generating a playlist
JP2006338830A (ja) データ再生装置、データ再生方法、および、プログラム
KR20070005364A (ko) 재생리스트 파일 제공방법

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130722

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140722

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150717

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160720

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180718

Year of fee payment: 10