KR100655034B1 - 반도체 메모리카드, 재생장치, 기록장치, 재생방법, 기록방법 - Google Patents

반도체 메모리카드, 재생장치, 기록장치, 재생방법, 기록방법 Download PDF

Info

Publication number
KR100655034B1
KR100655034B1 KR1020017001174A KR20017001174A KR100655034B1 KR 100655034 B1 KR100655034 B1 KR 100655034B1 KR 1020017001174 A KR1020017001174 A KR 1020017001174A KR 20017001174 A KR20017001174 A KR 20017001174A KR 100655034 B1 KR100655034 B1 KR 100655034B1
Authority
KR
South Korea
Prior art keywords
aob
playback
audio
tki
track
Prior art date
Application number
KR1020017001174A
Other languages
English (en)
Other versions
KR20010085310A (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 KR20010085310A publication Critical patent/KR20010085310A/ko
Application granted granted Critical
Publication of KR100655034B1 publication Critical patent/KR100655034B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on 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/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • 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/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
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/16Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32106Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title separate from the image data, e.g. in a different computer file
    • H04N1/32112Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title separate from the image data, e.g. in a different computer file in a separate computer file, document page or paper sheet, e.g. a fax cover sheet
    • 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/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B2020/1218Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
    • G11B2020/1225Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc frame, i.e. a subunit of a sector containing user data, e.g. a sync frame
    • 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/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1265Control data, system data or management information, i.e. data used to access or process user data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/17Card-like 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3261Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of multimedia information, e.g. a sound signal
    • H04N2201/3264Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of multimedia information, e.g. a sound signal of sound signals

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Abstract

반도체 메모리카드는 복수의 트랙과 그 트랙들의 재생순서를 나타내는 플레이리스트 정보로 구성된 복수의 오디오 오브젝트(AOB)를 저장한다. 반도체 메모리카드는 또한 재개정보(PLMG_RSM_PL)로서 (1)반도체 메모리카드에 대하여 재생이 행해진 마지막에 어느 플레이리스트 정보가 사용되었는지를 나타내는 Playlist_Number와, (2)재생될 최종 트랙을 나타내는 Track_Number와, (3) 트랙의 시작과 관련하여 표현된 시간으로서 재생이 중단된 위치를 나타내는 Playback_Time을 저장한다.
반도체, 메모리 카드, 재개 정보, 트랙, 재생장치, 기록장치, 기록방법, 기록 매체

Description

반도체 메모리카드, 재생장치, 기록장치, 재생방법, 기록방법{SEMICONDUCTOR MEMORY CARD, PLAYBACK APPARATUS, RECORDING APPARATUS, PLAYBACK METHOD AND RECORDING METHOD}
본 발명은 오디오 데이터와 제어 데이터를 저장하는 반도체 메모리카드 및, 이러한 반도체 메모리카드에 관련된 재생장치, 기록장치, 재생방법, 기록방법에 관한 것이다. 특히 본 발명은 전자음악 배포서비스와 같은 콘텐츠(content) 배포서비스에 의해 콘텐츠로 배포된 오디오 데이터와 제어 데이터의 저장의 개선에 관한 것이다.
사용자들은 전자음악 배포에 의해 인터넷을 통해 음악 콘텐츠(예컨대, 노래와 앨범)를 구매 및 수신할 수 있다. 이러한 기술은 기록된 음악에 대한 시장을 상당히 증가시킬 잠재력을 가지고 있으며, 필요한 하드웨어 기반이 충족됨에 따라 점차 가능해지고 있다. 전자음악 배포서비스로부터 얻어지는 음악데이터를 저장하는 하나의 방법은 그 휴대성 때문에 이상적인 것으로 만드는 반도체 메모리카드에 저장하는 것이다. 따라서 이러한 카드에 대한 요구가 상당한 증가할 것으로 예상된다.
플래시 ATA카드 및 컴팩트 플래시 카드와 같은 다양한 종류의 반도체 메모리 카드를 이용할 수 있다. 음악 콘텐츠는 또한 CD-R 또는 MD(Mini Disk)와 같은 디스크매체에 기록될 수도 있다. 음악 콘텐츠를 기록하기 위해 사용되는 기록매체에는 매우 많은 종류가 있으나, 음악 콘텐츠의 재생(트랙)이 시작되는 곳을 나타내는 방법에는 제한된 수의 방법만이 있다. 이러한 동작은 일반적으로 다음 중 어느 하나의 패턴에 따라 실행된다.
음악앨범이 복수의 음악콘텐츠(트랙)로 구성될 때 재생이 시작될 위치를 나타내는 주된 방법에는 두가지가 있다. 첫 번째 방법은 재생이 앨범의 제 1 트랙으로부터 시작하게 하는 것이다. 두 번째 방법은 사용자에게 트랙번호를 표시하게 하여 표시된 트랙의 처음부터 재생을 시작하게 하는 것이다.
이들 방법중 첫 번째 방법에서는 재생이 항상 동일 트랙에서 시작하고 동일한 순서로 앨범의 모든 트랙을 통해 계속된다. 만약 사용자가 앨범의 중간에서 재생을 중지시키면 이 방법에 따라 재생을 재개시켜도 재생장치는 제 1 트랙으로 복귀하게 된다.
두 번째 방법에서, 재생은 사용자에 의해 표시된 트랙에서 시작한다. 사용자가 앨범의 주어진 지점에서 재생을 중지하고 재생을 다시 한번 시작하면, 사용자는 임의의 트랙, 예를 들어, 재생이 중지되었던 트랙의 다음 트랙에서 재생을 시작하게 할 수 있다. 이것은 사용자가 처음부터 다시 한번 트랙을 들을 필요가 없다는 것을 의미한다. 그러나 후자의 경우에 사용자는 트랙번호를 입력하는 것과 같은 여러 동작을 하여야만 한다. 이것은 특히 사용자가 트랙이 어떤 트랙번호에 대응하는 지를 알지 못하면 문제가 될 수 있다. 이러한 경우에, 사용자는 잘못된 트랙을 표시할 수 있으며, 그러면 잘못된 트랙이 재생장치에 의해 다시 재생될 것이다.
상술한 바와 같이, 재생이 중단되었다가 재개되면 현재 사용되는 두 가지 방법은 사용자로 하여금 트랙 전부를 처음부터 순서대로 듣게 하거나, 또는 재생이 시작되는 트랙에 대한 트랙번호를 입력하게 한다. 이것은 결코 이상적인 것이 아니다.
다음의 두가지 방법은 또한 때때로 재생이 시작되는 위치를 나타내기 위해 사용된다. 세 번째 방법은 재생장치에 의해 제공되는 전방검색기능 또는 후방검색기능을 이용하여 사용자로 하여금 원하는 트랙내의 원하는 시작위치로 재생 위치를 이동시키도록 표시하게 하는 것이다. 네 번째 방법은 사용자로 하여금 조그다이얼(또는 그 유사한 것)을 이용하여 이 트랙내의 원하는 트랙 및 원하는 위치를 표시하게 하여, 이 지점부터 재생을 시작하게 하는 것이다. 양 방법은 모두 사용자로 하여금 재생이 이미 얼마만큼 진행되었는지를 표시하게 해주기 때문에 상술한 두 번째 방법과 동일한 결점을 갖는다.
현재의 미니디스크(MD) 재생장치는 상술한 첫 번째 내지 네 번째 방식보다 사용자 편의 방식으로 재생 위치를 표시하는 재생방법을 사용한다.
사용자가 MD의 재생을 중단하고, 재생이 중단된 위치를 나타내는 재개정보가 MD 플레이어 내의 비휘발성 메모리에 기록된다. 사용자가 동일한 MD의 재생을 지시하면 MD에 기록된 트랙의 재생이 재개정보 내에 주어진 위치에서 시작한다.
재개정보는 전원에 대한 차단이 정보의 손실을 초래하지 않도록 비휘발성 방식으로 MD 플레이어에 기록된다. 이것은 사용자가 음악앨범의 일부를 듣고, 플레이어를 끄고, 재생이 중단된 지점에서 재생을 재개시킬 수 있다는 것을 의미한다. 이 경우에, 사용자는 첫 번째 방법에서처럼 앨범의 처음에 있는 트랙을 반복적으로 들을 필요가 없거나, 앨범에 포함된 모든 트랙을 듣게 해주는 두 번째 방법에서처럼 트랙번호를 입력할 필요가 없게 해준다.
그러나 MD에 있어서는 앨범이 얼마나 많이 재생되었는지를 보여주는 재개정보가 MD플레이어의 하드웨어 내에 저장된다. 따라서 MD가 플레이어로부터 방출되어 다른 플레이어에 삽입될 때, 제 2 플레이어는 첫 번째 방법과 동일한 방식으로 앨범의 제 1 트랙부터 시작하는 MD상의 트랙을 재생할 것이다.
특정 예에서 처럼, 사용자가 제 1 재생장치를 이용하여 앨범의 트랙 일부를 듣고 그 디스크를 다른 재생장치에 옮기면, 제 2 재생장치는 그 디스크의 재생에 의해 도달된 위치를 나타내는 재개정보를 저장하지 않을 것이다. 결국, 재생은 앨범의 처음부터 시작하여 사용자가 동일한 트랙을 다시 듣게 할 것이다.
앨범의 재생중에 하나의 플레이어에서 다른 플레이어로 디스크가 옮겨지는 경우는 거의 없기 때문에 앨범의 처음으로 복귀하는 재생은 심각한 문제는 아닐 수 있다. 그러나 앨범이 기록매체상에 기록되기 전에 전자음악 배포되게 되면 앨범이 하나의 플레이어 상에서 부분적으로 재생된 다음 다른 플레이어로 옮겨지는 경우가 많을 것으로 생각된다.
전자적 음악배포는 사용자가 소유한 컴퓨터로 하여금 기록 라벨에 의해 동작되는 서버 컴퓨터로부터 음악앨범을 다운로드받게 함으로써 달성된다. 그러면 사용자는 다운로드된 앨범을 그들의 컴퓨터 상에서 재생시킬 수 있다. 현대의 개인용 컴퓨터는 음악 콘텐츠를 재생할 수 있기 때문에 사용자는 그들이 구매한 앨범을 컴퓨터상에서 들을 수 있다. 사용자가 앨범을 컴퓨터에서 들은 후 휴대형 재생장치에서 듣는다고 가정하자.
이 경우에, 휴대형 재생장치는 컴퓨터에 의한 재생이 어느 정도 진행되었는지를 알 수 없으므로 앨범은 다시 한번 처음부터 재생될 것이다. 사용자가 컴퓨터에 의해 재생되는 동일한 노래를 듣게 됨에 따라 사용자는 모든 트랙이 재생되는 경우보다 더 빨리 앨범에 싫증을 느끼게 될 것이다.
비록 용량은 커졌지만 기록매체가 소형화되고 경량화됨에 따라 점차 많은 수의 트랙을 포함하는 앨범을 하나의 기록매체에 기록할 수 있게 되었다. 이러한 기록매체는 종종 재생장치 사이에서 이동되는 경우가 빈번히 있을 것으로 여겨진다. 만약 다수의 트랙이 재생된 후 처음 위치에서 다시 재생이 된다면 듣는 사람은 매우 짜증이 날 것이다.
본 발명의 제 1 목적은 반도체 메모리카드가 재생장치 사이에서 옮겨지는 경우에도, 동일한 기록물이 재생되지 않고 또 사용자로 하여금 재생위치를 표시하게 하지 않고도 이전에 중단된 위치에서 재생을 가능하게 하는 반도체 메모리카드를 제공하기 위한 것이다.
본 발명의 제 2 목적은 동일한 기록물이 재생되지 않더라도 다른 재생장치에서 시작되는 앨범의 재생을 재생장치로 하여금 다시 시작하게 하는 반도체 메모리카드를 제공하기 위한 것이다.
본 발명의 상기 목적은, 반도체 메모리카드로, 복수의 오디오 오브젝트(audio object)를 배열하여 이루어지는 오디오 열(audio sequence)과, 사용자 조작을 통해서 설정된 제 1 재개위치를 나타내는 동시에, 전회의 재생 정지시에 자동으로 설정된 제 2 재개위치를 시간정보를 이용하여 나타내는 재개정보(resume information)와, 복수의 오디오 오브젝트와 1 대 1의 비율로 할당되어 있고, 각 엔트리 정보는 대응하는 오디오 오브젝트 내부에서의 y초 간격의 엔트리 위치를 나타내는 복수의 엔트리 정보가 기록되어 있고, 각 오디오 오브젝트는 복수의 오디오 프레임으로 이루어지며, 각 오디오 프레임은, x초에 상당하는 재생단위이며, 헤더부와 가변길이 부호방식으로 압축되어 있는 데이터부로 이루어지고, y초는 x초의 배 이상의 시간 길이인 것을 특징으로 하는 반도체 메모리카드에 의해 달성될 수 있다.
삭제
삭제
삭제
삭제
삭제
삭제
본 발명의 이들 목적 및 기타의 목적과 이점 및 특징은 본 발명의 특정 실시예를 예시한 첨부도면과 관련한 다음의 상세한 설명으로부터 명백해 질 것이다.
첨부한 도면은 다음과 같다.
도 1은 상부에서 본 플래쉬 메모리카드의 외관도,
도 2는 하부에서 본 플래쉬 메모리카드의 구성도,
도 3은 실시예에서의 플래쉬 메모리카드(31)의 계층구성도,
도 4A는 플래쉬 메모리카드(31)의 물리층에 구비된 특별영역, 인증영역 및 사용자 영역을 나타낸 도면,
도 4B는 파일시스템 레이어에서의 인증영역과 사용자영역의 구성도,
도 5는 파일시스템 레이어의 상세 구성도,
도 6은 AOB파일 "AOB001.SA1"이 5개의 부분으로 분할되어 클러스터 003, 004, 005, 00A, 00C에 저장될 때의 도면,
도 7은 AOB파일 "AOB001.SA1"이 복수의 클러스터에 기록될 때 디렉토리 엔트리와 파일할당표의 설정예를 도시한 도면,
도 8A 및 도 8B는 두 종류의 데이터가 어플리케이션 레이어에 기록될 때 파일시스템 레이어 내의 사용자 영역과 인증영역에 어떤 디렉토리가 구비되는지, 또 어떤 종류의 파일이 그 디렉토리에 기록되는지를 보여주는 도면,
도 9는 SD_Audio 디렉토리 내의 파일 "AOBSA1.KEY"와 AOB파일 사이의 대응관계도,
도 10은 AOB 파일내의 데이터의 계층구성도,
도 11A는 ISO/IEC 13818-7 표준에 의해 규정된 파라미터를 표형태로 나타낸 도면,
도 11B는 MPEG-레이어 3(MP3)으로 파일을 인코딩할 때 사용되는 파라미터를 표형태로 나타낸 도면,
도 11C는 윈도우 미디어 오디오(WMA; Window Media Audio)로 파일을 인코딩할 때 사용되는 파라미터를 표형태로 나타낸 도면,
도 12는 AOB_FRAME의 상세구성도,
도 13은 3개의 AOB_FRAME의 각각에 오디오 데이터의 바이트 길이가 어떻게 설정되는지를 보여주는 도면,
도 14는 AOB_ELEMENT에 포함된 AOB_FRAME의 수와 sampling_frequency 사이의 대응관계를 나타낸 도면,
도 15는 AOB_ELEMENT의 재생주기와 AOB_FRAME의 재생주기의 예시도,
도 16은 AOB파일에 기록된 AOB와 AOB_BLOCK이 연속적으로 재생될 때 무엇이 재생되는지를 보여주는 도면,
도 17은 실시예에 사용되는 플레이리스트 매니저와 트랙매니저의 상세 계층구성도,
도 18은 플레이리스트 매니저와 트랙 매니저의 크기를 나타낸 도면,
도 19는 도 17에 도시된 TKI와 도 16에 도시된 AOB 및 AOB파일 사이의 대응관계를 나타낸 도면,
도 20은 도 17에 도시된 TKTMSRT의 상세 데이터 구성도,
도 21은 TKTMSRT의 일례를 나타낸 도면,
도 22는 TKGI의 상세 구성도,
도 23A와 도 23B는 BIT의 구성도,
도 23C는 Time_Length 필드를 나타낸 도면,
도 24는 AOB_ELEMENT#1 ~ AOB_ELEMENT#4로 구성된 AOB가 저장된 클러스터 007 ~ 00E를 나타낸 도면,
도 25는 전방검색이 AOB내의 임의의 AOB_ELEMENT#y 내의 AOB_FRAME#x로부터 시작하여 실행될 때 재생될 다음 AOB_FRAME#x+1이 어떻게 설정되는지를 나타내는 도면,
도 26A 및 도 26B는 임의의 재생 시간 코드에 대응하는 AOB, AOB_ELEMENT, 및 AOB_FRAME이 어떻게 특정되는지를 보여주는 도면,
도 27A 및 도 27B는 트랙의 삭제를 나타내는 도면,
도 28A는 트랙삭제후 트랙 매니저가 수회 실행되는 것을 보여주는 도면,
도 28B는 "미사용" TKI가 트랙매니저에 존재할 때 새로운 TKI와 AOB 파일이 어떻게 기록되는지는 보여주는 도면,
도 29A 및 도 29B는 2개의 트랙이 새로운 트랙을 생성하도록 조합될 때 TKI가 설정되는 것을 보여주는 도면,
도 30A는 타입1 AOB의 도면,
도 30B는 타입2 AOB의 도면,
도 31A는 복수의 트랙을 타입1+ 타입2+ 타입2+ 타입1 AOB의 조합을 위한 단일 트랙에 결합하는 것을 보여주는 도면,
도 31B는 복수의 트랙을 타입1+ 타입2+ 타입2+ 타입2+ 타입1 AOB의 조합을 위한 단일 트랙에 결합하는 것을 보여주는 도면,
도 32A는 타입1 AOB가 선행트랙의 끝에 존재하고 타입1 AOB가 다음 트랙의 처음에 존재하는 패턴을 나타낸 도면,
도 32B는 타입1 AOB가 제 1 트랙의 끝에 존재하고 타입2 AOB가 다음 트랙의 처음에 존재하는 패턴을 나타낸 도면,
도 32C는 타입1 및 타입2 AOB가 제 1 트랙의 끝에 존재하고 타입1 AOB가 다음 트랙의 처음에 존재하는 패턴을 나타낸 도면,
도 32D는 타입1 및 타입2 AOB가 제 1 트랙의 끝에 존재하고 타입2 및 타입1 AOB가 다음 트랙의 처음에 존재하는 패턴을 나타낸 도면,
도 32E는 2개의 타입2 AOB가 제 1 트랙의 끝에 존재하고 타입1 AOB가 다음 트랙의 처음에 존재하는 패턴을 나타낸 도면,
도 33A 및 도 33B는 2개의 트랙을 생성하기 위해 트랙을 분할한 것을 나타낸 도면,
도 34A 및 도 34B는 트랙분할의 전후에 AOB 파일 "AOB003.SA1을 포함하는 SD_AUDIO 디렉토리 내의 SD_AUDIO 디렉토리 엔트리의 콘텐츠를 나타낸 도면,
도 35A는 AOB_ELEMENT#2의 AOB 중간에서의 분할을 나타낸 도면,
도 35B는 AOB_ELEMENT#2의 AOB 중간을 분할하여 얻어진 2개의 AOB, AOB#1, AOB#2를 나타낸 도면,
도 36은 AOB가 도 35에 도시된 바와 같이 분할되었을 때 BIT가 어떻게 설정되는지를 나타내는 도면,
도 37은 분할전후의 BIT의 특정 변경예를 나타낸 도면,
도 38은 분할전후의 TKTMSRT의 특정 변경예를 나타낸 도면,
도 39A는 DPL_TK_SRP의 포맷을 나타낸 도면,
도 39B는 PL_TK_SRP의 포맷을 나타낸 도면,
도 40은 Default_Palylist_Information, TKI, AOB파일 사이의 상관관계도,
도 41은 Default_Playlist와 수개의 PLI에 대한 설정예를 나타낸 도면,
도 42는 도 40과 동일한 표시법을 사용하여 DPL_TK_SRP가 TKI에 어떻게 대응 하는지를 나타내는 도면,
도 43A와 도 43B는 트랙의 순서가 어떻게 재정렬되는지를 나타낸 도면,
도 44A 및 도 44B는 DPL_TK_SRP#2 및 TKI#2가 도 40에 도시된 Default_Playlist로부터 삭제될 때 Default_Playlist, 트랙 매니저, 및 AOB 파일이 어떻게 갱신될 것인지를 나타내는 도면,
도 45A 및 도 45B는 "미사용" TKI와 DPL_TK_SRP가 존재할 때 새로운 TKI 및 DPL_TK_SRP가 어떻게 기록되는지를 보여주는 도면,
도 46A 및 도 46B는 트랙이 어떻게 결합되는지를 보여주는 도면,
도 47A 및 도 47B는 트랙이 어떻게 분할되는지를 보여주는 도면,
도 48은 본 실시예의 플래시 메모리카드(31)용의 휴대형 재생장치의 외관도,
도 49는 플레이리스트가 선택되었을 때 LCD패널에 디스플레이되는 예를 나타낸 도면,
도 50A 내지 도 50E는 트랙이 선택되었을 때 LCD 패널상에 디스플레이되는 예를 나타낸 도면,
도 51A 내지 도 51C는 조그다이얼의 동작예를 나타낸 도면,
도 52는 재생장치의 내부 구성도,
도 53은 2중버퍼(15)의 내외부로 데이터가 어떻게 전송되는지를 나타내는 도면,
도 54A 및 도 54B는 2중버퍼(15)의 영역이 링포인터를 사용하여 어떻게 주기적으로 할당되는지를 나타낸 도면,
도 55는 AOB파일 판독절차를 나타낸 흐름도,
도 56은 AOB파일 출력절차를 나타낸 흐름도,
도 57은 AOB파일 출력절차를 나타낸 흐름도,
도 58은 AOB파일 출력절차를 나타낸 흐름도,
도 59A 내지 도 59D는 LCD패널(5) 상의 재생시간 코드 프레임에 디스플레이된 재생시간 코드가 가변 플레이시간의 갱신에 따라 어떻게 갱신되는지를 나타내는 도면,
도 60은 전방검색기능이 사용될 때 CPU(10)의 처리를 나타낸 흐름도,
도 61A 내지 도 61D는 전방검색기능이 사용될 때 재생시간 코드가 어떻게 증가하는지를 보여주는 도면,
도 62A 및 도 62B는 시간검색 기능이 어떻게 사용되는지를 보여주는 특정예를 나타낸 도면,
도 63은 편집 제어프로그램에서의 처리를 보여주는 흐름도,
도 64는 편집 제어프로그램에서의 처리를 보여주는 흐름도,
도 65는 편집 제어프로그램에서의 처리를 보여주는 흐름도,
도 66은 플래시 메모카드(31)에 데이터를 기록하는 기록장치의 일례를 도시한 도면,
도 67은 기록장치의 하드웨어 구성도,
도 68은 기록중의 처리를 나타낸 흐름도,
도 69는 제 2 실시예에서의 플레이리스트 매니저와 트랙매니저의 내부 구성 도,
도 70은 플레이리스트 매니저_정보의 상세 구성도,
도 71은 제 2 실시예의 플래시 메모리카드가 복수의 재생장치 사이에서 옮겨질 때 PLMG_AP_PL 및 PLMG_RSM_PL이 어떻게 설정되는지를 보여주는 도면,
도 72는 PLMG_AP_PL의 사용자 설정과 활성설정을 수신하도록 사용된 메뉴화면을 도시한 도면,
도 73은 PLMG_AP_PL과 PLMG_RSM_PL에 기초하여 실행된 절차를 결정하는 재생위치를 보여주는 흐름도,
도 74는 PLI_RSM_PL(DPLI_RSM_PL)의 상위 6바이트가 DPLI용 DPLGI 및 PLI용 PLGI에 저장될 때 사용되는 데이터 구성도,
도 75는 PLI_RSM_PL(DPLI_RSM_PL)이 Default_Playlist_정보 및 각 PLI에 대하여 어떻게 설정되는지를 보여주는 도면,
도 76은 제 1 실시예에 의해 참조된 도 41에 도시된 플레이리스트에 의해 표시된 재생순서로 구성된 트랙열을 나타낸 도면,
도 77은 도 76의 재생범위 (1) 내지 (3)이 이미 재생되고 있는 경우에 대하여 PLI_RSM_PL의 설정과 함께 각 플레이리스트를 보여주는 메뉴화면의 일례를 나타낸 도면,
도 78은 본 발명의 제 4 실시예에 있어서의 DPLGI, PLGI, TKGI의 데이터 포맷도이다.
이하, 첨부도면을 참조하여 본 발명의 실시예인 반도체 메모리카드(플래시 메모리카드)에 대하여 설명하기로 한다.
다음 단락은 하기의 표기법으로 참조번호를 이용하여 하나의 계층으로 배열된다.
{x1-x2_x3-x4}
참조번호의 길이는 계층에서의 토픽의 레벨을 나타낸다. 특정한 예로서, 번호 x1은 설명에 인용되는 도면의 번호이다. 본 명세서에 첨부된 도면은 명세서에서 인용되는 순서대로 번호가 부여되어 있다. 따라서 도면의 순서는 대략적으로 설명의 순서와 일치한다. 어떤 도면의 설명은 섹션으로 나뉘어지기도 하는데, 참조번호 x2는 참조번호 x1로 나타낸 도면의 설명에서 섹션의 섹션번호를 부여한 것이다. 참조번호 x3은 섹션번호 x2에 의해 표시된 섹션을 상세히 나타내기 위해 제공되는 추가 도면의 번호를 나타낸다. 마지막으로 참조번호 x4는 이 추가도면의 설명에서의 섹션의 번호를 나타낸다.
(제 1 실시예)
{1-1_2} 플래쉬 메모리카드(31)의 외관
본 설명은 플래시 메모리카드(31)의 외관으로부터 시작한다. 도 1은 위에서 본 플래쉬 메모리카드(31)의 외관도이고, 도 2는 아래에서 본 플래쉬 메모리카드(31)의 구성도이다. 도 1 및 도 2에 도시된 바와 같이, 플래쉬 메모리카드(31)는 우표와 거의 동일한 크기이며 손으로 충분히 잡힐 정도의 크기를 가지고 있다. 대략적인 크기는 길이 32.0mm, 폭 24.0mm, 두께 2.0mm이다.
플래쉬 메모리카드(31)는 바닥의 가장자리에 카드를 호환되는 장치에 연결하기 위한 9개의 커넥터와 한쪽 측면에 사용자가 플래쉬 메모리카드(31)의 저장된 콘텐츠가 덮어쓰기가 되거나 되지 않도록 하는 것을 설정할 수 있도록 하는 보호 스위치(32)를 구비하고 있다.
{3-1} 플래쉬 메모리카드(31)의 물리적 구성
도 3은 본 실시예의 반도체 메모리카드(이하, "플래쉬 메모리카드(31)"라 함)의 계층구조도이다. 도 3에 도시된 바와 같이, 플래쉬 메모리카드(31)는 물리적 레이어(layer), 파일 시스템 레이어 및 어플리케이션 레이어로 구성되며, 이들 레이어의 논리적 물리적 구성이 DVD(Digital Video Disc)의 그것들과 매우 다르기는 하지만 DVD와 동일한 방식으로 구성된다.
{3-2} 플래쉬 메모리카드(31)의 물리적 레이어
이하, 플래쉬 메모리카드(31)의 물리적 레이어에 대하여 설명하기로 한다. 플래쉬 메모리는 복수의 섹터로 구성되며 이들 각각의 섹터는 512바이트의 디지털 데이터를 저장한다. 일례로서, 64MB의 플래쉬 메모리카드(31)는 67,108,864(=64×1,024×1,1024)바이트의 저장용량을 가지므로 이 카드는 131,072(=67108864/512)의 유효 섹터를 갖는다. 에러가 있는 경우에 사용하기 위해 구비되는 대체섹터의 수가 일단 감해지며, 여러 종류의 데이터가 기록될 수 있는 나머지 유효섹터의 수는 약 128,000이다.
{3-2_4A-1} 물리적 레이어 내의 3개의 영역
도 4A에 도시된 3개의 영역은 이들 유효 섹터로 구성된 저장영역 내에 구비된다. 이들 영역은 "특별영역", "인증영역", 및 "사용자 영역"이고 후술하기로 한다. 사용자 영역은 플래쉬 메모리카드(31)가 접속되는 장치가 다양한 종류의 데이터를 이 영역으로부터 자유롭게 판독하거나 기록할 수 있다는 점에서 특징이 있다. 사용자 영역 내의 영역은 파일 시스템에 의해 관리된다.
특별영역은 각 플래쉬 메모리카드(31)에 고유하게 할당된 값인 미디어 ID를 저장한다. 사용자 영역과 달리, 이 영역은 판독전용이므로 이 특별영역에 저장된 미디어 ID는 변경될 수 없다.
인증영역은 사용자 영역처럼 기록가능한 영역이다. 이 영역은 플래쉬 메모리카드(31)와 플래쉬 메모리카드(31)에 접속된 장치가 우선 서로 인증장치인 것을 확인하는 경우에만 플래쉬 메모리카드(31)에 접속된 장치가 인증영역을 액세스(즉, 데이터를 판독 또는 기록)할 수 있다는 점에서 사용자 영역과 다르다. 즉, 상호인증이 플래쉬 메모리카드(31)와 플래쉬 메모리카드(31)에 접속된 장치에 의해 성공적으로 수행되면 데이터가 인증영역으로부터 판독 또는 기록될 수 있을 뿐이다.
{3-2_4A-2} 물리적 레이어 내의 3개 영역의 사용
플래쉬 메모리카드(31)에 접속된 장치가 데이터를 플래쉬 메모리카드(31)에 기록하면 이 데이터를 저장하기 위해 사용된 영역은 기록되는 데이터에 대해 저작권 보호가 필요한 것인지의 여부에 따라 달라질 것이다. 저작권 보호를 필요로 하는 데이터가 플래쉬 메모리카드(31)에 기록되면 사용자 영역에 기록되기 전에 미리 정한 암호화키("파일키(FileKey)"라 함)를 사용하여 데이터가 암호화된다. 이 파일키는 저작권자에 의해 자유롭게 설정될 수 있는 반면, 이 파일키의 사용은 일정한 레벨의 저작권 보호를 제공하며, 기록된 데이터를 암호화하기 위해 사용되는 파일키는 저작권 보호를 보다 안전하게 하기 위해 그 자체가 암호화된다. 특별 영역에 저장된 미디어 ID를 미리 정한 계산법으로 계산함으로써 얻어진 임의의 값이 파일키를 암호화하기 위해 사용될 수 있다. 이러한 방식으로 생성된 암호화된 파일키는 인증영역에 저장된다.
저작권 보호를 필요로 하는 데이터는 미디어 ID에 기초하여 그 자체가 암호화된 파일키를 이용하여 데이터가 암호화되는 2단계의 암호화 과정을 거치기 때문에 데이터의 비인증 복사 행위와 같은 저작권의 침해는 매우 어려워진다.
{3-2_4B-1} 파일시스템의 개관
상술한 설명으로부터 알 수 있는 바와 같이, 플래쉬 메모리카드(31)의 물리적 레이어의 구성은 플래쉬 메모리카드(31)에 기록된 데이터의 저작권보호를 강화시킨다. 이하, 이 물리적 레이어에 존재하는 파일 시스템 레이어에 대해 설명하기로 한다. DVD의 파일 시스템 레이어는 UDF(Universal Disk Format)형 파일 시스템을 이용하지만 플래쉬 메모리카드(31)의 파일 시스템 레이어는 ISO/IEC 9293에 설명된 바와 같이 FAT(File Allocation Table)형 파일 시스템을 이용한다.
도 4B는 파일 시스템 레이어 내의 인증영역과 사용자 영역은 각각 "파티션 부트섹터", "파일 할당표(FAT)", "루트 디렉토리", 및 "데이터 영역"을 포함한다. 이것은 인증영역과 사용자 영역이 동일한 구성이라는 것을 의미한다. 도 5는 이들 파일 시스템의 여러 부분을 보다 상세히 도시한 것이다. 이하, 도 4A, 도 4B 및 도 5를 참조하여 사용자 영역의 구성에 대해 설명하기로 한다.
{3-2_4B-2} 파티션 부트섹터
파티션 부트섹터는 플래쉬 메모리카드(31)가 퍼스널 컴퓨터의 운영체제에 대한 부트섹터로서 설정되었을 때 플래쉬 메모리카드(31)에 접속된 표준 퍼스널 컴퓨터에 의해 참조되는 데이터를 저장하는 섹터이다.
{3-2_4B-3_5} 데이터 영역
데이터 영역은 "클러스터"보다 작지 않은 단위로 플래쉬 메모리카드(31)에 접속된 장치에 의해 액세스될 수 있다. 플래쉬 메모리카드(31) 내의 각 섹터는 크기가 512byte이나 클러스터 크기는 16KB이므로, 파일 시스템 레이어는 32섹터의 단위로 데이터를 판독 및 기록한다.
클러스터 크기가 16KB로 설정된 이유는 데이터가 플래쉬 메모리카드(31)에 기록될 때 기록이 실행될 수 있기 전에 플래쉬 메모리카드(31)에 저장된 데이터의 부분이 먼저 소거되어야만 하기 때문이다.
플래쉬 메모리카드(31)에서 소거될 수 있는 데이터의 최소량은 16KB이기 때문에 최소 소거가능한 크기를 클러스터 크기로 설정한다는 것은 데이터 기록이 적절하게 실행될 수 있다는 것을 의미한다. 도 5에서 점선을 이용하여 인출한 화살표 ff2는 데이터 영역에 포함된 복수의 클러스터 002, 003 ,004, 005 … 나타낸다. 도 5에서 사용된 번호 002, 003, 004, 005, 006, 007, 008 … 은 각 클러스터를 식별하기 위해 배타적으로 할당된 세자리의 16진수 클러스터 번호이다. 액세스가 실행될 수 있는 최소단위는 하나의 클러스터이기 때문에 데이터 영역 내의 저장위치는 클러스터 번호를 이용하여 표시된다.
{3-2_4B-4_5} 파일 할당 시스템
파일 할당시스템은 ISO/IEC 9293 표준에 따르는 파일 시스템 구성을 가지므로 복수의 FAT값으로 구성된다. 각 FAT값은 클러스터에 대응하며 어느 클러스터가 FAT 값에 대응하는 클러스터 다음에 판독되어야 하는지를 보여준다. 도 5에서 점선으로 표시한 화살표 ff1은 파일 할당표에 포함된 복수의 FAT값 002, 003, 004, 005, … 을 보여준다. 각 FAT값에 할당된 번호 002, 003, 004, 005 …의 번호는 어느 클러스터가 각 FAT값에 대응하는 것인지를 보여주므로 FAT에 대응하는 클러스터의 클러스터 번호이다.
{3-2_4B-5_5-1} 루트 디렉토리 엔트리
"루트 디렉토리 엔트리"는 어떤 종류의 파일이 루트 디렉토리에 존재하는지를 보여주는 정보이다. 특정 예로서 현존파일의 "파일명", 그것의 "파일 확장자", "수정 시간/날짜" 및 파일의 처음이 어디에 저장되는 지를 나타내는 "파일내 제 1 클러스터의 번호" 가 파일의 루트 디렉토리 엔트리로서 기록될 수 있다.
{3-2_4B-5_5-2} 서브디렉토리에 대한 디렉토리 엔트리
루트 디렉토리 내의 파일에 관한 정보는, 비록 서브디렉토리에 관한 정보가 루트 디렉토리 엔트리로서 기록되지 않더라도, 루트 디렉토리 엔트리로서 기록된다. 서브디렉토리에 대한 디렉토리 엔트리는 대신 데이터 영역에서 생성된다. 도 5에서, 데이터 영역에 주어진 SD_Audio 디렉토리 엔트리는 서브디렉토리에 대한 디렉토리 엔트리의 일 예이다. 루트 디렉토리 엔트리처럼 SD_Audio 디렉토리 엔트리는 이 서브디렉토리에 존재하는 파일의 "파일명", 그 "파일명 확장자", "수정 시간/날짜", 및 파일의 처음이 어디에 저장되는 지를 나타내는 "파일내 제 1 클러스터의 번호" 을 포함한다.
{3-2_4B-5_6-1} AOB 파일에 대한 저장 포맷
이하, 도 6을 참조하여 파일명 "AOB001.SA1"이 SD_Audio 디렉토리에 어떻게 저장되는지를 보여줌으로써 파일 저장방법을 설명하기로 한다. 데이터 영역이 액세스될 수 있게 하는 최소단위는 하나의 클러스터이기 때문에 파일 "AOB001.SA1"은 하나의 클러스터보다 작지 않은 부분으로 데이터 영역에 저장될 필요가 있다. 따라서 파일 "AOB001.SA1"은 먼저 클러스터로 분할되어 저장된다. 도 6에서 파일 "AOB001.SA1"은 클러스터 크기로 유지되는 5개의 부분으로 분할되며, 결과로서의 부분은 003, 004, 005, 00A 및 00C로 번호가 부여된 클러스터에 저장된다.
{3-2_4B-5_7-1} AOB 파일에 대한 저장 포맷
파일 "AOB001.SA1"이 부분으로 분할되어 저장될 때, 디렉토리 엔트리와 파일 할당표가 도 7에 도시된 바와 같이 설정될 필요가 있다. 도 7은 파일 "AOB001.SA1"가 부분으로 분할되어 저장될 때 디렉토리 엔트리와 파일 할당표가 어떻게 설정될 필요가 있는지의 일례를 도시한 도면이다. 도 7에서, 파일 "AOB001.SA1"의 처음은 클러스터 003에 저장되므로 클러스터 번호 003은 "파일의 제 1 클러스터 번호"로 SD_Audio 디렉토리 엔트리에 기록되어 파일의 첫 번째 부분을 저장하는 클러스터를 나타낸다. 도 7에 도시된 바와 같이, 파일 "AOB001.SA1"의 다음 부분은 클러스터 004와 005에 저장된다. 결국 FAT값 003(004)은 파일 "AOB001.SA1"의 첫번째 부분을 저장하는 클러스터 003에 대응하지만 그 값은 파일 "AOB001.SA1"의 다음 부분을 저장하는 클러스터로서의 클러스터 004를 나타낸다. 동일한 방식으로, FAT값 004(005), 005(00A)는 각각 파일 "AOB001.SA1"의 다음 부분들을 저장하는 클러스터 004 및 005에 각각 대응하지만 이들 값은 각각 파일"AOB001.SA1"의 다음 부분들을 저장하는 클러스터로서의 클러스터 005와 클러스터 006을 나타낸다. 도 7에서 화살표 fk1, fk2, fk3, fk4, fk5 …로 나타낸 순서로 이들 FAT값으로 기록된 클러스터 번호로 클러스터를 판독함으로써 파일 "AOB001.SA1"을 분할하여 생성된 모든 부분들을 판독할 수 있다. 상술한 바와 같이, 플래쉬 메모리카드(31)의 데이터 영역은 클러스터 단위로 액세스되며, 이들 각각은 FAT값과 관련된다. AOB 파일의 마지막 부분을 저장하는 클러스터(도 7에 도시된 예에서는 클러스터 00C)에 대응하는 FAT값은 대응 클러스터가 파일의 마지막 부분을 저장함을 보여주도록 클러스터 번호 FFF로 설정된다.
이것으로 본 발명의 플래쉬 메모리카드(31)에서의 파일 시스템의 설명을 마치기로 한다. 이하, 이 파일 시스템에 존재하는 어플리케이션 레이어에 대해 설명하기로 한다.
{3-3} 플래쉬 메모리카드(31)에서의 어플리케이션 레이어 개관
플래쉬 메모리카드(31)에서의 어플리케이션 레이어 개관이 도 3에 도시되어 있다. 도 3에서 점선으로 인출된 화살표 PN2로 나타낸 바와 같이, 플래쉬 메모리카드(31)에서의 어플리케이션 레이어는 프리젠테이션 데이터와, 프리젠테이션 데이터의 재생을 제어하기 위해 사용되는 네비게이션 데이터로 구성된다. 화살표 PN2로 나타낸 바와 같이, 프리젠테이션 데이터는 예컨대 음악을 대표하는 오디오 데이터 를 인코딩함으로써 생성되는 오디오 오브젝트(AOB 세트)를 포함한다. 네비게이션 데이터는 "PlaylistManager"(PLMG)와 "TrackManager"(TKMG)를 포함한다.
{3-3_8A,B-1} 디렉토리 구성
도 8A 및 도 8B는 2종류의 데이터가 어플리케이션 레이어에 저장될 때 파일 시스템 레이어 내의 사용자 영역과 인증영역에 어떤 종류의 디렉토리가 존재하는지와 어떤 파일들이 이들 디렉토리에 배열되는지를 나타낸 도면이다.
도 8A에서 파일명 "SD_AUDIO.PLM"과 "SD_AUDIO.TKM"은 네비게이션 정보를 구성하는 PlaylistManager(PLMG)와 TrackManager(TKMG)가 저장되는 파일을 나타낸다. 한편, 파일명 "AOB001.SA1", "AOB002.SA1", "AOB003.SA1", "AOB004.SA1" … 는 프리젠테이션 데이터인 오디오 오브젝트를 저장하는 파일("AOB" 파일)을 나타낸다. 파일명 "AOB0xx.SA1"의 파일명 확장자에서 문자 "SA"는 "Secure Audio"(안전한 오디오)의 약어이며, 이 파일의 저장된 콘텐츠가 저작권 보호를 필요로 한다는 것을 의미한다. 도 8A의 예에서는 8개의 AOB 파일만이 도시되어 있으나, 최대 999개의 AOB 파일이 SD_Audio 디렉토리에 저장될 수 있다.
프리젠테이션 데이터에 저작권 보호가 요구되면 "SD_Audio 디렉토리"라 불리는 서브디렉토리가 인증영역에 구비되며, 암호키 저장파일 "AOBSA1.KEY"가 이 SD_Audio 디렉토리에 생성된다.
도 8B는 "SD_Audio" 제목 하부(즉, "SD_Audio 디렉토리" 내부)에 저장되는 파일 "AOBSA1.KEY"를 저장하는 암호화키를 도시한 것이다. 이 암호화키 저장파일 "AOBSA1.KEY"는 복수의 암호화키를 미리 정한 순서로 배열함으로써 생성된 암호화 키의 열을 저장한다.
도 8A 및 도 8B에 도시된 SD_Audio 디렉토리는 전자음악 배포를 이용하는 기록 레이블에 의해 관리되는 서버 컴퓨터에 저장된다. 소비자가 음악 콘텐츠를 주문하면 대응 SD_Audio 디렉토리가 압축 및 암호화되어 공중 통신망을 통해 소비자에게 전송된다. 소비자의 컴퓨터는 이 SD_Audio 디렉토리를 수신하여 암호해독하고, 압축해제하여 원래의 SD_Audio 디렉토리를 얻는다. 여기에서 "공중 통신망(public network)"이란 ISDN과 같은 유선통신망, 이동통신 시스템과 같은 무선 통신망 등의 공중에 의해 사용될 수 있는 모든 통신망을 말한다. 또 소비자의 컴퓨터는 기록 레이블에 의해 동작되는 서버 컴퓨터로부터 AOB파일을 다운로드 받아 플래쉬 메모리카드(31)에 도 8A 및 도 8B에 도시된 바와 같은 SD_Audio 디렉토리를 생성할 수 있다.
{3-3_9-1} "AOBSA1.KEY"파일과 AOB 파일 사이의 대응
도 9는 SD_Audio 디렉토리내의 "AOBSA1.KEY"파일과 AOB 파일 사이의 대응을 나타낸 도면이다. 도 9에 도시된 사용자 영역내의 파일을 암호화할 때 사용되는 FileKey는 인증영역의 대응 암호화키 저장파일에 저장된다.
암호화 AOB 파일과 암호화키 저장파일은 후술하는 규칙 (1), (2), (3)에 따라 대응한다.
(1) 암호화키 저장파일은 암호화 파일이 저장되는 디렉토리와 동일 디렉토리명을 갖는 디렉토리에 배열된다. 도 9에서, AOB파일은 사용자 영역 내의 SD_Audio 디렉토리에 배열되며, 암호화키 저장파일은 이 규칙에 따라 인증영역 내에서 SD_Audio라 하는 디렉토리에 배열된다.
(2) 암호화키 저장파일은 미리 정한 ".key" 확장자를 가진 데이터 영역내의 AOB파일의 파일명의 처음 3개의 문자를 결합함으로써 생성된 파일명으로 주어진다. AOB의 파일명이 "AOB001.SA1"이면 암호화키 저장파일은 도 9의 화살표 nk1과 nk2로 도시한 바와 같이 처음 3개의 문자 "AOB", "SA1"과 확장자 ".key"를 더함으로써 생성된 파일명 "AOBSA1.KEY"로 주어진다.
(3) AOB파일의 파일명은 암호화키 저장파일에 주어진 암화화키 열 내의 오디오 오브젝트에 대응하는 FileKey의 위치를 나타내는 일련번호로 주어진다.
"파일키 엔트리 #1, #2, #3 … 은 암호화키 저장파일내의 각 FileKey가 저장되는 영역의 처음 위치를 나타낸다. 한편 AOB의 파일명은 일련번호 "001", "002", "003", "004", … 로 할당된다. 이들 일련번호는 암호화키 열의 대응 FileKey의 위치를 나타내므로, 각 AOB 파일을 암호화하기 위해 사용되는 FileKey는 동일한 일련번호를 갖는 "FileKey 엔트리"에 존재하게 된다. 도 9에서 화살표 Ak1, Ak2, Ak3, … 은 AOB파일과 FileKey 사이의 대응을 보여준다. 즉, 파일 "AOB001.SA1"은 저장위치가 "FileKey 엔트리#1"로 표시된 FileKey에 대응하며, 파일 "AOB002.SA1" 은 저장위치가 "FileKey 엔트리#2"로 표시된 FileKey에 대응하고, 파일 "AOB003.SA1" 은 저장위치가 "FileKey 엔트리#3"으로 표시된 FileKey에 대응한다. 규칙 (3)으로부터 알 수 있는 바와 같이, 다른 AOB파일을 암호화하기 위해 다른 FileKey가 사용되며, 이들 FileKey는 대응 AOB의 파일명으로 주어진 일련번호 "001","002", "003", "004" 등으로 "FileKey 엔트리"에 저장된다.
각각의 AOB 파일은 다른 FileKey를 사용하여 암호화되기 때문에 하나의 AOB파일을 위해 사용되는 암호화키가 노출되면 사용자는 다른 AOB 파일을 암호해독할 수 없게 될 수도 있다. 이것은 AOB이 암호화된 형태로 플래쉬 메모리카드(31)에 저장될 때 하나의 FileKey의 노출에 의해 야기되는 손해가 최소화될 수 있다는 것을 의미한다.
{3-3_10-1} AOB 파일의 내부구성
이하, AOB파일의 내부 구성에 대해 설명하기로 한다. 도 10은 AOB 파일의 계층적 데이터 구조를 도시한 도면이다. 도 10에서 제 1 레벨은 AOB파일을 도시한 것이나 제 2 레벨은 오디오 오브젝트(AOB) 자체를 나타낸 것이다. 제 3 레벨은 AOB_BLOCK을 나타내고, 제 4 레벨은 AOB_ELEMENT을 나타내며, 제 5 레벨은 AOB_FRAME을 나타낸다.
도 10의 제 5 레벨에서의 AOB_FRAME은 AOB를 구성하는 최소단위이며, ADTS(Audio Data Transport Stream) 포맷의 오디오 데이터와 ADTS 헤더로 구성된다. ADTS 포맷의 오디오 데이터는 MPEG2-AAC(낮은 복잡도의 프로파일) 포맷에 따라 암호화되며, 16kbps 내지 144kbps의 전송률로 재생될 수 있는 스트림 데이터이다. 종래의 컴팩트 디스크에 기록된 PCM(Pulse Code Modulation)에 대한 전송률은 1.5Mbps이므로 ADTS 포맷의 데이터는 일반적으로 PCM보다 낮은 전송률을 이용한다. AOB_FRAME 열의 데이터 구조는 전자음악 배포서비스에 의해 배포된 오디오 데이터 전송스트림에 포함된 오디오 프레임 열과 동일하다. 이것은 AOB_FRAME 열로서 저장될 오디오 데이터 전송스트림이 MPEG2-AAC 표준에 따라 암호화되어 공중망을 통해 소비자에게 전송된다는 것을 의미한다. AOB파일은 전송된 오디오 데이터 전송스트림을 AOB_FRAME 열로 분할하여 이들 AOB_FRAME을 저장함으로써 생성된다.
{3-3_10-1_11} MPEG-AAC
MPEG-AAC는 ISO/IEC 13818-7:1997(E) "정보기술-동화상 및 관련 오디오 정보의 총괄 코딩-7부 고급 오디오 코딩(AAC; Advanced Audio Coding)" 에 상세히 설명되어 있다.
오디오 오브젝트는 ISO/IEC 13818-7에 규정된 도 11A에 도시된 파라미터표의 파라미터를 이용하는 MPEG2-AAC에 따라 압축될 수 있을 뿐이다. 이 파라미터 표는 "파라미터" 컬럼, "값" 컬럼 및 "코멘트" 컬럼으로 구성되어 있다.
파라미터 컬럼에서 제목 "프로파일"은 ISO/IEC 13838-7에서 규정된 바와 같이 LC-프로파일만 사용될 수 있음을 보여준다. 파라미터 컬럼에서 제목 "sampling_frequency#index"는 샘플링 주파수 "48kHz, 44.1kHz, 32kHz, 24kHz, 22.05kHz 및 16kHz"가 사용된다는 것을 보여준다.
파라미터 컬럼에서 제목 "number_of_data_block_in_frame"은 하나의 raw_data_block에 대한 하나의 헤더의 비율이 사용된다는 것을 보여준다.
본 설명은 AOB_FRAME이 MPEG2-AAC 포맷에 따라 인코드되는 경우를 설명하였으나 그 대신 MPEG-레이어 3(MP3) 포맷 또는 윈도우 미디어 오디오(Window Media Audio; WMA)와 같은 다른 포맷에 따라 인코드될 수도 있다. 그렇게 하면 도 11B 및 도 11C의 파라미터 표에 나타낸 파라미터가 사용되어야만 한다.
{3-3_10-2_12} AOB_FRAME의 구성
각 AOB_FRAME은 상술한 제한에 따라 인코드된 오디오 데이터를 포함하지만 각 AOB_FRAME 내의 데이터 길이는 단지 20ms의 재생시간으로 한정된다. 그러나 MPEG2-AAC는 가변 비트레이트(variable bitrate; VBR) 인코딩 방법이기 때문에 각 AOB_FRAME의 오디오 데이터의 데이터 길이는 변할 것이다. 이하, 도 12를 참조하여 AOB_FRAME의 구성에 대해 설명하기로 한다.
도 12에서 제 1 레벨은 전체 구성을 나타내지만 제 2 레벨은 AOB_FRAME의 각 부분이 어떻게 암호화되는지를 보여준다. 도면으로부터 알 수 있는 바와 같이, ADTS 헤더는 비암호화 부분에 대응한다. 오디오 데이터는 암호화 부분과 비암호화 부분을 모두 포함한다. 오디오 데이터의 암호화 부준은 복수의 8바이트 암호화 데이터로 구성되고, 그 각각은 56비트 FileKey를 사용하여 8바이트 크기의 오디오 데이터를 암호화함으로써 생성된다. 암호화가 64비트 크기의 오디오 데이터로 실행되면 오디오 데이터의 비암호화 부분은 그것이 64비트보다 짧기 때문에 암호화될 수 없는 데이터의 최종부분이다.
도 12에서 제 3 레벨은 AOB_FRAME의 비암호화 부분에 있는 ADTS 헤더의 콘텐츠를 나타낸다. ADTS 헤더는 7바이트 길이이며, 12비트의 싱크워드(synch word)(FFF로 설정), AOB_FRAME에서의 오디오 데이터의 데이터 길이, 오디오 데이터가 인코드될 때 사용되는 샘플링 주파수를 포함한다.
{3-3_10-3_13} AOB_FRAME의 바이트 길이의 설정
도 13은 3개의 AOB_FRAME의 각각에 오디오 데이터의 바이트 길이가 어떻게 설정되는지를 나타낸다. 도 13에서, AOB_FRAME#1에 포함된 오디오 데이터#1의 데이터 길이는 x1이며, AOB_FRAME#2에 포함된 오디오 데이터#2의 데이터 길이는 x2이고, AOB_FRAME#3에 포함된 오디오 데이터#3의 데이터 길이는 x3이다. 데이터 길이 x1, x2, x3이 모두 다르면 데이터 길이 x1은 AOB_FRAME#1의 ADTS 헤더에 기록될 것이고, 데이터 길이 x2는 AOB_FRAME#2의 ADTS 헤더에 기록될 것이며, 데이터 길이 x3은 AOB_FRAME#3의 ADTS 헤더에 기록될 것이다.
비록 오디오 데이터가 암호화되더라도 ADTS 헤더는 아니므로 재생장치는 AOB_FRAME의 ADTS 헤더에 주어진 데이터 길이를 판독함으로써 AOB_FRAME내의 오디오 데이터의 데이터 길이를 알 수 있다.
이것으로 AOB_FRAME의 설명을 마치기로 한다.
{3-3_10-4} AOB_ELEMENT
이하, 도 10의 제 4 레벨에 나타난 AOB_ELEMENT에 대해 설명하기로 한다.
"AOB_ELEMENT"는 연속적인 AOB_FRAME의 그룹이다. AOB_ELEMENT에서 AOB_FRAME의 수는 도 11A에 도시된 sampling_frequency_index로서 설정된 값과 사용된 인코딩 방법에 따라 좌우된다. AOB_ELEMENT에서 AOB_FRAME의 수는 포함된 AOB_FRAME의 총재생시간이 약 2초가 되도록 설정되고, 그 수는 사용된 샘플링 주파수와 인코딩 방법에 따라 좌우된다.
{3-3_10-4} AOB_ELEMENT에서 AOB_FRAME의 수
도 14는 AOB_ELEMENT에 포함된 AOB_FRAME의 수와 샘플링 주파수 사이의 대응을 나타낸 도면이다. 도 14에 주어진 수 N은 AOB_ELEMENT의 재생주기를 초로 나타낸 것이다. MPEG-AAC가 인코딩 방법으로서 사용되면 N의 값은 "2"이다.
sampling_frequency가 48kHz이면 AOB_ELEMENT에 포함된 AOB_FRAME의 수는 94(=47×2)로 주어지나 sampling_frequency가 44.1kHz이면 AOB_ELEMENT에 포함된 AOB_FRAME의 수는 86(=43×2)으로 주어진다. sampling_frequency가 32kHz이면 AOB_FRAME의 수는 48(=24×2)로 주어지고, sampling_frequency가 22.05kHz이면 AOB_FRAME의 수는 44(=22×2)로 주어지며, sampling_frequency가 16kHz이면 AOB_FRAME의 수는 32(=16×2)로 주어진다. 그러나 AOB의 분할과 같은 편집작업이 실행되면 AOB의 처음 또는 마지막의 AOB_ELEMET에 포함된 AOB_FRAME의 수는 이러한 방식으로 계산된 수보다 작을 수 있다.
헤더가 없거나 다른 특별 정보가 각각의 AOB_ELEMENT에 제공되는 한, 각 AOB_ELEMENT의 데이터 길이는 시간 검색표로 대신 표시된다.
{3-3_10-6_15} AOB_ELEMENT와 AOB_FRAME의 재생주기의 일례
도 15는 AOB_ELEMENT와 AOB_FRAME의 재생주기의 일례를 나타낸 도면이다. 도 15에서 제 1 레벨은 복수의 AOB_FRAME을 나타내지만 제 2 레벨은 복수의 AOB_ELEMENT를 나타낸다. 제 3 레벨은 복수의 AOB_FRAME을 나타낸다.
도 15에 도시된 바와 같이, AOB_ELEMENT는 약 2.0초의 재생주기를 가지나 AOB_FRAME은 20밀리초의 재생주기를 갖는다. 각 AOB_ELEMENT에 주어진 "TMSRT_entry"는 각 AOB_ELEMENT의 데이터 길이가 시간 검색표에 주어진 것임을 나타낸다. TMSRT_entry를 참고함으로써 재생장치는 예컨대, 오디오 데이터를 240밀리초 반복적으로 재생하고, 원하는 방향으로 오디오 데이터를 2초간 스킵함으로써 음 악의 간헐적인 파열이 재생되는 곳을 전방 또는 후방 검색을 실행할 수 있다.
{3-3_10-7} AOB_BLOCK
이것으로 AOB_ELEMENT의 설명을 마치기로 한다. 이하, 도 10에 주어진 AOB 파일의 데이터 구조의 제 3 레벨에 도시된 AOB_BLOCK의 개념을 설명하기로 한다.
각각의 "AOB_BLOCK"은 유효 AOB_ELEMENT로 구성된다. 하나의 AOB_BLOCK만이 각 AOB_FILE내에 존재한다. AOB_ELEMENT는 약 2초의 재생주기를 가지지만 AOB_BLOCK은 8.4분의 최대 재생주기를 갖는다. 8.4분의 한계는 시간 검색표의 크기를 504바이트 이하로 한정한다.
{3-3_10-8} 시간검색표의 한계
이하, 재생주기를 한정함으로써 시간 검색표의 크기가 제한되는 이유를 상세히 설명하기로 한다.
재생장치가 전방 또는 후방 검색을 실행하면 재생장치는 240밀리초를 재생하기 전에 2초의 오디오 데이터를 건너뛴다. 2초의 데이터를 건너뛰면 재생장치는 AOB_FRAME의 ADTS 헤더에 나타낸 데이터 길이를 이론적으로 참조할 수 있으며, 이것은 재생장치가 2초의 오디오 데이터를 건너뛰도록 100개(2초/20밀리초)의 AOB_FRAME을 연속적으로 검색해야만 한다는 것을 의미한다. 이에 따라 재생장치에 과도한 처리 부하가 가해진다.
재생장치의 처리부하를 감축시키기 위해 전방 또는 후방검색을 실행할 때 재생장치에 의해 참조되는 시간 검색표에 2초 간격으로 데이터용 판독 어드레스가 기록될 수 있다. 2초나 4초 앞 또는 뒤에 있는 판독 어드레스가 신속하게 발견되도록 하는 정보(이러한 정보는 AOB_ELEMENT의 데이터 크기임)를 시간 검색표에 기록함으로써 전방 또는 후방 검색을 실행할 때 재생장치는 이 정보를 참조로 할 필요가 있을 뿐일 것이다. 2초의 재생주기를 갖는 오디오 데이터의 데이터 크기는 오디오 데이터를 재생할 때 사용되는 비트레이트에 좌우된다. 이미 언급한 바와 같이, 16Kbps ~ 144Kbps 범위의 비트레이트가 사용되므로 2초 내에 재생되는 데이터의 양은 4KB(=16Kbps×2/8)~36KB(=144Kbps×2/8)의 범위에 있을 것이다. 2초 내에 재생되는 데이터의 양은 4KB~36KB의 범위 내에 있을 것이기 때문에 오디오 데이터의 데이터 길이를 기록하기 위한 시간 검색표 내에서의 각 엔트리의 데이터 길이는 2바이트(16비트) 길이일 필요가 있다. 이것은 16비트 값이 0-64KB 범위의 수를 표현할 수 있기 때문이다.
한편, 시간 검색표의 총 데이터 크기가 504바이트(이것은 후술하는 TKTMSRT의 데이터 크기임)로 제한될 필요가 있으면 예컨대, 시간 검색표 내의 최대 엔트리의 수는 504/2=252로 계산될 수 있다.
엔트리는 2초마다 제공되기 때문에 이 최대 252 엔트리에 대응하는 재생시간은 504초(=2초×252), 즉 8분 24초(=8.4분)이다. 이것은 AOB_BLOCK에 대한 최대 재생기간을 8.4분으로 설정하는 것이 시간 검색표의 데이터 크기를 504바이트로 제한한다는 것을 의미한다.
{3-3_109} AOB에 대하여
여기서는 AOB_BLOCK에 대한 설명을 결론짓기로 한다. 이하 AOB를 설명한다.
도 10의 제 2 레벨에 도시된 AOB는 다른 쪽 끝에 무효 영역을 갖는 영역이 다. 각 AOB 파일에는 하나의 AOB만이 존재한다.
무효영역은 AOB_BLOCK과 함께 판독 및 기록되는 영역이며 AOB_BLOCK과 동일한 클러스터에 저장된다. AOB 내의 AOB_BLOCK의 처음과 마지막 위치는 네비게이션 데이터에 포함된 BIT로 나타내었다. 이들 BIT에 대해서는 후술하기로 한다.
이것으로 AOB 파일 내에 어떤 데이터가 저장되는지에 대한 설명을 마치기로 한다. 이하, 도 9의 AOB 파일에 나타낸 8개의 AOB와 AOB_BLOCK이 성공적으로 판독될 때 어떤 콘텐츠가 재생되는지를 설명하기로 한다.
{3-3_10-10_16}
도 16은 AOB와 AOB_BLOCK이 이 AOB 파일 내에서 성공적으로 판독될 때의 재생 콘텐츠를 도시한 것이다. 도 16 에서의 제 1 레벨은 사용자 영역에서의 8개의 AOB 파일을 나타내나 제 2 레벨은 이들 AOB 파일에 기록된 8개의 AOB를 나타낸다. 제 3 레벨은 이들 AOB에 포함된 8개의 AOB_BLOCK을 나타낸다.
제 5 레벨은 이들 AOB 파일로 구성된 5개 콘텐츠의 타이틀을 나타낸 것이다. 이 예에서 "콘텐츠"는 5개의 곡 SongA, SongB, SongC, SongD, SongE이지만 "타이틀"은 5개의 곡으로 구성된 음악 앨범이다. 점선 AS1, AS2, AS3, … AS7, 및 AS8은 AOB_BLOCK과 앨범이 분할되는 부분 사이의 대응을 나타내므로, 도 16의 제 4 레벨은 제 5레벨에 도시된 음악앨범을 분할하기 위해 사용되는 단위를 나타낸다.
점선을 참조함으로써 AOB#1에 포함된 AOB_BLOCK은 6.1분의 재생주기를 갖는 곡(SongA)인 것을 알 수 있다. AOB#2에 포함된 AOB_BLOCK은 3.3분의 재생주기를 갖는 곡(SongB)이다. AOB#3에 포함된 AOB_BLOCK은 5.5분의 재생주기를 갖는 곡(SongC)이다. 이러한 방식으로 "AOB001.SA1"~"AOB003.SA1"의 각각은 다른 곡에 대응한다. 도 16의 제 6 레벨은 TrackA~TrackE로 구성되는 트랙열이다. 이들 트랙 TrackA~TrackE는 5개의 곡 SongA, SongB, SongC, SongD 및 SongE에 대응하고, 각각은 별개의 재생단위로서 취급된다.
한편, AOB#4는 8.4분의 재생주기를 가지며 30.6분의 재생주기를 갖는 곡 SongD의 처음(또는 "헤드") 부분이다. AOB#5 및 AOB#6에 포함된 AOB_BLOCK은 곡 SongD의 중간부분이며, 또한 8.4분의 재생주기를 갖는다. AOB#7에 포함된 AOB_BLOCK은 곡 SongD의 마지막 부분이며, 또한 5.4분의 재생주기를 갖는다. 이러한 방식으로 총 재생주기 30.6분을 갖는 곡은 각각이 다른 AOB에 포함된 부분들(8.4+8.4+8.4+5.4분)로 분할된다. 도 16으로부터 알 수 있는 바와 같이, AOB파일에 포함된 모든 곡은 8.4분의 최대 재생주기로 된다.
이 설명은 상술한 AOB의 재생주기를 한정하는 것이 각 AOB에 대응하는 시간 검색표의 데이터 크기를 제한한다는 것을 명백하게 보여준다. 이하, 각 시간 검색표에 포함된 네비게이션 데이터에 대해 설명하기로 한다.
{3-3_8A,B-2}
네비게이션 데이터는 전술한 2개의 파일 "SD_Audio.PLM"과 "SD_Audio.TKM"으로 구성된다. 파일 "SD_Audio.PLM"은 플레이리스트매니저(PlaylistManager)를 포함하지만 파일 "SD_Audio.TKM"은 트랙매니저(TrackManager)를 포함한다.
프리젠테이션 데이터의 설명부분에서 설명한 바와 같이, 복수의 AOB 파일은 비록 AOB의 재생주기, AOB에 의해 나타난 또는 작곡가에 대한 신용과 같은 다른 정 보가 주어지지는 않지만 인코딩된 AOB를 저장한다. 복수의 AOB는 복수의 AOB 파일에 기록되지만 AOB의 재생순서에 대한 어떠한 표시도 제공되지 않는다. 이러한 정보를 재생장치에 알리기 위해 TrackManager와 PlaylistManager가 제공된다.
TrackManager는 AOB파일 내에 기록된 AOB와 트랙 사이의 대응을 보여주며, 각각이 AOB의 재생주기, 다양한 AOB의 곡명 및 작곡자와 같은 다양한 정보를 제공하는 복수개의 트랙 관리정보를 포함한다.
본 명세서에서 용어 "트랙(track)"은 사용자를 위한 의미있는 재생단위를 말하므로, 저작권보호가 있는 음악이 플래쉬 메모리카드(31)에 저장되면 각각의 곡이 별개의 트랙이다. 반대로 "오디오북"(즉, 기록된 오디오로서 저장된 저작권이 있는 문학작품)이 플래쉬 메모리카드(31)에 기록되면 각 장 또는 단락이 별개의 트랙으로서 설정될 수 있다. TrackManager는 트랙의 그룹으로서 복수의 AOB파일에 기록된 복수의 AOB를 관리하기 위해 제공된다.
플레이리스트는 복수 트랙의 재생순서를 설정한다. 복수의 플레이리스트는 PlaylistManager에 포함될 수 있다.
이하, 도면을 참조하여 TrackManager에 대해 설명하기로 한다.
{17-1_18} PlaylistManger와 TrackManager의 상세한 구성
도 17은 본 실시예에서의 PlaylistManager와 TrackManager의 상세 구성을 계층으로 도시한 도면이다. 도 18은 PlaylistManager와 TrackManager의 크기를 나타낸 도면이다. 도 17의 우측은 좌측의 아이템을 보다 상세히 나타낸 것이며, 점선은 보다 상세히 나타내지는 아이템을 표시하고 있다.
도 17에 도시된 바와 같이, TrackManager는 점선 h1로 나타낸 바와 같이 트랙정보(Track Information; TKI) #1, #2, #3, #4, … #n으로 구성된다. 이들 TKI는 트랙으로서 AOB파일에 기록되는 AOB를 관리하기 위한 정보이며, 각각은 다른 AOB 파일에 대응한다. 도 17로부터 각각의 TKI는 Track_General_Information(TKGI), 트랙에 대하여 배타적인 텍스트 정보가 기록될 수 있는 Track_Text_Information(TKTXTI_DA), 및 시간 검색표로서 기능하는 Track_Time_Search_Table(TKTMSRT)로 구성된다.
도 18로부터 각 TKI는 1,024바이트의 고정된 크기를 갖는다는 것을 알 수 있으며, 이것은 TKGI와 TKTXTI_DA의 총 크기가 512바이트로 고정된 TKTMSRT의 크기 때문에 512바이트로 고정된다는 것을 의미한다. TrackManager에서는 총 999TKI가 설정될 수 있다.
점선 h3으로 나타낸 바와 같이, TKTMSRT는 TMSRT_Header와 TMSRT_entry #1, #2, #3, … #n으로 구성된다.
{17-2_19} AOB파일을 갖는 TKI와 AOB의 대응
도 19는 도 17에 도시된 TKI가 어떻게 도 16에 도시된 AOB 파일 및 AOB에 대응하는지를 도시한 도면이다. 도 19의 제 1 레벨의 박스는 트랙 TrackA ~ TrackE로 구성된 트랙열을 나타내고 있으며, 제 2 레벨의 큰 프레임은 TrackManager를 나타내고, 제 3 및 제 4 레벨은 도 16으로 주어진 8개의 AOB 파일을 나타낸다. 8개의 AOB파일은 도 16에 도시된 8개의 AOB에 기록되고, 트랙 TrackA, TrackB, TrackC, TrackD, TrackE를 포함하는 음악앨범을 구성한다. 제 2 레벨은 8개의 TKI를 보여준 다. 각 TKI에 할당된 번호 "1", "2", "3", "4"는 각 TKI를 식별하기 위해 사용되는 일련번호이며, 각 TKI는 동일한 일련번호 001, 002, 003, 004, 005, … 로 주어진 AOB 파일에 대응한다.
이러한 사상에 의해 TKI#1은 파일 "AOB001.SA1"에 대응하고, TKI#2는 파일 "AOB002.SA1"에 대응하며, TKI#3은 파일 "AOB003.SA1"에 대응하고, TKI#4는 파일 "AOB004.SA1"에 대응하는 것을 도 19로부터 알 수 있다. TKI와 AOB_FRAME 사이의 대응은 도 19의 화살표 TA1, TA2, TA3, TA4 … 로 나타냈다.
이러한 방식으로 각 TKI는 AOB 파일에 기록된 다른 AOB에 대응하며, 대응 AOB에만 적용되는 상세한 정보를 제공한다.
{17-3_20} TKTMSRT의 데이터 구성
이하, AOB 파일 내에 기록된 단일 AOB에 적용되는 정보에 대하여 TKTMSRT부터 시작하여 설명하기로 한다. 도 20은 TKTMSRT의 구성을 보다 상세히 설명한 도면이다.
도 20의 우측은 시간 검색표 헤더(TMSRT_Header)의 데이터 구성을 나타낸 도면이다. 도 20에서, TMSRT_Header는 8바이트의 데이터 크기를 가지며, 3개의 필드로 나뉘어진다. 처음 2바이트는 TMSRT_ID이고, 다른 2바이트는 예약되어 있으며, 마지막 4바이트는 총 TMSRT_entry_Number이다.
TMSRT를 식별하기 위한 유일한 ID는 "TMSRT_ID"에 기록된다. 현재의 TMSRT에서의 TMSRT_entry의 총수는 "총 TMSRT_entry_Number"에 기록된다.
{17-3_21-1} TKTMSRT의 특정 예
이하, TKTMSRT에 대해 상세히 설명하기로 한다. 도 21은 TKTMSRT의 일례를 나타낸 도면이다. 도 21의 좌측은 AOB를 나타내나 우측은 대응 TKTMSRT를 나타낸다. 도 21의 좌측에서의 AOB는 우측에 AR1, AR2, AR3, … ARn으로 번호가 부여된 영역을 점유하는 #1, #2, #3, …#n으로 번호가 부여된 복수의 AOB_ELEMENT로 구성된다.
"0", "32000", "64200", "97000", "1203400" 및 "1240000" 등의 번호는 AOB_BLOCK의 처음에 대하여 AOB_ELEMENT에 의해 점유된 영역 AR1, AR2, AR3, ARn-1, ARn의 상대 어드레스를 보여준다. 예로서 AOB_ELEMENT#2는 AOB_BLOCK의 처음부터 "32000"의 거리에 있는 위치에서 기록되나, AOB_ELEMENT#3은 AOB_BLOCK의 처음부터 "642000"의 거리에서 있는 위치에서 기록되며, AOB_ELEMENT#n-1은 AOB_BLOCK의 처음부터 "1203400"의 거리에서 있는 위치에서 기록된다.
각 점유된 영역과 AOB_BLOCK의 처음 사이의 거리는 확정값의 배수가 아니며, 이것은 AOB_ELEMENT에 의해 점유된 영역이 동일한 크기가 아니라는 것을 의미한다. 점유영역이 다른 크기를 갖는 이유는 데이터의 변화량이 각 AOB_FRAME을 인코딩하기 위해 사용된다는 점 때문이다.
각 AOB_ELEMENT에 의해 점유된 영역의 크기가 다르기 때문에 AOB_ELEMENT의 처음으로 점프를 실행할 때 AOB 내의 각 AOB_ELEMENT의 위치를 미리 재생장치에 알리는 것이 필수적이다. 이를 위해 TKTMSRT에 복수의 TMSRT_entry가 제공된다. 화살표 RT1, RT2, RT3, … RTn-1, RTn은 각 AOB_ELEMENT에 의해 점유되는 영역 AR1, AR2, AR3, … ARn-1, ARn과 TMSRT_entry#1, TMSRT_entry#2, TMSRT_entry#3, … TMSRT_entry#n-1, TMSRT_entry#n 사이의 대응을 나타낸다. 즉, AOB_ELEMENT#1에 의해 점유된 영역 AR1의 크기는 TMSRT_entry#1에 기록되는 반면, AOB_ELEMENT#2와 AOB_ELEMENT#3에 의해 점유된 영역 AR2 및 AR3의 크기는 TMSRT_entry#2 및 TMSRT_entry#3에 기록된다.
점유된 영역 AR1은 AOB의 처음부터 AOB_ELEMENT#2 "32000"의 처음까지 허용하기 때문에 크기 "32000"(32000-0)은 TMSRT_entry#1에 기록된다. 점유영역 AR2는 AOB_ELEMENT#2 "32000"의 처음부터 AOB_ELEMENT#3 "64200"의 처음까지 허용하기 때문에 크기 "32200"(64200-32000)은 TMSRT_entry#2에 기록된다. 점유영역 AR3은 AOB_ELEMENT#3 "64200"의 처음부터 AOB_ELEMENT#4 "97000"의 처음까지 허용하기 때문에 크기 "32800"(97000-64200)은 TMSRT_entry#3에 기록된다. 동일한 방식으로 점유영역 ARn-1은 AOB_ELEMENT#n-1 "1203400"의 처음부터 AOB_ELEMENT#n "1240000"의 처음까지 허용하기 때문에 크기 "36600"(1240000-1203400)은 TMSRT_entry#n-1에 기록된다.
{17-3_21-2} TKTMSRT의 판독방법
이러한 방식으로 AOB_ELEMENT의 데이터 크기는 시간 검색표에 기록된다. 그러나 각 AOB_BLOCK의 데이터 길이는 최대 8.4분으로 제한되기 때문에 단일 AOB에 포함되는 AOB_ELEMENT의 총수는 미리 정한 수(도 20에 도시된 바와 같이, "252") 이하로 제한된다. AOB_ELEMENT의 수가 제한되기 때문에 AOB_ELEMENT에 대응하는 TMSRT_entry의 수 또한 제한되며, 이것은 이들 TMSRT_entry를 포함하는 TKTMSRT의 크기를 일정한 크기의 범위 내로 제한한다. TKTMSRT의 크기가 제한되기 때문에 재 생장치는 다음의 방식으로 TKI를 판독 및 사용할 수 있다.
재생장치는 임의의 AOB를 판독하고, AOB의 재생시작시에 대응 TKI를 판독하며, 그것을 메모리에 저장한다. 이 대응 TKI는 이 AOB의 재생이 계속되는 한 메모리 내에 유지된다. 일단 AOB의 재생이 종료되면 다음의 AOB가 판독되고, 이 AOB의 재생이 시작되면 재생장치는 다음의 AOB에 대응하는 TKI를 예전의 TKI 대신에 메모리에 덧쓰기한다. 다음의 TKI는 다음 AOB의 재생이 계속하는 동안 메모리에 유지된다.
이러한 방식으로 TKI를 판독하고 저장함으로써 전방 및 후방 검색과 같은 특별한 재생기능이 실현되는 동안 재생장치 내의 필수적인 메모리 용량이 최소화될 수 있다. 본 실시예는 AOB_ELEMENT의 처음 어드레스부터 다음 AOB_ELEMENT의 처음 어드레스까지의 데이터 길이가 TMSRT_entry에 기록되는 경우를 설명하였으나, AOB_BLOCK의 처음부터 AOB_ELEMENT의 처음 어드레스까지의 상대 어드레스가 그 대신에 거기에 기록될 수 있다.
{17-3_21-3} AOB_ELEMENT를 포함하는 클러스터의 특정
이하, TKTMSRT를 이용하여 AOB_ELEMENT가 어떻게 판독될 수 있는지를 설명하기로 한다. TKTMSRT는 각 AOB_ELEMENT의 크기를 포함하므로 AOB의 처음부터 y번째의 AOB_ELEMENT인 AOB_ELEMENT#y가 판독되면 하기의 수학식 1을 만족시키는 클러스터 u가 계산되고, 클러스터 u의 처음부터 오프셋 v를 갖고 위치된 데이터가 판독된다.
클러스터 u=(AOB_ELEMENT#1로부터 AOB_ELEMENT#y-1까지의 TMSRT_entry의 총수
+ DATA_Offset)/클러스터 크기
오프셋 v=(AOB_ELEMENT#1로부터 AOB_ELEMENT#y-1까지의 TMSRT_entry의 총수+DATA_Offset) mod 클러스터 크기
삭제
여기에서 c=a mod b는 c가 a를 b로 나누었을 때 발생하는 나머지임을 나타낸다.
DATA_Offset은 BIT에 기록되며, 본 명세서에서는 후술하기로 한다.
{17-4} TKTXI_DA
이것으로 시간 검색표(TKTMSRT)의 설명을 마치기로 한다. 이하, TKTMSRT의 상부에 기록된 Track_Text_Information Data Area(TKTXI_DA)에 대해 설명하기로 한다.
Track_Text_Information Data Area(TKTXI_DA)는 아티스트 명, 앨범명, 음향담당자, 프로듀서 등의 정보를 나타내는 텍스트 정보를 저장하기 위해 사용된다. 이 영역은 이러한 텍스트 정보가 존재하지 않는 경우에도 제공된다.
{17-5} TKGI
이하, TKTXI_DA의 상부에 기록된 TKGI에 대해 설명하기로 한다. 도 17에 TKI의 식별자 "TKI_ID", TKI의 수 "TKIN", TKI의 크기 "TKI_SZ", 다음 TKI까지의 링크 포인터 "TKI_LNK_PTR", 블록속성 "TKI_BLK_ATR", 재생주기 "TKI_PB_TM", 오디오 속성 "TKI_AOB_ATR", "ISRC", 및 블록정보 "BIT"로서 수 세트의 정보가 도시되어 있다. 표시를 간략히 하기 위해 이러한 정보의 일부만이 도 17에 도시되어 있다.
{17-5_22-1} TKGI
이하, 도 22를 참조하여 TKGI의 구성을 상세히 설명하기로 한다. 도 17과 도 22의 차이는 도 17에 도시된 TKGI의 데이터 구성이 이 도면의 좌측에 배치되고 "TKI_BLK_ATR", "TKI_AOB_ATR" 및 "ISRC"의 비트 구성이 명백하게 도시되어 있다는 점이다.
{17-5_22-2} TKI_ID
TKI에 대한 유일한 ID는 "TKI_ID"에 기록된다. 본 실시예에서는 2바이트 "A4" 코드가 사용된다.
{17-5_22-3} TKIN
1~999범위의 TKI번호가 "TKIN"에 기록된다. 각 TKI의 TKIN은 유일하다. 본 실시예에서 TrackManager내의 각 TKI의 위치는 TKIN으로서 사용된다. 이것은 "1"이 TKI#1의 TKI번호로서 기록되고, "2"는 TKI#2의 TKI번호로서 기록되며, "3"은 TKI#3의 TKI번호로서 기록된다는 것을 의미한다.
{17-5_22-4} TKI_SZ
바이트 단위의 TKI의 데이터 크기는 "TKI_SZ"에 기록된다. 도 22에서, 1024바이트는 본 실시예의 각 TKI가 1024바이트 길이이도록 TKI의 데이터 크기로서 제공된다.
{17-5_22-5} TKI_LNK_PTR
현재의 TKI가 링크되는 TKI의 TKIN은 "TKI_LNK_PTR"에 기록된다. 이하, TKI 사이의 이러한 링크에 대해 설명하기로 한다.
트랙이 복수의 AOB 파일에 기록되는 복수의 AOB로 구성되면 이들 AOB파일은 이들 AOB파일에 대응하는 복수의 TKI를 링크함으로써 단일 트랙으로서 관리될 것이다. 복수의 TKI를 링크하기 위해 현재의 TKI의 AOB 파일의 다음에 오는 AOB 파일의 TKI를 보여주는 것이 필수적이다. 따라서 현재의 TKI 다음에 오는 TKI의 TKIN은 TKI_LNK_PTR에 기록된다.
{17-5_22-6_19} TKI_LNK_PTR
이하, 도 19에 도시된 8개의 TKI에서 TKI_LNK_PTR을 위해 만들어진 설정에 대해 설명하기로 한다. #1~#3 및 #8로 번호가 부여된 트랙정보는 각각 별개의 트랙에 대응하므로, 어떠한 정보도 그들의 TKI_LNK_PTR에 설정되지 않는다. 트랙정보 TKI#4, TKI#5, TKI#6, TKI#7은 TrackD를 구성하는 4개의 AOB파일에 대응하므로 다음 트랙정보는 이들 TKI의 TKI_LNK_PTR에 표시된다. 도 19에서 화살표 TL4, TL5, TL6으로 표시된 바와 같이, "TKI#5"는 TKI#4의 TKI_LNK_PTR에 설정되고, "TKI#6"은 TKI#5의 TKI_LNK_PTR에 설정되고, "TKI#7"은 TKI#6의 TKI_LNK_PTR에 설정된다.
결국, 재생장치는 이들 4개의 AOB파일에 대응하는 TKI에 주어진 TKI_LNK_PTR을 참조할 수 있으므로, 4개의 TKI인 TKI#4~TKI#7과 4개의 AOB파일 "AOB004.SA1"~"AOB007.SA1"이 단일 트랙 TrackD를 구성함을 알 수 있다.
{17-5_22-7} TKI_BLK_ATR
현재의 TKI의 속성은 TKI_BLK_ATR에 기록된다. 도 22에서 TKI_BLK_ATR로부터 연장되는 점선 내에 나타낸 정보는 TKI_BLK_ATR의 비트 구성을 보여준다. 도 22에서 TKI_BLK_ATR은 16비트 길이로 도시되어 있으나, b3에서 b15까지의 비트는 장래 사용을 위해 예약되어 있다. 비트 b2에서 b0까지의 3개의 비트는 TKI의 속성을 보여주기 위해 사용된다.
하나의 TKI가 완전한 트랙에 대응하면, 값 "00b"는 TKI_BLK_ATR에 기록된다(이 설정은 이하 "트랙"이라 함). 수개의 TKI가 동일한 트랙에 대응하면 값 "001b"는 처음 TKI의 TKI_BLK_ATR에 기록되고(이 설정은 이하 "Head_of_Track"이라 함), 값 "010b"는 트랙 중간의 AOB에 대응하는 TKI의 TKI_BLK_ATR에 기록되며(이 설정은 이하 "Midpoint_of_Track"이라 함), 값 "011b"는 트랙 마지막의 AOB에 대응하는 TKI의 TKI_BLK_ATR에 기록된다(이 설정은 이하 "End_of_Track"이라 함). TKI가 미사용이지만 TKI 영역이 존재하면, 즉, 삭제된 TKI가 있으면 값 "100b"는 TKI_BLK_ATR에 기록된다(이 설정은 이하 "미사용"이라 함). TKI가 미사용이고 TKI 영역이 존재하지 않으면, 값 "101b"는 TKI_BLK_ATR에 기록된다
{17-5_22-8_19} TKI_BLK_ATR의 설정 예
이하, 도 19에 도시된 예의 각 TKI에 대하여 TKI_BLK_ATR의 설정에 대해 설명하기로 한다.
각 TKI의 TKI_BLK_ATR를 참조함으로써 4개 쌍의 TKI#1("AOB001.SA1"), TKI#2("AOB002.SA1"), TKI#3("AOB003.SA1"), TKI#8("AOB008.SA1") 각각은 TKI#1, TKI#2, TKI#3, TKI#8의 각각의 TKI_BLK_ATR이 "트랙"으로서 설정되기 때문에 별개의 트랙에 대응하는 것을 알 수 있다.
TKI#4의 TKI_BLK_ATR은 "Head_of_Track"으로 설정되며, TKI#7의 TKI_BLK_ATR은 "End_of_Track"로 설정되며, TKI#5와 TKI#6의 TKI_BLK_ATR은 "Midpoint_of_Track"로 설정된다. 이것은 TKI#4에 대응하는 AOB파일("AOB004.SA1")이 트랙의 처음이고, TKI#5와 TKI#6에 대응하는 AOB파일("AOB005.SA1")과 ("AOB006.SA1")이 트랙의 중간이고, TKI#7에 대응하는 AOB파일("AOB007.SA1")이 트랙의 마지막이다.
TKI의 TKI_BLK_ATR의 설정에 따라 TKI와 대응 AOB파일의 조합을 분류함으로써 TKI#1과 "AOB001.SA1"의 조합은 처음 트랙(TrackA)을 구성하는 것을 알 수 있다. 이와 동일하게 TKI#2와 "AOB002.SA1"의 조합은 두번째 트랙(TrackB)을 구성하고, TKI#3과 "AOB003.SA1"의 조합은 세번째 트랙(TrackC)을 구성한다. TKI#4와 "AOB004.SA1"의 조합은 네번째 트랙(TrackD)의 첫번째 부분을 구성하고, "AOB005.SA1"을 가진 TKI#5와 "AOB006.SA1"을 가진 TKI#6의 조합은 트랙(TrackD)의 중앙부분을 구성하며, TKI#7과 "AOB007.SA1"의 조합은 TrackD의 마지막 부분을 구성한다. 마지막으로 TKI#8과 "AOB008.SA1"의 조합은 다섯번째 트랙(TrackE)을 구성한다.
{17-5_22-9} TKI_PB_TM
TKI에 대응하는 AOB파일에 기록된 AOB로 구성된 트랙(곡)의 재생기간이 TKI의 "TKI_PB_TM"에 기록된다.
트랙이 복수의 TKI로 구성되면 트랙의 전체 재생주기가 트랙에 대응하는 처음 TKI의 TKI_PB_TM에 기록되는 반면, 대응 AOB의 재생주기가 트랙에 대한 두번째 및 다음 TKI에 기록된다.
{17-5_22-10} TKI_AOB_ATR
AOB를 생성할 때 사용되는 인코딩 조건, 즉 (1) 대응 AOB파일에 기록된 AOB가 샘플링되는 샘플링 주파수, (2) 전송 비트레이트, (3) 채널수와 같은 정보가 TKI의 "TKI_AOB_ATR"에 기록된다. TKI_AOB_ATR의 비트 구성은 도 22의 "TKI_AOB_ATR"로부터 연장된 점선 내에 도시된다.
도 22에서, TKI_AOB_ATR은 32비트로 구성되며, 코딩 모드는 b16부터 b19까지의 4비트 필드로 기록된다. AOB가 MPEG-2 AAC(ADTS 헤더를 구비)에 따라 인코드되면 값 "0000b"가 이 필드에 기록되나. AOB가 MPEG-레이어 3(MP3)에 따라 인코드되면 값 "0001b"가 기록된다. AOB가 윈도우 미디어 오디오(WMA)에 따라 인코드되면 값 "0010b"가 이 필드에 기록된다.
AOB를 인코딩할 때 사용되는 비트레이트는 비트 b15와 b8 사이의 8비트 필드에 기록된다. AOB가 MPEG-2 AAC(ADTS 헤더를 구비)에 따라 인코드되면 "16"과 "72" 사이의 값이 이 필드에 기록되나. AOB가 MPEG-레이어 3(MP3)에 따라 인코드되면 "16"과 "96" 사이의 값이 이 필드에 기록된다. AOB가 MPEG1-레이어 3(MP3) LSF에 따라 인코드되면 "16"과 "80" 사이의 값이 이 필드에 기록되나, AOB가 윈도우 미디어 오디오(WMA)에 따라 인코드되면 "8"과 "16" 사이의 값이 이 필드에 기록된다.
AOB를 인코딩할 때 사용되는 샘플링 주파수는 비트 b7과 b4 사이의 4비트 필드에 기록된다. 샘플링 주파수가 48kHz이면 값 "0000b"가 이 필드에 기록되고, 샘플링 주파수가 44.1kHz이면 값 "0001b"가, 샘플링 주파수가 32kHz이면 값 "0010b"가, 샘플링 주파수가 24kHz이면 값 "0011b"가, 샘플링 주파수가 22.05kHz이면 값 "0100b"가, 샘플링 주파수가 16kHz이면 값 "0101b"가 각각 이 필드에 기록된다.
채널의 수는 비트 b3과 b1 사이의 3비트 필드에 기록된다. 하나의 채널(즉 모노)이 사용되면, 값 "0000b"가 이 필드에 기록되나, 2개의 채널(즉, 스테레오)이 사용되면 값 "0010b"가 이 필드에 기록된다.
비트 b31과 b20 사이의 12비트 필드는 비트 b0 처럼 장래의 사용을 위해 예약되어 있다.
{17-5_22-11} ISRC
ISRC(International Standard Recording Code)는 TKGI에 기록된다. 도 22에서, "ISRC"로부터 연장되는 점선은 ISRC의 콘텐츠를 보여준다. 도면에 도시된 바와 같이, ISRC는 10바이트로 구성되며, 기록-아이템 코드(#12)는 비트 b4와 b7 사이의 4비트 필드에 기록된다. 기록코드/기록-아이템 코드(#11)는 비트 b8과 b11 사이의 4비트 필드에 기록된다.
기록 코드(ISRC#10, #9, #8)는 비트 b12와 b23 사이의 12비트 필드에 기록된다. 기록 연도코드(ISRC#6, #7)는 비트 b24와 b31 사이의 8비트 필드에 기록된다.
제 1 소유자 코드(ISRC#3, #4, #5)는 비트 b32와 b37 사이의 6비트 필드, 비트 b40과 b45 사이의 6비트 필드, 및 비트 b48과 b53 사이의 6비트 필드에 기록된다. 국가코드(ISRC#1, #2, #3)는 비트 b56과 b61 사이의 6비트 필드, 비트 b64와 b69 사이의 6비트 필드에 기록된다. 1비트의 유효 플래그는 비트 b79로 구성되는 1비트 필드에 기록된다. ISRC의 상세한 설명은 ISO3901: 1986 "Documentation-International Standard Recording Code(ISRC)"에서 찾아볼 수 있다.
{17-5_22-12_23A-1} BIT
"블록정보표(Block Information Table; BIT)"는 AOB_BLOCK을 관리하기 위한 표이며, 도 23A 및 도 23B에 도시된 상세한 구성을 가지고 있다.
도 23A에 도시된 바와 같이, BIT는 60번째 바이트에서 63번째 바이트의 영역을 점유하는 DATA_OFFSET 필드와, 64번째 바이트에서 67번째 바이트의 영역을 점유하는 SZ_DATA 필드와, 68번째 바이트에서 71번째 바이트의 영역을 점유하는 TMSRET_Ns 필드와, 72번째 바이트에서 73째 바이트의 영역을 점유하는 FNs_1st_TMSRTE 필드와, 74번째 바이트에서 75번째 바이트의 영역을 점유하는 FNs_last_TMSRTE 필드와, 76번째 바이트에서 77번째 바이트의 영역을 점유하는 FNs_middle_TMSRTE 필드와, 78번째 바이트에서 79번째 바이트의 영역을 점유하는 TIME_LENGTH 필드로 구성된다.
이들 각 필드에 대해서는 후술하기로 한다.
{17-5_22-12_23A-2} DARA_Offset
클러스터 사이의 경계로부터 AOB_BLOCK의 시작의 상대 어드레스는 바이트 단위로 주어진 값으로서 "DATA_OFFSET"에 기록된다. 이것은 AOB와 AOB_BLOCK 상의 무효영역의 크기를 나타낸다. 예로서 사용자가 플래쉬 메모리카드(31)에 라디오 방송을 AOB로서 기록하여 DJ가 말한 트랙의 도입부분을 삭제하길 원한다면 BIT의 DATA_OFFSET는 DJ의 음성을 포함하는 부분없이 트랙을 재생하도록 설정될 수 있다.
{17-5_22-12_23A-3} SZ_DATA
바이트 단위로 표시된 AOB_BLOCK의 데이터 길이는 "SZ_DATA"에 기록된다. SZ_DATA를 DATA_offset에 가산함으로써 얻어진 값을 파일 크기에서 감산함으로써 AOB_BLOCK 다음의 무효영역의 크기를 구할 수 있다.
{17-5_22-12_23A-4} TMSRTE_Ns
AOB_BLOCK에 포함된 TMSRTE_Entry의 총수는 "TMSRTE_Ns"에 기록된다.
{17-5_22-12_23A-5} "FNs_1st_TMSRTE", "FNs_last_TMSRTE", "FNs_Middle_TMSRTE"
현재의 AOB_BLOCK의 처음에 위치된 AOB_ELEMENT에 포함된 AOB_FRAME의 수는 "FNs_1st_TMSRTE"에 기록된다.
현재의 AOB_BLOCK의 마지막에 위치된 AOB_ELEMENT에 포함된 AOB_FRAME의 수는 "FNs_last_TMSRTE"에 기록된다.
현재의 AOB_BLOCK의 처음과 마지막에서 떨어져 AOB_BLOCK의 중간에 있는 AOB_ELEMENT라고 하며 각 AOB_ELEMENT에 포함된 AOB_FRAME의 수는 "FNs_Middle_TMSRTE"에 기록된다.
AOB_ELEMENT의 재생주기는 밀리초 크기의 정확도로 "TIME_LENGTH" 필드에 도 23C에 도시된 포맷으로 기록된다. 도 23C에 도시된 바와 같이, "TIME_LENGTH" 필드는 16비트의 길이를 가지며, MPEG-AAC 또는 MPEG-레이어 3의 인코딩방법이 사용되면 AOB_ELEMENT의 재생주기가 2초이므로 값 "2000"이 "TIME_LENGTH"필드에 기록된다.
{17-5_22-13_23B}
도 23B는 "FNs_Middle_TMSRTE"로 표시된 AOB_FRAME의 수를 보여준다. 도 14와 동일한 방식으로 도 23B는 AOB_BLOCK 중간의 AOB_ELEMENT에 포함된 AOB_FRAME의 수와 sampling_frequency 사이의 관계를 나타낸다.
도 23B에 도시된 AOB_ELEMENT에 포함된 프레임의 수와 sampling_frequency 사이의 관계는 도 14에 도시된 것과 동일하다. 즉, AOB_ELEMENT의 프레임 수는 사용된 샘플링 주파수에 좌우된다. "FNs_1st_TMSRTE"와 "FNs_last_TMSRTE"에 기록된 프레임의 수는 비록 AOB_BLOCK의 처음 및/또는 마지막에 있는 AOB_ELEMENT에 무효영역이 존재할 때 "FNs_1st_TMSRTE" 및/또는 "FNs_last_TMSRTE"에 주어진 값이 "FNs_Middle_TMSRTE"의 값과 다르다 하더라도 기본적으로 "FNs_Middle_TMSRTE"에 기록된 수와 동일하다.
{17-5_22-14_24} 저장된 AOB_ELEMENT의 예
도 24는 AOB_ELEMENT#1~AOB_ELEMENT#4로 구성된 AOB를 저장하는 클러스터 007~00E를 보여준다. 이하, AOB가 도 24에 도시된 바와 같이 저장될 때 BIT에서의 설정에 대해 설명하기로 한다. 클러스터 007~클러스터 00E에 저장된 AOB_ELEMENT#1~AOB_ELEMENT#4는 도 24에 3각형 깃발로 표시되어 있으며, TMSRT_entry는 AOB_ELEMENT#1~AOB_ELEMENT#4의 각각에 대한 TKI에 설정되어 있다.
이 예에서는 AOB의 처음에 있는 AOB_ELEMENT#1의 처음 부분이 클러스터 007에 저장되나 AOB의 마지막에 있는 AOB_ELEMENT#4의 마지막 부분이 클러스터 00E에 저장된다. AOB_ELEMENT#1~#4는 클러스터 007내의 md0과 클러스터 00E내의 md4 사이의 영역을 점유한다. 도 24에서 화살표 sd1로 도시된 바와 같이, BIT 내에서의 SZ_DATA는 AOB_ELEMENT#1~#4가 클러스터 007의 처음부터 클러스터 00E의 마지막의 영역을 점유하므로 AOB_ELEMENT에 의해 점유되지 않은 클러스터 007 및 00E내에 무 효영역 ud0과 ud1이 있다는 것을 나타내지 않는다.
한편, AOB는 또한 AOB_ELEMENT#1~AOB_ELEMENT#4에 의해 점유되지 않으나 클러스터 007 및 00E에 존재하는 부분 ud0 및 ud1을 포함한다 BIT에 주어진 DATA_Offset은 미점유 영역 ud0의 길이 즉, 클러스터 007의 처음에 대한 AOB_ELEMENT#1의 처음에 대한 위치값을 부여한다.
도 24에서 AOB_ELEMENT#1은 클러스터 007에서 클러스터 008의 영역을 점유한다.
이 AOB_ELEMENT#1은 클러스터 008의 전부를 점유하지 않으며, 나머지 부분이 AOB_ELEMENT#2에 의해 점유된다. AOB_ELEMENT#4는 클러스터 00C의 중간 md3으로부터 클러스터 00E의 중간 md4까지의 영역을 점유한다. 이러한 방식으로 AOB_ELEMENT는 클러스터 경계를 가로질러 저장될 수 있다. 즉, AOB_ELEMENT는 클러스터간의 경계에 관한 고려없이 기록될 수 있다. BIT내의 "FNs_1st_TMSRTE"는 클러스터 007 및 008에 위치된 AOB_ELEMENT#1내의 프레임수를 나타내나, "FNs_last_TMSRTE"는 클러스터 00C 및 00E에 위치된 AOB_ELEMENT#4내의 프레임수를 나타낸다.
이러한 방식으로, AOB_ELEMENT는 클러스터간의 경계에 관한 고려없이 자유롭게 위치될 수 있다. BIT는 클러스터 경계로부터 AOB_ELEMENT까지의 오프셋을 나타내는 정보와 각 AOB_ELEMENT내의 프레임수를 제공한다.
{17-5_22-14_25} 각 AOB_ELEMENT에 주어진 프레임수의 사용(파트 1)
이하, BIT에 부여된 각 AOB_ELEMENT의 프레임수가 어떻게 사용되는지에 대해 설명하기로 한다. BIT에 부여된 프레임의 수는 전방 또는 후방 검색이 실행될 때 사용된다. 전술한 바와 같이, 이러한 동작은 먼저 2초의 재생주기로 데이터를 건너뛴 뒤 240밀리초의 데이터를 재생한다.
도 25는 AOB의 AOB_ELEMENT#1에 있는 AOB_FRAME#x로부터 시작하는 전방검색을 실행할 때 다음에 재생될 AOB_FRAME#x+1이 어떻게 설정되는지를 보여준다.
도 25는 AOB_ELEMENT#y에 포함된 AOB_FRAME#x의 재생중에 사용자가 전방검색을 선택하였을 경우를 도시한 것이다. 도 25에서 "t"는 단속적인 재생주기(여기에서는 240밀리초)를 나타내며, "f(t)"는 이 단속적인 재생주기에 대응하는 프레임의 수를 나타내고, "skip_time"은 단속적인 재생 주기 사이(여기서는 2초)에서 건너뛸 주기의 길이를 나타내며, "f(skip_time)"는 이 건너뛰는 시간(스킵시간)에 대응하는 프레임의 수를 나타낸다. 후술하는 (1), (2), (3)의 절차를 반복함으로써 단속적인 재생이 달성된다.
(1) 재생장치는 TKTMSRT TMSRT_entry를 참조하여 플래그 심볼(AOB_ELEMENT)의 처음으로 점프한다.
(2) 재생장치는 240밀리초에 대한 재생을 실행한다.
(3) 재생장치는 다음 플래그 심볼(AOB_ELEMENT)의 처음으로 점프한다.
AOB_ELEMENT#y에 포함된 AOB_FRAME#x로부터 2s+240ms 존재하는 AOB_FRAME#x+1은 AOB_ELEMENT#y+1에 확실히 존재하게 될 것이다. AOB_FRAME#x로부터 2s+240ms인 AOB_FRAME#x+1을 특정하면 다음 AOB_ELEMENT#y+1의 제 1 어드레스는 비록 재생장치가 AOB_ELEMENT#y+1의 처음 어드레스로부터 TMSRT_entry로부터의 AOB_FRAME#1까지의 AOB_FRAME의 수를 알 수 없다하더라도 TKTMSRT로부터 TMSRT_entry를 판독하여 즉시 계산될 수 있다.
이러한 AOB_FRAME의 수를 계산하기 위해서는 (1) AOB_ELEMENT#y의 처음에 대한 AOB_FRAME#x의 위치를 나타내는 번호 #x, (2) f(t), (3) f(skip_time)의 합으로부터 AOB_ELEMENT#y에 포함된 총프레임수를 감산하는 것이 필수적이다. AOB_ELEMENT#y+1내의 AOB_FRAME#x+1의 상대 프레임위치의 계산을 간략화하기 위해서는 각 AOB_ELEMENT에 대한 "FNs_1st_TMSRTE", "FNs_Middle_TMSRTE", "FNs_last_TMSRTE"가 상술한 바와 같이 BIT에 기록된다.
{17-5_22-15_26A} 각 AOB_ELEMENT에 부여된 프레임수의 용도
BIT에 기록된 프레임의 수는 시간코드를 사용하여 표시된 지점에서 재생을 시작하는 시간 검색기능을 재생장치가 실행할 때 사용된다. 도26A에서는 재생장치가 사용자에 의해 표시된 재생 시작시간에 대응하는 AOB_ELEMENT와 AOB_FRAME를 특정할 수 있는 방법을 보여준다. 사용자에 의해 표시된 시간으로부터 재생이 시작되면 표시된 시간은 Jmp_Entry필드로 설정되고, AOB_ELEMENT#y와 하기의 식 2를 만족시키는 AOB_FRAME 위치로부터 다시 재생이 시작될 것이다.
Jmp_Entry(sec) = (FNs_1st_TMSRTE + FNs_Middle_TMSRTE*y + x) * 20msec
"FNs_1st_TMSRTE"와 "FNs_Middle_TMSRTE"는 BIT에 제공되기 때문에 이들은 AOB_ELEMENT#y와 AOB_FRAME#x를 계산하기 위해 수학식 2에 대입될 수 있다. 그렇게 하면 재생장치는 AOB의 TKTMSRT를 참조할 수 있게 되어 AOB_ELEMENT#y+2(이 AOB에서 y+2번째의 AOB_ELEMENT)의 처음 어드레스를 계산하고, 제 1 어드레스로부터 AOB_FRAME에 대한 검색을 시작한다. x번째 AOB_FRAME를 찾자마자 재생장치는 이 프레임으로부터 재생을 시작한다. 이러한 방식으로 재생장치는 Jmp_Entry에 의해 표시된 시간(초)으로부터 데이터의 재생을 시작할 수 있다.
이러한 방식으로 재생장치는 AOB_FRAME의 ADTS 헤더부분을 검색할 필요가 없으며, TKTMSRT의 TMSRT_entry에 부여된 AOB_ELEMENT에서 검색을 실행할 필요만 있다. 이것은 재생장치가 고속으로 표시된 재생시간에 대응하는 재생위치를 찾을 수 있다는 것을 의미한다.
동일한 방식으로 Jmp_Entry가 설정되고 시간 검색기능이 복수의 AOB로 구성된 트랙에 대하여 사용되면 재생장치는 하기의 식 3을 만족시키는 AOB_ELEMENT#y와 AOB_FRAME#x를 계산할 필요가 있을 뿐이다.
Jmp_Entry(초) = AOB#1부터 AOB#n까지의 재생주기 + (FNs_1st_TMSRTE(#n+1) + FNs_Middle_TMSRTE(#n+1)*y+x)*20msec
AOB#1부터 AOB#n까지의 총재생 주기는 다음과 같다.
AOB#1부터 AOB#n까지의 총재생주기 = ["FNs_1st_TMSRTE"(#1) + "FNs_Middle_TMSRTE"(#1)*(TMSRT_entry(#1)의 수-2) + "FNs_last_TMSRTE"(#1) + "FNs_1st_TMSRTE"(#2) + ("FNs_Middle_TMSRTE"(#2)*(TMSRT_entry(#2)의 수-2) + "FNs_last_TMSRTE"(#2) + "FNs_1st_TMSRTE"(#3) + ("FNs_Middle_TMSRTE"(#3)* (TMSRT_entry(#3)의 수-2) + "FNs_last_TMSRTE"(#3) ‥‥ + "FNs_1st_TMSRTE"(#n) + ("FNs_Middle_TMSRTE"(#n)*(TMSRT_entry(#n)의 수-2) + "FNs_last_TMSRTE"(#n)* 20msec
수학식 3을 만족시키는 AOB#n, AOB_ELEMENT#y, AOB_FRAME#x를 계산하면 재생장치는 AOB#n+1에 대응하는 TKTMSRT를 참조하여 y+2번째의 AOB_ELEMENT(즉, AOB+ELEMENT#y+2)가 위치되는 어드레스로부터 x번째 AOB_FRAME를 검색하고, 이 x번째 AOB_FRAME으로부터 재생을 시작한다.
{17-5_22-16_27A, B} AOB파일과 TKI의 삭제
이것으로 TKI에 포함된 모든 정보에 대한 설명을 마치기로 한다. 이하, TKI가 다음의 4가지 경우에 어떻게 갱신되는지를 설명하기로 한다. 첫번째 경우(케이스 1)에는 트랙이 삭제된다. 두번째 경우(케이스 2)에는 트랙이 삭제되고 새로운 트랙이 기록된다. 세번째 경우(케이스 3)에는 복수의 트랙 중 2개가 선택되고 단일 트랙에 결합된다. 마지막으로 네번째 경우(케이스 4)에는 하나의 트랙이 2개의 트랙을 발생시키도록 분할된다.
이하, 트랙이 삭제되는 케이스 1에 대하여 설명하기로 한다.
도 27A 및 도 27B는 트랙의 부분삭제를 보여준다. 도 27A 및 도 27B의 예는 도 19에 도시된 TrackManager에 대응하며, 사용자가 트랙 B의 부분삭제를 표시하는 것으로 추정한다. 트랙 B에 대응하는 AOB는 TKI#2와 관련된 "AOB002.SA1"에 기록된다. 이것은 "AOB002.SA1"의 삭제가 TKI의 TKE_BLK_ATR로의 "미사용"의 설정에 의해 수반된다는 것을 의미한다. "AOB002.SA1"이 삭제되고 "미사용"이 TKI#2의 TKE_BLK_ATR로 설정되는 이 상태는 도 27B에 도시되어 있다. "AOB002.SA1"이 삭제되었기 때문에 "AOB002.SA1"에 의해 정상적으로 점유된 영역은 미사용 영역이 되도 록 공급된다. 상술한 바와 같이, 다른 변경은 "미사용"이 TKI#2의 TKE_BLK_ATR에 설정된다는 점이다.
{17-5_22-17_28A, B} 새로운 AOB가 기록될 때 TKI의 할당
이하, 트랙의 삭제후에 새로운 트랙이 기록되는 케이스 2에 대해 설명하기로 한다.
도 28A는 트랙의 검색이 수회 실행된 후의 TrackManager를 나타낸 도면이다. 도 28A에 도시된 바와 같이, TKI#2, TKI#4, TKI#7, 및 TKI#8에 대응하는 트랙이 삭제되면 "미사용"이 이들 TKI의 TKI_BLK_ATR에 설정된다. AOB파일은 종래의 데이터 파일과 동일한 방식으로 삭제되지만 TrackManager는 대응 TKI의 TKI_BLK_ATR에 "미사용"을 단순히 설정함으로써 갱신된다. 이러한 것들은 TKI_BLK_ATR이 "미사용"으로 설정되는 TKI가 TrackManager의 다른 위치에서 나타날 수 있다는 것을 의미한다.
도 28B는 TKI_BLK_ATR가 "미사용"인 TKI가 TrackManager내에 존재할 때 새로운 TKI와 AOB이 어떻게 기록되는지를 보여준다. 도 28A에서 처럼 도 28B의 TKI#2, TKI#4, TKI#5, TKI#7 및 TKI#8은 "미사용"으로서 설정된다.
도 28B에서, 기록될 새로운 트랙은 4개의 AOB로 구성된다. 이들 AOB를 기록하기 위해 사용되는 미사용 TKI는 DPL_TK_SRP에 따라 결정되거나 또는 자유롭게 선택될 수 있다. 본 실시예에서, TKI#2, TKI#4, TKI#7, TKI#8로 번호가 부여된 미사용 TKI는 새로운 트랙에 대한 TKI를 기록하기 위해 사용된다.
이들 4개의 AOB는 하나의 트랙을 구성하기 때문에 "Head_of_Track"이 TKI#2 의 TKI_BLK_ATR에 설정되고, "Middle_of_Track"이 TKI#4의 TKI_BLK_ATR에 설정되며, "End_of_Track"이 TKI#8의 TKI_BLK_ATR에 설정된다. 새로운 트랙 TrackD를 구성하기 위해 사용된 4개의 TKI인 TKI#2, TKI#4, TKI#7, TKI#8의 각각에는 TKI_LNK_PTR이 설정되어 TrackD의 다음 부분을 형성하는 TKI를 보여주므로 화살표 TL2, TL4, TL7로 나타낸 바와 같이 TKI#2의 TKI_LNK_PTR에는 TKI#4가 설정되고, TKI#4의 TKI_LNK_PTR에는 TKI#7 설정되고, TKI#7의 TKI_LNK_PTR에는 TKI#8이 설정된다.
그 다음에, TKI#2, TKI#4, TKI#7, TKI#8과 동일한 번호를 갖는 파일 "AOB002.SA1", "AOB004.SA1", "AOB007.SA1", "AOB008.SA1"이 생성되고, TrackD를 구성하는 4개의 AOB가 이들 4개의 파일에 저장된다.
TKI_LNK_PTR과 TKI_BLK_ATR을 적절히 설정함으로써 TKI#2, TKI#4, TKI#7, TKI#8을 이용하여 4번째의 트랙 TrrackD가 관리될 수 있다.
상술한 바와 같이, 새로운 트랙이 플래쉬 메모리카드(31)에 기록되면 "미사용"으로 설정된 TrackManager내의 TKI는 새로 기록될 트랙을 위해 사용되는 TKI로서 할당된다.
{17-5_22-18_29A,B} 2개의 트랙을 결합할 때 TKI의 설정
이하, 트랙결합시의 TKI의 갱신에 대해 설명하기로 한다(케이스 3).
도 29A 및 도 29B는 2개의 트랙이 새로운 하나의 트랙을 생성하도록 결합될 때 TKI가 어떻게 설정되는지를 보여준다. 도 29A의 예는 도 19와 동일한 TrackManager를 이용하며 사용자가 TrackC와 TrackD를 하나의 단일 트랙으로 결합 하기 위해 편집작업을 실행할 때의 경우를 나타내고 있다.
이 경우에, TrackC와 TrackD에 대응하는 AOB는 TKI#3 및 TKI#4에 대응하는 AOB 파일 "AOB003.SA1" 및 "AOB00.SA1"에 기록되므로, TKI#3 및 TKI#8 TKI_BLK_ATR은 다시 기록된다. 도 29B는 다시 기록후에 이들 TKI의 TKI_BLK_ATR를 나타낸다. 도 29A에서 TKI#3 및 TKI#8의 TKI_BLK_ATR은 "트랙"으로서 기록되나 도 28B에서 TKI#3의 TKI_BLK_ATR는 "Head_of_Track"에 다시 기록되고, TKI#8의 TKI_BLK_ATR은 "End_of_Track"으로서 다시 기록된다. 이러한 방식으로 TKI_BLK_ATR을 다시 기록함으로써 TKI#3 및 TKI#8에 대응하는 AOB파일 ""AOB003.SA1" 및 "AOB00.SA1"은 단일 트랙인 새로운 TrackC의 부분으로서 처리가 종료된다. 이러한 동작은 TKI#3의 TKI_LNK_PTR에 의해 수반되며 TKI#8을 표시하도록 다시 기록된다.
여기에서 TKI내의 TKI_BLK_ATR이 다시 기록되는 동안 AOB 파일 "AOB003.SA1", "AOB008.SA1"을 물리적으로 결합하기 위한 어떠한 처리도 실행되지 않는다는 점에 특히 주목할 필요가 있다. 그 이유는 AOB파일이 상이한 FileKey를 이용하여 각각 암호화되기 때문에, AOB파일을 결합할 때 각각의 AOB에 대하여 우선 암호화된 AOB파일을 암호해독한 다음 그것을 다시 재암호화하여 과도한 처리가 부담지워지는 2단계의 처리가 필수이다. 또한 이러한 방식으로 결합된 AOB파일은 단일 FileKey를 이용하여 암호화될 수 있으므로, 결합된 트랙이 그것을 생성하기 위해 사용되는 트랙을 덜 안정하게 한다.
TKI는 TKTMSRT의 크기를 억제하도록 원래 설계되어 있으므로 편집작업에 의한 AOB 파일의 물리적 결합은 TKI를 너무 커지게 하는 위험을 수반한다.
이러한 이유 때문에 트랙을 결합하는 편집작업은 암호화된 상태로 AOB 파일을 남겨두고, 단순히 TKI_BLK_ATR에 의해 주어진 속성만을 변경시킴으로써 달성된다.
{17-5_22-18_29A,B-1_30,31} 트랙을 결합할 때 만족해야 할 조건
트랙의 결합은 상술한 바와 같이 TKI_BLK_ATR속성을 변경함으로써 실행되나 결합된 트랙에 포함되는 AOB는 하기의 조건을 만족시켜야 한다.
제 1 조건은 새로운 트랙의 나중 부분을 구성하기 위한 AOB가 새로운 트랙의 처음 부분을 구성하는 AOB와 동일한 오디오 속성(오디오 코딩방식, 비트레이트, 샘플링 주파수, 채널수 등)가질 필요가 있다는 점이다. 만약 AOB가 AOB의 앞 또는 뒤에서 상이한 오디오 속성을 가지면 재생장치는 디코더의 동작을 재설정해야만 하며, 이로 인해 연속적인 AOB의 매끄러운(즉, 끊김이 없는) 재생이 어렵게 된다.
제 2 조건은 결합에 의해 생성되는 트랙에서는 AOB_FRAME의 수가 "FNs_Middle_TMSRTE"에 대해 요구되는 수보다 낮은 AOB_ELEMENT만으로 구성되는 3이상의 AOB가 링크될 수 없다는 점이다.
AOB는 적어도 하나의 AOB_ELEMENT가 "FNs_Middle_TMSRTE"에 대해 규정된 프레임의 수와 동일한 AOB_FRAME의 수를 포함하는지에 따라 2종류로 분류된다. 타입1 AOB는 AOB_FRAME의 수를 갖는 적어도 하나의 AOB_ELEMENT를 포함하지만, 타입2 AOB는 이러한 AOB_FRAME의 수를 가는 AOB_FRAME을 전혀 포함하지 않는다.
즉, 타입 2 AOB의 AOB_ELEMENT는 "FNs_Middle_TMSRTE"보다 작은 AOB_FRAME를 가지며, 제 2 조건은 3개의 타입 2 AOB가 서로 링크될 수 없다는 것을 규정한다.
제 2 조건에 대한 이유는 다음과 같다. 재생장치가 AOB를 연속적으로 판독할 때 비록 연속적인 타입2 AOB가 있을 때 달성될 수 없기는 하지만 재생장치의 버퍼에 충분한 수의 AOB_FRAME을 저장하는 것이 바람직하다. 이러한 경우에 재생장치의 버퍼에서 언더플로우가 발생될 것이므로 재생장치에 의한 연속재생이 더 이상 불가능하게 된다. 따라서 이러한 언더플로우를 피하기 위해서는 3 이상의 타입2 AOB가 링크될 수 없는 제 2 조건이 연속적으로 사용된다.
도 30A는 타입1 AOB를 도시하고, 도 30B는 타입2 AOB의 2개의 예를 도시한다. 도 30B에서, 양 AOB는 모두 2개의 AOB_ELEMENT 이하로 구성된다. AOB_ELEMENT이 어느 것도 "FNs_Middle_TMSRTE"에 대해 설정된 AOB_FRAME의 수를 포함하지 않는다. "FNs_Middle_TMSRTE"에 대해 설정된 AOB_FRAME의 수를 갖는 AOB_ELEMENT의 부재는 AOB가 타입2 AOB로서 분류되는 조건이다. 이것은 이 도면에 도시된 모든 AOB가 타입 2 AOB로서 분류된다는 것을 의미한다.
도 31A에서, 타입1+타입2+타입2+타입1 AOB를 단일 트랙으로 결합하는 것이 도시되어 있다. 이러한 결합이 3개의 타입2 AOB의 결합을 포함하지 않기 때문에 이들 AOB는 단일 트랙을 형성하도록 링크될 수 있다.
도 31B는 타입1+타입2+타입2+타입2+타입1 AOB를 단일 트랙으로 결합하는 것이 도시되어 있다. 이러한 결합은 3개의 연속적인 타입2 AOB의 결합을 포함하기 때문에 금지된다.
{17-5_22-18_29A,B-1_32} 타입1 및 타입1 AOB의 조합에 관한 트랙의 결합
도 31A에 도시된 단일 트랙으로 AOB를 결합할 때 만약 제 1 트랙 내의 마지 막 AOB가 타입1 AOB이면, 그 결합은 그 트랙의 제 1 부분이 타입1 AOB, 또는 타입2 AOB인지에 상관없이 실행될 수 있다. 도 32A는 제 1 트랙내의 마지막 AOB가 타입1 AOB이고 다음 트랙내의 제 1 AOB가 타입1 AOB인 경우를 도시한 것이다. 도 32B는 제 1 트랙내의 마지막 AOB가 타입1 AOB이고 다음 트랙내의 제 1 AOB가 타입2 AOB인 경우를 나타낸 도면이다. 제 2 조건이 이들 경우에 모두 만족되기 때문에 예시된 트랙은 단일 트랙으로 결합될 수 있다.
제 1 트랙내의 마지막 AOB가 타입2 AOB이고, 제 1 트랙내의 선행 AOB가 타입1 AOB이면, 이 제 1 트랙은 제 1 트랙내의 처음 AOB가 타입1 AOB 또는 타입2 AOB인지의 여부에 상관없이 타입1 AOB로 시작하는 다음 트랙과 결합될 수 있다.
도 32C는 제 1 트랙이 타입1 AOB 및 타입2 AOB의 순서로 종료되고 제 2 트랙이 타입1 AOB로 시작하는 경우를 나타낸 도면이다. 도 32D는 제 1 트랙이 타입1 AOB 및 타입2 AOB의 순서로 종료되고 제 2 트랙이 타입2 AOB 및 타입1 AOB의 순서로 시작하는 경우를 나타낸 도면이다. 제 2 조건이 이들 경우에 모두 만족되기 때문에 예시된 트랙은 단일 트랙으로 결합될 수 있다.
제 1 트랙이 타입2 AOB로 종료되고 바로 앞의 AOB가 또한 타입2 AOB이면 이 처음 트랙은 타입1 AOB로 시작하는 다음 트랙과 결합될 수 있다. 도 32E는 제 1 트랙이 2개의 타입2 AOB로 종료되고 제 2 트랙이 타입1 AOB로 시작하는 경우를 도시하고 있다. 제 2 조건이 이 경우에 만족되기 때문에 예시된 트랙은 단일 트랙으로 결합될 수 있다. 이러한 방식으로 2개의 트랙이 결합되면 2개의 트랙이 제 1 및 제 2 조건을 만족시키는지의 여부를 알기 위한 탐색이 실행되고, 만약 이들 조건이 만 족되는 것으로 판정되면 2개의 트랙이 결합될 뿐이다.
이하, 트랙이 분할되는 경우 케이스 4에 있어서의 TKI의 갱신에 대해 설명한다.
{17-5_22-19_33A,B} 트랙이 분할될 때 TKI에 대한 설정
도 33A 및 도 33B는 단일 트랙이 2개의 새로운 트랙을 생성하기 위해 분할될 때의 예를 도시한 것이다. 이들 예에 있어서, TrackManager의 콘텐츠는 도 27의 것과 동일하며, 사용자가 TrackC를 2개의 새로운 트랙 TrackC와 TrackF로 분할하는 편집작업을 실행하는 것으로 가정한다. TrackC가 새로운 트랙 TrackC와 TrackF로 분할되면 AOB파일 "AOB002.SA1"이 TrackF에 대응하여 생성된다. 도 33A는 TKI#2가 "미사용"으로 설정된 것을 도시한 도면이고, 이 TKI#2는 새로 생성된 AOB파일 "AOB002.SA1"에 할당된다.
{17-5_22-19_33A,B-1_34A,B} 디렉토리 엔트리와 FAT값의 갱신
AOB 파일 "AOB003.SA1"이 "AOB002.SA1"을 생성하도록 분할되면 디렉토리 엔트리와 FAT값은 갱신되어야만 한다. 이 갱신에 대해 설명하기로 한다. 도 34A는 AOB 파일 "AOB003.SA1" 이 속하는 SD-Audio 디렉토리내의 SD-Audio 디렉토리 엔트리가 파일이 분할되기 전에 어떻게 기록되는지를 보여주는 도면이다.
AOB파일 "AOB003.SA1"은 007, 008, 009, 00A, … 00D, 00E에 저장되는 복수의 부분으로 분할된다. 이 경우에, 디렉토리 엔트리에 부여된 AOB파일 "AOB003.SA1"에 대한 제 1 클러스터의 수는 "007"로서 기록된다. 값 (008), (009), (00A) … (00D), (00E) 또한 클러스터 007, 008, 009, 00A, … 00D, 00E에 대응하 는 FAT값 007, 008, 009, 00A, … 00D에 기록된다.
AOB 파일 "AOB003.SA1"은 그 뒷부분이 새로운 AOB파일 "AOB002.SA1"로 되도록 분할되면 새로운 AOB 파일 "AOB003.SA1"에 대한 "파일명", "파일명 확장자", "파일내의 제 1 클러스터의 수"는 SD-Audio 디렉토리 엔트리에 부가된다. 도 34B는 AOB파일 "AOB003.SA1"이 속하는 SD-Audio 디렉토리내의 SD-Audio 디렉토리 엔트리가 AOB파일 "AOB003.SA1"가 분할된 후 어떻게 기록되는지를 보여준다.
도 34B에서, 클러스터 OOF는 파일 분할후 사용자에 의해 표시된 경계를 포함하는 클러스터 00B의 사본을 저장한다. 클러스터 00B에 포함된 부분 다음의 AOB파일 "AOB002.SA1"의 부분들은 전처럼 클러스터 00C, 00D, 00E에 저장된다. AOB 파일 "AOB002.SA1"의 제 1 부분은 클러스터 00F에 저장되고 나머지 부분은 클러스터 00C에 저장되기 때문에 00D, 00E, 00F는 새로운 AOB 파일 "AOB002.SA1"에 대하여 "파일내 제 1 클러스터의 수"로 기록되나, (00C), (00D), (00E)는 클러스터 00F, 00C, 00D, 00E에 대응하는 FAT값에 기록된다.
{17-5_22-19_33A,B-2_35A,B} TKI내의 정보필드의 설정
이하, TKI 내의 정보필드가 어떻게 AOB파일 "AOB002.SA1"에 대하여 설정되는지를 설명하기로 한다. 일단 이 파일은 디렉토리 엔트리와 FAT값을 갱신함으로써 얻어진다. 분할된 트랙에 대하여 TKI를 생성할 때 TKI에는 2종류의 정보필드가 있다. 이들은 (1) 원래의 TKI로부터 복사될 수 있는 정보와, (2) 원래의 TKI에 있는 정보를 갱신함으로써 얻어지는 정보이다. TKTXTI_DA와 ISRC는 이전의 타입이지만, BIT, TKTMSRT와 다른 정보는 나중 타입이다. 양 타입의 정보가 모두 존재하기 때문 에 본 실시예는 새로운 TKI에 대한 템플릿을 생성하기 위해 원래의 TKI를 복사하고, 이 템플릿 내의 TKTMSRT와 BIT를 분할/갱신하며, 나머지 정보필드를 갱신함으로써 분할된 트랙에 대한 TKI를 생성한다.
도 35A는 AOB내의 AOB_FRAME이 분할되는 경우를 나타낸다. 도 35A의 제 1 레벨은 4개의 AOB_ELEMENT인 AOB_ELEMENT#1, AOB_ELEMENT#2, AOB_ELEMENT#3, AOB_ELEMENT#4를 보여준다. 이들 AOB_ELEMENT의 데이터 길이는 4개의 TMSER-ENTRY #1, #2, #3, #4로서 TKTMSRT에 설정된다. 만약 분할에 대한 경계 bd1이 도 35a의 AOB_ELEMENT#2에 설정되면, AOB_ELEMENT#2는 경계 bd1 앞에 위치한 프레임으로 구성되는 제 1 영역(1)과 경계 bd1 뒤에 위치한 프레임으로 구성되는 제 2 영역(2)으로 분할된다. 도 35B는 AOB_ELEMENT#2의 AOB 중간을 분할하여 구한 2개의 AOB인 AOB#1과 AOB#2를 보여준다.
{17-5_22-19_33A,B-3_36} BIT의 설정
도 36은 AOB가 도 35에 도시된 바와 같이 분할될 때 BIT가 어떻게 설정되는지를 보여준다. 도 35에 도시된 AOB는 경계 bd1에서 분할된다. 이 분할에 의해 생성된 AOB#1은 2개의 AOB_ELEMENT인 AOB_ELEMENT#1과 AOB_ELEMENT#2를 포함하지만, 이 분할에 의해 생성된 다른 AOB#2는 3개의 AOB_ELEMENT인 AOB_ELEMENT#1, AOB_ELEMENT#2, AOB_ELEMENT#3을 포함한다.
도 36에서 이들 AOB_ELEMENT는 이들 AOB에 대응하는 TKI에 포함된 TMSRT_entry의 설정을 보여주기 위해 3각형 깃발로 부여되어 있다. 우선 이 분할에 의해 얻어지는 AOB#1에 대해 집중적으로 설명하기로 한다. AOB#1에 포함된 AOB_ELEMENT#1과 AOB_ELEMENT#2는 클러스터 007에서 클러스터 00A를 점유하므로 AOB#1은 클러스터 007에서 클러스터 00A까지의 합성인 것으로서 취급한다. AOB#1의 AOB_ELEMENT#2는 클러스터 00A에서 끝나지 않으나 클러스터 00A 내에 존재하는 경계 bd1에서 끝나는 데이터 길이를 가지므로 AOB#1에 대한 SZ-DATA는 영역 md0으로부터 클러스터 00A의 경계 bd1까지의 데이터 양으로서 주어진다. AOB#1에 대한 "FNs_1st_TMSRTE"는 분할전과 동일하나, AOB#1에 대한 "FNs_last_TMSRTE"는 그것이 분할전 AOB_ELEMENT#2의 처음부터 경계 bd1까지의 프레임수를 나타낸다는 점에서 분할전에 사용된 값과 다르다.
이하, 이 분할에 의해 구해진 AOB#2에 대해 설명하기로 한다. AOB#2에 포함된 AOB_ELEMENT#1, AOB_ELEMENT#2, AOB_ELEMENT#3은 클러스터 00B에서 클러스터 007까지를 점유한다. 클러스터 00F는 클러스터 00A의 콘텐츠의 사본을 포함한다. 클러스터 00F가 클러스터 00A의 사본을 저장하는 이유는 클러스터 00A가 AOB_ELEMENT#2에 의해 점유되어 다른 클러스터를 AOB#2내의 AOB_ELEMENT#1에 할당하는 것이 필수적이기 때문이다.
AOB#2내의 AOB_ELEMENT#1은 클러스터 OOF의 처음에 시작하지 않으나 클러스터 00F에 존재하는 경계 bd1에서 시작하므로 AOB#2에 대한 SZ-DATA는 AOB_ELEMENT#12에 의해 점유된 클러스터 00F의 부분의 데이터 길이 더하기 클러스터 00B로부터 클러스터 00E의 중간지점까지의 데이터의 양으로서 주어진다.
클러스터 00F에 저장된 클러스터 00A의 사본에 포함된 AOB#1내의 AOB_ELEMENT#2의 부분은 AOB#2에서 배체될 필요가 있으므로 AOB#2의 BIT내의 DATA_Offset 필드는 클러스터 00F에 포함된 AOB#1 내의 AOB_ELEMENT#2의 크기로 설정된다.
도 36으로부터 알 수 있는 바와 같이, AOB의 분할에 의해 분할을 위한 경계를 포함하는 AOB_ELEMENT만이 2개로 그리고 AOB의 분할에 의해 변하지 않고 남아있는 분할된 AOB_ELEMENT의 전후에 위치된 다른 AOB_ELEMENT로 분할된다. 결국 AOB#2의 "FNs_last_TMSRTE"는 분할전에 "AOB_ELEMENT#4"에 대한 동일한 값으로 설정값으로 설정되며, AOB#2의 "FNs_1st_TMSRTE"는 AOB#2의 AOB_ELEMENT#1, 즉, 일단 AOB_ELEMENT#2가 분할된 경계 다음의 부분에 포함되는 프레임의 수로 설정된다.
{17-5_22-19_3A,B-4_37} BIT의 설정
도 37은 트랙의 분할결과로서 BIT 변화의 보다 특정한 예를 보여준다. 도 37의 좌측은 분할전 BIT의 설정예를 보여준다. 이 BIT에서, Data_Offset는 "X"로서 설정되고, SZ-DATA는 "52428"로서 설정되며, TMSRTE_Ns는 "n"으로 설정된다. FNs_1st_TMSRTE는 "80 프레임"으로 설정되며, FNs_Middle_TMSRTE는 "94프레임"으로 설정되고, FNs_last_TMSRTE는 "50 프레임"으로 설정된다.
도 37의 우측은 트랙의 분할에 의해 생성된 2개의 BIT의 설정을 도시한 것이다. 도 37의 좌측에 있는 BIT에 대응하는 AOB가 도 35A에 도시된 바와 같이 분할되면, 분할에 의해 생성된 제 1 트랙의 BIT내의 Data_Offset는 분할전 트랙과 같은 "X"로 설정되고, "SZ_DATA"는 처음부터 분할지점 Q까지의 데이터 길이로 갱신되며, TMSRTE_Ns는 제 1 TMSRT_entry에서 k번째 TMSRT-entry까지의 TMSRT_entry의 수를 나타내는 "k"로 설정된다. FNs_1st_TMSRTE와 FNs_Middle_TMSRTE는 분할전의 BIT와 마찬가지 방식으로 각각 "80"과 "94"로 프레임으로 설정되나, 분할에 의해 생성된 제 1 트랙의 AOB에 최종 AOB_ELEMENT가 "p" AOB_FRAME을 포함하기 때문에 FNs_last_TMSRTE는 "p프레임"으로 설정된다.
분할에 의해 생성된 제 2 트랙의 BIT에서 "Data_Offset"은 "R"로 설정되며, "SZ_DATA"는 (원래의 SZ#DATA "52428"-분할지점 Q까지의 데이터 길이)로 설정되고, TMSRTE_Ns는 k번째의 TMSRT_entry로부터 n번째의 TMSRT_entry까지의 TMSRT_entry의 수에 1(분할의 결과로서 새롭게 추가된 k번째의 TMSRT_entry에 대한 것)을 가산하여 생성된 "n-k+1"로 설정된다. FNs_Middle_TMSRTE과 FNs_last_TMSRTE는 분할전의 BIT와 동일한 값, 즉 "94 프레임"과 "50 프레임"으로 설정된다.
이 제 2 트랙의 AOB내의 처음 AOB_ELEMENT는 "94-p" AOB_FRAME을 포함하므로, "94-p"는 이 트랙에 대응하는 BIT의 FNs_1st_TMSRTE에 설정된다.
{17-5_22-19_33A,B-5_38} BIT의 설정
도 38은 분할후의 TKTMSRT를 도시한 것이다. 이하, TMSRT의 설정에 대해 먼저 설명하기로 한다. 제 1 트랙의 TMSRT는 분할전 AOB의 제 1 TMSRT_entry로부터 k번째의 TMSRT_entry까지의 TMSRT_entry, 즉 TMSRT_entry#1~#k를 포함한다.
여기에서 분할에 대한 경계를 포함하는 AOB_ELEMENT#k는 영역 (1)을 포함할 뿐이므로 k번째 TMSRT_entry는 이 영역(1)에 대응하는 데이터 크기를 포함할 뿐이라는 점을 주목하여야 한다. 제 2 트랙의 TMSRT는 분할전의 AOB의 k번째 TMSRT_entry로부터 n번째 TMSRT_entry까지의 TMSRT_entry, 즉 TMSRT_entry#k~#n을 포함한다. 여기에서 분할에 대한 경계를 포함하는 AOB_ELEMENT#k는 영역 (2)를 포 함할 뿐이므로 k번째 TMSRT_entry는 이 영역(2)에 대응하는 데이터 크기를 포함할 뿐이라는 점을 주목하여야 한다.
KTI의 복사는 TKTMSRT 및 BIT의 분할 및 갱신에 의해 점유되고, 일단 나머지 정보가 갱신되면 분할에 의해 생성된 새로운 트랙에 대한 TKI가 완성될 것이다. 트랙을 결합할 때와 동일한 방식으로 AOB파일은 암호해독되므로 2개의 트랙은 AOB파일을 그 암호화된 상태로 분할함으로써 생성될 수 있다. AOB 파일의 분할은 암호해독 및 재암호화를 포함하지 않기 때문에 트랙 분할의 부담을 처리하는 것이 억제될 수 있다. 이것은 한정된 처리능력으로 재생장치에 의해 트랙을 편집할 수 있다는 것을 의미한다.
이것으로 TKI의 설명을 마치기로 한다. 이하 플레이리스트에 대해 설명하기로 한다.
{17-6} PlaylistManager
도 17에 점선 h5로 도시한 바와 같이 도시된 PlaylistManager는 플래쉬 메모리카드(31)에 저장된 플레이리스트를 관리하기 위한 Playlist_Information(PLMGI), 플래쉬 메모리카드(31)에 저장된 모든 트랙을 관리하기 위한 Default_Playlist_Information(DPLI), 및 PlaylistInforamtion으로 구성된다. 점선 h6으로 나타낸 바와 같이, DPLI는 Default_Playlist_Track_Search_Pointer(DPLI), Default_Playlist_Information(DPL_TK_SRP) #1, #2, #3, #4 … #m으로 구성된다. 점선 h7로 나타낸 바와 같이, 각각의 PLI는 Playlist_General_Information(PLGI), Playlist_Track_Search_Pointer(PL_TK_SRP) #1, #2, #3, #4 … #m으로 구성된다.
여기에서 언급된 DPLI는 다음의 방식에서 각각의 PLI와 다르다. DPLI는 플래쉬 메모리카드(31)에 저장된 모든 트랙을 표시하여야만 하지만 PLI는 이러한 제한을 가질 필요가 없으며 임의의 수의 트랙을 표시할 수 있다. 이것은 사용자에 대한 다양한 가능성을 열어 놓는다. 대표적인 예로서 사용자는 단지 그가 선호하는 트랙만을 표시하는 Playlist_Information을 생성하여, 이 Playlist_Information을 플래쉬 메모리카드(31)에 저장할 수 있거나, 플래쉬 메모리카드(31)에 저장된 복수의 트랙중에서 일정 장르의 트랙을 표시할 뿐인 Playlist_Information을 재생장치가 자동으로 생성하여 그 결과의 Playlist_Information을 플래쉬 메모리카드(31)에 저장하게 할 수 있다.
{17-7_18} 플레이리스트와 그들의 데이터 크기의 수
도 18에 도시된 바와 같이, 최대 99개의 플레이리스트가 하나의 플래쉬 메모리카드(31)에 저장될 수 있다. PlaylistManager_Information(PLMGI)과 Default_Playlist_Information(DPLI)의 결합된 데이터크기 또한 2,560바이트로 고정된다. 각각의 PLI는 512바이트의 고정된 길이를 갖는다. 디폴트 플레이리스트 정보에 포함된 "DPL_TK_SRP"는 "DPL_TK_ATR" 및 "DPL_TKIN"을 포함한다. 한편, PLI에 포함된 "PL_TK_SRP"필드는 "PL_TK_SRP"만을 포함한다. "DPL_TK_ATR", "DPL_TK_TKIN" 및 "PL_TKIN" 필드는 도 39에 도시되어 있다.
{17-8_39-1} DPL_TK_SRP의 포맷
도 39A는 DPL_TK_SRP의 포맷도이다. 도 39A에서, DPL_TKIN은 DPL_TK_SRP의 0번째~9번째 비트에 기록되나 DPL_TK_ATR는 13번째~15번째 비트에 기록된다. DPL_TK_SRP의 10번째 ~ 12번째 비트는 장래의 사용을 위해 예약되어 있다.
TKI번호는 DPL_TK_SRP에서 0번째 ~ 9번째 비트를 점유하는 DPL_TKIN에 기록된다. 이것에 의해 TKI가 특정된다.
{17-9_39B} PL_TK_SRP의 포맷
도 39B는 PL_TK_SRP의 포맷도이다. 이것은 PL_TKIN, 즉 TKI번호가 기록되는 10비트 필드이다.
{17-8_39A-2} DPL_TK_ATR의 구성
도 39A에서 DPL_TK_ATR로부터 연장된 점선 h51 및 h52는 DPL_TK_ATR의 설정예를 보여준다. 이 도면으로부터 알 수 있는 바와 같이, DPL_TK_ATR은 TKI_BLK_ATR이 TKI에 대하여 설정되는 것과 동일한 방식으로, DPL_TK_SRP에 대하여 설정된다. 즉, DPL_TK_ATR이 "Track", "Head_of_Track", "Midpoint_of_Track", "End_of_Track" 중의 어느 하나로 설정된다.
보다 상세하게는 TKIN에 의해 표시된 TKI가 사용되고 하나의 완전한 트랙에 대응하는 오디오 오브젝트(AOB)가 표시된 TKI에 대응하여 AOB파일에 기록되면(즉, TKI의 TKI_BLK_ATR이 "트랙"이면) 값 "00b"가 "DPL_TK_ATR"에 설정된다.
TKIN에 의해 표시된 TKI가 사용되고 트랙의 처음에만 대응하는 오디오 오브젝트(AOB)가 표시된 TKI에 대응하여 AOB파일에 기록되면(즉, TKI의 TKI_BLK_ATR이 "Head_of_Track"이면) 값 "001b"가 "DPL_TK_ATR"에 설정된다. TKIN에 의해 표시된 TKI가 사용되고 트랙의 중간부분에만 대응하는 오디오 오브젝트(AOB)가 표시된 TKI에 대응하여 AOB파일에 기록되면(즉, TKI의 TKI_BLK_ATR이 "Midpoint_of_Track"이 면) 값 "010b"가 "DPL_TK_ATR"에 설정된다. TKIN에 의해 표시된 TKI가 사용되고 트랙의 마지막 부분에 대응하는 오디오 오브젝트(AOB)가 표시된 TKI에 대응하여 AOB파일에 기록되면(즉, TKI의 TKI_BLK_ATR이 "End_of_Track"이면) 값 "011b"가 "DPL_TK_ATR"에 설정된다.
반대로 TKIN에 의해 표시된 TKI가 미사용이고, TKI가 삭제될 때에 대응하여 TKI영역이 간단히 확정되면(즉, TKI_BLK_ATR이 "미사용"이면) 값 "001b"가 "DPL_TK_ATR"에 설정된다.
TKIN에 의해 표시된 TKI가 미사용이고, TKI영역이 확정되지 않으면 즉, TKI가 초기상태에 있으면 값 "101b"가 "DPL_TK_ATR"에 설정된다.
TKI의 수가 DPL_TKIN에 기록되기 때문에 복수의 TKI중 어느 것이 각 DPL_TK_SRP에 대응하는지가 분명하다. Default_Playlist_Information내의 DPL_TK_SRP의 위치는 DPL_TK_SRP에 차례로 대응하는 TKI에 대응하는 AOB가 언제 재생되는지를, 즉 Default_Playlist에서 AOB의 순서위치를 ㅂ보여준다. 결국, Default_Playlist에서의 DPL_TK_SRP의 순서는 복수의 트랙이 재생될 순서를 나타내거나 트랙의 재생순서를 결정할 것이다.
{17-9_40-1} Default_Playlist_Information, TKI 및 AOB 파일간의 상관관계
도 40은 Default_Playlist_Information, TKI 및 AOB 파일간의 상관관계를 나타낸 도면이다. 이 도면에서 제 2, 제 3, 및 제 4 레벨은 도 19의 제 1, 제 2, 및 제 3 레벨과 동일하며, 8개의 TKI와 8개의 AOB파일을 포함하는 TrackManager를 나타나 있다. 도 40은 Default_Playlist_Information을 나타내는 박스가 제 1 레벨로 주어져 있다는 점에서 도 19와 다르다. 이 박스에 도시된 8개의 작은 분할부는 Default_Playlist_Information에 포함된 8개의 DPL_TK_SRP를 나타내고 있다. 각 분할부의 상부는 DPL_TK_ATR을 나타내고 있으나 하부는 DPL_TKIN을 나타내고 있다.
도 40에서 화살표 DT1, DT2, DT3, DT4 …로 도시된 바와 같이, DPL_TK_SRP#1 과 TKI#1이 관련되어 있고, 마찬가지로 DPL_TK_SRP#12와 TKI#2, DPL_TK_SRP#3과 TKI#3, DPL_TK_SRP#4와 TKI#4가 관련되어 있다.
DPL_TK_SRP의 DPL_TK_ATR 필드를 보면 "트랙"이 각각의 DPL_TK_SRP#1, DPL_TK_SRP#2, DPL_TK_SRP#3, DPL_TK_SRP#8에 대하여 설정되어 있는 것을 알 수 있다. 즉, 4개의 조합 DPL_TK_SRP#1→TKI#1("AOB001.SA1"), DPL_TK_SRP#2 →TKI#2("AOB002.SA1"), DPL_TK_SRP#3 →TKI#3("AOB003.SA1"), DPL_TK_SRP#8 →TKI#1("AOB008.SA1")이 4개의 별개의 트랙에 대응한다.
한편, DPL_TK_SRP#4, DPL_TK_SRP#5, DPL_TK_SRP#6, DPL_TK_SRP#7중의 어느 것도 "트랙"으로서 설정된 DPL_TK_ATR를 가지지 않는다. 대신 DPL_TK_ATR의 DPL_TK_SRP#4가 "Head_of_Track"에서 설정되고, DPL_TK_SRP#7의 DPL_TK_ATR이 "End_of_Track"에서 설정되고, DPL_TK_SRP#5와 DPL_TK_SRP#6의 DPL_TK_ATR이 "Midpoint_of_Track"에서 설정된다.
이것은 DPL_TK_SRP#4에 관계된 TKI#4("AOB004.SA1")가 트랙의 시작이고, 각각 DPL_TK_SRP#45와 DPL_TK_SRP#6에 관련된 TKI#5("AOB005.SA1")와 TKI#6("AOB006.SA1")이 트랙의 중간부분이며, DPL_TK_SRP#7에 관련된 TKI#7("AOB007.SA1")이 트랙의 마지막이다. 디폴트 플레이리스트(DefaultPlaylist) 내의 DPL_TK_SRP 엔트리는 각 TKI에 대응하는 AOB가 어떤 순서로 재생되는지를 보여준다. 도 40의 디폴트 플레이리스트에 있는 DPL_TK_SRP#1, #2, #3, #4 … #8의 DPL_TKIN은 TKI#1, #2, #3, #4 … #8을 표시한다. 화살표 (1), (2), (3), (4), … (8)로 도시된 바와 같이, TKI#1에 대응하는 AOB파일 "AOB001.SA1"이 먼저 재생되고, TKI#2에 대응하는 AOB파일 "AOB002.SA1"이 두번째로 재생되며, TKI#3에 대응하는 AOB파일 "AOB003.SA1"이 세번째로 재생되고, TKI#4에 대응하는 AOB파일 "AOB004.SA1"이 네번째로 재생될 것이다.
{17-10_41} DefaultPlaylist와 Playlist_Information에 대한 설정예
도 41은 도 40과 동일한 기호를 사용하여 Default_Playlist와 Playlist_Information에 대한 설정예를 나타낸 도면이다. 도 41에서, 제 1 레벨에 있는 박스는 Default_Playlist를 나타내나, 제 2 레벨의 3개의 박스는 PLI를 나타낸다.
Default_Playlist를 나타내는 박스내의 작은 분할부는 Default_Playlist에 포함된 8개의 DPL_TK_SRP값을 나타내나, 각 PLI를 예시한 박스내의 작은 분할부는 3개 또는 4개의 PL_TK_SRP값을 보여준다. Default_Playlist_Information에 포함된 각 DPL_TK_SRP의 TKIN의 설정은 도 40의 것과 동일하다. 그러나 각 PLI에 포함된 PL_TK_SRP의 TKIN의 설정은 DPL_TK_SRP의 그것들과는 완전히 다르다.
{17-10_42} DPL_TK_SRP와 TKI 사이의 대응
도 42는 도 40과 동일한 기호를 사용하여 DPL_TK_SRP와 TKI 사이의 대응을 나타낸 도면이다. 도 42에서 Playlist#1은 PL_TK_SRP#1, #2, #3으로 구성된다. 이 들 중 #3은 PL_TK_SRP#1의 PL_TKIN으로서 기록되나 #1은 PL_TK_SRP#2의 PL_TKIN으로서, #2는 PL_TK_SRP#3의 PL_TKIN으로서 기록된다. 이것은 트랙이 Playlist#1에 띠라 재생될 때 복수의 AOB는 화살표 (11), (12), (13)으로 도시된 바와 같이 AOB#3, AOB#1, AOB#2의 순서로 재생될 것이라는 것을 의미한다.
Playlist#2는 PL_TK_SRP#1, #2, #3으로 구성된다. 이들 중 #8은 PL_TK_SRP#1의 PL_TKIN으로서 기록되나 #3은 PL_TK_SRP#2의 PL_TKIN으로서, #1은 PL_TK_SRP#3의 PL_TKIN으로서 기록된다. 이것은 트랙이 Playlist#2에 따라 재생될 때 복수의 AOB는 화살표 (21), (22), (23)으로 도시된 바와 같이 AOB#8, AOB#3, AOB#1의 순서, 즉 Playlist#1과 완전히 다르게 재생될 것이라는 것을 의미한다.
Playlist#3은 PL_TK_SRP#1, #2, #3, #4로 구성된다. 이들 PL_TK_SRP#1~#4의 PL_TKIN은 각각 #8, #4, #3, #1로 설정된다. 이것은 트랙이 Playlist#3에 따라 재생될 때 복수의 AOB가 다음과 같이 재생될 것이라는 것을 의미한다. 먼저 TrackE를 구성하는 AOB#8은 화살표 (31)로 도시된 바와 같이 재생된다. 다음으로 TrackD를 구성하는 AOB#4, AOB#5, AOB#6, 및 AOB#7은 화살표 (32)로 도시된 바와 같이 재생된다. 그 다음에 TrackC와 TrackD를 각각 구성하는 AOB#3과 AOB#1은 화살표 (33)과 (34)로 도시된 바와 같이 재생된다.
여기에서 특별히 주목할 것은 트랙이 복수의 TKI로 구성될 때 트랙의 처음 TKI번호만 PL_TK_SRP 엔트리에 기록된다는 점이다. 보다 구체적으로, Default_Playlist_Information에 주어진 DPL_TK_SRP값은 TrackD를 구성하는 4개의 TKI(TKI#4, TKI#5, TKI#6, TKI#7)를 특정하나, Playlist_Information의 세트에 주 어진 DPL_TK_SRP는 모든 4개의 TKI를 표시할 필요가 없다. 이러한 이유로 Playlist#3에 있는 PL_TK_SRP#2는 TKI#4~TKI#7 중의 TKI#4를 표시할 뿐이다.
한편 복수의 DK_TK_SRP를 포함하는 DPLI는 하나의 섹터보다 크지 않은 데이터 크기를 가지며, 항상 재생장치의 RAM에 실린다. 트랙이 Playlist에 따라 재생되면 재생장치는 그 RAM에 실린 DK_TK_SRP를 참조하므로 고속으로 TKI에 대한 검색을 할 수 있다. 단지 제 1 TKI의 TKI수만을 표시할 뿐인 DK_TK_SRP를 이용하여 TKI(AOB)를 재생하기 위해서는 재생장치가 DK_TK_SRP에 의해 표시된 TKI에 기초하여 그 RAM에 실린 DPL_TK_SRP를 검색하고, 현재의 트랙이 복수의 TKI로 구성되는지의 여부를 판정한다. 판정결과가 긍정이면 재생장치는 모든 대응 TKI(AOB)를 재생하기 위한 적절한 절차를 실행한다.
상술한 바와 같이, Default_Playlist와 복수의 PLI는 Playlist_Manager에 기록된다. 만약 상이한 재생순서가 DPL_TK_SRP의 DPL_TKIN 및 PL_TKIN과, 이러한 플레이리스트를 구성하는 PL_TK_SRP에 기록되면 상이한 순서로 재생이 가능하게 된다. 사용자에게 이러한 방식으로 다양한 재생순서가 제공되면 사용자는 플래쉬 메모리카드(31)에 저장된 음악앨범의 수에 대한 인상을 부여받을 수 있다.
여기에서 특별히 주목할 것은 AOB파일에 대응하는 DPL_TK_SRP의 데이터 크기가 작지만(2바이트 이하) AOB파일에 대응하는 데이터 크기는 크다는 것이다(1,024바이트까지). TrackManager에서 TKI를 재정리할 때 플래쉬 메모리카드(31)에 많은 액세스가 행해질 필요가 있으나, DPL_TK_SRP가 Default_Playlist_Information에서 재정리되면 보다 적은 수의 액세스로 그것이 실행될 수 있다.
이러한 관점에서, 네비게이션 데이터가 편집되면 Default_Playlist내의 DPL_TK_SRP의 순서는 편집작업에 따라 활발하게 변경되나, TrackManager에서의 TKI의 순서는 편집작업중임에도 불구하고 변하지 않고 남아 있다.
{17-9_40-2_43A,B} DPL_TK_SRP의 재정리
이하, Default_Playlist_Information의 DPL_TK_SRP를 재정리함으로써 트랙의 재생순서를 변경하는 편집작업에 대해 설명하기로 한다. 도 43A 및 도 43B는 트랙 재정리의 일례를 도시한 도면이다. 도 43A에서 DPL_TK_SRP와 TKI의 설정은 도 40과 동일하다.
도 40A에서 DPL_TK_SRP#3의 DPL_TKIN은 TKI#3으로 설정되나 DPL_TK_SRP#8의 DPL_TKIN은 TKI#8로 설정된다. 이하, 도 40A에서 두꺼운 외곽선을 갖는 이들 DPL_TK_SRP가 교환되는 경우를 설명하기로 한다.
도 43B에서 번호 (1)(2)(3)(4)(5)(6)(7)(8)은 이 편집작업이 끝난 후의 트랙의 재생순서를 보여준다. 여기에서 도 43A에 도시된 재생순서는 TrackA, TrackB, TrackC, TrackD, TrackE이지만 도 43B에서 DPL_TK_SRP#3과 DPL_TK_SRP#8의 DPL_TKIN은 Default_Playlist_Information에서 교환되므로 트랙은 TrackA, TrackB, TrackC, TrackD, TrackE의 순서로 재생될 것이다. 이러한 방식으로 트랙의 재생순서는 Default_Playlist_Information의 DPL_TK_SRP의 순서로 변경함으로써 용이하게 변경될 수 있다.
상술한 설명은 트랙의 순서를 변경하는 편집작업에 관한 것이나, 이하, TKI의 변경에 대한 4개의 동작에 대해 설명하기로 한다. 이들 동작은 트랙이 삭제되는 제 1 경우(케이스 1), 새로운 트랙이 기록되는 제 2 경우(케이스 2), 2개의 자유롭게 선택된 트랙이 새로운 트랙을 생성하도록 결합되는 제 3 경우(케이스 3), 트랙이 분할되어 새로운 2개의 트랙이 생성되는 경우(케이스 4)가 있다.
{17-9_40-3_44A,B} 트랙의 삭제
이하, 트랙이 삭제되는 케이스 1에 대해 설명하기로 한다.
도 44A 및 도 44B는 도 40에 도시된 Default_Playlist중에서 DPL_TK_SRP#2ㅘ TKI#2가 삭제될 때 Default_Playlist, TrackManager 및 AOB파일이 어떻게 갱신되는지를 보여준다. 이들 도면에서 AOB의 동일한 부분은 TKI의 삭제를 설명하기 위해 사용되는 것이며, 도 27에서 처럼 삭제된다. 결국 도 44A 및 도 44B의 제 2, 제 3, 제 4레벨은 도 27과 동일하다. 도 27과 다른 점은 복수의 DPL_TK_SRP를 포함하는 Default_Playlist_Information이 도 40과 동일한 방식으로 제 1 레벨에 부여된다는 점이다.
본 실시예는 사용자가 도 44A에서 두꺼운 외곽선으로 도시한 DPL_TK_SRP#2 →TKI#2("AOB002.SA1")로 구성된 TrackB를 삭제하였을 때의 경우를 다룬 것이다. 이 경우에 DPL_TK_SRP#2는 Default_Playlist_Information으로부터 삭제되며, DPL_TK_SRP#3 ~ DPL_TK_SRP#8은 각각 재생순서가 하나씩 올라가 DPL_TK_SRP#2의 삭제에 의해 공급되는 순서로 자리를 채울 것이다.
DPL_TK_SRP가 이러한 방식으로 올라가면 최종 DPL_TK_SRP#8은 "미사용"으로서 설정된다. 한편, 삭제된 부부에 대응하는 TKI는 삭제에 의해 생성된 공간을 채우도록 다른 TKI가 이동하지 않고도 도 27A 및 도 27B에 도시된 바와 같이 "미사 용"으로 설정된다. TKI의 삭제는 또한 AOB파일 "AOB002.SA1"의 삭제에 의해 동반된다.
이러한 방식으로 DPL_TK_SRP는 재생순서대로 올라가지만 TKI는 이동하지 않으므로 도 44B에서 DPL_TK_SRP의 DPL_TKIN만이 갱신된다. 이러한 예로서 DPL_TK_SRP#2의 DPL_TKIN은 화살표 DT11로 도시된 바와 같이 TKI#3을 표시하도록 설정되고, DPL_TK_SRP#3의 DPL_TKIN은 화살표 DT12로 도시된 바와 같이 TKI#4를 표시하도록 설정되며, DPL_TK_SRP#4의 DPL_TKIN은 TKI#5를 표시하도록 설정되고, DPL_TK_SRP#5의 DPL_TKIN은 TKI#6을 표시하도록 설정된다. "미사용"으로 설정된 DPL_TK_SRP#8의 DPL_TKIN은 화살표 DT13으로 도시된 바와 같이 TKI#2를 표시하도록 설정된다.
트랙이 삭제되면 재생순서대로 다음 트랙을 위해 사용되는 DPL_TK_SRP가 올라가지만 삭제된 트랙에 대응하는 TKI는 현재 위치에 남아있는 동안 "미사용"으로 설정된다. 이러한 방식으로 편집작업은 TKI의 이동에 의해 수반되지 않으며, 이것은 트랙을 편집할 때 처리부담을 억제해준다.
{17-9_40-4_45A,B} 트랙을 기록할 때 TKI의 할당
이하, 트랙의 부분삭제후 새로운 트랙이 기록되는 케이스 2에 대해 설명하기로 한다. 도 45A 및 45B는 "미사용" TKI와 DPL_TK_SRP가 존재할 때 새로운 TKI와 DPL_TK_SRP를 기록하는 동작이 어떻게 실행되는지를 보여준다.
이들 도면은 "미사용"으로 설정된 TKI에 새로운 TKI를 할당하는 것을 설명하기 위해 사용되는 도 28A 및 도 28B와 거의 동일하다. 도 45A 및 도 45B에서 제 2, 제 3 및 제 4 레벨은 도 28A 및 도 28B의 처음 3개 레벨과 동일하다. 이들 도면들 사이의 차이점은 도 45A 및 도 45B의 제 1 레벨이 복수의 DPL_TK_SRP로 구성된 Default_Playlist_Information을 보여준다는 점이다. 도 45A에서 DPL_TK_SRP#4 ~ DPL_TK_SRP#8은 "미사용"으로서 설정된다. 한편, 도 28에서 TKI#2, TKI#4, TKI#5, TKI#7, TKI#8은 "미사용"으로서 설정된다.
"미사용"으로 설정된 TKI는 TrackManager의 여기 저기에 존재하나, "미사용" DPL_TK_SRP는 Default_Playlist_Information에서 서로에 대하여 다음에 위치된다. 이로 인해 사용된 DPL_TK_SRP가 Default_Playlist_Information에서는 상술한 바와 같이 위로 움직이나 TKI에 대해서는 이러한 이동이 실행되지 않는다.
이하, 4개의 AOB로 구성된 TrackD가 기록될 때의 경우를 설명하기로 한다. 이들 4개의 AOB에 대한 TKI는 각각 TrackManager 내의 다음의 "미사용" TKI인 TKI#2, TKI#4, TKI#7, TKI#8에 기록된다.
이들 4개의 AOB에 대한 DPL_TK_SRP는 Default_Playlist_Information의 DPL_TK_SRP#4~DPL_TK_SRP#7에 기록된다. 이들 4개의 AOB는 단일 트랙을 구성하기 때문에 DPL_TK_SRP#4의 DPL_TK_ATR은 "Head_of_Track"으로 설정되고, DPL_TK_SRP#5의 DPL_TK_ATR은 "Middle_of_Track"로 설정되며, DPL_TK_SRP#6의 DPL_TK_ATR은 "End_of_Track"로 설정된다.
DPL_TK_SRP#4의 DPL_TKIN은 TKI#2로 설정되며, DPL_TK_SRP#5의 DPL_TKIN은 TKI#4로 설정되고, DPL_TK_SRP#6의 DPL_TKIN은 TKI#7로 설정되며, DPL_TK_SRP#7의 DPL_TKIN은 TKI#8로 설정된다.
이러한 방식으로 DPL_TKIN과 DPL_TK_ATR을 설정함으로써 TKI#2, TKI#4, TKI#8은 네번째 트랙 TrackD로서 관리된다.
상술한 처리에서, 도 28A 및 도 28B의 경우에서 처럼 비록 다른 TKI인 TKI#1, TKI#2, TKI#3, TKI#4에 대한 영향을 미치지 않겠지만 "미사용" TKI에 대한 기록이 실행된다.
{17-9_40-5_46A,B} 케이스3: 트랙의 결합
이하, 트랙이 합성될 때 Default_Playlist_Information의 갱신에 대해 설명하기로 한다(케이스 3). 도 46A 및 도 46B는 트랙 합성의 일례를 보여준다.
이들 도면은 TKI의 결합을 설명하기 위해 사용된 도 29A 및 도 29B와 거의 동일하다. 도 46A 및 도 46B의 제 2, 제 3, 제 4 레벨은 도 29A 및 도 29B의 처음 두 레벨과 동일하다. 이들 도면의 차이는 도 46A 및 도 46B의 제 1 레벨이 Default_Playlist_Information을 나타내고 있다는 점이다. 여기에서 DPL_TK_SRP#8은 "미사용"으로 설정되고, "미사용"으로 설정된 TKI#2와 관련된다. 트랙을 결합하는 편집작업이 도 29A 및 도 29B에 도시된 바와 같이 AOB파일과 TKI에 대하여 실행되면 DPL_TK_SRP#3에서 DPL_TK_SRP#6까지의 콘텐츠는 각각 하나씩 아래로 이동하여 두꺼운 실선으로 도시된 DPL_TK_SRP#7의 콘텐츠가 도 46A 및 도 46B에 도시된 바와 같이 DPL_TK_SRP#3으로 복사된다. TKI는 도 29A 및 도 29B에 도시된 바와 같이 갱신된다.
{17-9_40-6_47A,B} 케이스 4: 트랙의 분할
이하, 트랙이 분할될 때 Default_Playlist_Information의 갱신에 대해 설명 하기로 한다(케이스 4).
도 47A 및 도 47B는 트랙 분할의 일례를 보여준다. 이들 도면은 TKI의 분할을 설명하기 위해 사용된 도 339A 및 도 33B와 거의 동일하다. 도 47A 및 도 47B의 제 2 및 제 3 레벨은 도 33A 및 도 33B의 처음 두 레벨과 동일하다. 이들 도면사이의 차이는 도 47A 및 도 47B의 제 1 레벨이 Default_Playlist_Information을 나타내고 있다는 점이다. 여기에서 DPL_TK_SRP#8은 "미사용"으로 설정되고, "미사용"으로 설정된 TKI#2와 관련된다.
만약 33A 및 도 33B에 도시된 바와 같이 사용자가 두꺼운 외곽선으로 도시된 TKI#3의 분할을 2로 하였음을 나타내면 DPL_TK_SRP#3~DPL_TK_SRP#7의 위치는 각각 1씩 순서대로 아래로 이동하고 "미사용"으로 설정된 DPL_TK_SRP는 Default_Playlist_Information내에서 DPL_TK_SRP#3의 앞선 위치로 이동된다.
이 새로운 DPL_TK_SRP#3은 분할에 의해 새로 생성된 TKI, TKI#2와 연관된다. TKI#2와 연관된 AOB파일 "AOB002.SA1"은 원래 AOB파일 "AOB003.SA1"의 나중 부분인 것을 저장한다. DPL_TK_SRP#2는 TKI#2와 연관된 DPL_TK_SRP#3의 앞에 존재하며, TKI#2 및 "AOB002.SA1"과 연관된다.
즉 "AOB002.SA1"과 "AOB0032.SA1"은 각각 원래의 "AOB003.SA1"의 나중 부분과 먼저 부분을 저장하고, 이들 파일에 대응하는 DPL_TK_SRP#2와 DPL_TK_SRP#3은 이들 AOB가 "AOB003.SA1" 및 "AOB002.SA1"의 순서로 재생된다는 것을 나타낸다. 결국, 원래의 "AOB003.SA1"이 나중 및 먼저 부분은 DPL_TK_SRP 에 주어진 재생순서에 따라 먼저 부분과 나중 부분의 순서로 재생될 것이다.
{17-9_40-8} 편집처리의 응용
위의 4개의 편집처리를 결합함으로써 사용자는 많은 다양한 편집작업을 실행할 수 있다. 예컨대, 기록된 트랙이 인트로(intro)를 갖고 그 위에 디스크 자키가 말할 때 사용자는 음성을 포함하는 부분을 분리하도록 먼저 트랙을 분할할 수 있다. 그리고 사용자는 디스크 자키를 포함하지 않는 트랙의 부분이 남도록 그 트랙을 삭제할 수 있다.
이것으로 네비게이션 데이터의 설명을 마치기로 한다. 이하, 상술한 네비게이션 데이터와 프리젠테이션 데이터를 재생하기 위한 적합한 구성을 갖는 재생장치에 대해 설명하기로 한다.
{48-1} 재생장치의 외관
도 48은 본 발명의 플래쉬 메모리카드(31)용 휴대형 재생장치를 도시한 도면이다. 도 48에 도시된 재생장치는 플래쉬 메모리카드(31)를 삽입하기 위한 삽입슬롯과, 재생, 전방검색, 후방검색, 빠른 진행, 되감기, 정지 등의 동작에 대한 사용자 표시를 수신하기 위한 키패널과, LCD패널을 구비한다. 외관상 이 재생장치는 다른 휴대형 음악플레이어를 닮았다.
키패널은 다음을 포함한다.
플레이리스트나 트랙의 선택을 수신하는 "Playlist"키
재생위치를 현재 트랙의 처음으로 이동시키는 스킵동작을 수신하는 "┃<< "키
재생위치를 다음 트랙의 처음으로 이동시키는 스킵동작을 수신하는 " >>┃" 키
사용자가 현재의 트랙을 통해 신속하게 재생위치를 이동하도록 후방 검색동작과 전방 검색동작을 수신하는 "<< " 키와 " >>" 키
플래쉬 메모리카드(31)에 저장된 정지화상을 갖도록 하는 동작을 수신하는 "Display"키
기록동작을 수신하는 "Rec"키
사용되는 샘플링 주파수, 스테레오나 모노의 사용자 선택을 수신하기 위한 "Audio"키
트랙내에 위치를 표시하는 사용자 표시를 수신하는 "Mark"키
트랙제목의 입력 또는 트랙의 편집을 위한 사용자 표시를 수신하는 "Edit"키
{48-2} 플래쉬 메모리카드(31)용 휴대형 재생장치의 개선점
플래쉬 메모리카드(31)의 휴대형 재생장치와 종래의 휴대형 음악 플레이어 사이의 차이에는 다음 (1)~(4)의 4가지 개선점이 있다.
(1) 플레이리스트와 트랙의 리스트가 LCD패널에 나타나므로 사용자가 Default_Playlist_Information, PLI, 또는 분리트랙을 표시할 수 있다.
(2) 키패널의 키가 LCD패널 상에 표시된 플레이리스트 및/또는 트랙에 할당되므로 사용자가 재생 또는 편집할 트랙 또는 플레이리스트를 선택할 수 있다.
(3) 트랙이 재생될 때 트랙내의 위치를 나타내는 시간 코드가 LCD패널(5) 상에 표시된다.
(4) 조그다이얼이 구비되므로 시간 검색기능을 사용할 때 사용자는 재생 시 작시간으로서 또는 트랙을 분할할 때의 분할 경계로서 사용하기 위한 시간코드를 설정할 수 있다.
{48-2_49_50} 개선(2)
이하, 개선(2)에 대하여 상세히 설명하기로 한다. 도 49는 사용자가 플레이리스트를 선택할 때 LCD패널에 도시된 디스플레이 화면의 일례를 도시한 도면이나, 도 50A 내지 도 50E는 사용자가 트랙을 선택하였을 때 표시된 콘텐츠의 예들을 나타낸다.
도 49에서, ASCII 문자열 "DEFAULTPlaylist", "Playlist#1", "Playlist#2", "Playlist#3", 및 "Playlist#4"는 플래쉬 메모리카드(31)에 저장된 디폴트 플레이리스트와 4개의 플레이리스트를 나타낸다.
한편, ASCII 문자열 "Track#1", "Track#2", "Track#3", "Track#4", "Track#5"는 플래쉬 메모리카드(31)에 저장된 디폴트 플레이리스트에 의해 주어진 재생순서로 표시된 5개의 트랙을 나타낸다. 도 49 및 도 50A에서, 밝게 표시되는 플레이리스트와 트랙은 재생 또는 편집을 위해 현재 표시중인 트랙 또는 플레이리스트를 나타낸다.
만약 "Track#1"이 LCD패널 상에 표시된 디폴트 플레이리스트에 의해 주어진 재생순서 내에서 재생을 위해 표시될 때 사용자가 ">>"키를 누르면 "Track#2"가 도 50B에 도시된 바와 같이 트랙의 리스트 내에서 재생을 위해 표시될 것이다. 만약 사용자가 ">>"키를 다시 누르면 "Track#3"이 도 50C에 도시된 바와 같이 트랙의 리스트 내에서 재생을 위해 표시될 것이다.
만약 "Track#3"이 LCD패널 상에 표시된 디폴트 플레이리스트에 의해 주어진 재생순서 내에서 재생을 위해 표시될 때 사용자가 "<<"키를 누르면 "Track#2"가 도 50D에 도시된 바와 같이 트랙의 리스트 내에서 재생을 위해 표시될 것이다. 도 50E에 도시된 바와 같이 임의의 트랙이 표시될 때 사용자가 "Play"키를 누르면 표시된 트랙의 재생이 시작될 것이나, 만약 사용자가 "Edit"키를 누르면 표시된 트랙이 편집을 위해 선택될 것이다.
{48-3_51} 개선 (4)
이하, 개선 (4)에 대해 상세히 설명하기로 한다. 도 51A~ 도 51C는 조그다이얼의 동작예를 도시한 도면이다. 사용자가 일정량만큼 조그다이얼을 회전시키면 LCD패널 상에 표시된 재생시간 코드는 그 회전량에 따라 증가 또는 감소할 것이다. 도 51A의 예는 초기에 LCD패널에 표시된 재생시간 코드가 "00:00:20"인 경우를 나타내고 있다.
사용자가 도 51B에 도시된 바와 같이 조그다이얼을 반시계방향으로 회전하면 재생시간 코드는 조그다이얼이 회전되는 양을 유지하면서 "0:00:10"으로 감소한다. 반대로 사용자가 도 51C에 도시된 바와 같이 조그다이얼을 시계방향으로 회전하면 재생시간 코드는 조그다이얼이 회전되는 양을 유지하면서 "0:00:30"으로 증가한다.
이러한 방식으로 사용자로 하여금 재생시간 코드를 변경하게 허용함으로써 재생장치는 사용자가 단순히 조그다이얼을 회전하기만 함으로써 재생시간 코드를 표시할 수 있게 해준다. 만약 사용자가 "Play"키를 누르면 AOB는 식 2와 식 3에 따라 구해진 위치로부터 재생이 시작될 것이다.
트랙 분할동작중에 조그다이얼을 사용함으로써 사용자는 분할 경계로서 사용된 재생시간 코드에 대한 미세한 조정을 행할 수 있다.
{52-1} 재생장치의 내부구성
이하, 재생장치의 내부구성에 대해 상세히 설명하기로 한다. 이 내부구성은 도 52에 도시되어 있다.
도 52에 도시된 바와 같이, 재생장치는 재생장치를 플래쉬 메모리카드(31)에접속하기 위한 카드 커넥터(1)와, 키패널과 조그다이얼에 접속되는 사용자 인터페이스부(2)와, RAM(3)과, ROM(4)과, 트랙 또는 플레이리스트의 리스트를 표시하는 리스트 프레임과 재생시간 코드를 표시하는 재생시간 코드 프레임을 갖는 LCD패널(5)과, 제 1 LCD패널(5)을 구동하는 액정 드라이버(6)와, 각각의 AOB파일에 대하여 상이한 FileKey를 이용하여 AOB_FRAME을 암호해독하는 디스크램블러(7)와, 디스크램블러(7)에 의해 디스크램블된 AOB_FRAME의 ADTS를 참조하여 AOB_FRAME을 디코드하여 PCM데이터를 구하는 AAC디코더(8)와, PCM데이터를 D/A변환하여 결과의 아날로그 신호를 스피커 또는 헤드폰잭에 출력하는 D/A 컨버터(9)와, 재생장치에 대해 전반적인 제어를 실행하는 CPU(10)를 포함한다.
이 하드웨어 구성으로부터 알 수 있는 바와 같이, 본 재생장치는 TrackManager와 Default_Playlist_Information을 처리하기 위한 특별한 하드웨어 요소를 가지고 있지 않다. TrackManager와 Default_Playlist_Information을 처리하기 위해서는 DPLI 유지영역(11), PLI 저장영역(12), TKI 저장영역(13), FileKey 저장영역(14), 및 이중버퍼(15)가 RAM(3) 내에 구비되나, 재생제어 프로그램과 편집 제어프로그램은 ROM(4)에 기록된다 .
{52-2} DPLI 유지영역(11)
DPLI 유지부(11)는 카드 커넥터(1)에 접속된 플래쉬 메모리카드(31)를 판독하는 Default_Playlist_Information을 연속적으로 유지하기 위한 영역이다.
{52-12} PLI 저장영역(12)
PLI 저장부(12)는 사용자에 의한 재생을 위해 선택된 Playlist_Information을 저장하기 위해 예약된 영역이다.
{52-3} TKI 저장영역(13)
TKI 저장영역(13)은 TrackManager에 포함된 복수의 TKI중 재생용으로 현재 표시된 AOB 파일에 대응하는 TKI 만을 저장하기 위해 예약된 영역이다. 이러한 이유로 TKI 저장영역(13)의 용량은 TKI 의 데이터 크기와 동일하다.
{52-4} FileKey 저장영역(14)
FileKey 저장영역(14)은 인증영역의 "AOBSA1.KEY"에 포함된 복수의 FileKey중 재생용으로 현재 표시된 AOB 파일에 대응하는 FileKey만을 저장하기 위해 예약된 영역이다.
{52-5} 이중버퍼(15)
이중버퍼(15)는 플래쉬 메모리카드(31)로부터 판독된 클러스터 데이터(하나의 클러스터에 저장된 데이터)를 연속적으로 입력하는 입력처리와 클러스터로 부터 AOB_FRAME을 판독하여 그 AOB_FRAME을 디스크램블러(7)에 연속적으로 출력하는 출력처리가 병행 실행될 때 사용되는 입력/출력 버퍼이다.
이중버퍼(15)는 AOB_FRAME으로서 출력되는 클러스터 데이터에 의해 점유되는 영역을 연속적으로 비우므로 판독될 다음 클러스터를 저장하기 위한 영역을 확보한다. 즉 이중버퍼(15)의 영역은 링 포인터를 이용하여 클러스터 데이터를 저장할 수 있도록 주기적으로 확보된다.
{52-5_53_54A,B} 이중버퍼(15)에 의한 입력 및 출력
도 53은 이중버퍼(15) 에 대한 입력 및 출력이 어떻게 실행되는지를 보여주는 도면이다. 도 54A 및 도 54B는 이중버퍼(15)의 영역이 링 포인터를 이용하여 클러스터 데이터를 저장하는데 어떻게 주기적으로 확보되는지를 보여주고 있다.
좌측으로 하향의 화살표는 클러스터 데이터용의 어드레스를 기록하기 위한 포인터, 즉 기록 포인터이다. 좌측으로 상향의 화살표는 클러스터 데이터용 어드레스를 판독하기 위한 포인터, 즉 판독 포인터이다. 이들 포인터는 링 포인터로서 사용된다.
{54-6_53}
플래쉬 메모리카드(31)가 카드 커넥터(1)에 접속되면 플래쉬 메모리카드(31)의 사용자 영역내의 클러스터 데이터는 화살표 w1, w2로 표시된 이중버퍼(15)에서 판독 및 저장된다.
판독 클러스터 데이터는 기록 포인터 wp1, wp2에 의해 나타난 이중버퍼(15)의 위치에 연속적으로 저장된다.
{52-7_54A}
이러한 방식으로 저장된 클러스터 데이터 포함된 AOB_FRAME 중에서 판독 포 인터 의해 연속으로 표시된 위치 ①②③④⑤⑥⑦⑧⑨에 존재하는 AOB_FRAME은 화살표 r1, r2, r3, r4, r5 … 로 나타낸 바와 같이 디스크램블러(7)에 한번에 하나씩 출력된다.
이 경우에는 클러스터 데이터 002와 003이 이중버퍼(15)에 저장되고 판독위치 ①②③④가 도 53에 도시된 바와 같이 판독 포인터에 의해 연속으로 표시된다. 판독 포인터가 판독위치 ⑤에 도달하면 클러스터 002에 포함된 모든 AOB_FRAME이 판독되므로 클러스터 004는 판독되어 도 54A의 화살표 w6에 의해 나타난 바와 같이 클러스터 002에 의해 미리 점유된 영역으로 덧쓰기 된다.
{52-8_54B}
판독 포인터는 판독위치 ⑥ 및 ⑦로 진행하여 결국 판독위치 ⑨에 도달하며, 거기에서 클러스터 003에 포함된 모든 AOB_FRAME가 판독되므로 클러스터 005가 판독되고, 도 54B의 화살표 w7로 나타낸 바와 같이 클러스터 003에 의해 미리 점유된 영역으로 덧쓰기 된다. AOB_FRAME의 출력과 클러스터 데이터의 덧쓰기는 상술한 바와 같이 반복적으로 실행되므로 AOB 파일에 포함된 AOB_FRAME은 모두 디스크램블러(7)와 AAC 디코더(8)에 연속적으로 출력된다.
{52-9_55-58} ROM(4)에 저장된 재생제어 프로그램
이하, ROM(4)에 저장된 재생제어 프로그램에 대해 설명하기로 한다.
도 55는 AOB 파일 판독절차에서의 처리를 나타낸 흐름도이다. 도 56, 도 57 및 도 58은 AOB_FRAME 판독절차에서의 처리를 나타낸 흐름도이다.
{52-9_55-1}
이들 흐름도는 변수 w, z, y 및 x를 사용한다. 변수 w는 복수의 DPL_TL_SRP 중의 하나를 나타낸다. 변수 z는 사용자 영역에 기록된 AOB 파일, 이 AOB 파일에 대응하는 TKI, 및 이 AOB 파일에 포함된 AOB를 나타낸다. 변수 y는 변수 z에 의해 표시된 AOB#z에 포함된 AOB_ELEMENT를 나타낸다. 변수 x는 변수 y에 의해 표시된 AOB_ELEMENT#y에 포함된 AOB_FRAME을 나타낸다. 이하, 도 55를 참조하여 우선 AOB 파일 판독절차에 대해 설명하기로 한다.
{52-9_55-2}
단계 S1에서, CPU(10)는 PlaylistManager를 판독하고 Default_Playlist_Information과 PLI를 포함하는 리스트를 디스플레이한다.
단계 S2에서, CPU(10)는 Default_Playlist_Information이나 PLI들 중의 하나에 따라 AOB를 재생하기 위한 표시를 대기한다.
Default_Playlist_Information이 표시되면 처리는 단계 S2에서 단계 S3으로 이동하여 변수 w가 초기화되고(#w←1), 단계 S4로 이동하여 Default_Playlist_Information의 DPL_TK_SRP#w에 대응하는 DPL_TKIN에 의해 표시된 TKI#z가 특정되고 이 TKI#z만이 플래쉬 메모리카드(31)로부터 판독되어 TKI 저장영역(13)에 저장된다.
단계 S5에서, TKI#Z와 동일한 수를 갖는 AOB 파일#z가 특정된다. 이러한 방식으로 재생될 AOB 파일이 최종적으로 특정된다.
특정된 AOB 파일은 암호화 상태에 있으며 암호해독이 필요하므로 단계 S6과 S7이 실행된다. 단계 S6에서, 재생장치는 인증영역에 액세스하여 암호키 저장파일 의 FileKey_Entry#z에 저장된 FileKey#z를 판독한다. 이 FileKey_Entry#z는 특정 AOB 파일과 동일한 수를 갖는다. 단계 S7에서, CPU(10)는 디스크램블러(7)의 FileKey#z를 설정한다. 이 동작에 따라 FileKey가 디스크램블러(7)에 설정되므로 AOB 파일에 포함된 AOB_FRAME을 디스크램블러(7)에 연속으로 입력함으로써 AOB_FRAME이 연속으로 재생될 수 있다.
{52-9_55-3}
그 다음에, 재생장치는 AOB 파일을 저장하는 클러스터를 연속으로 판독한다. 단계 S8에서, "파일내의 제 1 클러스터 번호"는 디렉토리 엔트리 내의 AOB_file#z에 대하여 특정된다. 단계 S9에서, CPU(10)는 플래쉬 메모리카드(31)로부터 이 클러스터에 저장된 데이터를 판독한다. 단계 S10에서, CPU(10)은 FAT값의 클러스터 번호가 "FFF"인지의 여부를 판정한다. 만약 "FFF"가 아니면 단계 S11에서 CPU는 단계 S10으로 복귀하기 전에 FAT값으로 표시된 클러스터에 저장된 데이터를 판독한다.
재생장치가 클러스터 중의 어느 하나에 저장된 데이터를 판독하여 그 클러스터에 대응하는 FAT값을 참조하면 단계 S10 및 단계 S11에서의 처리는 FAT값이 "FFF"로 설정되지 않는 한 반복될 것이다. 이에 따라 재생장치는 FAT값에 의해 표시된 클러스터를 연속적으로 판독한다. FAT값에 의해 주어진 클러스터 번호가 "FFF"이면 이것은 AOB 파일#z를 구성하는 모든 클러스터가 판독된다는 것을 의미하므로, 처리는 단계 S10에서 단계 S12로 진행한다.
{52-9_55-4}
단계 S12에서 CPU(10)는 변수 #w가 DPL_TL_SRP의 총수와 일치하는지를 판정한다. 그 결과 일치하지 않으면 처리는 단계 S13으로 진행하여 변수 #w는 처리가 단계 S4로 복귀하기 전에 증가된다(#w←#w+1). 단계 S4에서, 재생장치는 Default_Playlist_Information의 DPL_TL_SRP의 DPL_TKIN에 의해 표시된 TKI#z를 특정하고, TKI#z만을 TKI 저장영역(13)에 기록한다. 이 지점까지 사용된 TKI는 비록 현재의 TKI가 CPU(10)에 의해 새로 판독된 TKI#z에 의해 덧쓰기 되더라도 TKI 저장영역(13)에 저장될 것이다.
이 덧쓰기로 인해 가장 최근의 TKI만이 TKI 저장영역(13)에 저장된다. 일단 TKI가 덧쓰기 되면 단계 S5~S12의 처리가 AOB 파일#z에 대하여 반복된다. 일단 처리가 Default_Playlist_Information에 포함된 DPL_TL_SRP의 모두에 대응하는 TKI와 AOB파일을 모두 판독하면 변수 #z는 DPL_TL_SRP의 총수와 일치할 것이므로 "예(YES)"가 단계 S12에 주어져 이 흐름도에서의 처리가 종료된다.
{52-9_56_57_58} AOB_FRAME에 대한 출력처리
AOB 파일 판독절차와 더불어 CPU(10)는 도 56, 도 57 및 도 58에 도시된 흐름도에 따라 AOB_FRAME 출력절차를 실행한다. 이들 흐름도에서, 변수 "play_time"은 현재의 트랙에 대하여 얼마나 오래 재생이 실행되는지를, 즉 재생시간 코드를 보여준다. LCD패널(5) 상의 재생시간 코드 프레임에 디스플레이된 시간은 재생시간 코드에 대한 변경에 따라 갱신된다. 한편, 변수 "play_data"는 현재의 트랙에 대해 재생된 데이터의 길이를 나타낸다.
(52-9_56-1}
단계 S21에서, CPU(10)는 AOB 파일#z에 대한 클러스터 데이터가 이중버퍼(15)에 축적되는지의 여부를 감시한다. 이 단계 S21은 클러스터 데이터가 축적될 때까지 반복적으로 실행된다. 이 단계에서 처리는 단계 S22로 진행하여 변수 x와 y가 초기화된다(#x←1, #y←1). 그 다음에 단계 S23에서, CPU(10)는 AOB_FILE#z에 대한 클러스터를 검색하여 TKI#z에 포함된 BIT#z에 주어진 Data_Offset보다 늦지 않게 위치된 AOB_ELEMENT#y 내의 AOB_FRAME#x를 검출한다. 이 예에서는 SZ-DATA로부터 시작하는 7바이트가 ADTS 헤더에 의해 점유되는 것을 가정한다. 이 ADTS 헤더를 참조함으로써 ADTS 헤더에 의해 표시된 데이터 길이가 오디오 데이터로서 인식될 수 있다. 오디오 데이터와 ADTS 헤더는 함께 판독되어 디스크램블러(7)에 출력된다. 디스크램블러(7)는 AOB_FRAME을 암호해독하고, 이들 AOB_FRAME은 AAC 디코더(8)에 의해 디코드되어 오디오로서 재생된다.
{52-9_56-2}
이 검출후에 단계 S24에서 AOB_FRAME#x는 디스크램블러(7)로 출력되며 단계 S25에서 변수 play_time은 AOB_FRAME#x의 재생주기만큼 증가되고, 변수 play_data는 AOB_FRAME#x에 대응하는 데이터의 양만큼 증가된다. AOB_FRAME의 재생시간은 이 경우에는 20밀리초이기 때문에 20밀리초가 변수 "play_time"에 더해진다.
일단 제 1 AOB_FRAME이 디스크램블러(7)에 출력되면 단계 S26에서 재생장치는 AOB_FRAME#x의 ADTS 헤더를 참조하여 다음 AOB_FRAME이 어디에 있는지를 특정한다. 단계 S27에서 재생장치는 변수 #x를 증가시키며(#x←x+1), 다음 AOB_FRAME으로서 AOB_FRAME#x를 설정한다. 단계 S28에서, AOB_FRAME#x는 디스크램블러(7)에 입력 된다. 그 다음에, 단계 S29에서 변수 play_time은 AOB_FRAME#x의 재생주기 만큼 증가되며, 변수 play_data는 AOB_FRAME#x에 대응하는 데이터의 양만큼 증가된다. AOB_FRAME#x를 증가시킨 후, 단계 S30에서 CPU(10)는 변수 #x가 "FNs_1st_TMSRTE"에 주어진 값에 도달하는지의 여부를 판정한다.
만약 변수 #x가 "FNs_1st_TMSRTE"의 값에 도달하지 않으면, 단계 S31에서 재생장치는 사용자가 "Play"키를 제외한 임의의 키를 눌렀는지의 여부를 검사한다. 그 후 재생장치는 변수 x가 "FNs_1st_TMSRTE"의 값에 도달할 때까지 또는 사용자가 "Play"키를 제외한 다른 키를 누를 때까지 단계 S26에서 단계 S31의 처리를 반복한다.
사용자가 "Play"키를 제외한 다른 키를 누르면 이 흐름도에서의 처리는 종료되고 눌려진 키에 대한 적합한 처리가 실행된다. 눌려진 키가 "Stop"키이면 재생절차는 중단되지만 눌려진 키가 "Pause"키이면 재생이 정지된다.
{52-9_57-1}
한편, 변수 #x가 "FNs_1st_TMSRTE"의 값에 도달하면 판정 "예(Yes)"가 단계 S30에서 결정되고 처리는 도 57의 단계 S32로 진행한다. 현재의 AOB_ELEMENT에 포함된 모든 AOB_FRAME은 단계 S26과 단계 S30 사이의 처리에서 디스크램블러(7)에 입력되기 때문에 단계 S32에서는 다음 AOB_ELEMENT가 처리될 데이터로서 설정되도록 변수 #y는 증가되고 변수 #x는 초기화된다(#y←#y+1, #x←1).
그 다음에 단계 S33에서, 재생장치는 TKTMSRT를 참조하고 AOB_ELEMENT#y의 제 1 어드레스를 계산한다.
그리고 재생장치는 단계 S34에서 단계 S42로 된 처리를 실행한다. 이 절차는 AOB_ELEMENT에 포함된 AOB_FRAME을 하나씩 판독하므로 단계 S24에서 S31로 구성된 절차와 유사하다고 할 수 있다. 단계 S24에서 단계 S31로 구성된 절차와 다른 점은 조건이다. 단계 S24에서 단계 S31로 구성된 절차가 종료되게 하는 조건은 변수 #x가 "FNs_1st_TMSRTE"에 의해 나타낸 값에 도달하는지의 여부에 관한 것이나, 단계 S34에서 단계 S42로 구성된 절차가 종료되게 하는 조건은 변수 #x가 "FNs_Middle_TMSRTE"에 의해 나타낸 값에 도달하는지의 여부에 관한 것이다.
변수 #x가 "FNs_Middle_TMSRTE"에 의해 나타낸 값에 도달하면, 판정 "Yes"가 단계 S41에 주어져 처리는 단계 S43으로 진행한다. 단계 S43에서, CPU(10)는 변수 #y를 증가시키고 변수 #x를 초기화시킨다(#y←y+1, #x←1). 그 다음에 단계 S44에서, 변수 #y는 변수 #y가 TKI#z내의 TMSRT_HEADER의 총 TMSRT_entry_Number보다 1이 작은 값에 도달하였는지의 여부를 판정한다.
변수 #y가 (총 TMSRT_Entry_Number-1)보다 작으면 AOB_ELEMENT#y는 최종 AOB_ELEMENT가 아니므로 처리는 단계 S4로부터 단계 S32로 복귀하고 단계 S32에서 단계 S42로의 루프처리가 실행된다. 변수 #y가 (총 TMSRT_Entry_Number-1)에 도달하면 판독절차는 마지막에서 두번째의 AOB_ELEMENT까지 진행되는 것으로 추정될 수 있으므로 판정 "Yes"가 단계 S44에 주어져 처리가 도 58의 단계 S45로 진행한다.
{52-9_57-2}
단계 S45에서 단계 S54로 구성된 절차는 최종 AOB_ELEMENT의 각 AOB_FRAME이 판독된다는 점에서 단계 S33에서 단계 S42로 구성된 절차와 유사하다.
단계 S33에서 단계 S42로 구성된 절차와의 차이점은 단계 S33에서 단계 S42로 구성된 루프절차는 변수 #x가 "FNs_Middle_TMSRTE"의 값에 도달하는 단계 S41에서 판정될 때 종료되지만, 단계 S45에서 단계 S54로 구성된 루프절차는 변수 #x가 "FNs_last_TMSRTE"의 값에 도달하고 거기까지 판독된 데이터의 크기를 나타내는 변수 play_data는 "SZ_DATA"로서 주어진 값에 도달하는 단계 S53에서 판정될 때 종료된다는 점에 있다.
단계 S49에서 단계 S54로 구성된 절차는 단계 S53의 조건이 만족할 때까지 반복되고, 거기에서 판정 "Yes"가 단계 S53에 주어지고 처리는 단계 S55로 진행한다. 단계 S55에서 CPU(10)는 CPU(10)가 이중버퍼(15)에 축적하도록 다음 AOB파일을 대기하는 단계 S21로 복귀하는 처리를 하기 전에 변수 #z를 증가시킨다(#z←#z+1). 일단 이것이 발생하면 처리는 단계 S22로 진행하고, 단계 S22에서 단계 S54로 구성되는 절차가 반복된다. 이것은 다음 DPL_TL_SRP의 DPL_TKIN에 의해 표시된 TKI가 특정되고 이 TKI에 대응하는 AOB 파일, 즉 TKI와 동일한 번호를 갖는 AOB파일이 특정된다.
그 다음에, 재생장치는 인증영역을 액세스하여 암호키 저장파일의 FileKey중에서 TKI와 동일한 번호를 갖는 FileKey를 특정하는데, 그 전에 그 FileKey를 판독하여 디스크램블러(7)에 설정한다. 결국, TKI와 동일한 번호를 갖는 AOB파일에 포함된 AOB_FRAME이 연속으로 판독되어 재생된다.
{52-9_57-3_59} 재생시간 코드의 갱신
도 59A 내지 도 59D는 LCD패널(5)의 재생시간 코드 디스플레이 프레임에 디 스플레이된 재생시간 코드가 변수 play_time에 따라 어떻게 증가되는지를 보여주는 도면이다. 도 59A에서, 재생시간 코드는 "00:00:00.000"이지만 AOB_FRAME#1의 재생이 종료될 때에는 AOB_FRAME#1의 재생주기 20밀리초가 재생시간 코드에 더해져 도 59B에 도시된 바와 같이 "00:00:00.020"으로 갱신된다. AOB_FRAME#2의 재생이 종료되면 AOB_FRAME#2의 재생주기는 재생시간 코드에 더해져 도 59C에 도시된 바와 같이 "00:00:00.000"으로 갱신된다. 동일한 방식으로 AOB_FRAME#6의 재생주기가 종료되면 AOB_FRAME#6의 재생주기 20밀리초가 재생시간 코드에 더해져 도 59D에 도시된 바와 같이 "00:00:00.120"으로 갱신된다.
이것으로 AOB_FRAME의 출력절차에 대한 설명을 마치기로 한다.
도 56의 흐름도의 단계 S31에서 만약 사용자가 "Play"키 이외의 다른 키를 누르면 이 흐름도에서의 처리는 종료된다. "Stop"키나 "Pause"키를 누르는 것을 수반하는 이 처리에 대해서는 이미 설명하였다. 사용자가 재생장치로 하여금 특별한 재생을 실행하도록 하기 위해 제공된 키를 누를 때 이 흐름도에서의 처리 또는 도 56, 도 57, 또는 도 58에 도시된 흐름도에서 처리가 종료되어 눌려진 키에 대한 적절한 처리가 실행된다. 이하, (1) 사용자가 ">>"키를 눌러 전방검색기능을 실행할 때와, (2) 사용자가 "Pause" 또는 "Stop"키를 누른 후 조그다이얼을 동작시켜 시간검색 기능을 실행할 때 CPU(10)에 의해 실행되는 절차에 대해 설명하기로 한다.
{52_10_60} 전방검색기능
도 60은 전방검색기능을 실행할 때 CPU(10)에 의해 실행되는 절차를 도시한 흐름도이다. 사용자가 ">>"키를 누르면 판정 "Yes"가 단계 S31에 주어지고 도 56, 도 57 및 도 58의 흐름도에서의 단계 S42 또는 단계 S54가 도 60의 흐름도에서의 처리를 실행한다.
단계 S61에서, AOB_FRAME#x~AOB_FRAME#(x+f(t)-1)이 디스크램블러(7)에 입력된다. 여기에서, "t"는 단속적인 재생주기를 나타내고, f(t)는 단속적인 재생주기에 대응하는 프레임의 수를 나타내며, d(t)는 단속적인 재생주기에 대응하는 데이터의 양을 나타낸다. 단계 S62에서, 재생 소멸시간을 나타내는 변수 play_time과 재생 데이터량을 나타내는 변수 play_data는 각각 단속적인 재생주기 "t"와, 단속적인 재생주기에 대응하는 프레임 f(t)의 수와, 단속적인 재생주기에 대응하는 데이터 d(t)의 양을 이용하여 각각 재생된다(x←x+f(t)), play_time←play_time+t, play_data←play_data+d(t)). 단속적인 재생주기는 일반적으로 240밀리초(12개의 AOB_FRAME의 재생주기와 같은 값임)일 것이다.
{52-10_60-1_61A,B}
도 61A 및 도 61B는 전방검색동작 중의 재생시간 코드의 증가를 보여준다. 도 61A는 재생시간 주기의 초기값을 보여주며, 재생지점은 AOB_ELEMENT#51의 AOB_FRAME#1이다.
이 경우의 재생시간 코드는 "00:00:01.000"이다. 처음부터 12개의 AOB_FRAME이 단속적인 재생주기에 따라 디스크램블러(7)에 입력되면 12개의 AOB_FRAME의 재생주기(즉, 240msec)는 재생시간 코드에 더해지므로 재생시간 코드는 도 61B에 도시된 바와 같이 "00:00:01.240" 이 된다.
{51-1-_60-2}
이러한 갱신후, 단계 S63에서 CPU(10)는 증가된 변수 #x와 AOB_ELEMENT #y의 총 프레임수를 비교하고, 증가된 변수 #x가 AOB_ELEMENT#y의 총프레임수 이내에 있는지를 판정한다.
상술한 바와 같이, AOB의 처음에 위치된 AOB_ELEMENT의 프레임 번호는 "FNs_1st_TMSRTE"이고, AOB의 중앙부에 위치된 AOB_ELEMENT의 프레임 번호는 "FNs_Middle_TMSRTE"이며, AOB의 마지막에 위치된 AOB_ELEMENT의 프레임 번호는 "FNs_last_TMSRTE"이다.
CPU(10)는 이들 값중의 적절한 하나와 변수 #x를 비교함으로써 상술한 판정을 실행한다. 변수 x가 현재의 AOB_ELEMENT#y 내에 있지 않으면, CPU(10)는 단계 S64에서 AOB_ELEMENT#y 다음의 AOB_ELEMENT가 있는지를 판정한다.
만약 AOB_ELEMENT#y가 AOB_BLOCK내의 최종 AOB_ELEMENT이면 AOB_ELEMENT#y 다음의 AOB_ELEMENT가 없으므로 단계 S64에서 판정이 "No" 이므로 현재의 흐름도에서는 처리가 종료된다. 반대로 AOB_ELEMENT#y 다음에 AOB_ELEMENT가 존재하면, 단계 S65에서 변수 #x는 AOB_ELEMENT#y의 AOB_FRAME#x의 수만큼 감축되고, 단계 S66에서 변수 #y 는 갱신된다(#y←#y+1). 결국 변수 #x는 갱신된 변수 #y에 의해 표시된 다음 AOB_ELEMENT#y내의 프레임의 프레임 위치를 나타낼 것이다. 반대로, 변수 #x가 현재의 AOB_ELEMENT에 존재하는 AOB_FRAME을 나타내면(S63:Yes), 단계 S64-S66의 처리는 생략되고 단계 S67로 진행된다.
{52-1_60-3}
그 다음에, 변수 #x, play_time, play_data는 단속적인 스킵주기에 따라 갱신된다. 단속적인 주기와 같은 주기 "skip_time"은 2초이며, 이 skip_time과 같은 프레임의 수는 f(skip_time)로서 주어지며, 이 skip_time과 동일한 데이터의 양은 d(skip_time)로서 주어진다. 단계 S67에서, 이들 값은 변수 #x, play_time, play_data를 갱신하기 위해 사용된다(#x ← #x + f(skip_time), play_time ← play_time + skip_time, play_data + d(skip_time)).
{52-10_60-4_61C}
도 61C에 도시된 바와 같이, 단속적인 스킵주기는 AOB_ELEMENT#51내의 프레임을 나타내는 변수 #x에 더해진다. 갱신된 변수 #x가 AOB_ELEMENT#51내의 프레임수를 넘으면 변수 #y 는 다음 AOB_ELEMENT를 나타내도록 갱신되고, AOB_ELEMENT#51 내의 프레임수는 변수 #x로부터 감산된다. 그러면 값 2.000(=2초)이 재생시간 코드의 현재의 값 "00:00:01.240"에 더해지므로 "00:00:03.240"으로 된다. 변수 #x는 (3240밀리초-2000밀리초)를 계산함으로써 갱신되어 값 "2"를 부여하므로 AOB_ELEMENT#52내의 AOB_FRAME#62를 나타낸다.
{52-10_60-5_61(d)}
일단 AOB_ELEMENT#52내의 AOB_FRAME#62가 디스크램블러(7)에 입력되면 재생시간 코드는 현재의 값 "00:00:03.240"에 "0.240"을 가산함으로써 도 61D에 도시된 바와 같이 갱신되어 "00:00:03.480"으로 된다.
단계 S67에서, 변수는 단속적인 스킵시간에 따라 갱신되며, 단계 S68~S71에서의 처리가 실행된다. 단계 S68~S71에서의 처리는 단계 S63에서 S66까지의 처리 와 동일하므로 변수 #x가 현재의 AOB_ELEMENT#y 이내의 AOB_FRAME을 나타내는지의 여부를 검사하기 전에 단속적인 스킵시간 "skip_time"과 동일한 프레임의 수만큼 변수 #x를 갱신한다. 만약 그렇지 않으면 변수 #y는 갱신되므로 다음 AOB_ELEMENT가 AOB_ELEMENT#y로서 설정되고, 변수 #x가 변환되어 다음 AOB_ELEMENT내의 프레임 위치를 표시하게 된다.
일단 변수 #x 및 #y는 단계 S7에서 단속적인 재생시간과 단속적인 스킵시간에 따라 TKTMSRT를 참조하고 AOB_ELEMENT#Y에 대한 시작 어드레스를 계산한다. 드리고 단계 S73에서, CPU(10)는 AOB_ELEMENT#y의 제 1 어드레스로부터 시작하는 ADTS 헤더를 검색하기 시작하여 AOB_FRAME#x를 검출한다. 단계 S74에서 CPU(10)는 사용자가 전방 검색키를 제외한 다른 키를 눌렀는지를 판정한다. 만약 안눌렀으면 AOB_FRAME#x로부터의 AOB_FRAME이 디스크램블러(7)에 입력되고 단계 S62에서 S73의 처리가 반복된다.
상술한 절차는 AOB_FRAME#x와 AOB_ELEMENT#y를 나타내는 변수 #x와 #y를 증가시키므로 재생위치가 진행한다. 그 다음에 만약 사용자가 "Play"키를 누르면 도 74에 판정 "No"가 부여되며 현재 흐름도의 처리가 종료된다.
{52-11} 시간검색기능의 실행
이하, 시간검색기능이 사용될 때 실행되는 처리에 대해 설명하기로 한다. 우선 Default_Playlist_Information 내의 트랙이 디스플레이되고 사용자는 원하는 트랙을 표시한다. 이 트랙이 표시되면 사용자는 조그다이얼을 동작시키고 재생시간 코드가 갱신된다. 만약 사용자가 "Play"키를 누르면 그 지점에서의 재생시간 코드 는 변수 "Jmp_Entry"의 값을 초로 설정하도록 사용된다.
그리고 표시된 트랙이 복수의 AOB 또는 단일의 AOB로 구성되는지에 대한 판정이 행해진다. 트랙이 단일 AOB로 구성되면 변수 #y와 #x는 식 2를 충족시키도록 계산된다. 그 후, AOB_FRAME#x에 대한 검색이 이 AOB에 대응하는 TKTMSRT내의 (y+2)번째의 위치에 있는 어드레스로부터 시작된다. 일단 이 AOB_FRAME#x가 발견되면 재생은 AOB_FRAME#x로부터 시작한다.
{52-12}
트랙이 복수의 AOB로 구성되면 변수 #n(AOB를 표시), #y, #x가 식 3을 만족시키도록 계산된다. 그 다음에 AOB_FRAME#x에 대한 검색이 AOB#n에 대응하는 y+2번째 위치의 어드레스로부터 시작한다. 일단 이 AOB_FRAME#x가 구해지면 재생은 AOB_FRAME#x를 시작한다.
이하, BIT 내의 "FNs_1st_TMSRTE"가 "80" 프레임, BIT 내의 "FNs_Middle_TMSRTE"가 "94" 프레임, BIT 내의 "FNs_last_TMSRTE"가 "50" 프레임인 AOB를 갖는 임의의 위치로부터 재생이 시작되는 경우를 설명하기로 한다.
{52-13_62A,B}
이하, 시간검색기능이 사용될 때의 하나의 특정 예로서, 재생시간코드가 조그다이얼을 이용하여 표시될 때 재생이 시작되는 프레임 위치와 AOB_FRAME이 어떻게 특정되는지를 설명하기로 한다.
도 62A에 도시된 바와 같이, 사용자가 재생장치를 손에 들고 조그다이얼을 우측 엄지손가락으로 회전시켜 재생시간 코드가 "00:04:40.000(=20초)"를 표시하도 록 한다. 이 AOB에 대한 TKI의 BIT는 도 62B에 도시된 바와 같으며, 식 2가 다음고가 같이 사용된다.
280초=(FNs_1st_TMSRTE+(FNs_Middle_TMSRTE×y)+x)×20초
=(80+(94×148)+8)×20밀리초
그러므로 식 2는 값 y=148과 x=8에 대하여 만족된다.
y=148이기 때문에 AOB_ELEMENT#150(=148+2)의 엔트리 어드레스는 TKTMSRT로부터 구해진다. 표시된 재생시간 코드 00:04:40.000(=280.00초)으로부터의 재생은 이 엔트리 어드레스로부터 8번째 AOB_FRAME에서 재생을 시작함으로써 실행될 수 있다.
{52-14_63_64_65}
이것으로 사용자가 "Play"키를 눌러하는 CPU(10)의 처리에 대한 설명을 마치기로 한다. 이하, ROM(4)에 저장된 편집 제어 프로그램에 대해 설명하기로 한다. 이 편집 제어프로그램은 사용자가 "Edit"키를 누를 때 실행되고, 도 63, 도64, 도 65에 도시된 절차를 포함한다. 이하, 이들 도면에 도시된 흐름도로 이 프로그램의 처리를 설명하기로 한다.
{52-14_63-1} 편집제어프로그램
사용자가 "Edit"키를 누르면 도 63의 단계 S63에서 대화형 화면이 디스플레이되어 사용자에게 3개의 기본적인 편집작업 "삭제", "분할", "결합" 중 어느 작업이 실행될 것인지를 질문한다. 단계 S102에서, CPU(10)는 대화형 화면에 대해 사용자가 어떤 조작을 행했는지를 판정한다. 이 예에서는 키패널상의 "|<<"와 ">>|"가 "Up"과 "Down" 커서 동작을 나타내는 것으로서 사용되는 것으로 가정한다(즉, 이들 키는 "Up"과 "Down" 커서키로서 사용된다). 사용자가 "삭제" 조작을 지시하면 처리는 단계 S103에서 S104로 구성된 루프절차로 진행한다.
단계 S103에서 CPU(10)는 사용자가 "|<<"키 또는 ">>|"키를 눌렀는지를 판정한다. 단계 S104에서, CPU(10)는 사용자가 "Edit"키를 눌렀는지를 판정한다. 사용자가 "|<<"키나 ">>|"키를 눌렀으면 처리는 단계 S103에서 단계 S105로 진행하여 표시된 트랙이 편집될 트랙으로서 설정된다. 한편, 사용자가 "Edit"키를 누르면 표시된 트랙은 삭제될 트랙으로서 설정된다. 도 44에 도시된 처리가 실행되므로 표시된 트랙에 대한 각 TKI의 TKI_BLK_ATR은 "미사용"으로 설정되어 표시된 트랙을 삭제한다.
{52-14_63-2} 결합처리
사용자가 결합처리를 선택하면, 처리는 단계 S102로부터 단계 S107에서 단계 S109로 구성된 루프절차로 진행한다. 단계 S107에서 단계 S109로 구성된 루프절차에서는 재생장치가 "|<<"키, ">>|"키, 및 "Edit"키를 통해 사용자 입력을 수신한다. 사용자가 "|<<"키나 ">>|"키를 누르면 처리는 단계 S107에서 단계 S110으로 진행하여 표시된 트랙이 디스플레이상에서 밝게 표시된다. 사용자가 "Edit"키를 누르면 판정 "Yes"가 단계 S108에 주어져 처리는 단계 S111로 진행한다. 단계 S111에서는 현재 표시된 트랙이 이 편집처리에서 사용될 제 1 트랙으로서 설정되어 처리는 단계 S107에서 단계 S109로 구성된 루프절차로 복귀한다.
제 2 트랙이 편집을 위해 선택되면 판정 "Yes"가 단계 S109에 주어져 처리는 단계 S112로 진행한다. 단계 S112에서 CPU(10)는 앞뒤 트랙의 TKI내의 BIT를 참조하여 이들 각 트랙의 처음 및 마지막에 어떤 종류의 AOB(타입 1 또는 타입 2)가 존재하는지를 판정하여, 만약 있으면 이들 트랙의 면을 활주한다.
각각의 관련 AOB의 종류를 식별한 후, 단계 S113에서 CPU(10)는 AOB의 정렬이 어떤 패턴과 일치하는지를 판정한다. AOB의 정렬이 도 32A 내지 도 32D에 도시된 패턴중의 하나와 일치할 때 전후의 패턴이 단계 S115에서 단일 트랙으로 결합된다. 도 32A내지 도 32D에서는 3개의 타입 2 AOB가 결합후 연속적으로 존재하지 않는 것이 명백하다.
즉, 도 46에 도시된 동작은 이들 AOB에 대응하는 DPL_TL_SRP에 대해 실행된다. TKI에 TKI_BLK_ATR을 다시 기록함으로써 편집을 위해 선택된 복수의 트랙이 단일 트랙에 결합된다. AOB의 배열이 도 32A내지 도 32D의 어느 패턴과도 일치하지 않으면, 이것은 결합후 3이상의 타입 2 AOB가 존재한다는 것을 의미하는데, CPU(10)는 결합된 트랙이 버퍼언더플로우를 일으켜 결합처리를 종료한 것으로 판정한다.
{52-14_64-1} 트랙분할처리
사용자가 트랙이 분할될 것임을 표시하면 처리는 단계 S102에서 단계 S116 내지 단계 S117로 구성된 루프절차로 진행한다. 단계 S116 내지 단계 S117로 구성된 루프절차에서 재생장치는 "|<<"키, ">>|"키, 및 "Edit"키를 통해 사용자 입력을 수신한다.
사용자가 "|<<"키나 ">>|"키를 누르면 처리는 단계 S116에서 단계 S118로 진행하여 표시된 트랙이 편집될 트랙으로서 설정된다. 사용자가 "Edit"키를 누르면 판정 "Yes"가 단계 S117에 주어져 처리는 단계 S119로 진행한다.
단계 S119에서 표시된 트랙은 편집될 트랙으로서 판정되면, 처리는 단계 S120으로 진행하여 이 트랙의 재생이 시작된다. 단계 S121에서 재생장치는 "Mark"키를 통해 사용자 입력을 수신한다.
사용자가 "Mark"키를 누르면 트랙의 재생이 정지되어 처리는 단계 S122 및 단계 S123으로 구성되는 루프절차로 진행한다. 단계 S122에서 재생장치는 조그다이얼을 통해 행해진 사용자 조작을 수신한다. 사용자가 조그다이얼을 회전시키면 재생시간 코드는 조그다이얼의 회전에 따라 단계 S124에서 갱신된다.
그 다음에 단계 S122 및 단계 S123으로 구성된 루프절차가 반복된다. 사용자가 "Edit"키를 누르면 처리는 단계 S123에서 단계 S125로 진행하여 사용자가 "Edit"키를 눌렀을 때 디스플레이되는 재생시간 코드가 분할경계로서 설정된다. "Undo"기능은 사용자로 하여금 선택된 분할경계를 무효화할 수 있도록 분할경계의 이러한 설정을 위해 제공된다.
그 다음에, 도 47을 참조하여 설명된 처리가 단계 S126에서 실행되어 선택된 트랙을 분할하도록 DPLI와 TKI를 갱신한다.
{52-14_65-1} 플레이리스트 설정처리
사용자가 플레이리스트를 설정하도록 선택하면 도 65에 도시된 흐름도로 도시된 절차로 처리가 바뀐다. 이 흐름도에서는 편집되고 있는 플레이리스트에 의해 주어진 재생순서로 트랙의 위치를 표시하기 위해 변수 k가 사용된다. 도 65의 흐름 도는 단계 S131에서 "1"로 초기화된 변수 k로 시작하며, 그 전에 처리는 단계 S132에서 단계 S134로 구성된 루프절차로 진행한다.
단계 S132에서 단계 S134로 구성된 루프절차에서, 재생장치는 "|<<"키, ">>|"키, "Edit"키 및 "Stop"키를 통해 행해진 사용자 조작을 수신한다. 사용자가 "|<<"키나 ">>|"키를 누르면 처리는 단계 S132에서 단계 S135로 진행하여 새로운 트랙이 "|<<"키나 ">>|"키의 누름에 따라 표시된다. 만약 사용자가 "Edit"키를 누르면 판정 "Yes"가 단계 S133에 주어져 처리는 단계 S136을 진행한다.
단계 S136에서 사용자가 "Edit"키를 누를 때 표시되는 트랙은 재생순서에서 k번째로 선택된다. 그 다음에 단계 S137에서 변수 k는 증가되고 처리는 단계 S132 내지 단계 S134로 구성되는 루프절차로 복귀한다. 이러한 절차는 반복되므로 제 2, 제 3,제 4 트랙이 연속적으로 선택된다. 만약 사용자가 "Stop"키를 눌러 특정순서로 재생될 수개의 트랙이 특정되도록 하면 처리는 단계 S134에서 단계 S138로 진행하고 이들 트랙에 대응하는 TKI를 특정하는 PL_TK_SRP로 구성된 PLI가 생성된다.
{66-1} 기록장치
이하, 플래쉬 메모리카드(31)용 기록장치의 일례에 대하여 설명하기로 한다. 도 66은 기록장치의 일례를 나타낸다. 이 기록장치는 인터넷에 접속될 수 있으며, 암호화된 SD-Audio 디렉토리가 전자음악 배포서비스에 의해 통신선을 통해 기록장치에 송신될 때 또는 오디오 데이터 전송 스트림이 전자음악 배포서비스에 의해 통신선을 통해 기록장치에 송신될 때 수신을 실행할 수 있는 표준형 퍼스널 컴퓨터이다.
{67-1} 기록장치의 하드웨어 구성
도 67은 기록장치의 하드웨어 구성을 도시한 도면이다.
도 67에 도시된 바와 같이, 기록장치는 기록장치를 플래쉬 메모리카드(31)에 접속하기 위한 카드 커넥터(21), RAM(22), 기록장치를 통해 전반적인 제어를 실행하는 기록제어 프로그램을 저장하기 위한 제거불능의 디스크장치(23), 마이크로폰을 통해 입력된 오디오를 A/D변환하기 위한 A/D컨버터(24), PCM 데이터를 고정된 시간 단위로 인코딩하고, ADTS 헤더를 할당하여 AOB_FRAME을 생성하기 위한 ACC인코더(25), 각각의 AOB_BLOCK에 대하여 상이한 FileKey를 이용하여 AOB_FRAME을 암호화하기 위한 스크램블링부(26), 암호화된 SD-Audio 디렉토리가 전자음악 배포서비스에 의해 통신선을 통해 기록장치에 송신되거나, 오디오 데이터 전송 스트림이 전자음악 배포서비스에 의해 통신선을 통해 기록장치에 송신될 때 오디오 데이터 스트림을 수신하기 위한 모뎀장치(27), 기록장치에 대한 전반적인 제어를 실행하기 위한 CPU(28), 사용자에 의한 입력을 수신하는 키보드(29), 및 디스플레이(30)를 포함한다.
{67-2} 입력회로 RT1~RT4
데이터 영역과 인증영역에 기록될 암호화된 SD-Audio 디렉토리가 전자음악 배포서비스에 의해 통신선을 통해 송신되면 기록장치는 암호화된 SD-Audio 디렉토리가 적절하게 수신되자마자 암호화된 SD-Audio 디렉토리를 플래쉬 메모리카드(31)의 데이터영역과 인증영역에 기록한다.
그러나 (1) SD-Audio 디렉토리의 형태가 아닌 오디오 데이터 전송 스트림이 전자음악 배포서비스에 의해 기록장치에 송신되거나, (2) 데이터가 PCM포맷으로 기록장치에 입력되거나, 또는 (3) 아날로그 오디오가 기록장치에 의해 기록되면 기록장치는 다음의 4가지 입력루트를 사용하여 오디오 데이터 전송 스트림을 플래쉬 메모리카드(31)에 기록한다.
도 67에 도시된 바와 같이, 4개의 입력루트(RT1, RT2, RT3, 및 RT4)는 오디오 데이터 전송스트림이 플래쉬 메모리카드(31)에 저장될 때 오디오 데이터 전송스트림을 입력하기 위해 사용된다.
{67-3} 입력루트 RT1
입력루트 RT1은 암호화된 SD-Audio 디렉토리가 전자음악 배포서비스에 의해 통신선을 통해 기록장치에 송신되거나, 오디오 데이터 전송 스트림이 전자음악 배포서비스에 의해 통신선을 통해 기록장치에 송신될 때 사용된다. 이 경우에, 전송스트림에 포함된 AOB_FRAME은 암호화되므로 상이한 FileKey가 상이한 AOB의 AOB_FRAME을 위해 사용된다. 암호화된 전송스트림은 암호화 또는 인코드할 필요가 없기 때문에 SD-Audio 디렉토리 또는 데이터 전송스트림은 암호화상태로 직접 RAM(22)에 저장될 수 있다.
{67-4} 입력루트 RT2
입력루트 RT2는 오디오가 마이크로폰을 통해 입력될 때 사용된다. 이 경우에, 마이크로폰을 통해 입력된 오디오는 A/D컨버터(24)에 의해 A/D변환되어 PCM데이터를 생성한다. PCM 데이터는 AAC인코더(25)에 의해 인코드되고 ADTS 헤더에 할당되어 AOB_FRAME을 생성한다. 그 다음에, 스크램블링부(26)는 각각의 AOB_FRAME에 대하여 상이한 FileKey를 이용하여 AOB_FRAME을 상이한 AOB_FILE로 암호화하여 암호화된 오디오 데이터를 생성한다. 그 다음에 암호화된 오디오 데이터는 RAM(22)에 저장된다.
{67-5} 입력루트 RT3
입력루트 RT3은 CD로부터 판독된 PCM 데이터가 기록장치에 입력될 때 사용된다. 데이터는 PCM 포맷으로 입력되기 때문에 그대로 AAC 인코더(25)에 입력될 수 있다. 이 PCM 데이터는 AAC인코더(25)에 의해 인코드되고 ADTS 헤더에 할당되어 AOB_FRAME을 생성한다.
그 다음에, 스크램블링부(26)는 각각의 AOB_FRAME에 대하여 상이한 FileKey를 이용하여 AOB_FRAME을 상이한 AOB_FILE로 암호화하여 암호화된 오디오 데이터를 생성한다. 그 다음에 암호화된 오디오 데이터는 RAM(22)에 저장된다.
{67-6} 입력루트 RT4
입력루트 RT4는 3개의 입력루트 RT1, RT2 ,RT3 중의 하나를 통해 입력된 전송스트림이 플래쉬 메모리카드(31)에 입력될 때 사용된다. 이러한 오디오 데이터의 저장은 TKI와 Default_Playlist_Information의 생성에 의해 수반된다. 재생장치와 동일한 방식으로 기록장치의 주된 기능은 ROM에 저장된다. 즉, 기록장치의 처리특성인 AOB, TrackManager 및 PlaylistManager의 기록을 포함하는 기록 프로그램이 제거불능의 디스크장치(23)에 저장된다.
{67-7_68} 기록장치의 처리
이하, 도 68의 흐름도를 참조하여 입력루트 RT1, RT2 ,RT3 및 RT4를 통해 플 래쉬 메모리카드(31)에 전송스트림을 기록하는 기록절차에서의 처리를 설명하기로 한다.
이 흐름도에 사용된 변수 "Frame_Number"와 "Data_Size"는 다음과 같다. 변수 "Frame_Number"는 AOB_FILE에 이미 기록된 AOB_FRAME의 총수를 관리하기 위해 사용된다. 변수 "Data_Size"는 AOB_FILE에 이미 기록된 AOB_FRAME의 데이터 크기를 관리하기 위해 사용된다.
이 흐름도에서의 처리는 CPU(28)가 Default_Playlist_Information과 TrackManager를 발생시키는 것과 함께 단계 S200에서 시작한다. 단계 S201에서, CPU(28)는 변수 #z를 초기화한다(z←1). 단계 S202에서, CPU(28)는 AOB_FILE#z를 생성하여 그것을 플래쉬 메모리카드(31)의 데이터 영역에 저장한다. 이 지점에서 AOB_FILE#z에 대한 파일명, 파일명 확장자 및 제 1 클러스터 번호가 데이터 영역의 SD-Audio 디렉토리내 디렉토리 엔트리에 설정될 것이다. 그 다음에, 단계 S203에서, CPU(28)는 TKI#z를 생성하고 그것을 TrackManager에 저장한다. 단계 S204에서 CPU(28)는 DPL_TL_SRP#w를 생성하고 그것을 Default_Playlist_Information에 저장한다. 그 다음에 단계 S205에서 CPU(28)는 변수 #y를 초기화하고(#y←1), 단계 S206에서 CPU(28)는 Frame_Number와 Data_Size를 초기화한다(Frame_Number←0, Data_Size←0).
단계 S207에서 CPU(28)는 AOB_FILE#에 기록되어야 하는 오디오 데이터 전송스트림의 입력이 종료되는지를 판정한다. AAC 인코더(25)에 의해 인코드되고 스크램블링부(26)에 의해 암호화된 오디오 데이터 입력 전송스트림의 RAM(22)으로의 입 력이 계속되고 클러스터 데이터의 기록을 계속하는 것이 필수적이면, CPU(28)는 단계 S207에서 판정 "No"를 부여하여 처리는 단계 S209로 진행한다.
단계 S209에서 CPU는 RAM(22)에 축적된 AAC 오디오 데이터의 양이 적어도 클러스터의 크기와 같은지를 판정한다. 그 결과 크기가 같으면 CPU(28)는 "Yes"로 판정하면 처리는 단계 S210으로 진행하여 클러스터 크기와 같은 AAC 오디오 데이터의 양이 플래쉬 메모리카드(31)에 기록된다. 그리고 처리는 단계 211로 진행한다.
충분한 AAC 오디오 데이터가 RAM(22)에 축적되지 않으면, 단계 S210은 생략되고 처리는 단계 S211로 진행된다. 단계 S211에서, CPU는 Frame_Number를 증가시키고( Frame_Number← Frame_Number+1), AOB_FRAME의 데이터 크기에 의해 변수 Data_Size의 값을 증가시킨다. 이러한 갱신후, 단계 S212에서 CPU(28)는 Frame_Number의 값이 "FNs_Middle_TMSRTE"에 설정된 프레임의 수에 도달하는지를 판정하며, "FNs_Middle_TMSRTE"의 값은 오디오 데이터 전송스트림을 인코딩할 때 사용되는 샘플링 주파수에 따라 설정된다. Frame_Number의 값이 "FNs_Middle_TMSRTE"에 설정된 프레임의 수에 도달하면 CPU(28)는 단계 S212에서 "Yes"를 판정하나, 그렇지 않으면 CPU(28)는 "No"를 판정하여 처리는 단계 S207로 복귀한다. 따라서 단계 S207이나 단계 S212에서 판정이 "Yes"로 될 때까지 단계 S207에서 단계 S212까지의 처리는 반복된다.
변수 "Frame_Number"가 "FNs_Middle_TMSRTE"의 값에 도달하면, CPU(28)는 단계 S212에서 "예"를 판정하여 처리는 단계 S212에서 단계 S213을 진행하고 "Data_Size"는 AOB_ELEMENT#y에 대한 TMSRT_entry#y로서 TKI#z의 TKTMSRT에 저장된 다. 단계 S214에서, CPU(28)는 변수 #y를 증가시키는데(#y←#y+1) 그 전에 단계 S215에서 변수 #y가 "252"에 도달하였는지를 검사한다.
값 "252"는 단일 AOB에 저장될 수 있는 AOB_ELEMENT의 최대수이기 때문에 이 값이 사용된다. 변수 #y가 252보다 작으면 처리는 단계 S216으로 진행하고, CPU(28)는 소정 길이의 묵음이 인코드된 오디오에 존재하는지를 판정하는데, 그 묵음은 오디오 데이터가 트랙 사이에 존재하는 갭에 도달하였음을 알려주는 것이다. 이러한 연속적인 묵음이 존재하지 않으면 단계 S206에서 단계 S215로 구성된 처리가 반복된다. 변수 #y가 값 252에 도달하거나 소정길이의 묵음이 인코드된 오디오에 존재하면 단계 S215와 단계 S216 중의 하나에 판정 "Yes"가 주어져 처리는 단계 S217로 진행하고 변수 #z는 증가된다(#z←#z+1).
그 다음에 단계 S202에서 단계 S216의 처리가 증가된 변수 #z에 대하여 반복된다. 이러한 처리를 반복함으로써 CPU(28)는 플래쉬 메모리카드(31)에 차례로 기록된 복수의 AOB_ELEMENT를 포함하는 AOB들을 갖는다.
AAC 인코더(25), 스크램블링부(26) 및 모뎀장치(27)에 의한 오디오 데이터 전송스트림의 전송이 완료되면, 이것은 AOB_FILE#z에 기록될 오디오 데이터 전송스트림의 입력 또한 완료된다는 것을 의미하므로, 단계 S207에서 "예"가 판정되어 처리는 단계 S208로 진행한다. 단계 S208에서, CPU(28)는 AOB_ELEMENT#y에 대한 TKSRT_Entry#y로서 TKI#z의 TKTMSRT에 변수 Data_Size의 값을 저장한다. AOB에 대응하는 AOB 파일에 RAM(22)에 축적된 오디오 데이터를 저장한 후, 이 흐름도의 처리는 종료된다.
상술한 처리에 의해 암호화된 오디오 데이터가 플래쉬 메모리카드(31)에 저장된다. 그리고 인증영역 내의 이 암호화된 오디오 데이터 전송스트림을 암호해독하는데 필요한 FileKey를 저장하기 위해 다음의 처리가 사용된다.
오디오 데이터 전송스트림이 입력루트 RT1을 통해 입력되면 각각의 AOB 파일, TKMG를 저장한 파일, PLMG를 저장한 파일, 및 AOB에 대한 다른 FileKey를 저장한 암호화키 저장파일이 전자음악 배포서비스 공급자에 의해 기록장치로 전송된다. CPU(28)는 이들 파일을 수신하여 AOB 파일, TKMG를 저장한 파일, PLMG를 저장한 파일을 플래쉬 메모리카드(31)의 사용자 영역에 기록한다. 한편 CPU(28)는 각각의 AOB에 대하여 상이한 FileKey를 저장한 암호키 저장파일을 인증영역에 기록한다.
오디오가 입력루트 RT2, RT3을 통해 입력되면 CPU(28)는 새로운 AOB의 인코딩이 시작할 때마다 다른 FileKey를 생성하고 생성된 키를 스크램블링부(26)에 설정한다. 현재의 AOB를 암호화하기 위해 스크램블링부(26)가 사용되는 외에 인증영역에 존재하는 암호키 저장파일 내의 FileKey 엔트리 다음에 이 FileKey가 저장된다.
상술한 실시예에 따르면, AOB를 저장한 파일은 다른 암호키를 사용하여 암호화되므로 하나의 파일을 암호화하기 위해 사용된 암호화키가 디코드되고 노출되면 노출된 암호화키는 하나의 AOB를 저장한 파일을 암호해독하기 위해 사용될 수 있을 뿐이고 이러한 노출은 다른 파일에 저장된 다른 AOB에 영향을 미치지 않는다. 이것은 하나의 암호키가 노출될 때 야기되는 손해를 최소화한다.
상술한 설명은 본 발명의 가장 효과적인 실시예로 생각되는 시스템의 예에 대해 집중적으로 설명한 것이나 본 발명이 이 시스템에 한정되는 것은 아니다. 본 발명의 범위 내에서 다양한 수정이 가능하며 이러한 예로서 하기와 같은 (a)~(e)가 있다.
(a) 상술한 실시예에서 사용된 기록매체로서 반도체 메모리(플래쉬 메모리카드)가 설명되어 있으나, 본 발명은 DVD-RAM이나 하드디스크 같은 다른 기록매체에도 적용될 수 있다.
(b) 상술한 실시예에서 오디오 데이터는 AAC 포맷으로 설명되어 있으나, 본 발명은 MP3(MPEG 1 오디오 레이어 3), 돌비-AC3, 또는 DTS(Digital Theater System)과 같은 다른 포맷의 오디오 데이터에도 적용될 수 있다.
(c) TKMG를 저장한 파일과 PLMG를 저장한 파일이 전자음악 배포서비스의 공급자로부터 완전한 형태로 수신되는 것으로 설명되어 있으나 TKMG와 PLMG를 생성하기 위해 사용되는 주된 정보는 각 AOB에 대한 다른 암호키를 저장하는 암호키 저장파일과 함께 전송될 수 있다. 기록장치는 이 정보를 처리하여 플래쉬 메모리카드에 기록된 TKMG와 PLMG을 구할 수 있다.
(d) 설명을 쉽게 하기위해서 기록장치와 재생장치는 별개의 장치인 것 처럼 설명하였으나, 휴대형 재생장치에 기록장치의 기능을 장착할 수 있으며, 퍼스널 컴퓨터 형태의 기록장치에 재생장치의 기능을 갖도록 할 수도 있다. 휴대형 재생장치 및 퍼스널 컴퓨터 이외에 재생장치와 기록장치의 기능이 네트웍으로부터 콘텐츠를 다운로드받을 수 있는 통신장치에 구비될 수도 있다.
일례로서 인터넷 액세스가 가능한 이동전화에 상술한 재생장치와 기록장치의 기능을 갖도록 할 수 있다. 이러한 이동전화는 상술한 실시예와 동일한 방식으로 무선 통신망을 통해 플래쉬 메모리카드(31)에 콘텐츠를 다운로드받을 수 있다. 또 상술한 실시예에 기술된 기록장치는 인터넷에 접속을 위한 모뎀장치(27)를 구비하고 있으나 인터넷에 접속하기 위한 ISDN 회선용 터미널 어댑터와 같은 다른 장치가 대신 구비될 수도 있다.
(e) 도 55 내지도 58, 도 60, 도 63 내지 도 65 및 도 68에 도시된 흐름도에 나타낸 절차는 기록매체에 기록되어 배포되고 판매될 수 있는 실행가능한 프로그램에 의해 달성될 수 있다. 이 기록매체는 IC카드, 광디스크, 플로피디스크 등 일수 있으며 기록매체에 기록된 프로그램은 우선 표준형 컴퓨터 하드웨어에 설치되어야 한다. 이렇게 설치된 프로그램에 따라 처리를 실행함으로써 표준형 컴퓨터 하드웨어는 상술한 실시예에서 기술한 재생장치 및 기록장치와 동일한 기능을 실행할 수 있다.
(f) 상술한 실시예는 복수의 AOB와 복수의 FileKey가 플래쉬 메모리카드(31) 상에 기록되는 경우를 설명하였으나 하나의 AOB와 FileKey만이 저장될 필요가 있다. 또 AOB가 암호화될 필요가 없으므로 AOB는 ACC 포맷으로 플래쉬 메모리카드(31)에 저장될 수 있다.
(제 2 실시예)
{69-1} 제 2 실시예의 PlaylistManager의 개괄구성
제 2 실시예는 이전에 연주된 트랙을 반복하지 않고 재생장치가 재생을 재개하도록 하는 제 1 실시예의 반도체 메모리카드의 개선에 관한 것이다. 도 69는 제 2 실시예에 있어서의 PlaylistManager와 TrackManager의 내부구성을 보여준다. 제 2실시예의 PlaylistManager와 TrackManager는 PlaylistManager_Information(PLMGI)의 구성이 도 17과 달리 도 69에선 명확하게 도시되어 있다는 점에서 도 17에 도시된 것들과 다르다.
PLMGI에서 특히 중요한 것 중의 하나가 PLMG_RSM_PL이다. 이것은 재생 재개위치를 나타내며, 재생장치가 동일한 데이터를 반복적으로 재생하지 않고 콘텐츠의 재생을 재개할 수 있도록 반도체 메모리카드에 기록된다.
{70-1} PlaylistManger의 상세한 구성
도 70은 PlaylistManager_Information의 상세 구성도이다. 도면에 도시된 바와 같이, PLMGI는 0번째와 첫번째 바이트를 점유하는 PLMG_ID 필드와, 두번째와 세번째 바이트를 점유하는 예약필드와, 4번째에서 11번째의 바이트를 점유하는 SDA_ID 필드와, 12번째에서 13번째 바이트를 점유하는 VERN 필드와, 14번째에서 15번째 바이트를 점유하는 PLMG_PL_Ns 필드와, 16번째에서 19번째 바이트를 점유하는 PLMG_AP_PL 필드와, 20번째에서 27번째의 바이트를 점유하는 PLMG_RSM_PL 필드와, 28번째에서 29번째 바이트를 점유하는 PLMG_APP_ATR 필드와, 30번째에서 31번째 바이트를 점유하는 PLMG_FCA 필드와, 32번째에서 33번째 바이트를 점유하는 TKI_Ns 필드와, 34번째에서 35번째의 바이트를 점유하는 예약필드를 구비한다.
{70-2} PLMG_AP_PL과 PLMG_RSM_PL을 제외한 정보
우선 PLMG_AP_PL과 PLMG_RSM_PL을 제외한 PlaylistManager의 필드에 대해 설명하기로 한다.
PLMG_ID는 현재의 정보가 PLMGI인 것을 나타내도록 "A1"(ISO646 표준에 따라 설정된 문자열)로서 설정된다.
SDA_ID는 현재의 PlaylistManager가 SD-AUDIO 규정에 따르는 데이터인 것을 나타내도록 "SD-AUDIO"((ISO646 표준에 따라 설정된 문자열)로서 설정된다.
사용된 SD-AUDIO 규정에 대한 버전번호는 VERN 필드에서 설정된다. 도 70에서 점선 h71은 버전번호의 비트구성을 나타낸다. 비트 b7 내지 b0으로 구성된 필드는 버전번호를 저장하기 위해 사용된다. 예컨대, 현재의 PlaylistManager의 버전번호가 "버전0.9", "09h"일 때 이 필드에 기록되고, 버전번호가 "버전1.0", "10h"일 때 이 필드에 기록된다. 비트 b15 내지 b8로 구성된 필드가 장래의 사용을 위해 예약된다.
PLMG에 의해 관리되는 플레이리스트의 번호, 즉 플래쉬 메모리카드에 기록된 플레이리스트의 번호는 PLMG_PL_Ns 필드에 기록된다.
플래쉬 메모리카드에 기록된 어플리케이션의 카테고리를 나타내는 어플리케이션 카테고리 ID는 PLMG_APP_ATR에 기록된다. 제 1 실시예에서처럼 플래쉬 메모리카드에 저장된 어플리케이션은 음악이며 값 "01h"가 이 필드에 기록된다.
플래쉬 메모리카드에 기록된 어플리케이션이 가라오케 소프트웨어이면 값 "02h"가 이 필드에 기록되고, 어플리케이션이 프리젠테이션 데이터이면 값 "03h"가 이 필드에 기록되며, 어플리케이션이 오디오북이면 값 "04h"가 이 필드에 기록된다.
어플리케이션 카테고리 ID가 "02h"이면 오디오 데이터가 가라오케처럼 플래 쉬 메모리카드에 기록되므로 우측채널이 트랙후진을 위해 사용되고 좌측채널이 음성을 위해 사용된다. 오디오 데이터가 이러한 방식으로 기록되면 재생장치는 좌우측 채널에서 우측채널용의 오디오 데이터를 재생함으로써 가라오케 트랙을 후진하여 재생할 수 있다.
PLMG_FCA 필드는 장래의 사용을 위해 예약된다.
제 1 실시예에서처럼 TKI의 번호를 나타내는 정수는 TKI_Ns필드에 기록된다. 이 값은 "1"에서 "999"의 범위로 주어진다.
이것으로 PLMG_AP_PL과 PLMG_RSM_PL을 제외한 PlaylistManager의 필드에 관한 설명을 마치기로 한다.
{70-3} PLMG_AP_PL
PLMG_AP_PL은 플래쉬 메모리카드가 재생장치에 장착되어 재생장치가 작동될 때 자동으로 판독될 플레이리스트의 번호와 그 플레이리스트에서 자동으로 재생될 제 1 트랙의 번호를 보여준다. 도 70에서 점선 h72는 PLMG_AP_PL의 4바이트 구성을 나타낸다. 비트 b31과 b26 사이의 필드와 비트 b15와 b8 사이의 필드는 장래의 사용을 위해 예약된다. 비트 b7에서 b0까지는 자동으로 판독될 플레이리트스의 번호가 범위 "1"에서 "99"{10진수)로 주어진 플레이리스트 번호 필드를 형성한다. 이 필드에 기록된 번호는 제 1 실시예에서 설명된 바와 같이 Playlist_Information으 번호이다. Default_Playlist_Information을 나타내기 위해 번호 "0"이 기록된다.
비트 b25에서 b16은 플레이리스트에 의해 특정된 복수의 트랙중에서 자동으로 재생될 트랙의 번호가 부여된 트랙 번호 필드를 형성한다. 이 필드에 기록된 번 호는 제 1 실시예에 기술된 바와 같이 Track_Number이다. PLMG_AP_PL 필드에서 이 값은 사용자에 의해 자유롭게 설정될 수 있으며, PLMG_AP_PL이 사용되지 않을 때 "0"으로 설정되어야만 한다.
{70-4} PLMG_RSM_PL
플래쉬 메모리카드에 기록된 하나 이상의 AOB 파일에 대해 재생이 이미 실행되고 있으면 PLMG_RSM_PL은 플래쉬 메모리카드상에 있는 데이터의 이전 재생을 위해 사용된 플레이리스트를 나타내는 플레이리스트 번호와, 이 플레이리스트에 따라 재생될 마지막 트랙의 번호를 나타내는 트랙번호와, 트랙번호에 의해 표시된 트랙에서 중단된 재생지점을 나타내는 재생시간을 포함한다.
도 70에서 점선 h73은 PLMG_RSM_PL의 비트 구성을 나타낸다. 비트번호 b31에서 비트번호 b0의 비트구성은 PLMG_AP_PL에서의 동일하다. 먼저의 재생을 위해 사용된 플레이리스트의 번호는 비트 번호 b7에서 b0까지의 영역을 점유하는 플레이리스트 번호 필드에서 범위 "0"에서 "99"까지의 값으로 기록된다. 이 플레이리스트에 의해 특정된 여러 트랙중에서 재생될 마지막 트랙의 번호는 비트 번호 b25에서 비트 번호 b16의 영역을 점유하는 트랙 번호 필드에 기록된다.
PLMG_AP_PL의 비트구성과 달리, PLMG_RSM_PL의 비트번호 b32에서 비트번호 b63까지의 영역은 Playback_Time 필드를 형성한다. 트랙번호에 의해 표시된 트랙에 대한 이전의 재생이 중단되는 시간은 이 필드에 마이크로초의 정밀도로 기록된다. PLMG_RSM_PL이 사용자에 의해 사용되지 않으면 값 "0"은 PLMG_RSM_PL의 모든 필드에 설정되어야만 한다.
{70-4_71} 플래쉬 메모리카드가 재생장치들 사이에서 이동될 때 PLMG_RSM_PL의 설정
이하, 제 2 실시예의 플래쉬 메모리카드가 재생장치들 사이에서 이동될 때 PLMG_AP_PL가 PLMG_RSM_PL이 어떻게 설정되는지에 대해 설명하기로 한다. 도 71은 제 2 실시예의 플래쉬 메모리카드가 재생장치들 사이에서 이동될 때 PLMG_AP_PL가 PLMG_RSM_PL이 어떻게 설정되는지를 보여준다.
도 71에서, 플래쉬 메모리카드는 표준형 퍼스널 컴퓨터, 휴대형 재생장치, 및 차량용 재생장치로 구성된 복수의 재생장치들 사이에서 이동되고 있다. 이들 각각의 재생장치는 제 1 실시예에서 설명된 재생장치와 기록장치의 기능을 구비하고 있다.
여기서의 설명은 도 16과 동일한 방식으로 TrackA 내지 TrackE로 구성된 AOB 파일을 저장하는 플래쉬 메모리카드를 설명하고 있다.
제 2 실시예의 플래쉬 메모리카드는 우선 제 1 실시예에서 설명된 프리젠테이션 데이터와 네비게이션 데이터를 기록한 퍼스널 컴퓨터(200)에 장착되는 것으로 가정한다. 그 다음에, 퍼스널 컴퓨터(200)가 Default_Playlist_Information을 나타내는 Playlist_Number "0"과 TrackC를 나타내는 Track_Number "3"을 갖도록 PLMG_AP_PL을 설정하는 것으로 가정한다. 이 예에서, 사용자는 TrackA, TrackB, TrackC의 순서로 재생되는 AOB 파일을 플래쉬 메모리카드상에 가지며, 재생기간이 5.5분인 TrackC의 재생에 대해 3분 31초의 지점에서 재생을 중단하였다. 이 경우에 퍼스널 컴퓨터(200)는 Default_Playlist_Information을 나타내는 Playlist_Number "0"과 TrackC를 나타내는 Track_Number "3"을 PLMG_RSM_PL" 필드에 기록한다. 또한 퍼스널 컴퓨터(200)는 TrackC에 대하여 재생이 중단되는 지점을 나타내는 값 "00:03:32.000"을 PLMG_RSM_PL의 Palyback_Time 필드에 기록한다. 그 다음에, 사용자는 화살표 my71로 나타낸 바와 같이 퍼스널컴퓨터(200)로부터 플래쉬 메모리카드를 제거한 후 그것을 휴대형 재생장치(100)에 장착한다.
제 1 실시예에서, 재생장치(휴대형 재생장치(100))는 Default_Playlist_Information에 의해 특정된 TrackA의 제 1 AOB_FRAME에서 재생을 시작한다. 그러나 제 2 실시예에서는 Playlist_Manager_Information에 PLMG_AP_PL과 PLMG_RSM_PL이 제공되기 때문에 재생장치는 이 정보의 콘텐츠에 따라 어떤 AOB_FRAME으로부터도 재생을 시작할 수 있다.
퍼스널 컴퓨터(200)는 Default_Playlist_Information을 나타내도록 Playlist_Number에 값 "0"을 설정하고, TrackC를 나타내도록 Track_Number에 값 "3"을, Playback_Time에 "00:03:31.000"을 설정하기 때문에, 휴대형 재생장치(100)는 Default_Playlist_Information의 TrackC에서 3분 31초까지 재생이 이미 실행되어, TrackC에서 3분 31.001초 지점부터 재생이 실행되어야만 한다는 것을 알 수 있게 해준다.
TrackC의 재생이 시작된 후, 사용자가 휴대형 재생장치(100)에 부착된 이어폰을 두고 집을 나온 경우를 가정해보자.
이 예에서는 사용자가 TrackD의 재생에서 10분 30초의 지점에서 재생을 중단하면서 TrackC의 마지막 부분과 TrackD의 처음부분을 듣는다. 이 경우에, 휴대형 재생장치(100)는 Default_Playlist_Information을 나타내도록 Playlist_Number에 "0"을 기록하고, TrackD를 나타내도록 Track_Number에 "4"를 기록하며, TrackD의 재생에서 10분 30초의 지점에서 재생이 중단되는 것을 나타내도록 Playback_Time에 "00:10:30.000"을 기록함으로써 PLMG_RSM_PL의 콘텐츠를 갱신한다. 한편, PLMG_AP_PL의 콘텐츠는 다시 기록되지 않으므로 Playlist_Number는 Default_Playlist_Information을 나타내도록 "0"을 유지하고, Track_Number는 TrackC를 나타내도록 "3"을 유지한다.
그 다음에, 사용자가 도 71의 화살표 my72로 도시된 바와 같이 휴대형 재생장치(100)로부터 플래쉬 메모리카드를 제거하여 차량용 플레이어(300)에 장착하는 것으로 가정하기로 하자.
휴대형 재생장치(100)는 Default_Playlist_Information을 나타내도록 Playlist_Number에 값 "0"을 설정하고, TrackD를 나타내도록 Track_Number에 값 "4"를, Playback_Time에 "00:10:30.000"을 설정하기 때문에, 차량용 플레이어(300)는 Default_Playlist_Information의 TrackD에서 10분 30초까지 재생이 이미 실행되어, TrackD에서 10분 30.001초 지점부터 재생이 실행되어야만 한다는 것을 알 수 있게 해준다.
사용자가 다시 한번 재생을 중단하기 전에는 TrackD는 이 지점부터 재생이 시작되어 9분 30초 동안 계속된다. TrackD의 일부분이 남아 있기 때문에 PLMG_RSM_PL의 Playlist_Number와 Track_Number는 변하지 않은 채 남아 있으며, Playback_Time만이 값 "00:20:00.000"을 이용하여 갱신된다.
상술한 바와 같이, 플래쉬 메모리카드가 퍼스널 컴퓨터(200)로부터 제거되어 휴대형 재생장치(100)로 장착되면 퍼스널 컴퓨터(200)에 의해 재생이 중단되는 지점 바로 다음 지점부터 재생이 시작된다.
동일한 방식으로, 플래쉬 메모리카드가 휴대형 재생장치(100)로부터 제거되어 차량용 플레이어(300)에 장착되면 휴대형 재생장치(100)에 의해 재생이 중단되는 지점 바로 다음 지점부터 재생이 시작된다. 이것은 동일한 데이터가 두번 재생되지 않고 퍼스널 컴퓨터(200)에서 휴대형 재생장치(100) 및 차량용 플레이어(300)로 이동될 수 있다는 것을 의미한다.
{70-5} TKI가 편집될 때 PLMG_AP_PL과 PLMG_RSM_PL의 갱신
PLMG_AP_PL과 PLMG_RSM_PL에 대해서는 더 이상 설명하지 않기로 한다. 대신, PLMG_AP_PL과 PLMG_RSM_PL의 콘텐츠가 제 1 실시예에서 설명된 4개의 편집작업에 대하여 어떻게 갱신되는지에 대해 설명하기로 한다. 이들에는 트랙이 삭제되는 케이스 1, 2개의 트랙이 결합되는 케이스 3, 트랙이 둘로 분할되는 케이스 4, 트랙의 재생순서가 재배열되는 케이스 5가 있다.
케이스 1에서 PLMG_AP_PL과 PLMG_RSM_PL가 삭제되면 PlaylistManager의 PLMG_AP_PL과 PLMG_RSM_PL에 부여된 Track_Number는 표시된 플레이리스트에서 삭제된 트랙 다음의 트랙을 표시하도록 설정된다. PLMG_RSM_PL의 Playback_Time 또한 그 다음 트랙의 시작을 표시하도록 "00:00:00.000"으로 설정된다.
케이스 3에서, PLMG_AP_PL과 PLMG_RSM_PL에 의해 특정된 트랙이 다른 트랙과 결합하면 PlaylistManager의 PLMG_AP_PL과 PLMG_RSM_PL에 부여된 Track_Number는 표시된 플레이리스트에서 결합된 트랙의 위치를 표시하도록 설정된다.
케이스 4에서, PLMG_AP_PL과 PLMG_RSM_PL에 의해 특정된 트랙이 분할되면 PlaylistManager의 PLMG_AP_PL과 PLMG_RSM_PL에 부여된 Track_Number는 표시된 플레이리스트에서 분할된 앞부분과 뒷부분의 위치를 표시하도록 설정된다. Playback_Time은 분할경계와 비교되며, Playback_Time이 분할경계 전에 있으면 분할된 트랙의 앞부분에 대응하는 트랙의 Track_Number가 PLMG_RSM_PL에 설정된다. Playback_Time이 분할경계 다음에 있으면 분할된 트랙의 뒷부분에 대응하는 트랙의 Track_Number가 PLMG_RSM_PL에 설정된다.
케이스 5에서, 표시된 플레이리스트의 PLMG_AP_PL과 PLMG_RSM_PL에 의해 특정된 트랙의 위치가 변경되면, PlaylistManager의 PLMG_AP_PL과 PLMG_RSM_PL에 부여된 Track_Number는 표시된 플레이리스트에서 트랙의 새로운 위치를 표시하도록 설정된다.
상술한 설명은 트랙이 편집될 때 PLMG_AP_PL과 PLMG_RSM_PL이 갱신되는 것에 대해 설명한 것이나 PLMG_AP_PL과 PLMG_RSM_PL의 설정은 트랙편집이 실행될 때 단순히 소거될 수도 있다.
{72-1} PLMG_AP_PL과 PLMG_RSM_PL이 어떻게 사용되는지의 설정
이하, 제 2 실시예의 재생장치에 대해 설명하기로 한다. 이 재생장치는 제 1 실시예에서 설명된 재생장치와 3가지의 주요 차이점이 있다.
첫번째 차이점은 재생장치가 사용자로부터 PLMG_AP_PL의 설정과 초기설정을 수신한다는 점이다. 도 72는 PLMG_AP_PL의 사용자 입력과 초기설정을 수신하기 위 해 사용되는 메뉴화면을 보여주고 있다.
도 72에 도시된 바와 같이, "이전 위치로부터 재생재개" 또는 "선호하는 트랙(favorite track)으로부터 시작"의 문자열중 하나를 선택함으로써 플래쉬 메모리카드가 장착될 때 사용자는 재생장치로 하여금 PLMG_AP_PL나 PLMG_RSM_PL 중의 어느 하나를 참조하게 한다. 이 예에서, 사용자의 "선호하는 트랙"은 PLMG_AP_PL에 부여된 Playlist_Number와 Track_Number에 의해 특정된 트랙이다.
사용자가 이들 문자열중의 하나를 선택하면 재생장치는 적절한 플래그를 설정한다. 이 플래그(소위, "활성 플래그")는 재생이 PLMG_AP_PL에 부여된 Playlist_Number와 Track_Number로부터 시작되는지, 또는 PLMG_RSM_PL에 부여된 Playlist_Number, Track_Number 및 Playback_Time으로부터 시작되어야 하는지를 보여준다. 사용자가 "이전 위치로부터 재생재개"를 선택하면 활성 플래그는 "온"으로 설정되므로 플래쉬 메모리카드가 장착될 때 재생장치는 PLMG_RSM_PL을 참조하여 재생이 이전에 중단된 지점으로부터 데이터를 재생하기 시작한다. 사용자가 "선호하는 트랙으로부터의 시작"을 선택하면, 활성 플래그는 "오프"로 설정되므로, 플래쉬 메모리카드가 장착될 때 재생장치는 PLMG_AP_PL에 표시된 트랙과 함께 재생을 시작한다.
도 72에 도시된 메뉴화면은 사용자가 자신의 선호하는 트랙을 설정할 수 있도록 해준다. 사용자가 키패널을 사용하여 입력동작을 실행하면, 플래쉬 메모리카드상의 PLMG_AP_PL은 표시된 플레이리스트와 트랙을 보여주도록 기록된다. 활성 플래그는 재생장치에 구비된 딥스위치나 푸시버튼 스위치처럼 다른 방식으로 설정될 수도 있다.
{56_57_58-1} PLMG_RSM_PL의 갱신
제 1 실시예와 두번째의 차이점은 사용자가 "Stop"키를 누를 때 제 2 실시예의 재생장치는 PLMG_RSM_PL의 설정을 갱신한다는 점이다. 제 1 실시예에서 도 56 ,도 57 및 도 58의 흐름도의 어느 하나에 있는 "Stop"키를 누르면 단계 S31, 단계 S42 또는 단계 S54에서 판정이 "예"로 되어 흐름도에서의 절차는 종료한다.
그러나 제 2 실시예에서, 재생장치는 PLMG_RSM_PL에 값을 설정할 것이다. 보다 상세하게 재생장치는 재생을 위해 현재 사용되는 플레이리스트의 Playlist_Number와 현재 재생될 AOB에 대응하는 Track_Number를 특정하고, 그들을 PLMG_RSM_PL에 기록한다. 재생장치는 또한 재생이 중단된 지점에서 변수 Play_Time의 값(제 1 실시예에서 설명됨)을 참조하고 이 값을 Playback_Time으로서 PLMG_RSM_PL에 설정한다.
"Stop"키가 눌려질 때 외에도 사용자가 "Pause"키를 누르면 재생장치는 PLMG_RSM_PL내의 설정을 갱신한다. 재생장치는 또한 배터리의 잔존 전력이 낮으면 PLMG_RSM_PL 내의 Playlist_Number, Track_Number 및 Playback_Time의 설정을 갱신할 수 있다. 결국 사용자가 "Stop"키를 누르기 때문이 아니라 재생장치의 배터리가 소모되어 재생이 중단되는 경우에 대하여도 PLMG_RSM_PL에 유효정보가 설정될 수 있다.
{73-1} 절차를 특정하는 재생위치
이하 제 1 실시예와의 세번째 차이점에 대해 설명하기로 한다. 제 1 실시예 에서 AOB 파일은 그들이 플레이리스트에 의해 특정되는 순서로 재생된다. 그러나 제 2 실시예에서는 도 73에 도시된 절차에 따라 결정된 재생위치로부터 시작하는 재생이 실행된다. 이하, PLMG_AP_PL와 PLMG_RSM_PL에 기초하여 재생위치 결정절차에 대해 설명하기로 한다. 이 절차는 도 73의 흐름도를 참조하여 설명하기로 한다.
이 흐름도에서 처리가 일단 활성화되면 단계 S301에서 CPU(10)는 도 72의 메뉴화면을 사용하여 설정된 활성 플래그을 참조하고, PLMG_AP_PL과 PLMG_RSM_PL 중의 어느 것이 플래쉬 메모리카드가 장착된 시점을 참조하는지를 결정한다.
활성 플래그가 PLMG_AP_PL를 표시하면, 처리는 단계 S301에서 단계 S302로 진행한다. 단계 S302에서 CPU(10)는 PLMG_AP_PL를 참조하고 제 1 실시예에서 설명된 TKI#z로서 Playlist_Number에 의해 특정된 플레이리스트의 Track_Number에 의해 특정된 트랙의 TKI를 특정한다. 그러면 CPU(10)는 TKI#z에 대응하는 AOB 파일#z를 재생하기 시작한다. 활성 플래그가 우선권이 PLMG_RSM_PL에 주어지는 것임을 나타낼 때 처리는 단계 S301에서 단계 S303으로 진행하다. 단계 S303에서, CPU(10)는 PlaylistManager_Information으로부터 PLMG_RSM_PL를 판독하고, 단계 S304에서, CPU(10)는 PLMG_RSM_PL에 기록된 Playlist_Number, Track_Number 및 Playback_Time가 유효한지를 판정한다.
PLMG_RSM_PL가 재생중단된 마지막을 적절하게 설정하지 못하거나 PLMG_RSM_PL에 의해 표시된 클러스터의 판독중에 에러가 있으면 CPU(10)는 PLMG_RSM_PL가 무효임을 판정할 것이다. 그러면 처리는 단계 S304에서 단계 S302로 진행하여 CPU(10)는 PLMG_AP_PL에 기초하여 재생을 시작할 것이다.
PLMG_RSM_PL 내의 Playlist_Number, Track_Number 및 Playback_Time이 유효이면 처리는 단계 S304에서 단계 S305로 진행하여 CPU(10)는 PLMG_RSM_PL에 부여된 Playback_Time의 값이 PLMG_AP_PL에 기록된 Track_Number에 의해 표시된 트랙의 재생주기(TKI_PB_TM)와 동일한지를 판정한다. 만일 이들 두개의 값이 같지 않으면 Track_Number에 의해 표시된 트랙의 부분은 이미 재생된 것이므로 단계 S306에서 CPU는 PLMG_RSM_PL내의 Track_Number에 의해 표시된 TKI를 TKI#z로서 특정하고, 단계 S307에서 CPU(10)는 AOB_FRAME#x와 AOB_ELEMENT#y를 특정하고, PLMG_RSM_PL에 부여된 Playback_Time에 기초하여 TKI에 대응하는 AOB 파일 내에서 특정된 파일로부터 재생이 시작된다. 하나의 트랙내에서 어느 특정 재생시작시간에 대응하여 AOB_FRAME#x와 AOB_ELEMENT#y를 특정하는 절차는 식 1~ 3을 이용하는 제 1 실시예에 설명되어 있다. CPU(10)는 AOB_FRAME#x와 AOB_ELEMENT#y를 계산하기 위해 이들 식을 이용하고, 단계 S308에서 AOB 파일#z내의 AOB_ELEMENT#y의 AOB_FRAME#x로부터 재생을 시작한다.
Playback_Time의 값이 TKI_PB_TM의 값과 같으면, 단계 S305에서 판정 "예"가 부여되어 처리는 단계 S309로 진행한다. 그러면 CPU(10)는 PLMG_RSM_PL내의 Track_Number가 PlaylistManager에 부여된 TKI_Ns와 같은지를 판정한다. 만약 같지 않다면 그것은 적어도 하나의 트랙이 Playlist_Number에 의해 특정된 플레이리스트에서 재생될 것이므로, 처리는 단계 S309에서 단계 S311로 진행한다. 단계 S311에서 PLMG_RSM_PL내의 Track_Number에 의해 특정된 TKI 다음의 TKI는 TKI#z로서 특정되며 단계 S312에서 CPU(10)는 TKI#z에 대응하는 AOB 파일#z의 시작부터 AOB의 재 생을 시작한다.
TKI_PB_TM이 Playback_Time과 동일하고 PLMG_RSM_PL에 부여된 Track_Number가 TKI_Ns와 동일하면 PLMG_RSM_PL내의 Playlist_Number에 의해 표시된 플레이리스트가 그 전체로서 재생될 것이므로, 재생장치는 재생될 다음 플레이리스트의 사용자 입력을 수신할 것이다.
본 실시예에 따라 PLMG_RSM_PL는 재생 재개위치에 따라 반도체 메모리카드에 기록된다. 이 정보는 반도체 메모리카드의 이전 재생이 얼마나 많이 진행되었는지를 보여주므로 반도체 메모리카드가 재생장치로부터 제거되고 다른 재생장치로 장착되면 제 2 재생장치는 제 1 재생장치에 의한 재생이 종료되는 지점의 바로 다음 지점에서 재생을 시작할 수 있다.
결국, 사용자가 제 1 재생장치상의 TrackA 내지 TrackE로 구성된 음악앨범의 일부를 듣고, 재생을 중단하며, 다른 재생장치에서 그 앨범을 재생하면 제 2 재생장치는 이전 재생이 중단된 지점을 보여주는 PLMG_RSM_PL을 참조할 수 있게되므로 앨범의 어느 부분이 이미 재생된 것인지를 밀리초의 정밀도로 알 수 있게 된다. 따라서 재생장치는 재생이 중단된 지점 바로 다음 지점부터 재생을 재개할 수 있게 된다. 이것은 반도체 메모리카드가 하나의 재생장치에서 다른 재생장치로 옳겨지는 경우라 하더라도 사용자가 동일한 트랙을 들을 필요가 없다는 것을 의미한다.
(제 3 실시예)
{74-1} DPLI_RSM_PL와 PLI_RSM_PL
제 3 실시예에서는 DPLI와 각 PLI가 플레이리스트의 이전 재생이 어느 지점 에서 종료하는 지를 나타내도록 그들 자신의 재생개시정보, DPLI_RSM_PL 또는 PLI_RSM_PL를 구비한다. 도 74는 DPLGI에 DPLI_RSM_PL을 갖는 Default_Playlist_Information과 PLGI에 PLI_RSM_PL을 갖는 PLI를 도시하고 있다.
DPLI_RSM_PL(PLI_RSM_PL)은 Track_Number와 Playback_Time을 포함할 뿐이므로 Playlist_Number가 불필요하다는 점에서 PLMG_RSM_PL과 다르다. 다른 차이점으로서는 DPLI 또는 PLI에 의해 표시된 재생순서로 모든 트랙이 완전히 재생될 때 값 "FF"는 플레이리스트가 완전히 재생되는 것을 보여주도록 DPLI_RSM_PL(PLI_RSM_PL)내의 Track_Number에 설정된다.
이하, 제 3 실시예의 재생장치를 설명하기로 한다.
PLI 의 재생순서로 특정된 트랙의 재생이 중간에 중단되면, 재생장치는 그 PLI의 Playlist_Number, 현재 트랙의 Track_Number, 및 Playback_Time을 PLMGI_RSM_PL에 제 2 실시예와 동일한 방식으로 기록한다. 그러나 차이점에 따라 재생장치는 그 Playlist_Number에 대응하는 PLI_RSM_PL에 Track_Number와 Playback_Time을 기록한다.
제 1 실시예와 동일한 방식으로 사용자는 재생될 플레이리스트를 표시할 수 있다. 그러나 제 3 실시예에서는 재생장치가 표시된 플레이리스트용 PLI의 PLI_RSM_PL을 참조할 것이다. 그 플레이리스트의 PLI_RSM_PL내의 Track_Number와 Playback_Time에 어떤 값도 부여되지 않으면 재생장치는 PLI에 제공된 재생순서로 제 1 트랙의 처음부터 재생을 시작한다. 반대로 PLI_RSM_PL내의 Track_Number와 Playback_Time에 값이 주어지면 재생장치는 Track_Number와 Playback_Time에 의해 표시된 위치로부터 시작하는 PLI에 부여된 재생순서로 트랙을 재생한다.
{74-2_75_76}
도 75는 DPLI의 DPLI_RSM_PL과 수개의 PLI의 PLI_RSM_PL이 어떻게 설정되는지를 보여준다. 도 76은 제 1 실시예에서 참조된 도 41에서 도시된 플레이리스트에 의해 특정된 재생순서로 구성된 트랙열을 나타내고 있다.
트랙열은 DPLI, PLI#1 및 PLI#2에 의해 따로따로 특정되며, 도 76에서의 재생범위는 이미 재생된 이들 트랙열의 부분을 나타내고 있다.
이하, DPLI, PLI#1 및 PLI#2 중의 하나가 이미 재생된 재생범위 (1)~(3)을 가진 재생을 표시할 때 재생이 시작되는 경우를 설명하기로 한다.
{74-3_75_76}
DPLI에 의해 표시된 트랙열의 재생은 TrackC의 중간지점까지 이미 실행되었으므로 DPLI내의 DPLI_RSM_PL에서는 재생범위 (1)의 마지막에서 재생개시 위치 (4)를 나타내도록 "TrackC"와 "00:03:31.00004"가 Track_Number에 설정된다.
PLI#1에 의해 표시된 트랙열의 재생은 이미 마지막까지 실행되었으므로 PLI#1내의 PLI_RSM_PL에서는 Track_Number에 'FF"가 설정된다.
PLI#2에 의해 표시된 트랙열의 재생은 이미 TrackA의 중간지점까지 실행되었으므로 PLI#2의 PLI_RSM_PL에서는 재생범위 (2)의 마지막에서 재생개시 위치 (5)를 나타내도록 Track_Number와 Playback_Time에 "TrackA"와 "00:01:11.00000"이 설정된다.
PLI#3은 아직 표시되고 있고 그 트랙열은 재생되지 않기 때문에 값 "00"이 PLI#3의 PLI_RSM_PL 내 Track_Number에 설정된다.
각 PLI(및 DPLI)의 PLI_RSM_PL(DPLI_RSM_PL)이 도 75에 도시된 바와 같이 설정됨에 따라 만약 사용자가 PLI#1을 표시한 후 DPLI을 표시하면, DPLI에 의해 표시된 트랙열의 재생은 재생범위 (1) 바로 다음의 재생 개시위치 (4)로부터 재개될 것이다.
만약 사용자가 PLI#2를 표시하여 DPLI에 의해 표시된 트랙열이 일단 완전히 재생되면, PLI#2에 의해 표시된 트랙열의 재생은 재생범위 (2) 바로 다음의 재생 재개위치 (5)ㄹ부터 재개될 것이다.
이 실시예와 함께 사용자 조작에 의해 플레이리스트가 재생을 표시하면, 재생장치는 표시된 플레이리스트에 대한 PLI_RSM_PL(DPLI_RSM_PL)를 참조하여 PLI_RSM_PL(DPLI_RSM_PL)에 따라 플레이리스트에 의해 특정된 트랙열의 재생을 재개할 것이다. 이것은 이미 재생된 트랙을 반복하지 않고 어떤 플레이리스트도 재개할 수 있다는 것을 의미한다.
본 실시예에서는 매 플레이리스트에 대한 재생의 재개가 PLI_RSM_PL내의 Track_Number와 Playback_Time에 따라 실행되기 때문에 단순히 플레이리스트의 리스트를 제공하는 제 1 실시예의 메뉴 대신에 도 77에 도시된 메뉴를 통해 플레이리스트의 사용자가 표시를 행하는 것이 바람직하다. 도 77은 도 76에 도시된 재생범위 (1)~(3)이 이미 재생된 경우에 대하여 각 플레이리스트에 대한 PLI_RSM_PL의 설정과 함께 플레이리스트를 디스플레이하는 메뉴의 예를 도시한 것이다. 전체로 재생된 트랙열을 갖지 않는 PLI는 PLI_RSM_PL 내의 Playback_Time의 값에 기초하여 PLI_RSM_PL과 재생시간을 나타내는 트랙번호와 함께 디스플레이된다. 반대로 전체로 재생된 트랙열을 갖는 PLI는 PLI_RSM_PL 내의 Track_Number에 설정된 값 "FF"를 가지므로 재생이 완료되었음을 나타내는 표시와 함께 디스플레이된다. 결국, 이 메뉴는 사용자에게 각 플레이리스트가 얼마만큼 재생되었는지를 알려주므로 사용자는 어느 플레이리스트가 완전히 재생되었고 어느 플레이리스트가 부분적으로 재생되었는지를 알 수 있다.
(제 4 실시예)
제 1 실시예에서 제 3 실시예까지는 음악 어플리케이션이 플래쉬 메모리카드(31)에 저장되어 있으나 본 실시예는 단명 어플리케이션(short-lived application)의 저장 향상에 관한 것이다. 여기에서, "단명 어플리케이션"이란 한번 들을 필요밖에 없는 뉴스, 오디오 잡지, 연설 등의 기록과 같은 어플리케이션을 말하므로 반복적으로 듣는 음악 어플리케이션과는 다르다. 단명 어플리케이션의 종래의 예로서, 잡지는 주간 또는 월간으로 발간되는 경향이 있으나 뉴스는 매일 발간되는 경향이 있다.
기록장치가 네트워크를 통해 단명 어플리케이션을 다운로드 받으면, 기록장치는 단명 어플리케이션을 구성하는 오디오 데이터를 AOB로서 플래쉬 메모리카드(31)에 기록하고, AOB에 대한 복수의 KTI를 생성하여, 이들 TKI를 플래쉬 메모리카드(31)에 기록한다. 기록장치는 또한 이 단명 어플리케이션에 대한 TKI를 특정하는 Playlist_Information을 생성하여 PLI를 플래쉬 메모리카드(31)에 기록한다.
이하, 제 4 실시예의 DPLI, PLI 및 TKI의 개선에 대해 설명하기로 한다. 제 2 실시예에서 PLI_APP_ATR은 PlaylistManager에 어플리케이션의 속성을 나타내는 정보로서 제공된다. 제 4 실시예에서 PLI_APP_ATR과 TKI_APP_ATR 또한 어플리케이션 속성으로서 DPLGI, PLGI 및 TKGI에 제공된다. 도 78은 제 4 실시예에서의 DPLGI, PLGI 및 TKGI의 데이터 포맷을 나타내고 있다.
제 2 실시예에서의 "PLMG_APP_ATR"처럼 PLGI의 PLI_APP_ATR은 PLI가 속한 카테고리를 나타내는 어플리케이션 카테고리 ID를 포함한다. PLI에 대응하는 어플리케이션의 장르가 제 1 실시예와 같은 음악이면, 값 "01h"가 이 필드에 설정된다.
동일한 방식으로, PLI에 대응하는 어플리케이션이 가라오케 소프트웨어이면 값 "02h"가 이 필드에 설정되고, 어플리케이션이 프리젠테이션 데이터이면 값이 "03h"가, 그리고 어플리케이션이 오디오북이면 값 "04h"가 설정된다. 다른 종류의 어플리케이션을 나타내기 위해 다른 값이 사용될 수 있다. 단명 어플리케이션용의 PLI에 있어서, PLGI내의 PLI_APP_ATR은 오디오북을 나타내도록 "04h"로 설정된다.
기록장치는 이러한 방식으로 단명 어플리케이션에 대한 PLI를 생성하여 단명 어플리케이션과 연관되도록 생성된 PLI를 플래쉬 메모리카드(31)에 저장한다
이하 단명 어플리케이션이 플래쉬 메모리카드(31)에 저장될 때 발생하는 문제점에 대해 설명하기로 한다. 단명 어플리케이션이 뉴스용으로 사용되면, 가장 최근의 어플리케이션이 매일 기록장치로 송신된다. 만약 기록장치가 매일매일의 뉴스를 플래쉬 메모리카드(31)에 누적적으로 저장하면 플래쉬 메모리카드(31)의 저장한계용량이 이러한 단명 어플리케이션에 의해 곧 소모되어 버릴 것이다.
플래쉬 메모리카드(31) 상에서 단명 어플리케이션이 너무 많은 공간을 차지하지 않도록 기록장치는 PLI_RSM_PL과 PLI_APP_ATR을 참조하여 후술하는 동작을 실행한다. 단명 어플리케이션은 PLI_APP_ATR이 오디오북을 나타내기 위해 설정되는 PLI와 함께 플래쉬 메모리카드(31)에 저장되기 때문에 기록장치는 PLI_APP_ATR을 참조함으로써 PLI, TKI 및 AOB 중의 어느 것이 단명 어플리케이션에 대응하는지를 결정할 수 있다.
단명 어플리케이션에 대한 PLI에서, 표시된 재생순서로 모든 트랙이 전부 재생되면 PLI_RSM_PL에 값 "FF"가 설정되고, 그렇지 않고 표시된 재생순서로 트랙의 재생이 완료되지 않으면 다른 값으로 설정된다. 따라서, 기록장치는 PLI_RSM_PL내의 Track_Number를 단순히 참조함으로써 단명 어플리케이션이 그 전체로서 어떻게 재생되는지를 알려줄 수 있다.
이러한 방식으로 Track_Number를 검사한 후, 기록장치는 그 전체로서 재생되는 단명 어플리케이션에 대한 TKI, AIB 및 PLI를 삭제할 수 있다. 이것은 많은 단명 어플리케이션의 축적에 의해 플래쉬 메모리카드(31)의 저장용량이 압도되지 않도록 해준다. 상술한 예는 기록장치가 PLI_RSM_PL과 PLI_APP_ATR을 참조하는 경우에 대해 설명하였으나 DPLI_RSM_ATR과 DPLI_APP_ATR에 대해서도 동일한 제어가 실행될 수 있다.
이러한 실시예에 따라 뉴스와 같은 단명 어플리케이션이 다운로드되어 플래쉬 메모리카드(31)에 저장될 수 있다. 이러한 단명 어플리케이션은 완전히 재생될 어플리케이션의 시작으로 삭제될 수 있으므로, 뉴스와 같은 단명 어플리케이션이 매일 생성되는 경우에도 이러한 단명 어플리케이션이 플래쉬 메모리카드(31)의 모든 저장용량을 소모하는 것을 방지할 수 있다.
비록 본 발명에 대해 첨부도면을 참조하여 예를 들어 충분히 설명하였지만 당해 분야의 기술자라면 다양한 변경과 수정할 수 있을 것이다. 따라서 이러한 변경과 수정이 본 발명의 범위를 벗어나지 않는 것이라면 이들은 본 명세서에 포함되는 것으로 간주되어야 한다.
본 발명의 반도체 메모리카드는 특히 음악기록용 기록매체나, 전자적 또는 다른 방법으로 배포된 다른 매체로서의 가전분야에 적합하다. 소비자는 본 발명의 기록 및 재생장치에 이 반도체 메모리카드를 충분히 사용할 수 있게 된다.

Claims (23)

  1. 반도체 메모리카드로,
    복수의 오디오 오브젝트(audio object)를 배열하여 이루어지는 오디오 열(audio sequence)과,
    사용자 조작을 통해서 설정된 제 1 재개위치를 나타내는 동시에, 전회의 재생 정지시에 자동으로 설정된 제 2 재개위치를 시간정보를 이용하여 나타내는 재개정보(resume information)와,
    복수의 오디오 오브젝트와 1 대 1의 비율로 할당되어 있고, 각 엔트리 정보는 대응하는 오디오 오브젝트 내부에서의 y초 간격의 엔트리 위치를 나타내는 복수의 엔트리 정보가 기록되어 있고,
    각 오디오 오브젝트는 복수의 오디오 프레임으로 이루어지며,
    각 오디오 프레임은, x초에 상당하는 재생단위이며, 헤더부와 가변길이 부호방식으로 압축되어 있는 데이터부로 이루어지고,
    y초는 x초의 배 이상의 시간 길이인 것을 특징으로 하는 반도체 메모리카드.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 반도체 메모리카드는 복수의 재생루트정보가 더 기록되어 있고,
    각 재생루트정보는 복수의 오디오 오브젝트 각각에 부여된 식별정보와 각 오디오 오브젝트에 대한 재생순위를 대응시켜서 나타내며,
    상기 재개정보는 복수의 재생루트정보 중 어느 하나를 특정하는 특정정보를 더 포함하고,
    상기 재개정보는,
    오디오 오브젝트에 대한 식별정보와, 특정된 재생루트정보에서의 오디오 오브젝트에 대한 재생순위를 이용하여 제 1 재개위치를 나타내고,
    오디오 오브젝트에 대한 식별정보와, 특정된 재생루트정보에서의 오디오 오브젝트에 대한 재생순위를 상기 시간정보와 조합함으로써 오디오 열에서의 제 2 재개위치를 나타내는 것을 특징으로 하는 반도체 메모리카드.
  5. 제 4 항에 있어서,
    상기 반도체 메모리카드는 각 재생루트정보에 대응되어 있는 보완재개정보(supplementary resume information)를 더 기록되어 있고,
    각 보완재개정보는, 재생루트정보에 포함되는 복수의 재생순위에 의거하여 복수의 오디오 오브젝트가 재생되는 경우, 어느 오디오 오브젝트의 어느 도중의 위치에서 재생을 재개하여야 하는가를 시간정보와 오디오 오브젝트의 식별자의 조합을 이용하여 표시하며,
    상기 재개정보에 의해 표시되는 재개위치는 복수의 보완재개정보 중 어느 하나의 것에 의해 표시되는 재개위치와 동일해지는 것을 특징으로 하는 반도체 메모리카드.
  6. 제 5 항에 있어서,
    상기 보완재개정보는,
    대응하는 재생루트정보에 표시되는 복수의 재생순위를 이용한 복수의 오디오 오브젝트의 재생이 완료되어 있으면 제 1 값으로 설정되고,
    대응하는 재생루트정보에 표시되는 복수의 재생순위를 이용한 복수의 오디오 오브젝트의 재생이 완료되어 있지 않으면, 시간정보와 오디오 오브젝트의 식별자의 조합을 이용하여 표현된 제 2 값으로 설정되는 것을 특징으로 하는 반도체 메모리카드.
  7. 반도체 메모리카드 재생장치로,
    반도체 메모리카드에는, (1) 복수의 오디오 오브젝트를 배열하여 이루어지는 오디오 열과, (2) 상기 오디오 열의 도중에서부터 재생을 재개하는 경우의 재개위치를 나타내는 재개정보와, (3) 복수의 오디오 오브젝트와 1 대 1의 비율로 할당되어 있고, 각 엔트리 정보는 대응하는 오디오 오브젝트의 내부에서의 y초 간격의 엔트리 위치를 나타내는 복수의 엔트리정보가 저장되어 있으며,
    어느 하나의 오디오 오브젝트를 지정하는 제 1 재생조작, 또는, 어느 하나의 오디오 오브젝트도 지정하지 않는 제 2 재생조작을 사용자로부터 수신하는 수신수단과,
    제 1 재생조작을 수신한 경우에는 오디오 열 중 지정된 오디오 오브젝트를 재생하고, 제 2 재생조작을 수신한 경우에는, 반도체 메모리카드에서 재개정보를 판독하여, 오디오 열에서 재개정보에 의해 표시되어 있는 재개위치에서부터 오디오 열의 재생을 재개하는 재생수단을 구비하며,
    재생수단은, 오디오 열의 재생을 재개함에 있어서, (a) 하나의 오디오 오브젝트에서의 복수의 엔트리 위치 중, 재개위치보다 바로 앞의 시점을 나타내며, 재개위치에 가장 가까운 시점을 나타내는 엔트리 위치를 검출하고, (b) 검출된 엔트리 위치 이후에 존재하는 복수의 오디오 프레임의 헤더를 참조하여 재개위치에 상당하는 오디오 프레임을 검색하는 것을 특징으로 하는 재생장치.
  8. 제 7 항에 있어서,
    재개위치에 상당하는 오디오 프레임은, 엔트리 위치 직후에 존재하는 오디오 프레임을 오디오 프레임 u, 엔트리정보에 표시되는 재생시각을 시각 v로 하여, 시각 v가 재개위치를 넘을 때까지 다음의 ① 내지 ③의 처리를 반복하여 행함으로써 검색되는 것을 특징으로 하는 재생장치.
    ① 오디오 프레임 u에서 사이즈를 취득한다.
    ② 오디오 프레임 u의 재생시간을 재생시각 y에 가산한다.
    ③ 취득한 사이즈에 의거하여, 다음 오디오 프레임을 액세스해서, 다음 오디오 프레임을 오디오 프레임 u로 한다.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 반도체 메모리카드용 기록장치로,
    사용자로부터 조작을 수신하는 수신수단과,
    수신된 조작이 재생조작인 경우, 오디오 열에 포함된 오디오 오브젝트를 순차 재생하는 재생수단과,
    수신된 조작이 중단 조작인 경우, 재생되고 있던 재생위치에 해당하는 재생시각에 의거하여, 오디오 열의 도중에서부터 재생을 재개하는 경우의 재개위치를 특정하고, 이 재개위치를 나타내는 재개정보를 상기 반도체 메모리카드에 기록하는 기록수단을 구비하는 것을 특징으로 하는 기록장치.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 반도체 메모리카드의 재생방법으로,
    반도체 메모리카드에는, (1) 복수의 오디오 오브젝트를 배열하여 이루어지는 오디오 열과, (2) 상기 오디오 열의 도중에서부터 재생을 재개하는 경우의 재개위치를 나타내는 재개정보와, (3) 복수의 오디오 오브젝트와 1 대 1의 비율로 할당되어 있고, 각 엔트리 정보는 대응하는 오디오 오브젝트의 내부에서의 y초 간격의 엔트리 위치를 나타내는 복수의 엔트리정보가 저장되어 있으며,
    재생방법은,
    어느 하나의 오디오 오브젝트를 지정하는 제 1 재생조작, 또는, 어느 하나의 오디오 오브젝트도 지정하지 않는 제 2 재생조작을 사용자로부터 수신하는 수신단계와,
    제 1 재생조작을 수신한 경우에는 오디오 열 중 지정된 오디오 오브젝트를 재생하고, 제 2 재생조작을 수신한 경우에는, 반도체 메모리카드에서 재개정보를 판독하여, 오디오 열에서 재개정보에 의해 표시되어 있는 재개위치에서부터 오디오 열의 재생을 재개하는 재생단계를 구비하며,
    재생단계는, 오디오 열의 재생을 재개함에 있어서, (a) 하나의 오디오 오브젝트에서의 복수의 엔트리 위치 중, 재개위치보다 바로 앞의 시점을 나타내며, 재개위치에 가장 가까운 시점을 나타내는 엔트리 위치를 검출하고, (b) 검출된 엔트리 위치 이후에 존재하는 복수의 오디오 프레임의 헤더를 참조하여 재개위치에 상당하는 오디오 프레임을 검색하는 것을 특징으로 하는 재생방법.
  20. 제 19 항에 있어서,
    재개위치에 상당하는 오디오 프레임은, 엔트리 위치 직후에 존재하는 오디오 프레임을 오디오 프레임 u, 엔트리정보에 표시되는 재생시각을 시각 v로 하여, 시각 v가 재개위치를 넘을 때까지 다음의 ① 내지 ③의 처리를 반복하여 행함으로써 검색되는 것을 특징으로 하는 재생방법.
    ① 오디오 프레임 u에서 사이즈를 취득한다.
    ② 오디오 프레임 u의 재생시간을 재생시각 y에 가산한다.
    ③ 취득한 사이즈에 의거하여, 다음 오디오 프레임을 액세스해서, 다음 오디오 프레임을 오디오 프레임 u로 한다.
  21. 삭제
  22. 삭제
  23. 반도체 메모리카드의 기록방법으로,
    사용자로부터의 조작을 수신하는 수신단계와,
    수신한 조작이 재생조작인 경우에는 오디오 열에 포함된 오디오 오브젝트를 순차 재생하는 재생단계와,
    수신한 조작이 중단 조작인 경우, 중단조작이 이루어진 시점에 재생되고 있던 재생위치에 해당하는 재생시각에 의거하여, 오디오 열의 도중에서부터 재생을 재개하는 경우의 재개위치를 특정하고, 이 재개위치를 나타내는 재개정보를 상기 반도체 메모리카드에 기록하는 기록단계를 구비하는 것을 특징으로 하는 기록방법.
KR1020017001174A 1999-05-28 2000-05-24 반도체 메모리카드, 재생장치, 기록장치, 재생방법, 기록방법 KR100655034B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP???11-149893 1999-05-28
JP14989399 1999-05-28
JP23672499 1999-08-24
JP???11-236724 1999-08-24
JP???11-372605 1999-12-28
JP37260599 1999-12-28

Publications (2)

Publication Number Publication Date
KR20010085310A KR20010085310A (ko) 2001-09-07
KR100655034B1 true KR100655034B1 (ko) 2006-12-07

Family

ID=27319842

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017001174A KR100655034B1 (ko) 1999-05-28 2000-05-24 반도체 메모리카드, 재생장치, 기록장치, 재생방법, 기록방법

Country Status (9)

Country Link
US (3) US6832293B1 (ko)
EP (1) EP1056093B1 (ko)
KR (1) KR100655034B1 (ko)
CN (1) CN1197080C (ko)
CA (1) CA2338695C (ko)
DE (1) DE60043036D1 (ko)
ID (1) ID27748A (ko)
MY (1) MY126042A (ko)
WO (1) WO2000074060A1 (ko)

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490235B1 (en) * 1997-08-07 2002-12-03 Sony Corporation Storage and reproduction apparatus with rotary control element for controlling operations
BR0006168A (pt) * 1999-05-28 2001-04-17 Matsushita Electric Ind Co Ltd Cartão de memória de semicondutor, aparelho de reprodução, aparelho de gravação, processo de reprodução, processo de gravação, e um meio de armazenamento legìvel por computador
JP4219680B2 (ja) * 2000-12-07 2009-02-04 サンディスク コーポレイション 不揮発性メモリカード、コンパクトディスクまたはその他のメディアから記録済みのオーディオ、ビデオまたはその他のコンテンツを再生するためのシステム、方法およびデバイス
JP4622101B2 (ja) 2000-12-27 2011-02-02 ソニー株式会社 情報処理装置、情報処理装置の情報処理方法および情報処理システム
JP2002314929A (ja) * 2001-04-10 2002-10-25 Victor Co Of Japan Ltd 映像信号の記録方法、映像信号の再生方法、映像信号記録装置、映像信号再生装置、及び映像信号の記録媒体
JP2002343064A (ja) * 2001-05-17 2002-11-29 Fujitsu Ltd 記録再生装置及び方法
US7119267B2 (en) * 2001-06-15 2006-10-10 Yamaha Corporation Portable mixing recorder and method and program for controlling the same
CN1287289C (zh) * 2001-07-05 2006-11-29 松下电器产业株式会社 记录设备、介质以及方法
CN100492524C (zh) * 2001-09-10 2009-05-27 汤姆森特许公司 用于在数字音频数据播放器中建立带索引的播放列表的方法和装置
CN1554094B (zh) * 2001-09-10 2010-11-17 汤姆森特许公司 建立和浏览播放列表的方法及音频数据播放器
JP3938685B2 (ja) * 2001-12-12 2007-06-27 富士通テン株式会社 情報処理装置
AU2003202202A1 (en) * 2002-01-04 2003-07-24 Thomson Licensing S.A. Method and apparatus for creating and editing audio playlists in a digital audio player
US9715500B2 (en) 2004-04-27 2017-07-25 Apple Inc. Method and system for sharing playlists
US7797446B2 (en) * 2002-07-16 2010-09-14 Apple Inc. Method and system for updating playlists
US7680849B2 (en) 2004-10-25 2010-03-16 Apple Inc. Multiple media type synchronization between host computer and media device
AU2003228898A1 (en) * 2002-05-06 2003-11-17 Mattel, Inc. Digital audio production device
KR20030087193A (ko) 2002-05-07 2003-11-14 엘지전자 주식회사 멀티 채널 방송 스트림의 기록 관리방법
JP4299780B2 (ja) 2002-06-21 2009-07-22 エルジー エレクトロニクス インコーポレーテッド ビデオデータの再生を管理するためのデータ構造を有する記録媒体
KR100620185B1 (ko) 2002-06-21 2006-09-01 엘지전자 주식회사 비디오 데이터의 재생을 관리하기 위한 데이터 구조를갖는 기록 매체
EP1516332A4 (en) 2002-06-24 2009-07-22 Lg Electronics Inc RECORDING MEDIUM WITH A DATA STRUCTURE FOR MANAGING THE REPRODUCTION OF MULTI-TITLE VIDEO DATA RECORDED THEREFROM AND PLAYBACK PROCESSES AND DEVICES
WO2004001752A1 (en) 2002-06-24 2003-12-31 Lg Electronics Inc. Recording medium having data structure for managing reproduction of multiple title video data recorded thereon and recording and reproducing methods and apparatuses
KR20040000290A (ko) 2002-06-24 2004-01-03 엘지전자 주식회사 고밀도 광디스크의 멀티 경로 데이터 스트림 관리방법
CN1679273A (zh) * 2002-08-08 2005-10-05 M-***快闪盘开拓者公司 用于数字权利管理的集成电路
KR100665439B1 (ko) 2002-10-14 2007-01-04 엘지전자 주식회사 기록된 복수의 오디오 스트림의 재생을 관리하기 위한데이터 구조를 갖는 기록 매체, 그에 따른 기록 및 재생방법 및 장치
WO2004036578A1 (en) 2002-10-15 2004-04-29 Lg Electronics Inc. Recording medium having data structure for managing reproduction of multiple graphics streams recorded thereon and recording and reproducing methods and apparatuses
US7707231B2 (en) * 2002-10-16 2010-04-27 Microsoft Corporation Creating standardized playlists and maintaining coherency
US7668842B2 (en) * 2002-10-16 2010-02-23 Microsoft Corporation Playlist structure for large playlists
US20040093509A1 (en) * 2002-11-12 2004-05-13 Gidon Elazar Method and apparatus for connecting a storage device to a television
US20070055462A1 (en) * 2002-11-29 2007-03-08 Daniel Mulligan Circuit for use in a multifunction handheld device with wireless host interface
US20070052792A1 (en) * 2002-11-29 2007-03-08 Daniel Mulligan Circuit for use in cellular telephone with video functionality
US20040104707A1 (en) * 2002-11-29 2004-06-03 May Marcus W. Method and apparatus for efficient battery use by a handheld multiple function device
US20070078548A1 (en) * 2002-11-29 2007-04-05 May Daniel M Circuit for use in multifunction handheld device having a radio receiver
US7555410B2 (en) * 2002-11-29 2009-06-30 Freescale Semiconductor, Inc. Circuit for use with multifunction handheld device with video functionality
US7606463B2 (en) * 2003-02-24 2009-10-20 Lg Electronics, Inc. Recording medium having data structure for managing playback control and recording and reproducing methods and apparatuses
US7693394B2 (en) 2003-02-26 2010-04-06 Lg Electronics Inc. Recording medium having data structure for managing reproduction of data streams recorded thereon and recording and reproducing methods and apparatuses
US7809775B2 (en) 2003-02-27 2010-10-05 Lg Electronics, Inc. Recording medium having data structure for managing playback control recorded thereon and recording and reproducing methods and apparatuses
CN100397882C (zh) 2003-02-28 2008-06-25 Lg电子株式会社 具有用于管理记录其上的视频数据的随机/洗牌重现的数据结构的记录媒体以及记录和重现的方法和装置
US7620301B2 (en) 2003-04-04 2009-11-17 Lg Electronics Inc. System and method for resuming playback
JP2006527455A (ja) * 2003-06-11 2006-11-30 松下電器産業株式会社 再生装置、プログラム、集積回路
US20050026651A1 (en) * 2003-07-28 2005-02-03 Inventec Appliances Corp. Cellular phone for multiple way call
JP2005128596A (ja) * 2003-10-21 2005-05-19 Sony Corp 情報処理装置および方法、記録媒体、プログラム、並びにコンテンツ関連データ
FI20035235A0 (fi) * 2003-12-12 2003-12-12 Nokia Corp Järjestely tiedostojen käsittelemiseksi päätelaitteen yhteydessä
JP2006012225A (ja) * 2004-06-23 2006-01-12 Hitachi Ltd 情報処理装置
JP4737496B2 (ja) * 2004-07-06 2011-08-03 ソニー株式会社 再生システム、再生装置および方法、記録媒体、並びにプログラム
US7702849B2 (en) * 2004-09-03 2010-04-20 Nokia Corporation Method and apparatus for dividing and storing data into plural files
JP4492305B2 (ja) * 2004-11-17 2010-06-30 ソニー株式会社 コンテンツ利用システム、記録再生装置、およびシステム制御方法
US7536565B2 (en) 2005-01-07 2009-05-19 Apple Inc. Techniques for improved playlist processing on media devices
JP4787271B2 (ja) * 2005-01-07 2011-10-05 アップル インコーポレイテッド 携帯性の高いメディアデバイス
US7822866B2 (en) * 2005-01-27 2010-10-26 Sony Corporation Method and system for retrieving content in network system
JP4701748B2 (ja) * 2005-02-25 2011-06-15 ソニー株式会社 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
US20060218251A1 (en) * 2005-03-14 2006-09-28 Matsushita Electric Industrial Co., Ltd. AV server, AV contents reproducing apparatus, AV contents transmitting method, program and recording medium
US7756388B2 (en) * 2005-03-21 2010-07-13 Microsoft Corporation Media item subgroup generation from a library
US7634494B2 (en) * 2005-05-03 2009-12-15 Intel Corporation Flash memory directory virtualization
KR101070748B1 (ko) * 2005-05-19 2011-10-10 엘지전자 주식회사 휴대형 재생장치의 파일정보 제공방법
JP4559943B2 (ja) * 2005-06-24 2010-10-13 株式会社東芝 プレイリスト作成装置、プレイリスト作成方法、プレイリスト作成プログラム、著作権情報管理装置、および視聴端末装置
US7680827B2 (en) * 2005-08-19 2010-03-16 Perception Digital Limited Method of automatically selecting multimedia files for transfer between two storage mediums
JP4234724B2 (ja) * 2006-03-13 2009-03-04 株式会社東芝 コンテンツ記録装置、コンテンツ記録方法およびコンテンツ記録プログラム
US8180738B2 (en) * 2006-06-15 2012-05-15 Panasonic Corporation Memory controller, nonvolatile storage device, and nonvolatile storage device system
US8341524B2 (en) 2006-09-11 2012-12-25 Apple Inc. Portable electronic device with local search capabilities
TW200826078A (en) * 2006-12-15 2008-06-16 Innolux Display Corp Digital video disc player
US7966355B2 (en) * 2007-02-13 2011-06-21 Modu Ltd. Interface for extending functionality of memory cards
US20090063980A1 (en) * 2007-09-04 2009-03-05 Apple Inc. Method and apparatus for playback of multi-part media content
US8892831B2 (en) * 2008-01-16 2014-11-18 Apple Inc. Memory subsystem hibernation
US20090198952A1 (en) * 2008-02-04 2009-08-06 Apple Inc Memory Mapping Architecture
US20090307409A1 (en) * 2008-06-06 2009-12-10 Apple Inc. Device memory management
US9444823B2 (en) * 2008-12-24 2016-09-13 Qualcomm Incorporated Method and apparatus for providing network communication association information to applications and services
US8156089B2 (en) 2008-12-31 2012-04-10 Apple, Inc. Real-time or near real-time streaming with compressed playlists
US8099476B2 (en) 2008-12-31 2012-01-17 Apple Inc. Updatable real-time or near real-time streaming
US8260877B2 (en) 2008-12-31 2012-09-04 Apple Inc. Variant streams for real-time or near real-time streaming to provide failover protection
US8516219B2 (en) * 2009-07-24 2013-08-20 Apple Inc. Index cache tree
US8468293B2 (en) * 2009-07-24 2013-06-18 Apple Inc. Restore index page
US9595300B2 (en) 2009-10-21 2017-03-14 Media Ip, Llc Contextual chapter navigation
US8942549B2 (en) * 2009-10-21 2015-01-27 Media Ip, Llc Resume point for digital media playback
TWI488107B (zh) * 2009-12-09 2015-06-11 Silicon Motion Inc 用來增進快退效能之方法以及相關的電子裝置
JP5471547B2 (ja) * 2010-02-10 2014-04-16 ソニー株式会社 情報記録装置、撮像装置、情報更新方法及びプログラム
GB201105502D0 (en) 2010-04-01 2011-05-18 Apple Inc Real time or near real time streaming
US8805963B2 (en) 2010-04-01 2014-08-12 Apple Inc. Real-time or near real-time streaming
US8892691B2 (en) 2010-04-07 2014-11-18 Apple Inc. Real-time or near real-time streaming
US8745749B2 (en) 2010-11-15 2014-06-03 Media Ip, Llc Virtual secure digital card
US8775827B2 (en) 2011-03-28 2014-07-08 Media Ip, Llc Read and write optimization for protected area of memory
US8949879B2 (en) 2011-04-22 2015-02-03 Media Ip, Llc Access controls for known content
US8843586B2 (en) 2011-06-03 2014-09-23 Apple Inc. Playlists for real-time or near real-time streaming
US8856283B2 (en) 2011-06-03 2014-10-07 Apple Inc. Playlists for real-time or near real-time streaming
US9654821B2 (en) 2011-12-30 2017-05-16 Sonos, Inc. Systems and methods for networked music playback
US9674587B2 (en) 2012-06-26 2017-06-06 Sonos, Inc. Systems and methods for networked music playback including remote add to queue
US9501533B2 (en) 2013-04-16 2016-11-22 Sonos, Inc. Private queue for a media playback system
US9247363B2 (en) 2013-04-16 2016-01-26 Sonos, Inc. Playback queue transfer in a media playback system
US9361371B2 (en) 2013-04-16 2016-06-07 Sonos, Inc. Playlist update in a media playback system
US10715973B2 (en) 2013-05-29 2020-07-14 Sonos, Inc. Playback queue control transition
US9684484B2 (en) 2013-05-29 2017-06-20 Sonos, Inc. Playback zone silent connect
US9182940B1 (en) * 2013-12-10 2015-11-10 Amazon Technologies, Inc. Systems and methods for determining playback locations in media files
US9537913B2 (en) * 2014-01-03 2017-01-03 Yonder Music Inc. Method and system for delivery of audio content for use on wireless mobile device
US10579325B2 (en) 2014-01-03 2020-03-03 061428 Corp. Method and system for playback of audio content using wireless mobile device
CN104809220A (zh) * 2015-04-30 2015-07-29 努比亚技术有限公司 音频播放方法和装置
US11983056B2 (en) * 2017-01-09 2024-05-14 Inmusic Brands, Inc. Systems and methods for responding to electrical-power loss in a DJ media player

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0528790A (ja) * 1991-07-19 1993-02-05 Sharp Corp 記録再生装置
KR19980079002A (ko) * 1997-04-30 1998-11-25 배순훈 광디스크 플레이시스템에 있어서 메모리 스톱기능 실행방법

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2609542B2 (ja) * 1988-10-04 1997-05-14 パイオニア株式会社 ディスクプレーヤ
US6091884A (en) * 1991-08-19 2000-07-18 Index Systems, Inc. Enhancing operations of video tape cassette players
US5999688A (en) * 1993-01-08 1999-12-07 Srt, Inc. Method and apparatus for controlling a video player to automatically locate a segment of a recorded program
US5510924A (en) * 1994-01-13 1996-04-23 Olympus Optical Co., Ltd. Voice information transfer system capable of easily performing voice information transfer using optical signal
US5689704A (en) * 1994-03-04 1997-11-18 Sony Corporation Recording medium, recording/playback device which uses commands in character string form for audio system control
JPH10508138A (ja) * 1995-08-22 1998-08-04 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 媒体のオーディオ信号及び/又はビデオ信号読取り用プレーヤ
US6385734B2 (en) * 1996-06-03 2002-05-07 Compaq Information Technologies Group, L.P. Portable computer with low power audio CD-player
JPH1097766A (ja) 1996-09-17 1998-04-14 Toshiba Corp 光ディスク記録再生装置及び同装置に適用する再生制御方法
US6199076B1 (en) * 1996-10-02 2001-03-06 James Logan Audio program player including a dynamic program selection controller
JPH10340180A (ja) * 1997-06-06 1998-12-22 Olympus Optical Co Ltd 音声データの処理制御装置及び音声データの処理を制御するための制御プログラムを記録した記録媒体
US6230200B1 (en) * 1997-09-08 2001-05-08 Emc Corporation Dynamic modeling for resource allocation in a file server
SG82587A1 (en) * 1997-10-21 2001-08-21 Sony Corp Recording apparatus, recording method, playback apparatus, playback method, recording/playback apparatus, recording/playback method, presentation medium and recording medium
US6026439A (en) * 1997-10-28 2000-02-15 International Business Machines Corporation File transfers using playlists
US6452609B1 (en) * 1998-11-06 2002-09-17 Supertuner.Com Web application for accessing media streams
JP3389186B2 (ja) * 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
JP3873523B2 (ja) * 1999-05-21 2007-01-24 ソニー株式会社 再生装置
JP4288751B2 (ja) * 1999-05-25 2009-07-01 ソニー株式会社 記録媒体、データ処理装置
CA2338634C (en) * 1999-05-28 2007-06-26 Matsushita Electric Industrial Co., Ltd. A semiconductor memory card, playback apparatus, recording apparatus, playback method, recording method, and computer-readable recording medium
BR0006168A (pt) * 1999-05-28 2001-04-17 Matsushita Electric Ind Co Ltd Cartão de memória de semicondutor, aparelho de reprodução, aparelho de gravação, processo de reprodução, processo de gravação, e um meio de armazenamento legìvel por computador
ID28821A (id) * 1999-05-28 2001-07-05 Matsushita Electric Ind Co Ltd Kartu memori semi konduktor, aparatus untuk merekam data ke dalam kartu memori semi konduktor, dan aparatus untuk memproduksi data dari kartu memori semi konduktor yang sama

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0528790A (ja) * 1991-07-19 1993-02-05 Sharp Corp 記録再生装置
KR19980079002A (ko) * 1997-04-30 1998-11-25 배순훈 광디스크 플레이시스템에 있어서 메모리 스톱기능 실행방법

Also Published As

Publication number Publication date
US6832293B1 (en) 2004-12-14
WO2000074060A1 (en) 2000-12-07
US7392342B2 (en) 2008-06-24
EP1056093B1 (en) 2009-09-30
KR20010085310A (ko) 2001-09-07
MY126042A (en) 2006-09-29
WO2000074060B1 (en) 2001-03-01
ID27748A (id) 2001-04-26
DE60043036D1 (de) 2009-11-12
US20080228300A1 (en) 2008-09-18
CN1197080C (zh) 2005-04-13
US7930478B2 (en) 2011-04-19
CA2338695C (en) 2009-07-07
EP1056093A1 (en) 2000-11-29
CN1321319A (zh) 2001-11-07
CA2338695A1 (en) 2000-12-07
US20050083794A1 (en) 2005-04-21

Similar Documents

Publication Publication Date Title
KR100655034B1 (ko) 반도체 메모리카드, 재생장치, 기록장치, 재생방법, 기록방법
US6865431B1 (en) Semiconductor memory card, playback apparatus, recording apparatus, playback method, recording method, and computer-readable recording medium
EP1056094B1 (en) A semiconductor memory card, playback apparatus, recording apparatus, playback method, recording method, and computer-readable recording medium
WO2000074054A2 (en) Semiconductor memory card, apparatus for recording data onto the semiconductor memory card, and apparatus for reproducing data of the semiconductor memory card
JP3366896B2 (ja) 半導体メモリカード、記録再生装置、記録再生方法、コンピュータ読み取り可能な記録媒体
JP4469125B2 (ja) 半導体メモリカード、編集装置、編集方法、コンピュータ読み取り可能な記録媒体
RU2259604C2 (ru) Плата полупроводниковой памяти, устройство воспроизведения, устройство записи, способ воспроизведения, способ записи и считываемый посредством компьютера носитель информации
JP2003162300A (ja) 半導体メモリカードについての再生装置、コンピュータ読み取り可能な記録媒体、再生方法
RU2255382C2 (ru) Плата полупроводниковой памяти, устройство воспроизведения, устройство записи, способ воспроизведения, способ записи и считываемый посредством компьютера носитель записи
JP3327898B2 (ja) 半導体メモリカード、再生装置、再生方法、コンピュータ読み取り可能な記録媒体
US20060245307A1 (en) Recording medium, data reproducing device, data recording device, and data reproducing method
MXPA01000997A (en) Semiconductor memory card, playback apparatus, recording apparatus, playback method, recording method, and computer-readable recording medium
JP2006277787A (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: 20121102

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131101

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141104

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161020

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20181022

Year of fee payment: 13