KR100915767B1 - 정보 처리 장치 및 방법 - Google Patents

정보 처리 장치 및 방법

Info

Publication number
KR100915767B1
KR100915767B1 KR1020037005592A KR20037005592A KR100915767B1 KR 100915767 B1 KR100915767 B1 KR 100915767B1 KR 1020037005592 A KR1020037005592 A KR 1020037005592A KR 20037005592 A KR20037005592 A KR 20037005592A KR 100915767 B1 KR100915767 B1 KR 100915767B1
Authority
KR
South Korea
Prior art keywords
program
storage medium
information storage
area
read
Prior art date
Application number
KR1020037005592A
Other languages
English (en)
Other versions
KR20040029302A (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 KR20040029302A publication Critical patent/KR20040029302A/ko
Application granted granted Critical
Publication of KR100915767B1 publication Critical patent/KR100915767B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 제어 프로그램의 버전업을 사용자가 용이하게 행할 수 있는 정보 처리 장치 및 방법에 관한 것이다. 단계 S501에서, 버전업된 펌웨어를 저장하는 기억 영역이 결정된다. 단계 S502에서, 버전업된 펌웨어가 제공된다. 단계 S503에 있어서, 제공된 펌웨어가 복호됨과 함께 재암호화된다. 단계 S504에서, 재암호화된 펌웨어가, 단계 S501에서 결정한 기억 영역에 기입된다. 단계 S505에서, 최대의 마커가 검출되고, 단계 S506에서, 그 마커에 1을 가산하여 얻어진 값이, 단계 S504에서 펌웨어가 저장된 기억 영역에 대응하는 마커로 된다. 본 발명은 예를 들면, 오디오 데이터 서버에 적용할 수 있다.

Description

정보 처리 장치 및 방법{INFORMATION PROCESSING APPARATUS AND METHOD}
본 발명은 정보 처리 장치 및 방법에 관한 것으로, 예를 들면, 미리 준비되어 있는 제어용 프로그램을 버전업시키는 경우에 이용하기 적합한 정보 처리 장치 및 방법에 관한 것이다.
제어 프로그램에 따라서 각종 처리를 실행하는 정보 처리 장치가 존재한다.
그러나, 종래의 정보 처리 장치는 사용자 자신이 제어 프로그램을 버전업(재기입)할 수 있도록 되어 있지 않다.
즉, 새롭게 개발된 제어 프로그램의 기능을 구식 장치의 사용자가 이용하고자 하는 경우, 사용자는 결국 새로운 제어 프로그램이 내장된 장치를 별도로 구입해야 한다.
또한, 사용자가 제어 프로그램을 버전업할 수 없기 때문에, 예를 들면 제어 프로그램에 버그가 있는 경우, 이 때 정보 처리 장치의 제조측은 장치를 회수하고, 그리고 제어 프로그램을 재기입할 필요가 있었다.
즉, 정보 처리 장치의 제조자는 장치의 회수 및 제어 프로그램의 재기입에 많은 수고를 들이지 않으면 안됨과 동시에, 제어 프로그램의 버그 잡기를 신중하게 행하지 않으면 안 되어, 제어 프로그램의 개발에 많은 시간을 들일 필요가 있었다.
<발명의 개시>
본 발명은 이러한 상황을 감안하여 이루어진 것으로, 제어 프로그램의 버전업을 사용자가 용이하게 행할 수 있는 장치를 실현하는 것을 목적으로 한다.
본 발명의 제1 정보 처리 장치는, 2개 이상의 기억 영역의 각각에 이미 저장되어 있는 프로그램 중, 가장 오래된 갱신 정보를 갖는 프로그램이 저장되어 있는 기억 영역, 및 프로그램이 저장되어 있지 않은 기억 영역 중, 어느 한쪽의 기억 영역을 검출하는 제1 검출 수단과, 제1 검출 수단에 의해 검출된 기억 영역에 다른 프로그램을 저장하는 저장 수단을 포함하는 것을 특징으로 한다.
본 발명의 제1 정보 처리 장치는, 소정의 타이밍에서, 가장 새로운 갱신 정보를 갖는 프로그램을 검출하는 제2 검출 수단과, 제2 검출 수단에 의해 검출된 프로그램의 실행을 지시하는 지시 수단을 더 포함할 수 있다.
상기 소정의 타이밍은 전원 투입의 직후이도록 할 수 있다.
상기 기억 영역은 제1 정보 기억 매체에 마련되고, 상기 지시 수단은 제2 검출 수단에 의해 검출된 프로그램을 제2 정보 기억 매체에 로딩한 후, 그 실행을 지시하도록 할 수 있다.
상기 제1 정보 기억 매체는 플래시 RAM이고, 상기 제2 정보 기억 매체는 싱크로너스 DRAM이도록 할 수 있다.
본 발명의 제1 정보 처리 장치는, 암호화된 다른 프로그램을 복호함과 함께, 재암호화하는 복호 암호화 수단을 더 포함할 수 있고, 상기 지시 수단은, 제2 검출 수단에 의해 검출된, 암호화된 프로그램을 복호하여 제2 정보 기억 매체에 로딩한 후, 그 실행을 지시하도록 할 수 있다.
상기 다른 프로그램은 갱신된 프로그램이고, 갱신된 프로그램을 입력하는 입력 수단을 더 포함하도록 할 수 있다.
본 발명의 제1 정보 처리 방법은, 2개 이상의 기억 영역의 각각에 이미 저장되어 있는 프로그램 중, 가장 오래된 갱신 정보를 갖는 프로그램이 저장되어 있는 기억 영역, 및 프로그램이 저장되어 있지 않은 기억 영역 중, 어느 한쪽의 기억 영역을 검출하는 제1 검출 단계와, 제1 검출 단계의 처리에서 검출된 기억 영역에 다른 프로그램을 저장하는 저장 단계를 포함하는 것을 특징으로 한다.
본 발명의 제1 기억 매체의 프로그램은, 2개 이상의 기억 영역의 각각에 이미 저장되어 있는 프로그램 중, 가장 오래된 갱신 정보를 갖는 프로그램이 저장되어 있는 기억 영역, 및 프로그램이 저장되어 있지 않은 기억 영역 중, 어느 한쪽의 기억 영역을 검출하는 제1 검출 단계와, 제1 검출 단계의 처리에서 검출된 기억 영역에 다른 프로그램을 저장하는 저장 단계를 포함하는 것을 특징으로 한다.
본 발명의 제1 프로그램은, 2개 이상의 기억 영역의 각각에 이미 저장되어 있는 프로그램 중, 가장 오래된 갱신 정보를 갖는 프로그램이 저장되어 있는 기억 영역, 및 프로그램이 저장되어 있지 않은 기억 영역 중, 어느 한쪽의 기억 영역을 검출하는 제1 검출 단계와, 제1 검출 단계의 처리에서 검출된 기억 영역에 다른 프로그램을 저장하는 저장 단계를 컴퓨터에 실행시키는 것을 특징으로 한다.
본 발명의 제2 정보 처리 장치는, 장치 전체를 제어하는 제어 프로그램, 제어 프로그램을 판독함과 함께 다른 정보 기억 매체에 로딩하는 로드 프로그램, 로딩된 프로그램의 실행을 지시하는 실행 지시 프로그램, 프로그램이 기억되는 영역의 갱신 상황을 나타내는 갱신 정보, 외부 정보 기억 매체로부터 프로그램을 읽어내는 판독 프로그램, 및 판독 프로그램에 판독된 프로그램을 프로그램이 기억되는 영역에 기입하는 기입 프로그램을 갖는 제1 정보 기억 매체와, 로드 프로그램에 의해 로딩된 프로그램을 기억하는 제2 정보 기억 매체와, 전원이 투입되었을 때, 제1 정보 기억 매체에 기억되는 갱신 정보에 따라서, 로드 프로그램에 의해 프로그램의 일부를 제2 정보 기억 매체에 로딩하고, 실행 지시 프로그램에 기초하여 로딩된 제어 프로그램을 실행하고, 제어 프로그램의 실행 중에, 사용자 요구에 따라서, 제2 정보 기억 매체에 로딩되어 있는 판독 프로그램에 따라서 외부 정보 기억 매체로부터 프로그램을 판독하고, 제2 정보 기억 매체에 로딩되어 있는 기입 프로그램에 따라서 판독된 프로그램을 제1 정보 기억 매체에 기입하도록 제어하는 컨트롤러를 포함하는 것을 특징으로 한다.
상기 제1 정보 기억 매체는 제1 영역과 제2 영역을 지니고, 제1 영역에는 적어도, 제2 영역의 프로그램을 판독함과 함께 제2 정보 기억 매체에 로딩하는 로드 프로그램, 실행 지시 프로그램, 및 제2 영역의 갱신 상황을 나타내는 갱신 정보를 지니고, 제2 영역에는 적어도, 판독 프로그램, 기입 프로그램, 및 제어 프로그램을 갖도록 할 수 있다.
상기 컨트롤러는, 전원이 투입되었을 때, 적어도, 제1 정보 기억 매체의 제1 영역에 기억되는 갱신 정보 중 최신인 것을 나타내는 갱신 정보를 탐색하여, 로드 프로그램이 탐색된 영역에 대응하는 프로그램을 제2 정보 기억 매체에 로딩하도록 제어함과 함께, 실행 지시 프로그램에 기초하여 상기 로딩된 제어 프로그램을 실행하도록 할 수 있다.
상기 컨트롤러는 사용자 요구에 따라서, 제1 정보 기억 매체의 갱신 정보 중, 가장 오래된 것을 나타내는 갱신 정보나 혹은 아직 빈 영역인 것을 나타내는 갱신 정보를 탐색하여, 제2 정보 기억 매체에 로딩되어 있는 판독 프로그램에 따라서 외부 정보 기억 매체로부터 프로그램을 판독하고, 제2 정보 기억 매체에 로딩되어 있는 기입 프로그램에 따라서 프로그램을 탐색된 갱신 정보에 대응하는 제1 정보 기억 매체의 소정 영역에 기입하고, 또한 소정 영역에 대응하는 갱신 정보를 최신인 것을 나타내는 갱신 정보로 재기입하도록 할 수 있다.
상기 제1 영역에는 적어도, 외부 정보 기억 매체로부터 암호화 프로그램을 판독함과 함께 복호 지시하는 제1 판독 프로그램, 제2 영역의 암호화 프로그램을 제1 정보 기억 매체로부터 판독함과 함께 복호 지시하고, 복호된 프로그램을 제2 정보 기억 매체에 로딩하는 로드 프로그램, 실행 지시 프로그램, 및 제2 영역 이후의 각 영역의 갱신 상황을 나타내는 갱신 정보를 지니고, 상기 제2 영역에는 적어도, 외부 정보 기억 매체로부터 암호화 프로그램을 판독함과 함께 복호 지시하는 제2 판독 프로그램, 제2 판독 프로그램에 판독됨 과 동시에 복호된 프로그램을 다시 암호화하여 제2 영역에 기입하는 기입 프로그램, 및 장치 전체를 제어하는 암호화된 제어 프로그램을 갖도록 할 수 있다.
상기 컨트롤러는 사용자 요구에 따라서, 제1 정보 기억 매체의 갱신 정보 중, 가장 오래된 것을 나타내는 갱신 정보나 혹은 아직 빈 영역인 것을 나타내는 갱신 정보를 탐색하여, 제2 정보 기억 매체에 로딩되어 있는 판독 프로그램에 따라서 외부 정보 기억 매체로부터 암호화 프로그램을 판독함과 함께 복호 지시하고, 제2 정보 기억 매체에 로딩되어 있는 기입 프로그램에 따라서 복호된 프로그램을 다시 암호화하여 탐색된 갱신 정보에 대응하는 제1 정보 기억 매체의 소정 영역에 기입하고, 또한 소정 영역에 대응하는 갱신 정보를 최신인 것을 나타내는 갱신 정보로 재기입하도록 할 수 있다.
본 발명의 제2 정보 처리 방법은, 전원이 투입되었을 때, 제1 정보 기억 매체에 기억되는 갱신 정보에 따라서, 로드 프로그램에 의해 프로그램의 일부를 제2 정보 기억 매체에 로딩하고, 실행 지시 프로그램에 기초하여 상기 로딩된 제어 프로그램을 실행하고, 제어 프로그램의 실행 중에, 사용자 요구에 따라서, 제2 정보 기억 매체에 로딩되어 있는 판독 프로그램에 따라서 외부 정보 기억 매체로부터 프로그램을 판독하고, 제2 정보 기억 매체에 로딩되어 있는 기입 프로그램에 따라서 판독된 프로그램을 제1 정보 기억 매체에 기입하는 것을 특징으로 한다.
본 발명의 제2 기억 매체의 프로그램은, 전원이 투입되었을 때, 제1 정보 기억 매체에 기억되는 갱신 정보에 따라서, 로드 프로그램에 의해 프로그램의 일부를 제2 정보 기억 매체에 로딩하고, 실행 지시 프로그램에 기초하여 상기 로딩된 제어 프로그램을 실행하고, 제어 프로그램의 실행 중에, 사용자 요구에 따라서, 제2 정보 기억 매체에 로딩되어 있는 판독 프로그램에 따라서 외부 정보 기억 매체로부터 프로그램을 판독하고, 제2 정보 기억 매체에 로딩되어 있는 기입 프로그램에 따라서 판독된 프로그램을 제1 정보 기억 매체에 기입하는 것을 특징으로 한다.
본 발명의 제2 프로그램은, 전원이 투입되었을 때, 제1 정보 기억 매체에 기억되는 갱신 정보에 따라서, 로드 프로그램에 의해 프로그램의 하부를 제2 정보 기억 매체에 로딩하고, 실행 지시 프로그램에 기초하여 상기 로딩된 제어 프로그램을 실행하고, 제어 프로그램의 실행 중에, 사용자 요구에 따라서, 제2 정보 기억 매체에 로딩되어 있는 판독 프로그램에 따라서 외부 정보 기억 매체로부터 프로그램을 판독하고, 제2 정보 기억 매체에 로딩되어 있는 기입 프로그램에 따라서 판독된 프로그램을 제1 정보 기억 매체에 기입하는 처리를 컴퓨터에 실행시키는 것을 특징으로 한다.
본 발명의 제1 정보 처리 장치와 방법, 및 프로그램에 있어서는, 2개 이상의 기억 영역의 각각에 이미 저장되어 있는 프로그램 중, 가장 오래된 갱신 정보를 갖는 프로그램이 저장되어 있는 기억 영역, 및 프로그램이 저장되어 있지 않은 기억 영역 중, 어느 한쪽의 기억 영역이 검출되고, 검출된 기억 영역에 다른 프로그램이 저장된다.
본 발명의 제2 정보 처리 장치와 방법, 및 프로그램에 있어서는, 전원이 투입되었을 때, 제1 정보 기억 매체에 기억되는 갱신 정보에 따라서, 로드 프로그램에 의해 프로그램의 일부가 제2.의 정보 기억 매체에 로딩되고, 실행 지시 프로그램에 기초하여 상기 로딩된 제어 프로그램이 실행되고, 제어 프로그램의 실행 중에, 사용자 요구에 따라서, 제2 정보 기억 매체에 로딩되어 있는 판독 프로그램에 따라서 외부 정보 기억 매체로부터 프로그램이 판독되고, 제2 정보 기억 매체에 로딩되어 있는 기입 프로그램에 따라서 판독된 프로그램이 제1 정보 기억 매체에 기입된다.
도 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는 CD 립핑 또는 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곡분의 부호화 데이터와 일대일로 대응한다.
이하, 부호화 데이터를 콘텐츠 데이터라고도 기술한다. 폴더 리스트, 폴더, 앨범, 및 트랙을 오브젝트라고도 기술한다. 사용자는 오브젝트를 지정하여 각종 커맨드를 명령한다. 또, 오브젝트의 계층 구조의 상세에 대해서는 도 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)은 출력하는 음량을 증감시킬 때에 조작된다. 커서 버튼(17)은 디스플레이(15)에 표시되는 커서를 이동시킬 때에 조작된다. 선택(SELECT) 버튼(18)은 디스플레이(15)의 커서로 나타나 있는 오브젝트 등을 선택할 때나, 검색 시의 올림 차순과 내림 차순을 전환할 때에 조작된다. 소거(ELASE) 버튼(19)은 트랙 등의 오브젝트를 소거할 때에 조작된다.
엔터(ENTER) 버튼(20)은 표시되어 있는 메뉴나 선택되어 있는 트랙 등의 오브젝트를 결정할 때에 조작된다. 메뉴/취소(MENU/CANCEL) 버튼(21)은 계층적으로 마련되어 있는 각종 조작 메뉴를 표시시킬 때 또는 취소할 때에 조작된다. 익스체인지(EXCHANGE) 버튼(22)은 MS(4) 또는 PD(5)에 대하여 자동적으로 체크 인 처리 및 체크 아웃 처리를 실시할 때에 조작된다.
녹음(REC0RD) 버튼(23)은 음악 CD(3)의 오디오 데이터를 재생하면서 HDD(58)에 녹음할 때에 조작된다. 고속 녹음(HI SPEED REC0RD) 버튼(24)은 음악 CD(3)의 오디오 데이터를 HDD(58)에 고속 녹음할 때에 조작된다. 또, 이 때에도 녹음되는 오디오 데이터의 음성이 스피커(2) 등으로부터 출력된다.
정지 버튼(25)은 실행 중의 재생이나 녹음을 중지할 때에 조작된다. 재생/일시 정지 버튼(26)은 재생의 개시, 재생 포즈, 재생 포즈의 해제를 지시할 때에 조작된다. 첫머리 탐색 버튼(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-R0M 드라이브(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)로부터 입력된 오디오 데이터를, 132 Kbps 모드, 105 Kbps 모드, 또는 66 Kbps 모드의 ATRAC3 방식을 이용하여, 최대 8배속, 평균 5배속으로 인코딩하여 부호화 데이터를 생성한다. 또한, 인코더/디코더(59)는 HDD(58)이 기억하는 부호화 데이터를 디코딩한다. 또한, 인코더/디코더(59)는 DES(Data Encryption Standard) 엔진을 갖고 있고, 부호화 데이터를, 오디오 서버(1)를 구성하는 소정 부품의 기기 ID와 시각에 기초하여 생성하는 암호 키를 이용하여 암호화한다.
예를 들면, HDD(58)가 9 GB의 용량을 지니고, 인코더/디코더(59)가 105 Kbps 모드의 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.1 KHz로 변환하여 인코더/디코더(59)에 출력한다.
또 도시는 생략하지만, 또한 신호 처리부(60)는 1배속으로 동작하는 ATRAC3 방식의 인코더/디코더를 내장하고 있다.
MS 커넥터(61)는 삽입되는 MS(4)와 MGMS I/F(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)에 공급한다. 각 모듈의 전환을 실행한다. 사용자로부터의 음량 변경의 조작에 대응하여, 오디오 I0 미들웨어(AIO)(94)에 통지한다. 사용자로부터의 셋업 조작에 대응하여 각 모듈에 설정치를 통지한다. 각 모듈로 공통의 설정 정보(플레이 모드 등)를 유지한다. 파워오프의 조작에 대응하여 각 모듈을 종료시키고, 시스템 컨트롤 미들웨어(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 미들웨어(이하, PDMW라고 기술함)(9O)의 각 모듈이 포함된다.
HD MW(82)는 HDD(58)에 기억되어 있는 부호화 데이터를 관리하는 HDCC(83), CD MW(88)와 제휴하여 음악 CD(3)의 오디오 데이터를 압축하고 암호화하여 HDD(58)에 기록하는 CD RIPPING(84), 오디오 IO 미들웨어(94)와 제휴하여 HDD(58)에 기록되어 있는 부호화 데이터를 복호하고 신장하는 HD PLAY(85), 오디오 IO 미들웨어(94)와 제휴하여 AUX 인 단자(31)로부터 입력되는 오디오 데이터를 압축하고 암호화하여 HDD(58)에 기록하는 HDREC(86), MS MW(89) 또는 PDMW(90)와 제휴하여 MS(4) 또는 PD(5)와의 체크 인, 체크 아웃을 제어하는 C IN/C OUT(87)로 구성된다.
CD MW(88)는 CD 디바이스 드라이버(102)에 CD-R0M 드라이브(57)를 제어시킴으로써 CD 플레이어로서의 기능을 실현한다. MDMW(89)는 오디오 IO 미들웨어(94) 및 MS 파일 시스템 미들웨어(95)와 제휴하여 MS 플레이어로서의 기능을 실현한다. PDMW(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)와, 각 클러스터에 각각 대응하는 복수의 PAT 엔트리(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(0x000000OC)의 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)의 구성예를 나타내고 있다. 사이즈 기록 영역(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에 대응하는 섹터 번호를 판별한다). 단계 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)의 클러스터는, 파일이 기록되어 있는 일련의 클러스터 중 선두 클러스터가 아니기 때문에, 파일 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)는 DM 팔 컨트롤러(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)에 따르면, 하나의 파일을 구부수의 클러스터에 걸쳐 기록하는 경우, 순방향으로 클러스터를 이용하기 때문에, 기록 시나 재생 시에는 씨크가 일정 방향이 된다. 따라서, 기록 시의 기록 누설이나 재생 시의 음 스킵 발생이 억지된다.
다음에, 폴더, 앨범, 또는 트랙에 대응하는 오브젝트에 대하여, 도 21 내지 도 27을 참조하여 설명한다. 도 21은 오브젝트가 기록되는 오브젝트 기록 영역(122)의 논리 구조를 나타내고 있다. 오브젝트 기록 영역(122)은 시스템 에리어(161)와, 소정의 용량으로 구획된 복수의 청크로 구성된다. 오브젝트는 청크에 기록된다.
시스템 에리어(161)에는 헤더(162), 오브젝트형 기록 영역(163), 및 영역 정보 기록 영역(164)이 마련되어 있다. 복수의 청크에는 그 선두부터 순서대로 1이후의 시리얼 번호가 부여되어 있다, 이하, 예를 들면 번호 1이 부여되어 있는 청크를 청크 1, 번호 2가 부여되어 있는 청크를 청크2등으로 기술한다.
청크는 또한 소정의 용량의 페이지로 구획되어 있다. 청크를 구성하는 페이지에는 그 선두부터 순서대로 O 이후의 시리얼 번호가 부여되어 있다, 이하, 예를 들면, 번호 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는 각각, 청크에 기록되는 오브젝트의2종류의 기본 오브젝트형인 기본 오브젝트 제1형과 기본 오브젝트 제2형의 구성예를 나타내고 있다.
기본 오브젝트 제1형은 도 26A에 도시한 바와 같이, 자기의 오브젝트 식별자가 기록되는 오브젝트 식별자 기록 영역(201), 및 임의의 데이터(예를 들면, 사용자가 설정하는 오브젝트의 이름 등의 데이터)가 기록되는 임의 데이터 기록 영역(202)으로 구성된다. 기본 오브젝트 제1형에는 폴더 리스트, 폴더, 및 앨범의 오브젝트가 포함된다.
기본 오브젝트 제2형은 도 26B에 도시한 바와 같이, 자기의 오브젝트 식별자가 기록되는 오브젝트 식별자 기록 영역(201), 임의의 데이터가 기록되는 임의 데이터 기록 영역(202), 및 자기(오브젝트)에 대응하는 파일의 파일 식별자가 기록되는 파일 식별자 기록 영역(203)으로 구성된다. 기본 오브젝트 제2형에는 트랙의 오브젝트가 포함된다.
오브젝트 식별자 기록 영역(201)에 기록되는 오브젝트 식별자는, 도 27에 도시한 바와 같이, 대응하는 오브젝트가 저장되어 있는 일련의 페이지의 선두를 나타내는, 청크 번호와 그 페이지 번호, 형(型) 번호로 구성된다. 형 번호는, 대응하는 오브젝트가 속하는 기본 오브젝트형 번호(기본 오브젝트 제1형 또는 기본 오브젝트 제2형의 한쪽)와, 대응하는 오브젝트의 형이 등록되어 있는 오브젝트형 기록 영역(163)의 엔트리 번호로 구성된다.
다음에, 오브젝트의 작성 처리, 오브젝트의 검색 처리, 오브젝트의 갱신 처리, 스트림 오브젝트의 작성 처리, 및 스트림 오브젝트의 검색 처리에 대하여, 도 28 내지 도 37의 흐름도를 참조하여 설명한다. 여기서, 스트림 오브젝트란, 특히, 파일 기록 영역(121)에 기록된 콘텐츠 데이터와 일대일로 대응하는 오브젝트, 즉 트랙을 가리키는 용어이다. 스트림 오브젝트는 기본 오브젝트 제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)에 기록되는 콘텐츠 데이터와 일대일로 대응하는 트랙의 오브젝트, 즉 오브젝트형 번호 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으로 진행한다. 단계 S26G에서, 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)에는 일대일로 대응하는 콘텐츠 데이터(파일 기록 영역(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비트째는 세대를 나타내는(O:오리지널, 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)와 일대일로 대응하는 콘텐츠 데이터의 데이터 포맷을 도시하고 있다. 콘텐츠 데이터는 ATRAC3 헤더를 나타내는 16킬로바이트의 AT3H, ATRAC3 퍼트를 나타내는 16킬로바이트의 PRT, 및 사운드 유닛 열을 나타내는 각 16킬로바이트의 AT3SU-1 내지 AT3SU-N으로 구성된다.
도 45는 CC 오브젝트(216)의 데이터 포맷을 도시하고 있다. CC 오브젝트(216)는 도 26B에 도시한 기본 오브젝트 제2형에 속한다. 따라서, 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-R0M 드라이브(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-R0M 드라이브(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 레코딩에서는, AI0 MW(94)의 제어에 의해, AUX 인 단자(31)로부터 입력되는 디지털 오디오 데이터는 신호 처리부(60)를 경유하여 인코더(59)에 공급된다. 다음에, HD MW(82)의 제어에 의해, 디지털 오디오 데이터는, 인코더(59)에 의해서 ATRAC3 방식에 따라서 인코딩되어 암호화되고, 얻어진 부호화 데이터는 버퍼(56)에 전송된 후, HDD(58)에 전송되어 기록된다. 또한, HD MW(82)의 제어에 의해, 신호 처리부(60)의 WM 스크린(60-2)에서 워터마크가 검출된다. 또한, AI0 MW(94)의 제어에 의해, 신호 처리부(60)의 오디오 I/F(60-3)에 의해서 디지털 오디오 데이터는, D/A(62)에 전송되어 아날로그화되어, 스피커(2)로부터 출력된다.
도 50은 아날로그 입력에 대한 HD 레코딩이 실행될 때의 데이터의 흐름을 도시하고 있다. 아날로그 입력을 부호화하여 HDD(58)에 기록하는 HD 레코딩에서는, AI0 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-ROM 드라이브(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)가 내장하는 디코더에 의해서 디코드딩다. 다음에, AI0 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 I/F(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)에 버퍼링된다. 다음에, PDMW(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)의 구조를 나타내고 있다.
소정의 용량(설명의 편의상, 어드레스 O 내지 어드레스 max로 함)을 갖는 링 버퍼(241)에는, 판독 개시 어드레스를 나타내는 판독 포인터(242)와, 기입 개시 어드레스를 나타내는 기입 포인터(243)가 설정된다. 링 버퍼(241)는 판독 포인터(242)가 나타내는 어드레스로부터 순방향으로 기입 포인터(243)가 나타내는 어드레스까지의 판독 가능 영역(244)과, 기입 포인터(243)가 나타내는 어드레스에서 순방향으로 판독 포인터(242)가 나타내는 어드레스에서까지의 기입 가능 영역(245)으로 구분된다. 판독 가능 영역(244)의 용량을 판독 마진이라고 칭한다. 기입 가능 영역(245)의 용량을 기입 마진이라고 칭한다.
도 62는 CD 립핑 및 CD 레코딩에서의 각 버퍼 사이의 데이터 흐름을 도시하고 있다. 음악 CD(3)의 PCM 데이터는 CD-ROA4 드라이브(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-R0M 드라이브(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 RIPPING(84)에 전달한다. CD RIPPING(84)은 자기가 SDRAM(53) 등에 마련하는 고속 녹음 플래그를 오프로 설정한다. 처리는 단계 S281로 되돌아간다.
단계 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의 흐름도를 참조하여 설명한다. 단계 S311에 있어서, CD RIPPING(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는 녹음이 한창 실행되고 있는 표시예이다. 이 때, 디스플레이(15)에는 표시 영역(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)은 HSDB(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의 LCML0G에 체크 아웃 목적지의 정보로서 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 MW(82)의 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의 LCML0G로부터 체크 아웃 목적지의 정보로서 기록하고 있는 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)가 갖는 스토어(STORE) 기능 및 리스토어(RESTORE) 기능에 대하여, 도 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은 PALM OS 데이터 파일이 저장되는 디렉토리이다. 디렉토리 MP3는 MP3 파일이 저장되는 디렉토리이다. 디렉토리 MSxxxxxx는 벤더 고유의 정보 파일이 저장되는 디렉토리이다("xxxxxx"는 벤더를 식별하기 위한 정보임).
도 100은 스토어 기능에 의해서 HDD(58)의 오브젝트 기록 영역(122)의 디렉토리 구조 하에 생성되는 아카이브 파일의 기록 위치를 나타내고 있다. 폴더 오브젝트(217)와 동일한 계층에는 MS 데이터 오브젝트(501)가 생성된다. MS 데이터 오브젝트(501)의 아래 계층에는 MS 스토어/리스토어 오브젝트(502)가 생성된다. 아카이브 파일(도 100의 경우, MS 데이터 #1.DCIM, MS 데이터 #2.VOICE, 및 MS 데이터 #3.DCIM)은, MS 스토어/리스토어 오브젝트(502)의 아래 계층에 기록된다.
또, 「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 스토어/리스토어 오브젝트(502)의 아래의 계층에 기록한다. 단계 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 스토어/리스토어 오브젝트(502)의 아래의 계층에 속하는 아카이브 파일의 리스트를 디스플레이(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)의 표시예를 나타내고 있다. 표시 영역(521)에는 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 스토어/리스토어 오브젝트(502)의 아래의 계층으로부터 삭제한다. 이상, 리스토어 처리의 설명을 종료한다.
또, 단계 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-ROM 외에, 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"로 한 후, 그 기억 영역에의 기입을 행하고, 그리고 기입이 종료한 후에 "VALlD"(정확하게는, INVALID가 아닌 값)로 할 수 있다. 이에 의해, 재기입 도중의 펌웨어가 SDRAM(53)에 전개되어 실행되는 것을 방지할 수 있다.
또한 이상에서는, 펌웨어를 버전업하는 경우를 예로 설명하였지만, 그 밖의 프로그램을 버전업하는 경우에 있어서 본 발명을 적용할 수 있다. 또한, 버전업이 아니라, 프로그램의 형태(예를 들면, 일본어용 프로그램, 영어용 프로그램)를 변경하는 경우에도 본 발명을 적용할 수 있다.
그런데, 상술한 일련의 처리는 오디오 서버(1)와 같은 전용기기에 의해서 실행시킬 수도 있지만, 범용의 퍼스널 컴퓨터 등에, 도 7에 도시한 바와 같은 펌웨어를 인스톨하여 실행시킴으로써도 실현할 수 있다.
이 펌웨어는 범용의 컴퓨터와는 별도로, 사용자에게 프로그램을 제공하기 위해서 배포되는, 펌웨어가 기록되어 있는 자기 디스크(플로피 디스크를 포함함), 광 디스크(CD-ROM(Compact Disc-Read Only Memory, DVD(Digital Versatile Disc)를 포함함), 광 자기 디스크(MD(Mini Disc)를 포함함), 혹은 반도체 메모리 등으로 이루어지는 패키지 미디어에 의해 구성되는 것뿐만 아니라, 컴퓨터에 미리 조립된 상태로 사용자에게 제공되는, 펌웨어가 기록되어 있는 ROM이나 하드디스크 등으로 구성된다.
또, 본 명세서에 있어서, 프로그램(펌웨어)을 기술하는 단계는 기재된 순서에 따라서 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않더라도, 병렬적 혹은 개별로 실행되는 처리도 포함하는 것이다.
이상과 같이 본 발명에 따르면, 소정의 포맷의 데이터를 일시적으로 재이전하는 처리를 자동적으로 실행시키는 것이 가능해진다.

Claims (19)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 장치 전체를 제어하는 제어 프로그램, 상기 제어 프로그램을 판독함과 함께 다른 정보 기억 매체에 로딩하는 로드 프로그램, 상기 로딩된 제어 프로그램의 실행을 지시하는 실행 지시 프로그램, 프로그램이 기억되는 영역의 갱신 상황을 나타내는 갱신 정보, 외부 정보 기억 매체로부터 프로그램을 판독하는 판독 프로그램, 및 상기 판독 프로그램에 판독된 프로그램을 프로그램이 기억되는 영역에 기입하는 기입 프로그램을 갖는 제1 정보 기억 매체와,
    상기 로드 프로그램에 의해 로딩된 제어 프로그램을 기억하는 제2 정보 기억 매체와,
    전원이 투입되었을 때, 상기 제1 정보 기억 매체에 기억되는 갱신 정보에 따라서, 상기 로드 프로그램에 의해 상기 제어 프로그램의 일부를 상기 제2 정보 기억 매체에 로딩하고, 상기 실행 지시 프로그램에 기초하여 로딩된 상기 제어 프로그램을 실행하고, 상기 제어 프로그램의 실행 중에, 사용자 요구에 따라서, 상기 제2 정보 기억 매체에 로딩되어 있는 판독 프로그램에 따라서 외부 정보 기억 매체로부터 프로그램을 판독하고, 상기 제2 정보 기억 매체에 로딩되어 있는 기입 프로그램에 따라서 상기 판독된 프로그램을 상기 제1 정보 기억 매체에 기입하도록 제어하는 컨트롤러
    를 포함하는 것을 특징으로 하는 정보 처리 장치.
  11. 제10항에 있어서,
    상기 제1 정보 기억 매체는 제1 영역과 제2 영역을 갖고,
    상기 제1 영역에는, 적어도 제2 영역의 프로그램을 판독함과 함께 상기 제2 정보 기억 매체에 로딩하는 상기 로드 프로그램, 상기 실행 지시 프로그램, 및 상기 제2 영역의 갱신 상황을 나타내는 갱신 정보를 갖고,
    제2 영역에는, 적어도 상기 판독 프로그램, 상기 기입 프로그램, 및 상기 제어 프로그램을 갖는 것을 특징으로 하는 정보 처리 장치.
  12. 제11항에 있어서,
    상기 컨트롤러는 전원이 투입되었을 때, 적어도,
    상기 제1 정보 기억 매체의 제1 영역에 기억되는 갱신 정보 중 최신인 것을 나타내는 갱신 정보를 탐색하고,
    상기 로드 프로그램이 탐색된 영역에 대응하는 프로그램을 상기 제2 정보 기억 매체에 로딩하도록 제어함과 함께, 상기 실행 지시 프로그램에 기초하여 상기 로딩된 제어 프로그램을 실행하는 것을 특징으로 하는 정보 처리 장치.
  13. 제12항에 있어서,
    상기 컨트롤러는 사용자 요구에 따라서,
    상기 제1 정보 기억 매체의 갱신 정보 중 가장 오래된 것을 나타내는 갱신 정보나 혹은 아직 빈 영역인 것을 나타내는 갱신 정보를 탐색하고,
    상기 제2 정보 기억 매체에 로딩되어 있는 판독 프로그램에 따라서 외부 정보 기억 매체로부터 프로그램을 판독하고,
    상기 제2 정보 기억 매체에 로딩되어 있는 기입 프로그램에 따라서 프로그램을 상기 탐색된 갱신 정보에 대응하는 제1 정보 기억 매체의 소정 영역에 기입하고,
    또한, 상기 소정 영역에 대응하는 상기 갱신 정보를 최신인 것을 나타내는 갱신 정보로 재기입하는 것을 특징으로 하는 정보 처리 장치.
  14. 제11항에 있어서,
    제1 영역에는 적어도, 외부 정보 기억 매체로부터 암호화 프로그램을 판독함과 함께 복호 지시하는 제1 판독 프로그램, 제2 영역의 암호화 프로그램을 제1 정보 기억 매체로부터 판독함과 함께 복호 지시하고, 복호된 프로그램을 제2 정보 기억 매체에 로딩하는 상기 로드 프로그램, 상기 실행 지시 프로그램, 및 상기 제2 영역 이후의 각 영역의 갱신 상황을 나타내는 갱신 정보를 갖고,
    제2 영역에는, 적어도 외부 정보 기억 매체로부터 암호화 프로그램을 판독함과 함께 복호 지시하는 제2 판독 프로그램, 상기 제2 판독 프로그램에 판독됨과 함께 복호된 프로그램을 다시 암호화하여 제2 영역에 기입하는 기입 프로그램, 및 장치 전체를 제어하는 암호화된 제어 프로그램을 갖는 것을 특징으로 하는 정보 처리 장치.
  15. 제14항에 있어서,
    상기 컨트롤러는 사용자 요구에 따라서,
    상기 제1 정보 기억 매체의 갱신 정보 중 가장 오래된 것을 나타내는 갱신 정보나 혹은 아직 빈 영역인 것을 나타내는 갱신 정보를 탐색하고,
    상기 제2 정보 기억 매체에 로딩되어 있는 판독 프로그램에 따라서 외부 정보 기억 매체로부터 암호화 프로그램을 판독함과 함께 복호 지시하고,
    상기 제2 정보 기억 매체에 로딩되어 있는 기입 프로그램에 따라서 복호된 프로그램을 다시 암호화하여 상기 탐색된 갱신 정보에 대응하는 제1 정보 기억 매체의 소정 영역에 기입하고,
    또한, 상기 소정 영역에 대응하는 상기 갱신 정보를 최신인 것을 나타내는 갱신 정보로 재기입하는 것을 특징으로 하는 정보 처리 장치.
  16. 장치 전체를 제어하는 제어 프로그램, 상기 제어 프로그램을 판독함과 함께 다른 정보 기억 매체에 로딩하는 로드 프로그램, 상기 로딩된 제어 프로그램의 실행을 지시하는 실행 지시 프로그램, 프로그램이 기억되는 영역의 갱신 상황을 나타내는 갱신 정보와, 외부 정보 기억 매체로부터 프로그램을 판독하는 판독 프로그램, 및 상기 판독 프로그램에 판독된 프로그램을 프로그램이 기억되는 영역에 기입하는 기입 프로그램을 갖는 제1 정보 기억 매체와,
    상기 로드 프로그램에 의해 로딩된 제어 프로그램을 기억하는 제2 정보 기억 매체를 갖는 정보 처리 장치의 정보 처리 방법에 있어서,
    전원이 투입되었을 때,
    상기 제1 정보 기억 매체에 기억되는 갱신 정보에 따라서, 상기 로드 프로그램에 의해 상기 제어 프로그램의 일부를 상기 제2 정보 기억 매체에 로딩하고, 상기 실행 지시 프로그램에 기초하여 상기 로딩된 제어 프로그램을 실행하고,
    상기 제어 프로그램의 실행 중에, 사용자 요구에 따라서,
    상기 제2 정보 기억 매체에 로딩되어 있는 판독 프로그램에 따라서 외부 정보 기억 매체로부터 프로그램을 판독하고,
    상기 제2 정보 기억 매체에 로딩되어 있는 기입 프로그램에 따라서 상기 판독된 프로그램을 상기 제1 정보 기억 매체에 기입하는 것을 특징으로 하는 정보 처리 방법.
  17. 장치 전체를 제어하는 제어 프로그램, 상기 제어 프로그램을 판독함과 함께 다른 정보 기억 매체에 로딩하는 로드 프로그램, 상기 로딩된 제어 프로그램의 실행을 지시하는 실행 지시 프로그램, 프로그램이 기억되는 영역의 갱신 상황을 나타내는 갱신 정보와, 외부 정보 기억 매체로부터 프로그램을 판독하는 판독 프로그램, 및 상기 판독 프로그램에 판독된 프로그램을 프로그램이 기억되는 영역에 기입하는 기입 프로그램을 갖는 제1 정보 기억 매체와,
    상기 로드 프로그램에 의해 로딩된 제어 프로그램을 기억하는 제2 정보 기억 매체를 갖는 정보 처리 장치를 제어하는 프로그램으로서,
    전원이 투입되었을 때,
    상기 제1 정보 기억 매체에 기억되는 갱신 정보에 따라서, 상기 로드 프로그램에 의해 상기 제어 프로그램의 일부를 상기 제2 정보 기억 매체에 로딩하고, 상기 실행 지시 프로그램에 기초하여 상기 로딩된 제어 프로그램을 실행하고,
    상기 제어 프로그램의 실행 중에, 사용자 요구에 따라서,
    상기 제2 정보 기억 매체에 로딩되어 있는 판독 프로그램에 따라서 외부 정보 기억 매체로부터 프로그램을 판독하고,
    상기 제2 정보 기억 매체에 로딩되어 있는 기입 프로그램에 따라서 상기 판독된 프로그램을 상기 제1 정보 기억 매체에 기입하는 것을 특징으로 하는 프로그램을 기억하는 기억 매체.
  18. 삭제
  19. 삭제
KR1020037005592A 2001-08-23 2002-07-04 정보 처리 장치 및 방법 KR100915767B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001252912A JP2003067208A (ja) 2001-08-23 2001-08-23 情報処理装置および方法、記録媒体、並びにプログラム
JPJP-P-2001-00252912 2001-08-23
PCT/JP2002/006800 WO2003019374A1 (fr) 2001-08-23 2002-07-04 Dispositif et procede pour le traitement de l'information

Publications (2)

Publication Number Publication Date
KR20040029302A KR20040029302A (ko) 2004-04-06
KR100915767B1 true KR100915767B1 (ko) 2009-09-04

Family

ID=19081312

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037005592A KR100915767B1 (ko) 2001-08-23 2002-07-04 정보 처리 장치 및 방법

Country Status (6)

Country Link
US (2) US7600224B2 (ko)
EP (1) EP1420342A4 (ko)
JP (1) JP2003067208A (ko)
KR (1) KR100915767B1 (ko)
CN (1) CN100565461C (ko)
WO (1) WO2003019374A1 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1312672C (zh) * 2002-07-01 2007-04-25 松下电器产业株式会社 光盘装置以及光盘记录方法
JP4200435B2 (ja) * 2002-09-10 2008-12-24 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
JP2005063207A (ja) * 2003-08-14 2005-03-10 Easy Systems Japan Kk アップデートプログラム及びアップデート方法
JP4539115B2 (ja) * 2004-02-25 2010-09-08 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US7827544B2 (en) * 2004-11-18 2010-11-02 International Business Machines Corporation Updating elements in a data storage facility using a predefined state machine, with parallel activation
US7747573B2 (en) * 2004-11-18 2010-06-29 International Business Machines Corporation Updating elements in a data storage facility using a predefined state machine, with serial activation
EP1696321A1 (en) * 2005-02-23 2006-08-30 Deutsche Thomson-Brandt Gmbh Method and apparatus for executing software applications
US20060184791A1 (en) * 2005-02-14 2006-08-17 Schain Mariano R Encryption/decryption mechanism of network deployed executable image for secure boot of a device embedded in an un-trusted host
US8078740B2 (en) 2005-06-03 2011-12-13 Microsoft Corporation Running internet applications with low rights
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US7934049B2 (en) 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
JP4891324B2 (ja) * 2005-09-14 2012-03-07 サンディスク コーポレイション 大容量フラッシュメモリを備える高信頼性デバイスのための、セキュアでありながらフレキシブルなシステムアーキテクチャ
US7761927B2 (en) * 2005-09-21 2010-07-20 Rovi Solutions Limited Apparatus and method for monitoring and controlling access to data on a computer readable medium
US8185737B2 (en) 2006-06-23 2012-05-22 Microsoft Corporation Communication across domains
JP2008009715A (ja) * 2006-06-29 2008-01-17 Hitachi Ltd プログラム配付方法及び計算機システム
US7779402B2 (en) * 2006-08-22 2010-08-17 International Business Machines Corporation System and method for fine grain method update of an application to provide continuous availability
US7770165B2 (en) * 2006-08-25 2010-08-03 Microsoft Corporation Providing firmware updates to portable media devices
JP2008084291A (ja) * 2006-08-28 2008-04-10 Fujitsu Ltd 記憶装置、制御方法及び制御装置
US8112508B1 (en) * 2006-09-08 2012-02-07 Dell Products L.P. Delivering data from device management services to devices using bulletin system
US7613738B2 (en) * 2007-01-16 2009-11-03 Microsoft Corporation FAT directory structure for use in transaction safe file system
US10019570B2 (en) 2007-06-14 2018-07-10 Microsoft Technology Licensing, Llc Protection and communication abstractions for web browsers
US8438636B2 (en) * 2008-01-11 2013-05-07 Microsoft Corporation Secure and extensible policy-driven application platform
US8701051B2 (en) 2008-02-11 2014-04-15 Goldspot Media, Inc. Hot spot use in advertising
US9189794B2 (en) * 2008-02-11 2015-11-17 Goldspot Media, Inc. Method and apparatus for maximizing brand exposure in a minimal mobile display
US8510661B2 (en) * 2008-02-11 2013-08-13 Goldspot Media End to end response enabling collection and use of customer viewing preferences statistics
CN102205817B (zh) * 2010-03-31 2013-04-24 上海博泰悦臻电子设备制造有限公司 车载系统音量操作的显示控制方法和装置
KR101810403B1 (ko) * 2011-05-13 2017-12-19 삼성전자주식회사 휴대용 단말기에서 주변 디바이스의 데이터를 저장하기 위한 장치 및 방법
CN104965767A (zh) * 2015-07-02 2015-10-07 四川效率源信息安全技术有限责任公司 日立硬盘被加密无法访问的解密方法
US10299114B1 (en) * 2015-08-31 2019-05-21 Rockwell Collins, Inc. External crypto modernization of legacy radios
US20190073235A1 (en) * 2016-04-21 2019-03-07 Nec Corporation Network system, patch file application method, and recording medium
CN108762791B (zh) * 2018-06-07 2022-09-16 深圳市元征科技股份有限公司 固件升级方法及装置
CN109656167B (zh) * 2018-12-14 2022-02-22 广州河东科技有限公司 一种基于智能设备的通信控制系统及方法
CN112615837B (zh) * 2020-12-10 2022-11-01 成都新赢科技有限公司 一种智能数据防护系统及其使用方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934722A (ja) * 1995-07-18 1997-02-07 Fujitsu Ltd システム移行方法及び装置並びにインストール方法及び装置
JPH1040095A (ja) * 1996-07-26 1998-02-13 L Ii Tec:Kk プログラム実行メモリー内蔵のセキュリティチップ

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920007712B1 (ko) * 1987-06-15 1992-09-15 후지 제록스 가부시끼가이샤 기록장치
US5878256A (en) * 1991-10-16 1999-03-02 International Business Machine Corp. Method and apparatus for providing updated firmware in a data processing system
JP3329841B2 (ja) 1991-10-18 2002-09-30 株式会社日立製作所 ネットワークシステム及びそのソフトウエア管理方法
US6002787A (en) * 1992-10-27 1999-12-14 Jasper Consulting, Inc. Fingerprint analyzing and encoding system
JP2710195B2 (ja) * 1992-12-15 1998-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 記憶装置コントローラ
JP3405608B2 (ja) 1993-09-17 2003-05-12 株式会社東芝 有機el素子
JP3382337B2 (ja) * 1994-02-04 2003-03-04 キヤノン株式会社 情報処理システム及び電子機器及び制御方法
US5835601A (en) * 1994-03-15 1998-11-10 Kabushiki Kaisha Toshiba File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing
US5732275A (en) * 1996-01-11 1998-03-24 Apple Computer, Inc. Method and apparatus for managing and automatically updating software programs
US5754651A (en) * 1996-05-31 1998-05-19 Thomson Consumer Electronics, Inc. Processing and storage of digital data and program specific information
US5930513A (en) * 1996-06-06 1999-07-27 Sun Microsystems, Inc. Reference based software installation
US6074434A (en) * 1996-06-07 2000-06-13 International Business Machines Corporation Selection of code updates, data updates or new data for client
US5881292A (en) * 1996-09-26 1999-03-09 Microsoft Corporation Dynamic versioning system for multiple users of multi-module software system
JPH10164046A (ja) * 1996-11-29 1998-06-19 Canon Inc 送信方法、受信方法、送信装置、受信装置、伝送システム及び媒体
US5922072A (en) * 1997-01-03 1999-07-13 Ncr Corporation Method and apparatus for creating alternate boot environments in a computer
JP3391221B2 (ja) 1997-06-16 2003-03-31 セイコーエプソン株式会社 インクカートリッヂ
US6266809B1 (en) * 1997-08-15 2001-07-24 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
US6360362B1 (en) * 1998-02-20 2002-03-19 Intel Corporation Automatic update of camera firmware
US6052531A (en) * 1998-03-25 2000-04-18 Symantec Corporation Multi-tiered incremental software updating
US6167567A (en) * 1998-05-05 2000-12-26 3Com Corporation Technique for automatically updating software stored on a client computer in a networked client-server environment
US6282700B1 (en) 1998-05-21 2001-08-28 Hewlett Packard Company Mechanism for maintaining revisions of objects in flash memory
US6141010A (en) * 1998-07-17 2000-10-31 B. E. Technology, Llc Computer interface method and apparatus with targeted advertising
JP3950589B2 (ja) * 1998-08-28 2007-08-01 キヤノン株式会社 情報処理装置、プログラム更新方法および記憶媒体
US6330670B1 (en) * 1998-10-26 2001-12-11 Microsoft Corporation Digital rights management operating system
US6457175B1 (en) * 1998-11-09 2002-09-24 Tut Systems, Inc. Method and apparatus for installing a software upgrade within a memory resource associated with a computer system
JP2000200193A (ja) 1999-01-06 2000-07-18 Toshiba Tec Corp デ―タ処理装置
EP1196838B1 (en) * 1999-03-30 2006-05-31 Siemens Energy & Automation, Inc. Programmable logic controller method, system and apparatus
KR20020010926A (ko) 1999-06-10 2002-02-06 헨드리쿠스 하롤트 판 안델 분리된 메모리 영역 내에 상이한 버전의 데이터 세트를저장하는 장치 및 메모리 내의 데이터 세트를 갱신하는 방법
US6449682B1 (en) * 1999-06-18 2002-09-10 Phoenix Technologies Ltd. System and method for inserting one or more files onto mass storage
US6457122B1 (en) * 1999-06-18 2002-09-24 Phoenix Technologies Ltd. Fault tolerant process for the delivery of programs to writeable storage device utilizing pre-operating system software/firmware
US6578142B1 (en) * 1999-06-18 2003-06-10 Phoenix Technologies, Ltd. Method and apparatus for automatically installing and configuring software on a computer
US6438750B1 (en) * 1999-06-18 2002-08-20 Phoenix Technologies Ltd. Determining loading time of an operating system
EP1194850A1 (en) * 1999-06-30 2002-04-10 Microsoft Corporation System and method for protecting shared system files
EP1077407A1 (en) * 1999-07-29 2001-02-21 International Business Machines Corporation Method of upgrading a program using associated configuration data
US6640334B1 (en) * 1999-09-27 2003-10-28 Nortel Networks Limited Method and apparatus of remotely updating firmware of a communication device
US6385623B1 (en) * 1999-11-12 2002-05-07 Dell Usa, L.P. System and method for ensuring proper execution of scheduled file updates
US6823508B1 (en) * 2000-04-27 2004-11-23 Microsoft Corporation Automatic computer program customization based on a user information store
KR100455566B1 (ko) * 2000-06-30 2004-11-09 인터내셔널 비지네스 머신즈 코포레이션 코드 갱신을 위한 장치 및 방법
US7069271B1 (en) * 2000-11-03 2006-06-27 Oracle International Corp. Methods and apparatus for implementing internet storefronts to provide integrated functions
US7146412B2 (en) * 2001-08-27 2006-12-05 Hewlett-Packard Development Company, L.P. System and methods for the automatic discovery, notification and installation of firmware upgrades
JP4200435B2 (ja) 2002-09-10 2008-12-24 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
US7191437B1 (en) * 2003-04-23 2007-03-13 Network Appliance, Inc. System and method for reliable disk firmware update within a networked storage fabric
JP4870915B2 (ja) * 2004-07-15 2012-02-08 株式会社日立製作所 ストレージ装置
US7516206B2 (en) * 2005-01-28 2009-04-07 Cassatt Corporation Management of software images for computing nodes of a distributed computing system
JP4569382B2 (ja) * 2005-05-20 2010-10-27 ブラザー工業株式会社 印刷データ編集装置、印刷データ編集プログラム及び記録媒体
US20080022380A1 (en) * 2006-05-25 2008-01-24 Gemalto, Inc. Method of patching applications on small resource-constrained secure devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934722A (ja) * 1995-07-18 1997-02-07 Fujitsu Ltd システム移行方法及び装置並びにインストール方法及び装置
JPH1040095A (ja) * 1996-07-26 1998-02-13 L Ii Tec:Kk プログラム実行メモリー内蔵のセキュリティチップ

Also Published As

Publication number Publication date
WO2003019374A1 (fr) 2003-03-06
EP1420342A4 (en) 2007-08-22
EP1420342A1 (en) 2004-05-19
US7600224B2 (en) 2009-10-06
CN1488099A (zh) 2004-04-07
US20040015708A1 (en) 2004-01-22
CN100565461C (zh) 2009-12-02
US20100002874A1 (en) 2010-01-07
KR20040029302A (ko) 2004-04-06
JP2003067208A (ja) 2003-03-07

Similar Documents

Publication Publication Date Title
KR100915767B1 (ko) 정보 처리 장치 및 방법
JP4038686B2 (ja) 記録装置、記録方法、記憶媒体、プログラムおよび通信装置
KR100913149B1 (ko) 기록장치 및 방법과, 통신장치 및 방법
KR100959596B1 (ko) 기록장치 및 방법
JP2000339207A (ja) 記録媒体、データ処理装置
JP4250343B2 (ja) データ処理装置
JP3797104B2 (ja) ディジタルオーディオ信号録音装置
JP2003069551A (ja) 暗号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
JP4618476B2 (ja) 再生装置および方法、記録媒体、並びにプログラム
JP4586317B2 (ja) 記録再生装置および方法、記録媒体、並びにプログラム
JP2003022656A (ja) 記録装置および方法、記録媒体、並びにプログラム
JP2003087239A (ja) 通信システム、通信装置および方法、記録媒体、並びにプログラム
JP2006202475A (ja) ファイル転送システムおよびファイル転送方法
JP2003030966A (ja) 再生装置および方法、記録媒体、並びにプログラム
JP2006185589A (ja) データ転送システム、データ転送方法、およびデータ転送プログラム
JP2003066996A (ja) 記録再生装置および方法、記録媒体、並びにプログラム
JP2003030967A (ja) 記録装置および方法、記録媒体、並びにプログラム
JP2003022606A (ja) 記録再生装置および方法、記録媒体、並びにプログラム
JP2003022663A (ja) 記録装置および方法、記録媒体、並びにプログラム
JP2003022205A (ja) 記録装置および方法、記録媒体、並びにプログラム
JP2003346465A (ja) 記録装置および方法、記録媒体、並びにプログラム

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120820

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee