KR20040013118A - 기록장치 및 방법과, 통신장치 및 방법 - Google Patents

기록장치 및 방법과, 통신장치 및 방법 Download PDF

Info

Publication number
KR20040013118A
KR20040013118A KR10-2004-7000174A KR20047000174A KR20040013118A KR 20040013118 A KR20040013118 A KR 20040013118A KR 20047000174 A KR20047000174 A KR 20047000174A KR 20040013118 A KR20040013118 A KR 20040013118A
Authority
KR
South Korea
Prior art keywords
content data
data
storage medium
information storage
check
Prior art date
Application number
KR10-2004-7000174A
Other languages
English (en)
Other versions
KR100913149B1 (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 KR20040013118A publication Critical patent/KR20040013118A/ko
Application granted granted Critical
Publication of KR100913149B1 publication Critical patent/KR100913149B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00188Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised devices recording or reproducing contents to/from a record carrier
    • G11B20/00195Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised devices recording or reproducing contents to/from a record carrier using a device identifier associated with the player or recorder, e.g. serial numbers of playback apparatuses or MAC addresses
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00246Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is obtained from a local device, e.g. device key initially stored by the player or by the recorder
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00666Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of erasing or nullifying data, e.g. data being overwritten with a random string
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/00746Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00884Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a watermark, i.e. a barely perceptible transformation of the original data which can nevertheless be recognised by an algorithm
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00884Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a watermark, i.e. a barely perceptible transformation of the original data which can nevertheless be recognised by an algorithm
    • G11B20/00891Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a watermark, i.e. a barely perceptible transformation of the original data which can nevertheless be recognised by an algorithm embedded in audio data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • G11B2020/10546Audio or video recording specifically adapted for audio data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Storage Device Security (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은, 예를 들면, 축적한 즐겨찾는 곡의 부호화 데이터를, 반도체 메모리나 포터블 디바이스에 공급하는 경우에 사용하여 바람직한 기록장치 및 방법과 통신장치 및 방법에 관한 것이다. 스텝 S461에서, MS의 체크인 가능한 콘텐츠 데이터가 식별되고, 스텝 S462에서, 체크인처리가 행해진다. 스텝 S463에서, 체크인 가능한 콘텐츠 데이터를 모두 체크인했는지 판정된다. 스텝 S464에서, 체크아웃하는 앨범이 결정된다. 스텝 S465에서, 하나의 트랙이 선택되고, 스텝 S466에서, 체크아웃 가능한지 판정되며, 스텝 S467에서, MS의 용량이 확인되고, 스텝 S468에서, 체크아웃이 실행된다. 스텝 S469에서, 체크아웃하는 앨범에 포함되는 모든 트랙을 선택했는지 판정된다. 본 발명은, 예를 들면, 오디오 데이터서버에 적용할 수 있다.

Description

기록장치 및 방법과, 통신장치 및 방법{RECORDING APPARATUS AND METHOD, AND COMMUNICATION DEVICE AND METHOD}
종래, CD 플레이어에 접속한 네트워크 워크맨(상표) 등의 포터블 디바이스(이하, PD라 기술함)에 의해, 음악 CD를 녹음하는 것이 가능하다. 즉, 음악 CD의 PCM 데이터를, ATRAC(Adaptive Transform Acoustic Coding)3 방식 등에 따라 인코드하여, 얻어지는 부호화 데이터를, 메모리 스틱(상표)(이하, MS로 기술함) 등의 반도체 메모리나, PD가 내장되는 메모리에 기록하는 것이 가능하다.
그렇지만, CD 플레이어와 PD를 접속하여, 음악 CD를 녹음하는 방법에서는, 복수의 음악 CD 중에서 즐겨찾는 곡만을 선택하여 기록하는 편집의 작업이 번거롭다.
이때, 퍼스널 컴퓨터를 사용하면, 음악 CD의 PCM 데이터를 압축부호화하여 하드디스크 드라이브에 축적할 수 있음과 동시에, 축적한 부호화 데이터의 카피를, 퍼스널 컴퓨터에 접속한 MS나 PD 등에 일시적으로 작성할 수 있다. 이 처리를 체크아웃이라 칭한다. 또한, 체크아웃에 의해, MS나 PD 등에 작성된 부호화 데이터의 카피를 소거하는 처리를 체크인이라 칭한다. 체크아웃 및 체크인의 상세에 대해서는 후술한다.
그런데, 하드디스크 드라이브에 축적한 부호화 데이터를, MS나 PD 등에 체크아웃할 때, MS나 PD의 기억용량이 이미 가득 차 있는 경우, 사용자는, MS나 PD에 기록되어 있는 부호화 데이터의 카피를 체크인시키는 조작을 한 후, 희망하는 곡의 부호화 데이터를 체크아웃시키는 조작을 행할 필요가 있으므로, 조작이 번거로운 과제가 있었다.
(발명의 개시)
본 발명은 이러한 상황에 감안하고 이루어진 것으로, MS나 PD와의 사이의 체크인과 체크아웃을 일괄하여 지시할 수 있는 장치를 실현하는 것을 목적으로 한다.
본 발명의 제1 기록장치는, 콘텐츠 데이터를 기억하는 제1 기억수단과, 콘텐츠 데이터에 대응하는 속성정보를 기억하는 제2 기억수단과, 사용자로부터의 명령조작을 접수하는 접수수단과, 접수수단에서 접수된 명령조작에 대응하여, 정보기억매체에 기록되어 있는 복제 콘텐츠 데이터 중, 체크인 가능한 복제 콘텐츠 데이터를, 제1 기억수단에 체크인하는 체크인수단과, 체크인수단이 처리를 종료한 후, 제1 기억수단에 기억되어 있는 콘텐츠 데이터 중, 체크아웃 가능한 콘텐츠 데이터를, 정보기억매체에 체크아웃하는 체크아웃수단을 포함하는 것을 특징으로 한다.
상기 정보기억매체는, 기록장치에 대하여 탈착가능하도록 할 수 있다.
상기 정보기억매체는, 기록장치에 접속된 전자기기에 장착되어 있도록 할 수 있다.
상기 정보기억매체는, 기록장치에 접속된 전자기기에 내장되어 있도록 할 수 있다.
상기 체크인수단은, 정보기억매체에 기록되어 있는 복제 콘텐츠 데이터 중, 기록장치로부터 체크아웃된 복제 콘텐츠 데이터를, 체크인 가능한 복제 콘텐츠 데이터로서 식별하는 식별수단과, 식별수단에 의해 식별된 복제 콘텐츠 데이터를 정보기억매체가, 삭제하는 삭제수단과, 삭제수단에 의해 삭제된 복제 콘텐츠 데이터의 오리지널의 콘텐츠 데이터에 대응하는 속성정보를, 제2 기억수단으로부터 취득하는 취득수단과, 취득수단에 따라 취득된 속성정보에 포함되는 체크아웃 가능회수를, 1 인크리먼트하는 인크리먼트 수단을 포함하도록 할 수 있다.
상기 체크아웃수단은, 제1 기억수단에 기억되어 있는 콘텐츠 데이터 중, 체크아웃 가능한 콘텐츠 데이터를 판별하는 판별수단과, 정보기억매체의 빈 용량을 확인하는 확인수단과, 확인수단의 확인결과에 근거하여, 판별수단에 의해 판별된 콘텐츠 데이터를 카피함으로써 정보기억매체에 복제 콘텐츠 데이터를 생성하는 생성수단과, 생성수단에 의해 생성된 복제 콘텐츠 데이터의 오리지널의 콘텐츠 데이터에 대응하는 속성정보를, 제2 기억수단으로부터 판독하는 판독수단과, 판독수단에 의해 판독된 속성정보에 포함되는 체크아웃 가능회수를, 1 디크리먼트하는 디크리먼트 수단을 포함하도록 할 수 있다.
본 발명의 기록방법은, 사용자로부터의 명령조작을 접수하는 접수스텝과, 접수스텝의 처리로 접수된 명령조작에 대응하여, 정보기억매체에 기록되어 있는 복제 콘텐츠 데이터 중, 체크인 가능한 복제 콘텐츠 데이터를, 제1 기억수단에 체크인하는 체크인스텝과, 체크인스텝의 처리가 종료한 후, 제1 기억수단에서 기억되어 있는 콘텐츠 데이터 중, 체크아웃 가능한 콘텐츠 데이터를, 정보기억매체에 체크아웃하는 체크아웃스텝을 포함하는 것을 특징으로 한다.
본 발명의 제1 기억매체의 프로그램은, 사용자로부터의 명령조작을 접수하는 접수스텝과, 접수스텝의 처리로 접수된 명령조작에 대응하여, 정보기억매체에 기록되어 있는 복제 콘텐츠 데이터 중, 체크인 가능한 복제 콘텐츠 데이터를, 제1 기억수단에 체크인하는 체크인스텝과, 체크인스텝의 처리가 종료한 후, 제1 기억수단에서 기억되어 있는 콘텐츠 데이터 중, 체크아웃 가능한 콘텐츠 데이터를, 정보기억매체에 체크아웃하는 체크아웃스텝을 포함하는 것을 특징으로 한다.
본 발명의 제1 프로그램은, 사용자로부터의 명령조작을 접수하는 접수스텝과, 접수스텝의 처리로 접수된 명령조작에 대응하여, 정보기억매체에 기록되어 있는 복제 콘텐츠 데이터 중, 체크인 가능한 복제 콘텐츠 데이터를, 제1 기억수단에 체크인하는 체크인스텝과, 체크인스텝의 처리가 종료한 후, 제1 기억수단에서 기억되어 있는 콘텐츠 데이터 중, 체크아웃 가능한 콘텐츠 데이터를, 정보기억매체에체크아웃하는 체크아웃스텝을 컴퓨터에 실행시키는 것을 특징으로 한다.
본 발명의 제2 기록장치는, 콘텐츠 데이터를 기억하는 제1 기억수단과, 콘텐츠 데이터에 대응하는 속성정보를 기억하는 제2 기억수단과, 사용자로부터의 명령조작을 접수하는 접수수단과, 정보기억매체에 기록되어 있는 복제 콘텐츠 데이터 중, 기록장치로부터 체크아웃된 복제 콘텐츠 데이터를, 체크인 가능한 복제 콘텐츠 데이터로서 식별하는 식별수단과, 식별수단에 의해 식별된 복제 콘텐츠 데이터를 정보기억매체로부터 삭제하는 삭제수단과, 삭제수단에 의해 삭제된 복제 콘텐츠 데이터의 오리지널의 콘텐츠 데이터에 대응하는 속성정보를, 제2 기억수단으로부터 취득하는 취득수단과, 취득수단에 의해 취득된 속성정보에 포함되는 체크아웃 가능회수를, 1 인크리먼트하는 인크리먼트 수단과, 제1 기억수단에 의해 기억되어 있는, 체크아웃 가능한 콘텐츠 데이터를 판별하는 판별수단과, 정보기억매체의 빈 용량을 확인하는 확인수단과, 확인수단의 확인결과에 근거하여, 판별수단에 의해 판별된 콘텐츠 데이터를 카피함으로써 정보기억매체에 복제 콘텐츠 데이터를 생성하는 생성수단과, 생성수단에 의해 생성된 복제 콘텐츠 데이터의 오리지널의 콘텐츠 데이터에 대응하는 속성정보를, 제2 기억수단으로부터 판독하는 판독수단과, 판독수단에 의해 판독된 속성정보에 포함되는 체크아웃 가능회수를, 1 디크리먼트하는 디크리먼트 수단과, 접수수단에 의해 접수된 사용자로부터의 1회의 명령조작에 대응하여, 식별수단, 삭제수단, 취득수단, 인크리먼트 수단, 판별수단, 확인수단, 생성수단, 판독수단, 및 디크리먼트 수단을 제어하는 제어수단을 포함하는 것을 특징으로 한다.
상기 정보기억매체는, 기록장치에 대하여 탈착가능하도록 할 수 있다.
상기 정보기억매체는, 기록장치에 접속된 전자기기에 장착되어 있도록 할 수 있다.
상기 정보기억매체는, 기록장치에 접속된 전자기기에 내장되어 있도록 할 수 있다.
본 발명의 제3 기록장치는, 콘텐츠 데이터를 기억하는 제1 기억수단과, 콘텐츠 데이터에 대응하는 속성정보를 기억하는 제2 기억수단과, 사용자로부터의 명령조작을 접수하는 접수수단과, 접수수단에 의해 접수된 명령조작에 대응하여, 정보기억매체에 기록되어 있는 복제 콘텐츠 데이터 중, 체크인 가능한 복제 콘텐츠 데이터를, 제1 기억수단에 체크인하는 체크인수단과, 체크인수단이 처리를 종료한 후, 제1 기억수단에서 기억되어 있는 콘텐츠 데이터 중, 체크아웃 가능한 콘텐츠 데이터를, 정보기억매체에 체크아웃하는 체크아웃수단을 포함하는 것을 특징으로 한다.
상기 정보기억매체는, 기록장치에 대하여 탈착가능하도록 할 수 있다.
상기 정보기억매체는, 기록장치에 접속된 전자기기에 장착되어 있도록 할 수 있다.
상기 정보기억매체는, 기록장치에 접속된 전자기기에 내장되어 있도록 할 수 있다.
상기 체크인수단은, 정보기억매체에 기록되어 있는 복제 콘텐츠 데이터 중, 기록장치로부터 체크아웃된 복제 콘텐츠 데이터를, 체크인 가능한 복제 콘텐츠 데이터로서 식별하는 식별수단과, 식별수단에 의해 식별된 복제 콘텐츠 데이터를 정보기억매체로부터 삭제하는 삭제수단과, 삭제수단에 의해 삭제된 복제 콘텐츠 데이터의 오리지널의 콘텐츠 데이터에 대응하는 속성정보를, 제2 기억수단으로부터 취득하는 취득수단과, 취득수단에 의해 취득된 속성정보에 포함되는 체크아웃 가능회수를, 1 인크리먼트하는 인크리먼트 수단을 포함하도록 할 수 있다.
상기 체크아웃수단은, 제1 기억수단에서 기억되어 있는 콘텐츠 데이터 중, 체크아웃 가능한 콘텐츠 데이터를 판별하는 판별수단과, 정보기억매체의 빈 용량을 확인하는 확인수단과, 확인수단의 확인결과에 근거하여, 판별수단에 의해 판별된 콘텐츠 데이터를 카피함으로써 정보기억매체에 복제 콘텐츠 데이터를 생성하는 생성수단과, 생성수단에 의해 생성된 복제 콘텐츠 데이터의 오리지널의 콘텐츠 데이터에 대응하는 속성정보를, 제2 기억수단으로부터 판독하는 판독수단과, 판독수단에 의해 판독된 속성정보에 포함되는 체크아웃 가능회수를, 1만큼 디크리먼트하는 디크리먼트 수단을 포함하도록 할 수 있다.
본 발명의 통신장치는, 데이터를 기억가능한 기억부와, 기억부에 기억되는 데이터의 속성정보를 기억하는 속성정보 기억부와, 자동 체크인 및 체크아웃을 지시하는 지시부와, 지시에 따라, 체크인 가능한 정보기억매체에 기억되는 데이터를 기억부에 체크인 함과 동시에, 기억부에 기억되는 체크아웃 가능한 데이터를 정보기억매체에 체크아웃하고, 정보기억매체의 용량이 부족하게 되었을 때에는 체크아웃의 동작을 정지하는 통신컨트롤러를 구비하는 것을 특징으로 한다.
상기 통신컨트롤러는, 지시에 따라, 정보기억매체에 기억되는 데이터의 공급원이 통신장치인 정보기억매체에 기억되는 데이터의 속성정보의 재생허가 플래그를 유효로부터 무효로 변경한 후, 속성정보부에 기억되는 데이터의 속성정보의 재생허가 플래그를 무효로부터 유효하게 변경함과 동시에 속성정보 기억부에 기억되는 데이터의 속성정보의 체크아웃 가능회수를 인크리먼트하고, 기억부에 기억되는 다른 데이터에 대응하는 속성정보의 체크아웃 가능회수가 조건을 만족하고 있을 때, 다른 데이터 및 재생허가 플래그가 무효로 된 다른 데이터에 대응하는 속성정보를 기억장치의 정보기억매체에 전송하며, 또한, 정보기억매체 내의 데이터에 대응하는 속성정보의 재생허가 플래그를 유효로 함과 동시에 속성정보 기억부에 기억되는 데이터의 속성정보의 체크아웃 가능회수를 디크리먼트하고, 정보기억매체에 다른 데이터를 전송함으로써 정보기억매체의 용량이 부족하게 되었을 때에는 다른 데이터의 전송을 정지하도록 할 수 있다.
본 발명의 통신방법은, 자동 체크인 및 체크아웃의 요구를 접수하는 스텝과, 요구의 접수에 따라, 체크인 가능한 정보기억매체에 기억되는 데이터를 데이터 기억가능한 기억부에 체크인하는 스텝과, 기억부에 기억되는 체크아웃 가능한 데이터를 정보기억매체에 체크아웃하는 스텝과, 정보기억매체의 용량이 부족하게 되었을 때에는 체크아웃의 동작을 정지하는 스텝을 구비하는 것을 특징으로 한다.
본 발명의 제2 기억매체의 프로그램은, 자동 체크인 및 체크아웃의 요구를 접수하는 스텝과, 요구의 접수에 따라, 체크인 가능한 정보기억매체에 기억되는 데이터를 데이터 기억가능한 기억부에 체크인하는 스텝과, 기억부에 기억되는 체크아웃 가능한 데이터를 정보기억매체에 체크아웃하는 스텝과, 정보기억매체의 용량이부족하게 되었을 때에는 체크아웃의 동작을 정지하는 스텝을 구비하는 것을 특징으로 한다.
본 발명의 제2 프로그램은, 자동 체크인 및 체크아웃의 요구를 접수하는 스텝과, 요구의 접수에 따라, 체크인 가능한 정보기억매체에 기억되는 데이터를 데이터 기억가능한 기억부에 체크인하는 스텝과, 기억부에 기억되는 체크아웃 가능한 데이터를 정보기억매체에 체크아웃하는 스텝과, 정보기억매체의 용량이 부족하게 되었을 때에는 체크아웃의 동작을 정지하는 스텝을 컴퓨터에 실행시키는 것을 특징으로 한다.
본 발명의 제1 기록장치 및 방법과 프로그램에 있어서는, 사용자로부터의 명령조작에 대응하여, 정보기억매체에 기록되어 있는 복제 콘텐츠 데이터 중, 체크인 가능한 복제 콘텐츠 데이터가 제1 기억수단에 체크인되고, 그 체크인의 처리가 종료한 후, 제1 기억수단에서 기억되어 있는 콘텐츠 데이터 중, 체크아웃 가능한 콘텐츠 데이터가, 정보기억매체에 체크아웃된다.
본 발명의 제2 기록장치에 있어서는, 사용자로부터의 1회의 명령조작에 대응하여, 식별수단, 삭제수단, 취득수단, 인크리먼트 수단, 판별수단, 확인수단, 생성수단, 판독수단, 및 디크리먼트 수단이 제어된다.
본 발명의 제3 기록장치에 있어서는, 사용자로부터의 명령조작에 대응하여, 정보기억매체에 기록되어 있는 복제 콘텐츠 데이터 중, 체크인 가능한 복제 콘텐츠 데이터가, 제1 기억수단에 체크인되고, 체크인의 처리가 종료한 후, 제1 기억수단에서 기억되어 있는 콘텐츠 데이터 중, 체크아웃 가능한 콘텐츠 데이터가, 정보기억매체에 체크아웃된다.
본 발명의 통신장치와 방법, 및 제2 프로그램에 있어서는, 자동 체크인 및 체크아웃의 요구에 따라, 체크인 가능한 정보기억매체에 기억되는 데이터가 데이터 기억가능한 기억부에 체크인되고, 기억부에 기억되는 체크아웃 가능한 데이터가 정보기억매체에 체크아웃된다. 이때, 정보기억매체의 용량이 부족하게 되었을 때에는, 체크아웃동작이 정지된다.
본 발명은, 기록장치 및 방법과 통신장치 및 방법에 관한 것으로, 예를 들면, 음악 CD에 기록되어 있는 PCM(Pulse Code Modulation) 데이터를 부호화하여 하드디스크에 축적하고, 축적한 부호화 데이터를, 반도체 메모리나 포터블 디바이스에 공급하는 경우에 사용하기 바람직한 기록장치 및 방법과 통신장치 및 방법에 관한 것이다.
도 1은, 본 발명의 일실시예인 오디오서버(1)의 개요를 설명하기 위한 도면이다.
도 2는, 오디오서버(1)의 외관도이다.
도 3은, 오디오서버(1)의 평면도이다.
도 4는, 오디오서버(1)의 배면도이다.
도 5는, 오디오서버(1)의 정면도이다.
도 6은, 오디오서버(1)의 하드웨어적인 구성예를 나타내는 블록도이다.
도 7은, 오디오서버(1)가 실행하는 펌웨어를 나타내는 도면이다.
도 8은, HDD(58)에 적용되는 FAT형 파일시스템(데이터 포맷)을 설명하기 위한 도면이다.
도 9는, 파일기록영역(121)의 논리구조를 나타내는 도면이다.
도 10은, FAT(141)의 구성을 나타내는 도면이다.
도 11은, FAT(141)의 일례를 나타내는 도면이다.
도 12는, 파일기록영역(121)의 기록의 일례를 나타내는 도면이다.
도 13은, 사이즈 기록영역(151)의 구성을 나타내는 도면이다.
도 14는, 파일작성처리를 설명하는 흐름도이다.
도 15는, 공백 클러스터 취득처리를 설명하는 흐름도이다.
도 16은, FAT 엔트리 판독을 설명하는 흐름도이다.
도 17은, 연결처리를 설명하는 흐름도이다.
도 18은, 파일 X의 판독처리를 설명하는 흐름도이다.
도 19는, 파일 X의 검색처리를 설명하는 흐름도이다.
도 20은, 파일 X의 역판독처리를 설명하는 흐름도이다.
도 21은, 오브젝트 기록영역(122)의 논리구조를 나타내는 도면이다.
도 22는, 오브젝트형 기록영역(163)의 구성을 나타내는 도면이다.
도 23은, 영역정보 기록영역(164)을 설명하기 위한 도면이다.
도 24는, 오브젝트 관리부(124)의 구성을 나타내는 도면이다.
도 25는, 세션관리정보(181)의 구성을 나타내는 도면이다.
도 26a는, 기본 오브젝트 제1형을 나타내는 도면이다.
도 26b는, 기본 오브젝트 제2형을 나타내는 도면이다.
도 27은, 오브젝트 식별자의 구성을 나타내는 도면이다.
도 28은, 오브젝트 작성처리를 설명하는 흐름도이다.
도 29는, 세션개설처리를 설명하는 흐름도이다.
도 30은, 공백 엔트리 확보처리를 설명하는 흐름도이다.
도 31은, 라이트세션 확정처리를 설명하는 흐름도이다.
도 32는, 세션파기처리를 설명하는 흐름도이다.
도 33은, 오브젝트검색처리를 설명하는 흐름도이다.
도 34는, 엔트리 취득처리를 설명하는 흐름도이다.
도 35는, 오브젝트갱신처리를 설명하는 흐름도이다.
도 36은, 스트림 오브젝트 작성처리를 설명하는 흐름도이다.
도 37은, 스트림 오브젝트 검색처리를 설명하는 흐름도이다.
도 38은, 오브젝트의 디렉토리 구조를 나타내는 도면이다.
도 39는, 폴더리스트 오브젝트의 포맷을 나타내는 도면이다.
도 40은, 폴더 오브젝트의 포맷을 나타내는 도면이다.
도 41은, 앨범 오브젝트의 포맷을 나타내는 도면이다.
도 42는, 트랙 오브젝트의 포맷을 나타내는 도면이다.
도 43은, 트랙 오브젝트의 AC의 상세를 나타내는 도면이다.
도 44는, 콘텐츠 데이터의 포맷을 나타내는 도면이다.
도 45는, CC 오브젝트의 포맷을 나타내는 도면이다.
도 46은, CC 데이터의 포맷을 나타내는 도면이다.
도 47은, CD 리핑이 실행될 때의 데이터의 흐름을 나타내는 도면이다.
도 48은, CD 레코딩이 실행될 때의 데이터의 흐름을 나타내는 도면이다.
도 49는, 디지털 입력에 대한 HD 레코딩이 실행될 때의 데이터의 흐름을 나타내는 도면이다.
도 50은, 아날로그 입력에 대한 HD 레코딩이 실행될 때의 데이터의 흐름을 나타내는 도면이다.
도 51은, HD 플레이가 실행될 때의 데이터의 흐름을 나타내는 도면이다.
도 52는, CD 플레이가 실행될 때의 데이터의 흐름을 나타내는 도면이다.
도 53a는, MS 플레이가 실행될 때의 데이터의 흐름을 나타내는 도면이다.
도 53b는, MS 플레이가 실행될 때의 데이터의 흐름을 나타내는 도면이다.
도 54는, MS 체크아웃/무브아웃이 실행될 때의 데이터의 흐름을 나타내는 도면이다.
도 55는, MS 임포트/무브인이 실행될 때의 데이터의 흐름을 나타내는 도면이다.
도 56은, PD 체크아웃이 실행될 때의 데이터의 흐름을 나타내는 도면이다.
도 57은 CD 리핑을 설명하기 위한 도면이다.
도 58은, CD 레코딩을 설명하기 위한 도면이다.
도 59는, CP 리핑 또는 CD 레코딩에서의 버퍼(56)의 구분을 설명하기 위한 도면이다.
도 60은, 각 버퍼의 상태천이를 나타내는 도면이다.
도 61은, HDD(58)에 설치되는 링버퍼(241)를 나타내는 도면이다.
도 62는, CD 리핑시의 각 버퍼 사이의 데이터의 흐름을 설명하기 위한 도면이다.
도 63은, 녹음속도 설정처리를 설명하는 흐름도이다.
도 64는, CD 녹음처리를 설명하는 흐름도이다.
도 65는, 링버퍼정보 초기화처리를 설명하는 흐름도이다.
도 66은, 1곡만큼의 녹음처리를 설명하는 흐름도이다.
도 67은, 모니터 음성 출력처리를 설명하는 흐름도이다.
도 68은, 링버퍼에 대한 기록처리를 설명하는 흐름도이다.
도 69는, 링버퍼에 대한 판독처리를 설명하는 흐름도이다.
도 70a는, 녹음하는 곡을 설정할 때의 디스플레이(15)의 표시예를 나타내는 도면이다.
도 70b는, 녹음 중의 디스플레이(15)의 표시예를 나타내는 도면이다.
도 71은, 재생영역의 설정을 설명하기 위한 도면이다.
도 72는, 플레이 리스트의 일례를 나타내는 도면이다.
도 73은, 플레이 리스트의 일례를 나타내는 도면이다.
도 74는, 플레이 리스트의 일례를 나타내는 도면이다.
도 75는, 플레이 리스트의 일례를 나타내는 도면이다.
도 76은, 플레이 리스트 작성처리를 설명하는 흐름도이다.
도 77은, 전곡 리피트의 재생처리를 설명하는 흐름도이다.
도 78은, 무브아웃처리를 설명하는 흐름도이다.
도 79는, 무브아웃처리의 상태천이를 나타내는 도면이다.
도 80은, 무브아웃처리에서의 디스플레이(15)의 표시예를 나타내는 도면이다.
도 81은, 무브아웃처리에서의 디스플레이(15)의 표시예를 나타내는 도면이다.
도 82는, 무브인처리를 설명하는 흐름도이다.
도 83은, 무브인처리의 상태천이를 나타내는 도면이다.
도 84는, 무브인처리에서의 디스플레이(15)의 표시예를 나타내는 도면이다.
도 85는, 무브인처리에서의 디스플레이(15)의 표시예를 나타내는 도면이다.
도 86은, 복귀처리를 설명하는 흐름도이다.
도 87은, 무브아웃 복원처리를 설명하는 흐름도이다.
도 88은, 무브인 복원처리를 설명하는 흐름도이다.
도 89는, 체크아웃처리를 설명하는 흐름도이다.
도 90은, 체크아웃처리에서의 디스플레이(15)의 표시예를 나타내는 도면이다.
도 91은, 체크아웃처리에서의 디스플레이(15)의 표시예를 나타내는 도면이다.
도 92는, 체크인처리를 설명하는 흐름도이다.
도 93은, 체크인처리에서의 디스플레이(15)의 표시예를 나타내는 도면이다.
도 94는, 익스체인지 처리를 설명하는 흐름도이다.
도 95는, 익스체인지 처리에서의 디스플레이(15)의 표시예를 나타내는 도면이다.
도 96은, 익스체인지 처리에서의 디스플레이(15)의 표시예를 나타내는 도면이다.
도 97은, 익스체인지 처리에서의 디스플레이(15)의 표시예를 나타내는 도면이다.
도 98은, PD(5)의 하드웨어적인 구성예를 게시하는 블록도이다.
도 99는, MS(4)에 기록되어 있는 디렉토리 및 파일의 종류를 나타내는 도면이다.
도 100은, 아카이브 파일이 기록되는 위치를 설명하는 도면이다.
도 101은, 스토어 처리를 설명하는 흐름도이다.
도 102는, 스토어 처리에서의 디스플레이(15)의 표시예를 나타내는 도면이다.
도 103은, 스토어 처리에서의 디스플레이(15)의 표시예를 나타내는 도면이다.
도 104는, 스토어 처리에서의 디스플레이(15)의 표시예를 나타내는 도면이다.
도 105는, 리스토어 처리를 설명하는 흐름도이다.
도 106은, 리스토어 처리에서의 디스플레이(15)의 표시예를 나타내는 도면이다.
도 107은, 리스토어 처리에서의 디스플레이(15)의 표시예를 나타내는 도면이다.
도 108은, 도 6의 플래시 ROM의 영역구성을 나타내는 도면이다.
도 109는, 프로그램 재기록처리를 설명하는 흐름도이다.
도 110은, 기동용 프로그램의 처리를 설명하는 흐름도이다.
본 발명의 일실시예인 오디오서버의 개요에 대하여, 도 1을 참조하여 설명한다. 이 오디오서버(1)는, 음악 CD(3)에 기록되어 있는 PCM(Pulse Code Modulation) 데이터를 판독하고, ATRAC(Adaptive Transform Acoustic Coding) 3방식에 의해 인코드하여, 얻어지는 부호화 데이터를 하드디스크 드라이브(58)(도 6)에 기록하고, 기록한 부호화 데이터를, 상층측으로부터 폴더리스트, 폴더, 앨범, 및 트랙 등의 계층구조를 이루는 오브젝트에 대응하여 관리한다.
폴더리스트에는, 1단 하의 계층에 위치하는 복수의 폴더를 포함시킬 수 있다. 폴더에는, 1단 하의 계층에 위치하는 복수의 앨범을 포함시킬 수 있다. 앨범에는, 1단 하의 계층에 위치하는 복수의 트랙을 포함시킬 수 있다. 계층구조의 최하층에 위치하는 트랙은, 1곡만큼의 부호화 데이터와 1대 1로 대응한다.
이하, 부호화 데이터를 콘텐츠 데이터라고도 기술한다. 폴더리스트, 폴더, 앨범, 및 트랙을 오브젝트라고도 기술한다. 사용자는, 오브젝트를 지정하여 각종의 명령을 지령한다. 이때, 오브젝트의 계층구조의 상세에 대해서는, 도 38을 참조하여 후술한다.
또한, 오디오서버(1)는, 음악 CD(3)를 재생하거나, 하드디스크 드라이브(이하, HDD라 기술함)(58)에 기록되어 있는 부호화 데이터를 디코드하거나 하여, 얻어지는 음성신호를 스피커(2)로부터 출력한다.
더욱이, 오디오서버(1)는, MS 슬롯(45)(도 5)에 삽입된 매직 게이트(상표)에 대응하는 메모리 스틱(상표)(이하, MS라 기술함)(4)이나, 커넥터(43)(도 5)에 접속되는 네트워크 워크맨(상표) 등의 포터블 디바이스(이하, PD라 기술함)(5)에 대하여, HDD(58)에 기록되어 있는 부호화 데이터를, 체크아웃처리 또는 무브아웃처리에 의해 기록함과 동시에, MS(4)나 PD(5)에 기록되어 있는 부호화 데이터를, 체크인처리, 무브인처리, 또는 임포트처리에 의해 HDD(58)에 기록한다.
여기서, 매직 게이트란, 매직 게이트 대응의 MS(4)에 기록하는 데이터의 암호화와, MS(4)를 삽입하여 사용하는 오디오서버(1)의 상호 인증과의 2개의 기술에 의해 데이터의 저작권을 보호하기 위한 기술로, 디지털 오디오 데이터가 부정한 카피, 재생, 수정을 방지하는 것이 가능하다. 매직 게이트는, SDMI(Secure Digital Music Initiative) 규격에 준거하고 있다.
이때, 오디오서버(1)와, MS(4) 또는 PD(5)와의 사이의 체크아웃처리, 체크인처리, 무브아웃처리, 무브인처리, 및 임포트처리에 대해서는 후술한다.
부호화 데이터가 기록된 MS(4)는, 오디오서버(1)로부터 추출되고, 예를 들면, 퍼스널 컴퓨터(6)에 장착되어, 기록되어 있는 부호화 데이터가 판독되고 디코드된다.
부호화 데이터가 기록된 PD(5)는, 부호화 데이터를 디코드하여, 얻어지는 음성신호를 헤드폰에서 출력한다.
리모트 컨트롤러(7)는, 사용자로부터의 조작을 접수하여, 대응하는 제어신호를 오디오서버(1)에 송신한다.
다음에, 오디오서버(1)의 외관에 대하여, 도 2 내지 도 5를 참조하여 설명한다. 도 2는, 오디오서버(1)의 정면 위쪽으로부터의 외관도이다. 도 3은, 오디오서버(1)의 평면도이다. 도 4는, 오디오서버(1)의 배면도이다. 도 5는, 정면도이다.
오디오서버(1)의 상면에는, CD를 장착하는 CD 트레이(도시하지 않음)의 덮개(40)가 설치되어 있고, 덮개(40)에는, 도 3에 나타내는 바와 같이, 파워버튼(11) 등의 버튼류 외, 각종의 정보를 표시하는 디스플레이(15)가 배치되어 있다. 파워(POWER)버튼(11)은, 오디오서버(1)의 전원을 온·오프시킬 때에 조작된다. 펑크션(FUNCTION)버튼(12)은, 음원으로서, 음악 CD(3), HDD(58), AUX인단자(31), MS(4), 및 PD(5) 중의 하나를 선택할 때에 조작된다.
플레이모드(PLAY MODE) 버튼(13)은, 재생모드를, 재생영역에 포함되는 모든 트랙을 순차 1회씩 재생하는 노멀재생, 재생영역에 포함되는 모든 트랙을 순차 재생하는 것을 반복하는 전곡 리피트, 1트랙만을 반복하여 재생하는 1곡 리피트, 재생영역에 포함되는 모든 트랙 중에서 랜덤하게 선택하여 재생하는 것을 반복하는 랜덤 리피트, 또는, HDD 전체에 포함되는 모든 트랙 중에서 랜덤하게 선택하는 모양의 애니메이션을 표시함과 동시에 선택한 트랙을 재생하는 것을 반복하는 슬롯머신재생으로 전환할 때에 조작된다. 이때, 재생영역에 대해서는, 도 71을 참조하여 후술한다.
디스플레이(DISPLAY) 버튼(14)은, 디스플레이(15)의 표시내용을 전환할 때에조작된다. LCD(Liquid Crystal Display) 등으로 이루어지는 디스플레이(15)는, 동작상황이나 오디오 데이터에 관한 정보를 표시한다.
음량(VOLUME)버튼(16)은, 출력하는 음량을 증감시킬 때에 조작된다. 커서(cursor)버튼(17)은, 디스플레이(15)에 표시되는 커서를 이동시킬 때에 조작된다. 셀렉트(SELECT)버튼(18)은, 디스플레이(15)의 커서로 표시되어 있는 오브젝트 등을 선택할 때나, 검색시의 올림차순, 내림차순을 전환할 때에 조작된다. 이레이즈(ELASE)버튼(19)은, 트랙 등의 오브젝트를 소거할 때에 조작된다.
엔터(ENTER)버튼(20)은, 표시되어 있는 메뉴나, 선택되어 있는 트랙 등의 오브젝트를 결정할 때에 조작된다. 메뉴/캔슬(MENU/CANCEL)버튼(21)은, 계층적으로 설치되는 각종의 조작메뉴를 표시시킬 때, 또는 캔슬할 때에 조작된다. 익스체인지(EXCHANGE)버튼(22)은, MS(4), 또는 PD(5)에 대하여, 자동적으로 체크인처리 및 체크아웃처리를 시행할 때에 조작된다.
레코드(RECORD)버튼(23)은, 음악 CD(3)의 오디오 데이터를 재생하면서, HDD(58)에 녹음할 때에 조작된다. 하이 스피드 레코드(HI SPEED RECORD)버튼(24)은, 음악 CD(3)의 오디오 데이터를 HDD(58)에 고속녹음할 때에 조작된다. 이때, 이 때에도 녹음되는 오디오 데이터의 음성이 스피커(2) 등으로부터 출력된다.
정지버튼(25)은, 실행 중의 재생이나 녹음을 중지할 때에 조작된다. 재생/일시정지버튼(26)은, 재생의 개시, 재생퍼즈(pause), 재생퍼즈의 해제를 지시할 때에 조작된다. 두출버튼 27은, 현재의 트랙 또는 전의 트랙의 두출, 혹은, 되감아 재생을 지시할 때에 조작된다. 두출버튼 28은, 다음 트랙의 두출, 또는 조속 이송 재생을 지시할 때에 조작된다.
이때, 도시는 생략하지만, 리모트 컨트롤러(7)에는, 덮개(40)에 배치되어 있는 파워버튼(11) 등의 버튼류와 동등한 기능을 갖는 버튼이 배치되어 있다.
오디오서버(1)의 배면에는, 도 4에 나타내는 바와 같이, AUX인단자(31), 라인아웃단자(32), 서브우퍼단자(33), 스피커(L, R)단자(34), 리셋트버튼(35), 및 DC인 단자(36)가 배치되어 있다.
AUX인단자(31)는, 오디오 출력기기(도시하지 않음)를 접속할 수 있어, 접속한 오디오 출력기기로부터의 디지털 오디오 데이터, 또는 아날로그의 음성신호를 입력할 수 있다. 라인아웃단자(32)는, 증폭기기(도시하지 않음) 등을 접속할 수 있어, 접속한 증폭기기에 아날로그 음성신호를 출력할 수 있다. 서브우퍼단자(33)는, 서브우퍼(도시하지 않음)를 접속할 수 있어, 서브우퍼에 재생한 음성신호의 저주파성분을 출력할 수 있다. 스피커(L, R)단자(34)는, 스피커(2)를 접속하여, 접속한 스피커(2)에 재생한 음성신호를 출력할 수 있다. 리셋트버튼(35)은, 오디오서버(1)를 리셋트할 때에 조작된다. DC인단자(36)에는, AC 파워어댑터(도시하지 않음)로부터의 DC 전력이 공급된다.
오디오서버(1)의 정면에는, 도 5에 나타내는 바와 같이, 오픈레버(41), 수광부(42), 커넥터(43), 액세스램프(44), MS 슬롯(45), 취득레버(46), 및 헤드폰단자(47)가 배치되어 있다. 오픈레버(41)는, 덮개(40)를 열 때에 슬라이드된다. 수광부(42)는, 리모트 컨트롤러(7)로부터 송신되는 제어신호를 수신한다. 커넥터(43)에는, USB(Universal Serial Bus) 단자가 설치되어 있고, USB 케이블을 통해, PD(5), 외부부착 HDD, 키보드 등을 접속할 수 있다.
이때, 커넥터(43)에, IEEE1394 단자를 설치하도록 하고, IEEE1394 케이블을 통해 PD(5) 등을 접속하도록 해도 된다. 또는, 소위 Bluetooth(상표), 혹은, IEEE802.11b(소위 무선 LAN)용의 단자를 설치하여, 무선통신에 의해 PD(5) 등을 접속하도록 해도 된다.
액세스램프(44)는, MS 슬롯(45)에 삽입되어 있는 MS(4), 또는 커넥터(43)에 접속되어 있는 PD(5) 등에 대하여 데이터의 읽고 쓰기가 실행되고 있을 때에 점멸한다. MS 슬롯(45)에는, MS(4)가 삽입된다. 추출레버(46)는, MS 슬롯(45)에 삽입되어 있는 MS(4)를 추출할 때에 조작된다. 헤드폰단자(47)는, 헤드폰을 접속할 수 있어, 접속한 헤드폰에 재생한 음성신호를 출력할 수 있다.
다음에, 오디오서버(1)의 하드웨어적인 구성예에 대하여, 도 6을 참조하여 설명한다. 오디오서버(1)는, 오디오서버(1)의 전체를 제어하는 메인 CPU(Central Processing Unit)(51)를 내장하고 있다. 메인 CPU(51)에는, 버스(66)를 통해, 플래시 ROM(52), SDRAM(53), USB 호스트 컨트롤러(54), DMA 컨트롤러(55), 신호처리부(60), 이더넷(등록상표) 컨트롤러/커넥터(67), 및 PCMCIA 컨트롤러(68)가 접속되어 있다.
플래시 ROM(52)에는, 전원이 온이 되면 즉시 메인 CPU(51)에 의해 기동이 완료되는 RTOS(Real Time Operating System)(71)(도 7), 각종의 기능을 실현하기 위해 RTOS(71) 상에서 실행되는 펌웨어(Firmware, 도 7을 참조하여 후술함) 외, 기기 ID, 암호키 등이 기억되어 있다.
SDRAM(Synchronous Dynamic Random Access Memory)(53)은, 메인 CPU(51)가 각종의 처리를 실행할 때, 소정의 데이터나 프로그램을 일시적으로 기억한다. USB 호스트 컨트롤러(54)는, 커넥터(43)를 통해 접속되는 PD(5) 등과의 데이터통신을 제어한다.
DMA(Direct Memory Access) 컨트롤러(55)는, 버퍼(56), CD-ROM 드라이브(57), HDD(58), 및 인코더/디코더(59)의 사이의 데이터전송을 제어한다. SDRAM 등으로 이루어지는 버퍼(56)는, DMA 컨트롤러(55)가 전송을 제어하는 데이터를 일시적으로 버퍼링한다. CD-ROM 드라이브(57)는, CAV 8배속으로 음악 CD(3)에 기록되어 있는 오디오 데이터를 판독한다. HDD(58)는, 인코더/디코더(59)가 생성한 부호화 데이터 등을 기억한다.
인코더/디코더(59)는, CD-ROM 드라이브(57)가 판독한 PCM 데이터나, AUX인단자(31)로부터 입력된 오디오 데이터를, 132Kbps 모드, 105Kbps 모드, 또는 66Kbps 모드의 ATRAC3 방식을 사용하여, 최대 8배속, 평균 55배속으로 인코드하여 부호화 데이터를 생성한다. 또한, 인코더/디코더(59)는, HDD(58)가 기억하는 부호화 데이터를 디코드한다. 더욱이, 인코더/디코더(59)는, DES(Data Encryption Standard) 엔진을 가지고 있고, 부호화 데이터를, 오디오서버(1)를 구성하는 소정의 부품의 기기 ID와 시간에 근거하여 생성하는 암호키를 사용하여 암호화한다.
예를 들면, HDD(58)가 9GB의 용량을 가지고, 인코더/디코더(59)가 105Kbps 모드의 ATRAC3 방식으로 인코드하는 경우, HDD(58)에는, 약 100장 정도의 음악 CD(3)(60분/장)를 녹음할 수 있다.
신호처리부(60)는, 매직 게이트 스틱 인터페이스(이하, MGMS I/F라 기술함)(60-1), 오더마크 스크린(이하, WM 스크린이라 기술함)(60-2), 오디오 I/F(60-3), 및 샘플링 레이트 컨버터(이하, SRC라 기술함)(60-4)로 이루어진다.
MGMS I/F(60-1)는, MS 커넥터(61)를 통해, MS 슬롯(45)에 삽입되는 MS(4)에 대하여 상호 인증을 행하고, 그 결과에 근거하여 데이터의 암호화, 및 암호화된 데이터의 복호를 실행한다. WM 스크린(60-2)은, 신호처리부(60)를 통과하는 오디오 데이터에 매립되어 있는 SDMI 규격의 오더마크(전자스카시, 카피의 가부 등을 나타내는 정보 등)를 검출한다.
오디오 I/F(60-3)는, AUX인단자(31)를 통해 디지털 오디오 데이터를 취득하여, SRC(60-4)에 공급한다. 또한, 오디오 인터페이스(60-3)는, 버퍼(56) 등으로부터 전송된 디지털 오디오 데이터를, 내장하는 버퍼(251)(도 62)에 적절히 버퍼링한 후, AD/DA(62)에 출력한다.
SRC(60-4)는, 오디오 I/F(60-3)로부터의 디지털 오디오 데이터의 샐플링 레이트를, 44.1KHz로 변환하여 인코더/디코더(59)에 출력한다.
이때, 도시는 생략하지만, 또한, 신호처리부(60)는, 1배속으로 동작하는 ATRAC3 방식의 인코더/디코더를 내장하고 있다.
MS 커넥터(61)는, 삽입되는 MS(4)와 MGMS IF(60-1)와의 데이터통신을 중계한다. AD/DA(62)는, 신호처리부(60)의 오디오 I/F(60-3)로부터 입력되는 디지털 오디오 데이터를 아날로그의 음성신호로 변환하여, 라인아웃단자(32), 스피커단자(34), 또는 헤드폰단자(47)에 출력한다. 또한, AD/DA(62)은, AUX인단자(31)로부터 입력되는 아날로그의 음성신호를 디지털화하여 인코더/디코더(59)에 출력한다.
이더넷 컨트롤러/커넥터(67)는, 이더넷(상표)을 통하는 다른 전자기기와의 데이터통신을 제어한다. PCMCIA(Personal Computer Memory Card International Association) 컨트롤러(68)는, PCMCIA 규격의 IC 카드 인터페이스를 장비하고 있다.
메인 CPU(51)에는, 디스플레이 드라이버(63), 및 서브 CPU(64)가 접속되어 있다. 디스플레이 드라이버(63)는, 디스플레이(15)의 표시를 제어한다. 서브 CPU(64)는, 특히, 전원이 오프일 때에 있어서, 전원부(65)의 제어, 본체의 리셋트 제어, 내장시계의 카운트, 파워버튼(11) 등에 대한 조작의 검지, 수광부(42)의 제어, AD/DA(62)의 제어 등을 실행한다. 전원부(65)는, DC인단자(36)로부터 공급되는 DC 전압을 소정의 전압으로 변환하여, 오디오서버(1)의 전체에 공급한다.
다음에, 이하에 열거하는 오디오서버(1)의 기능을 실제로 행하기 위해 메인 CPU(51)가 플래시 ROM(52)으로부터 판독하여 실행하는 펌웨어에 대하여, 도 7을 참조하여 설명한다. 이때, 오디오서버(1)의 기능은, CD 리핑, CD 레코딩, HD 레코딩(디지털 입력), HD 레코딩(아날로그 입력), HD 플레이, CD 플레이, MS 플레이, 체크아웃/체크인, 임포트, 무브아웃/무브인 등이지만, 그 상세와 펌웨어와의 대응에 대해서는, 도 47 내지 도 56을 참조하여 후술한다.
펌웨어는, 4개의 층, 즉, 어플리케이션층(APP)(72), 상부 미들웨어층(UMW)(73), 하부 미들웨어층(LMW)(74), 및 디바이스 드라이버층(DD)(75)을 이루고 있다.
어플리케이션층(72)에는, 메인 어플리케이션(이하, 메인 APP라 기술함)(76), 하드디스크 어플리케이션(이하, HD APP라 기술함)(77), CD 어플리케이션(이하, CD APP라 기술함)(78), 메모리 스틱 어플리케이션(이하, MS APP라 기술함)(79), 포터블 어플리케이션(이하, PD APP라 기술함)(80), 및 가명한자변환 어플리케이션(이하, FEP(Front End Processor)라 기술함)(81)의 각 모듈이 포함된다.
어플리케이션층(72)의 각 모듈은, 오디오서버(1)가 실행가능한 기능에 관한 사용자의 조작에 대응하여, 상부 미들웨어층(73)의 대응하는 모듈에 처리를 요구하고, 처리의 상황의 표시를 제어함으로써 사용자 인터페이스를 제공한다.
메인 APP(76)는, 어플리케이션층(72)의 각 모듈을 통제한다. 예를 들면, 기동시에 있어서, 기동화면을 작성하고, 각 모듈을 기동한다. 인풋미들웨어(97)로부터 통지되는 사용자의 조작을 접수하여, 대응하는 모듈에 통지한다. 각 모듈로부터의 표시데이터를 디스플레이 디바이스 드라이버(105)에 공급한다. 각 모듈의 전환을 실행한다. 사용자로부터의 음량변경의 조작에 대응하여, 오디오 IO 미들웨어(AIO)(94)에 통지한다. 사용자로부터의 셋트업 조작에 대응하여, 각 모듈에 설정값을 통지한다. 각 모듈에서 공통의 설정정보(플레이 모드 등)를 유지한다. 파워오프의 조작에 대응하여 각 모듈을 종료시켜, 시스템 컨트롤 미들웨어(25)(SYSTEM)(98)에 파워오프를 요구한다.
HD APP(77)는, HDD(58)를 구동시키는 조작을 접수하여, 하드디스크 미들웨어(82)에 통지하고, 하드디스크 미들웨어(82)의 동작상태를 취득하여 표시데이터를 생성한다.
CD APP(78)는, CD-R0M 드라이브(57)를 구동시키는 조작을 접수하여, CD 미들웨어(88)에 통지하고, CD 미들웨어(88)의 동작상태를 취득하여 표시데이터를 생성한다.
MS APP(79)는, MS 슬롯(45)에 삽입된 MS(4)에 관한 조작을 접수하여, MS 미들웨어(89)에 통지하고, MS 미들웨어(89)의 동작상태를 취득하여 표시데이터를 생성한다.
PD APP(80)는, 커넥터(43)에 접속된 PD(5)에 관한 조작을 접수하여, PD 미들웨어(90)에 통지하고, PD 미들웨어(90)의 동작상태를 취득하여 표시 데이터를 생성한다.
FEP(81)는, 녹음하는 음악 CD(3)의 타이틀 등을 입력할 때의 가명한자변환을 실행한다.
상부 미들웨어층(73)에는, 오디오서버(1)의 각 기능을 모델화하여 실장한 이하의 모듈로 구성된다. 즉, 하드디스크 미들웨어(이하, HD MW라 기술함)(82), CD 미들웨어(이하, CD MW라 기술함)(88), MS 미들웨어(이하, MS MW라 기술함)(89), 및 PD 미들웨어(이하, PD MW라 기술함)(90)의 각 모듈이 포함된다.
HD MW(82)는, HDD(58)에 기억되어 있는 부호화 데이터를 관리하는 HDCC83, CD MW(88)와 연휴하여 음악 CD(3)의 오디오 데이터를 압축하고, 암호화하여 HDD(58)에 기록하는 CD RIPPING(84), 오디오 IO 미들웨어(94)와 연휴하여 HDD(58)에 기록되어 있는 부호화 데이터를 복호하고, 신장되는 HD PLAY(85), 오디오 IO 미들웨어(94)와 연휴하여 AUX인단자(31)로부터 입력되는 오디오 데이터를 압축하고,암호화하여 HDD(58)에 기록하는 HD REC(86), MS MW(89) 또는 PD MW(90)와 연휴하여, MS(4) 또는 PD(5)과의 체크인, 체크아웃을 제어하는 IN/C OUT(87)으로 구성된다.
CD MW(88)는, CD 디바이스 드라이버(102)에 CD-R0M 드라이브(57)를 제어시킴으로써 CD 플레이어로서의 기능을 실현한다. MD MW(89)는, 오디오 IO 미들웨어(94), 및 MS 파일시스템 미들웨어(95)와 연휴하여 MS 플레이어로서의 기능을 실현한다. PD MW(90)는, USB 호스트 미들웨어(96) 및 USB 호스트 디바이스 드라이버(104)와 연휴함으로써 PD(5)를 제어한다.
하부 미들웨어층(74)에는, 상부 미들층(73)의 각 모듈이 공용할 수 있는 기능을 모델화하여 실장한 이하의 모듈, 즉, 하드디스크 오브젝트 데이터 미들웨어(이하, HD DB라 기술함)(91), 하드디스크 파일시스템 미들웨어(이하, HD FS라 기술함)(92), MGR 미들웨어(MGR)(93), 오디오 IO 미들웨어(AI0)(94), 스틱 파일시스템 미들웨어(MSFS)(95), USB 호스트 미들웨어(USB)(96), 인풋핸들 미들웨어(INPUT)(97), 및 시스템 컨트롤 미들웨어(SYSTEM)(98)가 포함된다. 하부 미들웨어층(74)에 포함되는 각 모듈은, 상부 미들층(73)을 구성하는 각 모듈로부터 호출된다.
디바이스 드라이버층(DD)(75)에는, 각 하드웨어 디바이스를 모델화한 이하의 모듈, 즉, 하드디스크 디바이스 드라이버(99), 디코더/인코더 디바이스 드라이버(100), DMA 디바이스 드라이버(101), CD 디바이스 드라이버(102), 신호처리부 디바이스 드라이버(103), USB 호스트 디바이스 드라이버(104), 디스플레이 디바이스 드라이버(105), 오디오 디바이스 드라이버(106), 키 디바이스 드라이버(107), 파워 디바이스 드라이버(108), 및 클록 디바이스 드라이버(109)가 포함된다. 이때, 도 7에서, 점선으로 둘러싸인 오디오 디바이스 드라이버(106) 내지 클록 디바이스 드라이버(109)는, 서브 CPU(64)에 의해 실행된다. 각 모듈은, 주로, 라이브러리로 구성되어 있고, 상부 미들웨어층(73) 또는 하부 미들웨어층(74)에 포함되는 모듈로부터, 그 API(Application Program Interface)가 호출된다.
다음에, HDD(58)에 적용되는 FAT(File Allocation Table)형 파일시스템(데이터 포맷)에 대하여, 도 8 내지 도 20을 참조하여 설명한다. 도 8에 나타내는 바와 같이, HDD(58)에는, 부호화 데이터(콘텐츠 데이터)를 파일로서 기록하기 위한 파일기록영역(121)과, 파일기록영역(121)에 기록된 콘텐츠 데이터가 기록된 위치를 특정하기 위한 정보를 포함하는 오브젝트가 기록되는 오브젝트 기록영역(122)이 설치된다.
파일관리부(123)는, 파일의 작성, 신규에 작성하는 파일에 대한 ID의 발행, 파일기록영역(121)에 대한 기록, 판독, 삭제 등의 파일에 관한 일체의 처리를 실행한다. 파일관리부(123)는, 하부 미들웨어층(74)에 포함되는 HD FS(92)에 해당한다.
오브젝트 관리부(124)는, 오브젝트 기록영역(122)에서의 오브젝트의 물리위치를 인식하고, 오브젝트의 기록, 판독, 삭제 등을 실행한다. 오브젝트 관리부(124)는, 하부 미들웨어층(74)에 포함되는 HD DB(91)에 해당한다. 이때, 오브젝트의 데이터 베이스에 의한 관리에 대해서는, 도 21 내지 도 37을 참조하여 후술한다.
도 9는, 파일기록영역(121)의 논리구조를 나타내고 있다. 파일기록영역(121)은, 파일기록영역(121)에서의 기록, 판독의 최소 단위인 소정의 용량의 섹터로 구획되어 있다. 모든 섹터에는, 직렬인 섹터번호가 부여되어 있다. 파일기록영역(121)은, 소정의 수의 섹터에 의해 구성되는 FAT영역, 시스템영역, 복수의 클러스터에 의해 구성된다. 각 클러스터에는, 고정길이의 클러스터 번호가 부여되어 있다. 파일기록영역(121)에 기록되는 파일은, 복수의 클러스터가 결합되어 구성된다.
복수의 클러스터의 결합상태는, FAT(141)(도 10)라 칭하게 되는 테이블에 기록되어 있다. FAT(141)는, 파일기록영역(121)의 FAT영역에 기록되어 있지만, 파일관리부(123)가 동작할 때는 SDRAM(53)에도 전송된다.
도 10은, FAT(141)의 구조를 나타내고 있다. FAT(141)는, FAT 헤더(142)와, 각 클러스터에 각각 대응하는 복수의 FAT 엔트리(144)로 구성된다. 헤더(142)에는, 공백 클러스터 리스트 개시번호 기록영역(143)이 포함되어 있다. 공백 클러스터 리스트 개시번호 기록영역(143)에는, 데이터가 기록되어 있지 않은 일련의 공백 클러스터의 선두의 클러스터 번호가 기록된다. 공백 클러스터가 존재하지 않은 경우, 공백 클러스터 리스트 개시번호 기록영역(143)에는, -1= 0xFFFFFFFF가 기록된다.
FAT 엔트리(144)에는, 대응하는 클러스터에 부여되어 있는 클러스터 번호와 동일한 엔트리 번호가 부여되어 있다. 예를 들면, 클러스터 번호 1에 대응하는 FAT 엔트리에는, 엔트리 번호 1이 부여되어 있다. 이하, 엔트리 번호 1의 FAT 엔트리를, FAT 엔트리 E(1)라고도 기술한다. FAT 엔트리(144)는, P란(145)과 N란(146)으로 구분되어 있다.
FAT 엔트리(144)의 P란(145)에는, 대응하는 클러스터의 전방에 연결되는 클러스터에 부여되어 있는 클러스터 번호가 기록된다. 전방에 연결되는 클러스터가 존재하지 않은 경우, 즉, 대응하는 클러스터가 파일의 선두인 경우, P란(146)에는, 0xFFFFFFFF가 기록된다.
FAT 엔트리(144)의 N란(146)에는, 대응하는 클러스터의 후방에 연결되는 클러스터에 부여되어 있는 클러스터 번호가 기록된다. 후방에 연결되는 클러스터가 존재하지 않은 경우, 즉, 대응하는 클러스터가 파일의 말미인 경우, N란(146)에는, 0xFFFFFFFF가 기록된다.
예를 들면, 파일기록영역(121)에 하나의 파일만이, 클러스터 번호 1, 5, 6, 8, 12가 부여되어 있는 5개의 클러스터에 기록되어 있는 경우, 도 11에 나타내는 바와 같이, 엔트리 번호 1(0x00000001)의 FAT 엔트리 E(1)의 P란에는, 전방에 연결되는 클러스터가 존재하지 않는 것을 나타내는 0xFFFFFFFF가 기록되고, N란에는, 후방에 연결되는 클러스터에 부여되어 있는 클러스터 번호 5(0xFFFFFFFF)가 기록된다.
엔트리 번호 5(0x00000005)의 FAT 엔트리 E(5)의 P란에는, 전방에 연결되는 클러스터에 부여되어 있는 클러스터 번호 1(0x00000001)이 기록되고, N란에는, 후방에 연결되는 클러스터에 부여되어 있는 클러스터 번호 6(0x00000006)이 기록된다.
엔트리 번호 6, 8의 FAT 엔트리 E(6), E(8)에도, 마찬가지로 기록이 이루어진다.
엔트리 번호 12(0x0000000C)의 FAT 엔트리 E(12)의 P란에는, 전방에 연결되는 클러스터에 부여되어 있는 클러스터 번호 8(0x00000008)이 기록되고, N란에는, 후방에 연결되는 클러스터가 존재하지 않는 것을 나타내는 0xFFFFFFFF가 기록된다.
공백 클러스터 리스트 개시번호 기록영역(143)에는, 지금의 경우, 클러스터 번호(0x00000002)의 클러스터로부터, 클러스터 번호(0x00000014)까지의 일련의 클러스터가 공백 클러스터이므로, 그 선두를 나타내는 클러스터 번호(0x00000002)가 기록된다.
도 12는, 클러스터 번호 1, 5, 6, 8, 12가 부여되어 있는 5개의 클러스터에 하나의 파일이 기록되는 모양을 나타내고 있다. 파일의 선두의 클러스터(지금의 경우, 클러스터 1)에는, 파일의 사이즈의 관한 정보를 기록하는 사이즈 기록영역(151)이 설정된다. 파일의 데이터는, 2번째의 클러스터(지금의 경우, 클러스터 5) 이후에 기록된다. 이때, 사이즈 기록영역(151)을 파일의 최후미의 클러스터(지금의 경우, 클러스터 12)에 설정하도록 해도 된다.
도 13은, 사이즈 기록영역의 구성예를 나타내고 있다. 사이즈 기록영역(151)에는, 유효사이즈 기록영역(152), 최종 클러스터 번호 기록영역(153), 및 점유 클러스터수 기록영역(154)이 설정된다. 유효사이즈 기록영역(152)에는, 최후미의 클러스터(지금의 경우, 클러스터 12)의 유효바이트수가 기록된다. 통상, 그 값은, 1이상으로, 클러스터 사이즈 이하의 값이 기록된다. 최종 클러스터 번호 기록영역(153)에는, 최후미의 클러스터(지금의 경우, 클러스터 12)의 클러스터 번호(지금의 경우, 0x0000000C)가 기록된다. 점유 클러스터수 기록영역(154)에는, 파일의 데이터 기록부분을 구성하는 클러스터의 수(지금의 경우, 4)가 기록된다.
다음에, FAT를 이용하는 파일의 작성처리(즉, 콘텐츠 데이터의 기록처리), 파일의 판독처리, 및 파일의 역판독(즉, 콘텐츠 데이터의 역방향으로부터의 판독처리)에 대하여, 도 14 내지 도 20의 흐름도를 참조하여 설명한다. 이때, 이들 처리는, 파일관리부(123), 즉, 펌웨어의 하부 미들웨어층(74)에 속하는 HD FS(92)에 의해 제어된다.
처음에, 파일의 작성처리에 대하여, 도 14의 흐름도를 참조하여 설명한다. 스텝 S1에서, HD FS(92)는, HDD(58)에 기록하는 콘텐츠 데이터를, 클러스터 사이즈마다 CM-R0M 드라이브(57) 등으로부터 버퍼(56)에 전송시킨다(전송된 데이터량을 S 바이트로 함). 스텝 S2에서, HD FS(92)는, 파일기록영역(121)의 공백 클러스터를 검색하여 취득(확보)한다.
이 공백 클러스터 취득처리에 대하여, 도 15의 흐름도를 참조하여 설명한다. 스텝 S21에서, HD FS(92)는, FAT 헤더(141)에 기록되어 있는 공백 클러스터 개시번호 기록영역(143)에 기록되어 있는 값 Q를 판독한다. 스텝 S22에서, HD FS(92)는, 값 Q가 -1인지, 즉, 공백 클러스터가 존재하지 않는지 아닌지를 판정한다. 값 Q가 -1이 아닌, 즉, 공백 클러스터가 존재한다고 판정된 경우, 처리는 스텝 S23으로 진행한다. 스텝 S23에서, HD FS(92)는, 값 Q(공백 클러스터의 클러스터 번호)에 대응하는 FAT 엔트리 E(Q)를 판독한다.
FAT 엔트리 E(Q)를 판독하는 처리에 관련하여, 임의의 클러스터 번호 X에 대응하는 FAT 엔트리 E(X)를 판독하는 처리에 대하여, 도 16의 흐름도를, 참조하여 설명한다. 스텝 S41에서, HD FS(92)는, 기지의 FAT 엔트리 개시 어드레스에 기지의 FAT 헤더사이즈를 가산하고, 그 합에, 값 X로부터 1을 감산한 값(X-1)에, 기지의 엔트리 사이즈를 승산한 곱을 가산하여, 어드레스 A를 산출한다. 스텝 S42에서, HD FS(92)는, 어드레스 A를 선두로서, 1엔트리 사이즈만큼만 데이터를 판독한다. 이상, 임의의 클러스터 번호 X에 대응하는 FAT 엔트리 E(X)를 판독하는 처리의 설명을 종료한다.
도 15로 되돌아가, 스텝 S24에서, HD FS(92)는, FAT 엔트리 E(Q)의 N란의 값이 -1(0xFFFFFFFF)인지 아닌지를 판정한다. FAT 엔트리 E(Q)의 N란의 값이 -1이 아니라 판정된 경우, 처리는 스텝 S25로 진행한다.
스텝 S25에서, HD FS(92)는, 변수 M에 FAT 엔트리 E(Q)의 N란의 값을 대입한다. 스텝 S26에서, HD FS(92)는, 클러스터 번호 M에 대응하는 FAT 엔트리 E(M)를 판독한다. 스텝 S27에서, HD FS(92)는, FAT 엔트리 E(M)의 P란에 -1(0xFFFFFFFF)을 기록한다.
스텝 S28에서, HD FS(92)는, FAT 엔트리 E(Q)의 N란에 -1(0xFFFFFFFF)을 기록하고, FAT 엔트리 E(Q)의 P란에 -1(0xFFFFFFFF)을 기록한다. 스텝 S29에서, HD FS(92)는, 클러스터 번호 Q의 공백 클러스터가 존재한다고 하여, 도 14로 리턴한다. 이상, 공백 클러스터 취득처리의 설명을 종료한다.
이때, 스텝 S24에서, FAT 엔트리 E(Q)의 N란의 값이 -1이라 판정된 경우, 스텝 S25 내지 스텝 S27의 처리는 스킵된다.
이때, 스텝 S22에서, 공백 클러스터 리스트 개시번호 기록영역(143)에 기록되어 있는 값 Q가 -1이라고 판정된 경우, 처리는 스텝 S30으로 진행한다. 스텝 S30에서, HD FS(92)는, 공백 클러스터가 존재하지 않는다고 하여 도 14에 리턴한다. 단, 공백 클러스터가 존재하지 않은 경우, HDD(58)가 가득차 있다고 하여, 도 14의 파일작성처리는 종료된다.
이하, 취득한 클러스터 번호 Q의 공백 클러스터를, 클러스터 번호 V의 공백 클러스터로 다시 읽어 설명을 계속한다. 스텝 S3에서, HD FS(92)는, 변수 X와 변수 A에 공백 클러스터의 클러스터 번호 V를 대입한다. 스텝 S4에서, HD FS(92)는, 점유 클러스터수 T에 0을 대입한다. 스텝 S5에서, HD FS(92)는, 전술한 스텝 S2의 처리와 마찬가지로, 새롭게 공백 클러스터를 취득한다. 취득한 공백 클러스터의 클러스터 번호를 V로 한다. 여기서, 새롭게 공백 클러스터가 취득할 수 없는 경우, 이 파일작성처리는 종료된다.
스텝 S6에서, HD FS(92)는, 변수 B에 값 V를 대입한다. 스텝 S7에서, HD FS(92)는, 점유 클러스터수 T를 1만큼 인크리먼트한다. 스텝 S8에서, HD FS(92)는, 클러스터 번호 B를 섹터번호로 변환한다(예를 들면, 도 9에 나타내는 바와 같이 섹터와 클러스터가 대응하여 설치되어 있는 경우, 클러스터 번호 2는 섹터번호 28 내지 35로 변환됨). 클러스터 번호 B에 대응하는 섹터번호 5를 판별함). 스텝 S9에서, HD FS(92)는, 스텝 S1에서 버퍼링한 콘텐츠 데이터를, 파일기록영역(121)의 변환한 섹터번호로 기록시킨다.
버퍼링한 콘텐츠 데이터의 기록이 종료한 후, 스텝 S10에서, HD FS(92)는,클러스터 번호 A의 클러스터(이 시점에서는 공백 클러스터임)에, 클러스터 번호 B의 클러스터를 연결한다. 이 연결처리에 대하여, 도 17의 흐름도를 참조하여 설명한다.
도 16을 참조하여 전술한 처리와 같이 HD FS(92)는, 스텝 S51에서, 클러스터 번호 A에 대응하는 FAT 엔트리 E(A)를 판독하고, 스텝 S52에서, 클러스터 번호 B에 대응하는 FAT 엔트리 E(B)를 읽어낸다. 스텝 S53에서, HD FS(92)는, FAT 엔트리 E(A)의 N란에 클러스터 번호 B를 기록하고, FAT 엔트리 E(B)의 P란에 클러스터 번호 A를 기록한다. 이때, 스텝 S53의 처리는, SDRAM(53)에 전개하고 있는 FAT(141)에 대하여 실행한다. 이상, 클러스터 번호 A의 클러스터와, 클러스터 번호 B의 클러스터의 연결처리의 설명을 종료한다.
도 14로 되돌아가, 스텝 S11에서, HD FS(92)는, 스텝 S9에서 기록한 콘텐츠의 데이터량 S가 클러스터 사이즈와 같은지 아닌지를 판정한다. 스텝 S9에서 기록한 콘텐츠의 데이터량 S가 클러스터 사이즈와 같다고 판정된 경우, 기록해야 할 콘텐츠 데이터의 기록이 완료되어 있지 않으므로, 처리는 스텝 S12로 진행한다.
스텝 S12에서, 아까 기록한 콘텐츠 데이터의 계속을, 클러스터 사이즈만큼만, 버퍼(56)에 전송시킨다. 스텝 S13에서 변수 A에 클러스터 번호 B를 대입한다. 스텝 S14에서, HD FS(92)는, 전술한 스텝 S2의 처리와 마찬가지로, 새롭게 공백 클러스터를 취득한다. 취득한 공백 클러스터의 클러스터 번호를 V로 한다. 이때, 스텝 S14에서, 새롭게 공백 클러스터를 취득할 수 없었던 경우에는, 처리는 스텝 S17로 진행한다. 스텝 S15에서, HD FS(92)는, 변수 B에 값 V를 대입한다. 스텝 S16에서, HD FS(92)는, 점유 클러스터수 T를 1만큼 인크리먼트한다.
이후, 처리는 스텝 S8로 되돌아가, 이후의 처리가 반복된다. 그리고, 스텝 S11에서, 스텝 S9에서 기록한 콘텐츠의 데이터량 S가 클러스터 사이즈와 같지 않다고 판정된 경우, 기록해야 할 콘텐츠 데이터의 기록이 완료했으므로, 처리는 스텝 S17로 진행한다.
스텝 S17에서, HD FS(92)는, 스텝 S2에서 취득한 클러스터 번호 X의 공백 클러스터에 사이즈 기록영역(151)을 설정하고, 그 유효사이즈 기록영역(152)에 최후미의 클러스터에 기록한 데이터량 S를 기록하며, 최종 클러스터 번호 기록영역(153)에 변수 B의 값을 기록하고, 점유 클러스터수 기록영역(154)에 변수 T의 값을 기록한다.
스텝 S18에서, 스텝 S10의 처리로 재기록한 FAT(141)에서, 파일기록영역(121)의 FAT영역에 기록되어 있는 FAT(141)를 갱신한다. 이상 설명한 바와 같이 하여, 새롭게 파일이 작성된다. 이때, 작성된 파일에는, 콘텐츠 데이터가 기록된 일련의 클러스터의 선두의 클러스터 번호와 동일한 값의 파일식별자가 발행된다.
다음에, 파일식별자가 X인 파일(이하, 파일 X라 기술함)의 판독처리에 대하여, 도 18의 흐름도를 참조하여 설명한다. 스텝 S61에서, HD FS(92)는, 파일 X가 존재하는지 아닌지를 판별하기 위한 검색처리를 실행한다.
파일 X의 검색처리에 대하여, 도 19의 흐름도를 참조하여 설명한다. 스텝 S81에서, HD FS(92)는, 엔트리 번호 X에 대응하는 FAT 엔트리 E(X)를 취득한다. 스텝 S82에서, HD FS(92)는, FAT 엔트리 E(X)의 P란의 값이 -1(0xFFFFFFFF)인지 아닌지를 판정한다. FAT 엔트리 E(X)의 P란의 값이 -1이라고 판정된 경우, 처리는 스텝 S83으로 진행한다. 스텝 S83에서, HD FS(92)는, 엔트리 번호 X(=클러스터 번호 X)의 클러스터는, 파일이 기록되어 있는 일련의 클러스터 중의 선두의 클러스터이므로, 파일 X는 존재한다고 판단하고, 도 18의 파일판독처리로 되돌아간다.
반대로, 스텝 S82에서, FAT 엔트리 E(X)의 P란의 값이 -1이 아니라고 판정된 경우, 처리는 스텝 S84로 진행한다. 스텝 S84에서, HD FS(92)는, 엔트리 번 X(=클러스터 번호 X)의 클러스터는, 파일이 기록되어 있는 일련의 클러스터 중의 선두의 클러스터 T가 아니므로, 파일 X는 존재하지 않는다고 판단하여, 도 18의 파일판독처리로 되돌아간다. 이상, 파일 X의 검색처리의 설명을 종료한다.
이하, 파일검색처리에서, 파일 X가 존재한다고 판단되었다고 하여, 설명을 계속한다. 스텝 S62에서, HD FS(92)는, FAT 엔트리 E(X)의 N란의 값이 -1(0xFFFFFFFF)인지, 아닌지를 판정한다. FAT 엔트리 E(X)의 N란의 값이 -1이라고 판정된 경우, 파일 X에는 데이터가 존재하지 않으므로, 판독처리를 종료한다.
스텝 S62에서, FAT 엔트리 E(X)의 N란의 값이 -1이 아닌 처리는 스텝 S63으로 진행한다. 스텝 S63에서, HD FS(92)는, 클러스터 번호 X(선두의 클러스터)를 섹터번호로 변환한다. 스텝 S64에서, HD FS(92)는, DMA 컨트롤러(55)를 제어하여, 변환한 섹터번호에 기록되어 있는 사이즈 기록영역(151)을 판독하여 버퍼(56)에 버퍼링시킨다. 스텝 S64에서, HD FS(92)는, 스텝 S63에서 버퍼링한 사이즈 기록영역(151)의 유효사이즈 기록영역(152)에 기록되어 있는 유효사이즈 S(파일 X가 기록되어 있는 일련의 클러스터 중의 최후미의 클러스터에 기록되어 있는 데이터량)를 판독한다.
스텝 S66에서, HD FS(92)는, 변수 C에 FAT 엔트리 E(X)의 N란의 값을 대입한다. 스텝 S67에서, HD FS(92)는, 도 16을 참조하여 전술한 처리와 마찬가지로, 클러스터 번호 C에 대응하는, 즉, 2번째의 클러스터에 대응하는 FAT 엔트리 E(C)를 판독한다. 스텝 S68에서, HD FS(92)는, 클러스터 번호 C를 섹터번호로 변환한다. 스텝 S69에서, HD FS(92)는, DMA 컨트롤러(55)를 제어하여, 변환한 섹터번호의 섹터에 기록되어 있는 1클러스터만큼의 콘텐츠 데이터를 판독하여, 버퍼(56)에 버퍼링시킨다.
스텝 S70에서, HD FS(92)는, FAT 엔트리 E(C)의 N란의 값이 -1(0xFFFFFFFF)인지 아닌지를 판정한다. FAT 엔트리 E(C)의 N란의 값이 -1이 아니라고 판정된 경우 처리는 스텝 S71로 진행한다. 스텝 S71에서, HD FS(92)는, DMA 컨트롤러(55)를 제어하여, 버퍼(56)가 버퍼링하고 있는 데이터의 모두를, 인코더/디코더(59) 등에 출력시킨다. 파일 X의 콘텐츠 데이터의 전체는 아직 판독되고 있지 않으므로, 처리는 스텝 S72로 진행한다. 스텝 S72에서, HD FS(92)는, 변수 C에 FAT 엔트리 E(C)의 N란의 값을 대입한다. 처리는 스텝 S67로 되돌아가, 이후의 처리가 반복된다.
그 후, 스텝 S70에서, FAT 엔트리 E(C)의 N란의 값이 -1이라고 판정된 경우, 파일 X의 콘텐츠 데이터가 기록되어 있는 최후미의 클러스터로부터의 판독이 완료되었으므로, 처리는 스텝 S73으로 진행한다. 스텝 S73에서, HD FS(92)는, DMA 컨트롤러(55)를 제어하여, 버퍼(56)가 버퍼링하고 있다, 콘텐츠 데이터의 최후미인 유효데이터 사이즈 S만큼의 데이터를, 인코더/디코더(59) 등에 출력시킨다.
이때, 스텝 S61의 파일검색처리에서, 파일 X가 존재하지 않는다고 판단된 경우 처리는 스텝 S74로 진행하고, 에러판정이 이루어져, 파일 X의 파일판독처리는 종료가 된다. 이상, 파일 X의 판독처리의 설명을 종료한다.
다음에, 파일 X의 역판독처리에 대하여, 도 20의 흐름도를 참조하여 설명한다. 여기서, 역판독처리란, 예를 들면, 재생시간이 100초 동안인 콘텐츠 데이터를, 90초로부터 100밀리초만 재생한 후, 80초로부터 100밀리초만 재생하고, 다음에, 70초로부터 100밀리초만 재생하도록, 수초 사이마다 소급하여 재생시키는 경우에 사용할 수 있는 처리이다.
스텝 S91에서, HD FS(92)는, 파일 X의 파일식별자(=X, 이하, ID(X)라 기술함)를, 섹터번호로 변환한다. 단, ID(X)는, 파일 X가 기록되어 있는 일련의 클러스터 중, 선두의 클러스터의 클러스터 번호와 동일하다.
스텝 S92에서, 클러스터 X에 대응하는 FAT 엔트리 E(X)를 판독한다. 스텝 S93에서, HD FS(92)는, DMA 컨트롤러(55)를 제어하여, 스텝 S91에서 변환한 섹터번호의 섹터로 기록되어 있는 사이즈 기록영역(151)을 판독하여 버퍼(56)에 버퍼링시킨다. 스텝 S94에서, HD FS(92)는, 스텝 S93에서 버퍼링한 사이즈 기록영역(151)의 유효사이즈 기록영역(152)으로부터 유효사이즈 S를, 최종 클러스터 번호 기록영역 153으로부터 최종 클러스터 번호 Z를 판독한다.
스텝 S95에서, HD FS(92)는, 최종 클러스터 번호 Z와 ID(X)가 동일한지 아닌지를 판정한다. 최종 클러스터 번호 Z와 ID(X)가 동일하다고 판정된 경우, 파일 X에 콘텐츠 데이터는 존재하지 않으므로, 역판독처리를 종료한다.
최종 클러스터 번호 Z와 ID(X)가 동일하지 않다고 판정된 경우, 처리는 스텝 S96으로 진행한다. 스텝 S96에서, HD FS(92)는, 최종 클러스터 번호 Z를 섹터번호로 변환한다. 스텝 S97에서, HD FS(92)는, DMA 컨트롤러(55)를 제어하여, 스텝 S96으로 변환한 섹터번호에 기록되어 있는 콘텐츠 데이터의 최후미의 부분을 포함하는 데이터를 판독하고, 버퍼(56)에 버퍼링시킨다. 스텝 S98에서, HD FS(92)는, DMA 컨트롤러(55)를 제어하여, 버퍼(56)에서 버퍼링되어 있는 데이터 중의 S 바이트만큼, 즉, 콘텐츠 데이터의 최후미의 부분만큼을, 인코더/디코더(59) 등에 출력시킨다.
스텝 S99에서, HD FS(92)는, 최종 클러스터 번호 Z에 대응하는 FAT 엔트리 E(Z)를 판독한다. 스텝 S100에서, HD FS(92)는, FAT 엔트리 E(Z)의 P란의 값이 ID(X)와 동일한지 아닌지를 판정한다. FAT 엔트리 E(Z)의 P란의 값이 ID(X)와 동일하다고 판정된 경우, 파일 X의 콘텐츠 데이터는 최후미의 1클러스터만 기록되어 있었던 것으로 되므로, 역판독처리를 종료한다.
FAT 엔트리 E(Z)의 P란의 값이 ID(X)와 동일하지 않다고 판정된 경우, 최후미측으로부터 1클러스터만큼만 소급하여 판독하기 위해, 처리는 스텝 S101로 진행한다. 스텝 S101에서, HD FS(92)는, 변수 C에 FAT 엔트리 E(Z)의 P란의 값을 대입한다.
스텝 S102에서, HD FS(92)는, 클러스터 번호 C에 대응하는 FAT 엔트리 E(C)를 판독한다. 스텝 S103에서, HD FS(92)는, 클러스터 번호 C를 섹터번호로 변환한다. 스텝 S104에서, HD FS(92)는, DMA 컨트롤러(55)를 제어하여, 스텝 S103에서 변환한 섹터번호로 기록되어 있는 콘텐츠 데이터를 판독하고, 버퍼(56)에 버퍼링시킨다. 스텝 S105에서, HD FS(92)는, DMA 컨트롤러(55)를 제어하여, 버퍼(56)에서 버퍼링되어 있는 1클러스터만큼의 콘텐츠 데이터를, 인코더/디코더(59) 등에 출력시킨다.
스텝 S106에서, HD FS(92)는, 클러스터 번호 C에 대응하는 FAT 엔트리 E(C)의 P란의 값이 ID(X)와 동일한지 아닌지를 판정한다. FAT 엔트리 E(C)의 P란의 값이 ID(X)와 동일하지 않다고 판정된 경우, 파일 X의 모두를 판독하고 있지 않은 것으로 되므로, 1클러스터만큼만 소급하여 판독하기 위해, 처리는 스텝 S107로 진행한다. 스텝 S107에서, HD FS(92)는, 변수 C에 FAT 엔트리 E(C)의 P란의 값을 대입한다. 처리는 스텝 S102로 되돌아가, 그 이후의 처리가 반복된다.
그 후, 스텝 S106에서, FAT 엔트리 E(C)의 P란의 값이 ID(X)와 동일하다고 판정된 경우, 파일 X를 선두까지 모두 판독한 것으로 되므로, 역판독처리를 종료한다. 이상, 파일 X의 역판독처리의 설명을 종료한다.
이상 설명한 바와 같이, 오디오서버(1)의 HD FS(92)에 의하면, 파일을 특정하기 위한 파일식별자로서, 고정길이의 값이다, 그 파일이 기록되는 영역의 선두클러스터의 클러스터 번호를 부여하도록 했으므로, 파일의 기록위치를 간단히 특정할 수 있다. 따라서, 파일명이 고정길이가 아닌 경우에 비해, 파일의 검색시간을 대폭 감할 수 있다.
또한, 파일식별자가 고정길이인 것에 의해, 파일의 검색에 요하는 시간을 균일화할 수 있다.
또한, 오디오서버(1)의 HD FS(92)에 의하면, 기록하는 파일의 사이즈에 제한이 없으므로, 오디오 데이터뿐만 아니라, 비디오 데이터보다 큰 사이즈의 데이터를 파일로서 기록할 수 있다.
또한, 오디오서버(1)의 HD FS(92)에 의하면, 하나의 파일을 구부(區負)수의 클러스터에 걸쳐 기록하는 경우, 순방향으로 클러스터를 이용하므로, 기록시나 재생시에는, 싱크(sink)가 일정방향이 된다. 따라서, 기록시의 기록누설이나 재생시의 소리누설의 발생이 억지된다.
다음에, 폴더, 앨범, 또는 트랙에 대응하는 오브젝트에 대하여, 도 21 내지 도 27을 참조하여 설명한다. 도 21은, 오브젝트가 기록되는 오브젝트 기록영역(122)의 논리구조를 나타내고 있다. 오브젝트 기록영역(122)은, 시스템영역(161)과, 소정의 용량으로 구획된 복수의 청크(chunk)로 구성된다. 오브젝트는, 청크에 기록된다.
시스템영역(161)에는, 헤더(162), 오브젝트형 기록영역(163), 및 영역정보 기록영역(164)이 설정된다. 복수의 청크에는, 그 선두로부터 순번대로 1 이후의 직렬 번호가 부여되어 있다, 이하, 예를 들면, 번호 1이 부여되어 있는 청크를 청크 1, 번호 2가 부여되어 있는 청크를 청크 2 등으로 기술한다.
청크는, 더욱이 소정의 용량의 페이지에 구획되어 있다. 청크를 구성하는 페이지에는, 그 선두로부터 순번대로 0 이후의 직렬인 번호가 부여되어 있다, 이하, 예를 들면, 번호 0이 부여되어 있는 페이지를 페이지 0, 번호 1이 부여되어 있는 페이지를 페이지 0 등으로 기술한다.
도 22는, 시스템영역(161)의 오브젝트형 기록영역(163)의 구조를 나타내고 있다. 헤더(165)와 T개의 엔트리로 구성된다. T는 미리 설정되어 있는 정수이다. 헤더(165)에는, 엔트리수 기록영역(166)이 설정된다. 엔트리수 기록영역(166)에는, 현재 등록되어 있는 엔트리의 수(최대값은 T 이다)가 기록된다.
오브젝트형 기록영역(163)의 각 엔트리에는, 사이즈 기록영역(167), 기본 오브젝트형 번호기록영역(168), 및 파라미터 기록영역(169)이 설정된다. 예를 들면, 엔트리 t에는, 오브젝트형 번호 t에 관한 정보가 기록된다. 즉, 엔트리 t의 사이즈 기록영역(167)에는, 오브젝트형 번호 t의 오브젝트의 사이즈가 기록된다. 엔트리 t의 기본 오브젝트형 번호 기록영역(168)에는, 오브젝트형 번호 t의 오브젝트가 속하는 기본 오브젝트형을 나타내는 기본 오브젝트형 번호가 기록된다. 엔트리 t의 파라미터 기록영역(169)에는, 오브젝트형 번호 t의 오브젝트의 사이즈가 가변길이인 경우의 사이즈에 관한 정보가 기록된다.
도 23은, 시스템영역(161)의 영역정보 기록영역(164)을 나타내고 있다. 영역정보 기록영역(164)은, 오브젝트 기록영역(122)의 페이지 총수(청크의 총수에 1청크를 구성하는 페이지수를 승산한 값)의 비트열로 구성된다. 단, 도 23은, 설명의 편의상, 영역정보 기록영역(164)을, (청크의 총수) 열×(1 청크를 구성하는 페이지수)행의 매트릭스를 사용하여 나타내고 있다. 예를 들면, 도 23에서, q열 p행의 "○"로 나타내는 비트는, 청크 q의 페이지 p에 대응하고 있고, 청크 q의 페이지 p가 사용 중인 경우, "○"로 나타내는 비트에는 1이 기록된다. 반대로, 청크 q의 페이지 p가 사용 중이 아닌 경우, "○"로 나타내는 비트에는 0이 기록된다.
도 24는, 하부 미들웨어층(74)에 포함되는 HD DB(91)에 해당하는 오브젝트 관리부(124)의 구성예를 나타내고 있다. 오브젝트 관리부(124)는, 오브젝트형 등록부(171), 기억영역 관리부(172), 세션관리부(173), 및 캐시관리부(174)로 구성된다.
오브젝트형 등록부(171)는, 오브젝트형의 등록(오브젝트형 기록영역(163)에의 기록)을 행한다. 또한, 오브젝트형 등록부(171)는, 오브젝트형의 문의에 대한 응답(오브젝트형 기록영역(163)으로부터의 판독)을 행한다.
기억영역 관리부(172)는, 영역정보 기록영역(164)의 소정의 비트를 반전시킨다. 또한, 기억영역 관리부(172)는, 영역정보 기록영역(164)의 비트를 판독함으로써, 소정의 페이지수의 연속미사용영역을 검색한다. 더욱이, 기억영역 관리부(172)는, 각 오브젝트에 대하여 식별자를 발행한다.
세션관리부(173)는, 현재 실행 중의 세션에 대하여 세션번호를 발행함과 동시에, 세션관리정보(181)(도 25)를 관리한다. 여기서, 세션이란, 데이터의 기록, 판독 등을 제어하는 처리를 나타내는 용어이다.
도 25는, 세션관리정보(181)의 구성예를 나타내고 있다. 세션관리정보(181)는, 현재 열려져 있는 세션의 수(이하, 커렌트 세션수라 기술함)가 저장되는 커렌트 세션수 저장영역(182)과, 각 오브젝트에 대응하고, 그 액세스권을 보유하고 있는 세션의 정보가 기록되어 있는 S개의 엔트리로 구성된다. 커렌트 세션수의 최대값과 값 S는, 미리 설정되어 있다.
세션관리정보(181)의 엔트리에는, 오브젝트 식별자 저장영역(183), 리드 라이트 세션번호 저장영역(184), 리드온리 세션번호 저장영역 185 내지 188, 오브젝트상태 저장영역(189), 리드캐시 어드레스 저장영역(190), 라이트캐시 어드레스 저장영역(191), 및 액세스시간 저장영역(192)이 설정된다.
오브젝트 식별자 저장영역(183)에는, 대응하는 오브젝트의 오브젝트 식별자(도 27)가 저장된다. 리드 라이트 세션번호 저장영역(184)에는, 대응하는 오브젝트에 대하여 기록 권을 갖는 세션의 세션번호가 저장된다. 리드온리 세션번호 저장영역 185 내지 188에는, 대응하는 오브젝트에 대하여 판독권을 갖는 세션의 세션번호가 저장된다. 이때, 오브젝트에 대하여 판독권을 갖는 복수의 세션이 동시에 존재해도 되며, 도 25는, 4개마저 판독권을 가지면, 하나뿐인 기록 및 판독권을 갖는 경우를 나타내고 있다.
오브젝트상태 저장영역(189)에는, 대응하는 오브젝트의 상태를 나타내는 정보(작성을 나타내는 "CREATE", 갱신을 나타내는 "UPDATE", 또는 삭제를 나타내는 "REMOVE")가 저장된다. 리드캐시 어드레스 저장영역(190)에는, 판독하는 오브젝트를 일시적으로 기억시키는 리드캐시의 어드레스가 저장된다. 라이트캐시 어드레스 저장영역(191)에는, 기록하는 오브젝트를 일시적으로 기억시키는 라이트캐시의 어드레스가 저장된다. 액세스시간 저장영역(192)에는, 대응하는 오브젝트에 대한 최종액세스시간이 저장된다.
이때, 오브젝트 식별자 저장영역(183) 내지 액세스시간 저장영역(192)에 저장해야 할 정보가 존재하지 않는 경우, 0을 저장한다.
도 26a 및 도 26b는, 각각, 청크에 기록되는 오브젝트의 두 가지의 기본 오브젝트형인 기본 오브젝트 제1형과 기본 오브젝트 제2형의 구성예를 나타내고 있다.
기본 오브젝트 제1형은, 도 26a에 나타내는 바와 같이, 자기의 오브젝트 식별자가 기록되는 오브젝트 식별자 기록영역(201), 및 임의의 데이터(예를 들면, 사용자가 설정하는 오브젝트의 이름 등의 데이터)가 기록되는 임의데이터 기록영역(202)으로 구성된다. 기본 오브젝트 제1형에는, 폴더리스트, 폴더 및 앨범의 오브젝트가 포함된다.
기본 오브젝트 제2형은, 도 26b에 나타내는 바와 같이, 자기의 오브젝트 식별자가 기록되는 오브젝트 식별자 기록영역(201), 임의의 데이터가 기록되는 임의데이터 기록영역(202), 및 자기(오브젝트)에 대응하는 파일의 파일식별자가 기록되는 파일식별자 기록영역(203)으로 구성된다. 기본 오브젝트 제2형에는, 트랙의 오브젝트가 포함된다.
오브젝트 식별자 기록영역(201)에 기록되는 오브젝트 식별자는, 도 27에 나타내는 바와 같이, 대응하는 오브젝트가 저장되어 있는 일련의 페이지의 선두를 나타내는, 청크번호와 그 페이지 번호, 형번호로 구성된다. 형번호는, 대응하는 오브젝트가 속하는 기본 오브젝트형 번호(기본 오브젝트 제1형, 또는 기본 오브젝트 제2형의 한쪽)와, 대응하는 오브젝트의 형이 등록되어 있는 오브젝트형 기록영역(163)의 엔트리 번호로 구성된다.
다음에, 오브젝트의 작성처리, 오브젝트의 검색처리, 오브젝트의 갱신처리, 스트림 오브젝트의 작성처리, 및 스트림 오브젝트의 검색처리에 대하여, 도 28 내지 도 37의 흐름도를 참조하여 설명한다. 여기서, 스트림 오브젝트란, 특히, 파일기록영역(121)에 기록된 콘텐츠 데이터와 1대 1로 대응하는 오브젝트, 즉, 트랙을 지시하는 용어이다. 스트림 오브젝트는, 기본 오브젝트 제2형(도 26b)에 속한다. 따라서, 스트림 오브젝트가 아닌 오브젝트는, 폴더 또는 앨범의 오브젝트로, 기본 오브젝트 제1형에 속한다.
이때, 이들 처리는, 오브젝트 관리부(124), 즉, 펌웨어의 하부 미들웨어층(74)에 속하는 HD DB(91)에 의해 제어된다.
처음에, 스트림 오브젝트가 아닌 오브젝트의 작성처리에 대하여, 오브젝트형 번호 t의 오브젝트를 작성하는 경우를 예로, 도 28의 흐름도를 참조하여 설명한다. 이때, 오브젝트형 번호 t에는, 도 27에 나타낸 바와 같이, 기본형 번호(지금의 경우, 기본 오브젝트 제1형)와 엔트리 번호가 포함되어 있다.
스텝 S121에서, HD DB(91)는, 라이트세션을 개설한다. 라이트세션을 개설하는 처리에 대하여, 도 29의 흐름도를 참조하여 설명한다. 스텝 S141에서, HD DB(91)는, 세션관리정보(181)의 커렌트 세션수 저장영역(182)에 저장되어 있는 커렌트 세션수를 판독하고, 판독한 커렌트 세션수가 미리 설정되어 있는 최대값보다도 작은지 아닌지를 판정한다. 커렌트 세션수가 미리 설정되어 있는 최대값보다도 작다고 판정된 경우, 처리는 스텝 S142로 진행한다.
스텝 S142에서, HD DB(91)는, 세션관리정보(181)의 커렌트 세션수 저장영역(182)에 저장되어 있는 커렌트 세션수를 1만큼 인크리먼트한다. 스텝 S143에서, HD DB(91)는, 라이트세션을 개설하고, 예를 들면, 난수 등에 의해 세션번호Z를 발행한다. 처리는 도 28로 되돌아간다.
이때, 스텝 S141에서, 커렌트 세션수가 미리 설정되어 있는 최대값보다도 작지 않다고 판정된 경우, 더욱이 세션을 개설하는 것이 할 수 없으므로, 처리는 스텝 S144로 진행하고, 스텝 S144에서, HD DB(91)는, 에러라 판단한다. 세션개설처리는 종료되고, 도 28의 오브젝트 작성처리는 중단된다.
도 28의 스텝 S122에서, HD DB(91)는, 오브젝트형 번호 t의 오브젝트를 기록하는 청크의 페이지를 확보하기 위해, 오브젝트형 기록영역(163)의 엔트리 t의 사이즈 기록영역(167)으로부터, 오브젝트형 번호 t의 오브젝트의 사이즈를 판독하고, 그 사이즈에 해당하는 청크의 페이지수를 산출한다. 산출한 페이지수를 g로 한다.
스텝 S123에서, HD DB(91)는, 세션관리정보(181)를 구성하는 복수의 엔트리 중의 공백 엔트리를 확보한다. 공백 엔트리를 확보하는 처리에 대하여, 도 30의 흐름도를 참조하여 설명한다.
스텝 S151에서, HD DB(91)는, 변수 M을 1로 초기화한다. 스텝 S152에서, HD DB(91)는, 변수 M이 세션관리정보(181)를 구성하는 엔트리의 수 S 이하인지 아닌지를 판정한다. 변수 M이 엔트리의 수 S 이하라고 판정된 경우, 처리는 스텝 S153으로 진행한다. 스텝 S153에서, HD DB(91)는, 세션관리정보(181)를 구성하는 엔트리 M의 오브젝트 식별자 저장영역(183)의 값을 판독한다. 스텝 S154에서, HD DB(91)는, 판독한 엔트리 M의 오브젝트 식별자 저장영역(183)의 값이 0인지 아닌지를 판정한다. 엔트리 M의 오브젝트 식별자 저장영역(183)의 값이 0이라고 판정된 경우, 엔트리 M은 공백 엔트리라고 판단할 수 있으므로, 엔트리 M을 확보하여 도 28로 되돌아간다.
스텝 S154에서, 엔트리 M의 오브젝트 식별자 저장영역(183)의 값이 0이 아니라고 판단된 경우, 처리는 스텝 S155로 진행한다. 스텝 S155에서, HD DB(91)는, 변수 M을 1만큼 인크리먼트한다. 처리는 스텝 S152로 되돌아가, 이후의 처리가 반복된다. 그 후, 스텝 S154에서, 엔트리 M의 오브젝트 식별자 저장영역(183)의 값이 0이라고 판정되지 않고, 스텝 S152에서, 변수 M이 엔트리의 수 S 이하가 아니라고 판정된 경우, 현상으로서는 공백 엔트리가 존재하지 않으므로, 공백 엔트리를 만들어 내기 위해, 처리는 스텝 S156으로 진행한다.
스텝 S156에서, HD DB(91)는, 세션관리정보(181)를 구성하는 엔트리 중, 리드 라이트 세션번호 저장부(184) 및 리드온리 세션번호 저장부 185 내지 188의 값의 값이 모두 0인 엔트리가 존재하는지 아닌지를 판정한다. 그와 같은 엔트리가 존재한다고 판정된 경우, 처리는 스텝 S157로 진행한다. 스텝 S157에서, HD DB(91)는, 리드 라이트 세션번호 저장부(184) 및 리드온리 세션번호 저장부 185 내지 188의 값의 값이 모두 0인 엔트리 중, 액세스시간 저장영역(192)의 값이 가장 작은 엔트리(즉, 가장 오래된 액세스시간의 엔트리)를 추출한다.
스텝 S158에서, HD DB(91)는, 추출한 엔트리의 오브젝트 식별자 저장영역(182) 내지 액세스시간 저장영역(192)의 값을 0으로 클리어하고, 그 엔트리를 공백 엔트리 M으로서 확보한다. 처리는 도 28로 되돌아간다.
이때, 스텝 S156에서, 세션관리정보(181)를 구성하는 엔트리 중, 리드 라이트 세션번호 저장부(184) 및 리드온리 세션번호 저장부 185 내지 188의 값의 값이모두 0인 엔트리가 존재하지 않는다고 판정된 경우, 공백 엔트리는 확보할 수 없으므로, 스텝 S159로 진행한다. 스텝 S159에서, HD DB(91)는, 에러라 판단한다. 공백 엔트리 확보처리는 종료되고, 도 28의 오브젝트 작성처리는 중단된다.
도 28로 되돌아가, 스텝 S124에서, HD DB(91)는, 영역정보 기록영역(164)의 비트열 중, g비트 연속하여 0이 기록되어 있는 비트열을 검색한다. 검색한 g비트 연속하여 0이 기록되어 있는 비트열의 선두의 위치를 q열 p행으로 한다. 스텝 S125에서, HD DB(91)는, 확보한 엔트리 M의 오브젝트 식별자 저장영역(183)에, 도 27에 나타낸 바와 같이, 청크번호 q, 페이지 번호 p, 오브젝트형 번호 t로 이루어지는 오브젝트 식별자 OID(q, p, t)를 저장한다. 또한, HD DB(91)는, 세션관리정보(181)의 엔트리 M의 리드 라이트 세션번호 저장영역(184)에 세션번호 Z를 저장하고, 더욱이, 오브젝트상태 저장영역(189)에 작성을 나타내는 "CREATE"를 기록한다.
스텝 S126에서, HD DB(91)는, 오브젝트의 사이즈인 페이지수 g와 같은 라이트 캐시영역 d를 버퍼(56)에 확보한다. 스텝 S127에서, HD DB(91)는, 세션관리정보(181)의 엔트리 M의 라이트캐시 어드레스 저장영역(191)에, 확보한 버퍼(56)에서의 라이트 캐시영역 d의 어드레스를 저장한다.
스텝 S128에서, HD DB(91)는, 버퍼(56)에 확보한 라이트 캐시영역 d에, 도 26a에 나타낸 오브젝트 기본 제1형의 오브젝트 X의 기록을 시작하지만, 그 시초로서, 라이트 캐시영역 d의 오브젝트 식별자 기록영역(201)에, 오브젝트 식별자 OID(q, p, t)를 기록한다. 스텝 S129에서, HD DB(91)는, 작성하는 오브젝트의 임의의 데이터(예를 들면, 작성하는 오브젝트의 명칭 등)를, 라이트 캐시영역 d의 임의데이터 가 기록영역(202)에 기록한다.
스텝 S130에서, HD DB(91)는, 사용자의 조작에 대응하는 신호 I의 입력을 기다린다. 스텝 S131에서, HD DB(91)는, 신호 I가 commit, 즉, 세션작성을 확정한 것인지 아닌지를 판정한다. 신호 I가 commit이라고 판정된 경우, 처리는 스텝 S132로 진행해, 라이트세션 Z가 확정된다. 반대로, 신호 I가 commit가 아니라고 판정된 경우, 처리는 스텝 S133으로 진행하고, 라이트세션 Z가 파기된다.
스텝 S132의 라이트세션을 확정하는 처리에 대하여, 도 31의 흐름도를 참조하여 설명한다. 이때, 세션을 확정한다는 것은, 해당 세션이 개설된 후에 행해진 오브젝트의 작성, 갱신, 이동 등에, 오브젝트 기록영역(122)의 기록을 반영하여, 확정하는 것이다.
스텝 S171에서, HD DB(91)는, 변수 M을 1로 초기화한다. 스텝 S172에서, HD DB(91)는, 변수 M이 세션관리정보(181)를 구성하는 엔트리의 수 S 이하인지 아닌지를 판정한다. 변수 M이 엔트리의 수 S 이하라고 판정된 경우, 처리는 스텝 S173으로 진행한다. 스텝 S173에서, HD DB(91)는, 세션관리정보(181)를 구성하는 엔트리 M의 리드 라이트 세션번호 저장영역(184)의 값을 판독하고, 세션번호 Z와 일치하는지 아닌지를 판정한다. 엔트리 M의 리드 라이트 세션번호 저장영역(184)의 값과 세션번호 Z가 일치하지 않는다고 판정된 경우, 엔트리 M의 리드 라이트 세션번호 저장영역(184)의 값과 세션번호 Z가 일치하는 엔트리를 검색하기 위해, 처리는 스텝 S174로 진행한다.
스텝 S174에서, HD DB(91)는 변수 M을 1만큼 인크리먼트한다. 처리는 스텝S172로 되돌아가, 이후의 처리가 반복된다. 스텝 S173에서, 엔트리 M의 리드 라이트 세션번호 저장영역(184)의 값과 세션번호 Z가 일치한다고 판정된 경우, 처리는 스텝 S175로 진행한다. 즉, 리드 라이트 세션번호 저장영역(184)에 세션번호 Z가 저장되어 있는 엔트리만이 추출되어, 스텝 S175 이후의 처리가 시행된다. 스텝 S175에서, HD DB(91)는, 리드 라이트 세션번호 저장영역(184)에 세션번호 Z가 저장되어 있는 엔트리 M의 오브젝트 식별자 저장영역(183)으로부터 오브젝트 식별자를 판독한다. 스텝 S176에서, HD DB(91)는, 리드 라이트 세션번호 저장영역(184)에 세션번호 Z가 저장되어 있는 엔트리 M의 오브젝트상태 저장영역(189)으로부터 오브젝트상태를 나타내는 정보 J를 판독한다. 스텝 S176에서, HD DB(91)는, 오브젝트상태를 나타내는 정보 J가 "CREATE", "UPTATE, 또는 "REMOVE" 중 어느 하나인지를 판정한다.
스텝 S177에서, 오브젝트상태를 나타내는 정보 J가 "CREATE"이라고 판정된 경우, 처리는 스텝 S178로 진행한다. 스텝 S178서, HD DB(91)는, 버퍼(56)에 확보한 라이트 캐시영역 d에 기록되어 있는 오브젝트를, 오브젝트 기록영역(122)의 청크 p의 페이지 q 이후에 기록한다. 스텝 S179에서, HD DB(91)는, 영역정보 기록영역(164)의 q열 p행 이후의 g비트에 1을 기록한다.
스텝 S180에서, HD DB(91)는, 엔트리 M의 리드 라이트 세션번호 저장영역(191)의 값을, 리드캐시 어드레스 저장영역(190)에 카피한다. 이때, 리드캐시 어드레스 저장영역(190)에 0 이외의 값이 저장되어 있었으면, 그 값이 나타내는 버퍼(56)가 설정되는 리드캐시영역을 해방한다.
스텝 S181에서, HD DB(91)는, 엔트리 M의 리드 라이트 세션번호 저장영역(184), 및 라이트캐시 어드레스 저장영역(191)에 0을 저장한다. 스텝 S182에서, HD DB(91)는, 엔트리 M의 액세스시간 저장영역(192)의 값을 현재의 시간으로 갱신한다.
스텝 S177에서, 오브젝트상태를 나타내는 정보 J가 "UPDATE"이라고 판정된 경우, 처리는 스텝 S183으로 진행한다. 스텝 S183에서, HD DB(91)는, 버퍼(56)에 확보한 라이트 캐시영역 d에 기록되어 있는 오브젝트를, 오브젝트 기록영역(122)의 청크 p의 페이지 q 이후에 기록한다. 처리는 스텝 S180으로 진행한다.
스텝 S177에서, 오브젝트상태를 나타내는 정보 J가, "REMOVE"이라고 판정된 경우, 처리는 스텝 S184로 진행한다. 스텝 S184에서, HD DB(91)는, 영역정보 기록영역(164)의 q열 p행 이후의 g비트에 0을 기록한다. 스텝 S185에서, HD DB(91)는, 엔트리 M이 버퍼(56)에 확보하고 있는 라이트캐시와 리드캐시를 해방한다. 스텝 S186에서, HD DB(91)는, 엔트리 M의 오브젝트 식별자 저장영역(183) 내지 액세스시간 저장영역(192)에 0을 저장한다. 처리는 스텝 S174로 진행한다.
그 후, 스텝 S172에서, 변수 M이 엔트리의 수 S 이하가 아니라고 판정될 때까지, 이후의 처리가 반복된다. 변수 M이 엔트리의 수 S 이하가 아니라고 판정된 경우, 라이트세션을 확정하는 처리가 완료된다.
도 28의 스텝 S133의 처리, 즉, 라이트세션을 파기하는 처리에 대하여, 도 32의 흐름도를 참조하여 설명한다. 스텝 S191에서, HD DB(91)는, 변수 M을 1로 초기화한다. 스텝 S192에서, HD DB(91)는, 변수 M이 세션관리정보(181)를 구성하는엔트리의 수 S 이하인지 아닌지를 판정한다. 변수 M이 엔트리의 수 S 이하라고 판정된 경우, 처리는 스텝 S193으로 진행한다.
스텝 S193에서, HD DB(91)는, 세션관리정보(181)를 구성하는 엔트리 M의 리드 라이트 세션번호 저장영역(184)의 값을 판독, 세션번호 Z와 일치하는지 아닌지를 판정한다. 엔트리 M의 리드 라이트 세션번호 저장영역(184)의 값과 세션번호 Z가 일치하지 않는다고 판정된 경우, 엔트리 M의 리드 라이트 세션번호 저장영역(184)의 값과 세션번호 Z가 일치하는 엔트리를 검색하기 위해, 처리는 스텝 S194로 진행한다. 스텝 S194에서, HD DB(91)는, 변수 M을 1만큼 인크리먼트한다. 처리는 스텝 S192로 되돌아가, 이후의 처리가 반복된다.
스텝 S193에서, 엔트리 M의 리드 라이트 세션번호 저장영역(184)의 값과 세션번호 Z가 일치한다고 판정된 경우, 처리는 스텝 S195로 진행한다. 즉, 리드 라이트 세션번호 저장영역(184)에 세션번호 Z가 저장되어 있는 엔트리만이 추출되어, 스텝 S195이후의 처리가 시행된다.
스텝 S195에서, HD DB(91)는, 엔트리 M이 버퍼(56)에 확보하고 있는 라이트 캐시영역을 해방한다. 스텝 S196에서, HD DB(91)는, 엔트리 M의 오브젝트상태 저장영역(189)에 저장되어 있는 오브젝트상태가 "CREATE"인지 아닌지를 판정하고, 오브젝트상태가 "CREATE"가 아니라고 판정된 경우, 스텝 S197로 진행한다.
스텝 S197에서, HD DB(91)는, 엔트리 M의 리드 라이트 세션번호 저장영역(184), 및 라이트캐시 어드레스 저장영역(191)에 0을 저장한다. 스텝 S198에서, HD DB(91)는, 엔트리 M의 액세스시간 저장영역(192)의 값을 현재의 시간으로갱신한다. 처리는 스텝 S194로 진행한다. 이때, 스텝 S196에서, 엔트리 M의 오브젝트상태 저장영역(189)에 저장되어 있는 오브젝트상태가 "CREATE"이라고 판정된 경우, 처리는 스텝 S199로 진행한다. 스텝 S199에서, HD DB(91)는, 엔트리 M의 리드 라이트 세션번호 저장영역(184), 및 라이트캐시 어드레스 저장영역(191) 이외, 즉, 오브젝트 식별자 저장영역(183), 리드온리 세션번호 저장영역 185 내지 188, 오브젝트상태 저장영역(189), 리드캐시 어드레스 저장영역(190), 및 액세스시간 저장영역(192)에 0을 저장한다. 처리는 스텝 S194로 진행한다.
그 후, 스텝 S192에서, 변수 M이 엔트리의 수 S 이하가 아니라고 판정될 때까지, 이후의 처리가 반복된다. 변수 M이 엔트리의 수 S 이하가 아니라고 판정된 경우, 라이트세션을 파기하는 처리가 완료된다.
다음에, 오브젝트의 검색처리에 대하여, 오브젝트 식별자 OID=X인 오브젝트(이하, 오브젝트 X라 기술함)를 검색하는 경우를 예로서, 도 33의 흐름도를 참조하여 설명한다. 이때, 세션은 이미 개설되어 있는 것으로 한다.
스텝 S201에서, HD DB(91)는, 오브젝트 X에 대응하는 엔트리 M을 취득한다. 오브젝트 X에 대응하는 엔트리를 취득하는 처리에 대하여, 도 34의 흐름도를 참조하여 설명한다.
스텝 S211에서, HD DB(91)는, 변수 M을 1로 초기화한다. 스텝 S212에서, HD DB(91)는, 변수 M이 세션관리정보(181)를 구성하는 엔트리의 수 S 이하인지 아닌지를 판정한다. 변수 M이 엔트리의 수 S 이하라고 판정된 경우, 처리는 스텝 S213으로 진행한다.
스텝 S213에서, HD DB(91)는, 세션관리정보(181)를 구성하는 엔트리 M의 오브젝트 식별자 저장영역(183)의 값을 판독하고, 오브젝트 X의 오브젝트 식별자 OID=X와 일치하는지 아닌지를 판정한다. 엔트리 M의 오브젝트 식별자 저장영역(183)의 값과, 오브젝트 X의 오브젝트 식별자 OID=X가 일치하지 않는다고 판단된 경우, 오브젝트 식별자 저장영역(183)의 값과, 오브젝트 X의 오브젝트 식별자 OID=X가 일치하는 엔트리를 검색하기 위해, 처리는 스텝 S214로 진행한다.
스텝 S214에서, HD DB(91)는, 변수 M을 1만큼 인크리먼트한다. 처리는 스텝 S212로 되돌아가, 이후의 처리가 반복된다. 스텝 S213에서, 엔트리 M의 오브젝트 식별자 저장영역(183)의 값과, 오브젝트 X의 오브젝트 식별자 OID=X가 일치한다고 판정된 경우, 오브젝트 X에 대응하는 엔트리 M을 취득할 수 있었으므로, 이 처리가 종료되고, 처리는 도 33으로 되돌아간다.
이때, 스텝 S213에서, 엔트리 M의 오브젝트 식별자 저장영역(183)의 값과, 오브젝트 X의 오브젝트 식별자 OID=X가 일치하지 않는다고 판단되는 경우가 계속되고, 스텝 S212에서, 변수 M이 엔트리의 수 S 이하가 아니라고 판정된 경우, 처리는 스텝 S215로 진행한다. 스텝 S215에서, HD DB(91)는, 에러인, 즉, 오브젝트 X에 대응하는 엔트리 M을 취득할 수 없었다고 판단하여, 이 처리를 종료한다. 처리는 도 33으로 되돌아간다.
도 33으로 되돌아가, 스텝 S201의 처리에서 오브젝트 X에 대응하는 엔트리 M을 취득할 수 있었던 경우, 처리는 스텝 S202로 진행한다. 스텝 S202에서, HD DB(91)는, 오브젝트 X에 대응하는 엔트리 M을 취득할 수 있었으므로, 오브젝트 X는버퍼(56)에 존재한다고 판단하여, 처리를 종료한다.
반대로, 스텝 S201의 처리에서 오브젝트 X에 대응하는 엔트리 M을 취득할 수 없었던 경우, 처리는 스텝 S203으로 진행한다. 스텝 S203에서, HD DB(91)는, 오브젝트 X의 오브젝트 식별자 OID=X를 분해하여, 오브젝트가 기록되어 있는 오브젝트 기록영역(122)의 청크번호, 페이지 번호, 오브젝트 X의 형번호 t를 취득한다.
스텝 S204에서, HD DB(91)는, 오브젝트형 기록영역(163)으로부터, 형번호 t에 대응하는 엔트리의 사이즈 기록영역(167)의 값을 판독하고, 그 값에 근거하여 오브젝트 X를 기록하기 위해 필요한 페이지수 g를 산출한다.
스텝 S205에서, HD DB(91)는, 영역정보 기억영역(164)을 참조하고, q행 p열 이후의 g비트가 1인지 아닌지를 판정한다. 영역정보 기억영역(164)의 q행 p열 이후의 g비트가 1이라고 판정된 경우, 처리는 스텝 S206으로 진행한다. 스텝 S206에서, HD DB(91)는, 페이지수 g에 해당하는 리드캐시영역 c를 버퍼(56)에 설정한다. 스텝 S207에서, HD DB(91)는, 오브젝트 기록영역(122)의 청크 q의 페이지 p 이후의 페이지수 g에 기록되어 있는 데이터를, 버퍼(56)의 리드캐시영역 c에 카피한다.
스텝 S208에서, HD DB(91)는, 리드캐시영역 c에 카피한 데이터의 오브젝트 식별자 기록영역(201)에 해당하는 부분에 기록되어 있는 오브젝트 식별자와, 오브젝트 식별자 X가 일치하는지 아닌지를 판정한다. 일치한다고 판정된 경우, 리드캐시영역 c에 캐시되어 있는 데이터가 오브젝트 X이므로, 처리는 스텝 S202로 진행한다.
스텝 S208에서, 리드캐시영역 c에 카피한 데이터의 오브젝트 식별자 기록영역(201)에 해당하는 부분에 기록되어 있는 오브젝트 식별자와, 오브젝트 식별자 X가 일치하지 않는다고 판정된 경우, 처리는 스텝 S209로 진행한다. 스텝 S209에서, HD DB(91)는, 오브젝트 기록영역(122)에도 오브젝트 X는 존재하고 있지 않다고 단정하여 처리를 종료한다.
다음에, 오브젝트 X의 갱신처리에 대하여, 도 35의 흐름도를 참조하여 설명한다. 여기서, 오브젝트 X의 갱신처리란, 오브젝트 X의 임의데이터를 재기록하는 처리이다.
스텝 S221에서, HD DB(91)는, 도 29를 참조하여 전술한 스텝 S121의 처리와 마찬가지로, 라이트세션 Z를 개설한다. 스텝 S222에서, HD DB(91)는, 도 34를 참조하여 전술한 스텝 S201의 처리와 마찬가지로, 오브젝트 X에 대한 엔트리 M을 취득한다.
스텝 S222의 처리에서 오브젝트 X에 대응하는 엔트리 M을 취득할 수 있었던 경우, 오브젝트 X는 버퍼(56)에 설정되어 있는 리드캐시영역 c에 캐시되어 있다고 판단하여, 처리는 스텝 S223으로 진행한다. 스텝 S223에서, HD DB(91)는, 엔트리 M의 리드 라이트 세션번호 저장영역(184)의 값이 0인지 아닌지를 판정한다. 엔트리 M의 리드 라이트 세션번호 저장영역(184)의 값이 0이라고 판정된 경우, 처리는 스텝 S224로 진행한다.
스텝 S224에서, HD DB(91)는, 엔트리 M의 리드 라이트 세션번호 저장영역(184)에, 스텝 S221에서 개설한 라이트세션의 세션번호 Z를 저장한다. 스텝 S225에서, HD DB(91)는, 오브젝트 X의 오브젝트 식별자 OID=X를 분해하여, 오브젝트가 기록되어 있는 오브젝트 기록영역(122)의 청크번호, 페이지번호, 오브젝트 X의 형번호 t를 취득한다.
스텝 S226에서, HD DB(91)는, 오브젝트형 기록영역(163)으로부터, 형번호 t에 대응하는 엔트리의 사이즈 기록영역(167)의 값을 판독, 그 값에 따라 오브젝트 X를 기록하기 위해 필요한 페이지수 g를 산출한다. 스텝 S227에서, HD DB(91)는, 페이지수 g에 해당하는 라이트 캐시영역 d를 버퍼(56)에 설정한다. 스텝 S228에서, HD DB(91)는, 엔트리 M의 라이트캐시 어드레스 저장영역(191)에, 라이트 캐시영역 d의 어드레스를 저장한다.
스텝 S229에서, HD DB(91)는, 버퍼(56)의 리드캐시영역 c의 데이터를, 라이트 캐시영역 d에 카피한다. 스텝 S230에서, HD DB(91)는, 오브젝트 X의 갱신하는 임의데이터를, 라이트 캐시영역 d에 카피된 오브젝트 X의 임의데이터 기록영역(202)에 기록한다. 스텝 S231에서, HD DB(91)는, 엔트리 M의 오브젝트상태 저장영역(189)에 갱신을 나타내는 정보 "UPDATE"를 저장한다.
스텝 S232에서, HD DB(91)는, 사용자의 조작에 대응하는 신호 I의 입력을 기다린다. 스텝 S233에서, HD DB(91)는, 신호 I가 commit, 즉, 세션갱신을 확정하는 것인지 아닌지를 판정한다. 신호 I가 commit가 아니라고 판정된 경우, 처리는 스텝 S234로 진행한다. 스텝 S234에서, HD DB(91)는, 도 31을 참조하여 전술한 스텝 S132의 처리와 마찬가지로, 라이트세션 Z를 확정한다. 반대로, 신호 I가 commit가 아니라고 판정된 경우, 처리는 스텝 S235로 진행한다. 스텝 S235에서, HD DB(91)는, 도 32를 참조하여 전술한 스텝 S133의 처리와 마찬가지로, 라이트세션 Z를 파기한다.
이때, 스텝 S223에서, 엔트리 M의 리드 라이트 세션번호 저장영역(184)의 값이 0이 아니라고 판정된 경우, 오브젝트 X는 세션 Z 이외의 다른 세션에 의해 갱신 중이라고 판단할 수 있으므로, 처리는 스텝 S235로 진행한다.
또한, 스텝 S222의 처리에서, 오브젝트 X에 대응하는 엔트리, M을 취득할 수 없었던 경우, 처리는 스텝 S236으로 진행한다. 스텝 S236에서, HD DB(91)는, 도 30을 참조하여 전술한 스텝 S123의 처리와 마찬가지로, 공백 엔트리 M을 확보한다.
스텝 S237에서, HD DB(91)는, 오브젝트 X의 오브젝트 식별자 OID=X를 분해하여, 오브젝트가 기록되어 있는 오브젝트 기록영역(122)의 청크번호, 페이지번호, 오브젝트 X의 형번호 t를 취득한다. 스텝 S238에서, HD DB(91)는, 오브젝트형 기록영역(163)으로부터, 형번호 t에 대응하는 엔트리의 사이즈 기록영역(167)의 값을 판독하고, 그 값에 근거하여 오브젝트 X를 기록하기 위해 필요한 페이지수 g를 산출한다. 스텝 S239에서, HD DB(91)는, 페이지수 g에 해당하는 리드캐시영역 c와 라이트 캐시영역 d를 버퍼(56)에 설정한다.
스텝 S240에서, HD DB(91)는, 엔트리 M의 리드캐시 어드레스 저장영역(190)에 리드캐시영역 c의 어드레스를 저장하고, 엔트리 M의 라이트캐시 어드레스 저장영역(191)에 라이트 캐시영역 d의 어드레스를 저장하며, 엔트리 M의 오브젝트 식별자 저장영역(183)에 오브젝트 X의 오브젝트 식별자 IOD=X를 저장한다.
스텝 S241에서, HD DB(91)는, 오브젝트 기록영역(122)의 청크 q페이지 p 이후 페이지수 g까지 기록되어 있는 오브젝트 X의 데이터를, 버퍼(56)의 리드캐시영역 c에 카피한다. 처리는 스텝 S229로 진행한다.
이상 설명한 바와 같이, 파일 X의 갱신처리에서는, 리드캐시영역 c로부터 라이트 캐시영역 d에 파일 X의 데이터가 카피되고, 라이트 캐시영역 d에 캐시되어 있는 파일 X의 데이터가 재기록되며, 재기록된 결과가, 세션을 확정하는 처리에 의해, 오브젝트 기록영역(122)에 기록된다.
다음에, 파일기록영역(121)에 기록되는 콘텐츠 데이터와 1대 1로 대응하는 트랙의 오브젝트, 즉, 오브젝트형 번호 t'의 스트림 오브젝트를 작성하는 처리에 대하여, 도 36의 흐름도를 참조하여 설명한다. 이때, 오브젝트형 번호 t'에는, 도 27에 나타낸 바와 같이, 기본형 번호(지금의 경우, 기본 오브젝트 제2형)와 엔트리 번호가 포함되어 있다.
스텝 S251에서, HD DB(91)는, 도 29의 흐름도를 참조하여 전술한 스텝 S121의 처리와 마찬가지로, 라이트세션을 개설한다. 스텝 S252에서, HD DB(91)는, 오브젝트형 번호 t'의 스트림 오브젝트를 기록하는 청크의 페이지를 확보하기 위해, 오브젝트형 기록영역(163)의 엔트리 t'의 사이즈 기록영역(167)으로부터, 오브젝트형 번호 t'의 오브젝트의 사이즈를 판독하고, 그 사이즈에 해당하는 청크의 페이지수를 산출한다. 산출한 페이지수를 g로 한다.
스텝 S253에서, HD DB(91)는, 도 30의 흐름도를 참조하여 전술한 스텝 S123의 처리와 마찬가지로, 세션관리정보(181)를 구성하는 복수의 엔트리 중의 공백 엔트리 M을 확보한다. 스텝 S254에서, HD DB(91)는, 영역정보 기록영역(164)의 비트열 중, g비트 연속하여 0이 기록되어 있는 비트열을 검색한다. 검색한 g비트 연속하여 0이 기록되어 있는 비트열의 선두의 위치를 q열 p행으로 한다. 스텝 S255에서, HD DB(91)는, 확보한 엔트리 M의 오브젝트 식별자 저장영역(183)에, 도 27에 나타낸 바와 같이, 청크번호 q, 페이지번호 p, 오브젝트형 번호 t'로 이루어지는 오브젝트 식별자 OID(q, p, t')를 저장한다. 또한, HD DB(91)는, 세션관리정보(181)의 엔트리 M의 리드 라이트 세션번호 저장영역(184)에 세션번호 Z를 저장하고, 더욱이, 오브젝트상태 저장영역(189)에 작성을 나타내는 "CREATE"를 기록한다.
스텝 S256에서, HD DB(91)는, 스트림 오브젝트의 사이즈인 페이지수 g와 같은 라이트 캐시영역 d를 버퍼(56)에 확보한다. 스텝 S257에서, HD DB(91)는, 세션관리정보(181)의 엔트리 M의 라이트캐시 어드레스 저장영역(191)에, 확보한 버퍼(56)에서의 라이트 캐시영역 d의 어드레스를 저장한다.
스텝 S258에서, HD DB(91)는, 버퍼(56)에 확보한 라이트 캐시영역 d에, 도 26b에 나타낸 오브젝트 기본 제2형의 스트림 오브젝트 X의 기록을 시작하지만, 그 시초로서, 라이트 캐시영역 d의 오브젝트 식별자 기록영역(201)에, 오브젝트 식별자 OID(q, p, t')를 기록한다. 스텝 S259에서, HD DB(91)는, 스트림 오브젝트에 대응하는, HD FS(92)에 의해 작성되는 콘텐츠 데이터의 파일식별자 F(이 콘텐츠 데이터가 기록된 일련의 클러스터의 선두의 클러스터 번호와 동일한 값)를 취득한다. 스텝 S260에서, HD DB(91)는, 라이트 캐시영역 d의 파일식별자 기록영역(103)에 파일식별자 F를 기록한다.
스텝 S261에서, HD DB(91)는, 작성하는 스트림 오브젝트의 임의데이터(예를들면, 작성하는 스트림 오브젝트의 명칭 등)의 취득을 시작한다. 스텝 S262에서, HD DB(91)는, 임의데이터의 취득이 완료할 때까지 대기한다. 이때, 스텝 S261 및 S262의 처리의 사이에, HD FS(92)에 의해, 해당 스트림 오브젝트에 대응하는 파일식별자 F의 콘텐츠 데이터의 파일이 작성되어 파일기록영역(121)에 기록된다.
스텝 S263에서, HD DB(91)는, 라이트 캐시영역 d의 임의데이터 기록영역(202)에, 취득한 임의데이터를 기록한다.
스텝 S264에서, HD DB(91)는, 사용자의 조작에 대응하는 신호 I의 입력을 기다린다. 스텝 S265에서, HD DB(91)는, 신호 I가 commit, 즉, 세션작성을 확정하는 것인지 아닌지를 판정한다. 신호 I가 commit이라고 판정된 경우, 처리는 스텝 S266으로 진행한다. 스텝 S266에서, HD DB(91)은, 도 31을 참조하여 전술한 스텝 S132에 처리와 마찬가지로, 라이트세션 Z를 확정한다.
반대로, 스텝 S265에서, 신호 I가commit가 아니라고 판정된 경우, 처리는 스텝 S267로 진행한다. 스텝 S267에서, HD DB(91)는, 도 32를 참조하여 전술한 스텝 S133에 처리와 마찬가지로, 라이트세션 Z를 파기한다. 스텝 S268에서, HD DB(91)는, HD FS(92)에 파일 F의 삭제를 의뢰한다. 이상, 스트림 오브젝트의 작성처리의 설명을 종료한다.
다음에, 오브젝트 식별자 OID=X인 스트림 오브젝트(이하, 스트림 오브젝트 X라 기술함)를 검색하는 처리에 대하여, 도 37의 흐름도를 참조하고 설명한다. 이때, 세션은 이미 개설되어 있는 것으로 한다.
스텝 S271에서, HD DB(91)는, 도 33을 참조하여 전술한 오브젝트 X의 검색처리와 동일한 처리를 실행한다. 스텝 S272에서, 스텝 S271의 처리에서 검색된 오브젝트 X의 오브젝트 식별자 OID=X에 포함되는 오브젝트형 번호를 취득한다. 취득한 오브젝트형 번호를 t로 한다. 더욱이, HD DB(91)는, 오브젝트형 번호 t에 포함되는 오브젝트 기본형 번호를 취득한다.
스텝 S273에서, HD DB(91)는, 검색된 오브젝트 X의 기본 오브젝트형 번호가, 기본 오브젝트 제2형인지 아닌지를 판정한다. 검색된 오브젝트 X의 기본 오브젝트형 번호가 기본 오브젝트 제2형이라고 판정된 경우, 검색된 오브젝트 X가 스트림 오브젝트이므로, 처리는 스텝 S274로 진행한다. 스텝 S274에서, HD DB(91)는, 검색된 스트림 오브젝트 X의 파일식별자 기록영역(203)으로부터 파일식별자를 판독하여 HD FS(92)에 공급한다.
이때, 스텝 S271에서, 오브젝트 식별자 OID=X의 오브젝트를 검색할 수 없었던 경우, 처리는 스텝 S275로 진행한다. 또한, 스텝 S273에서, 검색된 오브젝트 X의 기본 오브젝트형 번호가 기본 오브젝트 제2형이 아니라고 판정된 경우도, 처리는 스텝 S275로 진행한다. 스텝 S275에서, HD DB(91)는, 에러, 즉, 스트림 오브젝트 X는 존재하지 않는다고 판단하여 스트림 오브젝트 검색처리를 종료한다.
다음에, 도 38은, 오브젝트 기록영역(122)에 기록되는 오브젝트의 디렉토리 구조를 나타내고 있다. 오브젝트 기록영역(122)에는, 루트(211)의 아래, 폴더리스트 오브젝트(212), 폴더 오브젝트(213), 앨범 오브젝트(214), 및 트랙 오브젝트(215)가 계층구조를 이루고 있다.
HD DB(91)는, 폴더리스트 오브젝트(212) 하에, 복수의 폴더 오브젝트(213)를생성할 수 있다. 폴더 오브젝트(213) 하에는, 복수의 앨범 오브젝트(214)를 생성할 수 있다. 앨범 오브젝트(214) 하에는, 복수의 트랙 오브젝트(215)를 생성할 수 있다. 트랙 오브젝트(215)는, 1곡만큼의 콘텐츠 데이터에 대응하고 있다.
폴더 오브젝트(213), 앨범 오브젝트(214), 및 트랙 오브젝트(215)는, 재생하는 즐겨찾는 곡을 선택할 때 등에 사용자에게 제시되는 오브젝트이다. HD DB(91)는, 사용자에 제시되는 오브젝트가 아닌 다른 정보의 오브젝트(CC(Content Control) 오브젝트(216) 등)를, 루트(211), 폴더리스트 오브젝트(212), 또는 폴더 오브젝트(213) 하에 생성할 수 있다.
더욱이, HD DB(91)는 폴더리스트 오브젝트(212) 하에 폴더 오브젝트(213)를 생성한 경우, 동일한 폴더리스트 오브젝트(212) 하에 폴더 오브젝트(213) 이외의 다른 오브젝트를 금지한다. 또한, 폴더 오브젝트(213) 하에 앨범 오브젝트(214)를 생성한 경우, 동일한 폴더 오브젝트(213) 하에 앨범 오브젝트(214) 이외의 오브젝트를 생성하는 것을 금지한다. 또한, 앨범 오브젝트(214) 하에는, 트랙 오브젝트(215) 이외의 오브젝트를 생성하는 것을 금지한다.
각 오브젝트는, 전술한 규칙에 따라 기록되므로, 오브젝트 기록영역(122)에는, 폴더군(217), 앨범군(218), 및 트랙군(219)이 구축된다.
다음에, 각 오브젝트의 데이터 포맷에 대하여 설명한다.
도 39는, 폴더리스트 오브젝트(212)의 데이터 포맷을 나타내고 있다. 폴더리스트 오브젝트(212)는, 도 26a에 나타낸 기본 오브젝트 제1형에 속하므로, 오브젝트 식별자 기록영역(201), 및 임의데이터 기록영역(202)으로 구성된다. 폴더리스트오브젝트(212)의 오브젝트 식별자 기록영역(201)에는, 4바이트의 오브젝트 식별자 OID가 기록된다.
폴더리스트 오브젝트(212)의 임의데이터 기록영역(202)에는, 해당 폴더리스트 오브젝트(212) 하에 작성가능한 폴더 오브젝트(213)의 최대값 MAX(4바이트), 해당 폴더리스트 오브젝트(212) 하에 작성되어 있는 폴더 오브젝트(213)의 수 N(4바이트), 및, 해당 폴더리스트 오브젝트(212) 하에 작성되어 있는 폴더 오브젝트(213)의 ID의 나열을 나타내는 4×100바이트의 Folder가 기록된다. 폴더리스트 오브젝트(212)의 임의데이터 기록영역(202)에는, 612바이트의 리저브가 설정된다.
도 40은, 폴더 오브젝트(213)의 데이터 포맷을 나타내고 있다. 폴더 오브젝트(213)는, 도 26a에 나타낸 기본 오브젝트 제1형에 속하므로, 오브젝트 식별자 기록영역(201), 및 임의데이터 기록영역(202)으로 구성된다. 폴더 오브젝트(213)의 오브젝트 식별자 기록영역(201)에는, 4바이트의 오브젝트 식별자 OID가 기록된다.
폴더 오브젝트(213)의 임의데이터 기록영역(202)에는, 해당 폴더 오브젝트(213) 하에 작성가능한 앨범 오브젝트(214)의 최대값 MAX(4바이트), 해당 폴더 오브젝트(213) 하에 작성되어 있는 앨범 오브젝트(214)의 수 N(4바이트), 해당 폴더 오브젝트(213) 하에 작성되어 있는 앨범 오브젝트(214)의 ID의 나열을 나타내는 4×200바이트의 Album, 및 해당 폴더 오브젝트(213)의 폴더명을 나타내는 36바이트의 Title이 기록된다. 폴더 오브젝트(213)의 임의데이터 기록영역(202)에는, 176바이트의 리저브가 설정된다.
도 41은, 앨범 오브젝트(214)의 데이터 포맷을 나타내고 있다. 앨범 오브젝트(214)는, 도 26a에 나타낸 기본 오브젝트 제1형에 속하므로, 오브젝트 식별자 기록영역(201), 및 임의데이터 기록영역(202)으로 구성된다. 앨범 오브젝트(214)의 오브젝트 식별자 기록영역(201)에는, 4바이트의 오브젝트 식별자 OID가 기록된다.
앨범 오브젝트(214)의 임의데이터 기록영역(202)에는, 해당 앨범 오브젝트(214) 하에 작성가능한 트랙 오브젝트(215)의 최대값 MAX(4바이트), 해당 앨범 오브젝트(214) 하에 작성되어 있는 트랙 오브젝트(215)의 수 N(4바이트),해당 앨범 오브젝트(214) 하에 작성되어 있는 트랙 오브젝트(215)의 ID의 나열을 나타내는 4×400바이트의 Track, 해당 앨범 오브젝트(214)의 타이틀명을 나타내는 516바이트의 Title, 해당 앨범 오브젝트(214)의 아티스트명을 나타내는 260바이트의 Artist, 해당 앨범 오브젝트(214)의 생성일시를 나타내는 8바이트의 Creation Date, 및 해당 앨범 오브젝트(214)의 원래인 음악 CD(3)의 미디어 키를 나타내는 32바이트의 미디어 키가 기록된다. 앨범 오브젝트(214)의 임의데이터 기록영역(202)에는, 1660바이트의 리저브가 설정된다.
도 42는, 트랙 오브젝트(215)의 데이터 포맷을 나타내고 있다. 트랙 오브젝트(215)는, 도 26b에 나타낸 기본 오브젝트 제2형에 속하므로, 오브젝트 식별자 기록영역(201), 임의데이터 기록영역(202), 및 파일식별자 기록영역(203)으로 구성된다. 트랙 오브젝트(215)의 오브젝트 식별자 기록영역(201)에는, 4바이트의 오브젝트 식별자 OID가 기록된다. 트랙 오브젝트(215)의 파일식별자 기록영역(203)에는, 1대 1로 대응하는 콘텐츠 데이터(파일기록영역(121)에 기록되어 있음)의 파일식별자를 나타내는 4바이트의 SOID가 기록된다.
트랙 오브젝트(215)의 임의데이터 기록영역(202)에는, 해당 트랙 오브젝트(215)의 곡명을 나타내는 516바이트의 Title, 해당 트랙 오브젝트(215)의 아티스트명을 나타내는 260바이트의 Artist, 해당 앨범 오브젝트(214)의 재생시 사이를 나타내는 8바이트의 Time, 해당 트랙 오브젝트(215)에 대하여 마지막에 액세스한 일시를 나타내는 8바이트의 Last Access Date, 및 해당 트랙 오브젝트(215)의 재생회수를 나타내는 4바이트의 플레이 카운터(PC), 해당 트랙 오브젝트(215)의 제작일시를 나타내는 8바이트의 Creation Date, 및 해당 트랙 오브젝트(215)에 대응하는 콘텐츠 데이터의 곡속성과 재생제어정보(저작권보호를 위한 정보)를 나타내는 12544바이트의 AC가 기록된다. 트랙 오브젝트(215)의 임의데이터 기록영역(202)에는, 980바이트의 리저브가 설정된다.
도 43은, 트랙 오브젝트(215)의 임의데이터 기록영역(202)에 기록되는 1255바이트의 AC의 상세를 나타내고 있다. AC에는, 콘텐츠 키를 나타내는 8바이트의 Ckey, 코덱식별값을 나타내는 1바이트의 Codec, 코덱속성을 나타내는 1바이트의 Codec Attr, 재생제한정보를 나타내는 1바이트의 LT, 정당성 체크용 플래그를 나타내는 1바이트의 VLD, 체크아웃처의 개수를 나타내는 1바이트의 LCMLOGNUM, 코덱의존정보를 나타내는 16바이트의 CDI, 콘텐츠 직렬번호를 나타내는 20바이트의 CID, 재생허가 개시일시를 나타내는 8바이트의 PBS, 재생허가 종료일시를 나타내는 8바이트의 PBE, 확장 CC를 나타내는 1바이트의 XCC, 재생회수의 나머지를 나타내는 1바이트의 CT, 콘텐츠 제어정보를 나타내는 1바이트의 CC, 체크아웃 나머지 회수를나타내는 1바이트의 CN, 소스정보를 나타내는 40바이트의 SRC, 및 체크아웃처의 기기 ID와 플래그를 포함하는 정보를 나타내는 48×256바이트의 LCMLOG가 기록된다.
특히, 콘텐츠 제어정보를 나타내는 1바이트의 CC는, MSB(Most Significant Bit)측으로부터의 1비트번째는, 저작권의 유무를 나타낸다(0:유, 1:무). MSB측으로부터의 2비트번째는, 세대를 나타내는(0:오리지널, 1:오리지널 이외) MSB측으로부터의 3, 4비트번째는, 사용하지 않음이다.
CC의 MSB측으로부터의 5 내지 7비트번째가 나타내는 정보는, 이하와 같다. 즉, CC의 MSB측으로부터의 5 내지 7비트번째에 010이 기록되어 있는 경우, 체크아웃허가(에디트는 허가)를 나타낸다. CC의 MSB측으로부터의 5 내지 7비트번째에 011이 기록되어 있는 경우, 무브허가(PD(5)에서의 에디트는, 금지)를 나타낸다. CC의 MSB측으로부터의 5 내지 7비트번째에 100이 기록되어 있는 경우, 임포트허가(PD(5)에서의 에디트는 허가)를 나타낸다. CC의 MSB측으로부터의 5 내지 7비트번째에 110이 기록되어 있는 경우, 임포트허가(PD(5)에서의 에디트는 금지)를 나타낸다.
도 44는, 트랙 오브젝트(215)와 1대 1로 대응하는 콘텐츠 데이터의 데이터 포맷을 나타내고 있다. 콘텐츠 데이터는, ATRAC3 헤더를 나타내는 16키로바이트의 AT3H, ATRAC3 부속을 나타내는 16키로바이트의 PRT, 및 사운드 유닛열을 나타내는 각 16키로 바이트의 AT3SU-1 내지 AT3SU-N으로 구성된다.
도 45는, CC 오브젝트(216)의 데이터 포맷을 나타내고 있다. CC 오브젝트(216)는, 도 26b에 나타낸 기본 오브젝트형에 속한다. 따라서, CC 오브젝트(216)는, 오브젝트 식별자 기록영역(201), 및 임의데이터 기록영역(202)으로 구성된다. CC 오브젝트(216)의 오브젝트 식별자 기록영역(201)에는, 4바이트의 오브젝트 식별자 OID가 기록된다.
CC 오브젝트(216)의 임의데이터 기록영역(202)에는, 16바이트의 리저브가 설정된다. CC 오브젝트(216)의 파일식별자 기록영역(203)에는, 대응하는 CC 데이터(파일기록영역(121)에 기록됨)의 파일식별자를 나타내는 4바이트의 SOID가 기록된다.
도 46은, 파일기록영역(121)에 기록되는 CC 데이터의 포맷을 나타내고 있다. CC 데이터에는, 10키로 바이트의 Cat Folder, 200키로 바이트의 Cat Album, 및 600키로바이트의 Cat Track이 포함된다. Cat Folder는, 사용자가 선택하는 폴더에 대응하는 폴더 오브젝트(213)의 오브젝트 식별자 OID를 나타내는 정보가 기록되어 있다. Cat Album에는, 사용자가 선택하는 앨범에 대응하는 앨범 오브젝트(214)의 오브젝트 식별자 OID를 나타내는 정보가 기록되어 있다. Cat Track에는, 사용자가 선택하는 트랙에 대응하는 트랙 오브젝트(215)의 오브젝트 식별자 OID를 나타내는 정보가 기록된다.
따라서, 예를 들면, 재생시에, 사용자가 재생시키는 트랙을 선택하면, CC 데이터의 Cat Track에 근거하여, 선택된 트랙에 대응하는 트랙 오브젝트(215)의 오브젝트 식별자 OID가 판명되고, 판명된 트랙 오브젝트(215)로부터 대응하는 파일식별자가 취득되어, 콘텐츠 데이터가 판독되어 재생된다.
다음에, 오디오서버(1)의 각 기능이 실행될 때의 데이터의 흐름과, 펌웨어와의 대응에 대하여, 도 47 내지 도 56을 참조하여 설명한다.
도 47은, CD 리핑이 실행될 때의 데이터의 흐름을 나타내고 있다. 음악 CD(3)를 고속으로 녹음하는 CD 리핑에서는, CD MW(88)의 제어에 의해, 음악 CD(3)의 디지털 오디오 데이터는, CD-ROM 드라이브(57)에 의해 CAV 8배속으로 판독되어, 버퍼(56)에 버퍼링된다. 또한, HD MW(82)의 제어에 의해, 버퍼(56)에 버퍼링된 디지털 오디오 데이터는, WM 스크린(60-2)에 입력되어 오더마크가 검출된다. 다음에, HD MW(82)의 제어에 의해, 버퍼(56)에 버퍼링되어 있었던 디지털 오디오 데이터는, 엔코더(59)에 의해 평균 5배속으로 ATRAC3 방식에 의해 인코드되어 암호화되고, 얻어진 부호화 데이터는, 버퍼(56)에서 버퍼링된 후, HDD(58)에 전송되어 기록된다. 이때, 도시는 생략했지만, CD 리핑의 한창중에는, 녹음되어 있는 디지털 오디오 데이터에 대응하는 음성이 스피커(2)로부터 출력된다.
도 48은, CD 레코딩이 실행될 때의 데이터의 흐름을 나타내고 있다. 음악 CD(3)를 재생하면서 녹음하는 CD 레코딩에서는, CD MW(88)의 제어에 의해, 음악 CD(3)의 디지털 오디오 데이터는, CD-ROM 드라이브(57)에 의해 CAV 8배속으로 판독되어 버퍼(56)에 버퍼링된다. 다음에 HD MW(82)의 제어에 의해, 버퍼(56)에 버퍼링되어 있었던 디지털 오디오 데이터는, 인코더(59)에 의해 평균 5배속으로 ATRAC3 방식에 의해 인코드되어 암호화되고, 얻어진 부호화 데이터는, 버퍼(56)에서 버퍼링된 후, HDD(58)에 전송되어 기록된다. 또한, HD MW(82)의 제어에 의해, 버퍼(56)에 버퍼링된 오디오 데이터는, WM 스크린(60-2)에 공급되어 오더마크가 검출된다.
한편, 모니터 음성을 위해, 버퍼링되어 있었던 디지털 오디오 데이터는, HD MW(82)의 제어에 의해, HDD(58)에 설치되는 링버퍼(241)(도 61)에 일시적으로 기록된 후, 판독되어 오디오 I/F(60-3)에 입력된다. 다음에, AIO MW(94)의 제어에 의해, 디지털 오디오 데이터는, D/A(62)에 전송되어 아날로그화되어, 스피커(2)로부터 대응하는 음성이 출력된다.
이때, CD 리핑, 및 CD 레코딩의 상세에 대해서는, 도 57 내지 도 70b를 참조하여 후술한다.
도 49는, 디지털 입력에 대한 HD 레코딩이 실행될 때의 데이터의 흐름을 나타내고 있다. 디지털 입력을 부호화하여 HDD(58)에 기록하는 HD 레코딩에서는, AIO MW(94)의 제어에 의해, AUX인단자(31)로부터 입력되는 디지털 오디오 데이터는, 신호처리부(60)를 통해 인코더(59)에 공급된다. 다음에, HD MW(82)의 제어에 의해, 디지털 오디오 데이터는, 인코더(59)에 의해 ATRAC3 방식에 따라 인코드되어 암호화되고, 얻어진 부호화 데이터는, 버퍼(56)에 전송된 후, HDD(58)에 전송되어 기록된다. 또한, HD MW(82)의 제어에 의해, 신호처리부(60)의 WM 스크린(60-2)에서 오더마크가 검출된다. 더욱이, AIO MW(94)의 제어에 의해, 신호처리부(60)의 오디오 I/F(60-3)에 의해 디지털 오디오 데이터는, D/A(62)에 전송되어 아날로그화되어, 스피커(2)로부터 출력된다.
도 50은, 아날로그 입력에 대한 HD 레코딩이 실행될 때의 데이터의 흐름을 나타내고 있다. 아날로그 입력을 부호화하여 HDD(58)에 기록하는 HD 레코딩으로서는, AIO MW(94)의 제어에 의해, AUX인단자(31)로부터 입력되는 아날로그 오디오 데이터는, A/D(62)에서 디지털화되어 인코더(59)에 공급된다. 다음에, HD MW(82)의 제어에 의해, 디지털 오디오 데이터는, 인코더(59)에 의해 ATRAC3 방식에 의해 인코드되어 암호화되고, 얻어진 부호화 데이터가 버퍼(56)에 전송된 후, HDD(58)에 전송되어 기록된다. 또한, HD MW(82)의 제어에 의해, WM 스크린(60-2)에 의해, A/D(62)의 디지털출력으로부터 오더마크가 검출된다. 더욱이, AIO MW(94)의 제어에 의해, AUX인단자(31)로부터 입력되는 아날로그 오디오 데이터는, 스피커(2)로부터 출력된다.
도 51은, HD 플레이가 실행될 때의 데이터의 흐름을 나타내고 있다. HDD(58)의 부호화 데이터를 재생하는 HD 플레이에서는, HD MW(82)의 제어에 의해, HDD(58)로부터 판독된 부호화 데이터는, 버퍼(56)에 버퍼링된 후, 디코더(59)에 의해 복호, 디코드된다. 얻어진 디지털 오디오 데이터는, 버퍼(56)에 버퍼링된 후, 오디오 I/F(60-3)에 전송된다. 다음에, AIO MW(94)의 제어에 의해, 디지털 오디오 데이터는, 오디오I/F(60-3)에 의해 D/A(62)에 전송되어 아날로그화되어, 스피커(2)로부터 출력된다.
도 52는, CD 플레이가 실행될 때의 데이터의 흐름을 나타내고 있다. 음악 CD(3)를 재생하는 CD 플레이로서는, CD MW(88)의 제어에 의해, 음악 CD(3)의 디지털 오디오 데이터는, CD-R0M 드라이브(57)에 의해 판독되고, 버퍼(56)에 버퍼링된 후, 오디오 I/F(60-3)에 전송된다. 다음에, AIO MW(94)의 제어에 의해, 디지털 오디오 데이터는, 오디오 I/F(60-3)에 의해 D/A(62)에 전송되고, 아날로그화되어 스피커(2)로부터 출력된다. 도 53a 및 도 53b는, 각각, MS 플레이가 실행될 때의 데이터의 흐름을 나타내고 있다. MS(4)의 부호화 데이터를 재생하는 MS 플레이에서는, 도 53a에 나타내는 바와 같이, MS MW(89)의 제어에 의해, MS(4)의 부호화 데이터는, MGMS I/F(60-1)에 공급되고, MGMS I/F(60-1)에 의해 상호 인증 후에 복호되어, 신호처리부(60)가 내장하는 디코더에 의해 디코드된다. 다음에, AIO MW(94)의 제어에 의해, 오디오 I/F(60-3)에 의해 디코드된 결과가 얻어진 디지털 오디오 데이터는, D/A(62)에 전송되어, 아날로그화되어 스피커(2)로부터 출력된다.
또는, 도 53b에 나타내는 바와 같이, MS MW(89)의 제어에 의해, MS(4)로부터 부호화 데이터가 판독되고 MGMS I/F(60-1)에 공급되어, MGMS I/F(60-1)가 상호 인증 후에 복호된다. 복합된 부호화 데이터는, 버퍼(56)에 버퍼링되고, 디코더(59)에 의해 디코드되어, 얻어진 디지털 오디오 데이터는, 버퍼(56)를 통해 D/A(62)에 출력된다. 다음에, AIO MW(94)의 제어에 의해, D/A(62)에서 아날로그화된 오디오 데이터가 스피커(2)로부터 출력된다.
도 54는, MS 체크아웃/무브아웃이 실행될 때의 데이터의 흐름을 나타내고 있다. HDD(58)의 부호화 데이터를 MS(4)에 카피하는 MS 체크아웃, 및 HDD(58)의 부호화 데이터를 MS(4)에 이동하는 무브아웃에서는, HD MW(82)의 제어에 의해, HDD(58)로부터 판독된 부호화 데이터는, 버퍼(56)에 버퍼링된다. 다음에, MS MW(89)의 제어에 의해, 버퍼링되어 있는 부호화 데이터가 MGMS IF(60-1)에 전송되고, MS(4)에 기록된다. 이때, 체크아웃, 및 무브아웃에 대해서는, 후에 상술한다.
도 55는, MS 임포트/무브인이 실행될 때의 데이터의 흐름을 나타내고 있다. MS(4)의 부호화 데이터를 HDD(58)에 이동하는 MS 임포트/무브인에서는, MS MW(89)의 제어에 의해, MS(4)의 부호화 데이터가 MGMS I/F(60-1)를 통해 버퍼(56)에 전송된다. 다음에, HD MW(82)의 제어에 의해, 버퍼링되어 있는 부호화 데이터가HDD(58)에 전송되어 기록된다. 이때, 임포트/무브인에 대해서는, 후에 상술한다.
도 56은, PD 체크아웃이 실행될 때의 데이터의 흐름을 나타내고 있다. HDD(58)의 부호화 데이터를 PD(5)에 카피하는 PD 체크아웃에서는, HD MW(82)의 제어에 의해, HDD(58)로부터 판독된 부호화 데이터는, 버퍼(56)에 버퍼링된 후, 인코더/디코더(59)에 의해 복호되어, 다시, PD(5)용으로 암호화되고, 버퍼(56)에 버퍼링된다. 다음에, PD MW(90)의 제어에 의해, 버퍼링되어 있는 부호화 데이터가, USB 호스트 컨트롤러(54) 및 USB 커넥터(43)를 통해 PD(5)에 기록된다.
다음에, CD 리핑, 및 CD 레코딩의 상세에 대하여, 도 57 내지 도 70b를 참조하고 설명한다. CD 리핑의 처리는, 사용자에 의해 하이 스피드 레코딩 버튼(24)이 눌러진 경우에 실행되는 처리이다. CD 레코딩의 처리는, 사용자에 의해 레코딩 버튼(23)이 눌러진 경우에 실행되는 처리이다.
CD 리핑과 CD 레코딩의 차이에 대하여, 도 57 및 도 58을 참조하여 설명한다. 도 57의 상단은, CD 리핑에서의 모니터 음성출력의 기간을 나타내고 있다. 도 57 하단은, CD 리핑에서의 녹음의 처리(부호화하여 기록하는 처리)의 기간을 나타내고 있다. 도 58의 상단은, CD 레코딩에서의 모니터 음성출력의 기간을 나타내고 있다. 도 58의 하단은, CD 레코딩에서의 녹음의 처리(부호화하여, 기록하는 처리)의 기간을 나타내고 있다.
도 57과 도 58을 비교하여 명백해지는 같이, CD 리핑과 CD 레코딩에서는, 그 녹음의 처리에 요하는 합계시간은 동일하다. 즉, 음악 CD(3)의 오디오 데이터(PCM 데이터)를 ATRAC3 방식에 의해 부호화하고, HDD(58)에 기록하는 처리는, 오디오 데이터의 재생속도에 대하여 평균 5배속으로 행해진다.
예를 들면, 재생시간이 10분간인 곡이 6곡 기록된 총재생시간이 60분간인 음악 CD(3)을, CD 리핑 또는 CD 레코딩에 의해, 녹음하는 경우, 1곡당 약 2분간을 요하여 순차 녹음된다.
CD 리핑과 CD 레코딩과의 상위점은, 모니터 음성출력의 기간이다.
CD 리핑인 경우, 모니터 음성출력은, 대응하는 오디오 데이터의 녹음처리가 행해지고 있는 기간만큼, 모니터 음성이 출력된다. 전술한 음악 CD(3)의 예에서는, 제1 곡목의 선두로부터 약 2분간의 음성이 통상의 재생속도로 출력되고, 다음에, 제2 곡목의 선두로부터 약 2분간의 음성이 통상의 속도로 출력되며, 이후, 각 곡의 선두로부터 약 2분간의 음성이 통상의 속도로 출력된다. 따라서, 녹음처리의 종료와 동시에, 모니터 음성출력도 종료된다.
CD 레코딩인 경우, 모니터 음성출력은, 대응하는 오디오 데이터의 녹음처리의 진척상황에 관계없이, 모니터 음성이 출력된다. 전술한 음악 CD(3)의 예에서는, 제1 곡목의 모든 음성이 통상의 재생속도로 출력되고, 다음에, 제2 곡목의 모든 음성이 통상의 속도로 출력되며, 이후, 각 곡의 모든 음성이 통상의 속도로 출력된다. 따라서, 녹음처리가 종료해도, 대응하는 오디오 데이터의 모니터 음성출력은 마지막 제6곡목의 끝까지 계속된다.
이때, CD 리핑과 CD 레코딩은, 그 처리의 도중에서 적절히 변경하는 것이 가능하다.
다음에, 도 59는, CD 리핑 또는 CD 레코딩이 실행될 때의 버퍼(56)의 상태를나타내고 있다. 버퍼(56)에는, 음악 CD(3)로부터 판독된 부호화되기 전의 오디오 데이터(PCM 데이터)를 버퍼링하기 위한 PCM 데이터 판독버퍼(231)와, 인코더/디코더(59)에 의해 부호화되어 암호화된 부호화 데이터를 버퍼링하기 위한 부호화 데이터 버퍼(232)가 설치된다.
도 60은, 버퍼(56)에 설치되는 PCM 데이터 판독버퍼(231), 및 부호화 데이터 버퍼(232), 및 오디오 I/F(60-3)에 내장되는 PCM 데이터 재생용 버퍼(251)의 상태천이를 나타내고 있다. PCM 데이터 판독버퍼(231), 부호화 데이터 버퍼(232), 및 PCM 데이터 재생용 버퍼(251)는, 각각, 초기의 기록가능상태, 데이터의 기록이 시작되면 천이하는 기록중인 상태, 데이터의 기록이 종료하면 천이하는 판독가능상태, 데이터의 판독이 시작되면 천이하는 판독중인 상태 중 어느 하나의 상태이다. 이때, 판독중인 상태로부터, 데이터의 판독이 종료하면 기록가능상태로 되돌아간다.
다음에, 도 61은, CD 리핑 또는 CD 레코딩이 실행될 때, 모니터 음성출력용의 PCM 데이터를 버퍼링하기 위해 HDD(58)에 설치되는 링버퍼(241)의 구조를 나타내고 있다.
소정의 용량(설명의 편의상, 어드레스 0 내지 어드레스 max로 함)을 갖는 링버퍼(241)에는, 판독개시 어드레스를 나타내는 판독포인터(242)와, 기록개시 어드레스를 나타내는 기록포인터(243)가 설정된다. 링버퍼(241)는, 판독포인터(242)가 나타내는 어드레스로부터 순방향으로 기록포인터(243)가 나타내는 어드레스까지의 판독가능영역(244)과, 기록포인터(243)가 나타내는 어드레스로부터 순방향으로 판독포인터(242)가 나타내는 어드레스까지의 기록가능영역(245)으로 구분된다. 판독가능영역(244)의 용량을, 판독마진이라 칭한다. 기록가능영역(245)의 용량을, 기록마진이라 칭한다.
도 62는, CD 리핑 및 CD 레코딩에서의 각 버퍼 사이의 데이터의 흐름을 나타내고 있다. 음악 CD(3)의 PCM 데이터는, CD-ROM 드라이브(57)에 의해 판독되어 버퍼(56)에 설치된 PCM 데이터 판독버퍼(231)에 버퍼링된다. PCM 데이터 판독버퍼(231)에 버퍼링된 PCM 데이터는, 인코더/디코더(59)에 전송되고, 부호화되어 암호화된다. 얻어진 부호화 데이터는, 버퍼(56)에 설치된 부호화 데이터 버퍼(232)에 버퍼링된다. 부호화 데이터 버퍼(232)에 버퍼링된 부호화 데이터는, HDD(58)에 전송되어, 파일기록영역(121)에 기록된다.
한편, PCM 데이터 판독버퍼(231)에 버퍼링된 PCM 데이터는, HDD(58)에 전송되고, HDD(58)에 설치된 링버퍼(241)에 버퍼링된다. 링버퍼(241)에 버퍼링된 PCM 데이터는, 오디오 I/F(60-3)에 내장된 PCM 데이터 재생용 버퍼(251)에 전송되어 버퍼링된 후, AD/DA(62)에 의해 아날로그화되어 스피커(2)로부터 출력된다.
다음에, CD 리핑 및 CD 레코딩에 관한, 녹음속도 설정처리에 대하여, 도 63의 흐름도를 참조하여 설명한다. 이 녹음속도 설정처리는, 음원으로서 음악 CD(3)가 선택되고 있는 동안, 즉, CD-ROM 드라이브(57)에 음악 CD(3)이 장착되고, 펑크션 버튼(12)에 의해 CD가 선택되고 있는 동안, 반복하여 실행된다.
스텝 S281에서, 인풋핸들 미들웨어(97)는, 각종의 버튼에 대한 사용자로부터의 조작의 감시를 시작한다. 스텝 S282에서, 인풋핸들 미들웨어(97)는, 각종의 버튼에 대한 사용자로부터의 조작이 있을 때까지 대기하고, 각종의 버튼에 대한 사용자로부터의 조작이 있었다고 판정된 경우, 그 정보를 메인 APP(76)에 통지한다. 메인 APP(76)는, 레코드버튼(23)에 대한 조작인지 아닌지를 판정한다. 레코드버튼(23)에 대한 조작이라고 판정된 경우, 처리는 스텝 S283으로 진행한다.
스텝 S283에서, 메인 APP(76)는, 레코드버튼(23)이 조작된 것을 HD APP(77)에 통지한다. HD APP(77)는, 레코드버튼(23)이 조작된 것을, HD MW(82)의 CD 리핑(84)에 전달한다. CD RIPPING(84)은, 자기가 SDRAM(53) 등에 설치하는 하이 스피드 녹음플래그를 오프로 설정한다. 처리는 스텝(281)으로 되돌아간다.
스텝 S282에서, 각종의 버튼에 대한 사용자로부터의 조작이 있었다고 판정되고, 그것이 레코드버튼(23)에 대한 조작이 아니라고 판정된 경우, 처리는 스텝 S284로 진행한다. 스텝 S284에서, 메인 APP(76)는, 하이 스피드 레코드 버튼(24)에 대한 조작인지 아닌지를 판정한다. 하이 스피드 레코드 버튼(24)에 대한 조작이라고 판정된 경우, 처리는 스텝 S285로 진행한다.
스텝 S285에서, 메인 APP(76)은, 하이 스피드 레코드 버튼(24)이 조작된 것을 HD APP(77)에 통지한다. HD APP(77)는, 하이 스피드 레코드 버튼(24)이 조작된 것을, HD MW(82)의 CD RIPPING(84)에 전달한다. CD RIPPING(84)은, 하이 스피드 녹음플래그를 온으로 설정한다. 처리는 스텝 S281로 되돌아간다.
스텝 S284에서, 하이 스피드 레코드 버튼(24)에 대한 조작이 아니라고 판정된 경우, 처리는 스텝 S281로 되돌아간다.
이상 설명한 녹음속도 설정처리에 의해, 하이 스피드 레코드 버튼(24)이 조작되고, 하이 스피드 녹음플래그가 온으로 된 경우에는, 도 57에 나타낸 바와 같은 CD 리핑이 실행된다. 반대로, 레코드버튼(23)이 조작되고, 하이 스피드 녹음플래그가 오프로 된 경우에는, 도 58에 나타낸 바와 같은 CD 레코딩이 실행된다. 이때, CD 리핑으로부터 CD 레코딩으로의 전환이나, 반대로 CD 레코딩으로부터 CD 리핑으로의 전환은, 사용자의 버튼조작에 대응하여 임의의 타이밍으로 행할 수 있다.
다음에, CD 녹음처리에 대하여, 도 64에 흐름도를 참조하여 설명한다. 이 CD 녹음처리는, HD MW(82)에 포함되는 CD RIPPING(84)에 의해 제어되는 처리로, 음악 CD(3)가 장착되고, 펑크션 버튼(12)이 조작되어, 음원이 CD에 설정된 후, 레코드버튼(23), 또는 하이 스피드 버튼(24)이 조작되었을 때에 시작된다.
스텝 S291에서, 사용자는, 레코드버튼(23)또는 하이 스피드 버튼(24)이 조작된 것에 의해 녹음 일시정지상태에 있는 동안, 음악 CD(3) 중에서 녹음하는 곡을 선곡한다. 구체적으로는, 커서버튼(17)을 조작하여, 음악 CD(3)에 기록되어 있는 곡 중에서 선곡하고, 엔터버튼(20)을 조작하여 선곡을 확정한다. 이 일련의 조작을 반복하는 것에 의해, 녹음하는 곡을 모두 선곡한다. 이때, 특히 선곡의 조작이 행해지지 않은 경우, 음악 CD(3)에 기록되어 있는 모든 곡이 선곡된 것으로 된다.
사용자는, 선곡이 완료된 단계에서, 재생/일시정지버튼(26)을 조작한다. 처리는 스텝 S292로 진행한다.
스텝 S292에서, CD RIPPING(84)은, 링버퍼(241)에 설정하는 판독포인터(242)가 나타내는 판독개시 어드레스 등의 정보로 이루어지는 링버퍼정보를 초기화한다. 이 링버퍼정보 초기화처리에 대하여, 도 65의 흐름도를 참조하여 설명한다. 스텝S301에서, CD RIPPING(84)은, 판독포인터(242)가 나타내는 판독개시 어드레스, 및 기록포인터(243)가 나타내는 기록개시 어드레스를 링버퍼(241)의 어드레스 0으로 설정한다. 더욱이, 링버퍼(241)의 판독마진을 0으로 설정하며, 기록마진을 그 최대값 max로 설정한다. 이상, 링버퍼정보 초기화처리의 설명을 종료한다.
도 64로 되돌아간다. 스텝 S293에서, CD RIPPING(84)은, 스텝 S291에서 선곡된 것 중 1곡을 순차 선택하여, 1곡만큼의 녹음처리를 실행한다. 1곡만큼의 녹음처리에 대하여, 도 66의 흐름도를 참조하여 설명한다. 스텝(311)에서, CD 리핑(84)은, CD MW(88)에 의뢰함으로써, 음악 CD(3)의 녹음하는 곡의 PCM 데이터를 소정의 데이터량(예를 들면, 2초간만큼)씩, 기록가능상태에 있는 PCM 데이터 판독버퍼(231)에 버퍼링시킨다. 소정의 데이터량의 PCM 데이터의 기록(버퍼링)이 종료한 경우, PCM 데이터 판독버퍼(231)의 상태는 판독가능상태로 천이한다.
스텝 S312에서, CD RIPPING(84)은, 인코더/디코더(59)에 대하여, PCM 데이터 판독버퍼(231)에 버퍼링되어 있는 소정의 데이터량의 PCM 데이터를 인코드시킨다(부호화하여 암호화시킨다). PCM 데이터 판독버퍼(231)에서의 소정의 데이터량의 PCM 데이터의 판독이 종료한 경우, PCM 데이터 판독버퍼(231)의 상태는 기록가능상태로 천이한다.
또한, CD RIPPING(84)은, 모니터 음성 출력처리를 시작한다. 모니터 음성의 출력처리에 대해서는, 도 67을 참조하고 후술한다.
스텝 S313에서, CD RIPPING(84)은, 인코드에 의해 얻어진 소정의 데이터량의 부호화 데이터를, 버퍼(56)의 기록가능상태에 있는 부호화 데이터 버퍼(232)에 버퍼링시킨다. 소정의 데이터량(예를 들면, 2초간 정도)의 부호화 데이터의 기록(버퍼링)이 종료한 경우, 부호화 데이터 버퍼(232)의 상태는 판독가능상태로 천이한다.
스텝 S314에서, CD RIPPING(84)은, 부호화 데이터 버퍼(232)에 버퍼링되어 있는 소정의 데이터량의 부호화 데이터를, HDD(58)의 파일기록영역(121)에 기록시킨다. 이때, 소정의 데이터량씩 부호화 데이터를 파일기록영역(121)에 기록시키는 처리는, 도 14를 참조하여 전술한 파일작성처리에 해당한다. 또한, 도 28을 참조하여 전술한 오브젝트 작성처리도 행해진다.
스텝 S315에서, CD RIPPING(84)은, 1곡만큼의 부호화 데이터가 기록되었는지 아닌지를 판정한다. 1곡만큼의 부호화 데이터가 기록되어 있지 않다고 판정된 경우, 처리는 스텝 S311로 되돌아가, 이후의 처리가 반복된다. 그 후, 스텝 S315에서, 1곡만큼의 부호화 데이터가 기록되었다고 판정된 경우, 해당 1곡만큼의 녹음처리는 종료된다.
이상 설명한 바와 같이 하여 1곡만큼의 녹음처리가 실행된 후, 처리는 도 64의 스텝 S294로 되돌아간다. 스텝 S294에서, CD RIPPING(84)은, 스텝 S291에서 선곡된 모든 곡이 녹음되었는지 아닌지를 판정한다. 선곡된 모든 곡이 녹음되어 있지 않다고 판정된 경우, 처리는 293으로 되돌아가, 다음 곡에 대한 1곡만큼의 녹음처리가 행해진다.
그 후, 스텝 S294에서, 선곡된 모든 곡이 녹음되었다고 판정된 경우, 이 CD 녹음처리는 종료된다.
여기서, 스텝 S312에서 시작된 모니터 음성 출력처리에 대하여, 도 67의 흐름도를 참조하여 설명한다. 스텝 S321에서, CD RIPPING(84)은, 하이 스피드 녹음플래그가 온인지 아닌지를 판정한다. 하이 스피드 녹음플래그가 온이라고 판정된 경우, 처리는 322로 진행한다.
스텝 S322에서, CD RIPPING(84)은, 대응하는 PCM 데이터에 대한 1곡만큼의 녹음처리가 종료하고 있는지 아닌지를 판정한다. 대응하는 PCM 데이터에 대한 1곡만큼의 녹음처리가 종료되어 있지 않다고 판정된 경우, 1곡만큼의 녹음처리가 실행 중의 PCM 데이터의 모니터 음성을 출력하기 위해, 처리는 스텝 S323으로 진행한다.
스텝 S323에서, CD RIPPING(84)은, 링크버퍼(241)에 대한 PCM 데이터 판독버퍼(231)에 버퍼링되어 있는 PCM 데이터의 기록처리를 시작한다. 스텝 S323의 처리의 종료를 기다리지 않고, 스텝 S324에서, CD RIPPING(84)은, 링크버퍼(241)에 기록된 PCM 데이터의 판독처리를 시작한다.
스텝 S323에서의 링버퍼(241)에 대한 기록처리에 대하여, 도 68의 흐름도를 참조하여 설명한다.
스텝 S331에서, CD RIPPING(84)은, 하이 스피드 녹음플래그가 온인지 아닌지를 판정한다. 하이 스피드 녹음플래그가 온이라고 판정된 경우, 처리는 332로 진행한다. 스텝 S332에서, CD RIPPING(84)은, 도 65를 참조하여 전술한 링버퍼정보 초기화처리를 실행한다.
스텝 S333에서, CD RIPPING(84)은, 링크버퍼정보의 기록포인터(243)가 나타내는 기록개시 어드레스 이후의 기록가능영역(245)에, PCM 데이터 판독버퍼(231)에기록되어 있는 PCM 데이터의 기록을 시작한다. 스텝 S334에서, CD RIPPING(84)은, 스텝 S333에서 기록한 PCM 데이터만큼만, 링크버퍼정보에 포함되는 기록포인터(243)가 나타내는 기록개시 어드레스의 값을 순방향으로 진행시켜, 그것에 대응하여, 기록마진 및 판독마진의 값을 갱신한다.
이때, 스텝 S331에서, 하이 스피드 녹음플래그가 온이 아니라고 판정된 경우, 처리는 335로 진행한다. 스텝 S335에서, CD RIPPING(84)은, 링버퍼정보를 참조함으로써, PCM 데이터 기록버퍼(231)에 기록되어 있는 PCM 데이터의 사이즈는, 링버퍼(241)의 기록마진 이하인지 아닌지를 판정한다. PCM 데이터 기록버퍼(231)에 기록되어 있는 PCM 데이터의 사이즈가, 링버퍼(241)의 기록마진 이하라고 판정된 경우, 처리는 스텝 S333으로 진행한다.
이때, 스텝 S335에서, PCM 데이터 판독버퍼(231)에 기록되어 있는 PCM 데이터의 사이즈가, 링버퍼(241)의 기록마진 이하가 아니라고 판정된 경우, 처리는 스텝 S331로 되돌아가, 그 후, 녹음속도의 설정이 사용자에 의해 변경시킴으로써, 스텝 S331에서, 하이 스피드 녹음플래그가 온이라고 판정되는지, 또는, 링버퍼(241)의 기록마진이 증가함으로써, 스텝 S335에서, PCM 데이터 판독버퍼(231)에 기록되어 있는 PCM 데이터의 사이즈가, 링버퍼(241)의 기록마진 이하가 아니라고 판정될 때까지, 스텝 S331, 및 스텝 S335의 처리가 반복된다. 이상, 링버퍼(241)에 대한 기록처리의 설명을 종료한다.
스텝 S324에서의 링버퍼(241)로부터의 판독처리에 대하여, 도 69의 흐름도를 참조하여 설명한다. 스텝 S341에서, CD RIPPING(84)은, 오디오 I/F(60-3)에 내장되는 PCM 데이터 재생용 버퍼(251)가 기록가능상태인지 아닌지를 판정하고, PCM 데이터 재생용 버퍼가 기록가능상태라고 판정할 때까지 대기한다. PCM 데이터 재생용 버퍼가 기록가능상태라고 판정된 경우, 처리는 스텝 S342로 진행한다.
스텝 S342에서, CD RIPPING(84)은, 링버퍼(241)의 판독포인터(242)가 나타내는 판독개시 어드레스에 따라, 링버퍼(241)의 판독가능영역(244)에 기록되어 있는 PCM 데이터를 판독하여, PCM 데이터 재생용 버퍼(251)에 기록하게 한다.
스텝 S343에서, CD RIPPING(84)은, 스텝 S342에서 판독한 PCM 데이터의 만큼만 링크버퍼정보에 포함되는 판독포인터(242)가 나타내는 판독개시 어드레스의 값을 순방향으로 진행하고, 그것에 대응하여, 기록마진 및 판독마진의 값을 갱신한다.
스텝 S344에서, CD RIPPING(84)은, PCM 데이터 재생용 버퍼(251)를 판독가능상태로 천이시킨다. 이상, 링버퍼(241)로부터의 판독처리의 설명을 종료한다.
도 67로 되돌아간다. 스텝 S325에서, AIO MW(94)는, PCM 데이터 재생용 버퍼(251)에 버퍼링되어 있는 PCM 데이터를, AD/DA(62)에 출력시킨다. AD/DA(62)는, 입력된 PCM 데이터의 재생을 시작하여 대응하는 음성을 스피커(2)로부터 출력시킨다.
스텝 S326에서, CD RIPPING(84)은, 1곡만큼의 PCM 데이터의 재생이 종료했는지 아닌지를 판정한다. 1곡만큼의 PCM 데이터의 재생이 종료되어 있지 않다고 판정된 경우, 처리는 스텝 S321에 되돌아가, 이후의 처리가 반복되고, 스텝 S326에서, 1곡만큼의 PCM 데이터의 재생이 종료되어 있지 않다고 판정된 경우, 모니터 음성출력처리는 종료된다.
이때, 스텝 S322에서, 대응하는 PCM 데이터에 대한 1곡만큼의 녹음처리가 종료되어 있다고 판정된 경우, 이 모니터 음성 출력처리는 즉시 중지된다. 이상, CD 녹음처리의 설명을 종료한다.
이때, CD 녹음처리의 과정에서는, 사용자의 레코딩버튼(23) 또는 하이 스피드 레코딩 버튼(24)에 대한 조작에 대응하고, 임의의 타이밍으로, CD 리핑으로부터 CD 레코딩으로, 혹은 반대로 CD 레코딩으로부터 CD 리핑으로 변경할 수 있다.
여기서, CD 리핑이 실행될 때의 디스플레이(15)의 표시예를 도 70a와 도 70b에 나타낸다. 도 70a는, 녹음이 시작되기 직전에 표시된다, 녹음설정에 관한 정보의 표시예이다. 이때, 디스플레이(15)에는, 표시영역 261 내지 267이 설정된다. 이 표시예에서, 표시영역 261에는, 녹음원과 녹음처를 나타내는 정보가 표시된다. 표시영역 262에는, 녹음설정에 관하는 정보가 표시되어 있는 취지가 표시된다. 표시영역 263에는, 보존장소를 나타내는 폴더명이 표시된다. 표시영역 264에는, 녹음하는 앨범의 앨범명과 아티스트명이 표시된다. 표시영역 265에는, 녹음시의 비트 레이트가 표시된다. 표시영역 266에는, 녹음시의 녹음레벨이 표시된다. 표시영역 267에는, 재생/일시정지버튼(26)의 누름에 대응하여 녹음이 시작되는 취지가 표시된다. 녹음시의 녹음레벨이 표시된다.
도 70b는, 녹음이 한창 실행되고 있는 표시예이다. 이때, 디스플레이에는, 표시영역 271 내지 278이 설정된다. 이 표시예에서, 표시영역 271에는, 녹음원과 녹음처를 나타내는 정보가 표시된다. 표시영역 272에는, CD 리핑 중인 것을 나타내는 문자 「고속녹음 중」이 점멸표시된다. 표시영역273에는, 녹음 중인 곡의 앨범명, 및 아티스트명이 표시된다. 표시영역274에는, 녹음 중인 곡의 음악 CD(3)에서의 곡번호가 표시된다. 표시영역 275에는, 녹음 중인 곡의 재생경과시간이 표시된다. 표시영역 276에는, 음악 CD(3)의 재생잔여시간이 표시된다. 표시영역 277에는, 녹음하는 총 곡수에 대한 녹음의 진척상황에 비례하여 길이가 변화되는 프로그레스 바(279)가 표시된다. 표시영역 278에는, 녹음하는 곡의 총수와, 녹음종료 또는 녹음 중인 곡의 수를 나타내고 있다.
예를 들면, 재생시간이 60분간인 앨범의 전곡을 CD 리핑하고 있는 경우, 녹음은 약 5배속으로 행해지므로, 표시영역 277에 표시되는 프로그레스 바(279)의 길이는, 녹음의 개시시부터 서서히 길어져, 약 12분간으로 표시영역 277의 전체를 차지하는 길이가 된다.
이때, 표시영역 277의 프로그레스 바(279)의 길이를, 녹음의 진척상황에 맞추지는 않고, 곡의 재생경과시간에 비례시켜 신장시키도록 해도 된다.
다음에, HDD(58)에 기록한 콘텐츠 데이터를 재생하는 방법에 대하여, 도 71 내지 도 77을 참조하여 설명한다. 전술한 바와 같이, 오디오서버(1)에서는, 음악 CD(3)에 기록되어 있는 곡을 인코드하고, 콘텐츠 데이터를 파일로서 HDD(58)에 기록하고 있지만, 재생하는 곡을 지정시키는 경우에는, 파일이 아니며, 계층구조를 이루는 폴더, 앨범, 및 트랙의 오브젝트를, 사용자에 지정시킨다.
HDD 전체, 임의의 폴더, 또는 임의의 앨범을 재생영역으로서 지정함으로써, 복수의 곡을 일괄하여 재생하는 곡으로 지정할 수 있다. 곡의 재생은, 지정된 재생영역에 따라 작성되는 플레이 리스트에 포함되는 트랙에 대응하는 콘텐츠 데이터가 디코드됨으로써 실현된다.
도 71은, 재생영역의 일례를 나타내고 있다. 점선 281로 둘러싸인 HDD 전체가 재생영역으로 지정된 경우, 도 72에 나타내는 바와 같이, 플레이 리스트에는, HDD(58) 중의 모든 트랙번호가 등록된다.
점선 282로 둘러싸인 마이 셀렉트 폴더 F1이 재생영역으로 지정된 경우, 도 73에 나타내는 바와 같이, 플레이 리스트에는, 마이 셀렉트 폴더 F1에 속하는 모든 앨범의 앨범번호가 등록된다.
점선 283에 둘러싸인 마이 셀렉트 폴더 F1의 앨범 A1이 재생영역으로 지정된 경우, 도 74에 나타내는 바와 같이, 플레이 리스트에는, 마이 셀렉트 폴더 F1의 앨범 A1에 속하는 모든 트랙의 트랙번호가 등록된다.
템포러리 폴더 F2에 속하는 앨범 A1의 트랙 T1이 재생하는 곡으로 지정된 경우, 도 75에 나타내는 바와 같이, 플레이 리스트에는, 템포러리 폴더 F2에 속하는 앨범 A1의 트랙 T1이 등록된다.
다음에, 지정된 재생영역에 대응하는 플레이 리스트를 작성하는 처리에 대하여, 도 76의 흐름도를 참조하여 설명한다.
이 플레이 리스트 작성처리는, HD MW(82)에 포함되는 HD PLAY(85)에 의해 제어되는 처리로, 펑크션버튼(12)이 조작되어, 음원이 HDD 설정되었을 때에 시작된다.
스텝 S351에서, HD PLAY(85)는, 사용자에 의해 선택되어 있는 재생영역을 나타내는 오브젝트의 계층이, HDD 전체인지 아닌지를 판정한다. 선택되어 있는 오브젝트의 계층이 HDD 전체가 아니라고 판정된 경우, 처리는 스텝 S352로 진행한다. 이때, 사용자가 재생영역을 선택하는 방법은, 리모트 컨트롤러(7)에 설치된 재생영역전환버튼(도시하지 않음)을 조작하는지, 또는, 덮개(40)에 설치된 커서버튼(17),엔터버튼(20), 및 메뉴/캔슬버튼(21) 등을 소정의 순서로 눌러지는지에 따라 행해진다.
스텝 S352에서, HD PLAY(85)는, 사용자에 의해 선택되어 있는 오브젝트의 계층이 폴더인지 아닌지를 판정한다. 선택되어 있는 오브젝트의 폴더가 아니라고 판정된 경우, 처리는 스텝 S353으로 진행한다.
스텝 S353에서, HD PLAY(85)는, 사용자에 의해 선택되어 있는 오브젝트의 계층이 앨범이라고 판정하여, 스텝 S354로 진행한다.
스텝 S354에서, HD PLAY(85)는, 재생/일시정지버튼(26)이 조작되었는지 아닌지를 판정한다. 재생/일시정지버튼(26)이 조작되었다고 판정된 경우, 처리는 스텝 S355로 진행한다. 스텝 S355에서, HD PLAY(85)는, 선택되어 있는 오브젝트의 계층에 대응하는 플레이 리스트가 기성되어 있는지 아닌지를 판정하고, 기성되어 있지 않다고 판정된 경우, 스텝 S356으로 진행한다. 이때, 기성되어 있다고 판정된 경우에는, 스텝 S356은 스킵된다.
스텝 S356에서, HD PLAY(85)는, 선택되어 있는 오브젝트의 계층에 대응하여 플레이 리스트를 작성한다.
이때, 스텝 S354에서, 재생/일시정지버튼(26)이 조작되어 있지 않다고 판정된 경우, 처리는 스텝 S351로 되돌아가, 이후의 처리가 반복된다.
또한, 스텝 S351에서, 선택되어 있는 오브젝트의 계층이 HDD 전체라고 판정된 경우, 또는, 스텝 S352에서, 선택되어 있는 오브젝트의 계층이 폴더라고 판정된 경우, 처리는 스텝 S354로 진행한다. 이상, 플레이 리스트 작성처리의 설명을 종료한다.
이때, 상정되는 여러가지 재생영역에 대응하는 복수의 플레이 리스트를 미리 작성하여, 소정의 장소에 기록하도록 하고, 사용자에 의해 재생영역이 지정된 단계에서, 미리 작성되어 기록되어 있는 플레이 리스트 중, 대응하는 것을 판독하도록 해도 된다.
다음에, 전술한 플레이 리스트 작성처리의 종료에 계속하여 실행되는 재생처리에 대하여, 플레이모드가 전곡 리피트로 설정되어 있는 경우를 예에, 도 77의 흐름도를 참조하여 설명한다.
스텝 S361에서, HD PLAY(85)는, 정지버튼(25)이 조작되는 것에 의해, 재생의 종료가 지시되었는지 아닌지를 판정한다. 재생의 종료가 지시되어 있지 않다고 판정된 경우, 처리는 스텝 S362로 진행한다. 스텝 S362에서, HD PLAY(85)는, 플레이 리스트에 포함되는 모든 트랙 중, 순차 1트랙씩 재생트랙에 지정한다.
스텝 S363에서, HD PLAY(85)는 재생트랙에 대응하는 콘텐츠 데이터를 재생한다. 구체적으로는, 재생트랙에 대응하는 트랙 오브젝트가 CC 데이터에 근거하여 특정되고, 특정된 트랙 오브젝트의 파일식별자 기록영역(203)의 값에 따라 대응하는 콘텐츠 데이터의 파일식별자가 특정되고, 특정된 파일식별자(=파일기록영역(121)의클러스터 번호)에 근거하여 콘텐츠 데이터가 판독된다. 다음에, 판독된 콘텐츠 데이터가 디코드되어 출력된다.
재생트랙에 대응하는 콘텐츠 데이터의 재생이 종료된 후, 처리는 스텝 S361로 되돌아가, 이후의 처리가 반복된다. 그 후, 스텝 S361에서, 정지버튼(25)이 조작됨으로써, 재생의 종료가 지시되었다고 판정된 경우, 재생모드가 전곡 리피트인 경우의 재생처리가 종료된다.
이때, 전곡 리피트 이외의 재생모드에서는, 재생영역과 재생트랙의 지정의 방법이 다를 뿐으로, 그 처리의 순서는 마찬가지이다.
다음에, 오디오서버(1)의 HDD(58)에 기록되어 있는 콘텐츠 데이터를, MS(4)에 무브아웃하는 처리에 대하여, 도 78 내지 도 81을 참조하여 설명한다.
여기서, HDD(58)에 기록되어 있는 콘텐츠 데이터를 MS(4)에 무브아웃하는 처리란, HDD(58)에 기록되어 있는 콘텐츠 데이터를 MS(4)에 카피한 후, HDD(58)에 기록되어 있었던 콘텐츠 데이터를 삭제하는 일련의 처리이다.
무브아웃처리에 대하여, 도 78의 흐름도를 참조하여 설명한다. 이때, 무브아웃처리는, MS MW(89)에 의해 제어된다.
이 무브아웃처리는, MS 슬롯(45)에 MS(4)가 삽입되어 있는 상태에서, 사용자가 메뉴/캔슬버튼(21)을 조작하여 메뉴를 표시시키고, 커서버튼(17)을 조작하여 「편집」을 선택한 후, 엔터버튼(20)을 조작하여 편집메뉴를 표시시키고, 커서버튼(17)을 조작하여 「무브아웃」을 선택한 후, 엔터버튼(20)을 조작하고, 더욱이, 커서버튼(17)과 셀렉트버튼(18)을 조작하여, 무브아웃하는 트랙을 선택한후, 엔터 키(20)를 조작하여 무브아웃하는 트랙의 리스트를 표시시키고, 또한 엔터키(20)를 조작했을 때에 시작된다.
스텝 S371에서, MS MW(89)는, C IN/C OUT(87)에 의뢰하여, HDD(58)에 기록되어 있는 무브아웃하는 콘텐츠 데이터를, 권리무효 데이터(재생불가능한 데이터)로서 MS(4)에 카피한다. 이때, 권리무효 데이터로 하기 위해서는, 콘텐츠 데이터의 속성정보에 포함된다, 권리의 유무를 나타내는 플래그를 오프로 한다. 즉, 권리무효를 나타내는 속성정보와 콘텐츠 데이터를 MS(4)에 카피한다.
스텝 S372에서, C IN/C OUT(87)는, 무브아웃처리를 시작한 것을 나타내는 무브아웃 이력정보를 생성하여 HDD(58)에 기록한다. 무브아웃 이력정보에는, 무브아웃되는 트랙을 특정하는 정보가 포함된다. 스텝 S373에서, C IN/C OUT(87)는, HDD(58)에 기록되어 있는 콘텐츠 데이터의 권리의 유무를 나타내는 플래그를 오프로서, HDD(58)의 콘텐츠 데이터를 권리무효 데이터로 한다.
스텝 S374에서, MS MW(89)는, MS(4)에 카피된 콘텐츠 데이터의 권리의 유무를 나타내는 플래그를 온으로서, MS(4)의 콘텐츠 데이터를 권리유효 데이터로 한다.
스텝 S375에서, C IN/C OUT(87)는, HDD(58)에 기록되어 있는 콘텐츠 데이터를 삭제한다. 스텝 S376에서, C IN/C OUT(87)는, 스텝 S372의 처리에서 작성한 무브아웃 이력정보를 삭제한다.
이상 설명한 스텝 S371 내지 S376의 처리가 1트랙에 대응하는 1 콘텐츠 데이터의 무브아웃처리로, 선택된 모든 트랙에 대하여, 스텝 S371 내지 S376의 처리가시행된다.
이때, 무브아웃처리의 도중에서 전원이 차단하는 등 하여 무브아웃처리가 중단된 경우, 그것을 보상하기 위해 전원복귀 후에 복귀처리가 실행시킨다. 이때, 복귀처리에 대해서는, 도 86 내지 도 88을 참조하여 후술한다.
도 79는, 무브아웃처리의 상태천이를 나타내고 있다. 상태 1은, 무브아웃처리가 시작되기 전의 상태이다. 즉, 오디오서버(1)의 HDD(58)에 콘텐츠 데이터가 기록되어 있고, HDD(58)의 콘텐츠 데이터가 권리유효인 상태를 나타내고 있다.
상태 2는, 스텝 S371의 처리가 행해진 후의 상태이다. 즉, 오디오서버(1)의 HDD(58)에 기록되어 있는 콘텐츠 데이터가 MS(4)에 카피됨으로써, HDD(58)와 MS(4)의 양쪽에 콘텐츠 데이터가 기록되어 있는 상태로서, 또한, HDD(58)의 콘텐츠 데이터가 권리유효로서, MS(4)의 콘텐츠 데이터가 권리무효인 상태를 나타내고 있다.
상태 3은, 스텝 S373의 처리가 행해진 후의 상태이다. 즉, HDD(58)과 MS(4)의 양쪽에 콘텐츠 데이터가 기록되어 있는 상태로서, 또한, HDD(58)의 콘텐츠 데이터와, MS(4)의 콘텐츠 데이터가 권리무효인 상태를 나타내고 있다.
상태 4는, 스텝 S374의 처리가 행해진 후의 상태이다. 즉, HDD(58)과 MS(4)의 양쪽에 콘텐츠 데이터가 기록되어 있는 상태로서, 또한, HDD(58)의 콘텐츠 데이터가 권리무효로서, MS(4)의 콘텐츠 데이터가 권리유효인 상태를 나타내고 있다.
상태 5는, 스텝 S375의 처리가 행해진 후의 상태이다. 즉, HDD(58)의 콘텐츠 데이터가 소거됨으로써, MS(4)만큼으로 콘텐츠 데이터가 기록되어 있는 상태로서, MS(4)의 콘텐츠 데이터가 권리유효인 상태를 나타내고 있다.
도 80은, 무브아웃하는 트랙을 선택할 때의 디스플레이(15)의 표시예를 나타내고 있다. 디스플레이(15)에는 무브아웃가능한 곡만이 표시된다.
도 81은, 무브아웃처리가 행해지고 있는 한창중인 디스플레이(15)의 표시예를 나타내고 있다. 디스플레이(15)의 표시영역 291에는, 무브아웃처리가 실행 중인 것을 나타내는 문자 "Move out"가 점멸표시된다. 무브아웃이 완료된 트랙의 횡으로는, 체크마크(292)가 표시된다. 표시영역 293에는, 무브아웃처리의 진척상황을 나타내는 정보(무브아웃 중 또는 무브아웃이 완료된 트랙의 수/무브아웃하는 트랙의 총수)가 표시된다.
다음에, MS(4)에 기록되어 있는 콘텐츠 데이터를, 오디오서버(1)의 HDD(58)에 무브인하는 처리에 대하여, 도 82 내지 도 81을 참조하여 설명한다.
여기서, MS(4)에 기록되어 있는 콘텐츠 데이터를 HDD(58)에 무브인하는 처리란, MS(4)에 기록되어 있는 콘텐츠 데이터를 HDD(58)에 카피한 후, MS(4)에 기록되어 있었던 콘텐츠 데이터를 삭제하는 일련의 처리이다.
무브인처리에 대하여, 도 82의 흐름도를 참조하여 설명한다. 이때, 무브인처리는, MS MW(89)에 의해 제어된다.
이 무브인처리는, MS 슬롯(45)에 MS(4)가 삽입되어 있는 상태로, 사용자가 메뉴/캔슬버튼(21)을 조작하여 메뉴를 표시시키고, 커서버튼(17)을 조작하여 「편집」을 선택한 후, 엔터버튼(20)을 조작하여 편집메뉴를 표시시키고, 커서버튼(17)을 조작하여 「무브인」을 선택한 후, 엔터버튼(20)을 조작하고, 더욱이, 커서버튼(17)과 셀렉트버튼(18)을 조작하여, MS(4)에 기록되어 있는 콘텐츠 데이터중에서 무브인하는 콘텐츠 데이터를 선택한 후, 엔터키(20)를 조작하여 무브인하는 콘텐츠 데이터의 리스트를 표시시키고, 더욱이 엔터키(20)를 조작한 후에 재생/일시정지버튼(26)을 조작했을 때에 시작된다.
스텝 S381에서, MS MW(89)는, C IN/C OUT(87)에 의뢰하여, 무브인처리를 시작한 것을 나타내는 무브인 이력정보를 생성하여 HDD(58)에 기록한다. 무브인 이력정보에는, 무브인되는 콘텐츠 데이터를 특정하는 정보가 포함된다.
스텝 S382에서, C IN/C OUT(87)는, MS(4)에 기록되어 있는 무브인하는 콘텐츠 데이터를, 권리무효 데이터로서 HDD(58)에 카피한다.
스텝 S383에서, MS MW(89)는, MS(4)에 기록되어 있는 콘텐츠 데이터의 권리의 유무를 나타내는 플래그를 오프로서, MS(4)의 콘텐츠 데이터를 권리무효 데이터로 한다.
스텝 S384에서, C IN/C OUT(87)는, HDD(58)에 카피된 콘텐츠 데이터의 권리의 유무를 나타내는 플래그를 온으로서, HDD(58)의 콘텐츠 데이터를 권리유효 데이터로 한다.
스텝 S385에서, C IN/C OUT(87)는, MS MW(89)에 의뢰하여, MS(4)에 기록되어 있는 콘텐츠 데이터를 삭제한다. 스텝 S386에서, C IN/C OUT(87)는, 스텝 S382의 처리에서 작성한 무브인 이력정보를 삭제한다.
이상 설명한 스텝 S381 내지 S386의 처리가 1트랙에 대응하는 1 콘텐츠 데이터의 무브인처리로, 선택된 모든 트랙에 대하여, 스텝 S381 내지 S386의 처리가 시행된다.
이때, 무브인처리의 도중에 전원이 차단하는 등 하여 무브인처리가 중단된 경우, 그것을 보상하기 위해, 전원복귀 후에 복귀처리가 실행된다.
도 83은, 무브인처리의 상태천이를 나타내고 있다. 상태 11은, 무브인처리가 시작되기 전의 상태이다. 즉, MS(4)에 콘텐츠 데이터가 기록되어 있고, MS(4)의 콘텐츠 데이터가 권리유효인 상태를 나타내고 있다.
상태 12는, 스텝 S382의 처리가 행해진 후의 상태이다. 즉, MS(4)에 기록되어 있는 콘텐츠 데이터가 HDD(58)에 카피됨으로써, MS(4)와 HDD(58)의 양쪽에 콘텐츠 데이터가 기록되어 있는 상태로서, 또한, MS(4)의 콘텐츠 데이터가 권리유효로서, HDD(58)의 콘텐츠 데이터가 권리무효인 상태를 나타내고 있다.
상태 13은, 스텝 S383의 처리가 행해진 후의 상태이다. 즉, MS(4)와 HDD(58)의 양쪽에 콘텐츠 데이터가 기록되어 있는 상태로서, 또한, MS(4)의 콘텐츠 데이터와, HDD(58)의 콘텐츠 데이터가 권리무효인 상태를 나타내고 있다.
상태 14는, 스텝 S384의 처리가 행해진 후의 상태이다. 즉, MS(4)와 HDD(58)의 양쪽에 콘텐츠 데이터가 기록되어 있는 상태로서, 또한, MS(4)의 콘텐츠 데이터가 권리무효로서, HDD(58)의 콘텐츠 데이터가 권리유효한 상태를 나타내고 있다.
상태 15는, 스텝 S385의 처리가 행해진 후의 상태이다. 즉, MS(4)의 콘텐츠 데이터가 소거됨으로써, HDD(58)만큼으로 콘텐츠 데이터가 기록되어 있는 상태로서, HDD(58)의 콘텐츠 데이터가 권리유효한 상태를 나타내고 있다.
도 84는, 무브인하는 콘텐츠 데이터를 선택할 때의 디스플레이(15)의 표시예를 나타내고 있다. 디스플레이(15)에는 MS(4)에 기록되어 있는 콘텐츠 데이터 중,무브인 가능한 콘텐츠 데이터만이 표시된다.
도 85는, 무브인처리가 행해지고 있는 한창중인 디스플레이(15)의 표시예를 나타내고 있다. 디스플레이(15)의 표시영역 301에는, 무브인처리가 실행 중인 것을 나타내는 문자 "Move in"이 점멸표시된다. 무브인이 완료된 콘텐츠 데이터의 횡으로는, 체크마크(302)가 표시된다. 표시영역 303에는, 무브인처리의 진척상황을 나타내는 정보(무브인 중 또는 무브인이 완료된 콘텐츠 데이터의 수/무브인하는 콘텐츠 데이터의 총수)가 표시된다.
이상, 무브인처리에 대하여 설명했지만, MS(4)로부터 HDD(58)에 콘텐츠 데이터를 임포트하는 처리도 동일하게 처리된다. 무브인처리와 임포트처리의 상위는, 무브인처리 또는 임포트처리에 의해 HDD(58)에 기록된 콘텐츠 데이터의 취급에 있다.
오디오서버(1)는, 무브인처리에 의해 HDD(58)에 기록된 콘텐츠 데이터를, 다른 MS(4)나 PD(5) 등에, 무브아웃하는 것이 가능하고, 또한, 체크아웃하는 것이 가능하다. 그렇지만, 오디오서버(1)는, 임포트처리에 의해 HDD(58)에 기록된 콘텐츠 데이터를, 다른 MS(4)나 PD(5) 등에, 체크아웃하는 것은 가능하지만, 무브아웃하는 것이 금지되어 있다.
다음에, 무브아웃처리나 무브인처리의 도중에 전원이 차단하는 등 하여 그 처리가 중단된 것을 보상하기 위한 복귀처리에 대하여, 도 86을 참조하여 설명한다. 이 복귀처리는, 전원복구 후, MS MW(89)에 의해 즉시 시작된다.
스텝 S391에서, MS MW(89)는, HDD(58)에 무브아웃 이력정보가 존재하는지 아닌지를 판정한다. HDD(58)에 무브아웃 이력정보가 존재한다고 판정된 경우, 무브아웃처리가 중단된 것을 보상하기 위해, 처리는 스텝 S392로 진행한다.
스텝 S392에서, MS MW(89)는, 무브아웃 복원처리를 실행한다. 무브아웃 복원처리에 대하여, 도 87의 흐름도를 참조하여 설명한다.
스텝 S401에서, MS MW(89)는, HDD(58)의 콘텐츠 데이터는 권리무효인지 아닌지를 판정한다. HDD(58)의 콘텐츠 데이터가 권리무효라고 판정된 경우, 처리는 스텝 S402로 진행한다. HDD(58)의 콘텐츠 데이터가 권리무효라고 하는 것은, 도 79에서 상태 3, 상태 4인 것을 나타내고 있다.
스텝 S402에서, MS MW(89)는, HDD(58)에 존재하는 콘텐츠 데이터를 삭제한다. 여기서, 상태 4일 때는, HDD(58)에 존재하는 콘텐츠 데이터가 삭제됨으로써, 상태 5인 무브아웃처리가 완료한 상태로 복원된다. 또한, 상태 3일 때는, HDD(58)에 존재하는 콘텐츠 데이터가 삭제됨으로써, MS(4)에 권리무효 데이터를 갖는 콘텐츠 데이터가 남겨진 상태가 된다.
이때, 사용자는 콘텐츠 데이터를 잃게 되어 버리지만 콘텐츠 데이터의 저작권자의 저작권을 보호하게 된다. 또한, MS(4)의 권리무효 데이터를 갖는 콘텐츠 데이터는, 사용자에 의해 범용의 파일편집 어플리케이션에 의해 삭제가능하기 때문에 MS(4)에 권리무효 데이터를 갖는 콘텐츠 데이터라는 쓸데 없는 데이터가 남겨지지 않는다.
그러나, 반대로, MS(4)의 권리무효 데이터를 갖는 콘텐츠 데이터를 삭제하고, HDD(58) 내의 권리무효 데이터를 갖는 콘텐츠 데이터를 남기도록 복원처리해버리면, HDD(58) 내에 권리무효 데이터를 갖는 콘텐츠 데이터라는 쓸데 없는 데이터가 HDD(58)에 기록된 상태로 되어 버린다. 권리무효 데이터를 갖는 콘텐츠 데이터는 통상 조작에서는 발생하지 않기 때문에, 본 실시예의 전용기인 오디오서버(1)는, 권리무효 데이터를 갖는 콘텐츠 데이터를 사용자 지시에 의해, 소거하는 기능을 가지지 않는다.
따라서, 콘텐츠 데이터의 저작권을 보호하고, 더욱이 오디오서버(1)에 무효한 데이터를 기록시키지 않기 위해서도 S402와 같이 HDD(58)에 존재하는 콘텐츠 데이터가 삭제되는 것이 바람직하다.
이때, 스텝 S401에서, HDD(58)의 콘텐츠 데이터가 권리무효가 아니라고 판정된 경우, 스텝 S402는 스킵된다. 즉, HDD(58)의 콘텐츠 데이터가 권리무효가 아니라는 것은, 도 79의 상태 2인 것을 나타낸다. 이때, MS(4)에 권리무효 데이터를 갖는 콘텐츠 데이터가 남겨진 상태가 되지만, 전술한 바와 같이, MS(4)의 권리무효 데이터를 갖는 콘텐츠 데이터는, 사용자에 의해 범용의 파일편집 어플리케이션에 의해 삭제가능하기 때문에 MS(4)에 권리무효 데이터를 갖는 콘텐츠 데이터라는 쓸데 없는 데이터가 남겨지지 않는다.
스텝 S403에서, MS MW(89)는, HDD(58)의 무브아웃 이력정보를 삭제한다.
처리는, 도 86에 되돌아간다. 스텝 S393에서, MS MW(89)는, HDD(58)에 무브인 이력정보가 존재하는지 아닌지를 판정한다. HDD(58)에 무브인 이력정보가 존재한다고 판정된 경우, 무브인처리가 중단된 것을 보상하기 위해, 처리는 스텝 S394로 진행한다.
스텝 S394에서, MS MW(89)는, 무브인 복원처리를 실행한다. 무브인 복원처리에 대하여, 도 88의 흐름도를 참조하여 설명한다.
스텝 S421에서, MS MW(89)는, HDD(58)의 콘텐츠 데이터는 권리무효인지 아닌지를 판정한다. HDD(58)의 콘텐츠 데이터가 권리무효라고 판정된 경우, 처리는 스텝 S422로 진행한다. HDD(58)의 콘텐츠 데이터가 권리무효라고 하는 것은, 도 83에서 상태 12, 상태 13인 것을 나타내고 있다.
스텝 S422에서, MS MW(89)는, HDD(58)에 존재하는 콘텐츠 데이터를 삭제한다.
여기서, 상태 12일 때는, HDD(58)에 존재하는 콘텐츠 데이터가 삭제됨으로써, 상태 11인 무브인처리 전의 상태로 복원된다. 또한, 상태 13일 때는, HDD(58)에 존재하는 콘텐츠 데이터가 삭제됨으로써, MS(4)에 권리무효 데이터를 갖는 콘텐츠 데이터가 남겨진 상태가 된다.
이때, 사용자는 콘텐츠 데이터를 잃게 되어 버리지만 콘텐츠 데이터의 저작권자의 저작권을 보호하게 된다. 또한, MS(4)의 권리무효 데이터를 갖는 콘텐츠 데이터는, 사용자에 의해 범용의 파일편집 어플리케이션에 의해 삭제가능하기 때문에 MS(4)에 권리무효 데이터를 갖는 콘텐츠 데이터라는 쓸데 없는 데이터가 남겨지지 않는다.
그러나, 반대로, MS(4)의 권리무효 데이터를 갖는 콘텐츠 데이터를 삭제하고, HDD(58) 내의 권리무효 데이터를 갖는 콘텐츠 데이터를 남기도록 복원처리해 버리면, HDD(58) 내에 권리무효 데이터를 갖는 콘텐츠 데이터라는 쓸데 없는 데이터가 HDD(58)에 기록된 상태로 되어 버린다. 권리무효 데이터를 갖는 콘텐츠 데이터는 통상조작에서는 발생하지 않기 때문에, 본 실시예의 전용기인 오디오서버(1)는, 권리무효 데이터를 갖는 콘텐츠 데이터를 사용자 지시에 의해 소거하는 기능을 가지지 않는다.
따라서, 콘텐츠 데이터의 저작권을 보호하고, 더욱이 오디오서버(1)에 무효한 데이터를 기록시키지 않기 위해서도 S422와 같이 HDD(58)에 존재하는 콘텐츠 데이터가 삭제되는 것이 바람직하다.
이때, 스텝 S421에서, HDD(58)의 콘텐츠 데이터가 권리무효가 아니라고 판정된 경우, 스텝 S422는 스킵된다. 즉, HDD(58)의 콘텐츠 데이터가 권리무효가 아니라는 것은, 도 83의 상태 14, 상태 15인 것을 나타낸다. 상태 15는 무브인처리가 완료되어 있는 상태이기 때문에 문제는 없다. 그러나, 상태 14에서는 MS(4)에 권리무효 데이터를 갖는 콘텐츠 데이터가 남겨진 상태가 되지만, 전술한 바와 같이, MS(4)의 권리무효 데이터를 갖는 콘텐츠 데이터는, 사용자에 의해 범용의 파일편집어플리케이션에 의해 삭제가능하기 때문에 MS(4)에 권리무효 데이터를 갖는 콘텐츠 데이터라는 쓸데 없는 데이터가 남겨지지 않는다.
스텝 S423에서, MS MW(89)는, HDD(58)의 무브인 이력정보를 삭제한다. 이상, 무브인 복원처리의 설명을 종료한다. 처리는, 도 86으로 되돌아가, 복귀처리는 종료된다.
이때, 도 86의 스텝 S391에서, HDD(58)에 무브아웃 이력정보가 존재하지 않는다고 판정된 경우, 무브아웃처리가 정상적으로 종료되어 있거나, 도 79의 상태 1이거나 상태 2일 가능성이 있다. 무브아웃처리가 정상적으로 종료되어 있는 경우와, 무브아웃처리 전의 상태인 상태 1에서는, 무브아웃 복원처리를 스킵해도 상관없다.
또한, 상태 2에서도, MS(4)의 권리무효 데이터를 갖는 콘텐츠 데이터가 남겨져 버리지만, 권리무효 데이터를 갖는 콘텐츠 데이터는, 사용자에 의해 범용의 파일편집 어플리케이션에 의해 삭제가능하기 때문에 MS(4)에 권리무효 데이터를 갖는 콘텐츠 데이터라는 쓸데 없는 데이터가 남겨지지 않는다. 따라서, 스텝 S392의 처리는 스킵되게 된다.
또한, 스텝 S393에서, HDD(58)에 무브인 이력정보가 존재하지 않는다고 판정된 경우, 무브인처리가 정상적으로 종료되어 있거나, 도 83의 상태 11일 가능성이 있다. 무브인처리가 정상적으로 종료되어 있는 경우와, 무브처리 전의 상태인 상태 11에서는, 무브인 복원처리를 스킵해도 상관없으므로, 스텝 S394의 처리는 스킵된다.
또한, 복귀처리가 전원차단 후에 따라 중단되었다고 해도, 전원복구 후에 다시 스텝 S391로부터 실행되므로, 그 보상은 이루어지게 된다. 이상, 복귀처리의 설명을 종료한다.
다음에, 오디오서버(1)의 HDD(58)에 기록되어 있는 콘텐츠 데이터를, MS(4)에 체크아웃하는 처리에 대하여, 도 89 내지 도 91을 참조하여 설명한다.
여기서, HDD(58)에 기록되어 있는 콘텐츠 데이터를 체크아웃하는 처리란, HDD(58)에 기록되어 있는 콘텐츠 데이터의 카피를 MS(4) 등에 일시적으로 작성하여이용하기 위한 처리이다. 콘텐츠 데이터의 체크아웃 가능회수는 미리 설정되어 있고, 체크아웃처리에 의해 체크아웃 가능회수는 1씩 감소하지만, 후술하는 체크인처리를 실행함으로써, 감소한 체크아웃 가능회수는 1씩 복원된다.
체크아웃처리에 대하여, 도 89의 흐름도를 참조하여 설명한다. 이때, 체크아웃처리는, HD MW(82)의 C IN/C OUT(87)에 의해 제어된다.
이 체크아웃처리는, MS 슬롯(45)에 MS(4)가 삽입되어 있는 상태에서, 사용자가 메뉴/캔슬버튼(21)을 조작하여 메뉴를 표시시키고, 커서버튼(17)을 조작하여 「편집」을 선택한 후, 엔터버튼(20)을 조작하여 편집메뉴를 표시시키고, 커서버튼(17)을 조작하여 「체크아웃」을 선택한 후, 엔터버튼(20)을 조작했을 때에 시작된다.
스텝 S441에서, C IN/C OUT(87)는, HS DB(91)를 제어하여, 현재 선택되어 있는 앨범에 속하는 모든 트랙에 대응하는 콘텐츠 데이터의 체크아웃 가능회수(체크아웃남아 회수)를 취득한다. 콘텐츠 데이터의 체크아웃 가능회수는, 대응하는 트랙 오브젝트의 AC(도 42)에 포함되는 CN에 기록되어 있다(도 43).
스텝 S442에서, C IN/C OUT(87)는, 관계하는 펌웨어에 의뢰하여, 체크아웃 가능회수가 1 이상 있는 트랙에 대한 정보(곡 타이틀, 체크아웃 가능회수 등)를, 디스플레이(15)에 표시시킨다. 도 90은, 디스플레이(15)의 표시예를 나타내고 있다. 디스플레이(15)의 표시영역 311에는, 체크아웃의 음원을 나타내는 정보로서 "HDD"가 표시된다. 표시영역 312의 표시는, 각 트랙에 대응하는 콘텐츠 데이터의 체크아웃 가능회수를 나타내고 있다.
스텝 S443에서, C IN/C OUT(87)는, 사용자가 커서버튼(17)과 셀렉트버튼(18)을 조작함으로써, 표시된 체크아웃 가능한 트랙 중, 체크아웃하는 트랙을 선택하는지 아닌지를 판정한다. 체크아웃하는 트랙을 선택했다고 판정된 경우, 처리는 스텝 S444로 진행한다.
스텝 S444에서, C IN/C OUT(87)는, 선택된 트랙을 체크아웃 리스트에 추가한다. 스텝 S445에서, C IN/C OUT(87)는, 선택된 트랙에 대한 콘텐츠 데이터의 체크아웃 가능회수의 표시를 1만큼 디크리먼트시킨다. 처리는, 스텝 S441로 되돌아가, 이후의 처리가 반복된다.
이때, 스텝 S443에서, 체크아웃하는 트랙이 선택되지 않는다고 판정된 경우에는, 처리는 스텝 S446으로 진행한다. 스텝 S446에서, C IN/C OUT(87)는, 사용자가 엔터키(20)를 조작함으로써, 체크아웃하는 트랙의 리스트를 표시시켜, 더욱이 엔터키(20)를 조작함으로써, 체크아웃의 실행을 지시했는지 아닌지를 판정한다. 체크아웃의 실행이 지시되어 있지 않다고 판정된 경우, 처리는 스텝 S441로 되돌아가, 이후의 처리가 반복된다.
그 후, 스텝 S446에서, 체크아웃의 실행이 지시되었다고 판정된 경우, 처리는 스텝 S447로 진행한다. 스텝 S447에서, C IN/C OUT(87)는, 체크아웃 리스트에 포함되는 트랙에 대응하는 콘텐츠 데이터를 HDD(58)로부터 판독하고, MS MW(89)에 의뢰하여, 판독한 콘텐츠 데이터를 MS(4)에 카피시킨다. 이때, 콘텐츠 데이터의 카피에는, 체크아웃원인 HDD(58)를 특정하는 정보를 포함하게 한다.
스텝 S448에서, C IN/C OUT(87)는, 카피한 콘텐츠 데이터에 대응하는 트랙오브젝트의 AC의 CN에 기록되어 있는 체크아웃 가능회수를 1만큼 디크리먼트하여 CN의 값을 갱신한다. 또한, C IN/C OUT(87)는, AC의 LCMLOG에, 체크아웃처의 정보로서 MS(4)를 특정하는 정보를 기록한다.
이때, 설명은 생략하지만, 이 체크아웃처리에서도, 전술한 무브아웃처리와 마찬가지로, 재생의 가부(권리의 유효, 또는 무효)를 나타내는 플래그를 사용함으로써, 전원차단 등의 보상과, 부정한 카피의 작성을 억지하고 있다.
도 91은, 체크아웃처리가 실행되어 있는 한창중인 디스플레이(15)의 표시예를 나타내고 있다. 표시영역 321에는 체크아웃 중인 것을 나타내는 문자 "Check out"가 점멸표시된다. 체크아웃이 완료된 트랙의 횡으로는, 체크마크(322)가 표시된다. 현재 체크아웃 중의 트랙의 횡으로는, 포인터(323)가 표시된다. 표시영역 324에는, 체크아웃처리의 진척상황을 나타내는 정보(체크아웃 중 또는 체크아웃이 완료된 콘텐츠 데이터의 수/체크아웃 리스트에 포함되는 콘텐츠 데이터의 총수)가 표시된다. 이상, 체크아웃처리의 설명을 종료한다.
다음에, MS(4)에 체크아웃한 콘텐츠 데이터를, HDD(58)에 체크인하는 처리에 대하여, 도 92 및 도 93을 참조하여 설명한다.
여기서, MS(4)에 기록되어 있는 콘텐츠 데이터를 체크아웃하는 처리란, HDD(58)로부터 MS(4)에 일시적으로 재생한 콘텐츠 데이터의 카피를 소거함과 동시에, HDD(58)의 체크아웃 가능회수를 1만큼 인크리먼트하여, 체크아웃 가능회수를 원래의 값으로 복원하는 처리이다.
체크인처리에 대하여, 도 92의 흐름도를 참조하여 설명한다. 이때, 체크인처리는, HD MW32의 C IN/C OUT(87)에 의해 제어된다.
이 체크인처리는, MS 슬롯(45)에 MS(4)가 삽입되어 있는 상태로, 사용자가 메뉴/캔슬버튼(21)을 조작하여 메뉴를 표시시키고, 커서버튼(17)을 조작하여 「편집」을 선택한 후, 엔터버튼(20)을 조작하여 편집메뉴를 표시시키고, 커서버튼(17)을 조작하여 「체크인」을 선택한 후, 엔터버튼(20)을 조작했을 때에 시작된다.
스텝 S451에서, C IN/C OUT(87)는, MS MW(89)에 의뢰하여, MS(4)에 기록되어 있는 데이터 중, 체크인 가능한 콘텐츠 데이터(오디오서버(1)의 HDD(58)로부터 체크아웃된 콘텐츠 데이터)를 식별하고, 관계하는 펌웨어에 의뢰하여, 체크인 가능한 콘텐츠 데이터의 정보를 디스플레이(15)에 표시시킨다.
스텝 S452에서, C IN/C OUT(87)는, 체크인 가능한 트랙에 대한 정보(곡 타이틀 등)를, 디스플레이(15)에 표시시킨다. 도 93은, 디스플레이(15)의 표시예를 나타내고 있다. 디스플레이(15)의 표시영역 331에는, 체크인의 음원을 나타내는 정보로서 "MS"가 표시된다. 콘텐츠 데이터의 곡 타이틀명 등의 정보 후에 표시되는 화살표 332는, 해당 콘텐츠 데이터가 체크인 가능한 것을 나타내고 있다.
스텝 S452에서, C IN/C OUT(87)는, 사용자가 커서버튼(17)과 셀렉트버튼(18)을 조작함으로써, 표시된 체크인 가능한 콘텐츠 데이터 중, 체크인하는 콘텐츠 데이터를 선택했는지 아닌지를 판정한다. 체크인하는 콘텐츠 데이터를 선택했다고 판정된 경우, 처리는 스텝 S453으로 진행한다.
스텝 S453에서, C IN/C OUT(87)는, 선택된 콘텐츠 데이터를 체크인 리스트에 추가한다. 처리는, 스텝 S451로 되돌아가, 그 이후의 처리가 반복된다.
이때, 스텝 S452에서, 체크인하는 콘텐츠 데이터가 선택되지 않는다고 판정된 경우에는, 처리는 스텝 S454로 진행한다. 스텝 S454에서, C IN/C OUT(87)는, 사용자가 엔터키(20)를 조작함으로써, 체크인하는 콘텐츠 데이터의 리스트를 표시시켜, 더욱이 엔터키(20)를 조작함으로써, 체크인의 실행을 지시했는지 아닌지를 판정한다. 체크인의 실행이 지시되어 있지 않다고 판정된 경우, 처리는 스텝 S451로 되돌아가, 그 이후의 처리가 반복된다.
그 후, 스텝 S454에서, 체크인의 실행이 지시되었다고 판정된 경우, 처리는 스텝 S455로 진행한다. 스텝 S455에서, C IN/C OUT(87)는, MS MW(89)에 의뢰하여, 체크인 리스트에 포함되는 MS(4)의 콘텐츠 데이터를 소거한다(재생의 가부를 나타내는 플래그를 부, 즉, 권리무효로 하는 것만이라도 된다).
스텝 S456에서, C IN/C OUT(87)는, HDD(58)에 기록되어 있는 원래의 콘텐츠 데이터에 대응하는 트랙 오브젝트의 AC의 CN에 기록되어 있는 체크아웃 가능회수를 1만큼 인크리먼트하여 CN의 값을 갱신한다. 또한, C IN/C OUT(87)은, AC의 LCMLOG에서 체크아웃처의 정보로서 기록하고 있는 MS(4)를 특정하는 정보를 삭제한다. 이상, 체크인처리의 설명을 종료한다.
다음에, MS(4)에 기록되어 있는 콘텐츠 데이터를 체크인하는 처리와, HD 플레이기능에 의해 마지막에 재생한 트랙이 포함되는 앨범에 속하는 복수의 트랙을 일괄하여 MS(4)에 체크아웃하는 처리를 연속하여 실행하는 익스체인지 처리에 대하여, 도 94 내지 도 97을 참조하여 설명한다.
이 익스체인지 처리는, MS 슬롯(45)에 MS(4)가 삽입된 상태로, 사용자가 익스체인지 버튼(22)을 조작했을 때에 시작된다.
스텝 S461에서, C IN/C OUT(87)는, MS MW(89)에 의뢰하여, MS(4)에 기록되어 있는 데이터 중, 체크인 가능한 콘텐츠 데이터를 식별한다. 스텝 S462에서, C IN/C OUT(87)는, MS MW(89)와 연휴하여, MS(4)의 체크인 가능한 콘텐츠 데이터를 1 콘텐츠 데이터씩, 도 92를 참조하여 전술한 체크인처리와 마찬가지로 체크인한다.
도 95는, 스텝 S462의 처리가 행해지고 있는 한창중인 디스플레이(15)의 표시예를 나타내고 있다. 디스플레이(15)의 표시영역 381에는, 체크인의 음원을 나타내는 정보로서 "MS"가 표시된다. 표시영역 382에는, 체크인이 실행 중인 것을 나타내는 문자 "Now Check in"이 점멸표시된다. 콘텐츠 데이터의 곡 타이틀명 등의 정보 전에 표시되는 "×"인 383은, 해당 콘텐츠 데이터가 체크인 불가능한 것을 나타내고 있다. 체크마크 384는, 해당 콘텐츠 데이터의 체크인이 완료되어 있는 것을 나타내고 있다. 포인터(385)는, 해당 콘텐츠 데이터의 체크인이 실행 중인 것을 나타내고 있다.
스텝 S463에서, C IN/C OUT(87)는, MS(4)의 체크인 가능한 콘텐츠 데이터를 모두 체크인했는지 아닌지를 판정한다. MS(4)의 체크인 가능한 콘텐츠 데이터를 모두 체크인했다고 판정되지 않는 경우, 처리는 스텝 S462로 되돌아가, 다음 콘텐츠 데이터가 체크인된다. 그 후, 스텝 S463에서, MS(4)의 체크인 가능한 콘텐츠 데이터를 모두 체크인했다고 판정된 경우, 처리는 스텝 S464로 진행한다.
스텝 S464에서, C IN/C OUT(87)는, HD DB(91)과 연휴하여, 속하는 트랙을 일괄하여 체크아웃하는 앨범을 결정한다. 구체적으로는, 예를 들면, HD DB(91)가 오브젝트 기록영역(122)에 기록되어 있는 각 트랙 오브젝트의 최종 액세스 일시(도 42)에 근거하여 마지막에 재생된 트랙을 판별하고, 그 트랙이 속하는 앨범을 체크아웃하는 앨범으로 결정한다.
스텝 S465에서, C IN/C OUT(87)는, 체크아웃하는 앨범으로부터 1트랙(즉, 콘텐츠 데이터)을 선택한다. 스텝 S466에서, C IN/C OUT(87)는, 선택된 콘텐츠 데이터가 체크아웃 가능한지 아닌지를 판정한다. 선택된 콘텐츠 데이터가 체크아웃가능이라고 판정된 경우, 처리는 S467로 진행한다.
스텝 S467에서, C IN/C OUT(87)는, MS MW(89)에 의뢰하여, 선택된 콘텐츠 데이터를 체크아웃하는 만큼의 용량이 MS(4)에 비어 있는지 아닌지를 판정하게 한다. 선택된 콘텐츠 데이터를 체크아웃하는 만큼의 용량이 MS(4)에 비어 있다고 판정된 경우, 처리는 스텝 S468로 진행한다.
스텝 S468에서, C IN/C OUT(87)는, 선택된 콘텐츠 데이터를, 도 89를 참조하여 전술한 체크아웃처리와 마찬가지로 체크아웃한다.
도 96은, 스텝 S468의 처리가 행해지고 있는 한창중인 디스플레이(15)의 표시예를 나타내고 있다. 디스플레이(15)의 표시영역 391에는, 체크아웃의 음원을 나타내는 정보로서 "HDD"가 표시된다. 표시영역 392에는, 체크아웃이 실행 중인 것을 나타내는 문자 "Now Check out"가 점멸표시된다. 콘텐츠 데이터의 곡 타이틀명 등의 정보 전에 표시되는 "×"인은, 해당 콘텐츠 데이터가 체크아웃 불가능한 것을 나타내고 있고, 체크마크는, 해당 콘텐츠 데이터의 체크아웃이 완료되어 있는 것을 나타내고 있다.
스텝 S469에서, C IN/C OUT(87)는, 체크아웃하는 앨범에 포함되는 모든 트랙(즉, 콘텐츠 데이터)을, 스텝 S465에서 선택했는지 아닌지를 판정한다. 모든 콘텐츠 데이터를 스텝 S465에서 선택하고 있지 않다고 판정된 경우, 처리는 스텝 S465로 되돌아가, 이후의 처리가 반복되고, 스텝 S469에서, 모든 콘텐츠 데이터를 스텝 S465에서 선택했다고 판정된 경우, 익스체인지 처리는 종료된다.
이때, 스텝 S466에서, 선택된 콘텐츠 데이터가 체크아웃가능하지 않다고 판정된 경우, 스텝 S467, S468은 스킵된다. 또한, 스텝 S467에서, 선택된 콘텐츠 데이터를 체크아웃하는 만큼의 용량이 MS(4)에 비어 있지 않다고 판정된 경우, 스텝 S468은 스킵된다.
도 97은, 익스체인지 처리가 완료된 직후의 디스플레이(15)의 표시예를 나타내고 있다. 디스플레이(15)의 표시영역 401에는, 익스체인지 처리가 완료된 것을 나타내는 문자 "COMPLETE"가 표시된다.
이상 설명한 바와 같이, 사용자는, 익스체인지 버튼(22)을 조작하는 것만으로, MS(4)로부터 HDD(58)에 대한 체크인처리와, HDD(58)로부터 MS(4)에 대한 체크아웃처리가 자동적으로 실행시키는 것이 가능하게 된다. 이상, 익스체인지 처리의 설명을 종료한다.
그런데, 전술한 무브아웃처리, 무브인처리, 임포트처리, 체크아웃처리, 및 체크인처리는, HDD(58)와 MS(4)와의 사이뿐만 아니라, HDD(58)와 커넥터(43)에 접속되는 PD(5)와의 사이에서도 실행하는 것이 가능하다.
다음에, 도 98은, PD(5)의 하드웨어적인 구성예를 나타내고 있다. PD(5)를실현하는 LSI(Large Scale Integration)(410)는, 그 전체를 제어하는 CPU(411)를 내장하고 있다. CPU(411)에는, 버스(421)를 통해, ROM(412), RAM(413), DMA 컨트롤러(414), DSP(Digital Signal Processor)(415), 버퍼(416), LCD 인터페이스(I/F)(417), 직렬 인터페이스(I/F)(418), 및 인터페이스(419, 420)가 접속되어 있다.
ROM(412)에는, PD(5)의 각종의 기능을 실현하는 프로그램, 기기 ID, 암호키 등이 기억되어 있다. RAM(413)은, CPU(411)가 각종의 처리를 실행할 때, 소정의 데이터나 프로그램을 일시적으로 기억한다. DMA 컨트롤러(414)는, 버퍼(416), 플래시 메모리(426), 및 직렬 인터페이스(418)를 통하는 USB 컨트롤러(424)의 사이의 데이터전송을 제어한다. DSP(415)는, 플래시 메모리(426) 등에 기록되어 있는 콘텐츠 데이터를 디코드한다.
또한, DSP(415)는, DES 엔진을 가지고 있고, 암호키를 사용하여 콘텐츠 데이터의 암호화/복호를 행한다. 버퍼(416)는, DMA 컨트롤러(417)가 전송을 제어하는 데이터를 일시적으로 버퍼링한다.
LCD 인터페이스(417)의 후단에는, LCD 드라이버(422), 및 LCD(423)가 접속된다. 직렬 인터페이스(418)의 후단에는, USB 컨트롤러(424), 및 USB 커넥터(425)가 접속된다. USB 컨트롤러(424)는, USB 커넥터(425)를 통해 접속되는 오디오서버(1)와의 데이터통신을 제어한다. 인터페이스 419를 통해 접속되는 플래시 메모리(426)에는, 오디오서버(1)로부터 무브아웃된 콘텐츠 데이터와, 그 곡 타이틀 등의 부가정보가 기록된다. 인터페이스 420의 후단에는, DAC(427) 및 증폭기(AMP)(428)가 접속된다. 전원부(429)는, LSI(410)에 전원공급한다.
DSP(415)의 디코드에 의해 얻어지는 오디오 데이터는, 인터페이스(420), DAC(427), 및 증폭기(AMP)(428)를 통해 헤드폰 등에 출력된다.
HDD(58)와 MS(4)와의 사이의 무브아웃처리 등과, HDD(58)와 PD(5)와의 사이의 무브아웃처리 등은, 거의 동일하므로, 그 상위에 대해서만 설명한다.
MS(4)에 기록하는 콘텐츠 데이터의 암호화는, 오디오서버(1)의 HDD(58)에 기록되어 있는 콘텐츠 데이터의 암호화와 동일한 암호키에 따라 행해진다. 따라서, HDD(58)와 MS(4)와의 사이에서는, 암호화된 콘텐츠 데이터를 복호하지 않고, 그 대로의 상태로 무브아웃할 수 있다.
그것에 대하여, PD(5)에 기록하는 콘텐츠 데이터의 암호화는, 오디오서버(1)의 HDD(58)에 기록되어 있는 콘텐츠 데이터의 암호화와는 다른 암호키가 사용된다. 따라서, HDD(58)와 PD(5)와의 사이에서는, 도 56을 참조하여 전술한 바와 같이, HDD(58)에 기록되어 있는 콘텐츠 데이터의 암호가 복호되고, 다시, 다른 PD(5)용의 암호키를 사용하여 암호화된 콘텐츠를 무브아웃하도록 하고 있다.
이상, HDD(58)과 PD(5)와의 사이에서의 무브아웃처리, 무브인처리, 임포트처리, 체크아웃처리, 및 체크인처리에 대한 설명을 종료한다.
다음에, 오디오서버(1)가 갖는 스토어(ST0RE)기능 및 리스토어(REST0RE)기능에 대하여, 도 99 내지 도 107을 참조하여 설명한다.
스토어기능이란, 이미 MS(4)에 기록되어 있는 콘텐츠 데이터 이외의 오디오서버(1)가 재생불가능한 데이터(예를 들면, 정지화상파일, 보이스파일 등)가 존재하기 때문에, MS(4)의 기록용량이 부족한 경우, 그것을 해소하기 위해, 이미 MS(4)에 기록되어 있는 콘텐츠 데이터 이외의 데이터를, 동시에 기록하는 동종의 파일을 하나의 아카이브 파일로서 일시적으로 HDD(58)에 보관하는 기능이다.
리스토어기능이란, 스토어기능에 의해 HDD(58) 상에 생성한 아카이브 파일을 사용하여, 대응하는 디렉토리와 그것에 속하는 파일을 MS(4) 상에 복원하는 기능이다.
도 99는, MS(4)에 기록되어 있는 가능성이 있는 디렉토리 및 데이터 파일의 종류를 나타내고 있다.
파일 MEMSTICK. ind는, 해당 파일이 기록되어 있는 기록미디어가 메모리 스틱인 것을 나타내고 있다. 디렉토리 DCIM은, 디지털 카메라 등으로 생성된 정지 화상파일이 저장되는 디렉토리이다. 디렉토리 VOICE는, IC 리코더 등에서 생성된 보이스파일이 저장되는 디렉토리이다. 디렉토리 HIFI는, 오디오서버(1) 등으로부터 체크아웃, 무브아웃 등 된 저작권정보가 부가되어 있는 콘텐츠 데이터가 저장되는 디렉토리이다. 디렉토리 CONTROL은, 컨트롤 정보파일이 저장되는 디렉토리이다. 디렉토리 TEL은, 전화 및 패시밀리 정보파일이 저장되는 디렉토리이다. 디렉토리 OPEN- R은, 엔터테인먼트 로봇 정보파일이 저장되는 디렉토리이다. 디렉토리 POSITION은, 위치정보파일이 저장되는 디렉토리이다. 디렉토리 PALM은, PALMOS 데이터 파일이 저장되는 디렉토리이다. 디렉토리 MP3은, MP3 파일이 저장되는 디렉토리이다. 디렉토리 MSxxxxxx는, 벤더 고유의 정보파일이 저장되는 디렉토리이다("xxxxxx"는, 벤더를 식별하기 위한 정보임).
도 100은, 스토어기능에 의해 HDD(58)의 오브젝트 기록영역(122)의 디렉토리 구조 하에 생성되는 아카이브 파일의 기록위치를 나타내고 있다. 폴더 오브젝트(217)와 동일한 계층에는, MS 데이터 오브젝트(501)가 생성된다. MS 데이터 오브젝트 하의 계층에는, MS 스토어/리스토어 오브젝트가 생성된다. 아카이브 파일(도 100의 경우, MS 데이터#1. DCIM, MS 데이터#2. VOICE, 및 MS 데이터#3. DCIM)은, MS 스토어/리스토어 오브젝트 하의 계층에 기록된다.
이때, 「MS 데이터#1」과 같은 아카이브 파일의 명칭은, 사용자가 임의로 설정할 수 있다.
다음에, 스토어기능을 실현하는 HD MW(82)에 의한 스토어 처리에 대하여, 도 101의 흐름도를 참조하여 설명한다. 리스토어 처리는, 사용자가 펑크션버튼(12)을 반복하여 눌러, 음원으로서 MS(4)를 선택하고, 메뉴/캔슬버튼(21)을 누른 후, 커서버튼(17)에 의해 「편집」을 선택하여 엔터버튼(20)을 누르고, 더욱이, 커서버튼(17)에 의해 「Store(MS→HDD)」를 선택하여 엔터버튼(20)을 눌렀을 때에 시작된다.
스텝 501에서, HD MW(82)는, MS MW(89)에 의뢰하여, MS(4)에 기록되어 있는 디렉토리 중, 스토어의 대상이 되는 디렉토리, 즉, 디렉토리 HIFI 이외의 디렉토리를 검색하고, 그 용량을 산출하여, 디스플레이(15)에 표시시킨다.
도 102는, 음원으로서 MS(4)가 선택되었을 때의 디스플레이(15)의 표시예를 나타내고 있다. 표시영역 511 및 512에는, 음원을 나타내는 문자 「MS」,「Memory Stick」이 표시된다. 표시마크 513은, 정지화상파일 저장용 디렉토리를 나타내고있고, 지금의 경우, 그 용량이 8MB인 것을 나타내고 있다. 표시마크 514는, 보이스파일 저장용 디렉토리를 나타내고 있고, 지금의 경우, 그 용량이 1MB인 것을 나타내고 있다.
도 101로 되돌아간다. 스텝 S502에서, HD MW(82)는, 스토어의 대상으로 하는 디렉토리를 선택하는 사용자의 조작을 접수하고, 사용자의 조작이 행해질 때까지 대기한다. 도 103은, 스토어 가능한 디렉토리의 리스트가 표시된 디스플레이(15)의 표시예를 나타내고 있다. 표시영역 521에는, 스토어 가능한 디렉토리의 리스트가 표시되어 있는 것을 나타내는 정보가 표시된다. 표시영역 522에는, 스토어 가능한 정지화상파일 저장용 디렉토리가 존재하고, 그 용량이 8MB인 것이 표시되어 있다. 표시영역 524에는, 스토어 가능한 보이스파일 저장용 디렉토리가 존재하며, 그 용량이 1MB인 것이 표시되어 있다. 커서(524)는, 커서버튼(17)에 대한 조작에 대응하여, 정지화상파일 저장용 디렉토리, 또는 보이스파일 저장용 디렉토리를 나타낸다.
도 101로 되돌아간다. 스텝 502에서, 스토어의 대상으로 하는 디렉토리를 선택하는 사용자의 조작이 행해진 경우, 처리는 스텝 S503으로 진행한다. 스텝 503에서, HD MW(82)는, MS MW(89)에 의뢰하여, 스토어의 대상으로서 선택된 디렉토리에 속하는 모든 파일을 판독하고, 하나의 아카이브 파일로서 HDD(58)의 오브젝트 기록영역(122)의 MS 스토어/리스토어 오브젝트 하의 계층에 기록한다. 스텝 S504에서, HD MW(82)는, 기록한 아카이브 파일에, 원래의 대상 디렉토리(예를 들면, 디렉토리 DCIM), 및 아카이브 파일의 파일명(예를 들면, "2001/08/11")을 대응하여 설치하여 기록한다.
이때, 아카이브 파일의 파일명은, 사용자가 임의로 설정가능하지만, 파일명의 설정을 행하지 않은 경우, 예를 들면, 파일명 "2001/08/11"과 같이, 해당 스토어 처리가 행해지고 있는 날짜가 아카이브 파일의 파일명으로서 자동적으로 설정된다.
도 104는, 아카이브 파일이 생성되어 있는 한창중인 디스플레이(15)의 표시예를 나타내고 있다. 표시영역 531에는, MS(4)의 정지화상파일 저장용 디렉토리가 HDD(58)에 스토어되어 있는 것을 나타내는 정보가 표시된다. 표시영역 532에는, 생성되어 있는 아카이브 파일의 파일네임(지금의 경우, "2001/08/11")이 표시된다. 표시영역 533에는, 해당 스토어 처리의 진척상황에 비례하여 신장하는 가변길이 바(534)가 표시된다. 표시영역 535에는, 스토어 처리가 실행 중인 것을 나타내는 문자열 「Store」가 점멸표시된다.
도면 101로 되돌아간다. 스텝 505에서, HD MW(82)는, MS MW(89)에 의뢰하여, HDD(58)에 아카이브 파일이 생성된 MS(4) 상의 디렉토리를, MS(4)로부터 소거시킨다. 이상, 스토어 처리의 설명을 종료한다.
이때, 스텝 502의 처리와 같이, 스토어의 대상으로 하는 디렉토리를 선택하는 사용자의 조작을 기다리는 것은 아니며, 검색된 스토어 가능한 디렉토리를 자동적으로 선택하도록 하여, 이후의 처리를 실행하도록 해도 된다.
이상 설명한 바와 같이, 스토어 처리에서는, MS(4)에 기록되어 있는 디렉토리 및 파일 중, 스토어 가능한 디렉토리를 검색할 수 있다. 또한, 특정의 전자기기에 의해 생성되는 파일이 저장되는 디렉토리를 선택하여 스토어할 수 있다. 더욱이, 스토어 처리에서는, MS(4) 상의 저작권정보를 갖는 파일이 저장되어 있는 HIFI 디렉토리는 해당 처리의 대상으로 하지 않으므로, HIFI 디렉토리에 저장되어 있는 콘텐츠 데이터를 부정하게 카피하고자 하는 악의 있는 사용자에게, 이 스토어기능이 이용되는 것을 억지할 수 있다.
다음에, HD MW(82)에 의한, HDD(58)에 스토어된 아카이브 파일에 해당하는 디렉토리를 MS(4)에 복원하는 리스토어 처리에 대하여, 도 105의 흐름도를 참조하여 설명한다.
이 리스토어 처리는, 사용자가 펑크션버튼(12)을 반복하여 눌러, 음원으로서 HDD(58)를 선택하고, 메뉴/캔슬버튼(21)을 누른 후, 커서버튼(17)에 의해 「편집」을 선택하여 엔터버튼(20)을 누르고, 더욱이, 커서버튼(17)에 의해 「Restore(MS→HDD)」를 선택하여 엔터버튼(20)을 눌렀을 때에 시작된다.
스텝 501에서, HD MW(82)는, HDD(58)의 오브젝트 기록영역(122)의 MS 스토어/리스토어 오브젝트 하의 계층에 속하는 아카이브 파일의 리스트를 디스플레이(15)에 표시한다.
도 106은, 아카이브 파일의 리스트를 표시하는 디스플레이(15)의 표시예를 나타내고 있다. 표시영역 541에는, 음원을 나타내는 문자열 「HDD」가 표시된다. 표시영역 542에는, 문자열 「Restore List」가 표시된다. 표시영역 543에는, 리스토어 가능한 아카이브 파일의 정보(파일의 종류를 나타내는 마크, 파일명, 데이터 용량)가 표시된다. 커서 544는, 커서버튼(17)에 대한 조작에 대응하여, 정지화상파일 저장용 디렉토리, 또는 보이스파일 저장용 디렉토리를 지시한다.
도 105로 되돌아간다. 스텝 S512에서, HD MW(82)는, 스텝 S502에서, HD MW(82)는, 리스토어시키는 아카이브 파일을 선택하는 사용자의 조작을 접수하고, 사용자의 조작이 행해질 때까지 대기한다. 구체적으로는, 커서(544)를 상하로 이동시켜 아카이브 파일을 선택하는 커서버튼(17)에 대한 조작과, 그 선택을 확정하는 엔터버튼(20)에 대한 조작이 행해질 때까지 대기한다. 사용자의 조작이 행해진 경우, 처리는 스텝 S513으로 진행한다.
도 107은, 아카이브 파일에 근거하여, 원래의 디렉토리와 그것에 속하는 파일이 복원되어 있는 한창중인 디스플레이(15)의 표시예를 나타내고 있다. 표시영역 551에는, HDD(58)으로부터 MS(4)에 대하여, 정지화상파일 저장용 디렉토리가 리스토어되어 있는 것을 나타내는 정보 「Restore(HDD→MS)」가 표시된다. 표시영역 552에는, 리스토어되어 있는 아카이브 파일의 파일네임(지금의 경우, "2001/08/11")이 표시된다. 표시영역 553에는, 해당 리스토어 처리의 진척상황에 비례하여 신장하는 가변길이 바(554)가 표시된다. 표시영역 555에는, 리스토어 처리가 실행 중인 것을 나타내는 문자열 「Restore」가 점멸표시된다.
도 105로 되돌아간다. 스텝 513에서, HD MW(82)는, MS MW(89)에 의뢰하여, 리스토어의 대상으로서 선택된 아카이브 파일에 근거하여, 원래의 디렉토리와 그것에 속하는 모든 파일을 MS(4) 상에 복원한다. 스텝 S514에서, HD MW(82)는, 선택된 아카이브 파일을 HDD(58) 오브젝트 기록영역(122)의 MS 스토어/리스토어 오브젝트 하의 계층으로부터 삭제한다. 이상, 리스토어 처리의 설명을 종료한다.
이때, 스텝 512의 처리와 같이, 리스토어의 대상으로 하는 아카이브 파일을선택하는 사용자의 조작을 기다리는 것은 아니며, 리스토어하는 아카이브 파일을 자동적으로 선택하여, 이후의 처리를 실행하도록 해도 된다.
다음에, 도 108은, 플래시 ROM(52)의 구성예를 나타내고 있다. 플래시 ROM(52)에는, 후술하는 기동용 프로그램이 저장되어 있다.
플래시 ROM(52)에는 또한, 예를 들면, 도 7에 나타낸 펌웨어가, 소위 버전마다 저장되는 3개의 제1 기억영역 내지 제3 기억영역이 설정되어 있다. 즉, 이 예의 경우, 3세대의의 펌웨어를 저장할 수 있다.
제1 기억영역에 저장되는 펌웨어의 버전을 나타내는 마커 1, 제2 기억영역에 저장되는 펌웨어의 버전을 나타내는 마커 2, 그리고 제3 기억영역에 저장되는 펌웨어의 버전을 나타내는 마커 3은, 기동용 프로그램에 포함되어 있다.
이때, 상세한 것은 후술하지만, 마커는, 펌웨어가 버전업될때마다 1만큼 증가하도록 주어져 있다. 또한 대응하는 영역에 펌웨어가 저장되어 있지 않은 경우, 마커는, "INVAILD"를 나타내는 값으로 되어 있다.
펌웨어를 버전업하는 경우(프로그램을 재기록하는 경우)의 처리순서에 대하여, 도 109의 흐름도를 참조하여 설명한다.
이때, 이 펌웨어를 버전업하는 처리는, 사용자의 오디오서버(1)에 대한 소정의 조작이 행해졌을 때, 후술하는 기동용 프로그램에 의해 지시된 펌웨어가 실행하지만, 예를 들면, 버전업되는 펌웨어와 재기록되는 새로운 버전의 펌웨어가 CD-ROM에 저장되어 있는 경우, CD MW(88)가, 또한 MS(4)에 저장되어 있는 경우, MS MW(89)가, 이 처리를 실행한다. 여기서는, CD MW(88)가, 이 버전업처리를 실행하는것으로 한다.
스텝 S531에서, CD MW(88)는, 버전업된 펌웨어를 저장하는 영역을 결정한다.
구체적으로는, 플래시 ROM(52)의 마커 2 이후의 마커(도 108의 예에서는, 마커 2와 마커 3) 중에서, "INVALID"의 마커의 임의의 마커가 하나 검출되고, 그것에 대응하는 기억영역이, 버전업된 펌웨어를 저장하는 영역으로 된다. 또한, 마커 2 이후의 마커 중에, "INVALID"의 마커가 존재하지 않는 경우, 가장 작은 마커가 검출되고, 그것에 대응하는 영역이, 버전업된 펌웨어를 저장하는 영역으로 된다.
이때, 이 예의 경우, 가장 작은 마커에 대응하는 기억영역에는, 가장 오래된 펌웨어가 저장되어 있다.
스텝 S532에서, CD MW(88)는, CD-R0M 드라이브(57)에 장착된 CD-ROM으로부터, 거기에 기록되어 있는 새로운 펌웨어를 입수한다. 이때, CD-R0M 외, MS(4) 또는 이더넷 컨트롤러/커넥터(67)를 통해 데이터통신을 행하는 다른 전자기기로부터, 새로운 버전의 펌웨어를 입수하는 것도 할 수 있다.
스텝 S533에서, CD MW(88)는, 스텝 S532에서 입수한 펌웨어를, 인코더/디코더(59)에 공급하여 복호시킴과 동시에, 이 예의 경우, 플래시 ROM(52)에 기억되어 있는 암호키로 재암호화시킨다.
스텝 S534에서, CD MW(88)는, 스텝 S533에서 재암호화된 펌웨어를, 스텝 S531에서 결정한 기억영역에 기록한다.
스텝 S535에서, 마커 2 이후의 마커 중에서 ("INVALID"의 마커를 제외함) 최대의 마커를 검출하고, 스텝 S536에서, 그 마커에 1을 가산하여 얻어진 값을, 스텝S534에서 펌웨어가 저장된 기억영역에 대응하는 마커로 한다. 그 후, 해당 처리는 종료된다.
이상과 같이, 사용자가 소정의 조작을 오디오서버(1)에 대하여 행할 뿐으로, 펌웨어의 버전업시킬 수 있다.
다음에, 기동용 프로그램에서의 처리순서에 대하여, 도 110의 흐름도를 참조하여 설명한다. 이때, 이 기동용 프로그램은, 전원부(65)로부터의 각부에 대한 전원공급이 시작된 직후(전원투입직후)에 실행된다.
스텝 S541에서, 기동용 프로그램은, 예를 들면, 레지스터의 초기화 등의 소정의 초기화처리를 실행한다.
스텝 S542에서, 기동용 프로그램은, 플래시 ROM(52)의 마커 2 이후의 마커(마커 2와 마커 3)의 전부가 "INVALID"인지 아닌지를 판정하고, 그렇지 않다고 판정된 경우, 스텝 S543으로 진행한다.
스텝 S543에서, "INVALID"가 아닌, 마커 2 이후의 마커 중에서, 가장 큰 마커 m을 검출한다. 스텝 S544에서, 기동용 프로그램은, 마커 m에 대응하는 기억영역에 저장되어 있는 펌웨어를, 인코더/디코더(59)에 공급하여 복호시켜, 스텝 S545에서, 복호된 펌웨어를 SDRAM(53)에 기록한다.
스텝 S542에서, 마커 2 이후의 마커의 전부가 "INVALID"라고 판정된 경우, 스텝 S547로 진행하고, 기동용 프로그램은, 마커 1이 "INVAILD"인지 아닌지를 판정하고, "INVAILD"가 아니라고 판정된 경우, 스텝 S548로 진행한다.
스텝 S548에서, 기동용 프로그램은, 마커 1에 대응하는 기억영역의 펌웨어를인코더/디코더(59)에 공급하여 복호시켜, 스텝 S549에서, 복호된 펌웨어를 SDRAM(53)에 기록한다.
스텝 S545 또는 스텝 S549에서, 펌웨어가 SDRAM(53)에 기록되었을 때, 스텝 S546으로 진행하고, 기동용 프로그램은, SDRAM(53)에 기록된 펌웨어의 실행을 지시한다. 이에 따라, SDRAM(53) 상에 전개된 펌웨어가 실행된다.
스텝 S547에서, 마커 1이 "INVALID"이라고 판정된 경우, 즉, 어떤 기억영역에도 펌웨어가 저장되어 있지 않고, 모든 마커가 "INVALID"인 경우, 스텝 S550으로 진행하고, 에러판정이 이루어진다.
스텝 S546에서 펌웨어가 실행되었을 때, 또는 스텝 S550에서 에러판정이 이루어졌을 때, 처리는 종료된다.
이때, 이상에 있어서는, 플래시 ROM(52)에, 펌웨어가 저장되는 기억영역이 3개만 설치되는 경우를 예로서 설명했지만, 2개 이상이면, 그 수에 제한은 없다. 기억영역이 2개인 경우, 펌웨어가 기록되는 기억영역의 마커의 "INVALID"로 한 후, 그 기억영역에의 기록을 행하고, 그리고 기록이 종료한 후에 "VALID"(정확하게는, INVALID가 아닌 값)로 할 수 있다. 이에 따라, 재기록 도중의 펌웨어가, SDRAM(53)에 전개되어 실행되는 것을 방지할 수 있다.
또한, 이상에 있어서는, 펌웨어를 버전업하는 경우를 예로서 설명했지만, 그 밖의 프로그램을 버전업하는 경우에서 본 발명을 적용할 수 있다. 또한, 버전업이 아니라, 프로그램의 형태(예를 들면, 일본어용 프로그램, 영어용 프로그램)를 변경하는 경우에서도 본 발명을 적용할 수 있다.
그런데, 전술한 일련의 처리는, 오디오서버(1)와 같은 전용기기에 의해 실행시킬 수도 있지만, 범용의 퍼스널 컴퓨터 등에, 도 7에 나타낸 바와 같은 펌웨어를 인스톨하여 실행시킴으로써 실현할 수 있다.
이 펌웨어는, 범용의 컴퓨터와는 다르게, 사용자에 프로그램을 제공하기 위해 배포된다, 펌웨어가 기록되어 있는 자기디스크(플로피 디스크를 포함함), 광디스크(CD-R0M(Compact Disc-Read Only Memory), DVD(Digital Versatile Disc)를 포함함), 광자기 디스크(MD(Mini Disc)를 포함함), 또는 반도체 메모리 등으로 이루어지는 패키지 미디어에 의해 구성되는 것만이 아니며, 컴퓨터에 미리 삽입된 상태로 사용자에게 제공된다, 펌웨어가 기록되어 있는 ROM이나 하드디스크 등으로 구성된다.
또, 본 명세서에서, 프로그램(펌웨어)을 기술하는 스텝은, 기재된 순서에 따라 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않아도, 병렬적 혹은 개별로 실행되는 처리도 포함하는 것이다.
이상과 같이, 본 발명에 의하면, MS나 PD와의 사이의 체크인과 체크아웃을 일괄하여 지시할 수 있는 장치를 실현하는 것이 가능하게 된다.

Claims (24)

  1. 콘텐츠 데이터를 카피함으로써 정보기억매체에 복제 콘텐츠 데이터를 생성하는 기록장치에 있어서,
    상기 콘텐츠 데이터를 기억하는 제1 기억수단과,
    상기 콘텐츠에 대응하는 속성정보를 기억하는 제2 기억수단과,
    사용자로부터의 명령조작을 접수하는 접수수단과,
    상기 접수수단에서 접수된 상기 명령조작에 대응하여, 상기 정보기억매체에 기록되어 있는 복제 콘텐츠 데이터 중, 체크인 가능한 상기 복제 콘텐츠 데이터를 상기 제1 기억수단에 체크인하는 체크인수단과,
    상기 체크인수단이 처리를 종료한 후, 상기 제1 기억수단에 기억되어 있는 상기 콘텐츠 데이터 중, 체크아웃 가능한 상기 콘텐츠 데이터를, 상기 정보기억매체에 체크아웃하는 체크아웃수단을 포함한 것을 특징으로 하는 기록장치.
  2. 제 1 항에 있어서,
    상기 정보기억매체는, 상기 기록장치에 대하여 탈착가능한 것을 특징으로 하는 기록장치.
  3. 제 1 항에 있어서,
    상기 정보기억매체는, 상기 기록장치에 접속된 전자기기에 장착되어 있는 것을 특징으로 하는 기록장치.
  4. 제 1 항에 있어서,
    상기 정보기억매체는, 상기 기록장치에 접속된 전자기기에 내장되어 있는 것을 특징으로 하는 기록장치.
  5. 제 1 항에 있어서
    상기 체크인수단은,
    상기 정보기억매체에 기록되어 있는 상기 복제 콘텐츠 데이터 중, 상기 기록장치로부터 체크아웃된 상기 복제 콘텐츠 데이터를, 상기 체크인 가능한 상기 복제 콘텐츠 데이터로서 식별하는 식별수단과,
    상기 식별수단에 의해 식별된 상기 복제 콘텐츠 데이터를 상기 정보기억매체로부터 삭제하는 삭제수단과,
    상기 삭제수단에 의해 삭제된 상기 복제 콘텐츠 데이터의 오리지널의 상기 콘텐츠 데이터에 대응하는 상기 속성정보를, 상기 제2 기억수단으로부터 취득하는 취득수단과,
    상기 취득수단에 의해 취득된 상기 속성정보에 포함되는 체크아웃 가능회수를, 1 인크리먼트하는 인크리먼트 수단을 포함한 것을 특징으로 하는 기록장치
  6. 제 1 항에 있어서,
    상기 체크아웃수단은,
    상기 제1 기억수단에 기억되어 있는 상기 콘텐츠 데이터 중, 체크아웃 가능한 상기 콘텐츠 데이터를 판별하는 판별수단과,
    상기 정보기억매체의 빈 용량을 확인하는 확인수단과,
    상기 확인수단의 확인결과에 근거하여, 상기 판별수단에 의해 판별된 상기 콘텐츠 데이터를 카피함으로써 상기 정보기억매체에 상기 복제 콘텐츠 데이터를 생성하는 생성수단과,
    상기 생성수단에 의해 생성된 상기 복제 콘텐츠 데이터의 오리지널의 상기 콘텐츠 데이터에 대응하는 상기 속성정보를, 상기 제2 기억수단으로부터 판독하는 판독수단과,
    상기 판독수단에 의해 판독된 상기 속성정보에 포함되는 체크아웃 가능회수를, 1 디크리먼트하는 디크리먼트 수단을 포함한 것을 특징으로 하는 기록장치.
  7. 콘텐츠 데이터를 기억하는 제1 기억수단과,
    상기 콘텐츠 데이터에 대응하는 속성정보를 기억하는 제2 기억수단을 구비하고, 상기 콘텐츠 데이터를 카피함으로써 정보기억매체에 복제 콘텐츠 데이터를 생성하는 기록장치의 기록방법에 있어서,
    사용자로부터의 명령조작을 접수하는 접수스텝과,
    상기 접수스텝의 처리에서 접수된 상기 명령조작에 대응하여, 상기 정보기억매체에 기록되어 있는 복제 콘텐츠 데이터 중, 체크인 가능한 상기 복제 콘텐츠 데이터를, 상기 제1 기억수단에 체크인하는 체크인스텝과,
    상기 체크인스텝의 처리가 종료된 후, 상기 제1 기억수단에서 기억되어 있는 상기 콘텐츠 데이터 중, 체크아웃 가능한 상기 콘텐츠 데이터를, 상기 정보기억매체에 체크아웃하는 체크아웃스텝을 포함하는 것을 특징으로 하는 기록방법.
  8. 콘텐츠를 기억하는 제1 기억수단과,
    상기 콘텐츠 데이터에 대응하는 속성정보를 기억하는 제2 기억수단을 구비하고, 상기 콘텐츠 데이터를 카피함으로써 정보기억매체에 복제 콘텐츠 데이터를 생성하는 기록장치를 제어하는 프로그램으로서,
    사용자로부터의 명령조작을 접수하는 접수스텝과,
    상기 접수스텝의 처리에서 접수된 상기 명령조작에 대응하여, 상기 정보기억매체에 기록되어 있는 복제 콘텐츠 데이터 중, 체크인 가능한 상기 복제 콘텐츠 데이터를, 상기 제1 기억수단에 체크인하는 체크인스텝과,
    상기 체크인스텝의 처리가 종료된 후, 상기 제1 기억수단에서 기억되어 있는 상기 콘텐츠 데이터 중, 체크아웃 가능한 상기 콘텐츠 데이터를, 상기 정보기억매체에 체크아웃하는 체크아웃스텝을 포함한 것을 특징으로 하는 컴퓨터가 판독 가능한 프로그램을 기억하는 기억매체.
  9. 콘텐츠 데이터를 기억하는 제1 기억수단과,
    상기 콘텐츠 데이터에 대응하는 속성정보를 기억하는 제2 기억수단을 구비하고, 상기 콘텐츠 데이터를 카피함으로써 정보기억매체에 복제 콘텐츠 데이터를 생성하는 컴퓨터에서,
    사용자로부터의 명령조작을 접수하는 접수스텝과,
    상기 접수스텝의 처리에서 접수된 상기 명령조작에 대응하여, 상기 정보기억매체에 기록되어 있는 복제 콘텐츠 데이터 중, 체크인 가능한 상기 복제 콘텐츠 데이터를, 상기 제1 기억수단에 체크인하는 체크인스텝과,
    상기 체크인스텝의 처리가 종료된 후, 상기 제1 기억수단에서 기억되어 있는 상기 콘텐츠 데이터 중, 체크아웃 가능한 상기 콘텐츠 데이터를, 상기 정보기억매체에 체크아웃하는 체크아웃스텝을 실행시키는 프로그램.
  10. 콘텐츠 데이터를 카피함으로써 정보기억매체에 복제 콘텐츠 데이터를 생성하는 기록장치에 있어서,
    상기 콘텐츠 데이터를 기억하는 제1 기억수단과,
    상기 콘텐츠 데이터에 대응하는 속성정보를 기억하는 제2 기억수단과,
    사용자로부터의 명령조작을 접수하는 접수수단과,
    상기 정보기억매체에 기록되어 있는 상기 복제 콘텐츠 데이터 중, 상기 기록장치로부터 체크아웃된 상기 복제 콘텐츠 데이터를, 상기 체크인 가능한 상기 복제 콘텐츠 데이터로서 식별하는 식별수단과,
    상기 식별수단에 의해 식별된 상기 복제 콘텐츠 데이터를 상기 정보기억매체로부터 삭제하는 삭제수단과,
    상기 삭제수단에 의해 삭제된 상기 복제 콘텐츠 데이터의 오리지널의 상기 콘텐츠 데이터에 대응하는 상기 속성정보를, 상기 제2 기억수단으로부터 취득하는 취득수단과,
    상기 취득수단에 의해 취득된 상기 속성정보에 포함되는 체크아웃 가능회수를, 1 인크리먼트하는 인크리먼트 수단과,
    상기 제1 기억수단에 의해 기억되어 있는, 체크아웃 가능한 상기 콘텐츠 데이터를 판별하는 판별수단과,
    상기 정보기억매체의 빈 용량을 확인하는 확인수단과,
    상기 확인수단의 확인결과에 근거하여, 상기 판별수단에 의해 판별된 상기 콘텐츠 데이터를 카피함으로써 상기 정보기억매체에 상기 복제 콘텐츠 데이터를 생성하는 생성수단과,
    상기 생성수단에 의해 생성된 상기 복제 콘텐츠 데이터의 오리지널의 상기 콘텐츠 데이터에 대응하는 상기 속성정보를, 상기 제2 기억수단으로부터 판독하는 판독수단과,
    상기 판독수단에 의해 판독된 상기 속성정보에 포함되는 체크아웃 가능회수를, 1 디크리먼트하는 디크리먼트 수단과,
    상기 접수수단에 의해 접수된 상기 사용자로부터의 1회의 상기 명령조작에 대응하여, 상기 식별수단, 상기 삭제수단, 상기 취득수단, 상기 인크리먼트 수단, 상기 판별수단, 상기 확인수단, 상기 생성수단, 상기 판독수단, 및 상기 디크리먼트 수단을 제어하는 제어수단을 포함한 것을 특징으로 하는 기록장치.
  11. 제 10 항에 있어서,
    상기 정보기억매체는, 상기 기록장치에 대하여 탈착가능한 것을 특징으로 하는 기록장치.
  12. 제 10 항에 있어서,
    상기 정보기억매체는, 상기 기록장치에 접속된 전자기기에 장착되어 있는 것을 특징으로 하는 기록장치.
  13. 제 10 항에 있어서,
    상기 정보기억매체는, 상기 기록장치에 접속된 전자기기에 내장되어 있는 것을 특징으로 하는 기록장치.
  14. 콘텐츠 데이터를 카피함으로써 정보기억매체에 복제 콘텐츠 데이터를 생성하기 위한 전용 어플리케이션 프로그램만이 기동가능하고, 전원투입의 직후에 상기 전용 어플리케이션 프로그램이 실행되는 기록장치에 있어서,
    상기 콘텐츠 데이터를 기억하는 제1 기억수단과,
    상기 콘텐츠 데이터에 대응하는 속성정보를 기억하는 제2 기억수단과,
    사용자로부터의 명령조작을 접수하는 접수수단과,
    상기 접수수단에 의해 접수된 상기 명령조작에 대응하여, 상기 정보기억매체에 기록되어 있는 복제 콘텐츠 데이터 중, 체크인 가능한 상기 복제 콘텐츠 데이터를, 상기 제1 기억수단에 체크인하는 체크인수단과,
    상기 체크인수단이 처리를 종료한 후, 상기 제1 기억수단에서 기억되어 있는 상기 콘텐츠 데이터 중, 체크아웃 가능한 상기 콘텐츠 데이터를, 상기 정보기억매체에 체크아웃하는 체크아웃수단을 포함한 것을 특징으로 하는 기록장치.
  15. 제 14 항에 있어서,
    상기 정보기억매체는, 상기 기록장치에 대하여 탈착가능한 것을 특징으로 하는 기록장치.
  16. 제 14 항에 있어서,
    상기 정보기억매체는, 상기 기록장치에 접속된 전자기기에 장착되어 있는 것을 특징으로 하는 기록장치.
  17. 제 14 항에 있어서,
    상기 정보기억매체는, 상기 기록장치에 접속된 전자기기에 내장되어 있는 것을 특징으로 하는 기록장치.
  18. 제 14 항에 있어서,
    상기 체크인수단은, 상기 정보기억매체에 기록되어 있는 상기 복제 콘텐츠 데이터 중, 상기 기록장치로부터 체크아웃된 상기 복제 콘텐츠 데이터를, 상기 체크인 가능한 상기 복제 콘텐츠 데이터로서 식별하는 식별수단과,
    상기 식별수단에 의해 식별된 상기 복제 콘텐츠 데이터를 상기 정보기억매체로부터 삭제하는 삭제수단과,
    상기 삭제수단에 의해 삭제된 상기 복제 콘텐츠 데이터의 오리지널의 상기 콘텐츠 데이터에 대응하는 상기 속성정보를, 상기 제2 기억수단으로부터 취득하는 취득수단과,
    상기 취득수단에 의해 취득된 상기 속성정보에 포함되는 체크아웃 가능회수를, 1 인크리먼트하는 인크리먼트 수단을 포함한 것을 특징으로 기록장치.
  19. 제 14 항에 있어서,
    상기 체크아웃수단은,
    상기 제1 기억수단에서 기억되어 있는 상기 콘텐츠 데이터 중 체크아웃 가능한 상기 콘텐츠 데이터를 판별하는 판별수단과,
    상기 정보기억매체의 빈 용량을 확인하는 확인수단과,
    상기 확인수단의 확인결과에 근거하여, 상기 판별수단에 의해 판별된 상기 콘텐츠 데이터를 카피함으로써 상기 정보기억매체에 상기 복제 콘텐츠 데이터를 생성하는 생성수단과,
    상기 생성수단에 의해 생성된 상기 복제 콘텐츠 데이터의 오리지널의 상기 콘텐츠 데이터에 대응하는 상기 속성정보를, 상기 제2 기억수단으로부터 판독하는 판독수단과,
    상기 판독수단에 의해 판독된 상기 속성정보에 포함되는 체크아웃 가능회수를, 1만큼 디크리먼트하는 디크리먼트 수단을 포함한 것을 특징으로 하는 기록장치.
  20. 정보기억매체를 갖는 기억장치와 데이터를 통신하는 통신장치에 있어서,
    데이터를 기억가능한 기억부와,
    상기 기억부에 기억되는 데이터의 속성정보를 기억하는 속성정보 기억부와,
    자동 체크인 및 체크아웃을 지시하는 지시부와,
    상기 지시에 따라, 상기 체크인 가능한 상기 정보기억매체에 기억되는 데이터를 상기 기억부에 체크인함과 동시에, 상기 기억부에 기억되는 체크아웃 가능한 데이터를 상기 정보기억매체에 체크아웃하고, 상기 정보기억매체의 용량이 부족하였을 때에는 상기 체크아웃의 동작을 정지하는 통신컨트롤러를 구비한 것을 특징으로 하는 통신장치.
  21. 제 20 항에 있어서,
    상기 통신컨트롤러는,
    상기 지시에 따라, 상기 정보기억매체에 기억되는 데이터의 공급원이 상기 통신장치인 상기 정보기억매체에 기억되는 데이터의 속성정보의 재생허가 플래그를 유효로부터 무효로 변경한 후, 상기 속성정보부에 기억되는 상기 데이터의 속성정보의 재생허가 플래그를 무효로부터 유효로 변경함과 동시에 상기 속성정보 기억부에 기억되는 상기데이터의 속성정보의 체크아웃 가능회수를 인크리먼트하고,
    상기 기억부에 기억되는 다른 데이터에 대응하는 속성정보의 체크아웃 가능회수가 조건을 만족하고 있을 때, 상기 다른 데이터 및 재생허가 플래그가 무효로 된 상기 다른 데이터에 대응하는 속성정보를 상기 기억장치의 정보기억매체에 전송하고, 상기 정보기억매체 내의 상기 데이터에 대응하는 속성정보의 재생허가 플래그를 유효로 함과 동시에 상기 속성정보 기억부에 기억되는 상기 데이터의 속성정보의 체크아웃 가능회수를 디크리먼트하며,
    상기 정보기억매체에 상기 다른 데이터를 전송함으로써 상기 정보기억매체의 용량이 부족하였을 때에는 상기 다른 데이터의 전송을 정지하는 것을 특징으로 하는 통신장치.
  22. 정보기억매체를 갖는 기억장치와 데이터를 통신하는 통신장치의 통신방법에 있어서,
    자동 체크인 및 체크아웃의 요구를 접수하는 스텝과,
    상기 요구의 접수에 따라, 상기 체크인 가능한 상기 정보기억매체에 기억되는 데이터를 데이터 기억가능한 기억부에 체크인하는 스텝과,
    상기 기억부에 기억되는 체크아웃 가능한 데이터를 상기 정보기억매체에 체크아웃하는 스텝과,
    상기 정보기억매체의 용량이 부족하였을 때에는 상기 체크아웃의 동작을 정지하는 스텝을 구비하는 것을 특징으로 하는 통신방법.
  23. 정보기억매체를 갖는 기억장치와 데이터를 통신하는 통신장치를 제어하는 프로그램으로서,
    자동 체크인 및 체크아웃의 요구를 접수하는 스텝과,
    상기 요구의 접수에 따라, 상기 체크인 가능한 상기 정보기억매체에 기억되는 데이터를 데이터 기억가능한 기억부에 체크인하는 스텝과,
    상기 기억부에 기억되는 체크아웃 가능한 데이터를 상기 정보기억매체에 체크아웃하는 스텝과,
    상기 정보기억매체의 용량이 부족하게 되었을 때에는 상기 체크아웃의 동작을 정지하는 스텝을 구비한 것을 특징으로 하는 컴퓨터가 판독 가능한 프로그램을 기억하는 기억매체.
  24. 정보기억매체를 갖는 기억장치와 데이터를 통신하는 통신장치를 제어하는 컴퓨터에서,
    자동 체크인 및 체크아웃의 요구를 접수하는 스텝과,
    상기 요구의 접수에 따라, 상기 체크인 가능한 상기 정보기억매체에 기억되는 데이터를 데이터 기억가능한 기억부에 체크인하는 스텝과,
    상기 기억부에 기억되는 체크아웃 가능한 데이터를 상기 정보기억매체에 체크아웃하는 스텝과,
    상기 정보기억매체의 용량이 부족하게 되었을 때에는 상기 체크아웃의 동작을 정지하는 스텝을 실행시키는 프로그램.
KR1020047000174A 2001-07-06 2002-07-04 기록장치 및 방법과, 통신장치 및 방법 KR100913149B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001206395A JP4701550B2 (ja) 2001-07-06 2001-07-06 記録装置および方法、記録媒体、並びにプログラム
JPJP-P-2001-00206395 2001-07-06
PCT/JP2002/006797 WO2003005360A1 (en) 2001-07-06 2002-07-04 Recording apparatus and method, and communication device and method

Publications (2)

Publication Number Publication Date
KR20040013118A true KR20040013118A (ko) 2004-02-11
KR100913149B1 KR100913149B1 (ko) 2009-08-19

Family

ID=19042537

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047000174A KR100913149B1 (ko) 2001-07-06 2002-07-04 기록장치 및 방법과, 통신장치 및 방법

Country Status (6)

Country Link
US (1) US8108310B2 (ko)
EP (1) EP1426952B1 (ko)
JP (1) JP4701550B2 (ko)
KR (1) KR100913149B1 (ko)
CN (1) CN100399454C (ko)
WO (1) WO2003005360A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100831993B1 (ko) * 2005-08-24 2008-05-23 캐논 가부시끼가이샤 데이터 처리 방법, 데이터 처리 장치 및 기억매체

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001093226A (ja) * 1999-09-21 2001-04-06 Sony Corp 情報通信システムおよび方法、ならびに、情報通信装置および方法
JP2004021996A (ja) 2002-06-12 2004-01-22 Sony Corp 記録装置、サーバ装置、記録方法、プログラム、記憶媒体
JP4264949B2 (ja) * 2003-06-09 2009-05-20 ソニー株式会社 データ転送システム、データ転送方法およびデータ転送プログラム
CN100431031C (zh) * 2003-06-09 2008-11-05 索尼株式会社 数据传送系统和数据传送方法
JP4333494B2 (ja) * 2004-06-17 2009-09-16 ソニー株式会社 コンテンツ再生装置,コンテンツ再生方法,コンテンツ管理装置,コンテンツ管理方法およびコンピュータプログラム。
JP2006004332A (ja) * 2004-06-21 2006-01-05 Sony Corp コンテンツ記憶方法
US7624021B2 (en) * 2004-07-02 2009-11-24 Apple Inc. Universal container for audio data
KR100689746B1 (ko) * 2005-02-16 2007-03-08 주식회사 부강샘스 무선 하드 디스크 드라이브
JP4659489B2 (ja) * 2005-03-02 2011-03-30 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 コンテンツ複製管理システム、コンテンツ送信端末及びコンテンツ受信端末
US7744035B2 (en) 2005-06-10 2010-06-29 Airbus Door for compartment of the baggage-compartment type
TWI288928B (en) * 2005-10-25 2007-10-21 Carry Computer Eng Co Ltd Analyzing method for the storage capacity of a portable storage device
US20090132621A1 (en) * 2006-07-28 2009-05-21 Craig Jensen Selecting storage location for file storage based on storage longevity and speed
US7870128B2 (en) * 2006-07-28 2011-01-11 Diskeeper Corporation Assigning data for storage based on speed with which data may be retrieved
US9052826B2 (en) * 2006-07-28 2015-06-09 Condusiv Technologies Corporation Selecting storage locations for storing data based on storage location attributes and data usage statistics
US8082403B1 (en) * 2006-12-15 2011-12-20 Emc Corporation Method for certifying erasure of one or more data storage disk drives
JP5219410B2 (ja) * 2007-06-27 2013-06-26 京セラ株式会社 携帯端末装置
EP2053607B1 (en) * 2007-10-26 2016-04-06 Sony Computer Entertainment Europe Ltd. Entertainment device, entertainment system and method for reproducing media items
TW201220181A (en) * 2010-11-15 2012-05-16 Walton Advanced Eng Inc using the inherent properties of USB, namely miniaturization, thinness and portability to facilitate automatic program execution
GB201810392D0 (en) * 2015-11-25 2018-08-08 Teamifier Inc Methods for the augmentation, exploration, and maintenance of project hierarchies
CN113672423A (zh) * 2021-08-18 2021-11-19 青岛海信移动通信技术股份有限公司 一种专辑文件的解析文件的修复方法和终端设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3937559B2 (ja) * 1998-03-06 2007-06-27 ソニー株式会社 記録再生装置及び方法、並びに記録再生システム
JP2000200475A (ja) * 1998-10-27 2000-07-18 Sony Corp 記録装置、記録方法、課金方法
MY124066A (en) * 1998-12-25 2006-06-30 Sony Corp Information processing device and method, and program storage medium.
JP2000305846A (ja) * 1999-02-17 2000-11-02 Sony Corp 情報処理装置および方法、並びにプログラム格納媒体
JP4379653B2 (ja) 1999-02-17 2009-12-09 ソニー株式会社 情報処理装置および方法、並びにプログラム格納媒体
JP4214651B2 (ja) * 1999-03-31 2009-01-28 ソニー株式会社 データコミュニケーションシステム、データ管理方法
JP4356178B2 (ja) 1999-03-09 2009-11-04 ソニー株式会社 再生装置
US6601046B1 (en) * 1999-03-25 2003-07-29 Koninklijke Philips Electronics N.V. Usage dependent ticket to protect copy-protected material
JP4127587B2 (ja) 1999-07-09 2008-07-30 株式会社東芝 コンテンツ管理方法およびコンテンツ管理装置および記録媒体
JP2001034546A (ja) * 1999-07-22 2001-02-09 Fujitsu Ltd メッセージ装置
JP2001175524A (ja) 1999-12-17 2001-06-29 Sony Corp 情報処理装置および方法、並びにプログラム格納媒体
JP4507319B2 (ja) * 1999-12-17 2010-07-21 ソニー株式会社 情報処理装置、情報処理方法、プログラム、および記録媒体、端末装置、並びに、システムおよびシステムの方法
US8504652B2 (en) * 2006-04-10 2013-08-06 Portulim Foundation Llc Method and system for selectively supplying media content to a user and media storage device for use therein
US7496540B2 (en) * 2002-03-27 2009-02-24 Convergys Cmg Utah System and method for securing digital content
WO2005033954A1 (ja) * 2003-09-30 2005-04-14 Sony Corporation コンテンツ取得方法
US20050278256A1 (en) * 2004-06-15 2005-12-15 Eric Vandewater System and method of promoting copy-managed digital content
US20100269164A1 (en) * 2009-04-15 2010-10-21 Microsoft Corporation Online service data management

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100831993B1 (ko) * 2005-08-24 2008-05-23 캐논 가부시끼가이샤 데이터 처리 방법, 데이터 처리 장치 및 기억매체

Also Published As

Publication number Publication date
CN1552072A (zh) 2004-12-01
EP1426952A4 (en) 2007-09-05
EP1426952A1 (en) 2004-06-09
EP1426952B1 (en) 2012-02-29
WO2003005360A1 (en) 2003-01-16
CN100399454C (zh) 2008-07-02
US8108310B2 (en) 2012-01-31
JP2003022080A (ja) 2003-01-24
KR100913149B1 (ko) 2009-08-19
US20050066139A1 (en) 2005-03-24
JP4701550B2 (ja) 2011-06-15

Similar Documents

Publication Publication Date Title
KR100915767B1 (ko) 정보 처리 장치 및 방법
JP4038686B2 (ja) 記録装置、記録方法、記憶媒体、プログラムおよび通信装置
KR100913149B1 (ko) 기록장치 및 방법과, 통신장치 및 방법
US6434103B1 (en) Recording medium, recording apparatus, recording method, editing apparatus and editing method
KR20010042728A (ko) 정보처리장치 및 방법과 프로그램 격납매체
KR100959596B1 (ko) 기록장치 및 방법
JP2002203366A (ja) ディジタルオーディオ信号録音装置
JP2003069551A (ja) 暗号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
JP4618476B2 (ja) 再生装置および方法、記録媒体、並びにプログラム
JP2003022656A (ja) 記録装置および方法、記録媒体、並びにプログラム
JP4586317B2 (ja) 記録再生装置および方法、記録媒体、並びにプログラム
JP2003087239A (ja) 通信システム、通信装置および方法、記録媒体、並びにプログラム
JP2003030966A (ja) 再生装置および方法、記録媒体、並びにプログラム
JP2006202475A (ja) ファイル転送システムおよびファイル転送方法
JP2006185589A (ja) データ転送システム、データ転送方法、およびデータ転送プログラム
JP2003066996A (ja) 記録再生装置および方法、記録媒体、並びにプログラム
JP2003022606A (ja) 記録再生装置および方法、記録媒体、並びにプログラム
JP2003030967A (ja) 記録装置および方法、記録媒体、並びにプログラム
JP2003022663A (ja) 記録装置および方法、記録媒体、並びにプログラム
JP2003022205A (ja) 記録装置および方法、記録媒体、並びにプログラム
JP2006221793A (ja) コンテンツデータ転送システムおよびコンテンツデータ転送方法
JP2004199792A (ja) 記録再生システム、コントロール機器および管理方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20120806

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee