KR100720838B1 - 편집 장치 및 편집 방법 - Google Patents

편집 장치 및 편집 방법 Download PDF

Info

Publication number
KR100720838B1
KR100720838B1 KR20000015067A KR20000015067A KR100720838B1 KR 100720838 B1 KR100720838 B1 KR 100720838B1 KR 20000015067 A KR20000015067 A KR 20000015067A KR 20000015067 A KR20000015067 A KR 20000015067A KR 100720838 B1 KR100720838 B1 KR 100720838B1
Authority
KR
South Korea
Prior art keywords
data
file
area
editing
recorded
Prior art date
Application number
KR20000015067A
Other languages
English (en)
Other versions
KR20010006865A (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 KR20010006865A publication Critical patent/KR20010006865A/ko
Application granted granted Critical
Publication of KR100720838B1 publication Critical patent/KR100720838B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/16Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media
    • G11B2220/61Solid state media wherein solid state memory is used for storing A/V content
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Read Only Memory (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Processing Or Creating Images (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 미리 결정된 데이터 길이를 가지고 각각의 블록으로 세그먼트된 데이터 파일들을 분할하거나 조합하는 편집 장치 및 편집 방법에 관한 것이며, 미리 결정된 길이를 갖는 속성 파일이 부가되고, 상기 세그먼트된 블록들은 비휘발성 메모리에 기록된다.
비휘발성 메모리, 세그먼트, 플래쉬 메모리, 메모리 카드, 페이지 버퍼

Description

편집 장치 및 편집 방법{Editing apparatus and editing method}
도 1은 본 발명에 따른 비휘발성 메모리 카드를 사용하는 디지털 오디오 레코더/플레이어의 구조를 도시하는 블록도.
도 2는 본 발명에 따른 DSP(30)의 내부 구조를 도시하는 블록도.
도 3은 본 발명에 따른 메모리 카드(40)의 내부 구조를 도시하는 블록도.
도 4는 본 발명에 따른 저장 매체로서 메모리 카드의 파일 관리 구조를 도시하는 개략도.
도 5는 본 발명에 따른 메모리 카드(40)의 플래쉬 메모리(42)내의 데이터의 물리적 구조를 도시하는 개략도.
도 6은 본 발명에 따른 메모리 카드(40)의 데이터 구조를 도시하는 도면.
도 7은 상기 메모리 카드(40)내의 계층적 파일 구조를 도시하는 개략도.
도 8은 상기 메모리 카드(40)에 저장된 서브 디렉토리인 재생 관리 파일 PBLIST.MSF의 데이터 구조를 도시하는 개략도.
도 9는 하나의 ATRAC3 데이터 파일이 미리 결정된 단위 길이를 갖는
블록으로 분할되고 속성 파일이 그로부터 부가되는 경우의 데이터 구조를 도시하는 개략도.
도 10a는 2개의 파일들이 결합 처리와 편집하기 전의 파일 구조를 도시하는 개략도.
도 10b는 2개의 파일들이 결합 처리와 편집된 후의 파일 구조를 도시하는 개략도.
도 10c는 하나의 파일이 분할 처리와 편집된 후의 파일 구조를 도시하는 개략도.
도 11은 재생 관리 파일 PBLIST의 데이터 구조를 도시하는 개략도.
도 12a는 재생 관리 파일 PBLIST의 헤더부 데이터 구조를 도시하는 개략도.
도 12b는 재생 관리 파일 PBLIST의 주데이터부의 데이터 구조를 도시하는 개략도.
도 12c는 재생 관리 파일 PBLIST의 추가 정보 데이터부의 데이터 구조를 도시하는 개략도.
도 13은 추가 정보 데이터와 그의 코드값 형태를 서로 도시하는 테이블.
도 14는 추가 정보 데이터와 그의 코드값 형태를 서로 도시하는 테이블.
도 15는 추가 정보 데이터와 그의 코드값 형태를 서로 도시하는 테이블.
도 16a는 추가 정보 데이터의 데이터 구조를 도시하는 개략도.
도 16b는 추가 정보 데이터가 아티스트 명인 경우의 데이터 구조를 도시하는 개략도.
도 16c는 추가 정보 데이터가 저작권(copyright) 코드인 경우의 데이터 구조를 도시하는 개략도.
도 16d는 추가 정보 데이터가 날짜/시간 정보인 경우의 데이터 구조를 도시하는 개략도.
도 16e는 추가 정보 데이터가 재생 로그인 경우의 데이터 구조를 도시하는 개략도.
도 17은 ATRAC3 데이터 파일의 상세 데이터 구조를 도시하는 개략도.
도 18은 ATRAC3 데이터 파일을 구성하는 속성 헤더의 상부 부분의 데이터 구조를 도시하는 개략도.
도 19는 ATRAC3 데이터 파일을 구성하는 속성 헤더의 중간 부분의 데이터 구조를 도시하는 개략도.
도 20은 기록 모드, 기록 시간 등에 관계된 테이블.
도 21은 복사 제어 상태를 도시하는 테이블.
도 22는 ATRAC3 데이터 파일을 구성하는 속성 헤더의 하부 부분의 데이터 구조를 도시하는 개략도.
도 23은 ATRAC3 데이터 파일의 데이터 블록의 헤더의 데이터 구조를 도시하는 개략도.
도 24a 내지 24c는 FTA 영역이 파괴된 경우 본 발명에 따른 회복 방법을 도시하는 흐름도.
도 25는 본 발명의 제 2 실시예에 따른 메모리 카드(40)의 파일 구조를 도시하는 개략도.
도 26은 트랙 정보 관리 파일 TRKLIST.MSF 및 ATRAC3 데이터 파일 A3Dnnnnn.MSA 사이의 관계를 도시하는 개략도.
도 27은 트랙 정보 관리 파일 TRKLIST.MSF의 상세 데이터 구조를 도시하는 개략도.
도 28은 이름을 관리를 위한 NAME1 상세 데이터 구조를 도시하는 개략도.
도 29는 이름을 관리를 위한 NAME2의 상세 데이터 구조를 도시하는 개략도.
도 30은 ATRAC3 데이터 파일 A3Dnnnnn.MSA의 상세 데이터 구조를 도시하는 개략도.
도 31은 추가 정보를 표시하는 INFLIST.MSF의 상세 데이터 구조를 도시하는 개략도.
도 32는 추가 정보 데이터를 표시하는 INFLIST.MSF의 상세 데이터 구조를 도시하는 개략도.
도 33은 FTA 영역이 파괴된 경우 본 발명의 제 2 실시예에 따른 회복 방법을 도시하는 흐름도.
도 34는 제 1 실시예에 따른 메모리 맵 구조(도 6을 보라)에서 특정 파일들을 조합하는 조합 처리시 데이터 변위들(data transitions)을 설명하는 메모리 맵을 보여주는 개략도.
도 35a는 2개 파일들이 조합되기 전의 메모리 맵을 도시하는 개략도.
도 35b는 2개의 파일들이 조합된 후의 메모리 맵을 도시하는 개략도.
도 36은 본 발명의 제 1 실시예에 따른 조합 처리를 설명하는 흐름도.
도 37은 본 발명의 제 1 실시예에 따른 메모리 구조(도 6을 보라)로 특정 프로그램을 분할하는 분할 처리시 데이터 변위들을 설명하는 메모리 맵을 보여주는 개략도.
도 38a는 특정 프로그램이 조합되기 전의 메모리 맵을 보여주는 개략도.
도 38b는 특정 프로그램이 조합된 후의 메모리 맵을 보여주는 개략도.
도 39는 본 발명의 제 1 실시예에 따른 분할 처리를 설명하는 흐름도.
도 40은 본 발명의 제 2 실시예에 따른 조합 처리를 설명하는 흐름도.
도 41은 본 발명의 제 2 실시예에 따른 분할 처리를 설명하는 흐름도.
도 42a는 종래의 자기광 디스크 상에서 분산된 기록 가능 영역을 관리하는 한 부분의 U-TOC(사용자-테이블 내용)에 대한 관리 방법을 보여주는 개략도.
도 42b는 도 42a에 도시된 한 부분에 대응하며 조합된 한 부분에 대한 관리 방법을 보여주는 개략도.
도 42c는 도 42b에 도시된 한 부분에 대응하여 조합된 한 부분에 대한 관리 방법을 보여주는 개략도.
도 42d는 도 42c에 도시된 한 부분에 대응하여 조합된 한 부분에 대한 관리 방법을 보여주는 개략도.
도 42e는 도 42d에 도시된 한 부분에 대응하여 조합된 한 부분에 대한 관리 방법을 보여주는 개략도.
*도면의 주요부분에 대한 부호의 설명*
30:DSP 35:플래쉬 메모리
40:메모리 카드 45:페이지 버퍼
발명의 배경
발명의 분야
본 발명은 FAT(파일 할당 테이블(File Allocation Table))를 사용하여 메모리 카드에 기록된 파일들에 대해 분할 처리 또는 조합 처리와 같은 편집 처리를 수행하는 편집 장치 및 편집 방법에 관한 것이다.
관련 기술의 설명
전기적으로 재기록 가능 메모리인 EEPROM(전기적으로 삭제 가능한 프로그램 가능 ROM)은 각 비트가 2개의 트랜지스터로 이루어지기 때문에 큰 공간을 요구한다. 따라서, EEPROM의 집적이 제한된다. 이 문제를 해결하기 위해, 모든 비트 삭제 시스템을 사용하는 하나의 트랜지스터로 하나의 비트가 달성되는 플래쉬 메모리가 개발되어 왔다. 상기 플래쉬 메모리는 자기 디스크 및 광학 디스크와 같은 종래의 기록 매체의 계승자로 기대된다.
플래쉬 메모리를 사용하는 메모리 카드 또한 공지되어 있다. 상기 메모리 카드는 장치에 자유롭게 부착되고 그로부터 분리된다. 종래의 CD(컴팩트 디스크 :상표) 또는 MD(미니디스크 : 상표) 대신에 메모리 카드를 사용하는 디지털 오디오 기록/재생 장치가 개발되었다.
종래의 휴대용 컴퓨터에 사용된 파일 관리 시스템은 FAT(파일 할당 테이블)로 불린다. FAT 시스템에서, 특정 파일이 규정될 때, 미리 결정된 파라미터가 파일로 계속해서 설정된다. 따라서, 파일의 크기가 변화할 수 있다. 하나의 파일은 적어도 하나의 관리 유닛(섹터, 클러스터(CLUSTER)등)으로 이루어진다. 상기 관리 유닛에 대응하는 데이터는 FAT로 불리는 테이블에 기록된다. FAT 파일 시스템에서, 파일 구조는 기록 매체의 물리적 특징과 무관하게 쉽게 형성된다. 따라서, FAT 파일 시스템은 자기 광학 디스크 뿐 아니라 플로피디스크 및 하드디스크에 대해 사용된다. 위에서 상술된 메모리 카드에서, FAT 파일 시스템이 사용된다.
그러나, 오디오 데이터가 기록되는 CD는 전혀 FAT 시스템의 개념을 갖지 않는다. 오디오 데이터가 기록되어 재생되는 MD의 경우에는, 음악 프로그램이 링크-P로 불리는 FAT 수정 시스템을 사용하여 기록되어 편집된다. 따라서, 시스템 그 자체는 저전원 CPU로 제어된다. 그러나, 그러한 시스템을 사용하여, 데이터는 개인용 컴퓨터와 교환되지 않는다. 따라서, MD 시스템은 절연 AV 시스템으로서 개발되어 왔다.
상기 MD에 사용된 링크-P 시스템은 P-DFA(결함 영역에 대한 포인터), P-엠피티(엠피티 슬롯에 대한 포인터) 영역, P-FRA(자유영역에 대한 영역), P-TNO1....P-TNO255로 이루어진다. 상기 P-DFA는 MD 상에 결함 정보를 포함하는 슬롯의 상부 위치를 표시한다. P-엠프티 영역은 슬롯의 사용 상태를 표시한다. P-FRA는 기록 가능한 영역을 관리하는데 사용된 슬롯의 상부 위치를 표시한다. 상기 P-TNO1, P-TNO2, ..., P-TNO255는 개별 음악 프로그램에 대응하는 슬롯의 시작 위치를 표시한다.
다음에, 도 42a 내지 42e를 참고로 하여, 기록 매체에서 분산된 기록 가능 영역을 연속해서 탐색하기 위한 처리가 영역 PRA를 사용하여 기술된다. 도 42a 내지 42e를 참고로, FRA의 볼륨은 03h 이다. 이 경우, 도 42a에 도시처럼, 슬롯 03h 가 액세스된다. 상기 슬롯 03h에 기록된 시작 어드레스와 종료 어드레스는 디스크상의 하나의 부분의 시작 및 종료 어드레스를 표시한다.
도 42a에 도시된 바와 같이, 슬롯 03h에 기록된 링크 정보는 다음 슬롯 어드레스가 18h인 것을 표시한다. 따라서, 도 42b의 도시된 바와 같이, 슬롯 18h가 액세스된다. 유사하게, 도 42c의 도시된 바와 같이, 슬롯 1Fh가 액세스된다. 도 42d에 도시된 바와 같이, 슬롯 1Fh에 링크 정보에 대응하여, 슬롯 2Bh가 액세스된다. 도 42e에 도시된 바와 같이, 슬롯 2Bh의 링크 정보에 대응하여, 슬롯 E3h가 액세스된다. 그런 방법으로, 링크 정보가 널(null)(00h)이 링크 정보로서 검출될 때까지 추적한다. 따라서, MD에 분산된 기록 가능 영역의 어드레스가 계속해서 인식된다. 다시 말해, 광학 픽업을 제어하고 이들 어드레스를 연속해서 액세스하여, 상기 메모리에 분산된 기록 가능 영역이 얻어진다. 유사하게, P-DFA 또는 P-TNoN을 참고하여, 메모리에 분산된 결함 영역들이 연속해서 액세스될 수 있다.
미니 디스크용으로 사용된 링크-P로, 음악 프로그램(들)용 분할 처리 및 조합 처리와 같은 편집 처리가 쉽게 수행된다. 음악 프로그램이 종래의 광학 디스크와 편집될지라도, 파일들은 종래의 비휘발성 메모리로 편집되지 않는다. 링크-P 시스템을 사용하는 편집 처리로, 음악 프로그램용 분할 처리와 조합 처리는 FAT를 편집하여 수행된다. 그러나, FAT 가 파괴되면, 편집 처리가 수행되지 않는다. 한편, 파일이 편집된 후, 파일이 액세스되지 않는다. 특히, 데이터가 플래쉬 메모리의 같은 블록 위치로 재기록될 때, 그로부터 블록부가 파괴된다. 그러한 문제를 억제하기 위해, 데이터는 같은 블록에 반복적으로 기록되지 않는 방법으로 기록된다. 그러나, 이 방법에서, 플래쉬 메모리에 기록된 데이터가 반복적으로 편집될 때, 결함 블록들이 발생한다. 상기 FAT 정보를 관리하는데 사용된 블록이 파괴되면, 편집 처리가 수행되지 않는다. 한편, 상기 편집 파일은 액세스되지 않는다.
본 발명의 목적은 FAT 영역이 파괴될 때조차도 편집 처리가 수행되는 것을 허용하도록 속성 파일을 갖은 메모리에서 분산되는 각 데이터 파일과 관리부의 시작에 속성 파일을 부가하는 비휘발성 메모리용 편집 장치 및 방법을 제공한다.
본 발명의 제 1 양태는 미리 결정된 데이터 길이를 갖는 블록 각각에 연속해서 재생된 단일 데이터 파일을 세그먼팅하는 비휘발성 메모리에 기록된 데이터 파일을 편집하는 편집 장치이며, 상기 비휘발성 메모리는 미리 결정된 길이를 갖는 속성 파일과 함께 각 블록을 기록하는 데이터 영역과 데이터 영역에 기록된 데이터 파일을 관리하는 관리 데이터를 기록하는 관리 영역을 가지며, 상기 편집 장치는 선택된 2개의 데이터 파일을 선택하는 조작 수단과, 속성 파일을 선택된 2개의 데이터 파일의 전방측 데이터 파일로부터 분리하는 분리 수단과, 상기 2개의 데이터 파일들이 논리적으로 링크되도록 관리 영역에 기록된 관리 데이터를 편집하고 선택된 2개의 데이터 파일들 중 전방측 데이터 파일에 부가된 속성 파일을 편집하는 편집 수단과, 편집 수단에 의해 편집된 관리 데이터를 관리 영역에 기록하고 상기 전방측 데이터 파일에 부가된 속성 파일을 데이터 영역에 기록하는 기록 수단을 구비한다.
본 발명의 제 2 양태는 미리 결정된 길이를 갖는 블록 각각에 계속해서 재생된 단일 데이터 파일을 세그먼팅하는 비휘발성 메모리에 기록된 데이터 파일을 편집하는 편집 장치이며, 상기 비휘발성 메모리는 미리 결정된 길이를 갖는 속성 파일과 함께 각 블록을 기록하는 데이터 영역과 상기 데이터 영역에 기록된 데이터 파일을 관리하는 관리 데이터를 기록하는 관리 영역을 가지며, 상기 편집 장치는 데이터 영역에 기록된 특정 데이터 파일의 분할점을 셋팅하는 조작 수단과, 상기 조작 수단에 의해 설정된 데이터 파일의 분할점에 대응하는 관리 데이터와 상기 부가된 속성 파일을 편집하는 편집 수단과, 상기 조작 수단에 의해 설정된 분할점의 후방측에서 데이터 파일의 속성 파일을 생성하는 생성 수단과, 상기 편집 수단에 의해 편집된 관리 데이터를 관리 영역에 기록하고 상기 전방측 데이터 파일에 부가된 속성 파일을 데이터 영역에 기록하는 기록 수단을 구비한다.
다음에, 본 발명의 실시예를 기술한다. 도 1은 본 발명의 실시예에 따른 메모리 카드를 사용하는 디지털 오디오 레코더/플레이어의 구조를 도시하는 블록도이다. 상기 디지털 오디오 레코더/플레이어는 분리 가능 메모리 카드를 사용하는 디지털 오디오 신호를 기록하여 재생한다. 실제로, 상기 레코더/플레이어는 증폭 유닛, 스피커, CD 플레이어, MD 레코더, 튜너 등에 따른 오디오 시스템을 구성한다. 그러나, 본 발명은 다른 오디오 레코더에 적용되는 것을 주목한다. 다시 말해, 본 발명은 휴대용 기록/재생 장치에 제공될 수 있다. 한편, 본 발명은 위성 데이터 통신, 디지털 방송 또는 인터넷으로서 순환되는 디지털 오디오 데이터를 기록하는 하나의 셋 탑 박스(set top box)에 제공된다. 더구나, 본 발명은 오디오 데이터보다는 이동 화상 데이터와 정지 화상 데이터를 기록/재생하는 시스템에 제공된다. 본 발명에 따른 시스템은 디지털 오디오 신호보다는 화상 및 텍스트와 같은 추가 정보를 기록 및 재생할 수 있다.
상기 기록/재생 장치는 오디오 엔코더/디코더 IC(10), 보호 IC(20), DSP(디지탈 신호 처리기)(30)를 가진다. 이들 장치 각각은 원칩(one-chip)IC로 이루어진다. 상기 기록/재생 장치는 분리 가능 메모리 카드(40)를 가진다. 상기 메모리 카드(40)의 원칩 IC는 플래쉬 메모리(비휘발성 메모리), 메모리 제어 블록, 보호 블록을 가진다. 상기 보호 블록은 DES(데이터 암호화 표준(data encryption standard)) 암호화 회로를 가진다. 실시예에 따라, 상기 기록/재생 장치는 DSP(30)대신에 마이크로 컴퓨터를 사용할 수 있다.
상기 오디오 인코더/디코더 IC(10)는 오디오 인터페이스(11)와 인코더/디코더 블록(12)을 가진다. 상기 인코더/디코더 블록(12)은 고 효율 인코딩 방법에 대응하는 디지털 오디오 데이터를 인코딩하고 상기 인코딩된 데이터를 메모리 카드(40)에 기록한다. 한편, 상기 인코더/디코더 블록(12)은 메모리 카드(40)로부터 판독된 암호화된 데이터를 디코딩한다. 고효율 인코딩 방법으로서, 미니디스크에 사용된 ATRAC(Adaptive Transtorm Acoustic Coding) 포맷의 수정인 ATRAC3 포맷이 사용된다.
상기 ATRAC3 포맷에서, 44.1KHz로 샘플되고 16 비트로 양자화된 오디오 데이터는 고효율적으로 인코딩된다. 상기 ATRAC3 포맷에서, 처리되는 오디오 데이터의 최소 데이터 유닛은 사운드 유닛(SU)이다. 1 SU는 1024 샘플 데이터(1024 x 16비트 x 2 채널)가 수백 바이트의 데이터로 압축된 데이터이다. 1SU의 경과 시간은 23msec 정도이다. 고 효율 인코딩 방법에서, 오디오 데이터의 데이터량은 원래의 데이터보다 10배정도 작은 데이터로 압축된다. 미니디스크에 사용된 ATRAC1 포맷으로서, 상기 오디오 신호는 오디오 품질을 덜 파괴하는 ATRAC3 포맷에 대응하여 압축되고 재압축된다.
라인 입력 선택기(13)는 MD의 재생 출력 신호, 튜너의 출력 신호, 테이프의 재생 출력 신호를 A/D 변환기(14)에 선택적으로 공급한다. 상기 A/D 변환기(14)는 입력 라인 신호를 디지털 오디오 신호(샘플링 주파수 =44.1KHz ; 양자화 비트수=16)로 변환한다. 디지털 입력 선택기(16)는 MD, CD, 또는 CS(위성 디지털 방송)의 디지털 출력 신호를 디지털 입력 수신기(17)에 선택적으로 공급한다. 상기 디지털 입력 신호는 광케이블을 통해 전송된다. 상기 디지털 입력 수신기(17)의 출력 신호는 샘플링비 변환기(15)에 공급된다. 상기 샘플링 비변환기(15)는 디지털 입력 신호를 디지털 오디오 신호(샘플링 주파수=44.1KHz; 양자화 비트수=16)로 변환한다.
상기 오디오 인코더/디코더 IC(10)의 인코더/디코더 블록(12)은 암호화된 데이터를 상기 보호 IC(20)의 인터페이스(21)를 통해 DES 암호화 회로에 공급한다. 상기 DES 암호화 회로(22)는 FIFO(23)를 가진다. 상기 DES 암호화 회로(22)는 저작권 내용을 보호하도록 배치된다. 상기 메모리 카드(40)는 또한 DES 암호화 회로를 가진다. 상기 기록/재생 장치의 DES 암호화 회로(22)는 복수의 마스터 키들과 장치 고유의 저장키를 가진다. 상기 DES 암호화 회로(22)는 또한 랜덤 번호 생성 회로를 가진다. 상기 DES 암호화 회로(22)는 DES 암호화 회로를 가진 메모리 카드(40)로 인증 처리와 세션 키를 공유할 수 있다. 한편, 상기 DES 암호화 회로(22)는 DES 암호화 회로의 저장키를 가진 데이터를 재 암호화할 수 있다.
상기 DES 암호화 회로(22)로부터 출력된 암호화된 오디오 데이터는 DSP(디지탈 신호 처리기)(30)에 공급된다. 상기 DSP(30)는 인터페이스를 통해 메모리 카드(40)와 통신한다. 이 예에서, 상기 메모리 카드(40)는 기록/재생 장치의 부착/분리 메커니즘(도시하지 않음)에 부착된다. 상기 DSP(30)는 상기 메모리 카드(40) 의 플래쉬 메모리에 암호화된 데이터를 기록한다. 상기 암호화된 데이터는 상기 DSP(30)와 메모리 카드(40)사이에서 직렬적으로 전송된다. 한편, 외부 SRAM(Static Random Access Menory)(31)은 DSP(30)에 접속된다. 상기 SRAM(31)은 상기 메모리 카드(40)를 제어하도록 충분한 저장 용량을 가진 기록/재생 장치를 제공한다.
버스 인터페이스(32)는 DSP(30)에 접속된다. 데이터는 외부 제어기(도시하지 않음)에서 비스트(33)를 통해 DSP(30)까지 공급된다. 상기 외부 제어기는 오디오 시스템의 모든 조작을 제어한다. 상기 외부 제어기는 조작부를 통해 사용자의 조작에 대응하여 생성된 기록 명령 또는 재생 명령과 같은 데이터를 버스 인터페이스(32)를 통해 DSP(30)에 공급한다. 한편, 상기 외부 제어기는 영상 정보 및 캐릭터 정보와 같은 추가 정보를 버스 인터페이스(32)를 통해 DSP(30)에 공급된다. 버스(33)는 양방향 통신 통로이다. 상기 메모리 카드(40)로부터 판독된 추가 정보는 DSP(30), 버스 인터페이스(32), 및 버스(33)를 통해 외부 제어기에 공급한다. 실제로는, 외부 제어기는 오디오 시스템의 증폭기에 배치된다. 한편, 상기 외부 제어기는 추가 정보, 및 기록기의 조작 상태 등을 표시하기 위해 표시부를 생성한다. 표시부는 오시오 시스템에 의해 공유된다. 버스(33)를 통해 교환된 데이터는 저작권 보호된 데이터가 아니기 때문에, 이것은 암호화되지 않는다.
DSP(30)에 의해 메모리 카드(40)로부터 판독된 암호화된 오디오 데이터는 보호 IC(20)에 의해 해독된다. 상기 오디오 인코더/디코더 IC(10)는 ATRAC(3)포맷에 대응하는 암호화된 데이터를 해독한다. 상기 오디오 인코더/디코더(10)의 출력 데이터는 D/A 변환기(18)에 공급한다. 상기 D/A 변환기(18)는 오디오 인코더/디코더 의 출력 데이터를 아날로그 신호로 변환한다. 상기 아날로그 오디오 신호는 라인 출력 단자(19)에 공급된다.
상기 아날로그 오디오 신호는 라인 출력 단자(19)를 통해 증폭기(도시하지 않음)에 공급한다. 상기 아날로그 오디오 신호는 스피커 또는 헤드셋으로부터 재생된다. 상기 외부 제어기는 뮤팅 신호(muting signal)를 D/A 변환기(18)에 공급한다. 상기 뮤팅 신호가 뮤트-온 상태(mute-on signal)를 표시하면, 상기 외부 제어기는 오디오 신호가 라인 출력 단자(19)로부터 출력되지 못하게 한다.
도 2는 DSP(30)의 내부 구조를 도시하는 블록도이다. 도 2를 참조하면, 상기 DSP(30)는 코어(34), 플래쉬 메모리(35), SRAM(36), 버스 인터페이스(37), 메모리 카드 인터페이스(38), 및 인터-버스 브릿지들을 구비한다. 상기 DSP(30)는 마이크로 컴퓨터와 같은 기능을 가진다. 상기 코어(34)는 CPU와 등가이다. 상기 플래쉬 메모리(35)는 DSP(30)가 미리 결정된 처리들을 수행하게 하는 프로그램을 저장한다. 상기 SRAM(36)과 외부 SRAM(31)은 기록/재생 장치의 RAM 으로서 사용된다.
상기 DSP(30)는 암호화된 오디오 데이터와 추가 정보를 버스 인터페이스(32, 37)를 통해 수신된 기록 명령과 같은 조작 신호에 대응하는 메모리 카드(40)에 기록하기 위한 기록 처리와 그로부터 판독하기 위한 판독 처리를 제어한다. 한편, 상기 DSP(30)는 오디오 데이터와 추가 정보를 기록/재생하는 오디오 시스템의 응용 소프트웨어측과 메모리 카드(40)사이에 배치된다. 상기 DSP(30)는 메모리 카드(40)가 액세스될 때 동작된다. 한편, DSP(30)는 파일 시스템과 같은 소프트웨어에 대응하여 조작한다.
상기 DSP(30)는 종래의 휴대용 컴퓨터에 사용된 FAT 시스템과 함께 메모리 카드(40)에 저장된 파일들을 관리한다. 파일 시스템에 추가하여, 본 발명의 실시예에 따라, 관리 파일이 사용된다. 상기 관리 파일은 후에 기술된다. 상기 관리 파일은 메모리 카드(40)에 저장된 데이터 파일들을 관리하기 위해 사용된다. 상기 제 1 파일 관리 정보와 같은 관리 파일들은 오디오 데이터 파일들을 관리하기 위해 사용된다. 한편, 제 2 파일 관리 정보와 같은 FAT는 오디오 데이터 파일에 포함된 모든 파일들과 메모리 카드(40)의 플래쉬 메모리에 저장된 관리 파일들을 관리하기 위해 사용된다. 상기 관리 파일들은 메모리 카드(40)에 저장된다. 상기 FAT는 메모리 카드(40)가 장치되기 전에 경로 디렉토리(route directory)에 따라 플래쉬 메모리에 기록된다. 상기 FAT의 디테일은 후에 기술된다.
본 발명의 실시예에 따라, 저작권 데이터 보호를 위해, ATRAC3 포맷에 대응하여 압축된 오디오 데이터가 암호화된다. 한편, 이는 상기 관리 파일의 저작권을 보호하기 위해 필요치 않기 때문에, 암호화되지 않는다. 암호화 형태와 비후보화 형태인 2가지 형태의 메모리 카드들이 있다. 그러나, 저작권 보호 데이터를 기록하는 레코더/플레이어로 사용되는 메모리 카드는 암호화 형태로 제한된다.
사용자에 의해 기록되는 음성 데이터와 영상 데이터는 비암호화 형태의 메모리 카드들 상에 기록된다.
도 3은 상기 메모리 카드(40)의 내부 구조를 도시하는 블록도이다. 상기 메모리 카드(40)는 원칩 IC와 같은 구조인 제어 블록(41)과 플래쉬 메모리(42)를 포함한다. 양방향 직렬 인터페이스는 레코더/플레이어의 DSP(30)와 메모리 카드(40)사이에 배치된다. 상기 양방향 직렬 인터페이스는 데이터에 따라 전송되는 클럭 신호를 전송하는 클럭 라인 SCK 인 10개의 라인 상태를 표시하는 신호를 전송하는 상태 라인 SBS, 데이터를 전송하는 데이터 라인 DIO, 인터럽트 라인 INT, 2개의 GND 라인들, 2개의 INT 라인들, 및 2개의 반전 라인들로 구성된다.
상기 클럭 라인 SCK는 데이터와 동기화되는 클럭 신호를 전송하기 위해 사용된다. 상기 상태 라인 SBS는 상기 메모리 카드(40)의 상태를 표시하는 신호를 전송하기 위해 사용된다. 상기 데이터 라인 DIO는 명령 및 암호화된 오디오 데이터를 입력 및 출력하기 위해 사용된다. 상기 인터럽트 라인 INT는 상기 레코더/플레이어의 DSP(30)를 인터럽트하기 위해 메모리 카드(40)에 생성되는 인터럽트 신호를 전송하는데 사용된다. 상기 메모리 카드(40)가 레코더/플레이엉 부착되면, 상기 메모리 카드(40)는 인터럽트 신호를 생성한다. 그러나, 본 발명의 실시예에 따라, 상기 인터럽트 신호는 데이터 라인을 통해 전송되므로, 상기 인터럽트 라인 INT는 그라운드된다.
직렬/병렬 변환, 병렬/직렬 변환, 인터페이스 블록(S/P, P/S, I/F 블록)(43)은 레코더/플레이어의 DSP(30) 및 메모리 카드(40)의 제어 블록(41)사이에 배치된 인터페이스이다. 상기 S/P, P/S 및 IF 블록(43)은 상기 레코더/플레이어의 DSP(30)으로부터 수신된 직렬 데이터를 병렬 데이터로 변환하며 상기 병렬 데이터를 제어 블록(41)에 공급한다. 한편, S/P, P/S 및 IF 블록(43)은 상기 제어 블록(41)로부터 수신된 병렬 데이터를 직렬 데이터로 변환하며, 상기 직렬 데이터를 DSP(30)로 공급한다. S/P, P/S 및 IF 블록(43)은 상기 제어 블록(41)로부터 수신된 병렬 데이터를 직렬 데이터로 변환하며, 상기 직렬 데이터를 DSP(30)로 공급한다. S/P, P/S, IF 블록(43)은 데이터 라인 DIO, S/P, P/S를 통한 명령 및 데이터를 수신하고 IF 블록(43)은 그들을 플래쉬 메모리(42)에 정상적으로 액세스된 데이터들과 암호화된 데이터들을 분리한다.
명령이 전송된 후, 데이터 라인 DIO를 통해 데이터가 전송되는 포맷에서, 데이터가 전송된다. S/P, P/S 및 IF 블록(43)은 명령 코드를 검출하고 상기 명령 및 데이터가 정상적으로 액세스된 명령이거나 암호화된 명령인지를 결정한다. 상기 결정된 결과에 따라서, 상기 S/P, P/S, IF 블록(43)은 명령 레지스터(44)에 정상적으로 액세스된 명령을 저장하며 페이지 버퍼(45) 및 기록 레지스터(46)에 정상적으로 액세스된 데이터를 저장한다. 상기 기록 레지스터(46)와 관계하여, 상기 메모리 카드(40)는 에러 보정 코드 인코딩 회로(47)를 가진다. 상기 에러 보정 코드 인코딩 회로(47)는 상기 페이지 버퍼(45)에 일시적으로 저장된 데이터에 대한 에러 보정 코드인 여분 코드(redundant code)를 생성한다.
명령 레지스터(44), 페이지 버퍼(45), 기록 레지스터(46), 에러 보정 코드 인코딩 회로(47)의 출력 데이터는 플래쉬 메모리 인터페이스와 순차기(sequencer)(후에 메모리 I/F 및 순차기로 설명)(51)에 공급된다. 상기 메모리 IF 및 순차기(51)는 상기 제어 블록(41) 및 플래쉬 메모리(42)사이에 배치된 인터페이스이며, 그들 사이에서 교환된 데이터를 제어한다. 데이터는 상기 메모리 IF 및 순차기(51)를 통해 플래쉬 메모리에 기록된다.
상기 ATRAC3 포맷에 대응하여 압축되고 플래쉬 메모리(후에, 오디오 데이터는 ATRAC3 데이터로 불림)에 기록되는 오디오 데이터는 상기 ATRAC3 데이터의 저작권을 보호하도록 레코더/플레이어의 보호 IC(20)와 메모리 카드(40)의 보호 블록(52)에 의해 암호화된다. 상기 보호 블록(52)은 버퍼 메모리(53), DES 암호화 회로(54), 및 비휘발성 메모리(55)를 포함한다.
상기 메모리 카드(40)의 보호 블록(52)은 복수의 인증 키들와 각 메모리 카드에 대해 고유의 저장키를 가진다. 상기 비휘발성 메모리(55)는 데이터 암호화를 위해 필요한 키를 저장한다. 상기 비휘발성 메모리(55)에 저장된 키는 분석되지 않는다. 실시예에 따라, 예를 들면, 저장키는 비휘발성 메모리(55)에 저장된다. 보호 블록(52)은 또한 난수 생성 회로를 가진다. 상기 보호 블록(52)은 응용 가능 레코더/플레이어를 인증하며 그로부터 세션 키를 공유한다. 한편, 보호 블록(52)은 PSE 인코딩 회로(54)를 통해 저장키의 내용을 재암호화한다.
예를 들어, 메모리 카드(40)가 레코더/플레이어에 부착되면, 상호 인증된다. 상기 레코더/플레이어의 보호 IC(20)와 메모리 카드(40)의 보호 블록(52)은 상호 인증된다. 상기 레코더/플레이어가 응용 가능 메모리 카드로서 인증된 부착 메모리 카드(40)를 가지며 상기 메모리 카드(40)가 응용 가능 레코더/플레이어로서 인증된 레코더/플레이어를 가지면, 그들은 상호 인증된다. 상기 상호 인증 처리가 계속해서 수행된 후, 상기 레코더/플레이어 및 메모리 카드(40)는 각각의 세션 키를 생성하며 서로 그들을 공유한다. 상기 레코더/플레이어 및 메모리 카드(40)가 서로 인증될 때마다, 그들은 각각의 세션 키들을 생성한다.
내용이 메모리 카드(40)에 기록될 때, 상기 레코더/플레이어는 내용 키를 세션 키로 암호화하며 상기 암호화된 데이터를 메모리 카드(40)에 공급한다. 상기 메모리 카드(40)는 세션 키로 내용 키를 해독하며, 저장키로 내용 키를 재암호하며, 상기 내용 키를 레코더/플레이어에 공급한다. 상기 저장키는 각 메모리 카드(40)에 대한 특정된다. 상기 레코더/플레이어가 암호화된 내용 키를 수신하면, 상기 레코더/플레이어는 암호화된 내용 키에 대해 포맷팅 처리를 수행하고, 상기 암호화된 내용 키와 암호화된 내용을 상기 메모리 카드(40)에 기록한다.
상기 부분에서, 메모리 카드(40)에 대한 기록 처리가 기술되었다. 아래에서는, 메모리 카드(40)에 대한 판독 처리가 기술된다. 플래쉬 메모리(42)로부터 판독되는 데이터는 페이지 버퍼(45), 판독 레지스터(48), 및 메모리 IF와 순차기(51)를 통해 에러 보정 회로(49)에 공급한다. 상기 에러 보정 회로(49)는 상기 페이지 버퍼(45)에 저장된 데이터 에러를 보정한다. 에러 보정된 페이지 버퍼(45)의 출력 데이터와 판독 레지스터(48)의 출력 데이터는 S/P, P/S, 및 IF 블록(43)에 공급된다. S/P, P/S, 및 IF 블록(43)의 출력 데이터는 위에서 기술된 직렬 인터페이스를 통해 레코더/플레이어의 DSP(30)에 공급된다.
데이터가 메모리 카드(40)로부터 판독될 때, 저장키로 암호화된 내용 키 및 블록 키로 암호화된 내용은 상기 플래쉬 메모리(42)로부터 판독된다. 상기 보호 블록(52)은 저장키로 내용 키를 해독한다. 상기 보호 블록(52)은 해독된 내용을 세션 키로 재암호화하고 상기 재암호화된 내용 키를 레코더/플레이어로 전송한다. 상기 레코더/플레이어는 수신된 세션 키로 내용 키를 해독하며, 해독된 내용 키로 블록 키를 생성한다. 상기 레코더/플레이어는 상기 암호화된 ATRAC3 데이터를 계속해서 해독한다.
config.ROM(50)은 분할 정보, 여러 형태의 속성 정보, 및 메모리 카드(40) 등을 저장하는 메모리이다. 상기 메모리 카드(40)는 또한 소거 보호 스위치(60)를 가진다. 상기 스위치(60)는 소거 보호 위치에 있을 때, 메모리 카드(40)가 상기 플래쉬 메모리(42)에 저장된 데이터를 소거하게 하는 명령이 레코더/플레이어측에서 메모리 카드(40)까지 공급되는 경우 조차도, 상기 메모리 카드(40)는 플래쉬 메모리(42)에 저장된 데이터가 소거되는 것을 방지한다. OSC Cont.(61)은 상기 메모리 카드(40)의 처리 타이밍 기준인 클럭 신호를 생성하는 발진기이다.
도 4는 저장 매체로서 메모리 카드를 사용하는 컴퓨터 시스템의 파일 시스템의 계층적 처리를 도시하는 개략도이다. 계층적으로, 상기 상부 계층적 레벨은 응용 처리층이다. 상기 응용 처리층은 파일 관리 처리층, 논리적 어드레스 관리층, 물리적 어드레스 관리층, 플래쉬 메모리 액세스층에 따른다. 위에서 기술된 계층적 구조에서, 상기 파일 관리 처리층은 FAT 파일 시스템이다. 물리적 어드레스는 상기 플래쉬 메모리의 개별 블록에 할당된다. 상기 플래쉬 메모리의 블록과 그로부터 물리적 어드레스 사이의 관계는 변화하지 않는다. 논리적 어드레스들은 파일 관리 처리층 상에서 논리적으로 핸들된다.
도 5는 메모리 카드(40)의 플래쉬 메모리(42)에서 조정된 데이터의 물리적 구조를 도시하는 개략도이다. 메모리(42)에서, 데이터 유닛(세그먼트로서 불림)은 미리 결정된 블록 수(고정된 길이)로 분할된다. 하나의 블록은 미리 결정된 페이지 수(고정 길이)로 분할된다. 상기 플래쉬 메모리에서, 데이터는 한 시간에서 각 블록으로서 소거된다. 데이터는 플래쉬 메모리(42)에 기록되며 한 시간에서 하나의 페이지로서 그로부터 판독된다. 상기 각 블록의 크기는 같다. 마찬가지로, 각 페이지의 크기는 같다. 하나의 블록은 페이지 0 내지 페이지 m 으로 구성된다. 예로, 하나의 블록은 예로 8KB(킬로바이트) 또는 16KB의 저장 용량을 갖는다. 하나의 페이지는 512B(바이트)의 저장 용량을 갖는다. 하나의 블록이 8KB의 저장 용량을 가질 때, 상기 플래쉬 메모리(42)의 전체 저장 용량은 4MB(512 블록) 또는 8MB(1024 블록)이다. 하나의 블록이 16KB의 저장 용량을 가지면, 플래쉬 메모리(42)의 전체 저장 용량은 16MB(1024 블록), 32MB(2048 블록), 또는 64MB(4096 블록)이다.
하나의 페이지는 512 바이트의 데이터 부분과 16 바이트의 여분 부분으로 이루어진다. 상기 여분 부분의 제 1의 3개의 바이트들은 데이터가 갱신될 때마다 재기록되는 과기록 부분이다. 상기 제 1의 3개의 바이트들은 연속해서 블록 상태 영역, 페이지 상태 영역, 갱신 상태 영역을 포함한다. 상기 여분 부분의 나머지 13 바이트들은 데이터부의 내용에 의존하는 고정된 데이터이다. 상기 13 바이트들은 관리 플래그 영역(1바이트), 논리적 어드레스 영역(2바이트), 포맷 보존 영역(5바이트), 분산 정보 ECC 영역(2바이트), 데이터 ECC 영역(3바이트)을 포함한다. 상기 분산 정보 ECC 영역은 관리 플래그 영역, 논리적 어드레스 영역, 포맷 보존 영역에 따른 에러 보정 처리에 대한 여분 데이터를 포함한다. 상기 데이터 ECC 영역은 512 바이트 데이터에 대한 에러 보정 처리용 여분 데이터를 포함한다.
상기 관리 플래그 영역은 시스템 플래그(1:사용자 블록, 0:부트 블록), 변환 테이블 플래그(1:무효, 0:테이블 블록), 복사 방지 플래그(1:OK, 0:NG), 액세스 허용 플레그(1"프리, 0:판독 보호)를 포함한다.
상기 제 1의 2개의 블록-블록 0,1은 부트(boot)블록이다. 블록 1은 블록 0의 백업이다. 상기 부트 블록은 상기 메모리 카드에 유효한 상부 블록이다. 메모리 카드가 상기 레코더/플레이어에 부착될 때, 상기 부트 블록은 가장 먼저 액세스된다. 상기 나머지 블록들은 사용자 블록이다. 상기 부트 블록 중 페이지 0은 헤더 영역, 시스템 엔트리 영역, 부트, 및 속성 정보 영역을 포함한다. 상기 부트 블록 중 페이지 1은 금지 블록 데이터 영역을 포함한다. 상기 부트 블록 중 페이지 2는 CIS(card 정보 구조)/IDI(식별 구동 정보) 영역을 포함한다.
상기 부트 블록의 헤더 영역은 부트 블록 ID 와 유효 엔트리수를 포함한다. 상기 시스템은 금지된 블록 데이터의 시작 위치로부터 데이터 크기 형태 CIS/IDI 영역의 데이터 시작 위치, 크기, 형태를 기입한다. 상기 부트 및 속성 정보는 메모리 카드 형태(판독 전용 형태, 재기록 형태, 또는 하이브리드 형태), 블록 크기, 블록수, 전체 블록, 보호/비보호 형태, 카드 제조 데이터(제조 날짜)등을 포함한다.
상기 플래쉬 메모리는 절연막의 파괴으로 인해 재기록 회수에 대한 한정을 가지므로, 같은 저장 영역(블록)이 집중적으로 액세스되는 것을 방해할 필요성이 있다. 따라서, 특정 물리적 어드레스에 저장된 특정 논리적 어드레스에서 데이터가 재기록될 때, 특정 블록의 갱신 데이터는 원래 블록보다는 비사용된 블록으로 기록된다. 따라서, 데이터가 갱신된 후, 논리 어드레스와 물리적 어드레스 사이의 관계가 변화한다. 이 처리는 스왑 처리(swap process)로서 불린다. 결국, 같은 블록이 집중적으로 액세스되는 것을 방해한다. 따라서 상기 플래쉬 메모리의 서비스 수명이 연장될 수 있다.
상기 논리 어드레스는 블록에 기록된 데이터와 관계한다. 상기 원래 데이터의 블록이 갱신된 데이터의 블록과 상이한 경우에도, FAT 상의 어드레스가 변화하지 않는다. 따라서, 같은 데이터가 적절하게 액세스된다. 그러므로, 스왑 처리가 수행되기 때문에, 논리 어드레스와 물리적 어드레스와 상관되는 변환 테이블이 요구된다(이 테이블은 논리-물리 어드레스 변환 테이블로 불린다). 상기 논리-물리적 어드레스 변환 테이블을 참조하여, FAT 상에 표시된 논리적 어드레스에 대응하는 물리적 어드레스가 얻어진다. 따라서, 물리적 어드레스로 표시된 블록이 액세스될 수 있다.
상기 DSP(30)는 SRAM에 논리-물리 어드레스 변환 테이블을 저장한다. 상기 RAM의 저장 용량이 작을 때, 상기 논리-물리 어드레스 변환 테이블은 플래쉬 메모리에 저장될 수 있다. 상기 논리-물리 어드레스 변환 테이블은 물리 어드레스(2바이트)에 올림차순으로 저장된 논리 어드레스(2바이트)와 상관된다. 상기 플래쉬 메모리의 최대 저장 용량이 128MB(8192 블록)이기 때문에, 8192 어드레스는 2바이트로 할당된다. 상기 논리-물리 어드레스 변환 테이블은 각 세그먼트에 대해 관리된다. 따라서, 상기 논리-물리 어드레스 변환 테이블의 크기는 상기 플래쉬 메모리의 저장 용량에 비례한다. 상기 플래쉬 메모리의 저장 용량은 8MB(2개의 세그먼트들)이고, 2개의 페이지들은 각 세그먼트에 대해 논리-물리 어드레스 변환 테이블로서 사용된다. 상기 변환 테이블이 플래쉬 메모리에 저장되면, 각 페이지내의 여분 부분에서 관리 플래그 영역 중 미리 결정된 하나의 비트가 현재 블록이 논리-물리 어드레스 변환 테이블을 포함하는 블록인지를 표시한다.
상기 기술된 메모리 카드는 디스크형 기록 매체로서 개인용 컴퓨터 시스템의 FAT 파일 시스템으로 사용된다. 상기 플래쉬 메모리는 IPL 영역, FAT 영역, 루트 디렉토리 영역(도5에 도시하지 않음)을 가진다. 상기 IPL 영역은 레코더/플레이어의 메모리에 초기에 로드되는 프로그램 어드레스를 포함한다. 한편, 상기 IPL 영역은 여러 형태의 메모리 정보를 포함한다. 상기 FAT 영역은 블록(클러스터)에 따른 정보를 포함한다. 상기 FAT는 규정된 비사용 블록, 다음 블록 번호, 결함 블록, 마지막 블록 번호를 가진다. 상기 루트 디렉토리 영역은 파일 속성, 갱신 날짜(날짜, 월, 년), 파일 크기등을 가진 디렉토리 엔트리를 포함한다.
다음에, 도 6을 참고로 하여, FAT 테이블을 사용하는 관리 방법이 기술된다.
도 6은 메모리 맵을 도시하는 개략도이다. 상기 메모리 맵의 상부 영역은 분할 테이블부이다. 상기 분할 테이블부는 블록 영역, 부트섹터, FAT 영역, FAT 백업 영역, 루트 디렉토리 영역, 서브 디렉토리 영역, 및 데이터 영역에 따른다. 메모리 맵 상에서, 논리 어드레스는 논리-물리 어드레스 변환 테이블에 대응하는 물리적 어드레스로 변환된다.
상기 부트 섹터, 상기 FAT 영역, FAT 백업 영역, 루트 디렉토리 영역, 서브 디렉토리 영역, 및 데이터 영역은 FAT 분할 영역으로 불린다.
상기 분할 테이블부는 FAT 분할 영역의 시작 어드레스와 종료 어드레스를 포함한다.
종래의 플로피 디스크에 대해 사용된 FAT는 그러한 분할 테이블을 가지지 않는다. 제 1 트랙이 오직 하나의 분할 테이블을 갖기 때문에, 블랭크 영역이 존재한다. 상기 부트 섹터는 FAT 구조(12비트 FAT 또는 16비트 FAT) 크기, 클러스터 크기, 각 영역의 크기를 포함한다. FAT는 데이터 영역내에 기록된 파일의 위치를 관리하기 위해 사용된다. 상기 FAT 복사 영역은 FAT 백업 영역이다. 상기 루트 디렉토리 영역은 파일명, 시작 클러스터 어드레스들, 및 그로부터 여러 속성물들을 포함한다. 상기 루트 디렉토리 영역은 파일당 32바이트를 사용한다.
상기 서브 디렉토리 영역은 디렉토리로서 디렉토리 속성 파일에 의해 달성된다. 도 6의 실시예에서, 상기 서브 디렉토리 영역은 PBLIST.MSF, CAT.MSF, DOG.MSF, MAN.MFA로 명명된 4개의 파일들을 가진다. 상기 서브 디렉토리 영역은 FAT 상의 파일명과 기록 위치를 관리하는데 사용된다. 한편, 파일명 CAT.MSF의 슬롯은 FAT 상에서 어드레스 "10"으로 할당된다. 상기 파일명 DOG.MSF의 슬롯은 FAT에서 어드레스 "10"으로 할당된다. 클러스터(2) 다음의 영역은 데이터 영역으로서 사용된다. 이 실시예에서, ATRAC3에 대응하여 압축된 오디오 데이터가 기록된다. 상기 파일명 MAN.MSA의 상부 슬롯은 FAT에서 어드레스 "110"으로 할당된다. 본 발명의 실시예에 따라, 파일명 CAT.MSF를 가진 오디오 데이터는 클러스터 5 내지 8에 기록된다. 파일명 DOG.MSF를 가진 파일의 제 1 절반부로서의 오디오 데이터 DOG-1 은 클러스터 10 내지 12에 기록된다. 파일명 DOG.MSF를 가진 파일의 제 2 절반부로서의 오디오 데이터 DOG-2는 클러스터 100 및 101에 기록된다. 파일명 MAN.MSF를 가진 오디오 데이터는 클럭스터 110 및 111에 기록된다.
본 발명의 실시예에서, 단일 파일이 2개의 부분으로 분할되고 분산적으로 기록되는 예가 기술된다. 실시예에서, 상기 데이터 영역내의 영역 "Empty"는 파일명을 관리하는데 사용된다. 상기 파일 CAT.MSF는 클러스터(200)에 기록된다. 상기 파일 DOG.MSF는 클러스터(201)에 기록된다. 상기 파일 MAN.MSF는 클러스터(202)에 기록된다. 상기 파일의 위치가 변화되면, 클러스터(200) 다음의 영역이 재배열된다. 상기 메모리 카드가 부착되면, FAT 분할의 시작 및 종료는 상부 분할 테이블부를 참고로 기록된다. 부트 섹터추가 재생된 후, 루트 디렉토리 영역과 서브 디렉토리 영역이 재생된다. 서브 디렉토리 영역의 재생 관리 정보 PBLIST.MSF의 슬롯이 검출된다. 따라서, 파일 PBLIST.MSF 슬롯의 종료부의 어드레스가 얻어진다. 이 실시예에서, 어드레스 "200"이 파일 PBLIST.MSF의 종단에 기록되기 때문에, 클러스터(200)가 기준이 된다.
클러스터(200) 다음의 영역은 파일의 재생 순서로 관리하는데 사용된다. 이 실시예에서, 상기 파일 CAT.MSA 가 제 1 프로그램이다. 상기 파일 DOG.MSA는 제 2 프로그램이다. 상기 파일 MAN.MSA는 제 3 프로그램이다. 클러스터(200) 다음의 영역이 기준된 후, 상기 파일들 CAT.MSA, DOG.MSA, 및 MAN.MSA의 슬롯들이 기준이 된다. 도 6에서, 파일 CAT.MSA의 슬롯 종단은 어드레스 "5"로 할당된다. 상기 파일 DOG.MSA의 슬롯 종단은 어드레스 "10"으로 할당된다. 상기 파일 MAN.MSA의 슬롯 종단은 어드레스 "110"으로 할당된다. 엔트리 어드레스가 어드레스 "5"로 FAT에서 탐색될 때, 클러스터 어드레스 "6"이 얻어진다. 엔트리 어드레스가 어드레스 "6"으로 FAT 상에서 탐색되면, 클러스터 어드레스 "7"이 얻어진다. 엔트리 어드레스가 어드레스 "8"로 FAT 상에서 탐색될 때, 종료를 표시하는 코드 "FFF"가 얻어진다. 따라서, 파일 CAT.MSA는 클러스터(5,6,7,8)을 사용한다. 데이터 영역에서 클러스터(5,6,7,8)를 참조하여, 파일명 CAT.MSA를 가진 ATRAC3 데이터 영역이 액세스된다.
다음에, 분산적으로 기록된 파일 DOG.MSF를 탐색하기 위한 방법이 기술된다. 상기 파일 DOG.MSA의 슬롯 종단이 어드레스 "10"으로 할당된다. FAT 상의 엔트리 어드레스가 어드레스 "10"으로 탐색되면, 클러스터 어드레스 "11"이 얻어진다. FAT 상의 엔트리 어드레스가 어드레스 "11"로 탐색되어 기준이 되면, 클러스터 어드레스 "12"가 얻어진다. 상기 FAT 상의 엔트리 어드레스가 어드레스 "12"로 탐색되어 기준이 되면, 클러스터 "101"이 얻어진다. 엔트리 어드레스 "101"가 기준이 되면, 종료를 표시하는 코드 "FFF"가 얻어진다. 따라서, 상기 파일 DOG.MSF는 클러스터(10,11,12,100,101)을 사용한다. 클러스터(10,11,12)가 기준이 될 때, 상기 파일 DOG.MSF의 ATRAC3 데이터의 제 1 부분이 액세스될 수 있다. 상기 클러스터(100,101)가 기준이 되면, 상기 파일 DOG.MSF의 ATRAC3의 제 2 부분이 액세스된다. 한편, 엔트리 어드레스가 어드레스 "110"으로 FAT 상에서 탐색될 때, 클러스터 어드레스 "101"이 얻어진다. 엔트리 어드레스 "111"이 어드레스 "101"로 FAT 상에서 탐색될 때, 종료를 표시하는 코드 "FFF"가 얻어진다. 따라서, 파일 MAN.MSA 가 클러스터(110,111)를 사용하는 것이 명확하다. 위의 기술과 같이, 상기 플래쉬 메모리에 분산된 데이터 파일들은 링크되어 순차적으로 재생된다.
본 발명의 실시예에 따라, 상기 메모리 카드(40)의 포맷에 한정된 파일 관리 시스템에 첨가하여, 상기 관리 파일은 트랙들 및 음악 파일의 부분들을 관리하는데 사용된다. 상기 관리 파일은 상기 메모리 카드(40)의 플래쉬 메모리(42)의 사용자 블록에 기록된다. 따라서, 후에 기술되는 바와 같이, 메모리 카드(40)의 FAT가 파괴되는 경우에, 파일이 복구될 수 있다.
상기 관리 파일이 DSP(30)에 의해 생성된다. 레코더/플레이어의 전원이 턴온될 때, 상기 DSP(30)은 메모리 카드(40)가 레코더/플레이어에 부착되는지 아닌지를 결정한다. 상기 메모리 카드가 부착될 때, 상기 DSP(30)가 메모리 카드(40)를 인증한다. 상기 DSP(30)가 메모리 카드(40)가 연속적으로 인증될 때, DSP(30)은 플래쉬 메모리(42)의 부트 블록을 판독한다. 따라서, 상기 DSP(30)는 물리-논리 어드레스 변환 테이블을 판독하며 상기 판독된 데이터를 SRAM에 저장한다. 상기 FAT 및 경로 디렉토리는 메모리 카드(40)가 장착되기 전에 메모리 카드(40)의 플래쉬 메모리에 기록된다. 데이터가 메모리 카드(40)에 기록될 때, 관리 파일이 생성된다.
한편, 사용자등의 원격 제어기에 의해 허여된 기록 명령은 버스 및 버스 인터페이스(32)를 통해 외부 제어기로부터 DSP(30)에 공급된다. 상기 인코더/디코더 IC(10)은 수신된 오디오 데이터를 압축하고 생성된 ATRAC3 데이터를 보호 IC(20)에 공급한다. 상기 보호 IC(20)는 ATRAC3 데이터를 암호화한다. 상기 암호화된 ATRAC3 데이터는 메모리 카드(40)의 플래쉬 메모리(42)에 기록된다. 그러므로, 상기 FAT 및 관리 파일이 갱신된다. 파일이 갱신될 때마다(실제, 오디오 데이터의 기록 처리가 완성될 때), 상기 STAMs(31,36)에 저장된 FAT 및 관리 파일은 재기록된다. 상기 메모리 카드(40)가 분리되거나 레코더/플레이어의 전원이 턴오프될 때, 상기 SRAMs(31,36)로부터 최종적으로 공급된 상기 FAT 및 관리 파일은 플래쉬 메모리(42)에 공급된다. 다시 말해, 오디오 데이터의 기록 처리가 완성될 때마다, 상기 플래쉬 메모리(42)에 기록된 FAT 및 관리 파일이 재기록된다. 오디오 데이터가 편집될 때, 상기 관리 파일의 내용이 갱신된다.
본 실시예에 따른 데이터 구조에 있어서, 추가 정보는 관리 파일에 포함된다. 상기 추가 정보는 상기 플래쉬 메모리(42)에 갱신되어 기록된다. 관리 파일의 다른 데이터 구조에 있어서, 추가 정보 관리 파일은 상기 트랙 관리 파일 옆에서 생성된다. 상기 추가 정보는 버스 및 버스 인터페이스(32)를 통해 외부 제어기에서 DSP(30)까지 공급된다. 상기 추가 정보는 메모리 카드(40)의 플래쉬 메모리(42)에 기록된다. 추가 정보가 보호 IC(20)에 공급되지 않으므로, 암호화되지 않는다. 상기 메모리 카드(40)가 레코더/플레이어로부터 분리되거나 전원이 턴오프되면, 추가 정보는 DSP(30)의 SRAM에서 플래쉬 메모리(42)에 기록된다.
도 7은 메모리 카드(40)의 파일 구조를 도시하는 개략도이다. 파일 구조에서처럼, 정지 화상 디렉토리, 이동 화상 디렉토리, 음성 디렉토리, 제어 디렉토리, 및 음악(HIFI)디렉토리가 존재한다. 실시예에 따라, 음악 프로그램이 기록되어 재생된다. 다음에, 음악 디렉토리가 기술된다. 상기 음악 디렉토리는 2개 형태의 파일들을 가진다. 제 1 형태는 재생 관리 파일 BLIST.MSF(후에 PBLIST로 불림)이다. 다른 형태는 암호화된 음악 데이터를 저장하는 ATRAC3 데이터 파일 A3Dnnnn.MSA 이다. 상기 음악 디렉토리는 400 ATRAC3 데이터 파일(즉, 400 음악 프로그램)까지 저장한다. ATRAC3 데이터 파일들은 상기 재생 관리 파일에 기록되고 레코더/플레이어에 의해 생성된다.
도 8은 재생 관리 파일의 구조를 도시하는 개략도이다. 도 9는 하나의 ATRAC3 데이터 파일의 파일 구조를 도시하는 개략도이다. 상기 재생 관리 파일은 16KB의 고정 길이이다. ATRAC3 데이터 파일은 각 음악 프로그램에 대해 속성 헤더와 암호화된 음악 데이터 영역을 가진다. 상기 속성 데이터는 16KB의 고정 길이를 갖는다. 속성 헤더의 구조는 재생 관리 파일과 유사하다.
도 8에 도시된 재생 관리 파일은 헤더, 메모리 카드명 NM-1S(하나의 바이트 코드에 대해), 메모리 카드명 NM2-S(2바이트 코드에 대해), 프로그램 재생 순차 테이블 TRKTBL, 메모리 카드 첨가 정보 INF-S로 이루어진다. 상기 데이터 파일의 시작부에서 속성 헤더(도 9에 도시됨)는 헤더, 프로그램 명 NM1(1바이트 코드에 대해), 프로그램 명 NM2(2 바이트 코드에 대해), 트랙 정보 TRKINF(트랙 키 정보), 부분 정보 PRTINT, 트랙 추가 정보 INF로 이루어진다. 상기 헤더는 다수의 전체부들의 정보, 속성명, 및 추가 정보 크기 등을 포함한다.
상기 속성 데이터는 ATRAC3 음악 데이터에 따른다. 상기 음악 데이터는 매16KB마다 블록 분할된다. 각 블록은 헤더에서 시작한다. 상기 헤더는 암호화된 데이터를 해독하기 위한 초기값을 포함한다. ATRAC3 데이터 파일의 음악 데이터만이 암호화된다. 따라서, 재생 관리 파일, 헤더 등과 같은 다른 데이터는 암호화되지 않는다.
다음에, 도 10a 내지 10c를 참조하여, 음악 프로그램 및 ATRAC3 데이터 파일 사이의 관계가 기술될 것이다. 하나의 트랙은 하나의 음악 프로그램과 등가이다. 한편, 하나의 음악 프로그램은 ATRAC3 데이터(도 9를 보라)로 이루어진다. 상기 ATRAC3 데이터 파일은 ATRAC3 포맷에 대응하여 압축된 오디오 데이터이다. ATRAC3 데이터 파일은 일정 시간에서 클러스터로서 메모리 카드(40)에 기록된다. 하나의 클러스터는 16KB의 용량을 가진다. 복수의 파일들은 하나의 클러스터에 포함되지 않는다. 상기 플래쉬 메모리(42)의 최소 데이터 소거 유닛은 하나의 블록이다. 음악 데이터에 대한 메모리 카드(40)의 경우에, 블록은 클러스터의 유사물이다. 한편, 하나의 클러스터는 하나의 섹터와 등가이다.
하나의 음악 프로그램은 기본적으로 한 부분으로 이루어진다. 그러나, 음악 프로그램이 편집되면, 하나의 음악 프로그램은 복수의 부분들로 이루어진다. 한 부분은 연속해서 기록되는 하나의 단위 데이터이다. 즉, 하나의 트랙은 한 부분으로 이루어진다. 음악 프로그램의 부분 접속은 각 음악 프로그램의 속성 헤더내의 부분 정보 PRTINT를 처리한다. 한편, 상기 부분 크기는 상기 부분 정보 PRTINT의 크기 PRTSIZE(4바이트)로 표시된다. 상기 부 크기 PRTSIZE의 제 1의 2개의 바이트들은 현지부 전체 클러스터의 수를 표시한다. 다음 2개의 바이트들은 상기 시작 및 최종 클러스터의 시작 사운드 유닛(SU) 및 종료 사운드 유닛(SU)의 위치를 각각 표시한다. 후에, 사운드 유닛은 SU로 줄여쓴다. 한 부분의 표시와 같이, 음악 데이터가 편집되면, 음악 데이터 이동이 억압될 수 있다. 음악 데이터가 각 블록에 대해 편집될 때, 그로부터의 이동이 억압될지라도, 한 블록의 편집 유닛은 SU의 편집 유닛보다 더 크다.
SU는 한 부분의 최소 단위이다. 한편, SU는 오디오 데이터가 ATRAC3에 대응하여 압축되는 경우에 최소 데이터 단위이다. 1SU는 오디오 데이터이며 44.1KHz(1024 x 16비트 x 2채널)에서 1024 샘플 데이터는 원래 데이터보다 10배 정도 작은 데이터로 압축된다. 1SU의 경과 시간은 23m sec 정도이다. 보통, 하나의 부분은 수천개의 SU로 구성된다. 하나의 클러스터가 42SU로 이루어지면, 하나의 클러스터는 1초 사운드를 생성하게 한다. 하나의 트랙을 구성하는 부분들의 수는 추가 정보의 크기에 의존한다. 부분들의 수는 헤더, 프로그램 명, 추가 데이터를 감산하여 얻어지기 때문에, 하나의 블록으로부터, 추가 정보가 존재하지 않을 때, 부분들의 최대수(645 부분들)가 사용될 수 있다.
도 10a는 CD 등의 2개의 음악 프로그램이 연속해서 기록되는 경우에 파일 구조를 도시하는 개략도이다. 제 1 프로그램(파일1)은 예로 5개의 클러스터로 구성된다. 하나의 클러스터가 제 1 프로그램과 제 2 프로그램인 2개의 파일을 포함하지 않기 때문에, 상기 파일(2)는 다음 클러스터의 시작부에서 시작한다. 따라서, 파일(1)에 대응하는 부분(1)의 종단은 하나의 클러스터 중간에 존재하고 상기 클러스터의 나머지 영역은 데이터가 없다. 유사하게, 제 2 음악 프로그램(파일 2)은 하나의 부분으로 구성된다. 파일(1)의 경우에, 상기 부분의 크기는 5이다. 상기 제 1 클러스터는 0번째 SU에서 시작한다. 상기 최종 클러스터는 4번째 SU에서 종료된다.
분할 처리, 조합 처리, 소거 처리, 이동 처리의 4가지 형태의 편집 처리가 있다. 상기 분할 처리는 하나의 트랙을 2개의 부분으로 분할하기 위해 수행된다. 상기 분할 처리가 수행되면, 전체 트랙의 수는 1만큼 증가한다. 상기 분할 처리에서, 하나의 파일은 파일 시스템 상에서 2개의 파일로 분할된다. 따라서, 이 경우, 상기 재생 관리 파일과 FAT 가 갱신된다. 상기 조합 처리는 2개의 트랙을 하나의 트랙으로 조합하기 위해 수행된다. 상기 조합 처리가 수행되면, 전체 트랙수는 1만큼 감소한다. 조합 처리에서, 2개의 파일들은 파일 시스템 상에서 하나의 파일로 조합된다.
따라서, 상기 조합 처리가 수행되면, 상기 재생 관리 파일과 FAT 가 갱신된다. 상기 소거 처리가 트랙을 소거하기 위해 수행된다. 소거된 트랙 다음의 트랙수는 하나씩 감소한다. 이동 처리는 트랙 순서를 변환시키기 위해 수행된다. 따라서, 소거 처리 또는 이동 처리가 수행되며, 상기 재생 관리 파일 및 FAT 가 갱신된다.
도 10b는 도 10a에 도시된 2개의 프로그램(파일 1, 파일 2)의 조합 결과를 도시하는 개략도이다. 조합 처리의 결과로서, 상기 조합된 파일은 2개의 부분으로 이루어진다. 도 10c는 하나의 프로그램(파일 1)이 클러스터(2)의 중간에서 분할되는 분할 결과를 도시하는 개략도이다. 상기 분할 처리에 의해, 파일(1)은 클러스터(0,1) 및 클러스터(2)의 시작부로 이루어진다. 파일(2)는 클러스터(2)의 종료부와 클러스터(3,4)로 이루어진다.
위의 기술과 같이, 본 발명의 실시예에 따라, 상기 부분 표시가 규정되기 때문에, 조합된 결과(도 10b를 보라)로서, 부분(1)의 시작 위치, 부분(1)의 종료 위치, 및 부분(2)의 종료 위치가 SU로 규정될 수 있다. 따라서, 상기 조합된 결과로 인해 공간에 넣기 위해, 상기 부분(2)의 음악 데이터를 이동시킬 필요성이 없다. 한편, 분할의 결과(도 10c를 보라)로서, 파일(2)의 시작에서 데이터 이동 및 공간에 넣을 필요가 없다.
도 11은 재생 관리 파일 PBLIST의 상세한 데이터 구조를 도시하는 도면이다. 도 12a 및 도 12b는 재생 관리 파일 PBLIST의 헤더(header) 부분과 나머지 부분을 도시한다. 재생 관리 파일의 크기는 한 클러스터(cluster)(한 블록 = 16 KB)이다. 도 12a에 도시된 헤더의 크기는 32 바이트이다. 도 12b에 도시된 재생 관리 파일 PBLIST의 나머지는 명칭 NM1-S 영역(256 바이트)(메모리 카드에 대한), 명칭 NM2-S 영역(512 바이트), 내용 키 영역, MAC 영역, S-YMDhms 영역, 재생 순차 관리 테이블 TRKTBL 영역(800 바이트), 메모리 카드 추가 정보 INF-S 영역(14720 바이트), 및 헤더 정보 여분 영역을 포함한다. 이들 영역의 시작 위치들은 재생 관리 파일에서 정의된다.
도 12a에 도시된(0x0000) 내지(0x0010)의 처음 32 바이트는 헤더로 사용된다. 파일에서, 16-바이트 영역은 슬롯(slot)이라 칭하여진다. 도 12a를 참고로, 헤더는 제 1 및 제 2 슬롯에 배치된다. 헤더는 다음 영역을 포함한다. "Reserved(예정)"로 표시된 영역은 정의되지 않은 영역이다. 일반적으로, 예정된 영역에는 널(null)(0x00)이 기록된다. 그러나, 데이터가 예정된 영역에 기록되더라도, 예정된 영역에 기록된 데이터는 무시된다. 미래의 버전에서, 일부 예정된 영역이 사용될 수 있다. 추가하여, 데이터는 예정된 영역에 기록되는 것이 금지된다. 옵션(option) 영역이 사용되지 않을 때, 이는 예정된 영역으로 다루어진다.
= BLKID-TL0(4 바이트)
의미: BLOCKID FILE ID
기능: 재생 관리 파일의 상단을 식별한다.
값: 고정된 값 = "TL = 0"(예를 들면, 0x544C2D30)
= MCode(2 바이트)
의미: MAKER CODE
기능: 레코더/플레이어의 제작자 및 모델을 식별한다.
값: 상위 10 비트(제작자 코드); 하위 6 비트(모델 코드).
= REVISION(4 바이트)
의미: PBLIST의 재기록 회수
기능: 재생 관리 파일이 재기록될 때마다 증가된다.
값: 0에서 시작하여 1 씩 증가된다.
= S-YMDhms(4 바이트)(옵션)
의미: 확실한 클럭으로 레코더/플레이어에 의해 기록된 년, 월, 일, 시, 분, 및 초.
기능: 최종적으로 기록된 날짜 및 시간을 식별한다.
값: 비트 25 내지 31: 년 0 내지 99(1980 내지 2079)
비트 21 내지 24: 월 0 내지 12
비트 16 내지 20: 일 0 내지 31
비트 11 내지 15: 시 0 내지 23
비트 05 내지 10: 분 0 내지 59
비트 00 내지 04: 초 0 내지 29(2 비트 간격)
= SY1C+L(2 바이트)
의미: NM1-S 영역에 기록된 메모리 카드의 명칭(1 바이트 코드)의 속성.
기능: 문자 코드 및 언어 코드를 한 바이트 코드로 나타낸다.
값: 문자 코드(C): 상위 1 바이트
00: 비문자 코드, 이진수
01: ASCII(American Standard Code for Information Interchange)
02: ASCII+KANA
03: 수정된 8859-1
81: MS-JIS
82: KS C 5601-1989
83: GB(Great Britain) 2312-80
90: S-JIS(Japanese Industrial Standards)(음성에 대해)
언어 코드(L): 하위 1 바이트
EBU Tech 3258 표준에 기초하여 언어를 식별한다.
00: 비설정
08: 독일어
09: 영어
0A: 스페인어
0F: 불어
15: 이태리어
1D: 네델란드어
65: 한국어
69: 일본어
75: 중국어
데이터가 기록되지 않을 때, 이 영역은 모두 0이다.
= SN2C+L(2 바이트)
의미: NM2-S 영역에 기록된 메모리 카드의 명칭의 속성.
기능: 문자 코드 및 언어 코드를 한 바이트 코드로 나타낸다.
값: SN1C+L과 동일
= SINFSIZE(2 바이트)
의미: INF-S 영역에서 메모리 카드의 추가 정보의 총 크기.
기능: 데이터 크기를 16 바이트의 증분으로 나타낸다. 데이터가 기록되지 않을 때, 이 영역은 모두 0이다.
값: 크기: 0x0001 내지 0x39C(924)
= T-TRK(2 바이트)
의미: TOTAL TRACK NUMBER
기능: 총 트랙의 수를 나타낸다.
값: 1 내지 0x0190(최대 400 트랙)
데이터가 기록될 때, 이 영역은 모두 0이다.
= VerNo(2 바이트)
의미: 포맷 버전 번호
기능: 다수 버전 번호(상위 1 바이트) 및 소수 버전 번호(하위 1 바이트)를 나타낸다.
값: 0x0100(Ver 1.0)
0x0203(Ver 2.3)
다음에는, 헤더에 의해 선행되는 영역(도 13b를 참고)이 설명될 것이다.
= NM1-S
의미: 메모리 카드의 명칭(한 바이트 코드로)
기능: 메모리 카드의 명칭을 한 바이트 코드로 나타낸다(최대 256). 이 영역의 끝부분에는, 종료 코드(0x00)가 기록된다. 크기는 종료 코드로부터 계산된다. 데이터가 기록되지 않을 때, 이 영역의 시작부(0x0020)에서부터 적어도 한 바이트동안 널(null)(0x00)이 기록된다.
값: 다양한 문자 코드
= NM2-S
의미: 메모리 카드의 명칭(2 바이트 코드로)
기능: 메모리 카드의 명칭을 2 바이트 코드로 나타낸다(최대 512). 이 영역의 끝부분에는, 종료 코드(0x00)가 기록된다. 크기는 종료 코드로부터 계산된다. 데이터가 기록되지 않을 때, 이 영역의 시작부(0x0120)에서부터 적어도 2 바이트동안 널(0x00)이 기록된다.
값: 다양한 문자 코드
= CONTENTS KEY
의미: 음악 프로그램에 대한 값. MG(M)로 보호되어 저장된다. CONTENTS KEY와 동일.
기능: S-YMDhms의 MAC를 계산하는데 필요한 키로 사용된다.
값: 0 내지 0xFFFFFFFFFFFFFFFF
= MAC
의미: 위조된 저작권 정보 검사값
기능: S-YMDhms 및 CONTENTS KEY로 생성된 값을 나타낸다.
값: 0 내지 0xFFFFFFFFFFFFFFFF
= TRK-nnn
의미: 재생된 ATRAC3 데이터 파일의 SQN(시퀀스) 번호.
기능: TRKINF의 FNo를 나타낸다.
값: 1 내지 400(0x190)
트랙이 없을 때, 이 영역은 모두 0이다.
= INF-S
의미: 메모리 카드의 추가 정보(예를 들면, 사진, 노래, 안내 등에 대한 정보)
기능: 헤드로 가변 길이의 추가 정보를 나타낸다. 복수의 종류들의 추가 정보가 사용될 수 있다. 추가 정보의 각 종류는 ID 및 데이터 크기를 구비한다. 헤더를 포함하는 각 추가 정보 영역은 적어도 16 바이트 및 4 바이트의 배수로 구성된다. 상세한 내용은 다음 섹션을 참고한다.
값: "추가 정보의 데이터 구조"의 섹션을 참고한다.
= S-YMDhms(4 바이트)(옵션)
의미: 확실한 클럭으로 레코더/플레이어에 의해 기록된 년, 월, 일, 시, 분, 및 초.
기능: 최종적으로 기록된 날짜 및 시간을 식별한다. EMD의 경우, 이 영역은 강제적이다.
값: 비트 25 내지 31: 년 0 내지 99(1980 내지 2079)
비트 21 내지 24: 월 0 내지 12
비트 16 내지 20: 일 0 내지 31
비트 11 내지 15: 시 0 내지 23
비트 05 내지 10: 분 0 내지 59
비트 00 내지 04: 초 0 내지 29(2초 간격)
재생 관리 파일의 최종 슬롯으로는 헤더에서와 똑같은 BLKID-TL0, MCode, 및 REVISION이 기록된다.
데이터가 메모리 카드에 기록되고 있는 동안, 데이터가 잘못하여 또는 사고로 분리되거나 레코더/플레이어의 전원이 꺼질 수 있다. 이와 같이 부적절한 조작이 실행될 때는 결함이 검출되어야 한다. 상술된 바와 같이, REVISION 영역은 각 블록의 시작부 및 끝부분에 위치한다. 데이터가 기록될 때마다, REVISION 영역의 값은 증가된다. 블록의 중간에서 결함 종료가 일어나면, 블록의 시작부에 있는 REVISION 영역의 값은 블록의 끝부분에 있는 REVISION 영역의 값과 매칭되지 않는다. 그래서, 이와 같은 결함 종료가 검출될 수 있다. 2개의 REVISION 영역이 있으므로, 비정상적인 종료는 높은 확률로 검출될 수 있다.비정상적인 종료가 검출될 때, 에러 메시지와 같은 알람이 생성된다.
부가하여, 고정값 BLKID-TL0이 한 블록(16 KB)의 시작부에 기록되므로, FAT가 손상될 때, 고정값은 데이터를 회복하기 위한 기준으로 사용된다. 다른 말로 하면, 고정값을 참고로, 파일의 종류가 결정될 수 있다. 고정값 BLKID-TL0이 여분으로 각 블록의 헤더(header) 및 끝부분에 기록되므로, 확실성이 보장될 수 있다. 다른 방법으로, 똑같은 재생 관리 파일이 여분으로 기록될 수 있다.
ATRAC3 데이터 파일의 데이터량은 트랙 정보 관리 파일보다 훨씬 더 많다. 부가하여, 추후 기술될 바와 같이, 블록 번호 BLOCK SERIAL은 ATRAC3 데이터 파일에 부가된다. 그러나, 복수의 ATRAC3 파일들이 메모리 카드에 기록되므로, 이들이 남겨지는 것을 방지하기 위해서는 CONNUM0 및 BLOCK SERIAL이 모두 사용된다. 그렇지 않은 경우, FAT가 손상될 때, 파일을 회복하기 어려워진다. 다른 말로 하면, 하나의 ATRAC3 데이터 파일은 분산된 복수의 블록들로 구성될 수 있다. 똑같은 파일의 블록을 식별하기 위해서는, CONNUM0이 사용된다. 부가하여, ATRAC3 데이터 파일에서 블록들의 순서를 식별하기 위해서는 BLOCK SERIAL이 사용된다.
유사하게, 제작자 코드(Mcode)는 FAT가 손상되지 않은 상태에서 파일이 부적절하게 기록된 경우 제작자와 모델을 식별하도록 각 블록의 시작부 및 끝부분에 여분으로 기록된다.
도 12c는 추가 정보 데이터의 구조를 도시하는 도면이다. 추가 정보는 다음의 헤더 및 가변 길이 데이터로 구성된다. 헤더는 다음의 영역들을 갖는다.
= INF
의미: FIELD ID
기능: 추가 정보의 시작부를 나타낸다(고정값).
값: 0x69
= ID
의미: 추가 정보 키 코드
기능: 추가 정보의 카테고리를 나타낸다.
값: 0 내지 0xFF
= SIZE
의미: 각 추가 정보의 크기
기능: 각 종류의 추가 정보의 크기를 나타낸다. 비록 데이터 크기가 제한되지 않더라도, 이는 적어도 16 바이트이고 4 바이트의 배수가 되어야 한다. 데이터의 나머지 부분은 널(null)(0x00)로 채워져야 한다.
값: 16 내지 14784(0x39C0)
= Mcode
의미: MAKER CODE
기능: 레코더/플레이어의 제작자 및 모델을 식별한다.
값: 상위 10 비트(제작자 코드), 하위 10 비트(기계 코드).
= C+L
의미: 바이트 12로부터 시작하는 데이터 영역에서 문자의 속성.
기능: 문자 코드와 언어 코드를 한 바이트 코드로 나타낸다.
값: SNC+L과 동일
= DATA
의미: 각각의 추가 정보
기능: 추가 정보의 각 종류를 가변 길이 데이터로 나타낸다. 실제 데이터는 항상 바이트 12로부터 시작한다. 실제 데이터의 길이(크기)는 적어도 4 바이트이고 4 바이트의 배수가 되어야 한다. 데이터의 나머지는 널(0x00)로 채워져야 한다.
값: 각 종류의 추가 정보의 내용에 대응하여 개별적으로 정의된다.
도 13은 추가 정보의 키 코드값(0 내지 63)과 그 종류를 서로 상관시키는 테이블이다. 키 코드값들(0 내지 31)은 음악 문자 정보에 지정된다. 키 코드값(32 내지 63)은 URLs(Uniform Resource Locator)(웹 정보)에 지정된다. 음악 문자 정보와 URL 정보는 앨범 제목, 연주자 이름, CM 등의 문자 정보를 추가 정보로 포함한다.
도 14는 추가 정보의 키 코드값(64 내지 127)과 그 종류를 서로 상관시키는 테이블이다. 키 코드값들(64 내지 95)은 경로들/다른 것에 지정된다. 키 코드값(96 내지 127)은 제어/숫자 데이터에 지정된다. 예를 들면, ID = 98은 TOC-ID를 추가 정보로 나타낸다. TOC-ID는 제 1 음악 프로그램 번호, 최종 음악 프로그램 번호, 현재 프로그램 번호, 총 연주 기간, 및 CD(Compact Disc)의 TOC 정보에 대응하는 현재 음악 프로그램 기간을 나타낸다.
도 15는 추가 정보의 키 코드값들(128 내지 159)과 그 종류들을 서로 상관시키는 테이블이다. 키 코드값들(128 내지 159)은 동기화 재생 정보(synchronous reproduction information)에 할당된다. 도 15에서, EMD는 전자 음악 배급(electronic music distribution)을 의미한다.
다음에는, 도 16a 내지 도 16e를 참고로, 추가 정보의 실제적인 예가 설명된다. 도 12c와 같이, 도 16a는 추가 정보의 데이터 구조를 나타낸다. 도 16b에서, 키 코드 ID = 3이다(추가 정보로서 연주자 이름). SIZE = 0x1C(28 바이트)는 헤더를 포함하는 추가 정보의 데이터 길이가 28 바이트임을 나타내고; C+L은 문자 코드 = 0x01(ASCII) 및 언어 코드 L = 0x09(영어)임을 나타낸다. 바이트 12 이후의 가변 길이 데이터는 한 바이트 데이터 "SIMON & GRAFUNKEL"이 연주자 이름임을 나타낸다. 추가 정보의 데이터 길이가 4 바이트의 배수가 되어야 하므로, 나머지는 (0x00)으로 채워질 것이다.
도 16c에서, 키 코드 ID = 97은 ISRC(International Standard Recording Code: 저작권 코드)를 추가 정보로 나타낸다. SIZE = 0x14(20 바이트)는 추가 정보의 데이터 길이가 20 바이트임을 나타낸다. C = 0x00 및 L = 0x00은 문자 및 언어가 설정되지 않았음을 나타낸다. 그래서, 데이터는 이진수 코드이다. 가변 길이 데이터는 저작권 정보(국가, 저작권 소유자, 기록 년도, 및 일련 번호)를 나타내는 8-바이트 ISRC 코드이다.
도 16d에서, 키 코드 ID = 97은 기록 날짜와 시간을 추가 정보로 나타낸다. SIZE = 0x10(16 바이트)는 추가 정보의 데이터 길이가 16 바이트임을 나타낸다. C = 0x00 및 L은 문자들 및 언어가 설정되지 않았음을 나타낸다. 가변 길이 데이터는 기록 날짜 및 시간(년, 월, 일, 시, 분, 초)을 나타내는 4-바이트 코드(32 비트)이다.
도 16e에서, 키 코드 ID = 107은 재생 로그(reproduction log)를 추가 정보로 나타낸다. SIZE = 0x10(16 바이트)은 추가 정보의 데이터 길이가 16 바이트임을 나타낸다. C = 0x00 및 L = 0x00은 문자들 및 언어가 설정되지 않았음을 나타낸다. 가변 길이 데이터는 재생 로그(년, 월, 일, 시, 분, 초)를 나타내는 4-바이트 코드이다. 레코더/플레이어가 재생 로그 기능을 가질 때, 이는 음악 데이터를 재생할 때마다 16 바이트의 데이터를 기록한다.
도 17은 1 SU가 N 바이트(예를 들면, N = 384 바이트)인 경우 ATRAC3 데이터 파일 A3Dnnnn의 데이터 배열을 도시하는 개략도이다. 도 17은 데이터 파일의 속성 헤더(1 블록)와 음악 데이터 파일(1 블록)을 도시한다. 도 17은 두 블록들(16 x 2 = 32 바이트)의 각 슬롯(slot)에서 처음 바이트(0x0000 내지 0x7FF0)를 도시한다. 도 18에 도시된 바와 같이, 속성 헤더의 처음 32 바이트는 헤더로 사용되고; 256 바이트는 음악 프로그램 영역 NM1(256 바이트)로 사용되고; 또한 512 바이트는 음악 프로그램 제목 영역 NM2(512 바이트)로 사용된다. 속성 헤더의 헤더는 다음의 영역을 포함한다.
= BLKID-HD0(4 바이트)
의미: BLOCKID FIELD ID
기능: ATRA3 데이터 파일의 상단을 식별한다.
값: 고정값 = "HD = 0"(예를 들면, 0x48442D30)
= MCode(2 바이트)
의미: MAKER CODE
기능: 레코더/플레이어의 제작자 및 모델을 식별한다.
값: 상위 10 비트(제작자 코드); 하위 6 비트(기계 코드)
= BLOCK SERIAL(4 바이트)
의미: 트랙 일련 번호
기능: 0으로부터 시작되어 1 씩 증가된다. 음악 프로그램이 편집되더라도, 이 값은 변하지 않는다.
값: 0 내지 0xFFFFFFFF
= N1C+L(2 바이트)
의미: 트랙의 데이터 속성(NM1)(음악 프로그램 제목)을 나타낸다.
기능: NM1의 문자 코드와 언어 코드를 한 바이트 코드로 나타낸다.
값: SN1C+L과 동일
= N2C+L(2 바이트)
의미: 트랙의 데이터 속성(NM2)(음악 프로그램 제목)을 나타낸다.
기능: NM1의 문자 코드 및 언어 코드를 한 바이트 코드로 나타낸다.
값: SN1C+L과 동일
= INFSIZE(2 바이트)
의미: 현재 트랙의 추가 정보의 총 크기.
기능: 데이터 크기를 16 바이트의 배수로 나타낸다. 데이터가 기록되지 않을 때, 이 영역은 모두 0이 되어야 한다.
값: 0x000 내지 0x3C6(966)
= T-PRT(2 바이트)
의미: 총 바이트의 수
기능: 현재 트랙을 구성하는 부분의 수를 나타낸다. 일반적으로, T-PRT의 값은 1이다.
값: 1 내지 285(645 십진수)
= T-SU(4 바이트)
의미: 총 SU의 수
기능: 프로그램 실행 기간과 동일한 한 트랙내의 SU의 총수를 나타낸다.
값: 0x01 내지 0x001FFFFF
= INX(2 바이트)(옵션)
의미: INDEX의 상대적인 위치
기능: 음악 프로그램의 대표적인 부분의 상단을 나타내는 포인터로 사용된다. INX의 값은 프로그램의 현재 위치로서 SU의 수가 4로 나누어진 값으로 지정된다. 이러한 INX의 값은 SU의 수(대략 93 msec)보다 4배 더 길다.
값: 0 내지 0xFFFF(최대, 대략 6084 sec)
= XT(2 바이트)(옵션)
의미: INDEX의 재생 기간
기능: SU의 수가 4로 나누어진 값으로 INX-nnn에 의해 지정되는 재생 기간을 나타낸다. INDEX의 값은 정상적인 SU(대략 93 msec)보다 4배 더 크다.
값: 0x0000(비설정); 0x01 내지 0xFFFE(6084 sec까지); 0xFFFF(음악 프로그램의 끝부분까지)
다음에는, 음악 프로그램 제목 영역들 NM1 및 NM2이 설명될 것이다.
= NM1
의미: 음악 프로그램 제목의 문자열
기능: 음악 프로그램 제목을 한 바이트 코드로 나타낸다(256 문자들까지)(가변 길이). 제목 영역은 종료 코드(0x00)로 완료되어야 한다. 크기는 종료 코드로부터 계산된다. 데이터가 기록되지 않을 때, 널(0x00)은 적어도 한 바이트 동안 영역의 시작부(0x0020)로부터 기록되어야 한다.
값: 가변 문자 코드들
= NM2
의미: 음악 프로그램 제목의 문자열
기능: 음악 프로그램 제목을 2 바이트 코드로 나타낸다(512 문자까지)(가변 길이). 제목 영역은 종료 코드(0x00)로 완료되어야 한다. 크기는 종료 코드로부터 계산되어야 한다. 데이터가 기록되지 않을 때, 널(0x100)은 적어도 두 바이트 동안 영역의 시작부(0x0120)로부터 기록되어야 한다.
값: 다양한 문자 코드들
속성 헤더의 고정 위치(0x320)로부터 시작되는 80 바이트의 데이터는 트랙 정보 영역 TRKINF이라 칭하여진다. 이 영역은 주로 보안 정보 및 복사 제어 정보를 전체적으로 관리하는데 사용된다. 도 19는 TRKINF의 일부를 도시한다. 영역 TRKINF는 다음의 영역들을 포함한다.
= CONTENTS KEY(8 바이트)
의미: 각 음악 프로그램에 대한 값. CONTENTS KEY의 값은 메모리 카드의 보안 블록에서 보호되고 이어서 저장된다.
기능: 음악 프로그램을 재생하는 키로 사용된다. MAC의 값을 계산하는데 사용된다.
값: 0 내지 0xFFFFFFFFFFFFFFFF
= MAC(8 바이트)
의미: 위조된 저작권 정보 검사값
기능: 내용 누적수 및 비밀 시퀀스 번호를 포함하는 복수의 TRKINF 값들로 생성된 값을 나타낸다.
비밀 시퀀스 번호는 메모리 카드의 비밀 영역에 기록된 시퀀스 번호이다. 비저작권 보호 종류의 레코더는 메모리 카드의 비밀 영역으로부터 데이터를 판독할 수 없다. 한편, 메모리 카드로부터 데이터를 판독할 수 있는 프로그램으로 조작하는 저작권 보호 종류 레코더 및 컴퓨터는 비밀 영역을 액세스할 수 있다.
= A(1 바이트)
의미: 부분의 속성
기능: 부분의 압축 모드와 같은 정보를 나타낸다.
값: 상세한 내용은 다음에 설명될 것이다(도 19 및 도 20을 참고).
다음에는 영역 A의 값이 설명될 것이다. 다음의 설명에서, 모너럴 모드(monaural mode)(N = 0 또는 1)는 비트 7 = 1, 서브 신호 = 0, 메인 신호 =(L+R)인 특수 결합 모드(special joint mode)로 정의된다. 비저작권 보호 종류의 플레이어는 비트 2 및 1의 정보를 무시할 수 있다.
영역 A의 비트 0은 강조 on/off 상태의 정보를 나타낸다. 영역 A의 비트 1은 재생 스킵(skip) 또는 정상 재생의 정보를 나타낸다. 영역 A의 비트 2는 오디오 데이터, FAX 데이터 등과 같은 데이터 종류의 정보를 나타낸다. 영역 A의 비트 3은 정의되지 않는다. 비트 4, 5, 및 6의 조합으로는 도 20에 도시된 바와 같이 ATRAC3의 모드 정보가 정의된다. 다른 말로 하면, N은 3 비트의 모드값이다. 모너럴(N = 0 또는 1), LP(N = 2), SP(N = 4), EX(N = 5), 및 HQ(N = 7)인 5 종류의 모드들에 대해, 기록 기간(64 MB 메모리 카드 전용), 데이터 전송 레이트, 및 블록당 SU의 수가 열거된다. 1 SU의 바이트수는 각 모드에 의존한다. 모너럴 모드에서 1 SU의 바이트수는 136 바이트이다. LP 모드에서 1 SU의 바이트수는 192 바이트이다. SP 모드에서 1 SU의 바이트수는 304 바이트이다. EX 모드에서 1 SU의 바이트수는 384 바이트이다. HQ 모드에서 1 SU의 바이트수는 512 바이트이다. 영역 A의 비트 7은 ATRAC3 모드들(0: Dual, 1: JOint)을 나타낸다.
예를 들면, 64 MB 메모리 카드가 SP 모드에서 사용되는 예가 설명된다. 64-MB 메모리 카드는 3968 블록들을 갖는다. SP 모드에서는, 1 SU가 304 바이트이므로, 한 블록은 53 SU를 갖는다. 1 SU는(1024/44100)초와 같다. 그래서, 한 블록은(1024/44100) x 53 x(3968 - 10) = 4863초 = 81분이다. 전송 레이트는 (44100/1024) x 304 x 8 = 104737 bps이다.
= LT(1 바이트)
의미: 재생 제한 플래그(비트 7 및 6)와 보안 분할(비트 5 내지 0)
기능: 현재 트랙의 제한을 나타낸다.
값: 비트 7: 0 = 제한없음, 1 = 제한
비트 6: 0 = 만기되지 않음, 1 = 만기됨
비트 5 내지 0: 보안 분할(0 이외에 재생 금지)
= FNo(2 바이트)
의미: 파일 번호
기능: 메모리 카드의 비밀 영역에 기록된 MAC 계산값의 위치를 지정하는 초기에 기록된 트랙 번호를 나타낸다.
값: 1 내지 0x190(400)
= MG(D) SERIAL-nnn(16 바이트)
의미: 레코더/플레이어의 보안 블록(보안 IC 20)의 일련 번호를 나타낸다.
기능: 각 레코더/플레이어에 대해 고유값
값: 0 내지 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
= CONNUM(4 바이트)
의미: 내용 누적수
기능: 각 음악 프로그램에 대해 누적된 고유값을 나타낸다. 값은 레코더/플레이어의 보안 블록에 의해 관리된다. 값의 상단 제한치는 4,200,000,000인 232이다. 기록된 프로그램을 식별하는데 사용된다.
값: 0 내지 0xFFFFFFFF
= YMDhms-S(4 바이트)(옵션)
의미: 재생 제한을 갖는 트랙의 재생 시작 날짜 및 시간.
기능: EMD로 데이터 재생이 허용된 날짜 및 시간을 나타낸다.
값: 다른 영역들의 날짜 및 시간의 표시와 동일
= YMDhms-E(4 바이트)(옵션)
의미: 재생 제한을 갖는 트랙의 재생 종료 날짜 및 시간.
기능: EMD로 데이터 재생이 만료된 날짜 및 시간을 나타낸다.
값: 다른 영역들의 날짜 및 시간의 표시와 동일
= MT(1 바이트)(옵션)
의미: 허용된 재생 시간 회수의 최대값
기능: EMD에 의해 지정된 재생 시간의 최대수를 나타낸다.
값: 1 내지 0xFF. 사용되지 않을 때, 영역 MT의 값은 00이다.
= CT(1 바이트)(옵션)
의미: 재생 시간의 회수
기능: 허용된 재생 시간의 회수에서 재생 시간 회수를 나타낸다. 데이터가 재생될 때마다, 영역 CT의 값은 감소된다.
값: 0x00 내지 0xFF. 사용되지 않을 때, 영역 CT의 값은 0x00이다. 영역 LT의 비트 7이 1이고 영역 CT의 값이 00일 때, 데이터는 재생 금지된다.
= CC(1 바이트)
의미: COPY CONTROL
기능: 복사 조작을 제어한다.
값: 비트 6 및 7은 복사 제어 정보를 나타낸다. 비트 4 및 5는 고속 디지털 복사 동작의 복사 제어 정보를 나타낸다. 비트 2 및 3은 보안 블록 인증 레벨(security block authentication level)을 나타낸다. 비트 0 및 1은 정의되지 않는다.
CC의 예:
(비트 7 및 6)
11: 제한되지 않는 복사 동작이 허용
01: 복사 금지
00: 1회 복사 동작 허용
(비트 3 및 2)
00: 아날로그/디지털 입력 기록 MG 인증 레벨은 0이다.
CD로부터의 데이터를 사용한 디지털 기록 동작이 실행될 때,(비트 7 및 6): 00이고 (비트 3 및 2): 00이다.
= CN(1 바이트)(옵션)
의미: 고속 직렬 복사 관리 시스템에서 허용된 복사 회수
기능: 복사 회수를 갖는 복사 허용, 1회 복사 허용 및 복사 자유 허용으로 확장한다. 제 1 복사 생성에서만 유효하다. 영역 CN의 값은 복사 조작이 실행될 때마다 감소된다.
값:
00: 복사 금지
01 내지 0xFE: 회수
0xFF: 제한되지 않은 복사 회수
트랙 정보 영역 TRKINF는 0x0370에서 시작되어 24-바이트 부분 관리 정보 영역(PRTINF)으로 이어진다. 한 트랙이 복수의 부분들로 구성될 때, 각 부분들의 영역들(PRTINFs)의 값은 연속적으로 시간축 상에 배열된다. 도 22는 영역 PRTINF의 일부분을 도시한다. 다음에는, 영역 PRTINF 내의 영역들이 배열 순서대로 설명된다.
= PRTSIZE(4 바이트)
의미: 부분 크기
기능: 부분의 크기를 나타낸다. 클러스터(Cluster): 2 바이트(최상위 위치), 시작 SU: 1 바이트(상단), 종료 SU: 1 바이트(최하위 위치).
값: 클러스터: 1 내지 0x1F40(8000)
시작 SU: 0 내지 0xA0(160)
종료 SU: 0 내지 0xA0(16)(SU가 0으로부터 시작됨을 주목한다.)
= PRTKEY(8 바이트)
의미: 부분 암호화값
기능: 부분을 암호화한다. 초기값 = 0. 편집 규칙들이 적용되어야 함을 주목한다.
값: 0 내지 0xFFFFFFFFFFFFFFFF
= CONNUM0(4 바이트)
의미: 초기에 생성된 내용 누적수 키
기능: 내용의 ID를 유일하게 지정한다.
값: 내용 누적수 초기값 키의 값과 동일한 값
도 17에 도시된 바와 같이, ATRAC3 데이터 파일의 속성 헤더는 추가 정보 INF를 포함한다. 추가 정보는 시작 위치가 고정되지 않는 것을 제외하고 재생 관리 파일의 추가 정보 INF-S(도 11 및 도 12b를 참고)와 똑같다. 하나 또는 복수의 부분들의 끝부분에서 최종 바이트 위치(4 바이트의 배수)는 추가 정보 INF의 데이터로 이어진다.
= INF
의미: 트랙에 대한 추가 정보
기능: 헤더를 갖는 가변 길이 추가 정보를 나타낸다. 복수의 다른 종류들의 추가 정보가 배열될 수 있다. 각 추가 정보 영역들은 ID 및 데이터 크기를 갖는다. 각 추가 정보 영역은 적어도 16 바이트 및 4 바이트의 배수로 구성된다.
값: 재생 관리 파일의 추가 정보 INF-S와 동일
상술된 속성 헤더는 ATRAC3 데이터 파일의 각 블록의 데이터로 이어진다. 도 23에 도시된 바와 같이, 헤더는 각 블록에 대해 부가된다. 다음에는, 각 블록의 데이터가 설명될 것이다.
= BLKID-A3D(4 바이트)
의미: BLOCKID FILE ID
기능: ATRAC3 데이터의 상단을 식별한다.
값: 고정값 = "A3D"(예를 들면, 0x41334420)
= MCode(2 바이트)
의미: MAKER CODE
기능: 레코더/플레이어의 제작자 및 모델을 식별한다.
값: 상위 10 비트(제작자 코드); 하위 6 비트(모델 코드)
= CONNUM0(4 바이트)
의미: 초기에 생성된 내용의 누적수
기능: 내용에 대해 고유 ID를 지정한다. 내용가 편집되더라도, 영역 CONNUM0의 값은 변화되지 않는다.
값: 내용 누적수 초기 키와 동일
= BLOCK SERIAL(4 바이트)
의미: 각 트랙에 할당된 일련 번호
기능: 0으로부터 시작되어 1 씩 증가된다. 내용가 편집되더라도, 영역 BLOCK SERIAL의 값은 변화되지 않는다.
값: 0 내지 0xFFFFFFFF
= BLOCK-SEED(8 바이트)
의미: 한 블록을 암호화하는 키
기능: 블록의 시작부는 레코더/플레이어의 보안 블록에 의해 생성된 난수(random number)이다. 난수는 1 씩 증가된 값으로 이어진다. 영역 BLOCK-SEED의 값이 손실되면, 한 블록과 같은 약 1초 동안에는 사운드가 생성되지 않으므로, 똑같은 데이터가 헤더 및 블록의 끝부분에 기록된다. 내용가 편집되더라도, 영역 BLOCK-SEED의 값은 변화되지 않는다.
값: 초기 8-비트 난수
= INITIALIZATION VECTOR(8 바이트)
의미: ATRAC3 데이터를 암호화/해독하는데 필요한 값
기능: 각 블록에 대해 ATRAC3 데이터를 암호화 및 해독하는데 필요한 초기값을 나타낸다. 블록은 0으로부터 시작한다. 다음 블록은 최종 SU에서 최종적으로 암호화된 8-비트 값으로부터 시작한다. 블록이 나뉘면, 시작 SU 직전의 마지막 8 바이트가 사용된다. 내용가 편집되더라도, 영역 INITIALIZATION VECTOR의 값은 변화되지 않는다.
값: 0 내지 0xFFFFFFFFFFFFFFFF
= SU-nnn
의미: 사운드 유닛의 데이터
기능: 1024 샘플들로부터 압축된 데이터를 나타낸다. 출력 데이터의 바이트수는 압축 모드에 의존한다. 내용가 편집되더라도, 영역 SU-nnn의 값은 변화되지 않는다. 예를 들면, SP 모드에서는 N = 384 바이트이다.
값: ATRAC3의 데이터값
도 17에서는, N = 384이므로, 42 SU가 한 블록에 기록된다. 한 블록의 처음 2 슬롯들(4 바이트)은 헤더로 사용된다. 최종 슬롯(2 바이트)에서, 영역들 BLKID-A3D, MCode, CONNUM0, 및 BLOCK SERIAL은 여분으로 기록된다. 그래서, 한 블록의 나머지 영역 M 바이트는(16,384 - 384 x 42 - 16 x 3 = 208) 바이트이다. 상술된 바와 같이, 8-바이트 영역 BLOCK SEED은 여분으로 기록된다.
FAT 영역이 손상될 때는, 플래쉬 메모리(flash memory)의 모든 블럭이 탐색된다. 각 블록의 시작부에서 영역 ID BLKID 값이 TL0, HD0, 또는 A3D인가 여부가 결정된다. 도 24a 내지 도 24c에 도시된 바와 같이, 단계 SP1에서는 상단 블록의 시작부에 있는 영역 ID BLKID의 값이 BLKID-TL0인지의 여부가 결정된다. 단계 SP1에서의 결정된 결과가 No일 때, 흐름은 단계 SP2로 진행된다. 단계 SP2에서는 블록수가 증가된다. 이어서, 단계 SP3에서는 최종 블록이 탐색되었는지의 여부가 결정된다.
단계 SP3에서의 결정된 결과가 No일 때, 흐름은 단계 SP1로 복귀한다.
단계 SP1에서의 결정된 결과가 Yes일 때, 흐름은 단계 SP4로 진행된다. 단계 SP4에서는 탐색 블록이 재생 관리 파일 PBLIST인 것이 결정된다. 이어서, 흐름은 단계 SP5로 진행된다. 단계 SP5에서는 재생 관리 파일 PBLIST에서 총 트랙의 수 T-TRK가 N으로 레지스터에 저장된다. 예를 들면, 메모리가 10개의 ATRAC3 데이터 파일(10개의 음악 프로그램들들)을 저장했을 때, T-TRK에는 10이 저장된다.
다음에는, 총 트랙수 T-TRK의 값을 참고로, 블록의 TRK-001 내지 TRK-400이 연속적으로 참고된다. 본 예에서는, 10개의 음악 프로그램들이 기록되었으므로, 블록들의 TRK-001 내지 TRK-010이 참고된다. 단계 SP7에서 파일수 FN0가 TRK-XXX(여기서는 X = 1 내지 400)에 기록되므로, 트랙수 TRK-XXX와 파일수 FNO를 서로 상관시키는 테이블이 메모리에 저장된다. 다음, 단계 SP8에서, 레지스터에 저장된 N이 감소된다. 단계들 SP6, SP7, SP8의 루프는 단계 SP9에서 N이 0으로 될 때까지 반복된다.
단계 SP9에서의 결정된 결과가 Yes일 때, 흐름은 단계 SP10으로 진행된다. 단계 SP10에서는, 포인터가 상단 블록으로 재설정된다. 탐색 처리는 상단 블록으로부터 반복된다. 이어서, 흐름은 단계 SP11로 진행된다. 단계 SP11에서는, 상단 블록의 영역 ID BLKID 값이 BLKID-HD0인지의 여부가 결정된다. 단계 SP11에서의 결정된 결과가 No일 때, 흐름은 단계 SP12로 진행된다. 단계 SP12에서는, 블록수가 증가된다. 단계 SP13에서는, 최종 블록이 탐색되었는지의 여부가 결정된다.
단계 SP13에서의 결정된 결과가 No일 때, 흐름은 단계 SP11로 복귀한다. 탐색 처리는 단계 SP11에서의 결정된 결과가 Yes로 될 때까지 반복된다.
단계 SP11에서의 결정된 결과가 Yes일 때, 흐름은 단계 SP14로 진행된다. 단계 SP14에서는 블록이 ATRAC3 데이터 파일의 시작부에 있는 속성 헤더(도 8을 참고)(도 18에 도시된 0x0000 내지 0x03FFF)인지가 결정된다.
다음으로, 단계 SP15에서, 파일수 FN0, 똑같은 ATRAC 데이터 파일의 시퀀스 번호 BLOCK SERIAL, 및 속성 헤더에 포함된 내용 누적수 키 CONNUM0을 참고로, 이들이 메모리에 저장된다. 10개의 ATRAC3 데이터 파일들이 기록되었을 때, 상단 블록의 영역 ID BLKID 값이 BLKID-TL0인 블록이 10개이므로, 탐색 처리는 10개 블록이 탐색될 때까지 계속된다.
단계 SP13에서의 결정된 결과가 Yes일 때, 흐름은 단계 SP16로 진행된다. 단계 SP16에서, 포인터는 상단 블록에 재설정된다. 탐색 처리는 상단 블록으로부터 반복된다.
이어서, 흐름은 단계 SP17로 진행된다. 단계 SP17에서는, 상단 블록의 영역 ID BLKID 값이 BLKID-A3D인지의 여부가 결정된다.
단계 SP17에서의 결정된 결과가 No일 때, 흐름은 단계 SP18로 진행된다. 단계 SP18에서, 블록수가 증가된다. 이어서, 단계 SP18'에서는 최종 블록이 탐색되었는지의 여부가 결정된다. 단계 SP18'에서의 결정된 결과가 No일 때, 흐름은 단계 SP17로 복귀한다.
단계 SP17에서의 결정된 결과가 Yes일 때, 흐름은 단계 SP19로 진행된다. 단계 SP19에서, 블록이 ATRAC3 데이터를 포함하는 것이 결정된다. 이어서, 흐름은 단계 SP20로 진행된다. 단계 SP20에서, ATRAC3 데이터 블록에 기록된 일련 번호 BLOCK SERIAL 및 내용 누적수 키 CONNUM0를 참고로, 이들이 메모리에 저장된다.
똑같은 ATRAC3 데이터 파일에서, 공통수가 내용 누적수 키 CONNUM0로 지정된다. 다른 말로 하면, 한 ATRAC3 데이터 파일이 10개 블록으로 구성될 때, 공통수는 영역들의 모든 값에 CONNUM0이 할당된다.
부가하여, 한 ATRAC3 데이터가 10개 블럭들로 구성될 때, 일련 번호 1 내지 0은 10개 블록들의 영역들 BLOCK SERIAL 값들로 할당된다.
영역 CONNUM0 및 BLOCK SERIAL의 값들에 대응하여, 현재 블럭이 똑같은 내용 및 똑같은 내용에서의 현재 블럭의 재생 순서(즉, 접속 시퀀스)로 구성되는지의 여부를 결정한다.
10개의 ATRAC3 데이터 파일들(즉, 10개의 음악 프로그램들)이 기록되었고 각 ATRAC3 데이터 파일이 10개 블록들로 구성될 때, 데이터 블록은 100개가 있다.
영역 CONNUM0 및 BLOCK SERIAL의 값을 참고로, 100개 데이터 블록들의 음악 프로그램들의 재생 순서 및 그들의 접속 순서가 구해진다.
단계 SP19에서의 결정된 결과가 Yes일 때, 모든 블록들은 재생 관리 파일, ATRAC3 데이터 파일, 및 속성 파일에 대해 탐색된다. 그래서, 단계 SP21에서는, 메모리에 저장된 블록의 블록 번호들의 순서로 영역들 CONNUM0, BLOCK SERIAL, FN0, 및 TRK-X의 값에 기초하여 파일 연결 상태가 구해진다.
연결 상태가 구해진 후, 메모리의 자유 영역에서 FAT가 생성될 수 있다.
다음에, 본 발명의 제 2 실시예에 따른 관리 파일이 설명될 것이다. 도 25는 본 발명의 제 2 실시예에 따른 파일 구조를 도시한다. 도 25를 참고로, 음악 디렉토리(music directory)는 트랙 정보 관리 파일 TRKLIST.MSF(이후, TRKLIST라 칭함), 백업(backup) 트랙 정보 관리 파일 TRKLISTB.MSF(이후, TRKLISTB라 칭함), 추가 정보 파일 INFLIST.MSF(연주자명, ISRC 코드, 시간 스탬프(time stamp), 정지 화상 데이터 등을 포함하는(이 파일은 INFLIST라 칭함)), 및 ATRAC3 데이터 파일 A3Dnnnn.MSF(이후, A3nnnn이라 칭함)를 포함한다. 파일 TRKLIST는 두 영역 NAME1 및 NAME2를 포함한다. 영역 NAME1은 메모리 카드명 및 프로그램명(ASCII/8859-1 문자 코드에 대응하는 한 바이트 코드로)을 포함하는 영역이다. 영역 NAME2는 메모리 카드명 및 프로그램명(MS-JIS/Hankul/Chinese 코드에 대응하는 두 바이트 코드로)을 포함하는 영역이다.
도 26은 트랙 정보 관리 파일 TRKLIST, 영역 NAME1과 NAME2, 및 ATRAC3 데이터 파일 A3Dnnnn 사이의 관계를 도시한다. 파일 TRKLIST는 64 kbyte(= 16k x 4)의 고정 길이 파일이다. 파일 중 32 kbyte의 영역은 트랙을 관리하는데 사용된다. 나머지 32 kbyte 영역은 영역 NAME1 및 NAME2를 포함하는데 사용된다. 비록 프로그램명들에 대한 영역들 NANE1 및 NAME2가 트랙 정보 관리 파일로서 다른 파일로 제공되더라도, 작은 저장 용량을 갖는 시스템에서, 트랙 정보 관리 파일과 프로그램명 파일들을 전체적으로 관리하는 것이 편리하다.
트랙 정보 관리 파일 TRKLIST의 트랙 정보 영역 TRKINF-nnn 및 부분 정보 영역 PRTINF-nnn은 데이터 파일 A3Dnnnn 및 추가 정보 INFLIST를 관리하는데 사용된다. ATRAC3 데이터 파일 A3Dnnnn만이 암호화된다. 도 26에서, 수평 방향의 데이터 길이는 16 바이트(0 내지 F)이다. 수직 방향의 16진수는 현재 라인의 시작부에서의 값을 나타낸다.
제 2 실시예에 따라, 트랙 관리 파일 TRKLIST(프로그램 제목 파일을 포함하는), 추가 정보 관리 파일 INFLIST, 및 데이터 파일 A3Dnnnn인 3개의 파일들이 사용된다. 제 1 실시예에 따라(도 7, 도 8, 및 도 9를 참고), 메모리 카드를 모두 관리하기 위한 재생 관리 파일 PBLIST 및 프로그램들을 저장하기 위한 데이터 파일 ATRAC3인 2개 파일들이 사용된다.
다음에는, 제 2 실시예에 따른 데이터 구조가 설명된다. 간략하게, 제 2 실시예에 따른 데이터 구조에서, 제 1 실시예와 유사한 부분에 대한 설명은 생략된다.
도 27은 트랙 정보 관리 파일 TRKLIST의 상세한 구조를 도시한다. 트랙 정보 관리 파일 TRKLIST에서, 하나의 클러스터(블록)는 16 kbyte로 구성된다. 파일 TRKLISTB의 크기 및 데이터는 백업 파일 TRKLISTB와 동일하다. 트랙 정보 관리 파일의 처음 32 바이트는 헤더로 사용된다. 재생 관리 파일 PBLIST의 헤더와 같이, 파일 TRKLIST의 헤더는 BLKID-TL0/TL1(백업 파일 ID) 영역(4 바이트), 총 트랙수에 대한 영역 T-TRK(2 바이트), 제작자 코드 영역 MCode(2 바이트), TRKLIST 재기록 회수에 대한 영역 REVISION(4 바이트), 및 날짜와 시간 데이터를 업데이트하는 영역 S-YMDhms(4 바이트)(옵션)를 포함한다. 이들 데이터 영역들의 의미들 및 기능들은 제 1 실시예와 똑같다. 부가하여, 파일 TRKLIST는 다음의 영역들을 포함한다.
= YMDhms(4 바이트)
파일 TRKLIST의 최종 업데이트 날짜(년, 월, 일)를 나타낸다.
= N1(1 바이트)(옵션)
메모리 카드의 순차적인 수(분자측)를 나타낸다. 하나의 메모리 카드가 사용될 때, 영역 N1의 값은 0x01이다.
= N2(1 바이트)(옵션)
메모리 카드의 순차적인 수(분모측)를 나타낸다. 하나의 메모리 카드가 사용될 때, 영역 N2의 값은 0x01이다.
= MSID(2 바이트)(옵션)
메모리 카드의 ID를 나타낸다. 복수의 메모리 카드들이 사용될 때, 각 메모리 카드의 영역 MSID 값은 똑같다(T.B.D.).(T.B.D.(to be defined)는 이 값이 미래에 정의될 수 있음을 나타낸다.)
= S-TRK(2 바이트)
특수한 트랙을 나타낸다(T.B.D.). 일반적으로, 영역 S-TRK의 값은 0x0000이다.
= PASS(2 바이트)(옵션)
패스워드를 나타낸다(T.B.D.).
= APP(2 바이트)(옵션)
재생 응용의 정의를 나타낸다(T.B.D).(일반적으로, 영역 APP의 값은 0x0000이다.)
= INF-S(2 바이트)(옵션)
전체적인 메모리 카드의 추가 정보 포인터를 나타낸다. 추가 정보가 없을 때, 영역 INF-S의 값은 0x00이다.
파일 TRKLIST의 마지막 16 바이트는 헤더와 똑같은 영역 BLKID-TL0, 영역 MCode, 및 영역 REVISION이다. 백업 파일 TRKLISTB는 상술된 헤더를 포함한다. 이 경우, 헤더는 영역 BLKID-TL1, 영역 MCode, 및 영역 REVISION을 포함한다.
헤더는 각 트랙에 대한 정보의 트랙 정보 영역 TRKINF 및 트랙들의 각 부분(음악 프로그램)에 대한 정보의 부분 정보 영역 PRTINF로 이어진다. 도 27은 영역 TRKLIST에 선행되는 영역들을 도시한다. 영역 TRKLISTB의 하단 부분은 이들 영역들의 상세한 구조를 도시한다. 도 27에서, 빗금친 영역은 사용되지 않는 영역을 나타낸다.
트랙 정보 영역 TRKINF-nnn 및 부분 정보 영역 PRTINF-nnn은 ATRAC3 데이터 파일의 영역들을 포함한다. 다른 말로 하면, 트랙 정보 영역 TRKINF-nnn 및 부분 정보 영역 PRTINF-nnn은 각각 재생 제한 플래그 영역 LT(1 바이트), 내용 키 영역 CONTENTS KEY(8 바이트), 레코더/플레이어 보안 블록 일련 번호 영역 MG(D) SERIAL(16 바이트), 음악 프로그램의 속성 부분을 나타내는 영역 XT(2 바이트)(옵션), 영역 INX(2 바이트)(옵션), 영역 YMDhms-S(4 바이트)(옵션), 영역 YMDhms-E(4 바이트)(옵션), 영역 MT(1 바이트)(옵션), 영역 CT(1 바이트)(옵션), 영역 CC(1 바이트)(옵션), 영역 CN(1 바이트)(옵션)(이들 영역들 YMDhms-S, YMDhms-E, MT, CT, CC, 및 CN은 재생 제한 정보 및 복사 제어 정보로 사용된다), 부분 속성에 대한 영역 A(1 바이트), 부분 크기 영역 PRTSIZE(4 바이트), 부분 키 영역 PRTKEY(8 바이트), 및 내용 누적수 영역 CONNUM(4 바이트)를 포함한다. 이들 영역의 의미들, 기능들, 및 값들은 제 1 실시예와 동일하다. 부가하여, 트랙 정보 영역 TRKINF-nnn 및 부분 정보 영역 PRTINF-nnn은 각각 다음의 영역들을 포함한다.
= T0(1 바이트)
고정값(T0 = 0x74)
= INF-nnn(옵션)(2 바이트)
각 트랙의 추가 정보 포인터(0 내지 409)를 나타낸다. 00: 추가 정보가 없는 음악 프로그램.
= FNM-nnn(4 바이트)
ATRK3 데이터 파일의 파일수(0x0000 내지 0xFFFF)를 나타낸다.
ATRAC3 데이터 파일명(A3Dnnnn)의 수 nnn(ASCII에서)가 0xnnnnn으로 변환된 다.
= APP_CTL(4 바이트)(옵션)
응용 파라미터(T.B.D.)를 나타낸다.(일반적으로, 영역 APP_CTL의 값은 0x0000이다.)
= P-nnn(2 바이트)
음악 프로그램을 구성하는 부분들(1 내지 2039)의 수를 나타낸다. 이 영역은 상술된 영역 T-PART에 대응한다.
= PR(1 바이트)
고정값(PR = 0x50)
다음에는, 명칭들을 관리하는 영역 NAME1(1 바이트 코드로) 및 NAME2(2 바이트 코드로)가 설명된다. 도 28은 영역 NAME1(1 바이트 코드 영역에 대하여)의 상세한 구조를 도시한다. 각 영역들 NAME1 및 NAME2(추후 설명될)는 8 바이트로 분할된다. 그래서, 그들의 한 슬롯은 8 바이트로 구성된다. 이들 영역들의 각각의 시작부인 0x8000에는 헤더가 위치한다. 헤더는 포인터 및 명칭으로 이어진다. 영역 NAME1의 최종 슬롯은 헤더와 같은 영역들을 포함한다.
= BLKID-NM1(4 바이트)
블록의 내용를 나타낸다(고정값)(NM1 = 0x4E4D2D31).
= PNM1-nnn(4 바이트)(옵션)
영역 NM1(한 바이트 코드로)에 대한 포인터를 나타낸다.
= PNM1-S
메모리 카드를 나타내는 명칭에 대한 포인터를 나타낸다.
nnn(= 1 내지 408)은 음악 프로그램 제목에 대한 포인터를 나타낸다.
포인터는 블록의 시작 위치(2 바이트), 문자 코드 종류(2 비트), 및 데이터 크기(14 비트)를 나타낸다.
= NM1-nnn(옵션)
한 바이트 코드로(가변 길이) 음악 프로그램 제목 및 메모리 카드명을 나타낸다. 영역의 끝부분에는 종료 코드(0x00)가 기록된다.
도 29는 영역 NAME2(2 바이트 코드로)의 상세한 데이터 구조를 도시한다. 영역의 시작부인 0x8000에는 헤더가 위치한다. 헤더는 포인터 및 명칭으로 이어진다. 영역 NAME2의 최종 슬롯은 헤더와 같은 영역들을 포함한다.
= BLKID-NM2(4 바이트)
블록의 내용를 나타낸다(고정값)(NM2 = 0x4E4D2D32).
= PNM2-nnn(4 바이트)(옵션)
영역 NM2(2 바이트 코드로)에 대한 포인터를 나타낸다.
PNM2-S는 메모리 카드를 나타내는 명칭에 대한 포인터를 나타낸다. nnn(= 1 내지 408)은 음악 프로그램 제목에 대한 포인터를 나타낸다.
포인터는 블록의 시작 위치(2 바이트), 문자 코드 종류(2 비트), 및 데이터 크기(14 비트)를 나타낸다.
= NM2-nnn(옵션)
2 바이트 코드(가변)로 음악 프로그램 제목과 메모리 카드명을 나타낸다. 영역의 끝부분에는 종료 코드(0x0000)가 기록된다.
도 30은 1 SU가 N 바이트로 구성되는 경우 ATRAC3 데이터 파일 A3Dnnnn의 데이터 배열(한 블록으로)을 도시한다. 이 파일에서, 한 슬롯은 8 바이트로 구성된다. 도 30은 각 슬롯의 상단 부분(0x0000 내지 0x3FF8) 값을 도시한다. 파일의 처음 4개 슬롯은 헤더로 사용된다. 제 1 예의 데이터 파일(도 17을 참고)의 속성 헤더로 선행되는 데이터 블록과 같이, 헤더가 위치한다. 헤더는 영역 BLKID-A3D(4 바이트), 제작자 코드 영역 MCode(2 바이트), 암호화 처리에 필요한 영역 BLOCK SEED(8 바이트), 초기 내용 누적수에 대한 영역 CONNUM0(4 바이트), 각 트랙에 대한 일련 번호 영역 BLOCK SERIAL(4 바이트), 및 암호화/해독 처리에 필요한 영역 INITIALIZATION VECTOR(8 바이트)를 포함한다. 블록의 마지막에서 두번째 슬롯은 영역 BLOCK SEED를 여분으로 포함한다. 최종 슬롯은 영역들 BLKID-A3D 및 MCode를 포함한다. 제 1 실시예에서와 같이, 헤더는 사운드 유닛 데이터 SU-nnnn으로 이어진다.
도 31은 추가 정보를 포함하는 추가 정보 관리 파일 INFLIST의 상세한 데이터 구조를 도시한다. 제 2 실시예에서, 파일 INFLIST의 시작부(0x0000)에는 다음의 헤더가 위치한다. 헤더는 다음의 포인터 및 영역들로 이어진다.
= BLKID-INF(4 바이트)
블록의 내용를 나타낸다(고정값)(INF = 0x494E464F).
= T-DAT(2 블록)
총 데이터 영역들의 수를 나타낸다(0 내지 409).
= MCode(2 바이트)
레코더/플레이어의 제작자 코드를 나타낸다.
= YMDhms(4 바이트)
기록 업데이트된 날짜 및 시간을 나타낸다.
= INF-nnnn(4 바이트)
추가 정보의 영역 DATA에 대한 포인터를 나타낸다(한 번에 2 바이트(슬롯)인 가변 길이). 시작 위치는 상위 16 비트(0000 내지 FFFF)로 나타내진다.
= DataSlot-0000(0x0800)
시작부로부터 오프셋값을 나타낸다(한번에 한 슬롯으로).
데이터 크기는 하위 16 비트(00001 내지 7FFFF)로 나타내진다. 디스에이블 플래그(disable flag)는 최상위 비트에 설정된다. MSB = 0(인에이블), MSB = 1(디스에이블).
데이터 크기는 음악 프로그램의 총 데이터량을 나타낸다.
(데이터는 각 슬롯의 시작부에서 시작된다. 슬롯의 비데이터 영역은 00으로 채워진다.)
제 1 INF는 전체적인 앨범의 추가 정보에 대한 포인터를 나타낸다(일반적으로, INF-409).
도 32는 추가 정보의 구조를 도시한다. 8-바이트 헤더는 한 추가 정보 데이터 영역의 시작부에 위치한다. 추가 정보의 구조는 제 1 실시예와 동일하다(도 12c를 참고). 다른 말로 하면, 추가 정보는 ID인 영역 IN(2 바이트), 영역 키 코드 ID(1 바이트), 각 추가 정보 영역의 크기를 나타내는 영역 SIZE(2 바이트), 및 제작자 코드 영역 MCode(2 바이트)를 포함한다. 부가하여, 추가 정보는 서브 ID로 영역 SID(1 바이트)를 포함한다.
본 발명의 제 2 실시예에 따라, 메모리 카드의 포맷으로 정의된 파일 시스템에 부가하여, 트랙 정보 관리 파일 TRKLIST 음악 데이터가 사용된다. 그래서, FAT가 손상되더라도, 파일은 복구될 수 있다. 도 33은 파일 회복 처리의 흐름을 도시한다. 파일을 복구하기 위해, 파일 복구 프로그램으로 조작하고 컴퓨터에 연결된 저장 디바이스(하드디스크, RAM 등) 및 메모리 카드를 액세스할 수 있는 컴퓨터가 사용된다. 컴퓨터는 DSP30과 동일한 기능을 갖는다. 다음에는, 트랙 관리 파일 TRKLIST를 사용한 파일 회복 처리가 설명될 것이다.
FAT가 손상된 플래쉬 메모리의 모든 블록들은 각 블록의 상단 위치에 있는 값(BLKID)으로 TL-0에 대해 탐색된다. 부가하여, 모든 블록들은 각 블록의 상단 위치에 있는 값(BLKID)으로 NM-1에 대해 탐색된다. 이어서, 모든 블록들은 각 블록의 상단 위치에 있는 값(BLKID)으로 NM-2에 대해 탐색된다. 4개 블록들(트랙 정보 관리 파일)의 모든 내용는 복구 컴퓨터에 의해 예를 들면, 하드디스크에 저장된다.
총 트랙수는 트랙 정보 관리 파일의 제 4 바이트 이후의 데이터로부터 구해진다. 트랙 정보 영역 TRKINF-001의 제 20 바이트, 제 1 음악 프로그램의 영역 CONNUM-001 값, 및 다음 영역 P-001 값이 구해진다. 부분들의 수는 영역 P-001의 값으로 구해진다. 영역 PRTINF의 트랙 1에서 모든 부분의 영역 PRTSIZE 값들이 구해진다. 총 블록들(클러스터들)의 수 n이 계산되어 구해진다.
트랙 정보 관리 영역이 구해진 이후에, 흐름은 단계(102)로 진행된다. 단계(102)에서, 음성 데이터 파일(ATRAC3 데이터 파일)이 탐색된다. 관리 파일 이외의 모든 블록들은 플래쉬 메모리로부터 탐색된다. 상단값(BLKID)이 A3D인 블록들이 수집된다.
A3Dnnnn의 제 16 바이트에 있는 영역 CONNUM0의 값이 트랙 정보 관리 파일의 제 1 음악 프로그램에서 영역 CONNUM-001과 동일하고 제 20 바이트로부터 시작되는 영역 BLOCK SERIAL의 값이 0인 블록이 탐색된다. 제 1 블록이 구해진 후, 제 1 블록과 같은 영역 CONNUM 값을 갖고 BLOCK SERIAL 값이 1 만큼(1 = 0 + 1) 증가되는 블록(클러스터)이 탐색된다. 제 2 블록이 구해진 후, 제 2 블록과 같은 영역 CONNUM0 값을 갖고 영역 BLOCK SERIAL 값이 1 만큼(2 = 1 + 1) 증가되는 블록이 탐색된다.
처리를 반복함으로써, 트랙 1의 n 블록들(클러스터들)이 구해질 때까지 ATRAC3 데이터 파일이 탐색된다. 모든 블록들(클러스터들)이 구해질 때, 이들은 하드 디스크로 연속하여 저장된다.
트랙 1에 대한 똑같은 처리가 트랙 2에도 실행된다. 다른 말로 하면, 영역 CONNUM0의 값이 트랙 정보 관리 파일의 제 1 음악 프로그램에서 영역 CONNUM-002와 동일하고 제 20 바이트에서 시작하는 영역 BLOCK SERIAL 값이 0인 블록이 탐색된다. 이어서, 트랙 1과 같은 방식으로, 최종 블록(클러스터) n'이 검출될 때까지, ATRAC3 데이터 파일이 탐색된다. 모든 블록들(클러스터들)이 구해진 후, 이들은 연속적으로 하드디스크에 저장된다.
모든 트랙들(트랙수: m)에 대해 상술된 처리를 반복함으로써, 모든 ATRAC3 데이터는 복구 컴퓨터에 의해 하드디스크에 저장된다.
단계(103)에서, FAT가 손상된 메모리 카드는 재초기화되고, 이어서 FAT가 재구성된다. 메모리 카드에는 미리 결정된 디렉토리가 형성된다. 이어서, m 트랙들에 대한 ATRAC3 데이터 파일 및 트랙 정보 관리 파일은 하드 디스크로부터 메모리 카드에 복사된다. 그래서, 복구 처리가 종료된다.
관리 파일 및 데이터 파일에서, 중요한 파라미터(특별히, 헤더들 내의 코드들)는 이중으로 보다는 삼중으로 기록될 수 있다. 데이터가 여분으로 기록될 때, 이들이 한 페이지 이상 서로 떨어져 있는 한, 똑같은 데이터는 임의의 위치에 기록될 수 있다.
[조합 처리]
다음에, 본 발명의 제 1 실시예(도 4 내지 도 24를 참조)에 따른 파일 관리 방법을 사용하는 파일(음악 프로그램)조합 처리와 분할 처리를 기술한다.
[FAT 상의 조합 처리]
다음에, FAT 상의 조합 처리를 기술될 것이다. 이 경우, 3개의 파일들(음악 프로그램들)(AT.MSA, DOG.MSA, MAN.MSA 중 2개의 파일들 CAT.MSA 및 MAN.MSA가 조합된다.
도 34에 도시된 바와 같이, 사용자가 2개의 파일들을 하나의 파일로 조합할 때, 파일 CAT.MSA에 대응하는 FAT 상의 클러스터 관리 데이터 끝부분의 엔트리 어드레스(entry address)가 상기 파일 MAN.MSA(도 34의 흐린 부분을 보라)에 대응하는 FAT 상에서 "FFF"에서 시작 어드레스 "110"으로 변경된다.
따라서, 상기 조합된 파일 CAT.MSA는 클러스터들(5,6,7,8,110,111)을 사용한다. 부가하여, 상기 파일명 MAN.MSA는 보조 디렉토리 영역으로부터 삭제된다. 더구나, 상기 클러스터(202)를 관리하는 파일명 MAN.MSA이 삭제된다(도 34의 흐린 부분을 보라).
[속성 헤더 편집]
2개의 파일들 CAT.MSA와 MAN.MSA를 조합하기 위한 FAT 상의 편집 방법이 서두에 기술되어 있다. 다음에, 도 35a 및 도 35b를 참고하여, 도 17에 도시된 ATRAC3 데이터 파일과 도 11에 도시된 재생 관리 파일 PBLIST.MSF의 속성 헤더의 편집 방법이 기술된다.
도 35a는 편집되지 않은 2개의 파일들 CAT.MSA 및 MAN.MSA의 메모리 맵을 보여주는 개략도이다.
도 35a에 도시된 메모리 맵은 논리적 어드레스가 물리적 어드레스로 변환되는 상태를 도시한다. 한편, 간단히 하기 위해, 상기 부분들이 메모리에서 분산될지라도, 그들은 계속해서 배열된다. 도 35a의 도시처럼, 상기 파일 CAT.MSA의 속성 파일은 전체 사운드 유닛 T-SU:100의 욋수 전체부 T-PRT :3의 횟수, 내용 키, MAC, 및 각 부에 대한 부분 크기와 부분 키를 포함한다.
한편, 상기 파일 MAN.MSA의 속성 파일은 전체 사운드 유닛 T-SU:70의 횟수, 전체부 T-PRT:2의 횟수, 내용 키, MAC, 한 부분의 크기 및 각 부에 대한 부분 키, 내용 누적수 CONNUMO를 포함한다.
파일 CAT.MSA의 속성 파일 데이터는 다음에 따라 갱신된다.
실제로, 갱신된 데이터로서, 음악 프로그램이 조합될 때, 단일 파일의 부분들의 수가 증가한다. 따라서, 상기 속성 파일에 포함된 T-PRT가 편집된다. 부가하여, 파일들이 조합되기 때문에, 전체 사운드 유닛들의 수가 증가되고, 따라서, T-SU가 편집된다.
다른 말로 하면, 도 35b의 도시처럼, 상기 T-SU의 값이 상기 파일 CAT.MSA의 전체 사운드 유닛 T-SU:100의 수와 상기 파일 MAN.MSA의 전체 사운드 유닛 T-SU:70의 수가 부가되는 (170)으로 재기록된다. 부가하여, T-PRT의 값은 상기 파일 CAT.MSA의 전체부 T-PRT:3의 수와 파일 MAN.MSA의 전체부 T-PRT:2의 수가 부가되는(5)로 재기록된다.
부가하여, ATRAC3 데이터 파일들이(음악 프로그램)이 조합될 때, 상기 속성 키들에 포함된 내용 키는 새롭게 생성된다. 더구나, 위조된 저작권 정보 검사 값인 MAC가 변경된다.
더구나, 상기 조합된 파일 MAN.MSA의 속성 파일 블록에 포함된 부분 정보(도 22를 보라)는 상기 파일 CAT.MSA의 속성 파일 블록으로 변경(복사)된다. 또한, 상기 부분 정보가 부가되는 속성 파일 블록에 포함된 각 부분의 부분 키 PRTKEY는 새로운 내용 키로 재암호화된다.
도 9의 도시처럼, 속성 파일이 ATRAC3 데이터 파일의 헤더부에 부가되므로, 2개의 ATRAC3 데이터 파일들이 간단히 조합되면, 파일 CAT.MSA의 속성 파일 블록, 파일 CAT.MSA의 복수의 ATRAC3 데이터 블록들, 파일 MAN.MSA의 속성 파일 블록, 및 파일 MAN.MSA의 복수의 ATRC3 데이터 블록들이 계속해서 조합된다. 따라서, 하나의 파일을 2개의 속성 파일들을 가진다.
이 문제를 해결하기 위해, 본 발명에 따라, 도 35b에 도시된 바와 같은 조합 처리가 수행될 때, 역행측 데이터 파일(이 실시예에서, 파일 MAN.MSA)의 속성 파일이 갱신된다.
따라서, 파일 CAT.MSA의 속성 파일 블록, 파일 CAT.MSA의 복수의 ATRAC3 데이터 블록들, 및 파일 MAN.MSA의 복수의 ATRAC3 데이터 블록들이 계속해서 배열된다.
[재생 관리 파일 편집]
부가하여, 도 11에 도시된 재생 관리 파일 PBLIST에 따라, 데이터 파일들이 조합되기 때문에, 전체 트랙 번호의 수가 하나씩 감소된다. 따라서, T-TRKs는 그들이 공간없이 TRK-001의 방향으로 이동되도록 편집된다.
[조합 처리의 단계들]
도 36은 파일 조합 처리를 도시하는 흐름도이다. 단계 SP201에서, 사용자는 미리 결정된 방법으로 조합될 2개의 파일들을 선택한다. 이 실시예에서, 사용자는 파일들 CAT.MSA 및 MAN.MSA를 선택한다. 단계 SP202에서, FAT 상의 링크 상태가 편집된다. 단계 SP203에서, 후방으로 링크된 파일명은 보조 디렉토리로부터 삭제된다. 단계 SP204에서, 상기 후방 방향으로 조합된 데이터 파일의 파일명은 데이터 영역으로부터 삭제된다. 단계 SP205에서, 상기 전방향 ATRAC3 데이터 파일은 전방측 ATRAC3의 속성 파일에 대응하여 갱신된다. 위의 기술과 같이, 전체 부분들의 수가 편집된다. 또한, 전체 사운드 유닛 T-SU의 수가 편집된다.
단계 SP206에서, 상기 전방향측 ATRC3 데이터 파일의 속성 파일이 삭제된다. 단계 SP207에서, 상기 재생 관리 파일의 T-TRK 및 TRK-XXX가 편집된다.
따라서, 상기 조합 처리가 (1) FAT 편집,(2) 속성 파일 편집, 및 (3) 재생 관리 파일 편집의 순으로 수행된다. 그러나, 상기 순서가 변경될 수 있다.
[분할 처리]
이 실시예에서, 2개의 파일들을 조합하는 조합 처리가 기술된다. 다음에, 특정 위치에서 하나의 파일을 분할하는 분할 처리가 기술된다.
[FAT의 분할 처리]
도 37은 도 6에 도시된 파일들로부터 파일 CAT.MSA에 대한 분할 처리를 설명하는 메모리 맵을 보여주는 개략도이다.
사용자가 파일 CAT.MSA의 클러스터들(6,7)의 경계에서 분할 조작과 생성될 2개의 파일들 CAT1.MSA 및 CAT2.MSA를 야기하는 분할 처리를 수행하는 것으로 가정한다.
먼저, 상기 클러스터들(201, 202)에서 기록된 파일들 DOG.MSA 및 MAN.MSA가 각각 클러스터들(202, 203)로 이동한다. 또한, 연장 MSA가 사용자에 의해 입력된 파일명 CAT1에 부가되는 파일 CAT1.MSA는 클러스터(200)에 기록된다. 또한, 연장 MSA가 사용자에 의해 입력된 파일명 CAT2에 부가된 파일명 CAT.MSA는 클러스터(201)에 기록된다.
다음에, 보조 디렉토리에 기록된 파일명 CAT.MSA는 파일명 CAT1.MSA에 재기록된다. 또한, 파일명 CAT2.MSA는 사용되지 않은 슬롯에 부가된다.
상기 파일 CAT2.MSA의 슬롯 단부에서, 상기 분할된 파일 CAT2.MSA의 클러스터 번호 "7"이 기록된다.
상기 엔트리 어드레스는 FAT의 보조 디렉토리의 파일명 CAT1.MSA의 슬롯 끝점이 클러스터(6)가 되도록 "FFF"로 재기록된다. 상기 분할 처리는 위에서 기술된 방법으로 FAT 상에서 수행된다.
[속성 헤더 편집]
데이터 파일이 분할될 때, 속성 파일은 후방측 상의 분할된 파일에 부가되도록 생성된다.
다음에, 도 38a, 38b를 참고로, 이 처리가 기술된다.
도 35a, 35b, 38a, 38b가 메모리 맵을 도시하는 것처럼 논리 어드레스가 물리 어드레스로 변환되어 왔다. 도 38a, 38b에서, 간략을 위해, 개별 부분이 분산되지 않고 계속해서 메모리에 배열된다. 도 38a에 도시처럼, 상기 파일 CAT.MSA의 속성 파일은 전체 사운드 유닛들 T-SU:17의 수, 전체 부분들 T-PRT:5의 수, 내용 키, MAC, 부분 크기 및 각 부분에 대한 부분 키, 내용 누적 번호 CONNUMO를 포함한다.
지금, 사용자가 파일 CAT.MSA의 특정점에서 분할 처리를 표시하는 것을 가정한다. 예로, 사용자가 도 38a에 도시된 부분들(3, 4) 사이의 경계에서 분할 동작을 수행하는 것을 가정한다. 상기 속성 파일의 데이터는 아래의 방법으로 갱신된다.
실제 갱신 데이터로서, 음악 프로그램이 분할되면, 단일 파일을 구성하는 부분들 수가 감소한다. 따라서, 속성 파일에 포함된 T-TRT가 편집된다. 한편, 파일이 분할될 때, 전체 사운드 유닛의 수가 감소하기 때문에, 상기 T-SU가 또한 편집된다. 한편, 도 38b에 도시된 바와 같이, 전방측 상에서 분할된 파일 CAT1.MSA의 전체 사운드 유닛의 수가 T-SU:100으로 재기록된다. 또한, 상기 파일 CAT1.MSA의 전체 부분수가 T-PART:3로 재기록된다.
또한, 상기 파일이 분할되므로, 내용 키, 위조 저작권 정보 검사값 MAC, 각 부분에 대한 부분 키가 재기록된다.
또한, 후방측에서 분할된 파일 CAT2.MSA의 속성 파일이 새롭게 생성된다.
새롭게 생성된 속성 파일과 함께, 전체 사운드 유닛수와 전체 부분수는 각각 T-SU:70 및 T-PART:2로 재기록된다.
또한, 상기 파일이 분할되므로, 내용 키, 위조된 저작권 정보 검사값 MAC, 각 부에 대한 부분 키가 재기록된다.
[재생 관리 파일 편집]
다음에, 상기 분할 처리시 재생 관리 파일 PBLIST의 편집 방법을 기술한다. 파일이 2개의 파일들로 분할될 때, 이에 따라 파일수가 하나씩 증가한다. 따라서, 전체 트랙 T-TRK의 수가 1씩 증가한다. 또한, TRK-X 테이블(여기서 X는 1 내지 400 범위내의 미리 결정된 정수)은 생성된 음악 프로그램 번호가 이동되도록 편집된다.
[분할 처리 단계]
도 39는 분할 처리를 보여주는 흐름도이다.
단계 SP301에서, 사용자가 분할되는 파일을 선택할 때, 파일의 음악을 청취하는 동안, 사람들은 미리 결정된 방법으로 분할점을 선택한다. 단계 SP302에서, 상기 FAT의 링크 상태는 위에서 기술된 방법으로 편집된다. 단계 SP303에서, 후방측에서 분할된 데이터 파일의 파일명은 보조 디렉토리에 부가된다. 단계 SP304에서, 전방향으로 분할된 데이터 파일의 파일명은 데이터 영역에 부가된다. 상기 파일명은 사용자에 의해 입력된다. 단계 SP305에서, 상기 분할점의 전방측 상의 데이터 파일의 속성 파일이 편집된다. 한편 단계 SP306에서, 후방측 데이터 파일에 부가되는 속성 파일이 생성된다. 상기 속성 파일은 새롭게 생성되고 상기 분할된 파일의 분할점에 대응하여 편집된다. 단계 SP307에서, 상기 재생 관리 파일 PBLIST가 편집된다. 위에서 기술된 분할 처리는 (1) FAT의 편집,(2) 속성 파일 편지,(3) 재생 관리 파일 편집순으로 수행된다. 그러나, 상기 순서는 변경될 수 있다.
본 발명은 사용자가 메모리 카드에 기록된 데이터 파일(ATRAC3 파일)을 편집하는 특징이 있다. 다음에, 도 25 내지 도 32를 참고로 기술된 트랙 관리 파일 TRKLIST에 대응하는 편집 처리들(예를 들면, 조합 처리 및 분할 처리)이 상세히 기술된다. 그러나, 아래의 설명이 트랙 정보 영역 TRKINF와 ATRAC3 데이터 파일의 부분 정보 영역 PRTINF에 제공된다.
이 부분에서, 도 40을 참조하면, 각각 한 부분으로 이루어지는 2개의 트랙 A,B를 조합하는 조합 처리(도 10b를 보라)가 기술된다. 도 40은 상기 조합 처리를 보여주는 흐름도이다. 단계 401에서, 후방측의 트랙 B의 부분 정보 영역 PRTINF가 트랙 A의 부분 정보 영역 PRTINF 밑으로 이동한다. 따라서, 트랙 정보 관리 파일 TRKLIST에서, 트랙 A의 트랙 정보 영역 TRKINF, 트랙 A의 부분 정보 영역 PRTINF, 트랙 B의 부분 정보 영역 PRTINF, 및 트랙 B의 트랙 정보 영역 TRKINF가 계속해서 배열된다.
단계 402에서, 트랙 B의 ATRAC3 데이터 파일의 FAT 체인이 트랙 A의 ATRAC3 데이터 파일의 FAT 체인중 후방측으로 링크된다. 단계 403에서, 트랙 B의 트랙 정보 영역 TRKINF가 트랙 정보 관리 파일 TRKLIST로부터 삭제된다. 따라서, 트랙 정보 관리 파일 TRKLIST에서, 상기 트랙 A의 트랙 정보 영역 TRKINF, 트랙 A의 부분 정보 영역 PRTINF, 및 트랙 B의 부분 정보 영역 PRTINF 가 연속해서 배열된다. 단계 404에서, 트랙 B의 ATRAC3 데이터 파일은 디렉토리로부터 삭제된다. 단계 405에서, 트랙 A의 트랙 정보 영역 TRKINF에서 음악 프로그램을 구성하는 부분들의 수를 나타내는 P-nnn 은 1에서 1+1=2로 변화한다.
따라서, 키들의 값들이 변경된다. 이 예에서, 원래 트랙 A의 내용 키는 KC_ A로 표시되고, 원래 트랙 B의 내용 키는 KC_B로 표시된다. 유사하게, 원래 트랙 A의 부분 키는 KP_A로, 원래 트랙 B의 부분 키는 KP_B로 표시된다.
단계 406에서, 트랙 A와 B가 조합된 후, 새로운 트랙 N의 내용 키는 KC_N 으로서 생성된다. 상기 CONNUM은 또한 새롭게 생성된다. 단계 407에서는, 새로운 부분 키가 생성된다. 상기 새로운 부분 키는 내용 키 KC_A, 부분 키 KP_A, 및 내용 키 KC_N의 배타적 OR 연산으로 생성된다. 단계 408에서, 후방측 부분 키(즉, 원래 트랙 B의 부분 정보 영역 PRTNF에 대한 부분 키)가 생성된다. 새로운 부분 키로서, 후방측 상의 후방키는 내용 키 KC_B, 부분 키 KP_B, 및 내용 키 KC_N의 배타적 OR 연산을 생성한다.
단계 409에서, 새로운 트랙 N의 내용 키 KC_N은 상기 메모리 카드의 저장키로 암호화되어 상기 트랙 정보 영역 TRKINF의 CONTENTS KEY-nnn에 저장된다. 상기 CINNUM 은 트랙 정보 영역 TRKINF의 CONNUM에 저장된다. 또한, 각각의 부분 키는 상기 부분 정보 영역 PRTNF의 PRTKEY-nnn에 저장된다.
다음에, 도 41을 참조하면, 한 부분으로 구성된 트랙 A가 2개의 트랙 A,B로 분할되는 분할 처리(도 10c를 보라)가 기술된다. 도 41은 분할 처리를 도시하는 흐름도이다. 단계 501에서, 상기 분할점은 SU로 결정된다. 단계 502에서, 새로운 트랙 A의 부분 정보 영역 PRTINF의 PRTSIZE가 변경된다. 실제로, 상기 시작부(시작 SU)에서 분할점(종료 SU)까지의 클러스터들의 수가 계산된다. 상기 클러스터 크기, 시작 su, 종료 su는 상기 클러스터의 분할점중 su 위치에 대응하여 변화하며 새로운 트랙 A의 부분 정보 영역의 PRTSIZE에 저장된다.
단계 503에서, 분할점을 포함하는 새로운 트랙 A의 마지막 클러스터인 하나의 클러스터가 완성적으로 복사된다. 상기 카피된 클러스터는 새로운 트랙 B의 상부분으로서 취급된다. 단계 504에서, 새롭게 생성된 트랙 B의 전체 부분수는 트랙 B의 트랙 정보 영역 TRKINF에서 음악 프로그램을 구성하는 부분들의 수를 표시하는 P-nnn에 저장된다. 이 예에서, 상기 분할점에 의해 진행된 클러스터들은 새롭게 생성된 트랙 B 인 제 2 부분이 된다. 새롭게 생성된 트랙 B의 전체 부분수가 계산된다. 단계 505에서, 새로운 ATRAC3 데이터 파일의 파일 번호 FNW-nnn가 생성되고 트랙 정보 영역 TRKINF의 FNW-nnn에 저장된다.
단계 506에서, 새로운 트랙 B의 트랙 정보 영역 TRKINF와 PRTINF의 부분 정보 영역이 트랙 정보 관리 파일 TRKLIST의 새로운 트랙 A의 부분 정보 영역 PRTINF의 후방측에 부가된다. 원래 트랙 A의 후방측 상의 트랙의 트랙 정보 영역 TRKINF와 부분 정보 영역 PRTINF는 트랙 정보 영역 TRKINF와 트랙 B의 부분 정보 영역 PRTNF에 의해 뒤로 이동한다.
단계 507에서, 새로운 트랙 A의 ATRAC3 데이터 파일의 FAT 체인은 분할점에 대해 변경된다. 단계 508에서, 트랙 B가 새롭게 부가되기 때문에, 상기 ATRAC3 데이터 파일의 파일 B가 디렉토리에 부가된다. 단계 509에서, 새롭게 생성된 트랙 B의 ATRAC3 데이터 파일의 FAT 체인은 원래의 트랙 A의 나머지 부분에 따른다(즉, 상기 클러스터들의 체인은 분할점을 포함한다).
새로운 트랙 B가 부가되기 때문에, 키값이 부가된다. 그러나, 새로운 트랙 A의 킷값은 변화하지 않는다.
단계 510에서, 트랙이 분할된 후, 새로운 트랙 B의 내용 키의 내용 키 KC_B가 생성된다. 한편, CONNUM도 새롭게 생성된다. 단계 511에서, 상기 새로운 트랙 B의 부분 키 KP_B가 생성된다. 상기 새로운 트랙의 부분 키는 원래 KC_A, KP_A, 및 KC_B의 배타적 OR 연산으로 생성된다.
단계 512에서, 상기 새로운 트랙 B의 내용 키 KC_B는 메모리 카드의 저장키로 암호화되고, 트랙 정보 영역 TRKINF의 CONTENTS KEY-nnn에 저장된다. 덧붙여, 상기 CONNUM은 트랙 정보 영역 TRKINF의 CONNUM-nnn에 저장된다. 각 부분 키는 부분 정보 영역 PRTINF의 PRTKEY-nnn에 저장된다.
따라서, 조합 및 분할 처리와 같은 편집 처리가 수행될때조차도, 트랙 정보 영역 TRKINF 및 부분 정보 영역 PRTINF는 ATRAC3 데이터 파일의 같은 순서로 배열된다. 다시 말해, 링크-P 시스템과 달리, 편집되는 하나의 파일의 트랙 정보 영역 TRKINF 및 부분 정보 영역 PRTINF의 링크 목표가 계속해서 배열되며, 랜덤하지는 않다.
또한, 삭제 처리나 이동 처리와 같은 또 다른 편집 처리가 수행될 때, 상기 트랙 정보 영역 TRKINF 및 부분 정보 영역 PRTINF는 ATRAC3 데이터 파일과 같은 순서로 재배열된다.
본 발명에 따라, 상기 플래쉬 메모리의 FAT 가 파괴될때조차도, 속성 파일은 상기 속성 파일을 사용하는 메모리에서 분산되는 부분을 관리하도록 각 파일의 시작에 부가된다. 따라서, 상기 편집 처리는 블록 결함이 생성되는 경향이 있는 플래쉬 메모리와 같은 기록 매체에 대해 적당하게 수행된다.
첨부된 도면을 참고하여 본 발명에 따른 양호한 실시예의 기술에서, 본 발명은 특정 실시예에 국한되지 않고, 여러 변화 및 수정이 첨부된 클레임에 한정된 바와 같이 본 발명의 사상 및 범주를 이탈하지 않고 당업자에게 효과적임은 자명하다.
본 발명은 FAT 영역이 파괴될 때조차도 편집 처리가 수행되는 것을 허용하도록 속성 파일을 갖은 메모리에서 분산되는 각 데이터 파일과 관리부의 시작에 속성 파일을 부가하는 비휘발성 메모리용 편집 장치 및 방법을 제공한다.

Claims (24)

  1. 연속해서 재생된 단일 데이터 파일을 각각 미리 결정된 데이터 길이를 가지는 블록들로 세그먼팅하기 위해 비휘발성 메모리에 기록된 데이터 파일을 편집하는 편집 장치로서,
    상기 비휘발성 메모리는, 미리 결정된 길이를 갖는 속성 파일(attribute file)과 함께 각 블록을 기록하는 데이터 영역과, 상기 데이터 영역에 기록된 데이터 파일을 관리하는 관리 데이터를 기록하는 관리 영역을 가지는, 상기 편집 장치에 있어서:
    상기 데이터 영역에 기록된 2개의 데이터 파일들을 선택하여 선택된 2개의 데이터 파일들에 대해 조합 처리를 수행하는 조작 수단;
    상기 선택된 2개의 데이터 파일들 중 후방측 데이터 파일로부터 속성 파일을 분리하는 분리 수단;
    상기 2개의 데이터 파일들이 논리적으로 링크되도록 상기 관리 영역에 기록된 상기 관리 데이터를 편집하고 상기 선택된 2개의 데이터 파일들 중 전방측 데이터 파일에 부가된 속성 파일을 편집하는 편집 수단; 및
    상기 편집 수단에 의해 편집된 상기 관리 데이터를 상기 관리 영역에 기록하고 상기 전방측 데이터 파일에 부가된 상기 속성 파일을 상기 데이터 영역에 기록하는 기록 수단을 포함하는, 편집 장치.
  2. 제 1 항에 있어서,
    상기 관리 영역에 기록된 상기 관리 데이터는 파일 할당 테이블을 포함하는, 편집 장치.
  3. 제 1 항에 있어서,
    적어도 전체 데이터 파일수를 관리하는 재생 관리 데이터가 상기 데이터 영역에 기록되는, 편집 장치.
  4. 제 1 항에 있어서,
    데이터 파일을 암호화하기 위한 키가 상기 속성 파일에 기록되고,
    상기 키는 편집 처리가 수행될 때 재기록되는, 편집 장치.
  5. 제 1 항에 있어서,
    관련 데이터 파일의 전체 데이터량은 상기 속성 파일에 기록되며,
    상기 편집 수단에 의해 편집된 상기 전방측 데이터 파일에 부가된 상기 속성 파일의 전체 데이터량은 상기 전방측 데이터 파일에 부가된 상기 속성 파일의 전체 데이터량이 후방측 데이터 파일에 부가된 상기 속성 파일의 전체 데이터량에 부가된 값으로 재기록되는, 편집 장치.
  6. 제 1 항에 있어서,
    상기 분리 수단에 의해 분리된 상기 후방측 데이터 파일에 부가된 상기 속성 파일은 기록 가능한 파일로 지정되는, 편집 장치.
  7. 제 1 항에 있어서,
    상기 전방측 데이터 파일에 부가된 상기 속성 파일은 상기 후방측 데이터 파일에 부가된 상기 속성 파일에 대응하여 편집되는, 편집 장치.
  8. 제 1 항에 있어서,
    연속해서 재생된 상기 단일 데이터 파일은 복수의 세그먼트된 블록들이 집합되는 적어도 한 부분으로 이루어지고,
    상기 부분들의 수는 상기 속성 파일로 관리되는, 편집 장치.
  9. 제 8 항에 있어서,
    상기 편집 수단은 상기 전방측 데이터 파일 중 속성 파일로 관리된 부분들의 수와 상기 후방측 데이터 파일 중 속성 파일로 관리된 부분들의 수가 부가된 값에 대응하여 상기 전방측 데이터 파일에 부가된 상기 속성 파일을 편집하는, 편집 장치.
  10. 제 8 항에 있어서,
    한 부분을 암호화하기 위한 부분 키(part key)가 상기 속성 파일에 기록되는, 편집 장치.
  11. 제 10 항에 있어서,
    상기 편집 처리가 수행되면, 상기 부분 키가 재기록되는, 편집 장치.
  12. 제 10 항에 있어서,
    데이터 파일을 암호화하기 위한 키가 상기 속성 파일에 기록되고,
    상기 부분 키는 상기 속성 파일에 기록된 상기 키에 대응하여 암호화되는, 편집 장치.
  13. 연속해서 재생된 단일 데이터 파일을 각각 미리 결정된 데이터 길이를 갖는 블록들로 세그먼팅하기 위해 비휘발성 메모리에 기록된 데이터 파일을 편집하는 편집 방법으로서,
    상기 비휘발성 메모리는, 미리 결정된 길이를 갖는 속성 파일과 함께 각각의 블록을 기록하는 데이터 영역과 상기 데이터 영역에 기록된 데이터 파일을 관리하는 관리 데이터를 기록하는 관리 영역을 가지는, 상기 편집 방법에 있어서,
    a) 상기 데이터 영역에 기록된 2개의 데이터 파일들을 선택하여 선택된 2개의 데이터 파일들에 대해 조합 처리를 수행하는 단계;
    b) 상기 선택된 2개의 데이터 파일들 중 후방측 데이터 파일로부터 속성 파일을 분리하는 단계;
    c) 상기 2개의 데이터 파일들이 논리적으로 링크되도록 상기 관리 영역에 기록된 관리 데이터를 편집하고 상기 선택된 2개의 데이터 파일들 중 전방측 데이터 파일에 부가된 속성 파일을 편집하는 단계; 및
    d) 단계(c)에서 편집된 상기 관리 데이터를 상기 관리 영역에 기록하고 상기 전방측 데이터 파일에 부가된 속성 파일을 상기 데이터 영역에 기록하는 단계를 포함하는, 편집 방법.
  14. 연속해서 재생된 단일 데이터 파일을 각각 미리 결정된 길이를 갖는 블록들로 세그먼팅하는 비휘발성 메모리에 기록된 데이터 파일을 편집하는 편집 장치로서,
    상기 비휘발성 메모리는, 미리 결정된 길이를 갖는 속성 파일과 함께 각 블록을 기록하는 데이터 영역과, 상기 데이터 영역에 기록된 데이터 파일을 관리하는 관리 데이터를 기록하는 관리 영역을 가지는, 상기 편집 장치에 있어서:
    상기 데이터 영역에 기록된 특정 데이터 파일의 분할점을 설정하는 조작 수단;
    상기 조작 수단에 의해 설정된 데이터 파일의 분할점에 대응하는 관리 데이터 및 상기 부가된 속성 파일을 편집하는 편집 수단;
    상기 조작 수단에 의해 설정된 분할점의 후방측 상에서 상기 데이터 파일의 속성 파일을 생성하는 생성 수단; 및
    상기 편집 수단에 의해 편집된 관리 데이터를 관리 영역에 기록하고 상기 전방측 데이터 파일에 부가된 상기 속성 파일을 데이터 영역에 기록하는 기록 수단을 포함하는, 편집 장치.
  15. 제 14 항에 있어서,
    상기 관리 영역에 기록된 상기 관리 데이터는 파일 할당 테이블을 포함하는, 편집 장치.
  16. 제 14 항에 있어서,
    적어도 전체 데이터 파일들의 수를 관리하는 재생 관리 데이터가 상기 데이터 영역에 기록되는, 편집 장치.
  17. 제 14 항에 있어서,
    데이터 파일을 암호화하는 키가 상기 속성 파일에 기록되고,
    상기 키는 편집 처리가 수행될 때 재기록되는, 편집 장치.
  18. 제 14 항에 있어서,
    상기 관련 데이터 파일의 전체 데이터량은 상기 분할점의 후방측 상에서 상기 데이터 파일의 속성 파일로 관리되는, 편집 장치.
  19. 제 14 항에 있어서,
    연속해서 재생된 상기 단일 데이터 파일은 복수의 세그먼트된 블록들이 집합되는 적어도 한 부분으로 이루어지고,
    상기 부분들의 수는 상기 속성 파일로 관리되는, 편집 장치.
  20. 제 14 항에 있어서,
    상기 편집 수단은 상기 분할점의 전방측 상의 상기 데이터 파일의 속성 파일로 관리된 부분들의 수와 상기 조작 수단에 의해 설정된 상기 분할점에 대응하여 분할점의 후방측 상의 상기 데이터 파일의 속성 파일로 관리된 부분들의 수를 편집하는, 편집 장치.
  21. 제 19 항에 있어서,
    한 부분을 암호화하는 부분 키가 상기 속성 파일에 기록되는, 편집 장치.
  22. 제 21 항에 있어서,
    상기 편집 처리가 수행될 때, 상기 부분 키가 재기록되는, 편집 장치.
  23. 제 21 항에 있어서,
    데이터 파일을 암호화하는 키가 상기 속성 파일에 기록되고,
    상기 부분 키는 상기 속성 파일에 기록된 키에 대응하여 암호화되는, 편집 장치.
  24. 연속해서 재생된 단일 데이터 파일을 각각 미리 결정된 데이터 길이를 가지는 블록들로 세그먼팅하는 비휘발성 메모리에 기록된 데이터 파일을 편집하는 편집 방법으로서,
    상기 비휘발성 메모리는, 미리 결정된 길이를 가지는 속성 파일과 함께 각 블록을 기록하는 데이터 영역과, 상기 데이터 영역에 기록된 데이터 파일을 관리하는 관리 데이터를 기록하는 관리 영역을 가지는, 상기 편집 방법에 있어서:
    (a) 상기 데이터 영역에 기록된 특정 데이터 파일의 분할점을 설정하는 단계;
    (b) 상기 부가된 속성 파일과 단계(a)에서 설정된 데이터 파일의 분할점에 대응하는 관리 데이터를 편집하는 단계;
    (c) 단계(a)에서 설정된 분할점의 후방측 상에서 상기 데이터 파일의 속성 파일을 생성하는 단계; 및
    (d) 단계(b)에서 편집된 관리 데이터를 상기 관리 영역에 기록하고 전방측 데이터 파일에 부가된 상기 속성 파일을 상기 데이터 영역에 기록하는 단계를 포함하는, 편집 방법.
KR20000015067A 1999-03-25 2000-03-24 편집 장치 및 편집 방법 KR100720838B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP8153599 1999-03-25
JP99-081535 1999-03-25
JP18341299 1999-06-29
JP99-183412 1999-06-29
JP34910899A JP4281185B2 (ja) 1999-03-25 1999-12-08 編集装置および方法
JP99-349108 1999-12-08

Publications (2)

Publication Number Publication Date
KR20010006865A KR20010006865A (ko) 2001-01-26
KR100720838B1 true KR100720838B1 (ko) 2007-05-25

Family

ID=27303616

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20000015067A KR100720838B1 (ko) 1999-03-25 2000-03-24 편집 장치 및 편집 방법

Country Status (7)

Country Link
US (4) US7089271B1 (ko)
JP (1) JP4281185B2 (ko)
KR (1) KR100720838B1 (ko)
CN (1) CN1162781C (ko)
HU (1) HU229696B1 (ko)
MY (1) MY127997A (ko)
NO (1) NO325128B1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100425295B1 (ko) * 2000-09-19 2004-03-30 삼성전자주식회사 Av 시스템의 음악 기록/재생 모듈
US7526795B2 (en) * 2001-03-27 2009-04-28 Micron Technology, Inc. Data security for digital data storage
WO2003005178A2 (en) * 2001-07-05 2003-01-16 Matsushita Electric Industrial Co., Ltd. Recording apparatus, medium, method, and related computer program
JP3855862B2 (ja) * 2002-04-01 2006-12-13 ソニー株式会社 編集方法および装置
AU2003201840A1 (en) * 2002-04-01 2003-10-23 Sony Corporation Reproducing method, reproducing apparatus, recording method, recording apparatus, and method for generating a management table
KR100503066B1 (ko) * 2002-09-14 2005-07-21 삼성전자주식회사 음악 파일 저장 및 재생 장치와 그 방법
KR100502711B1 (ko) * 2003-03-14 2005-07-20 주식회사 코원시스템 휴대용 정보 기록재생장치의 기록 데이터 복구방법
JP2004280752A (ja) * 2003-03-19 2004-10-07 Sony Corp データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム
US20040243421A1 (en) * 2003-05-29 2004-12-02 Jannott Frederick P. System and method of presenting construction specifications
JP3888353B2 (ja) * 2004-01-07 2007-02-28 ソニー株式会社 データ編集装置及びデータ編集方法
CN101853685B (zh) * 2004-06-15 2012-06-27 松下电器产业株式会社 驱动装置
JP4724412B2 (ja) * 2004-11-25 2011-07-13 キヤノン株式会社 画像データ記録装置
JP4548737B2 (ja) * 2005-01-24 2010-09-22 パナソニック株式会社 署名生成装置及び署名検証装置
JP2006338371A (ja) * 2005-06-02 2006-12-14 Toshiba Corp メモリシステム
JP5025104B2 (ja) * 2005-07-19 2012-09-12 キヤノン株式会社 撮像装置及びその制御方法、コンピュータプログラム
CN100485681C (zh) * 2006-03-23 2009-05-06 北京握奇数据系统有限公司 智能卡存储系统及该系统中文件创建管理的方法
US8354997B2 (en) * 2006-10-31 2013-01-15 Navisense Touchless user interface for a mobile device
US7876895B2 (en) * 2007-05-09 2011-01-25 International Business Machines Corporation System, method, and service for performing unified broadcast encryption and traitor tracing for digital content
US8082387B2 (en) * 2007-10-29 2011-12-20 Micron Technology, Inc. Methods, systems, and devices for management of a memory system
JP4816740B2 (ja) * 2009-02-09 2011-11-16 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US9054920B2 (en) * 2011-03-31 2015-06-09 Alcatel Lucent Managing data file transmission
JP6142669B2 (ja) 2013-05-22 2017-06-07 株式会社ソシオネクスト データ編集プログラム、データ編集装置、データ編集方法
JP6173896B2 (ja) * 2013-12-10 2017-08-02 株式会社日立製作所 データ処理方法およびデータ処理サーバ
CN109917926A (zh) * 2017-12-12 2019-06-21 李金泽 猎道输入法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805544A (en) * 1995-03-15 1998-09-08 Sony Corporation Recorded data processing method and apparatus providing for fine detail management and editing of reproduced data irrespective of the data structure
US5845240A (en) * 1996-07-24 1998-12-01 Fielder; Mark Selective recall and preservation of continuously recorded data

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664181A (en) * 1992-03-17 1997-09-02 International Business Machines Corporation Computer program product and program storage device for a data transmission dictionary for encoding, storing, and retrieving hierarchical data processing information for a computer system
US5805762A (en) * 1993-01-13 1998-09-08 Hitachi America, Ltd. Video recording device compatible transmitter
JP3578491B2 (ja) * 1994-09-05 2004-10-20 富士通株式会社 Cgアニメーション編集装置
US6085323A (en) * 1996-04-15 2000-07-04 Kabushiki Kaisha Toshiba Information processing system having function of securely protecting confidential information
US5845210A (en) 1996-08-15 1998-12-01 Ericsson, Inc. Method and apparatus for supporting data transmission over analog and digital cellular telephone air interfaces
TW346586B (en) * 1997-05-16 1998-12-01 Feng Bao Systems Co Ltd Ing Method for editing a multimedia simultaneous teaching system
US6353700B1 (en) * 1998-04-07 2002-03-05 Womble Multimedia, Inc. Method and apparatus for playing an MPEG data file backward
US6278678B1 (en) * 1999-02-12 2001-08-21 Sony Corporation Editing apparatus, editing method, and recording medium
MY122279A (en) * 1999-03-03 2006-04-29 Sony Corp Nonvolatile memory and nonvolatile memory reproducing apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805544A (en) * 1995-03-15 1998-09-08 Sony Corporation Recorded data processing method and apparatus providing for fine detail management and editing of reproduced data irrespective of the data structure
US5845240A (en) * 1996-07-24 1998-12-01 Fielder; Mark Selective recall and preservation of continuously recorded data

Also Published As

Publication number Publication date
KR20010006865A (ko) 2001-01-26
HUP0001239A2 (hu) 2001-07-30
US7634493B2 (en) 2009-12-15
NO20001485D0 (no) 2000-03-22
CN1162781C (zh) 2004-08-18
JP4281185B2 (ja) 2009-06-17
NO20001485L (no) 2000-09-26
US7089271B1 (en) 2006-08-08
MY127997A (en) 2007-01-31
NO325128B1 (no) 2008-02-04
JP2001075856A (ja) 2001-03-23
CN1268847A (zh) 2000-10-04
US20050191029A1 (en) 2005-09-01
US7526086B2 (en) 2009-04-28
US20050180729A1 (en) 2005-08-18
HU0001239D0 (en) 2000-05-28
HU229696B1 (en) 2014-05-28
US20050175318A1 (en) 2005-08-11

Similar Documents

Publication Publication Date Title
KR100617892B1 (ko) 비휘발성 메모리
KR100602402B1 (ko) 비휘발성 메모리 및 비휘발성 메모리 재생 장치
KR100714665B1 (ko) 데이터 통신 시스템 및 데이터 관리 방법
US7526086B2 (en) Editing apparatus and editing method
KR100712377B1 (ko) 재생 장치 및 재생 방법
JP4543554B2 (ja) データ処理装置およびデータ処理方法
KR100717977B1 (ko) 재생 장치 및 재생 방법
KR100838901B1 (ko) 재생 장치 및 재생 방법
KR100699189B1 (ko) 비휘발성 기록 매체, 기록 방법, 및 기록 장치
JP4524921B2 (ja) 記録装置、記録方法、再生装置および再生方法
US7519277B2 (en) Editing apparatus and editing method
EP1041576B1 (en) Non-volatile record medium, recording medium, and recording apparatus
EP1041574B1 (en) Nonvolatile memory
EP1033665A2 (en) Data communication system and data managing method
EP1041575B1 (en) Editing apparatus and editing method
MXPA00010758A (en) Data processing device, data processing method, terminal, transmission method for data processing device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130503

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140509

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee