KR101046869B1 - 재생장치, 재생방법, 기록매체, 기록장치 - Google Patents

재생장치, 재생방법, 기록매체, 기록장치 Download PDF

Info

Publication number
KR101046869B1
KR101046869B1 KR1020107025010A KR20107025010A KR101046869B1 KR 101046869 B1 KR101046869 B1 KR 101046869B1 KR 1020107025010 A KR1020107025010 A KR 1020107025010A KR 20107025010 A KR20107025010 A KR 20107025010A KR 101046869 B1 KR101046869 B1 KR 101046869B1
Authority
KR
South Korea
Prior art keywords
object data
playback
menu call
resume
reproduction path
Prior art date
Application number
KR1020107025010A
Other languages
English (en)
Other versions
KR20100127883A (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 KR20100127883A publication Critical patent/KR20100127883A/ko
Application granted granted Critical
Publication of KR101046869B1 publication Critical patent/KR101046869B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N33/00Investigating or analysing materials by specific methods not covered by groups G01N1/00 - G01N31/00
    • G01N33/48Biological material, e.g. blood, urine; Haemocytometers
    • G01N33/50Chemical analysis of biological material, e.g. blood, urine; Testing involving biospecific ligand binding methods; Immunological testing
    • G01N33/58Chemical analysis of biological material, e.g. blood, urine; Testing involving biospecific ligand binding methods; Immunological testing involving labelled substances
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12QMEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
    • C12Q1/00Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions
    • C12Q1/68Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions involving nucleic acids
    • C12Q1/6813Hybridisation assays
    • C12Q1/6816Hybridisation assays characterised by the detection means
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12QMEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
    • C12Q1/00Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions
    • C12Q1/68Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions involving nucleic acids
    • C12Q1/6813Hybridisation assays
    • C12Q1/6834Enzymatic or biochemical coupling of nucleic acids to a solid phase
    • C12Q1/6837Enzymatic or biochemical coupling of nucleic acids to a solid phase using probe arrays or probe chips
    • CCHEMISTRY; METALLURGY
    • C40COMBINATORIAL TECHNOLOGY
    • C40BCOMBINATORIAL CHEMISTRY; LIBRARIES, e.g. CHEMICAL LIBRARIES
    • C40B30/00Methods of screening libraries
    • C40B30/04Methods of screening libraries by measuring the ability to specifically bind a target molecule, e.g. antibody-antigen binding, receptor-ligand binding
    • 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
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/004Recording, reproducing or erasing methods; Read, write or erase circuits therefor
    • G11B7/005Reproducing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B25/00ICT specially adapted for hybridisation; ICT specially adapted for gene or protein expression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/806Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
    • H04N9/8063Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8227Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being at least another television signal

Landscapes

  • Chemical & Material Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Organic Chemistry (AREA)
  • Molecular Biology (AREA)
  • Immunology (AREA)
  • Wood Science & Technology (AREA)
  • Zoology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biochemistry (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Microbiology (AREA)
  • Biotechnology (AREA)
  • Analytical Chemistry (AREA)
  • Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Medicinal Chemistry (AREA)
  • Genetics & Genomics (AREA)
  • Hematology (AREA)
  • General Engineering & Computer Science (AREA)
  • Urology & Nephrology (AREA)
  • Biomedical Technology (AREA)
  • Multimedia (AREA)
  • Biophysics (AREA)
  • Signal Processing (AREA)
  • Pathology (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • General Chemical & Material Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Cell Biology (AREA)
  • Food Science & Technology (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

서로 다른 버전이 단일 기록매체에 기록되어 있을 때 동일한 영화작업의 서로 다른 버전의 특징에 기초하여 메뉴 호출을 실행할 수 있는 기록매체가 개시된다. AV 클립과 동적 시나리오는 BD-ROM(100; 기록매체)에 기록된다. 동적 시나리오는 비디오 데이터에 관련한 명령 열이고, 속성 정보가 거기에 첨부된다. 속성 정보는 AV 클립의 재생 중 사용자가 메뉴 호출을 요청할 때를 위한 제어 절차를 나타내는 정보로, resume-intension_flag를 포함한다. resume-intension_flag는 메뉴 호출이 종료된 후 비디오 데이터의 재생 재개가 될 예정인지를 나타낸다.

Description

재생장치, 재생방법, 기록매체, 기록장치{PLAYBACK DEVICE, PLAYBACK METHOD, RECORDING MEDIUM, RECORDING DEVICE}
본 발명은 영화작품을 배포하기 위한 BD-ROM과 같은 기록매체와 이러한 기록매체를 재생하기 위한 재생장치에 관한 것으로, 특히 동적 재생제어를 실현하는 영화작품이 제공되는 방법의 개선에 관한 것이다.
DVD-ROM과 BD-ROM의 판매로, 한 장의 디스크로 판매될 수 있는 영화작품(타이틀)의 다양함이 증가할수록 제품의 부가가치도 더 커진다. 정적 시나리오와 동적 시나리오로 불리는 시나리오 데이터는 타이틀 변화의 수를 증가시키는데 적극적인 역할을 한다. 정적 시나리오는 디스크 제작자 미리 정의한 재생 경로를 보여주는 정보이다. 이와 비교하여, 동적 시나리오는 장치의 상태 설정에 따라 재생의 진행을 동적으로 변화시키는 시나리오이다.
도 1a 내지 1c는 동적 시나리오를 보여준다. 동적 시나리오는 재생장치의 언어 설정에 따라 재생 장면을 스위칭하기 위한 "언어 크레디트(language credit)"을 실현한다. 도 1a 내지 1c에서, "PL"은 재생 경로인 플레이리스트(PlayList)의 약어이고, "PI"는 재생 영역인 플레이아이템(PlayItem)에 대한 약어이다. 도 1a 내지 1c의 동적 시나리오는, 재생장치의 언어 설정(SPRM(0))이 "일본어"인 경우(즉, "if (SPRM(0))==Japanese"), 재생 경로 PL#4의 재생 영역 PI#1(PL#4, PI#1)이 재생되고, 재생장치의 언어 설정이 PL#4 이외인 경우(즉, "else"), 재생 경로 PL#2의 재생 영역 PI#1(PL#2, PI#1)이 재생되도록 하는 조건부 재생을 구현한다. 이러한 조건부 재생의 결과로, 사용자에 의해 이루어진 언어 설정에 따라 틀리는 재생 경로를 통하여 재생이 실행된다. 도 1b의 화살표 hb1과 hb2는 동적 시나리오에서 유래하는 조건부 분기를 기호적으로 보여준다. DVD 재생제어와 관련된 종래 기술은 일본 특허 제2856363호에 개시된 공지 기술을 포함한다.
그러나, 상술한 동적 시나리오의 문법은 DVD-Video의 내비게이션 명령을 답습한 것이며, Java 언어에 의한 애플리케이션의 개발에 익숙한 소프트웨어 하우스의 입장에서는 친숙성이 적었다. 따라서 동적 시나리오를 이용한 영화작품의 제작에 많은 소프트웨어 하우스의 참여를 촉구하기가 어려워서, 영화작품의 시장을 활성회시키기에는 한계가 있으며, 영화작품의 충실을 도모하기가 어렵게 될 우려가 있다. 그러나 새로운 기록매체의 응용 층 포맷의 책정에 있어서 동적 시나리오의 문법을 일률적으로 Java 언어로 통일시켜 버리면 이번에는 DVD-Video 포맷에 의한 영화작품의 제작에 익숙한 편집 담당자에게는 제작에 어려움을 주게 되며, 기렇게 해서는 기존의 영화작품의 제작자로부터 외면당하게 될 우려가 있다.
본 발명의 목적은 동적 시나리오의 기술의 용이성의 향상을 도모하여, 충실한 영화작품의 제작이 가능하게 하는 재생장치를 제공하는 것이다.
상기 과제를 달성하기 위한 본 발명의 재생장치는, 재생장치로, 디지털 스트림과, 상기 디지털 스트림의 재생경로를 나타내는 재생경로 정보와, 상기 재생경로 정보를 재생하기 위한 명령을 포함하는 오브젝트 데이터를 기록매체에서 판독하는 판독수단과, 상기 판독된 오브젝트 데이터를 실행하는 모듈과, 상기 실행된 오브젝트 데이터에 포함되는 명령이 실행된 경우에 상기 명령에 의해서 재생되는 재생경로 정보가 나타내는 재생경로에 따라서 상기 디지털 스트림을 재생하는 재생제어엔진과, 사용자로부터 메뉴 호출(menu call)을 접수하는 접수수단을 구비하고, 상기 오브젝트 데이터는 메뉴 호출을 실행하는가 여부를 나타내는 메뉴 호출 마스크 플래그와 상기 오브젝트 데이터를 리줌(resume) 하는가 여부를 나타내는 리줌 플래그를 더 포함하며, 상기 재생장치는, 상기 오브젝트 데이터의 실행중에 메뉴 호출이 접수된 경우에, 상기 오브젝트 데이터에 포함되는 메뉴 호출 마스크 플래그에 따라서 상기 메뉴 호출을 실행하는가 여부를 제어하고, 상기 메뉴 호출이 실행되는 경우에 상기 오브젝트 데이터에 포함되어 있는 리줌 플래그에 따라서 상기 오브젝트 데이터의 실행을 리줌 하는가 여부를 제어하는 것을 특징으로 한다.
도 1a 내지 1c는 동적 시나리오를 보여준다.
도 2는 본 발명에 속하는 기록매체의 이용 형태를 보여준다.
도 3은 BD-ROM의 구조를 보여준다.
도 4는 디렉토리 구조를 이용하여 BD-ROM의 어플리케이션 포맷을 보여준다.
도 5는 기능성에 의하여 분류된 도 4의 파일들을 보여주는 분류 다이어그램이다.
도 6은 BD-ROM을 대상으로 하는 레이어 모델을 보여준다.
도 7은 AV 클립의 구성을 도식적으로 보여준다.
도 8은 클립 정보의 내부 구조를 보여준다.
도 9는 PL 정보의 내부 구조를 보여준다.
도 10은 PL 정보를 이용한 간접 참조를 도식화한다.
도 11은 도 10의 (PLinfo#1)이 정의된 PL 정보의 다른 부분(PLinfo#2)의 예를 보여준다.
도 12는 레이어 모델의 제 4 층의 재생 모드를 보여준다.
도 13은 MOVIE 오브젝트의 내부 구조를 보여준다.
도 14a는 resume_intension_flag, menu_call_mask, 및 Title_search_mask를 구비한 동적 시나리오를 보여준다.
도 14b는 도 14a의 MOVIE 오브젝트에 기초한 재생제어를 나타낸다.
도 14c는 재생이 타이틀의 선두로부터 재시작되는 것을 나타낸다.
도 15a-15c는 재생의 재시작을 초기화하는 재생장치 측의 처리를 나타낸다.
도 16a-16c는 질의로부터 유래하는 분기가 실현될 때 MOVIE 오브젝트의 기술 예를 보여준다.
도 17a-17c는 사용연령 제한을 지시할 때 동적 시나리오의 기술 예를 보여준다.
도 18a-18b는 Title_search_mask의 예시 설정을 보여준다.
도 19는 본 발명에 속하는 재생장치의 내부 구조를 나타낸다.
도 20은 모듈 관리자(20)가 수행하는 처리 절차를 나타내는 플로차트이다.
도 21은 모듈 관리자(20)가 수행하는 처리 절차를 나타내는 플로차트이다.
도 22는 모듈 관리자(20)가 수행하는 처리 절차를 나타내는 플로차트이다.
도 23a-23c는 INFO.BD의 내부 구조를 나타낸다.
도 24a는 다수의 동적 시나리오(001.MOVIE, 002.MOVIE, 003.MOVIE, ..., 001.CLASS, 002.CLASS, 003.CLASS)가 기록된 BD-ROM을 보여준다.
도 24b는 도 24a에 나타낸 다수의 동적 시나리오가 열거될 때 인덱스 테이블의 예시적인 설명을 보여준다.
도 25a는 인덱스 테이블이 도 24b에서와 같이 기술될 때 풀 시스템의 간접 참조를 보여준다.
도 25b는 고어 시스템의 간접 참조를 보여준다.
도 26은 MOVIE 오브젝트로부터 Java 오브젝트로의 분기가 어떻게 수행되는지를 도식적으로 보여준다.
도 27은 도 18에 나타낸 시나리오가 기록된 BD-ROM이 코어 시스템 재생장치에 로드될 때 분기가 어떻게 수행되는지를 보여준다.
도 28은 실시예 2의 모듈 관리자(20)가 수행하는 처리 절차를 보여준다.
도 29a는 서로 다른 버전의 다수의 인덱스 테이블이 기록된 BD-ROM을 보여준다.
도 29b는 버전 1.0 재생장치에 장착되는 도 29a의 BD-ROM을 나타낸다.
도 29c는 버전 1.1 재생장치에 장착되는 도 29a의 BD-ROM을 나타낸다.
도 30은 모듈 관리자(20)가 수행하는 처리 절차를 나타내는 플로차트이다.
도 31은 BD-ROM에 의해 실현되는 메뉴 계층을 나타낸다.
도 32는 계층 구조를 갖는 메뉴를 동작하기 위한 MOVIE 오브젝트를 나타낸다.
도 33은 분기-제어 처리 절차를 나타내는 플로차트이다.
도 34는 실시예 5에 속하는 PlayItem의 내부 구조를 나타낸다.
도 35는 재생제어가 MOVIE 및 Java 오브젝트에 의해 수행되는 PL의 계층적 구조를 보여준다.
도 36은 PlayItem #3 및 #12의 Playable_PID_entries의 결과로 필터 지정이 어떻게 수행되는지를 보여준다.
도 37은 PlayItem #3 및 #12의 Playable_PID_entries에 의해 재생출력이 어떻게 가능하게 되는지를 보여준다.
도 38은 재생제어 엔진(12)이 수행하는 PLPlay 함수 실행절차를 보여주는 플로차트이다.
도 39는 BD-ROM에 대한 제조공정을 보여주는 플로차트이다.
실시예 1
본 발명에 속하는 기록 매체의 일 실시예가 이하에 설명된다. 먼저, 이용 행위가 본 발명에 속하는 기록 매체의 실행과 관련하여 설명된다. 도 2는 본 발명에 속하는 기록 매체의 이용 행위를 보여준다. 도 2의 BD-ROM(100)은 본 발명에 속하는 기록 매체이다. BD-ROM(100)은 재생장치(200), 텔레비전(300), 및 리모트 컨트롤러(400)로 구성된 홈 씨어터 시스템에 영화작품을 제공하는데 이용된다.
다음, 제작 행위가 본 발명에 속하는 기록 매체의 실행과 관련하여 설명된다. 본 발명에 속하는 기록 매체는 BD-ROM의 어플리케이션층의 향상의 결과로 실행될 수 있다. 도 3은 BD-ROM의 구조를 보여준다.
도 3의 레벨 4는 BD-ROM을 보여주고, 제 3 레벨은 BD-ROM의 트랙을 보여준다. 레벨 3의 트랙은, BD-ROM의 내측으로부터 외측으로 나선형으로 감긴 트랙을, 측면으로 빼낸 형태로, 묘사하고 있다. 이 트랙들은 리드-인(lead-in) 영역, 볼륨(volume) 영역, 및 리드-아웃(lead-out) 영역으로 형성된다. 도 3의 볼륨 영역은 물리층, 파일시스템층, 및 어플리케이션층으로 구성되는 레이어 모델을 구비한다. 본 발명에 속하는 기록 매체는 도 3에 나타낸 데이터 포맷을 BD-ROM의 어플리케이션층 위에 형성함으로써 산업상으로 제조된다.
도 4는 디렉토리 구조를 이용하여 BD-ROM의 어플리케이션층 포맷(이후, 간단하게 "어플리케이션 포맷"이라 함)을 표현한다. 도 4에 나타낸 바와 같이, BD_ROM의 루트 디렉토리 아래에는 BDMV 디렉토리가 있고, BDMV 디렉토리 아래에는 JCLASS 디렉토리와 BROWSER 디렉토리가 있다. 다음의 파일들이 BDMV 디렉토리의 하위에 존재한다: INFO.BD, XXX.M2TS, XXX.CLPI, YYY.MPLS, 및 ZZZ.MOVIE이다. JCLASS 디렉토리의 하위에는 ZZZ.CLASS가 배치되고, BROWSER 디렉토리 하위에는 ZZZ.HTM이 배치된다.
도 5는 이 파일들이 기능적 관점에서 분류될 때의 분류 다이어그램이다. 도 5에서, 제 1, 제 2, 제 3 및 제 4 층으로 형성된 계층이 다이어그램의 분류를 상징적으로 보여준다. 도 5에서, XXX.M2TS는 제 2 층으로 분류된다. XXX.XLPI와 YYY.MPLS는 제 3 층(정적 시나리오)에 분류된다. BDMV 디렉토리에 하위인 ZZZ.MOVIE, JCLASS의 하위인 ZZZ.CLASS, 및 BROWSER의 하위인 ZZZ.HTM은 제 4 층에 분류된다.
도 5의 분류(제 1 내지 제 4 층)는 도 6에 나타낸 바와 같은 레이어 모델을 대상으로 한다. 이하 도 6을 참조하여 BD-ROM을 대상으로 하는 제어 소프트웨어의 레이어 모델을 설명한다.
도 6의 제 1 층은 처리를 위해 대상으로 정한 스트림에 관한 공급 제어가 실행되는 물리층이다. 제 1 층에 나타낸 바와 같이, 대상 스트림은 그들의 공급원으로 BD-ROM 뿐만 아니라 HDD(하드디스크 드라이브), 메모리 카드, 네트워크 및 다른 종류의 기록과 통신 매체를 갖는다. 이러한 HDD, 메모리 카드 및 네트워크에 향하는 제어(디스크 액세스, 카드 액세스, 네트워크 통신)는 제 1 층에서 실행된다.
제 2 층은 디코딩 포맷층이다. 제 2 층은 제 1 층에 의해 공급되는 스트림을 디코딩하는데 이용되는 디코딩 포맷이 정의되는 곳이다. MPEG-2 디코딩 포맷이 이 실시예에 적용된다.
제 3 층(정적 시나리오)은 스트림의 정적 시나리오를 정의한다. 정적 시나리오는 디스크 제작자에 의해 미리 정의된 재생 경로 정보와 클립 정보로, 제 3 층(정적 시나리오)은 이 정적 시나리오에 기초하여 재생제어가 정의되는 곳이다.
제 4 층은 스트림의 동적 시나리오를 실현하기 위한 곳이다. 동적 시나리오는 사용자 조작의 결과로 재생의 진행, 장치 상태 등을 동적으로 변경시키기 위한 시나리오이며, 제 4 층은 이 동적 시나리오에 기초하여 재생제어가 정의되는 곳이다. 스트림, 정적 시나리오, 및 동적 시나리오에 관한 파일들이 레이어 모델에 따라 이하 설명된다.
먼저, 제 2 층에 속하는 AV 클립(XXX.M2TS)이 설명된다.
AV 클립(XXX.M2TS)은 비디오 스트림, 하나 이상의 오디오 스트림, 및 프리젠테이션 그래픽스 스트림과 인터랙티브 그래픽스 스트림인 하나 이상의 그래픽스 스트림을 다중화함으로써 얻어지는 MPEG-TS(트랜스포트 스트림) 포맷 디지털 스트림이다. 비디오 스트림은 영화의 동영상 부분을 나타내고, 오디오 스트림은 영화의 오디오 부분을 나타내고, 프리젠테이션 그래픽스 스트림은 영화의 자막을 나타내며, 인터랙티브 그래픽스 스트림은 메뉴를 대상으로 하는 동적 재생제어에 포함된 절차를 나타낸다. 도 7은 AV 클립의 구성을 도식적으로 보여준다.
AV 클립(제 4 레벨)은 다수의 비디오 프레임(픽쳐 pj1, pj2, pj3)을 포함하는 비디오 스트림과 다수의 오디오 프레임(제 1 레벨)을 포함하는 오디오 스트림을 PES 패킷열(제 2 레벨)로 변환함으로써 형성되고, 이후 PES 패킷열은 TS 패킷(제 3 레벨)으로 변환된다. 마찬가지로, 자막-관련 프리젠테이션 그래픽스 스트림과 대화-관련 인터랙티브 그래픽스 스트림(제 7 레벨)은 PES 패킷열(제 6 레벨)로 변환되고, PES 패킷열은 TS 패킷(제 5 레벨)으로 변환되고, 이후 TS 패킷은 다중화된다. 다중화는, 오디오 프레임과 동시에 BD-ROM으로부터 판독되어야 하는 비디오 프레임에 인접하여 오디오 프레임이 위치하도록 비디오 프레임을 저장하는 TS 패킷과 오디오 프레임을 저장하는 TS 패킷을 배열한다.
상기의 과정을 통하여 생성된 AV 클립은 다수의 크기로 분할되고 통상의 컴퓨터 프로그램과 같이 BD-ROM의 한 영역에 기록된다. AV 클립은 하나 이상의 액세스 유닛을 포함하며, 이 액세스 유닛에 삽입될 수 있다. 액세스 유닛은 단일 GOP(픽쳐 그룹)와 GOP와 동시에 판독되는 오디오 프레임을 포함하는 최소 디코딩 단위이다. GOP는 과거 방향 및 미래 방향으로 재생될 이미지와의 시간-상관 특성을 이용하여 압축된 양방향 예측 (B) 픽쳐, 과거 방향으로 재생될 이미지와의 시간-상관 특성을 이용하여 압축된 예측 (P) 픽쳐, 및 각 프레임의 이미지와의 주파수-상관 특성(즉, 시간-상관 특성이 아닌)을 이용하여 압축된 인트라 (I) 픽쳐를 포함한다.
또한, XXX.M2TS의 파일명 "XXX"는 BD-ROM의 AV 클립에 부여되는 3-자릿수 식별번호를 추상화 하고 있다. 즉, 도 7의 AV 클립은 "XXX"를 이용하여 고유하게 식별된다. 여기에 언급된 3자릿수 번호는 단순히 예시이며, 어떠한 길이일 수 있다는 것에 유의해야 한다.
정적 시나리오
정적 시나리오 파일(XXX.CLPI, YYY.MPLS)을 이하 설명한다.
클립 정보(XXX.CLPI)는 개별 AV 클립에 관련된 관리 정보이다. 도 8은 클립 정보의 내부 구조를 보여준다. AV 클립은 비디오 및 오디오 스트림을 다중화함으로써 얻어지며, AV 클립은 액세스 유닛으로 선두 검색(cue)될 수 있기 때문에, 클립 정보의 관리 항목은 비디오 및 오디오 스트림의 속성과 AV 클립에서의 선두 검색 위치가 어디인지를 포함한다. 도 8의 점선은 클립 정보 구조를 강조하고 있다. 점선 hn1으로 나타낸 바와 같이, 클립 정보(XXX.CLPI)는 비디오 및 오디오 스트림에 관련된 "속성 정보"와, 액세스 유닛을 선두 검색하기 위한 참조 테이블인 "EP_map"을 포함한다.
점선 hn2에 의해 나타낸 바와 같이, 속성 정보(Attribute)는 비디오 스트림에 관련된 속성 정보(Video attribute information), 속성 정보 번호(Number), 및 AV 클립에 다중화된 다수의 오디오 스트림 각각에 관련된 속성 정보(Audio attribute information #1 - #m)를 포함한다. 점선 hn3에 의해 나타낸 바와 같이, 비디오 속성 정보는 비디오 스트림을 압축하는데 이용되는 압축 포맷(Coding), 해상도(Resolution), 어스펙트 비(Aspect) 및 비디오 스트림을 구성하는 픽쳐 데이터의 각 부분의 프레임레이트(Framerate)를 나타낸다.
반면에, 점선 hn4로 나타낸 바와 같이, 오디오 스트림에 관련한 오디오 속성 정보 #1 - #m은 각 오디오 스트림을 압축하는데 이용되는 압축 포맷(Coding), 채널번호(Ch.) 및 각 오디오 스트림의 대응 언어(Lang.)를 나타낸다.
EP_map은 다수의 선두 검색 위치의 어드레스를 시간 정보를 이용하여 간접적으로 참조하기 위한 참조 테이블로, 점선 hn5로 나타낸 바와 같이, 다수의 엔트리 정보(액세스 유닛#1 엔트리, 액세스 유닛#2 엔트리, 액세스 유닛#3 엔트리, ...)와, 엔트리 번호(Number)를 포함한다. 각 엔트리는, 점선 hn6으로 나타낸 바와 같이, 대응하는 액세스 유닛의 재생 시작 시간을 어드레스와, 액세스 유닛의 헤드 I-픽쳐의 사이즈(I-사이즈)에 대응하여 나타낸다. 액세스 유닛의 재생 시작 시간은 액세스 유닛의 헤드에 위치한 픽쳐 데이터의 타임스탬프(presentation timestamp)로 표시된다. 또한, 액세스 유닛의 어드레스는 TS 패킷의 시리얼 번호(Source packet Number 또는 "SPN")로 표시된다. 가변-길이 코딩 압축 포맷이 적용되기 때문에, GOP를 포함하는 액세스 유닛의 사이즈와 재생 시간이 균일하지 않은 경우라도, 이 액세스 유닛의 엔트리를 참조하여 임의의 재생 시간으로부터 이 재생 시간에 대응하는 액세스 유닛의 픽쳐 데이터로의 선두 검색을 하는 것이 가능하다. 또한, XXX.CPLI의 파일명 "XXX"는 클립 정보가 일치하는 AV 클립과 동일한 이름을 사용한다. 환언하면, 도 8의 클립 정보의 파일명은 "XXX"로, AV 클립(XXX.M2TS)과 일치한다. 이로써, 클립 정보의 설명을 완결한다. 플레이리스트 정보는 다음에 설명한다.
YYY.MPLS(플레이리스트 정보)는 재생 경로 정보인 플레이리스트를 구성하는 테이블로, 다수의 플레이아이템 정보(PlayItem information #1, #2, #3, ..., #n), PlayItem 정보 번호(Number)를 포함한다. 도 9는 PL 정보의 내부 구조를 보여준다. PlayItem 정보는 플레이리스트를 구성하는 하나 이상의 재생 논리 영역을 정의하는 포인터 정보이다. PlayItem 정보의 구조는 점선 hs1에 의해 강조된다. 점선 hs1으로 나타낸 바와 같이, PlayItem 정보는 재생 구간의 인-포인트(In-point)와 아웃-포인트(Out-point)가 속하는 AV 클립에 관련된 재생 구간 정보의 파일명을 나타내는 "Clip_information_filename", AV 클립을 부호화하는데 이용된 부호화 포맷을 나타내는 "Clip_codec_identifier", 재생 구간의 시작을 나타내는 시간 정보인 "In_time", 및 재생 구간의 끝을 나타내는 시간 정보인 "Out_time"으로 구성된다.
PlayItem 정보의 특징은 그 표기법에 있다. 즉, EP_map을 참조 테이블로 이용하는 간접 참조의 형식으로 재생 구간이 정의된다. 도 10은 PL 정보를 이용한 간접 참조를 도식화하고 있다. 도 10의 AV 클립은 다수의 액세스 유닛으로 구성된다. 클립 정보의 EP_map은, 화살표 ay1, ay2, ay3, 및 ay4로 나타낸 바와 같이, 액세스 유닛의 섹터 어드레스를 지정한다. 도 10의 화살표 jy1, jy2, jy3, 및 jy4는 PlayItem 정보를 이용한 액세스 유닛의 참조를 도식적으로 보여준다. 환언하면, 이것은 PlayItem 정보(jy1, jy2, jy3, jy4)에 의한 참조가, AV 클립에 포함된 액세스 유닛의 어드레스가 EP_map을 통하여 지정되는 간접 참조를 포함한다는 것을 보여준다.
PlayItem 정보, 클립 정보 및 AV 클립의 조합으로 형성되는 BD-ROM 상의 재생 구간은 "플레이아이템(PlayItem)"이라 한다. PL 정보, 클립 정보, 및 AV 클립의 조합으로부터 형성되는 BD-ROM 상의 재생 단위는 "플레이리스트"(약칭하여 "PL")라 한다. BD-ROM에 기록된 영화작품은 이러한 논리적 재생 단위(PL)로 구성된다. BD-ROM 상의 영화작품이 논리적 재생 단위로 구성되기 때문에, 본편 영화작품과 대비되도록 어떤 캐릭터만이 등장하는 장면들을 지정하는 PL을 정의함으로써 이 장면들로 이루어진 영화작품을 쉽게 제작할 수 있다. 도 11은 도 10에 나타낸 PL(PL 정보 #1)과 다른 PL(PL 정보 #2)이 정의되는 경우의 예를 보여준다.
정적 시나리오의 가장 큰 장점은, PL 정보의 다른 부분을 정의함으로써 영화작품의 다양성을 간단하게 증가시킬 수 있기 때문에, 영화제작자의 표현의 폭을 넓힐 수 있다는 것이다.
PL과 플레이아이템 이외에, BD-ROM에 챕터(Chapter)라는 재생 단위가 있다. 챕터는 하나, 둘 또는 그 이상의 플레이아이템으로 구성된다.
또한, PL 정보의 파일명 "YYY"는 BD-ROM의 PL 정보에 첨부된 3자릿수 식별번호를 추상화하고 있다. 즉, 도 11의 PL 정보는 식별번호 "YYY"를 이용하여 고유하게 식별된다. PL 정보의 식별번호를 "YYY"로 표현하는 것은, 이 식별번호가 AV 클립 및 클립 정보의 식별번호 XXX에 대해 다른 번호 체계라는 것을 나타낸다(여기서 이용되는 3자릿수 번호는 단지 예시이며, 어떠한 다른 자릿수일 수 있다).
이로써, 정적 시나리오에 대한 설명을 완결하고, 동적 시나리오가 다음에 설명된다.
동적 시나리오
동적 시나리오는 AV 클립에 관련한 재생제어 절차를 보여주는 명령 열이다. 동적 재생제어 절차는 장치에 관련하여 사용자 조작에 대응하여 변화하며, 특성상 컴퓨터 프로그램과 유사하다. 여기서, 동적 재생제어는 두 가지 모드를 갖는다. 두 가지 모드 중 하나는 BD-ROM 상에 기록된 비디오 데이터를 재생하기 위한 것(정상 모드; normal mode)이고, 다른 모드는 AV 장치에 독특한 재생 환경에서 BD-ROM 상에 기록된 비디오 데이터의 부가가치를 향상시키기 위한 것(개선 모드; enhanced mode)이다. 도 12는 레이어 모델의 제 4 층의 재생 모드를 보여준다. 하나의 정상 모드와 두 개의 개선 모드가 도 12의 제 4 층에 도시된다. MOVIE 모드(MOVIE mode)로 불리는 정상 모드는 DVD 같은 환경을 위한 재생 모드이다. 두 개의 개선 모드 중에서, Java 모드(JAVA mode)로 불리는 첫 번째 모드는 주로 자바 가상 머신과 함께 이용되는 재생 모드이다. 두 번째 개선 모드는, Browser 모드(Browser mode)로 불리며, 주로 브라우저와 함께 이용된다. 제 4 층에 세 가지 모드(즉, MOVIE 모드, Java 모드 및 Browser 모드)가 있기 때문에, 동적 시나리오가 실행될 수 있는 모드를 기술하는 것이 바람직하다. DVD 지향 명령과 아주 유사한 명령을 이용하여 제어 명령을 기술하고자 할 때, MOVIE 모드 재생제어 절차는 바람직하게 기술된다. 이러한 방법으로, 기존의 DVD 재생장치의 명령과 아주 닮은 재생명령을 재생장치가 실행하도록 할 수 있다. 제어 절차가 페이지 기술 언어를 이용하여 서술될 때, Browser 모드 재생제어 절차는 바람직하게 서술된다. 이와 같이, 네트워크 사이트에 액세스하고, 파일을 다운로드하는 등을 위해 제어 절차를 서술하는 것이 가능하다. 도 4의 ZZZ.CLASS는 Java 모드 동적 시나리오이다. ZZZ.HTM은 Browser 모드 동적 시나리오이고, ZZZ.MOVIE는 MOVIE 모드 동적 시나리오이다.
MOVIE 모드 동적 시나리오
다음의 설명은 MOVIE 모드의 동적 시나리오에 관한 것이다. MOVIE 오브젝트(ZZZ.MOVIE)는 DVD 재생장치에서 이용되는 것과 유사한 명령으로 기술되는 동적 시나리오이다. MOVIE 오브젝트는 PL 재생을 지시하는 재생 명령, Pl 재생에 앞서 실행되는 명령(프리-명령; pre-command), 및 PL 재생 이후에 실행되는 명령(포스트-명령; post-command)으로 구성된다. 하나 이상의 동적 시나리오와 동적 시나리오에서 그 재생이 지시된 PL을 쌍으로 결합한 것이 타이틀로 알려져 있다. 타이틀은 BD-ROM 상의 전체 영화작품에 대응하는 단위이다. 이하에서 "MOVIE 오브젝트"는 때로 "M-OBJ"로 약칭되는 것에 유의해야 한다.
시나리오를 기술하는 테크닉
상기의 동적 시나리오는 제 3 층(정적 시나리오)에서 제공되는 함수를 이용하여 기술할 수 있다. 다음의 설명은 제 3 층(정적 시나리오)에서 제공되는 함수에 관한 것이다.
(a) 재생 함수: 제 2 인수에 의해 지정된 위치로부터 제 1 인수에 의해 지정된 플레이리스트의 재생을 시작
포맷: PlayPL(제 1 인수, 제 2 인수)
제 1 인수는 플레이리스트의 번호를 이용하여 재생을 위한 PL을 지정할 수 있다. 제 2 인수는 PL에 포함된 플레이아이템, 임의 시간, PL의 챕터 및 마크를 이용하여 재생 시작위치를 지정할 수 있다.
플레이아이템을 이용하여 재생 시작위치를 지정하는 PlayPL 함수는 "PlayPLatPlayitem()"라고 하고, 챕터를 이용하여 재생 시작위치를 지정하는 PlayPL 함수는 "PlayPLatChapter()"라고 하며, 시간 정보를 이용하여 재생 시작위치를 지정하는 PlayPL 함수는 "PlayPLatSpecified Time()"라고 한다.
(b) 재생장치의 상태-취득 및 상태 설정을 위한 함수
재생장치의 상태는 32개의 개별 플레이어 상태 레지스터(이 레지스터들의 설정값은 시스템 파라미터(SPRM)라 한다)와, 32개의 개별 범용 레지스터(이 레지스터들의 설정값은 일반 파라미터(GPRM)라 한다)에 나타나 있다.
MOVIE 오브젝트, Java 오브젝트, 및 WebPage 오브젝트는, 예를 들어, 다음의 함수 (i) 내지(iv)를 이용하여 이 레지스터들에 값을 설정하고 이 레지스터들로부터 값을 취득할 수 있다.
(i) "플레이어 상태 레지스터의 값을 얻는" 함수
형식: Get value of Player Status Register(인수)
이 함수는 인수에 의해 지정된 플레이어 상태 레지스터의 설정값을 취득한다.
(ii) "플레이어 상태 레지스터의 값을 설정하는" 함수
형식: Set value of Player Status Register(제 1 인수, 제 2 인수)
이 함수는 제 2 인수에 의해 지정된 값이 제 1 인수에 의해 지정된 플레이어 상태 레지스터에 설정되도록 한다.
(iii) "범용 레지스터의 값을 얻는" 함수
형식: Get value of General Purpose Register(인수)
이 함수는 인수에 의해 지정된 범용 레지스터의 설정값을 취득한다.
(iv) "범용 레지스터의 값을 설정하는" 함수
형식: "Set value of General Purpose Register(제 1 인수, 제 2 인수)
이 함수는 제 1 인수에 의해 지정된 범용 레지스터에 제 2 인수에 의해 지정된 값을 설정하도록 한다.
플레이어 상태 레지스터의 설정값(SPRM)은 다음의 의미를 갖는다. 이하에서 "SPRM(x)" 표기는 x번째 플레이어 상태 레지스터의 설정값을 의미한다.
SPRM(0) : 예약
SPRM(1) : 디코딩을 목표로 하는 오디오 스트림의 스트림 번호
SPRM(2) : 디코딩을 목표로 하는 그래픽스 스트림의 스트림 번호
SPRM(3) : 사용자가 설정한 각도를 나타내는 번호
SPRM(4) : 현재 재생을 목표로 하는 타이틀 번호
SPRM(5) : 현재 재생을 목표로 하는 챕터 번호
SPRM(6) : 현재 재생을 목표로 하는 PL 번호
SPRM(7) : 현재 재생을 목표로 하는 플레이아이템 번호
SPRM(8) : 현재 재생시간을 나타내는 시간 정보
SPRM(9) : 네비게이션 타이머의 카운트 값
SPRM(10) : 현재 선택 상태에 있는 버튼 번호
SPRM(11)-(12) : 예약
SPRM(13) : 사용자에 의한 연령 레벨의 설정
SPRM(14) : 재생장치의 비디오 재생에 관련된 설정
SPRM(15) : 재생장치의 오디오 재생에 관련된 설정
SPRM(16) : 재생장치의 음성 설정을 나타내는 언어 코드
SPRM(17) : 재생장치의 자막 설정을 나타내는 언어 코드
SPRM(18) : 메뉴를 표현하기 위한 언어 설정
SPRM(19) : 예약
이들 SPRM 중에서, SPRM(4)는 타이틀을 메뉴 조작을 통하여 사용자가 선택할 때 갱신된다. SPRM(5)-(7)은 현재 재생 시간이 앞으로 이동할 때마다 갱신된다. 즉, 현재 재생 시간이 하나의 플레이아이템에서 다른 플레이아이템으로 이동하는 경우, SPRM(7)은 갱신되고, 하나의 PL이 다른 PL로 스위칭되는 경우, SPRM(6)은 갱신되며, 하나의 챕터가 다른 챕터로 스위칭되는 경우, SPRM(5)이 갱신된다.
이러한 방법으로, PL에서 재생되고 있는 플레이아이템 및 챕터뿐만 아니라 재생되고 있는 타이틀과 PL도 SPRM(4)-(7)을 참조함으로써 드러난다.
현재 재생 시간(즉, 시점)을 보여주는 시간 정보인 SPRM(8)은, AV 클립에 속하는 픽쳐 데이터가 표시될 때마다 갱신된다. 즉, 재생장치가 새로운 픽쳐 데이터를 표시하면, SPRM(8)은 새로운 픽쳐 데이터의 표시 시작 시간(Presentation Time)을 나타내는 값으로 갱신된다.
Java 오브젝트와 WebPage 오브젝트는, "Get value of Player Status Register" 함수와 "Get value of General Purpose Register" 함수를 이용하여 플레이어 상태 레지스터를 참조함으로써 재생장치의 상태를 상세하게 알 수 있다.
(c) 제 3 레벨(정적 시나리오)로부터 제공되는 함수를 프로그래밍하고 있지 않더라도, 하나의 동적 시나리오에서 다른 동적 시나리오로의 분기도 존재한다. 하나의 동적 시나리오에서 다른 동적 시나리오로의 분기를 실행하기 위한 함수는 다음의 JMP와 CALL 함수를 포함한다.
JMP 함수
형식: JMP 인수
CALL 함수
형식: CALL 인수
JMP 함수는 동작 중에 현재의 동적 시나리오를 버리고, 인수에 의해 지정된 분기-대상 동적 시나리오를 실행하기 위한 분기이다. JMP 명령은 분기-대상 동적 시나리오를 직접 지정하는 직접 참조 명령과, 분기-대상 동적 시나리오를 간접적으로 지정하는 간접 참조 명령을 포함한다.
CALL 함수는, 인수에 의해 지정된 분기-대상 동적 시나리오가 현재의 동적 시나리오의 동작을 중지한 후 동작하도록 하고, 이후 분기-대상 동적 시나리오가 종료되면 중지된 시나리오의 동작을 재개하도록 하는 분기이다. Resume 명령은 CALL 함수의 분기-대상을 형성하는 동적 시나리오의 끝에 위치한다. 소위 서브루틴의 Return 명령인 Resume 명령은 CALL 함수의 실행에 기인하여 중지된 상태에 있는 동적 시나리오를 다시 활성화하기 위한 것이다. JMP 명령과 같이, CALL 명령은 분기-대상 동적 시나리오를 직접 지정하는 직접 참조 명령과, 분기-대상 동적 시나리오를 간접적으로 지정하는 간접 참조 명령을 포함한다.
이로써, 제 3 층(정적 시나리오)에 의해 제공되는 함수와 변수에 대한 설명을 완결한다.
도 13은 MOVIE 오브젝트의 내부 구조를 나타낸다.
도 13에 나타낸 MOVIE 오브젝트는 속성 정보와 명령 열을 포함한다. 속성 정보는 resume_intension_flag, menu_call_mask, 및 Title_search_mask를 포함한다.
"resume_intension_flag"는 메뉴 호출이 요청될 때 MOVIE 오브젝트가 어떤 제어를 수행해야 하는지를 나타낸다. resume_intension_flag가 오프(OFF)이면, 사용자가 메뉴 호출을 요청할 때 상태-설정 루틴이 호출된다. 이 시점에서, 상기한 재개 동작은 수행되지 않기 때문에, 현재 실행되고 있는 MOVIE 오브젝트는 폐기된다. 현재 MOVIE 오브젝트가 재생장치에서 폐기되면, 재생장치에 의한 재생이 다시 시작될 필요가 있다. 재생을 다시 시작할 때 어떤 재생 위치로 되돌아갈지에 대한 두 가지 접근 방법이 있다. 하나의 방법으로, 분기 바로 전의 현재 MOVIE 오브젝트의 상태로부터 재생을 다시 시작하는 것이다.
*다른 방법으로, 재생장치가 이미 명령의 일부를 실행하였을 때, 현재의 MOVIE 오브젝트를 구성하는 다수의 명령들의 선두로부터 재생을 다시 시작하는 것이다. 전자의 접근 방법은 분기 전 상태를 다시 생성하는데 복잡한 처리를 포함하기 때문에, 본 발명은 후자의 접근 방법을 적용한다.
재생을 다시 시작하는 후자의 접근 방법은 현재의 MOVIE 오브젝트의 실행 위치를 나타내는 파라미터와 현재의 재생 위치를 나타내는 파라미터를 초기화함으로써 수행된다. 즉, 재생 위치를 나타내는 SPRM(5)-(8)은, 메뉴 호출의 결과로 상태-설정 루틴으로 분기할 때 초기화된다. 초기화 이후에 SPRM(4)-(8)이 보관되면, SPRM(4)-(8)은, 상태-설정 루틴이 종료된 후 수행되는 복구 처리 중에 최초의 레지스터에 다시 설정될 수 있다. SPRM(5)-(8)이 초기화되었기 때문에, 재생장치는 다시 설정된 값을 이용하여 재생을 다시 시작한다.
반면에, resume_intension_flag이 온(ON)이면, 메뉴-호출 이용을 위한 MOVIE 오브젝트는 현재의 MOVIE 오브젝트를 일시중지한 후 SPRM을 보관하는 것으로 점프한다. 메뉴-호출 이용을 위한 MOVIE 오브젝트의 처리가 종료하였을 때, 현재의 MOVIE 오브젝트를 이용하는 재생은 SPRM을 복구한 후 재개된다. 도 1a 내지 1c에 나타낸 언어 크레디트를 실현하는 MOVIE 오브젝트에 대해, 바람직하게 resume_intension_flag은 오프로 설정된다. 이는, 재생장치가 PL#2에 있을 때 메뉴 호출이 요청되고 언어 설정이 영어에서 일본어로 변경되면, 재생장치는 재생 재개 위치를 잃어 버리기 때문이다.
제작자는, 상기한 바와 같이 재생 위치를 잃어 버릴 위험성이 있는 MOVIE 오브젝트의 속성 정보의 resume_intension_flag를 오프로 설정함으로써 재생이 수행될 때 재생장치에서 발생하는 동작 에러를 방지할 수 있다. 이러한 방법으로, 제작자는 SPRM 설정에 따라서 재생제어를 수행하는 MOVIE 오브젝트를 제작하는데 있어 안심할 수 있다.
resume_intension_flag를 이용한 재생 재개 또는 재시작이 MOVIE 오브젝트 단위로 가능하기 때문에, 하나 또는 두 개의 명령을 포함하는 MOVIE 오브젝트를 제작하고 이 MOVIE 오브젝트를 분기함으로써 하나 또는 두 개의 명령 단위로 재생 재개 또는 재시작이 수행되도록 하는 것이 가능하다. 즉, 바람직하게, MOVIE 오브젝트는 재생 재개 또는 재시작이 실행되는 단위에 따라 제작된다. 이로써 resume_intension_flag에 대한 설명을 완결한다.
"menu_call_mask"는 메뉴 호출을 마스크(mask)할지를 나타내는 플래그이다. 사용자에 의한 메뉴 호출 요청은 이 플래그가 오프인 경우 허용되고, 온인 경우 금지된다.
"Title_search_mask"는 타이틀 검색을 마스크할지를 나타내는 플래그이다. 사용자에 의한 타이틀 검색 요청은 이 플래그가 오프인 경우 허용되고, 온인 경우 금지된다. 예를 들어, 현재의 MOVIE 오브젝트가 트레일러(미리보기 비디오)를 재생하기 위한 것이거나 FBI에 의한 경고 비디오인 경우, MOVIE 오브젝트의 Title_search_mask를 온으로 설정함으로써 사용자가 이 비디오의 내용을 보고 이해하는 것을 확인할 수 있다.
resume_intension_flag와 Title_search_mask의 구체적인 설정의 예시가 이하 설명된다. 도 14a-14c는 이 예시 설명으로부터 기인하는 언어 크레디트와 재생제어를 실현하는 경우의 MOVIE 오브젝트에 대한 예시적인 설명을 나타낸다.
도 14a에 나타낸 MOVIE 오브젝트 설명의 예에서, 도 1a에 나타낸 MOVIE 오브젝트 설명의 예시에 resume_intension_flag, menu_call_mask, 및 Title_search_mask가 부가되었다. Resume_intension_flag, menu_call_mask, 및 Title_search_mask는 모두 "0"으로 설정되었다. 도 14b는 도 14a에 나타낸 MOVIE 오브젝트에 기초한 재생제어를 나타낸다. 도 14a의 예시적인 설명은, 재생장치의 언어 설정(SPRM(0))이 "일본어"인 경우 PL#4가 재생되고(Link(PL#4, PI#1)), 재생장치의 언어 설정이 "일본어" 이외의 다른 것인 경우 PL#2가 재생되는(Link(PL#2, PI#1)) 조건부 재생을 실현한다. 여기서, 재생장치의 언어 설정이 영어인 경우, 재생장치는 PL#2로 진행한다.
재생장치가 PL#2가 있을 때 사용자가 메뉴 호출을 요청한다고(rg1) 가정하자. 이 경우, 주어진 MOVIE 오브젝트의 resume_intension_flag가 "0"으로 설정되어 있기 때문에 재생을 다시 시작하는 도 15a-15c의 처리가 수행된다. 도 15a-15c는 재생을 다시 시작하는 재생장치의 처리를 보여준다. Resume_intension_flag가 "0"으로 설정된 경우, 재생위치를 나타내는 SPRM(4)-(8)은 SPRM(5)-(8)을 초기화한 후(도 15a) 메모리에 보관된다(도 15b). 상태-설정 루틴(rc1)으로의 분기(br1)는 SPRM(4)-(8)이 보관된 후 실행된다. 사용자가 이 상태-설정 루틴을 이용하여 영어로부터 일본어로 언어 설정을 변경한다고 가정하자(도 15b의 영어 → 일본어). 상태-설정 루틴의 처리가 종료하면, 재생장치는 메모리에 보관된 SPRM(4)-(8)을 레지스터에 되돌려진다. 재생 위치를 나타내는 초기화된 SPRM(4)-(8)이 레지스터에 설정되기 때문에, 재생 위치는 도 14b의 타이틀의 헤드로 설정된다. 그 결과, 타이틀의 헤드로부터의 재시작이 실행된다. 또한, 도 14c 에서, 재생장치가 현재 재생되는 타이틀의 번호를 나타내는 SPRM(4)를 초기화하지 않았기 때문에, 이 재생 위치는 타이틀 헤드로 설정된다. 이 타이틀 번호가 초기화되면, 사용자로 하여금 타이틀을 선택하도록 하는 타이틀 메뉴로부터 재생이 재시작된다.
다른 예시적인 설명이 도 16a-16c에 나타나 있다.
도 16a-16c는 질의로부터 기인하는 분기와 이 예시적인 설명으로부터 기인하는 재생제어를 실현하는 경우의 MOVIE 오브젝트의 예시적인 설명을 나타낸다. 도 16a에 나타낸 MOVIE 오브젝트의 예시적인 설명은, 도 16a가 다이얼로그 재생제어를 실현하고 반면에 도 14는 언어 크레디트를 실현한다는 점에서 도 14a에 나타낸 것과 다르다. 도 16a에서, PL#1은 질의 장면이고, PL#2와 PL#4는 응답 (1)과 (2)가 각 질의에 대응하여 선택될 때 나타나는 장면이다. 선택한 어떠한 응답도 GPRM(0)에 설정된다. IF 정의문으로부터 기인하는 재생 스위칭은 GPRM(0)에 따라 수행된다. 단순히 범용 레지스터 값인 GPRM(0)은 상태-설정 루틴의 설정에 대응하여 갱신되지 않는다. 또한, 이 예시적인 설명에서, resume_intension_flag는 "1"로 설정된다.
도 16b는 상기한 MOVIE 오브젝트에 기초한 재생제어를 나타낸다.
재생장치가 PL#2에 있을 때 사용자가 메뉴 호출을 요청한다고 가정하자. 이 경우, 재생장치는 도 15a 처리를 생략하고 도 15b 처리를 수행한다. 이는 주어진 MOVIE 오브젝트의 resume_intension_flag가 "1"로 설정되어 있기 때문이다. 즉, 재생 위치를 나타내는 SPRM(4)-(8)은 레지스터로부터 메모리에 보관된다. 상태-설정 루틴(rc1)으로의 분기(br1)는 SPRM(4)-(8)이 보관된 후에 실행된다. 사용자가 이 상태-설정 루틴을 이용하여 언어 설정을 영어에서 일본어로 변경한다고 가정하자(도 16b의 영어 → 일본어). 상태-설정 루틴이 종료하면, 재생장치는 메모리로부터 레지스터로 SPRM(4)-(8)을 복구하는 처리를 실행한다. 복구의 결과로 SPRM(4)-(8)이 레지스터에 설정되기 때문에, 재생 위치는 재생이 과거의 재생 위치로부터 재개되는 위치이다.
다른 예시적인 MOVIE 오브젝트가 도 17a-17c에 도시된다. 재생장치의 연령 레벨 설정인 SPRM(13)이 도 17a에 나타낸 MOVIE 오브젝트에서 "kids"인 경우(if (SPRM(13)=="kids")), PL#4(Link(PL#4, PI#1))이 재생되고, 재생장치의 연령 레벨이 "kids" 이외의 다른 설정이면(즉, "else"), PL#2(Link(PL#2, PI#1)가 재생된다. 여기서, 이른바 연령 제한(parental lock)을 실행하는 것이 가능하며, 이는 PL#2와 PL#4가 각각 과격 장면과 어린이용 장면이라고 가정할 때 SPRM(13) 설정에 따라 과격 장면과 어린이용 장면 사이에서 재생이 스위치되기 때문이다. SPRM(13)이상태-설정 루틴을 이용하여 변경될 수 있기 때문에, 속성 정보의 resume_intension_flag는 "0"으로 설정된다.
도 17b는 상기한 MOVIE 오브젝트에 의한 재생제어를 보여준다. 이 재생제어는 재생장치의 SPRM(13)은 "kids"로 설정하기 위한 것이다. 따라서 재생장치의 SPRM(13)도 "kids"를 나타내도록 설정되기 때문에 PL#4가 재생된다(Link(PL#4, PI#4)).
재생장치가 PL#4에 있을 때 메뉴 호출이 요청된다고 가정하자. 도 17a에서 resume_intension_flag는 "0"으로 설정되기 때문에, SPRM(4)-(8)은 SPRM(5)-(8)을 초기화한 후(도 15a) 보관된다(도 15b). 이어 상태-설정 루틴으로의 분기가 실행된다.
여기서, 이 상태-설정 루틴에서 SPRM(13)을 갱신하려는 동작이 수행되고 상태-설정 루틴이 완료하였다고 가정하자. 상태-설정 루틴의 완료 후, SPRM(4)-(8)이 재생장치의 레지스터에 되돌려졌기 때문에, 재생 위치는 타이틀의 헤드로 설정되고 이 위치로부터 재생이 재시작된다(도 17c).
상기한 도 14, 16 및 17에서 보여준 예시들은 resume_intension_flag 설정을 포함하는 예시들이다. 도 18a-18c는 MOVIE 오브젝트에 설정되어 있는 Title_search_mask의 예를 보여준다.
도 18a의 MovieObject(0)는 도 14a에 나타낸 MovieObject(1)에 앞서 실행되는 MOVIE 오브젝트이다. 이 MOVIE 오브젝트에서, PL#6는 프리뷰(1)이고, PL#7는 프리뷰(2)이며, PL#5는 사용자가 PL#6와 PL#7 중 하나를 선택하도록 하는 비디오이다. 프리뷰의 어느 것이 선택되어도 GPRM(0)에 설정된다. IF 정의문에 의한 재생 스위칭은 GPRM(0)에 따라 수행된다. Jmp Movie Object(1)는 스위칭 후에 실행되는 분기명령이고, MovieObject(1)이 분기 대상이다. MovieObject(1)의 Title_search_mask이 "1"로 설정되어 있기 때문에, 재생제어가 MOVIE 오브젝트에 의해 수행되고 있는 동안 타이틀 검색 요청은 마스크된다. 반대로, 프리뷰(1)와 (2) 중 하나가 시청되면, 타이틀 검색은 활성화될 것이다(도 18b). 1-비트 Title_search_mask를 단순히 설정함으로써, "프리뷰(1)과 (2) 중 하나가 시청될 때까지 타이틀 검색을 금지하도록" 제어가 실현되기 때문에, 제어를 표시하는 자유가 증가된다. 도 18b에서와 동일한 재생제어가 일본 특허출원 제2856363호를 이용하여 수행될 때와 비교를 해보자. 일본 특허출원 제2856363호에 따라서, 사용자 조작의 허용가능성은 각 재생 경로를 고려하여 설정되고, 이는 선택적으로 재생될 수 있는 많은 수의 프리뷰가 있을 때 사용자 조작을 금지하도록 설정된 재생 경로의 수가 프리뷰의 수와 동일하여야 한다는 것을 의미한다. 이와 같이, 금지되어야 하는 재생경로의 수가 재생가능한 프리뷰의 수에 따라 증가하며, 이에 따라 복잡함을 가져온다.
반면에, 도 18a-18b의 MOVIE 오브젝트에 의하면, 프리뷰가 재생될 때까지 타이틀 검색을 거부하는 재생제어는, 선택적으로 재생가능한 프리뷰의 수가 많은 경우에도 MOVIE 오브젝트의 Title_search_mask를 "1"로 설정함으로써 간단히 표시될 수 있다.
이러한 재생제어의 간단한 표시 때문에, 이 실시예에 속하는 MOVIE 오브젝트는 타이틀을 배포할 때 효과적이다.
이로써, 본 발명에 속하는 기록매체의 일 실시예에 관한 설명을 끝마친다. 다음의 설명은 본 발명에 속하는 재생장치에 일 실시예에 관한 것이다. 본 발명에 속하는 재생장치는 두 메인부, 즉 시스템 LSI와 드라이브 디바이스를 포함하고, 이 부분들을 캐비넷과 장치의 기판에 장착함으로써 산업적으로 제조할 수 있다. 시스템 LSI는 재생장치의 기능을 실행하는 다양한 처리 유닛을 집적한 집적회로이다. 따라서, 제조된 재생장치는 DVD 드라이브(1), 트랙 버퍼(2), PID 필터(4), 비디오 디코더(5), 픽쳐 플레인(6), 오디오 디코더(7), 그래픽스 플레인(8), 그래픽스 디코더(9), 가산기(10), 정적 시나리오 메모리(11), 재생제어 엔진(12), 플레이어 레지스터(13), 백업 메모리(14), 동적 시나리오 메모리(15), DVD-라이크 모듈(16), Java 모듈(17), BROWSER 모듈(18), UO 컨트롤러(19), 모듈 관리자(20), 및 디스패처(dispatcher; 21)로 구성된다.
BD-ROM 드라이브(1)는 BD-ROM의 로딩/배출을 수행하고, 로딩된 BD-ROM을 액세스한다.
트랙 버퍼(2)는 선입 선출(first-in first-out) 베이스로 BD-ROM으로부터 판독한 액세스 유닛을 저장하는 FIFO 메모리이다.
PID 필터(4)는 트랙 버퍼(2)로부터 액세스 유닛을 검색하고 액세스 유닛으로 구성된 TS 패킷을 PES 패킷으로 변환한다. 변환의 결과로 취득한 원하는 PES 패킷이 비디오 디코더(5), 오디오 디코더(7), 및 그래픽스 디코더(9) 중 어느 하나로 출력된다. 출력은, PES 패킷의 ID(PID)를 참조하면서 수행된다. 그 PID가 비디오를 나타내는 PES 패킷은 비디오 디코더(5)로 출력되고, 그 PID가 오디오를 나타내는 PES 패킷은 오디오 디코더(7)로 출력되며, 그 PID가 그래픽스를 나타내는 PES 패킷은 그래픽스 디코더(9)로 출력된다.
비디오 디코더(5)는 PID 필터(4)로부터 출력된 다수의 PES 패킷들을 디코딩함으로써 얻어지는 비압축-포맷의 픽쳐를 픽쳐 플레인(6)에 기입한다.
픽쳐 플레인(6)은 비압축-포맷의 픽쳐를 저장하기 위한 메모리이다.
오디오 디코더(7)는 PID 필터(4)로부터 출력된 PES 패킷을 디코딩함으로써 얻어진 비압축-포맷의 음성 데이터를 출력한다.
그래픽스 디코더(9)는 그래픽스 스트림을 디코딩함으로써 얻어지는 라스터 이미지를 그래픽스 플레인(8)에 기입한다. 자막, 메뉴 등은 그래픽스 스트림을 디코딩한 결과로 화면에 나타난다.
가산기(10)는 그래픽스 플레인(8)에 펼쳐진 이미지와 픽쳐 플레인(6)에 저장된 비압축-포맷의 픽쳐 데이터를 합성한 결과를 출력한다.
정적 시나리오 메모리(11)는 현재의 PL 정보와 클립 정보 등을 저장하기 위한 메모리이다. 현재의 PL 정보는 BD-ROM에 기록된 다수의 PL 정보들 중에서 현재 처리하고자 하는 대상 부분이다. 현재 클립 정보는 BD-ROM에 기록된 다수의 클립 정보들 중에서 현재 처리하고자 하는 대상 부분이다.
재생제어 엔진(12)은, 재생장치의 AV 재생 기능(1), 플레이리스트 재생 기능(2), 및 상태-취득/설정 기능(3)과 같은 다양한 기능을 실행한다. DVD와 CD 플레이어에서 발견되는 것과 유사한 기능 그룹으로 구성된, 재생장치의 AV 재생 기능은 재생개시(Play), 재생정지(Stop), 일시정지(Pause-On), 일시정지 해제(Pause-Off), 스틸 기능 해제(Still-Off), 포워드 재생(패스트)(Forward Play(fast)), 리버스 재생(패스트)(Reverse Play(fast)), 음성 변경(Audio Change), 자막 변경(Subtitle Change), 및 각도 변경(Angle Change)와 같은 사용자 처리 조작에 대응하는 실행을 의미한다. PL 재생 기능은 재생, 정지, 및 PL 정보에 따른 다른 AV 재생 기능의 실행을 의미한다. 재생제어 엔진(12)은 이러한 PL 재생 기능을 실행함으로써 레이어 모델의 제 3 층의 기능(정적 시나리오에 기초한 제생제어)을 실행한다. 한편, 재생제어 엔진(12)은 DVD-라이크 모듈(16), Java 모듈(17), 및 BROWSER 모듈(18)로부터의 기능 호출에 따라 기능 (2) 내지 (3)을 실행한다. 즉, 재생제어 엔진(12)은 사용자 조작에 기인한 명령과 레이어 모델의 상위층으로부터의 명령에 응답하여 재생제어 엔진(12)의 기능을 실행한다.
플레이어 레지스터(13)는 32개의 시스템 파라미터 레지스터와 32개의 범용 레지스터를 포함한다. 이 레지스터들의 저장값은 SPRM과 GPRM을 프로그래밍하는데 이용된다. 시스템 파라미터 레지스터와 범용 레지스터는 모듈(16) 내지 (18)과 분리된 재생제어 엔진(12)에 의해 관리되기 때문에, 예를 들어, 스위칭 후에 재생 모드를 실행하는 모듈에 대해 재생 모드의 변경이 발생하는 경우에도 재생제어 엔진(12)의 SPRM(0)-(31)과 GPRM(0)-(31)을 단순히 참조함으로써 재생장치의 재생 상태를 알 수 있다.
백업 메모리(14)는 모듈(16) 내지 (18) 중 하나가 일시정지(Suspend)를 실행할 때 재생장치 레지스터의 저장값을 보관하기 위한 스택 메모리이다. 백업 메모리의 저장값은, 모듈(16) 내지 (18) 중 하나가 동적 시나리오에서 재개(Resume)를 실행할 때 재생장치에 의해 처리되는 레지스터의 저장값으로 복구된다. 레지스터의 저장값은 모듈(16) 내지 (18) 중 하나가 일시정지를 2회 이상 수행하는 경우에 선입 선출 베이스로 저장된다. 저장값의 수가 스택의 슬롯의 수 이상이면, 저장되어 있던 저장값은 겹쳐쓰기 된다. 백업 메모리(14)에 보관된 SPRM은 현재 재생되고 있는 타이틀의 번호(Title Number), 현재 재생되고 있는 챕터 번호, 현재 재생되고 있는 PL 번호(PlayList Number), 현재 재생되고 있는 플레이아이템 번호(PlayItem Number), 선택된 상태의 버튼의 번호(Selected Button), 및 현재 재생시간을 나타내는 시간 정보를 포함한다.
동적 시나리오 메모리(15)는 현재 동적 시나리오를 저장하기 위한 메모리이고, DVD-라이크 모듈(16), Java 모듈(17), 및 BROWSER 모듈(18)에 의해 공동으로 처리된다. 현재 동적 시나리오는 BD-ROM에 기록된 다수의 시나리오들 중에서 현재 처리하고자 하는 대상이 되는 동적 시나리오이다. DVD-라이크 모듈(16)은 MOVIE 모드의 실행 주체인 DVD 가상 플레이어로, 동적 시나리오 메모리(15)에 독출된 현재 MOVIE 오브젝트를 실행한다.
Java 모듈(17)은 Java 가상 머신, 구성 및 프로파일로 형성된 Java 플랫폼이다.
Java 모듈(17)은 동적 시나리오 메모리(15)에 독출된 ZZZ.CLASS 파일로부터 현재 Java 오브젝트를 생성하고, 이 현재 Java 오브젝트를 실행한다. Java 가상 머신은 상기한 Java 오브젝트를 Java 언어를 이용하여 재생장치의 CPU를 위한 네이티브(native) d코드로 변환하고, CPU가 이 네이티브 코드를 실행하도록 한다.
BROWSER 모듈(18)은 Browser 모드의 실행 주체인 브라우저로, 동적 시나리오 메모리(15)에 독출된 현재 Webpage 오브젝트를 실행한다.
UO 컨트롤러(19)는 리모트 컨트롤러, 재생장치의 전면 패널 등과 관련하여 수행된 사용자 조작을 검출하고, 검출된 사용자 조작을 나타내는 정보(이하, "UO 정보"라 한다)를 모듈 관리자(20)에 출력한다.
모듈 관리자(20)는 BD-ROM으로부터 판독된 인덱스 테이블(Index Table)을 보유하고 모드 관리와 분기 제어를 수행한다. 모듈 관리자(20)에 의해 수행되는 모드 관리는 모듈의 할당을 의미한다. 즉, 모듈(16) 내지 (20) 중 어느 것이 어떤 동적 시나리오를 실행하느냐를 관리한다. 모듈 할당의 원칙은 DVD-라이크 모듈(16)이 동적 시나리오를 실행하는 것이다. 이 원칙은 인트라-모드(intra-mode)로부터 기인하는 분기(즉, 동일한 모드 내에서의 분기)의 경우에도 불구하고 유지된다. 예외는 인터-모드(inter-mode) 분기(즉, 모드간 분기)가 발생하는 때이다. MOVIE 오브젝트로부터 Java 오브젝트/Webpage 오브젝트로의 분기가 발생하는 경우, Java 모듈(17)과 BROWSER 모듈(18)은 각각 현재의 오브젝트를 실행한다.
디스패처(21)는 재생장치의 현재의 모드에 적절한 UO만을 선택하고, 선택한 UO를 현재의 모드를 실행하기 위한 모듈로 보낸다. 예를 들어, MOVIE 모드를 실행 중에 화살표 키 또는 UO 활성화 키가 수신되면, 디스패처(21)는 이 UO들을 MOVIE 모드를 실행하는 모듈로 출력한다. 이 UO들은 MOVIE 모드의 메뉴 행위를 위해 요구될 뿐이고, Java와 Browser 모드는 필요로 하지 않는다.
이로써, 재생장치의 구성요소에 대한 설명을 완료한다. 이하 모듈 관리자(20)가 상세하게 설명될 것이다.
모듈 관리자(20)는 도 20 내지 22에 나타낸 처리 절차를 수행하기 위한 프로그램을 범용 CPU가 판독하도록 함으로써 실행될 수 있다. 도 20 내지 22는 모듈 관리자(20)에 의해 수행되는 처리 절차를 보여주는 플로차트가다. 모듈 관리자(20)가 수행하는 분기 제어가 이 플로차트를 참조하여 이하 설명될 것이다. 도 20의 플로차트에서, 모듈 관리자(20)는 인덱스 테이블의 제 1 플레이 인덱스로부터 파일명을 검색한다(단계 S1). 인덱스 테이블은 MOVIE 오브젝트에 관한 집적된 정보이고, 제 1 플레이 인덱스는 BD-ROM 시동 절차를 기술하는 MOVIE 오브젝트를 나타내는 인덱스이다.
일단 파일명이 검색되면, 모듈 관리자(20)는 현재 모드를 MOVIE 모드로 설정하고(단계 S2), 검색된 파일명의 동적 시나리오를 현재의 동적 시나리오로 설정하고(단계 S3), 현재의 동적 시나리오 i를 메모리에 독출하며(단계 S4), 메모리의 현재 동적 시나리오를 실행한다(단계 S5).
단계 S4 내지 S9는 현재 동적 시나리오가 새로이 설정될 때마다 실행된다.
단계 S5 내지 S9는 단계 S6 내지 S9의 처리가 시나리오를 구성하는 각 명령에 대해 반복되는 루프 처리 절차를 형성한다. 플로차트의 "x"는 동적 시나리오를 구성하는 명령 중에 처리 대상을 식별하는 변수이다. 루프 처리는 모듈 관리자(20)가 다음의 처리를 반복하는 것을 포함한다. 즉, 변수 x를 초기화하고(단계 S5), 현재 모드의 모듈이 현재 동적 시나리오 i에 포함된 명령 x를 실행하도록 하고(단계 S6), 단계 S7 내지 S8에 정의된 판정 처리를 수행하며, 이후 단계 S6으로 돌아가기 전에 변수 x를 증가한다(단계 S9). 단계 S6 내지 S9의 처리는 시나리오를 구성하는 모든 명령에 대해 반복된다.
루프 처리의 실행 중에 UO가 발생하면(단계 S7=YES), 모듈 관리자(20)는, 단계 S10 내지 S12의 판정 처리를 통과시킨 후 UO를 현재의 모드를 실행하는 모듈에 출력한다.
단계 S10은 사용자 조작이 메뉴 호출인지를 판정하기 위한 단계이다. 메뉴 호출이면, 모듈 관리자(20)는 단계 S13과 단계 S14의 판정 처리를 통과시킨 후 도 21의 단계 S15와 S16 중 하나의 저장 처리를 수행한다. 그 후, 모듈 관리자(20)는 상태 설정을 수행하기 위한 동적 시나리오를 현재 동적 시나리오 i로 설정하고(단계 S17), 단계 S4로 돌아간다. 단계 S17의 결과로 상태 설정을 수행하기 위한 동적 시나리오가 현재 동적 시나리오로 되었기 때문에, 상태 설정을 위한 동적 시나리오는 단계 S5 내지 단계 S9에서 실행된다.
단계 S13은 현재 동적 시나리오 i의 menu_call_mask가 "1"인지에 대한 판정이다. "1'이면, 모듈 관리자(20)는 어떠한 처리도 없이 도 20의 단계 S8로 복귀한다.
단계 S15는 동적 시나리오 i를 일시정지하고 변수 x와 SPRM(4) 내지 (8)을 백업 메모리(14)에 보관하는 처리이다. 단계 S15는, resume_intension_flag가 "1"인 경우(단계 S14=YES) 실행된다.
단계 S16은 동적 시나리오 i를 일시정지하고, 변수 x와 SPRM(5) 내지 (8)을 초기화한 후 변수 x와 SPRM(4) 내지 (8)을 백업 메모리(14)에 보관하는 처리이다. 단계 S16은, resume_intension_flag가 "0"인 경우(단계 S14=NO) 실행된다.
단계 S11은 사용자 조작이 타이틀 검색을 요청하는지에 대한 판정이다. 타이틀 검색이 요청되면, 모듈 관리자(20)는 단계 S18에서, 동적 시나리오 i의 Title_search_mask가 "1"인지를 판정한다. "1"이면, 모듈 관리자(20)는 단계 S19에서 타이틀 검색을 위한 동적 시나리오를 현재 동적 시나리오 i로 설정한다.
단계 S12는 UO의 디스패치 처리를 실행하기 위한 것이다. UO의 디스패치 처리는, 모듈 관리자(20)가 명령 실행 중에 발생하는 UO가 화살표 키 또는 활성화 키 동작인지를 판정하고(단계 S12), 현재 모드가 MOVIE 모드이면(단계 S20), UO를 현재 모드를 실행하는 모듈로 출력하는 것을 포함한다. 명령 실행 중에 발생한 UO가 화살표 키 또는 활성화 키 동작 이외의 것이면, UO는 현재 모드를 실행하는 모듈로 단순히 출력된다(단계 S26). 명령 실행 중에 발생하는 UO가 화살표 키 또는 활성화 키 동작이고 현재 모드가 MOVIE 모드가 아니면, UO는 모듈로 출력되지 않는다. 이로써, 디스패치 처리에 대한 설명을 완료한다.
단계 S4 내지 S19의 루프를 종료하기 위한 필요조건은 단계 S8에서의 판정이 YES인 것이다. 명령 x가 동적 시나리오의 최종 명령이면(단계 S8=YES), 재개(Resume) 명령이 동적 시나리오 i에서 최종인지에 대한 판정이 수행된다(도 22의 단계 S21).
재개 명령은 재생장치에 호출 소스인 동적 시나리오의 상태-복구를 수행하도록 지시하는 명령이다. 재개 명령은 상태 설정을 위한 동적 시나리오의 종료점(즉, 상태-설정 루틴)에 위치한다.
재개 명령이 동적 시나리오 i의 종료점에 존재하면, 모듈 관리자(20)는 일시정지된 동적 시나리오를 동적 시나리오 i로 설정하고(단계 S22), 동적 시나리오 i의 모드를 현재 모드로 설정하며(단계 S23), 백업 메모리(14)에 보관된 SPRM을 레지스터에 복구하고(단계 S24), 변수 x를 보관된 값으로 되돌려준다(단계 S25).
여기서, SPRM(4)-(8)과 변수 x는, resume_intension_flag가 "1"인 경우, 그 시점까지 재생 위치를 나타내는 값으로 설정된 후 메모리(14)에 보관되기 때문에, 플레이어 레지스터는 단계 S24에서 수행된 복구 처리의 결과로 상태-설정 루틴을 위한 호출에 앞서 재생 위치를 보여준다. 이 값들이 플레이어 레지스터에 설정되어 있기 때문에 타이틀 재생을 재개하는 처리가 수행된다.
반면에, resume_intension_flag가 "0"인 경우, SPRM(5)-(8)과 변수 x가 초기화된 후에 SPRM(4)-(8)과 변수 x가 메모리(14)에 보관되기 때문에, 플레이어 레지스터는 현재 재생되고 있는 타이틀의 재생 개시 위치를 보여준다. 이 값들이 플레이어 레지스터에 설정되어 있기 때문에 타이틀을 재시작하는 처리가 수행된다. 도 20 내지 22의 플로차트에서, 재시작은 현재 재생되고 있는 타이틀로부터 실행되지만, 단계 S16에서 재생 위치를 보여주는 모든 SPRM을 초기화함으로써 전체 BD-ROM에 관련하여 재생이 수행될 수 있다. 이로써, 모듈 관리자(20)가 수행하는 처리 절차에 대한 설명을 완료한다.
상기한 바와 같이, 본 발명에 따르면, 최상위층에서의 메뉴 호출에 속하는 제어 절차는 저부에서 톱부까지 스트림, 재생 경로, 및 동적 시나리오를 포함하는 레이어 모델에 설정된다. 특히, 사용자가 제작하고자 하는 타이틀이 언어 크레디트를 실현하기 위한 것일 때, 메뉴 호출은 승인되지만 재생은 재개되지 않는 제어를 실현하는 것이 가능하다. 그 결과, 같은 스트림과 같은 재생 경로를 갖는 두 가지 타입의 타이틀, 즉 메뉴 호출을 허용하는 타이틀과 메뉴 호출을 허용하지 않는 타이틀을 쉽게 제작할 수 있다. 타이틀의 제작에 있어 재생 경로와 스트림의 수가 증가하지 않기 때문에, 노력을 들이지 않고 다른 제어 절차를 갖는 변형의 수를 증가시킬 수 있다.
실시예 2
실시예 2는 재생장치의 정지와 재시작을 피하도록 한 개선에 관한 것이다. 재생장치의 정지와 재시작은 다음의 3가지 상황 중 어느 하나가 재생장치에 발생한 경우 생긴다.
1) MOVIE 모드에만 응답하는 재생장치에 로드된 Java 모드와 Browser 모드에 응답하여 BD_ROM에 Java 오브젝트 또는 WebPage 오브젝트로의 분기가 일어나는 경우.
2) 존재하지 않는 스트림을 판독하려고 하거나, 존재하지 않는 동적 시나리오로 구성된 타이틀로 분기하려고 하는 경우.
3) Java 오브젝트에 대해 일어나는 에러를 복구하는 것이 가능하지 않은 경우.
정지와 재시작을 피하기 위한 본 발명에 의하면, 예외 처리에서의 이용을 위한 타이틀에 관한 INDEX가 동적 시나리오를 통합/관리하기 위한 정보에 제공된다.
도 4에 나타낸 INFO.BD는 MOVIE 모드, Java 모드, 및 Browser 모드에서 동적 시나리오를 통합/관리하기 위한 정보이다.
도 23a는 INFO.BD의 내부 구조를 보여준다. 도 23a에 나타낸 바와 같이, INFO.BD는 인덱스 테이블을 포함한다. 인덱스 테이블은, 하나의 동적 시나리오에서 다른 동적 시나리오로 분기할 때 참조되는 간접 참조 테이블이고, 다수의 라벨과 일-대-일로 대응하는 인덱스들을 포함한다. 각 인덱스에는 인덱스의 라벨에 대응하는 동적 시나리오의 파일명이 기술된다. 도 23b에 나타낸 바와 같이, 각 파일명은 파일 보디와 확장자를 포함한다. 라벨은 TITLE#1~#m, TITLE#m+1~#n, 및 TITLE#0을 포함한다. 또한, 인덱스 테이블은 3가지 모드의 어느 하나의 동적 시나리오로부터 참조된다. MOVIE 오브젝트에서 Java 오브젝트로의 분기나 MOVIE 오브젝트에서 WebPage 오브젝트로의 분기는 인덱스 테이블을 통해서 일 때만 가능하다. 바꾸어 말하면, MOVIE 오브젝트에서 인덱스 테이블에 인덱스를 갖지 않는 Java 오브젝트나 WebPage 오브젝트로는 분기할 수 없다.
TITLE#1~#m INDEX는 BD-ROM에 들어 있는 첫 번째 내지 m 번째 타이틀에 관한 것이다. 이들 인덱스에는 첫 번째 내지 m 번째 타이틀 번호가 선택될 때 분기 대상이 되는 MOVIE 오브젝트의 파일명이 기술된다. 도 23b는 TITLE#1~#m의 내용을 보여준다. 도 23b에 나타낸 바와 같이, MOVIE 오브젝트의 파일명은 TITLE#1~#m INDEX에 기술된다. 각 파일명은 파일 보디(ZZZ)와 확장자(.MOVIE)를 포함한다.
TITLE#m+1~#n INDEX는 BD-ROM에 들어 있는 m+1 번째 내지 n 번째 타이틀에 관한 것이다. 이 인덱스에는 m+1 내지 n 번째 타이틀 번호가 선택될 때 분기 대상이 되는 WebPage/Java 오브젝트의 파일명이 기술된다. 도 23c는 TITLE#m+1~#n INDEX의 내부 구조를 보여준다. 도 23c에 나타낸 바와 같이, 인덱스 TITLE#m+1~#n의 각각에는 Java 오브젝트의 파일 보디(ZZZ)와 확장자(.CLASS) 또는 WebPage의 파일 보디(ZZZ)와 확장자(.HTM)가 저장된다. 인덱스 포맷은 도 23d에 나타낸 것일 수 있다는 것에 유의해야 한다. 도 23d 포맷의 인덱스는 분기-대상 타이틀의 속성을 나타내는 속성 영역을 가지며, 인덱스는 속성 영역에서 대응하는 분기-대상 타이틀의 동적 시나리오가 MOVIE 모드("00" 설정), Java 모드("01" 설정), 또는 WebPage 모드("10" 설정)인지를 나타내도록 구성되어 있다.
TITLE#0 INDEX는 예외 처리 타이틀에 관한 것이고, MOVIE 모드 시나리오의 파일명을 저장한다. 여기서 기술된 예외 처리는 상기 3가지 상황 중 어느 하나가 발생한 때 실행된다. 개선 모드 실행이 이 3가지 이유의 어느 하나에 대해 가능하지 않은 재생장치는 코어 시스템(core system)이라 한다. 반면에, Java 가상 머신이나 브라우저를 이용하여 프로그램 실행이 가능한 재생장치는 풀 시스템(full system)이라 한다. 코어 시스템과 풀 시스템에 의한 BD-ROM의 간접 참조를 도 24a-24d를 참조하여 이하에 설명한다. 도 24a에 나타낸 바와 같이, BD-ROM에 다수의 동적 시나리오(001.MOVIE, 002.MOVIE, 003.MOVIE, ..., 001.CLASS, 002.CLASS, 003.CLASS)가 기록된 것으로 가정하여 간접 참조에 대해 설명한다. 도 24b는 도 24a에 나타낸 다수의 동적 시나리오가 BD-ROM에 기록될 때 인덱스 테이블의 예시적인 설명을 보여준다. 도 24b에 나타낸 예시적인 설명에서, MOVIE 모드 시나리오(001.MOVIE, 002.MOVIE, 003.MOVIE, ...)의 파일명은 TITLE#1 INDEX 내지 TITLE#m INDEX에 기술된다. 반면에, 개선 모드 시나리오의 파일명(001.CLASS, 002.CLASS, 003.CLASS, ...)은 TITLE#m+1 INDEX 내지 TITLE#n INDEX에 기술된다.
도 25a는 인덱스 테이블이 도 24b에서와 같이 기술될 때 풀 시스템의 간접 참조를 보여준다. 인덱스 테이블이 이와 같이 기술되기 때문에, 파일명 "001.MOVIE, 002.MOVIE, 003.MOVIE, ..."은, 분기 대상으로 라벨 TITLE#1 내지 TITLE#m을 지정하는 분기 명령을 실행할 때 TITLE#1 INDEX 내지 TITLE#m INDEX로부터 검색되고, 파일명 "001.CLASS, 002.CLASS, 003.CLASS, ..."은 분기 대상으로 라벨 TITLE#m+1 내지 TITLE#n을 지정하는 분기 명령을 실행할 때 TITLE#m+1 INDEX 내지 TITLE#n INDEX로부터 검색된다. 그 후, 이 파일명들에 의해 지정된 동적 시나리오는 메모리로 독출되고 실행된다. 이로써, 풀 시스템에 의한 간접 참조에 대한 설명을 끝마친다.
도 25b는 코어 시스템의 간접 참조를 보여준다. 파일명 "001.MOVIE, 002.MOVIE, 003.MOVIE, ..."은, 분기 대상으로 라벨 TITLE#1 내지 TITLE#m을 지정하는 분기 명령을 실행할 때 TITLE#1 INDEX 내지 TITLE#m INDEX로부터 검색되고, 파일명 "000.MOVIE"는 TITLE#1 INDEX 내지 TITLE#m INDEX를 대신하여 TITLE#0 INDEX로부터 검색된다. 그 후, 재생장치는 이 파일명이 지정한 동적 시나리오를 실행한다. 이로써, 풀 시스템과 코어 시스템에 의한 간접 참조에 대한 설명을 끝마친다.
도 26은 MOVIE 오브젝트로부터 Java 오브젝트로의 분기가 어떻게 수행되는지를 도식적으로 보여준다. 도 26의 MOVIE 오브젝트는 GPRM(0)이"0"으로 설정되는 프리-명령(pre-command), 재생장치가 PL 재생을 수행하도록(PlayPL(PL#1)) 지시하는 명령, 및 재생장치가 다른 동적 시나리오로의 분기를 수행하도록(IF(GPRM(0))=0 {Jmp TITLE#m} else {Jmp TITLE#m+1}) 지시하는 포스트-명령(post-command)을 포함한다. 이 프리-명령의 결과로, GPRM(0)은 PL 재생에 앞서 초기화된다. 또한, 이 포스트-명령의 결과로, 초기화할 때 GPRM(0)이"0"을 나타내면, MOVIE 오브젝트#m+1로의 분기가 수행된다. 반면에, 메뉴가 표시되고 GPRM(0)이 "0" 이외의 값으로 설정될 때 버튼 선택이 수행되면, 다른 타이틀(TITLE#m)로의 분기가 수행된다.
이하에 설명되는 바와 같이, 다이얼로그 처리를 실현하기 위한 인터랙티브 그래픽스 스트림은 AV 클립 상에 다중화된다. 인터랙티브 그래픽스 스트림은 문자 A, B 및 C에 대응하는 버튼을 표시하는 스트림으로, GPRM(0)은 문자 A가 결정될 때 "1"로 설정되고, 문자 B가 결정될 때 "2"로 설정되며, 문자 C로 결정될 때 "3"으로 설정된다.
도 26의 화살표 jn1과 jn2는 MOVIE 오브젝트로부터 Java 오브젝트로의 분기를 상징적으로 나타낸다. 도 26의 Jmp TITLE#m+1은 Java 오브젝트의 분기 명령이고, 라벨 TITLE#m+1 INDEX를 통한 간접 참조 포맷을 이용하여 분기 대상으로 Java 오브젝트를 지정한다. Java 오브젝트의 파일명은 라벨 TITLE#m+1 INDEX에 기술되고, 재생장치는 이 인덱스를 참조함으로써 어떤 파일을 Java 오브젝트로 판독할지를 알 수 있다.
Java 오브젝트에서, "A.drawCharacter();"는 문자 A의 오브젝트가 클래스 "character A"의 메쏘드(즉, 도 26의 drawCharacter 함수)의 하나를 이용하여 화면에 도시되는 것을 의미한다. 마찬가지로, "B.drawCharacter();"와 "C.drawCharacter();"는 각각 문자 B와 C의 오브젝트가 클래스 "character B와 "character C"의 메쏘드(즉, 도 26의 drawCharacter 함수)의 하나를 이용하여 화면에 도시되는 것을 의미한다.
"A.drawCharacter();", "B.drawCharacter();", 및 "C.drawCharacter();"가 GPRM(0)의 값에 따라 배타적으로 실행되기 때문에(도 26의 IF 정의문), GPRM(0)이 "1"이면, 문자 A의 CG가 도시되고, GPRM(0)이 "2"이면, 문자 B의 CG가 도시되며, GPRM(0)이 "3"이면, 문자 C의 CG가 도시된다.
도 27은, 도 26에 나타낸 시나리오가 기록된 BD-ROM이 코어 시스템 재생장치에 로드될 때 어떤 종류의 분기가 수행되는지를 보여준다. 도 27의 파선 hs1을 이용하여 도 26의 화살표를 그린 것은, 코어 시스템은 Java 오브젝트를 실행하기에 구성요소가 부족하기 때문에 도 26의 분기가 더 이상 유효하지 않다는 것을 보여준다. 도 27의 화살표 js1은 무효 분기 대신에 수행되는 예외 처리에 이용되는 분기를 보여준다. 예외 처리에 이용되는 분기는 TITLE#0을 통한 간접 참조이다. MOVIE 오브젝트 sg1의 파일명은 TITLE#0 INDEX에 저장되고, MOVIE 오브젝트 sg1은 재생장치에 의해 판독되고 이 분기에서 실행된다. BD-ROM이 단 하나의 코어 시스템을 갖는 재생장치에 로드될 때 MOVIE 오브젝트의 비디오를 표시하기 때문에, 정지와 재시작을 피할 수 있다.
이로써, 실시예 2의 BD-ROM의 개선에 관한 설명을 끝마친다. 재생장치 측의 개선은 이하 설명될 것이다.
실시예 2의 모듈 관리자(20)의 특징은 분기 제어이다. 분기 제어는 분기 대상으로 식별된 동적 시나리오를 메모리에 독출하고, DVD-라이크 모듈(16), Java 모듈(17), 및 BROWSER 모듈(18) 중의 하나가 이 동적 시나리오를 실행하도록 한다. 특히 분기-대상 동적 시나리오가 간접 참조 포맷을 이용하여 지정될 때, 식별이 필요하다. 식별은 분기 명령의 분기-대상 라벨을 참조하고 이 라벨에 대응하는 인덱스로부터 파일명을 검색함으로써 실행된다. 모드 스위칭이 필요한지에 대한 판정은 이 식별에 관련하여 수행된다. 모드-스위칭 판정은, 저장된 파일 확장자 또는 저장된 속성 정보가 나타내는 모드를 결정하도록 분기-대상 라벨에 대응하는 인덱스를 참조함으로써 수행된다. 인덱스의 저장된 내용은 어떤 모드 스위칭이 필요한지를 드러낸다. 모드 스위칭이 필요하다면, 분기-대상 동적 시나리오는 메모리에 독출되고, 모드-전이(mode-transition) 요청이 스위칭후 모드를 실행하는 모듈에 출력된다. 모드-전이 요청이 출력된 결과로, 스위칭후 모드를 실행하는 모듈은 메모리의 분기-대상 동적 시나리오를 실행한다.
모듈 관리자(20)가 상기한 분기 제어를 수행한 결과로 실시예 2의 모듈 관리자(20)에 의한 처리 절차는 도 28에 나타낸 바와 같다. 도 20에 나타낸 플로차트에 기초하여, 도 28은 두 플로차트의 차이를 묘사하고 있다.
*현재 동적 시나리오 i의 명령이 단계 S6 내지 S9를 실행함으로써 한 번에 하나씩 실행되지만, 도 28의 플로차트의 단계 S6 내지 S9의 루프 처리에 단계 S30이 새로이 추가되었다.
단계 S30은 명령 x가 분기 명령인지에 대한 판정이다. 단계 S30이 YES이면, 모듈 관리자(20)는 단계 S31 내지 S43에서 현재 동적 시나리오를 새로운 동적 시나리오로 설정한 후 단계 S4로 복귀한다. 그 결과, 새로운 동적 시나리오가 메모리 독출되어 실행된다.
다음의 설명은 단계 S31 내지 S43의 처리에 관한 것이다. 이 처리는 분기 제어를 포함하고, 단계 S31, S34, S39, 및 S42의 판정 결과에 따라 다르다. 단계 S31은 분기 명령의 분기 대상이 타이틀 라벨을 이용하여 기술될지에 대한 판정이다. YES 이면, 모듈 관리자(20)는 단계 S42 판정을 통과시킨 후 분기-대상 라벨 타이틀 j를 취득하고(단계 S32), 인덱스 테이블에서 타이틀 j의 인덱스로부터 파일명 j를 검색한다(단계 S33). NO 이면, 모듈 관리자(20)는 분기 대상을 나타내는 파일명 j를 검색한다(단계 S41).
단계 S34는 분기 명령이 Call 명령인지 Jmp 명령인지에 대한 판정이다. Call 명령이면, 모듈 관리자(20)는 현재 동적 시나리오 i를 일시정지한 후 변수 x와 SPRM을 보관한다(단계 S35). Jmp 명령이면, 모듈 관리자(20)는 현재 동적 시나리오 i를 버린다(단계 S36).
상기의 처리를 통과시킨 후, 모듈 관리자(20)는 파일명 j로 식별한 동적 시나리오를 현재 동적 시나리오로 설정하고(단계 S37), 검색된 확장자로부터 식별된 재생모드를 재생모드 k로 설정한다(단계 S38). 이러한 설정 후, 모듈 관리자(20)는 단계 S39를실행한다. 단계 S39는 재생모드 k가 현재 재생모드인지에 대한 판정이다. 동일하지 않으면, 모듈 관리자(20)는 재생모드 k를 현재 재생모드로 설정하고(단계 S40), 단계 S4로 이동한다. 그 후, 단계 S4 내지 S9의 처리는 새로이 설정된 현재 동적 시나리오에 대하여 반복된다. 단계 S42는 재생장치가 코어 시스템인지 또는 풀 시스템인지에 대한 판정이며, 코어 시스템이면, 모듈 관리자(20)는 TITLE#0 INDEX로부터 파일명을 검색하고, 이를 분기 대상으로 설정한다(단계 S43).
몇 가지 이유로 개선 모드 실행에 어려움을 만나는 경우 재생장치가 코어 시스템으로 설정되고, 예외 처리에서의 이용을 위해 인덱스 테이블의 인덱스를 참조하면서 분기가 수행되기 때문에, 상기한 바와 같은 본 발명에 따르면 정지, 재시작 등을 피할 수 있다.
실시예 3
실시예 3은 다양한 규격의 재생장치와 BD-ROM이 도입될 때의 개선에 관한 것이다. 재생장치와 BD-ROM을 신속하게 상업화하도록 하는 강한 압박이 있을 때, MOVIE 모드만을 지원하는 버전 1.0과 MOVIE 모드와 개선 모드를 지원하는 버전 1.1과 같이 일부 지원할 수 없는 기능을 갖는 BD-ROM 버전이 상업화되고 시장에 출시되고 있다. 이 경우, 시장은 보전 1.0과 버전 1.1 BD-ROM 그리고 버전 1.0 및 버전 1.1 재생장치와 같은 다양한 버전의 재생장치로 대중화되고 있다. 이 경우로서, MOVIE 모드의 MOVIE 오브젝트에서 개선 모드의 MOVIE 오브젝트로의 분기가, 예를 들어, 버전 1.0의 재생장치에 저번 1.1의 BD-ROM이 로드되어 생길 수 있다. 이 경우, 버전 1.0의 재생장치는 단지 MOVIE 모드를 위한 모듈을 구비하고 있기 때문에, 개선 모드에서 MOVIE 오브젝트를 실행할 수 없다. 본 발명에 의하면, 모든 이용가능한 버전에 관한 인덱스 테이블이 BD-ROM에 기록된다. 버전 1.1 인덱스 테이블과 버전 1.0 인덱스 테이블이 도 29a의 BD-ROM에 기록된다. TITLE#1 INDEX 내지 TITLE#m INDEX는 버전 1.0 인덱스 테이블에 존재한다. 실시예 2에 나타낸 바와 같이, 이러한 인덱스들은 MOVIE 모드 동적 시나리오로 분기할 때 참조된다.
TITLE#1 INDEX 내지 TITLE#m INDEX, TITLE#m+1 INDEX 내지 TITLE#n INDEX, 및 TITLE#m INDEX는 버전 1.1 인덱스 테이블에 존재한다. 실시예 2에 나타낸 바와 같이, 이 인덱스들은 MOVIE 모드 동적 시나리오, 개선 모드 동적 시나리오, 및 예외 처리에 이용되는 동적 시나리오로 분기할 때 참조된다.
BD-ROM의 이러한 버전의 하나가 재생장치에 로드될 때, 재생장치는 BD-ROM에 기록된 다수의 버전에 관련한 인덱스 테이블 중에서 재생장치의 버전과 일치하는 인덱스 테이블을 이용하여 MOVIE 오브젝트를 선택한다.
도 29b는 도 29에 나타낸 BD-ROM이 버전 1.0 재생장치에 로드되는 상황을 나타낸다. 도 29b의 재생장치가 버전 1.0이기 때문에, 분기가 생길 때, 분기-대상 MOVIE 오브젝트는 버전 1.0과 1.1 인덱스 테이블 중 버전 1.0 인덱스 테이블을 참조함으로써 식별된다.
도 29c는 도 29a에 나타낸 BD-ROM이 버전 1.1 재생장치에 로드되는 상황을 나타낸다. 도 29c의 재생장치가 버전 1.1이기 때문에, 분기가 생길 때, 분기-대상 MOVIE 오브젝트는 버전 1.0과 1.1 인덱스 테이블 중 버전 1.1 인덱스 테이블을 참조함으로써 식별된다.
상기의 처리를 수행하기 위해서, 실시예 3에 따른 재생장치의 모듈 관리자(20)는 도 30의 플로차트에 기초하여 처리를 수행한다. BD-ROM이 재생장치에 로드될 때, 모듈 관리자(20)는 장치의 버전 번호를 판독하고(단계 S45), BD-ROM에 기록된 다수의 인덱스 테이블의 어느 것이 취득한 버전 번호와 일치하는지를 판독하고, 판독한 인덱스 테이블을 보유한다(단계 S46). 그 후, 모듈 관리자(20)는 보유한 인덱스 테이블을 참조하면서 단계 S1 내지 S42의 처리를 수행한다. 단계 S1 내지 S42의 처리에 대한 설명은 실시예 2에 나타낸 바와 같기 때문에 여기서는 생략한다.
상기한 바와 같이 본 발명에 따르면, 다양한 버전의 재생장치와 BD-ROM이 시장에 나타나는 경우에도 재생장치의 버전과 일치하는 인덱스 테이블을 선택하고 이 인덱스 테이블을 참조하여 재생을 수행함으로써 과거 버전의 재생장치와의 호환성을 보증할 수 있다.
실시예 4
이 실시예는 BD-ROM 상에서 DVD와 유사한 메뉴 제어를 실현할 때의 개선에 관한 것이다. 도 31은 BD-ROM에 의해 실현되는 메뉴 계층을 나타낸다. 도 31의 메뉴 계층은 최상 레벨에 TopMenu를 두고, TopMenu로부터 하위의 TitleMenu, SubtitleMenu, 및AudioMenu를 선택할 수 있도록 구성된다. 도 31의 화살표 sw1, sw2, 및 sw3은 버튼 선택에 의한 메뉴 선택을 도식적으로 보여준다. TopMenu는 오디오 선택, 자막 선택, 및 타이틀 선택 중 어느 것이 수행되는지를 수신하기 위한 버튼을 배치하고 있다(도 31의 버튼 sn1, sn2, 및 sn3).
TitleMenu는 영화작품(타이틀)의 시네마 버전, 감독판 버전, 또는 게임 버전의 선택과 같이 영화작품 선택을 수신하기 위한 버튼을 배치한다. AudioMenu는 음성 재생이 일본어 또는 영어로 될지를 수신하기 위한 버튼을 배치하고, SubtitleMenu는 자막 표시가 일본어 또는 영어로 될지를 수신하기 위한 버튼을 배치한다.
이러한 계층을 갖는 메뉴를 동작하기 위한 MOVIE 오브젝트가 도 32에 도시된다.
FirstPlay 오브젝트(FirstPlay OBJ)는 재생장치에 BD-ROM를 로드할 때 개시 절차를 기술하는 동적 시나리오이다. FirstPlay 오브젝트를 표시하는 사각 박스는 이 개시 절차를 실행하기 위한 명령을 나타낸다. First OBJ의 최종 명령은 분기 명령이고, 분기 대상은 TopMenu 오브젝트이다.
TopMenu 오브젝트(TOPMenu OBJ)는 TopMenu의 행위를 제어하기 위한 동적 시나리오이다. TopMenu 오브젝트는 사용자가 메뉴 호출을 요청할 때 호출되는 오브젝트이고, 실시예 1에서 언급한 상태-설정 루틴과 동등하다. TopMenu를 표시하는 사각 박스는 이 제어 절차를 표현하는 각 명령을 도식화하고 있다. 이 명령에는 사용자로부터의 조작에 응답하여 TopMenu의 버튼의 상태를 변경하기 위한 명령과, 버튼의 활성화에 응답하여 분기하기 위한 분기 명령을 포함된다. 분기 명령은 TopMenu로부터 TitleMenu로의 메뉴 스위칭, TopMenu로부터 SubtitleMenu로의 메뉴 스위칭, 및 TopMenu로부터 AudioMenu로의 메뉴 스위칭을 실현한다.
AudioMenu 오브젝트(AudioMenu OBJ)는 AudioMenu의 행위를 제어하기 위한 동적 시나리오이다. AudioMenu 오브젝트를 구성하는 사각 박스는 이 제어 절차를 표현하는 각 명령을 도식화하고 있다. 이 명령들에는 사용자로부터의 조작에 응답하여 AudioMenu의 버튼의 상태를 변경하기 위한 명령과, 버튼의 활성화에 응답하여 음성 설정에 이용되는 SPRM을 갱신하기 위한 명령이 포함된다.
SubtitleMenu 오브젝트(Subtitle OBJ)는 SubtitleMenu의 행위를 제어하기 위한 동적 시나리오이다. SubtitleMenu 오브젝트를 구성하는 사각 박스는 이 제어 절차를 표현하는 각 명령을 도식화하고 있다. 이 명령에는 사용자로부터의 조작에 응답하여 SubtileMenu의 버튼의 상태를 변경하기 위한 명령과, 버튼의 활성화에 응답하여 음성 설정에 이용되는 SPRM을 갱신하기 위한 명령이 포함된다.
TitleMenu 오브젝트(Title OBJ)는 TitleMenu의 행위를 제어하기 위한 동적 시나리오이다. TitleMenu 오브젝트는 사용자가 타이틀 검색을 요청할 때 호출되는 오브젝트이고, 실시예 1에서 언급한 타이틀 검색을 위해 이용되는 동적 시나리오와 동등하다. TitleMenu를 구성하는 사각 박스는 이 제어 절차를 표현하는 각 명령을 도식화하고 있다. 이 명령에는 사용자로부터의 조작에 응답하여 TitleMenu의 버튼의 상태를 변경하기 위한 명령과, 버튼의 활성화에 응답하여 분기를 위한 분기 명령이 포함된다.
DVD에서 구현되는 것과 같은 메뉴 행위는 메뉴를 이용하는 이 MOVIE 오브젝트에 의해 구현될 수 있다. 이로써, 메뉴 제어와 관련한 MOVIE 오브젝트에 대한 설명을 끝마친다.
이 실시예의 인덱스 테이블의 개선을 이하 설명한다. FirstPlay Index, TopMenu Index, AudioMenu Index, SubtitleMenu Index, 및 TitleMenu Index가 이 실시예의 인덱스 테이블에 추가된다. 실시예 1에서 설명한 바와 같이, 이러한 인덱스들은 3가지 모드 각각에 관련한 동적 시나리오에 의해 참조된다.
FirstPlay Index는 BD-ROM 개시 중에 참조된다. FirstPlay 오브젝트의 파일명은 이 인덱스에 기술된다.
AudioMenu Index, SubtitleMenu Index, 및 TitleMenu Index는 AudioMenu, SubtitleMenu, 및 TitleMenu를 직접 호출하기 위해 사용자 조작이 실행될 때 참조된다. 사용자에 의한 직접 호출은 사용자가 Audio 선택 버튼, Subtitle 선택 버튼, 또는 Title 선택 버튼을 리모트 컨트롤러 상에서 누름으로써 실행된다.
이로써, 이 실시예의 MOVIE 오브젝트의 개선에 대한 설명을 끝마친다. 이 실시예의 재생장치의 개선에 대해 설명될 것이다. 이와 같은 MOVIE 오브젝트를 동작하기 위해서, 모듈 관리자(20)는 도 33의 플로차트에 도시된 처리 절차를 수행할 필요가 있다.
이 실시예에서, 최초로 메뉴 제어를 수행하는 모듈 관리자(20)는 도 33에 도시된 처리 절차를 이용하여 분기 제어를 수행한다. 이 플로차트는 단계 S50이 단계 S30과 S31 사이에 삽입되었다는 점에서 다르다. 단계 S50에서 YES 이면, 모듈 관리자(20)는 단계 S51 내지 S54 처리를 수행하고 단계 S4로 복귀한다. 단계 S51 내지 S54는 메뉴 제어를 위한 시나리오를 현재 동적 시나리오로 설정하는 것을 포함한다. 즉, 분기 명령의 분기 대상이 xxxMenu 이면(단계 S50=YES), 모듈 관리자(20)는 현재 동적 시나리오 i를 일시 정지하고, SPRM과 변수 x를 보관하고(단계 S52), 분기-대상 메뉴에 대응하는 인덱스로부터 파일명을 검색하고(단계 S52), 검색된 파일명의 동적 시나리오를 현재 동적 시나리오 i로 설정하며(단계 S53), 현재 모드를 MOVIE 모드로 되돌린다(단계 S54). 그 후 모듈 관리자(20)는 현재 동적 시나리오를 계속 실행한다.
메뉴 제어를 위한 동적 시나리오로의 분기가 인덱스 테이블의 인덱스를 통한 간접 참조로 구현되기 때문에, 상기한 본 발명에 따르면, Java 모드나 Browser 모드의 실행 중에 메뉴 키가 눌려지는 경우라도 메뉴 제어에 사용하기 위한 동적 시나리오로 분기할 수 있다. Java 가상 머신과 Browser 모드로부터 음성 및 자막 스위칭은 가능하게 되고, 따라서 재생이 Java 가상 머신이나 Browser 모드를 이용하여 수행되는 경우라도 통상의 DVD와 유사한 음성 및 자막 스위칭을 실현할 수 있다.
실시예 5
실시예 5는 MOVIE 모드를 위해 제공되는 데이터에 의해 다른 모드에 끼칠 수 있는 어떠한 불리한 효과를 방지하기 위한 개선에 관한 것이다. MOVIE 모드에서의 제어는 MOVIE 오브젝트에 의해서뿐만 아니라 AV 클립에 다중화된 인터랙티브 그래픽스 스트림의 명령(버튼 명령)에 의해서도 수행될 수 있다.
버튼 명령은, 그래픽스 스트림에 의해 표시된 버튼이 활성화될 때 실행된다. 버튼 명령은 AV 클립에 포함시킴으로써, 특정 동영상의 각 프레임이 화면에 나타나는 타이밍에 따라 재생장치가 특정 처리를 실행하도록 하기 위한 재생제어를 설명하기가 편리한다. 즉, 재생제어는 동영상 내용과 밀접하게 동기화된다. 또한, 버튼 명령은 실제 AV 클립에 다중화되기 때문에, 재생제어를 수행하고자 하는 수백 구간이 있는 경우에도 AV 클립에 대응하는 모든 버튼 명령을 메모리에 저장할 필요는 없다. 버튼 명령은 비디오 패킷과 함께 모든 액세스 유닛에 대해 BD-ROM으로부터 판독되기 때문에, 현재 재생을 위한 동영상 구간에 대응하는 버튼 명령이 메모리에 잔류하도록 하고, 이후 이 동영상 구간의 재생시 메모리로부터 이 버튼 명령을 삭제하고 다음 동영상 구간에 대응하는 버튼 명령을 메모리에 저장하는 것이 바람직하다. 버튼 명령은 AV 클립에 다중화되기 때문에, 예를 들어, 수 백의 버튼 명령이 있는 경우라도, 설치 메모리를 최소 필요량으로 줄일 수 있다.
버튼 명령이 스트림에 포함될 때, Java 모드의 동적 시나리오로부터의 간섭 문제가 일어난다. 예를 들어, Java 모드에서 재생제어를 실행할 때 스트림에 포함된 버튼 명령이 모듈에 제공되면, Java 모드 동적 시나리오와 버튼 명령은 동시에 실행되게 되고, 플레이어 에러를 초래하게 된다. 이 실시예에 의하면, 이 문제를 해결하기 위하여 플레이아이템이 필터 지정 함수와 함께 제공된다.
필터 지정은 AV 클립에 다중화된 재생가능한 엘리멘트리 스트림과 재생불가능한 엘리멘트리 스트림 사이의 구별을 의미한다.
도 34는 실시예 5에 속하는 플레이아이템의 내부 구조를 나타낸다. "Playable_PID_entries"가 도 34에 추가되었다. 도 34의 점선 hp1은 Playable_PID_entries의 구조를 강조하고 있다. 이하에 설명되는 바와 같이, Playable_PID_entries는 재생을 위한 PID 엘리멘트리 스트림을 열거하고 있다.
다음의 설명은 플레이아이템의 필터 지정에 의해 어떤 재생제어가 실현되는지에 관한 것이다. 도 35는 재생제어가 Java 오브젝트에 의해 수행되는 PL의 계층적 구조를 보여준다. 도 35의 레벨 4의 MOVIE 오브젝트는 PL#1이 재생되도록 하기 위한 명령(PlayPL(PL#1))을 포함한다. PL#1을 구성하는 3개의 PlayItem #1, #2 및 #3 중 PlayItem#3은 Playable_PID_entries을 포함하며, 이는 필터 지정이 가능하다는 것을 의미한다.
도 35의 레벨 4의 Java 오브젝트는 PL#2가 재생되도록 하는 명령 (PlayPL(PL#2))를 포함한다. PL#2를 구성하는 두 개의 PlayItem 중 PlayItem#12는 Playable_PID_entries를 포함하며, 이는 필터 지정이 가능하다는 것을 의미한다.
도 36은 PlayItem #3과 #12의 Playable_PID_entries에 의해 어떤 필터 지정이 수행되는지를 나타낸다. 도 36에서, AV 클립을 구성하는 액세스 유닛은 하부에 나타나 있고, 두 개의 PlayItem #3과 #12는 톱부에 나타나 있다. 하나의 비디오 스트림, 2개의 오디오 스트림, 2개의 프리젠테이션 그래픽스 스트림, 및 하나의 인터랙티브 그래픽스 스트림이 액세스 유닛에 다중화된다. "Video_PID" PID는 비디오 스트림에 첨부되고, "Audio_PID" PID는 오디오 스트림에 첨부되고, "P.Graphics_PID" PID는 프리젠테이션 그래픽스 스트림에 첨부되고, "I.Graphics_PID" PID는 인터랙티브 그래픽스 스트림에 첨부된다. 3개의 오디오 스트림 중, "Audio_PID1"이 첨부된 것은 영어 음성(0: English), "Audio_PID2"가 첨부된 것은 일본어 음성(1: Japanese), 그리고 "Audio_PID3"이 첨부된 것은 해설 음성(2: Commentary)이다. 2개의 프리젠테이션 그래픽스 스트림 중, "P.Graphics_PID1"이 첨부된 것은 영어 음성(0: English)이고, "P.Graphics_PID2"가 첨부된 것은 일본어 음성(1: Japanese)이다.
도 36의 톱부에 있는 PlayItem #3과 #12는 서로 다른 필터 지정을 갖는다. PlayItem #3과 #12에 열거된 사각형들은 Playable_PID_entries의 실제 내용이고, PlayItem #3은 Video_PID 비디오 스트림, Audio_PID1과 Audio_PID2 오디오 스트림, P.Graphics_PID1와 P.Graphics_PID2 프리젠테이션 그래픽스 스트림, 및 I.Graphics_PID1과 I.Graphics_PID2 인터랙티브 그래픽스 스트림의 재생이 허용되도록 설정된다. PlatItem#12는 Video_PID 비디오 스트림, 및 Audio_PID3 오디오 스트림의 재생이 허용되도록 설정된다. PlayItem#3을 재생할 때, PlayItem#3의 Playable_PID_entries는 재생장치의 PID 필터(4)에 설정된다. 그 결과, PID 필터(4)는 Video_PID 비디오 스트림을 비디오 디코더(5)에 출력하고, Audio_PID1과 Audio_PID2 오디오 스트림을 오디오 디코더(7)에 출력하고, I.Graphics_PID1과 I.Graphics_PID2 인터랙티브 그래픽스 스트림 뿐만 아니라 P.Graphics_PID1와 P.Graphics_PID2 프리젠테이션 그래픽스 스트림을 그래픽스 디코더(9)에 출력한다. PlayItem#3이 모든 그래픽스 스트림이 재생가능하도록 설정되기 때문에, AV 클립에 다중화된 모든 그래픽스 스트림의 재생이 가능하다.
반면에, PlayItem#12는 모든 그래픽스 스트림이 재생 가능하지 않도록 설정되기 때문에, Java 모드의 동적 시나리오로부터의 간섭없이 Java 언어를 이용한 제어가 가능하다.
도 37은 PlayItem #3과 #12의 Playable_PID_entries로부터 기인한 가능한 재생 출력을 보여준다. Video_PID 비디오 스트림, Audio_PID1과 Audio_PID2 오디오 스트림, P.Graphics_PID1와 P.Graphics_PID2 프리젠테이션 그래픽스 스트림, 및 I.Graphics_PID1과 I.Graphics_PID2 인터랙티브 그래픽스 스트림의 재생이 PlayItem#3d으로 가능하기 때문에, MOVIE 오브젝트를 이용한 재생으로 Audio_PID1 오디오 스트림(즉, 도 37의 내레이션 "She's a captive of her own lies"), P.Graphics_PID 프리젠테이션 그래픽스 스트림(일본어 자막 "
Figure 112010072535052-pat00001
") 및 I.Graphics_PID 인터랙티브 그래픽스 스트림(CONTINUE? ●YES ◎NO)을 동반하는 비디오 스트림의 재생 출력을 수행하는 것이 가능하다.
PlayItem#12는 모든 그래픽스 스트림이 가능하지 않도록 설정되어 있어, 2개의 스트림, 즉 Video_PID 비디오 스트림과 Audio_PID 오디오 스트림의 재생 출력을 수행하는 것만이 가능하게 한다. 이 PlayItem의 재생을 구성하는 Java 오브젝트가 가상 스튜디오(즉, 도 37의 카메라, 의자, 및 조명을 포함한 방)를 묘사한다면, 이 묘사를 수행하기 위한 Java 오브젝트는 그래픽스 스트림에 포함된 명령으로부터 간섭을 받지 않을 것이다. 따라서, 그래픽스 스트림에 포함된 명령으로부터의 간섭을 피하면서 Java-모드 특정 처리를 실현할 수 있다. PlayItem#12에 의해 재생 가능하도록 설정된 Audio_PID3 오디오 스트림은 영화 감독에 의한 해설(즉, 라인 "I take my hat off to her outstanding acting ability")이고, 가상 스튜디오에서 감독에 의해 이러한 해설이 재생됨으로써 영화 세트의 분위기를 창출할 수 있다.
이러한 Java 오브젝트의 결과로, 영화 스튜디오를 모방한 방에 배경이미지로 영화 장면을 재생하면서 영화감독의 코멘트를 들을 수 있다.
이러한 타이틀을 BD-ROM에 보너스 트랙 타이틀로 기록함으로써, BD-ROM의 제조원가는 증가할 수 있다. BD-ROM에 보너스 트랙 타이틀을 기록하기 위하여 PlayItem의 필터 지정을 이용하는 것은 다음의 이점을 가져온다.
세계적 명성의 영화감독의 해설은 영화팬에게는 분명히 흥미로우며, 영화작품의 주가가치를 증가시키는 것으로 현재의 시판용 DVD에 존재한다.
감독의 해설을 들을 수 있다는 것이 이 타이틀의 가장 큰 매력이면서, 배경이미지로 영화 장면을 재생하는 것도 타이틀의 매력을 증가시키는데 도움이 된다. 환언하면, 영화의 주요 장면을 보면서 영화 제작에 관련된 뒷이야기를 들을 수 있는 것은 해설의 매력을 증가시킨다. 이 경우의 문제점은 해설에 관련된 오디오 스트림을 어떻게 취급하는가이다. 전통적인 방법은 본편과는 별도로 배경이미지로 사용하고자 하는 영화 장면을 제공하고, 보너스 트랙을 제작하도록 이들을 오디오 스트림에 다중화하는 것이다. 그러나, 이러한 방법은 배경이미지로 사용하기 위한 영화 장면이 본편과는 별도로 BD-ROM에 기록될 필요가 있다는 것을 의미하며, 이는 기록 아이템의 수를 증가시키고 용량-관련 문제를 일으킨다.
가능한 다른 방법은 해설을 위한 오디오 스트림을 본편에 이용되는 오디오 스트림과 함께 본편을 위한 비디오 스트림에 다중화하는 것을 포함한다. 이는 본편으로부터의 장면이 해설에 대한 배경이미지로 이용되도록 한다. 그러나, 여기에 해설 데이터가 본편을 재생할 때 들리게 되는 위험이 있다. 이와 같이, 본편 타이틀을 구성하는 PlayItem의 필터 지정은, 해설의 오디오 스트림만이 오프이고 잔류하는 어떠한 오디오 스트림도 온이 되도록 설정된다. 반면에, 보너스 타이틀을 구성하는 PlayItem의 필터 지정은, 해설의 오디오 스트림만이 온이고 잔류하는 어떠한 오디오 스트림도 오프가 되도록 설정된다. 이와 같이 함으로써, BD-ROM에 기록하기 위하여 단일 AV 클립에 본편과 해설에 관련된 모든 오디오 스트림을 함께 다중화하는 것이 바람직하다.
해설과 본편을 위한 분리된 AV 클립(즉, 본편의 오디오 스트림만을 위한 AV 클립, 및 해설의 오디오 스트림만을 위한 AV 클립)을 제작할 필요가 없기 때문에, BD-ROM에 기록되는 AV 클립의 수를 줄일 수 있고, 오쏘링(authoring)을 더 쉽게 한다.
이로써, 실시예 5의 BD-ROM 개선에 대한 설명을 끝마친다. 이하, 실시예 5의 재생장치의 개선에 대해 설명한다.
실시예 5의 재생장치에 의해 수행되는 처리는 도 38의 처리 절차를 실행하는 재생제어 엔진(12)에 의해 실현된다.
도 38은 재생제어 엔진(12)에 의해 수행되는 PLPlay 함수의 실행 절차를 나타내는 플로차트가다. 이 플로차트에서, PLx는 처리하고자 하는 대상 PL이고, PIy는 처리하고자 하는 대상 PI이고, ACCESS UNITv는 처리하고자 하는 대상 액세스 유닛이다. 이 플로차트는 다음의 절차들을 포함한다. PLPlay 함수의 인수에 의해 지정된 PL을 PLx로 설정하고, PLx를 메모리에 독출하고(단계 S61), 처리하고자 하는 PI를 식별하고(단계 S62 내지 S64), 이 PI를 구성하는 액세스 유닛을 판독한다(단계 S65 내지 S76).
단계 S62는 PI 인수 지정이 있는지에 대한 판정이다. 인수 지정이 있으면, 재생제어 엔진(12)은 PIy를 인수 지정된 PI로 설정하고, PIz를 동일한 인수 지정된 PI로 설정한다(단계 S63). PIz는 판독 구간의 끝을 정의하는 PI이다. PI가 인수에 의해 지정되는 경우에 이 PI를 판독할 필요가 있을 뿐이기 때문에 PIy와 PIz 모두 인수 지정된 PI로 설정된다.
인수 지정이 없으면, 재생제어 엔진(12)은 PIy를 Plx의 선두 PI로 설정하고, PIz를 PLx의 최종 PI로 설정한다(단계 S64).
단계 S65 내지 S76은 PIy를 구성하는 액세스 유닛의 판독과 디코딩 절차를 나타낸다. 이 절차는 PIy의 Playable_PID_entries를 PID 필터(4)에 설정하고(단계 S65), PIy의 인-포인트 비디오 프레임을 포함하는 ACCESS UNITv를 EP_map로부터 설정하고(단계 S66), BD-ROM 드라이브(1)에 ACCESS UNITv를 판독하도록 명령하고(단계 S67), 이어 단계 S68 내지 S69의 판정을 통과시킨 후 비디오 디코더(5)에 ACCESS UNITv에 포함된 비디오 프레임을 디코드하도록 명령하며(단계 S70), ACCESS UNITv를 다음 ACCESS UNIT으로 설정하는(단계 S71) 것을 포함한다. 이후, 단계 S61 내지 단계 S71의 처리가 PIy에 속하는 모든 액세스 유닛에 대한 반복된다.
단계 S68은 ACCESS UNITv가 인-포인트 비디오 프레임을 포함하는지에 대한 판정이다. 인-포인트 비디오 프레임이 포함되면(단계 S68=YES), 재생제어 엔진(12)은 비디오 디코더(5)에 ACCESS UNITv의 인-포인트 비디오 프레임부터 최종 비디오 프레임까지 디코드하도록 명령하고(단계 S72) 단계 S70으로 이동한다.
단계 S69는 ACCESS UNITv가 아웃-포인트 비디오 프레임을 포함하는지에 대한 판정이다. 아웃-포인트 비디오 프레임이 포함되면(단계 S69=YES), 재생제어 엔진(12)은 비디오 디코더(5)에 ACCESS UNITv의 선두 비디오 프레임부터 아웃-포인트 비디오 프레임까지 디코드하도록 명령하고(단계 S73), PIF 필터(4)로부터 PIy의 Playable_PID_entries를 릴리스한다(단계 S74). 그 결과, PIy에 의한 필터 지정은 오프로 설정된다. 이어 단계 S75의 판정이 수행된다. 플로차트의 최종 판정인 단계 S75는 PIy가 현재 PIz인지를 판정한다. 재생제어 엔진(12)은, 단계 S75가 오프이면, 플로차트를 종료하고, NO이면, 단계 S65로 복귀하기 전에 PIy를 다음 PI로 설정한다. 이후, 단계 S65 내지 S77의 처리가 단계 S75에서 YES로 판정될 때까지 반복된다. 이로써, 재생제어 엔진(12)에 의해 수행되는 처리 절차에 대한 설명을 마친다.
AV 클립에 다중화된 다수의 엘리멘트리 스트림 중 어느 것이 재생 가능하고 어느 것이 재생 불가능한지를 설정하는 필터 지정과 함께 PlayItem이 제공되기 때문에, 본 발명에 따르면 각 모드의 동적 시나리오가 호환가능한 PlayItem을 선택한 결과로 AV 클립에 다중화된 엘리멘트리 스트림의 버튼 명령에 의해 끼치는 어떠한 효과도 피할 수 있다. 이와 같이, Java 모듈(17)은 더 이상 버튼 명령으로부터 어떠한 간섭도 받지 않고, 재생장치의 안정된 동작에 기여한다.
실시예 6
이 실시예는 BD-ROM 제조공정에 관한 것이다. 도 39는 실시예 6에 속하는 BD-ROM의 제조공정을 보여주는 플로차트가다.
BD-ROM 제조공정은 동영상 기록과 음성 기록과 같은 소재를 작성하는 소재 제작공정 S101, 어플리케이션 포맷을 생성하기 위한 오쏘링 공정 S102, 및 BD-ROM 마스터를 제작하고 프레스/라미네이트하여 BD-ROM을 완성하는 프레싱 공정 S103을 포함한다.
이 공정 중에서, BD-ROM을 대상으로 하는 오쏘링 공정은 단계 S104 내지 S109의 공정을 포함한다.
시나리오 편집 공정 S104은 계획 단계에서 제작된 개요를 재생장치가 이해할 수 있는 포맷으로 변환하기 위한 것이다. 시나리오 편집 결과는 BD-ROM 시나리오로 제작된다. 또한, 다중화를 실현하도록 이 시나리오 편집에서 다중화 파라미터가 제작된다.
동적 시나리오가 이 공정에서 일단 완성되면, 각 동적 시나리오의 resume_intension_flag, menu_call_mask, 및 Title_search_mask는 공정 S105에서 설정된다. 이들 설정은 동적 시나리오에 의해 재생제어에 끼치는 SPRM의 효과에 따라 수행된다. 재생 중의 메뉴 호출과 타이틀 검색으로부터 초래되는 불리한 효과는 이들 설정에 의해 방지된다.
소재 인코딩 공정 S106은 비디오, 오디오 및 서브-비디오 소재를 각각 인코딩하여 비디오, 오디오 및 그래픽스 스트림을 취득하는 작업이다.
다중화 공정 S107에서, 소재 인코딩의 결과로 취득한 비디오, 오디오, 및 그래픽스 스트림은 인터리브-다중화되고, 그 결과는 하나의 디지털 스트림으로 변환된다.
포맷팅 공정 S108에서, 다양한 타입의 정보가 BD-ROM 지향 시나리오에 기초하여 제작되고, 시나리오와 디지털 스트림이 BD-ROM 포맷에 적응된다.
에뮬레이션 공정 S109는 오쏘링 결과가 정확한지를 확인하기 위한 것이다.
Java와 마크업 언어를 이용하여 Java 오브젝트와 WebPage 오브젝트를 기술할 수 있기 때문에, 상기한 오쏘링 공정에서 통상의 컴퓨터용 소프트웨어의 개발에 적용되는 것과 동일한 감각을 이용하여 Java 오브젝트와 WebPage 오브젝트를 개발할 수 있다. 따라서, 본 발명은 시나리오 제작의 효율성을 증대하는 효과를 갖는다.
비고
이상의 설명은 본 발명의 모든 구성의 실현을 보여주지는 않는다. 본 발명의 실현은 다음의 변경 (A), (B), (C), (D), ...을 실행하는 구성의 실현에 따라 여전히 가능하다. 본 출원의 청구범위에 속하는 발명은 상기에 기재된 다수의 실시예와 그 변경된 구성의 확장된 기재로부터 일반화된 기재까지 이른다. 확장 또는 일반화의 정도는 출원시의 본 발명의 기술 분야의 기술 표준의 특징에 기초한다.
그러나, 청구범위에 속하는 발명은 종래기술에 속하는 기술 과제를 해결하기 위한 수단을 반영하기 때문에, 청구범위에 속하는 발명의 기술적 범위는 종래기술과 관련한 기술적 과제를 해결하는 것을 고려하여 해당 분야의 당업자에 의해 인식되는 기술 범위를 넘어서 확장되지는 않는다. 이와 같이, 본 출원의 청구범위에 속하는 발명은 상세한 설명의 기재와 실질적인 대응관계를 갖는다.
(A) 모든 실시예에서, 본 발명에 속하는 광디스크는 BD-ROM으로 실현된다. 그러나, 본 발명의 광디스크는 기록된 동적 시나리오와 인덱스 테이블에 의해 특징을 가지며, 이러한 특징은 BD-ROM의 물리적 특성에 의존하지 않는다. 동적 시나리오와 인덱스 테이블을 기록할 용량이 존재하는 한, 어떠한 형태의 기록매체도 적용할 수 있다. 예를 들어, DVD-ROM, DVD-RAM, DVD-RW, DVD-R, DVD+RW, DVD+R, CD-R, CD-RW 등과 같은 광디스크와, PD, MD 등과 같은 광자기 디스크가 적용될 수 있다. (i) 플렉시블 디스크, SuperDisk, Zip, Clik! 등과 같은 자기기록 디스크, (ii) ORB, Jaz, SparQ, SyJet, EZFley, 마이크로드라이브 등과 같은 리무버블 하드 디스크 드라이브가 적용되는 것과 같이, 콤팩트 플래시 카드, PCM-CIA 카드 등과 같은 반도체 카드도 적용할 수 있다. 또한, 기록매체는 내장형 하드 디스크일 수 있다.
동적 시나리오, 인덱스 테이블, 및 플레이리스트 정보는 AV 클립과 스트림 관리정보와 별도의 기록매체에 기록될 수 있다. 이들은 병렬로 판독되어 하나의 비디오 작품으로 재생될 수 있다.
(B) 모든 실시예에서 재생장치는 BD-ROM에 기록된 AV 클립을 디코딩 후에 TV에 출력하지만, 재생장치는 BD-ROM 드라이브로만 구성될 수 있고, TV는 모든 다른 구성요소를 구비할 수 있다. 이 경우, 재생장치와 TV는 IEEE1394를 이용하여 연결된 홈 네트워크에 포함될 수 있다. 또한, 실시예들의 재생장치가 텔레비전에 연결된 후 이용되는 타입이지만, 표시가 일체화된 재생장치가 적용될 수 있다. 또한, 재생장치는 처리의 본질적인 부분을 수행하는 실시예들의 재생장치의 일부일 수 있다. 이들 재생장치는 본 출원의 명세서에 개시된 모든 발명이기 때문에, 실시예 1 내지 6에서 보여준 재생장치의 내부 구조에 기초하여 재생장치를 제조하는 행위는 본 출원의 명세서에 개시된 발명의 실시이다. 실시예 1 내지 6의 재생장치의 양도(유상의 경우는 판매, 무상의 경우는 증여), 대여 또는 수입하는 행위도 또한 본 발명의 실시이다. 쇼 윈도 전시, 카탈로그 권유, 팸플릿 배포 등에 의한 양도, 대여 등에 대해 일반인에 접근하는 행위도 이 재생장치의 실시이다.
(C) 도 20-22, 도 28, 도 30, 도 33 및 도 39의 플로차트에 나타낸 컴퓨터에 의한 정보 처리는 하드웨어 자원을 이용하여 구체적으로 실현되기 때문에, 플로차트의 처리 절차를 나타내는 컴퓨터 프로그램은 그 자체로 발명을 형성한다. 모든 실시예가 재생장치에 포함되는 형태로 본 발명에 속하는 컴퓨터 프로그램을 실현하는 것과 관련한 실시예를 보여주지만, 실시예 1 내지 6의 컴퓨터 프로그램은 재생장치와 분리되어 그 자체로 실현될 수 있다. 프로그램을 그 자체로 실시하는 행위는, (1) 프로그램의 제작행위, (2) 무상이나 기타의 프로그램의 양도행위, (3) 프로그램의 대여행위, (4) 프로그램의 수입행위, (5) 양방향 전자통신회로를 통한 공중에의 프로그램의 제공행위 (6) 쇼 윈도 전시, 카탈로그 권유, 팸플릿 배포 등에 의한 양도, 대여 등에 대해 일반인에 접근하는 행위를 포함한다.
(D)도 20-22, 도 28, 도 30, 도 33 및 도 39의 플로차트의 시계열로 실행된 단계들에 관련한 "시간" 요소는 발명을 특정하기 위한 필수 사항으로 생각하자. 그렇게 하면, 플로차트가 보여주는 처리 절차는 재생 방법의 이용 형태를 개시하는 것으로 이해될 수 있다. 시계열로 단계들의 처리를 수행함으로써 본 발명의 최초 목적을 달성하고 작용과 효과를 규정하기 위하여 플로차트의 처리를 실행하는 것은, 말할 필요없이, 본 발명에 속하는 기록방법의 실시이다.
(E) 실시예 5에 의하면, 챕터의 리스트를 표시하기 위한 메뉴(ChapterMenu)와 이 메뉴의 행위를 제어하기 위한 MOVIE 오브젝트는 BD-ROM에 기록될 수 있고, 분기는 TopMenu로부터 될 수 있다. 또한, 이들 메뉴는 리모트 컨트롤러 상의 Chapter 키를 눌러 호출할 수 있다.
(F) BD-ROM에 기록할 때, 바람직하게 확장 헤더가 AV 클립을 구성하는 TS 패킷에 첨부될 수 있다. TP_extra_header로 불리는 확장 헤더는, "Arrival_Time_Stamp"와 "copy_permission_indicator"을 포함하고 4-바이트의 데이터 길이를 갖는다. TS 패킷에 첨부된 TP_extra_header(이하, "EX-부착 TS 패킷"이라 함)는 32개 패킷의 그룹들으로 정렬되고, 3개의 섹터에 기입된다. 32개 EX-부착 TS 패킷을 포함하는 각 그룹은 6,144 바이트 길이(=32×192)이고, 3개의 섹터의 6,144 바이트(=2048×3) 크기와 일치한다. 이 3개의 섹터에 포함된 32개 EX-부착 TS 패킷 그룹을 "Aligned Unit"이라 한다.
재생장치(200)는, IEEE1394를 통하여 연결된 홈 네트워크에 이용될 때, 이하에 서술되는 바와 같이 전송 처리에서 Aligned Unit을 전송한다. 즉, 송신측 장치는 Aligned Unit에 포함된 32개 EX-부착 TS 패킷의 각각에서 TP_extra_header를 제거하고, DTCP 규격에 기초하여 TS 패킷 본체를 인코딩한 후 TS 패킷을 출력한다. TS 패킷을 출력할 때, isochronous 패킷이 모든 인접한 TS 패킷 사이에 삽입된다. Isochronous 패킷의 위치는 각 TP_extra_header의 Arrival_Time_Stamp에 나타난 시간에 기초한다. 재생장치(200)는 TS 패킷의 출력에 동반하는 DTCP_Descriptor를 출력한다. DTCP_Descriptor는 각 TP_extra_header에 설정된 복제 허용가능성을 나타낸다. 여기서, DTCP_Descriptor가 "복제 금지"를 나타내도록 기술되면, TS 패킷은 IEEE1394를 통하여 연결된 홈 네트워크에 이용될 때 다른 장치에 기록되지 않을 것이다.
(G) 실시예들에서 기록매체에 기록된 디지털 스트림은 AV 클립이지만, 디지털 스트림은 DVD-비디오 규격이나 DVD-비디오 기록규격과 일치하는 VOB(비디오 오브젝트)일 수 있다. VOB는 비디오와 오디오 스트림을 다중화하여 취득하는 ISO/IEC13818-1에 따르는 프로그램 스트림이다. 또한, AV 클립의 비디오 스트림은 MPEG-4 포맷, WMV 포맷 등일 수 있다. 또한, 오디오 스트림은 Liner-PCM 포맷, Dolby-AC3 포맷, MP3 포맷, MPEG-AAC 포맷, DTS, 또는 WMA(Window Media Audio)일 수 있다.
(H) 재생장치의 구조에서, 현재 동적 시나리오만이 동적 시나리오 메모리(15)에 저장되고, 현재 스트림 관리정보와 현재 PL 정보만이 정적 시나리오 메모리(11)에 저장된다. 그러나, 다수의 시나리오, 스트림 관리정보와 PL 정보는 캐시 메모리로 미리 저장될 수 있다. 이렇게 함으로써, BD-ROM으로부터 이 데이터를 판독할 때까지의 시간 지연이 단축된다. 또한, 백업 메모리(14)가 스택 형태로 레지스터의 저장값을 보관하지만, 메모리 크기와의 관계를 고려할 때, 한 레벨로 보관하기 위하여 저장값을 배치하는 것이 현실적이다.
(I) 실시예들의 영화작품은 아날로그 방송에 의해 방송되는 아날로그 비디오 신호를 인코딩하여 취득하거나, 디지털 방송에 의해 방송되는 트랜스포트 스트림으로 구성된 스트림 데이터일 수 있다.
또한, 콘텐츠는 비디오테이프에 기록된 아날로그/디지털 비디오 신호를 인코딩함으로써 취득할 수 있다. 또한, 콘텐츠는 비디오 카메라로부터 직접 얻어진 아날로그/디지털 비디오 신호를 인코딩함으로써 취득할 수 있다. 선택적으로, 콘텐츠는 분배서버로부터 분배된 디지털 저작물일 수 있다.
(J) Java 모듈(17)은 위성 방송을 수신하기 위하여 장치에 설치된 Java 플랫폼일 수 있다. Java 모듈(17)이 이러한 Java 플랫폼이면, 본 발명에 속하는 재생장치는 MHP용 STB로의 처리를 공유한다.
또한, Java 모듈(17)이 모바일 폰 처리제어를 수행하기 위해서 장치에 설치된 Java 플랫폼일 수 있다. Java 모듈(17)이 이러한 Java 플랫폼이면, 본 발명에 속하는 재생장치는 모바일 폰으로서의 처리를 공유한다.
또한, BROWSER 모듈(18)은 마이크로소프트사의 인터넷 익스플로러 등과 같은 컴퓨터 설치된 브라우저 소프트웨어일 수 있다.
(K) 도면에 도시된 레이어 모델에서, Browser 모드와 MOVIE 모드는 Java 모드 위에 배치될 수 있다. 특히, MOVIE 모드의 동적 시나리오, 동적 시나리오의 해석에 근거하여 제어 절차를 실행하는데 대한 재생장치의 부담이 가볍기 때문에, MOVIE 모드가 Java 모드 위에서 실행될 때에도 문제가 일어나지 않는다. 또한, 재생장치와 영화작품을 개발할 때, 단일 모드에서 동작 보장을 다룰 수 있다.
또한, Java 모드 처리는 3가지 모드를 제공하지 않고 Java 모드에서만 실행될 수 있다. 실시예 2에 나타난 바와 같이, PL 재생과 동기화되는 재생제어는 Java 모드에서도 가능하기 때문에, MOVIE 모드를 제공할 필요성은 제거된다. 또한, 동적 시나리오의 제어는 MOVIE 모드만이거나 Browser 모드일 수 있다.
본 발명에 속하는 기록매체와 재생장치는 영화작품에 대한 인터랙티브 제어를 제공할 수 있으며, 이에 따라 시장에 고부가가치를 갖는 영화작품을 제공할 수 있고 영화와 소비자 가전 시장 등을 고무시킬 수 있다. 이와 같이, 본 발명에 속하는 기록매체와 재생장치는 영화와 소비자 가전 산업에 크게 적용할 수 있다.

Claims (6)

  1. 재생장치로,
    디지털 스트림과, 상기 디지털 스트림의 재생경로를 나타내는 재생경로 정보와, 상기 재생경로 정보를 재생하기 위한 명령을 포함하는 오브젝트 데이터를 기록매체에서 판독하는 판독수단과,
    상기 판독된 오브젝트 데이터를 실행하는 모듈과,
    상기 실행된 오브젝트 데이터에 포함되는 명령이 실행된 경우에 상기 명령에 의해서 재생되는 재생경로 정보가 나타내는 재생경로에 따라서 상기 디지털 스트림을 재생하는 재생제어엔진과,
    사용자로부터 메뉴 호출(menu call)을 접수하는 접수수단을 구비하고,
    상기 오브젝트 데이터는 메뉴 호출을 실행하는가 여부를 나타내는 메뉴 호출 마스크 플래그와 상기 오브젝트 데이터를 리줌(resume) 하는가 여부를 나타내는 리줌 플래그를 더 포함하며,
    상기 재생장치는,
    상기 오브젝트 데이터의 실행중에 메뉴 호출이 접수된 경우에,
    상기 오브젝트 데이터에 포함되는 메뉴 호출 마스크 플래그에 따라서 상기 메뉴 호출을 실행하는가 여부를 제어하고,
    상기 메뉴 호출이 실행되는 경우에 상기 오브젝트 데이터에 포함되어 있는 리줌 플래그에 따라서 상기 오브젝트 데이터의 실행을 리줌 하는가 여부를 제어하는 것을 특징으로 하는 재생장치.
  2. 재생방법으로,
    디지털 스트림과, 상기 디지털 스트림의 재생경로를 나타내는 재생경로 정보와, 상기 재생경로 정보를 재생하기 위한 명령을 포함하는 오브젝트 데이터를 기록매체에서 판독하는 스텝과,
    상기 판독된 오브젝트 데이터를 실행하는 스텝과,
    상기 실행된 오브젝트 데이터에 포함되는 명령이 실행된 경우에 상기 명령에 의해서 재생되는 재생경로 정보가 나타내는 재생경로에 따라서 상기 디지털 스트림을 재생하는 스텝과,
    사용자로부터 메뉴 호출을 접수하는 스텝을 구비하고,
    상기 오브젝트 데이터는 메뉴 호출을 실행하는가 여부를 나타내는 메뉴 호출 마스크 플래그와 상기 오브젝트 데이터를 리줌 하는가 여부를 나타내는 리줌 플래그를 더 포함하며,
    상기 재생방법은,
    상기 오브젝트 데이터의 실행중에 메뉴 호출이 접수된 경우에,
    상기 오브젝트 데이터에 포함되는 메뉴 호출 마스크 플래그에 따라서 상기 메뉴 호출을 실행하는가 여부를 제어하고,
    상기 메뉴 호출이 실행되는 경우에 상기 오브젝트 데이터에 포함되어 있는 리줌 플래그에 따라서 상기 오브젝트 데이터의 실행을 리줌 하는가 여부를 제어하는 것을 특징으로 하는 재생방법.
  3. 디지털 스트림과,
    상기 디지털 스트림의 재생경로를 나타내는 재생경로 정보와,
    상기 재생경로 정보를 재생하기 위한 명령을 포함하는 오브젝트 데이터를 기록하고 있고,
    상기 디지털 스트림은 상기 오브젝트 데이터에 포함되는 명령이 실행된 경우에 상기 명령에 의해서 재생되는 재생경로 정보가 나타내는 재생경로에 따라서 재생되며,
    상기 오브젝트 데이터는 메뉴 호출을 실행하는가 여부를 나타내는 메뉴 호출 마스크 플래그와 상기 오브젝트 데이터를 리줌 하는가 여부를 나타내는 리줌 플래그를 더 포함하고,
    상기 오브젝트 데이터는,
    상기 오브젝트 데이터의 실행중에 사용자로부터의 메뉴 호출이 접수된 경우에,
    상기 오브젝트 데이터에 포함되는 메뉴 호출 마스크 플래그에 따라서 상기 메뉴 호출을 실행하는가 여부를 제어하고,
    상기 메뉴 호출이 실행되는 경우에 상기 오브젝트 데이터에 포함되어 있는 리줌 플래그에 따라서 상기 오브젝트 데이터의 실행을 리줌 하는가 여부가 제어되는 것을 특징으로 하는 기록매체.
  4. 디지털 스트림과, 상기 디지털 스트림의 재생경로를 나타내는 재생경로 정보와, 상기 재생경로 정보를 재생하기 위한 명령을 포함하는 오브젝트 데이터를 기록매체에 기록하는 기록수단을 구비하며,
    상기 디지털 스트림은 상기 오브젝트 데이터에 포함되는 명령이 실행된 경우에 상기 명령에 의해서 재생되는 재생경로 정보가 나타내는 재생경로에 따라서 재생되고,
    상기 오브젝트 데이터는 메뉴 호출을 실행하는가 여부를 나타내는 메뉴 호출 마스크 플래그와 상기 오브젝트 데이터를 리줌 하는가 여부를 나타내는 리줌 플래그를 더 포함하며,
    상기 오브젝트 데이터는,
    상기 오브젝트 데이터의 실행중에 사용자로부터의 메뉴 호출이 접수된 경우에,
    상기 오브젝트 데이터에 포함되는 메뉴 호출 마스크 플래그에 따라서 상기 메뉴 호출을 실행하는가 여부를 제어하고,
    상기 메뉴 호출이 실행되는 경우에 상기 오브젝트 데이터에 포함되어 있는 리줌 플래그에 따라서 상기 오브젝트 데이터의 실행을 리줌 하는가 여부가 제어되는 것을 특징으로 하는 기록장치.
  5. 디지털 스트림과, 상기 디지털 스트림의 재생경로를 나타내는 재생경로 정보와, 상기 재생경로 정보를 재생하기 위한 명령을 포함하는 오브젝트 데이터를 기록매체에 기록하는 스텝을 구비하며,
    상기 디지털 스트림은 상기 오브젝트 데이터에 포함되는 명령이 실행된 경우에 상기 명령에 의해서 재생되는 재생경로 정보가 나타내는 재생경로에 따라서 재생되고,
    상기 오브젝트 데이터는 메뉴 호출을 실행하는가 여부를 나타내는 메뉴 호출 마스크 플래그와 상기 오브젝트 데이터를 리줌 하는가 여부를 나타내는 리줌 플래그를 더 포함하며,
    상기 오브젝트 데이터는,
    상기 오브젝트 데이터의 실행중에 사용자로부터의 메뉴 호출이 접수된 경우에,
    상기 오브젝트 데이터에 포함되는 메뉴 호출 마스크 플래그에 따라서 상기 메뉴 호출을 실행하는가 여부를 제어하고,
    상기 메뉴 호출이 실행되는 경우에 상기 오브젝트 데이터에 포함되어 있는 리줌 플래그에 따라서 상기 오브젝트 데이터의 실행을 리줌 하는가 여부가 제어되는 것을 특징으로 하는 기록방법.
  6. 삭제
KR1020107025010A 2003-02-21 2004-02-20 재생장치, 재생방법, 기록매체, 기록장치 KR101046869B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US44913603P 2003-02-21 2003-02-21
US60/449,136 2003-02-21
PCT/JP2004/002026 WO2004074976A2 (en) 2003-02-21 2004-02-20 Reording medium, playback device, recording method, playback method, and computer program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020087029750A Division KR101027200B1 (ko) 2003-02-21 2004-02-20 기록매체, 재생장치, 기록방법 및 재생방법

Publications (2)

Publication Number Publication Date
KR20100127883A KR20100127883A (ko) 2010-12-06
KR101046869B1 true KR101046869B1 (ko) 2011-07-06

Family

ID=32908689

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020057015371A KR101027249B1 (ko) 2003-02-21 2004-02-20 기록매체, 재생장치, 기록방법, 재생방법
KR1020107025010A KR101046869B1 (ko) 2003-02-21 2004-02-20 재생장치, 재생방법, 기록매체, 기록장치
KR1020087029750A KR101027200B1 (ko) 2003-02-21 2004-02-20 기록매체, 재생장치, 기록방법 및 재생방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020057015371A KR101027249B1 (ko) 2003-02-21 2004-02-20 기록매체, 재생장치, 기록방법, 재생방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020087029750A KR101027200B1 (ko) 2003-02-21 2004-02-20 기록매체, 재생장치, 기록방법 및 재생방법

Country Status (8)

Country Link
US (4) US7542659B2 (ko)
EP (3) EP1604367A2 (ko)
JP (5) JP3940164B2 (ko)
KR (3) KR101027249B1 (ko)
CN (2) CN1754225B (ko)
AU (2) AU2004214180B2 (ko)
MX (1) MXPA05008752A (ko)
WO (1) WO2004074976A2 (ko)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1604367A2 (en) 2003-02-21 2005-12-14 Matsushita Electric Industrial Co., Ltd. Reording medium, playback device, recording method, playback method, and computer program
TWI268499B (en) * 2003-03-07 2006-12-11 Samsung Electronics Co Ltd Information storage medium containing multi-path presentation data, reproducing apparatus of reproducing multi-path presentation data, and method of providing multi-path presentation data
RU2312411C2 (ru) * 2003-03-13 2007-12-10 Самсунг Электроникс Ко., Лтд. Носитель для хранения информации, хранящей множество заглавий, устройство и способ воспроизведения
KR100561479B1 (ko) 2003-03-13 2006-03-16 삼성전자주식회사 동영상으로 재생되는 복수개의 타이틀이 기록된정보저장매체, 그 재생 장치 및 재생 방법
US7620301B2 (en) * 2003-04-04 2009-11-17 Lg Electronics Inc. System and method for resuming playback
TW200518070A (en) * 2003-10-10 2005-06-01 Matsushita Electric Ind Co Ltd Recording medium, reproduction device, program, and reproduction method
KR100965883B1 (ko) * 2003-10-17 2010-06-24 삼성전자주식회사 모드 정보가 포함된 동영상 데이터가 기록된 저장 매체,재생 장치 및 재생 방법
CA2761989C (en) 2003-11-10 2013-11-26 Panasonic Corporation Recording medium, playback apparatus, program, playback method, system integrated circuit
US8391677B2 (en) 2004-01-09 2013-03-05 Panasonic Corporation Recording medium, reproduction device, program, reproduction method
JP3855273B2 (ja) * 2004-01-19 2006-12-06 船井電機株式会社 光ディスク再生装置
EP2180477A1 (en) 2004-07-22 2010-04-28 Panasonic Corporation Playback apparatus and playback method
KR100694123B1 (ko) * 2004-07-30 2007-03-12 삼성전자주식회사 동영상 데이터와 어플리케이션 프로그램이 기록된 저장매체 및 그 재생 장치 및 방법
JP3832666B2 (ja) * 2004-08-16 2006-10-11 船井電機株式会社 ディスク再生装置
US7609939B2 (en) 2004-08-17 2009-10-27 Lg Electronics Inc. Method and apparatus of reproducing data recorded on recording medium and local storage
US7609945B2 (en) 2004-08-17 2009-10-27 Lg Electronics Inc. Recording medium, and method and apparatus for reproducing data from the recording medium
US7613384B2 (en) 2004-08-17 2009-11-03 Lg Electronics Inc. Method for configuring composite file structure for data reproduction, and method and apparatus for reproducing data using the composite file structure
US7725010B2 (en) 2004-08-17 2010-05-25 Lg Electronics, Inc. Method and apparatus of reproducing data recorded on recording medium and local storage
US7599611B2 (en) 2004-09-13 2009-10-06 Lg Electronics Co. Recording medium, and method and apparatus of reproducing data recorded on the same
KR20060031750A (ko) * 2004-10-09 2006-04-13 삼성전자주식회사 동영상 재생 및 프로그래밍 기능을 위한 멀티미디어데이터를 기록한 저장매체, 그 재생장치 및 재생방법
KR101249218B1 (ko) * 2004-12-01 2013-04-03 파나소닉 주식회사 재생장치, 프로그램, 재생방법
US8306386B2 (en) 2004-12-01 2012-11-06 Panasonic Corporation Reproduction device, image synthesis method, image synthesis program, and integrated circuit
CN101416249B (zh) * 2004-12-06 2012-02-08 皇家飞利浦电子股份有限公司 扩展对于多个存储介质的交互性的方法、装置和记录介质
CN101084550B (zh) * 2004-12-20 2011-09-14 皇家飞利浦电子股份有限公司 盘保护方案
CN101088088A (zh) 2004-12-24 2007-12-12 皇家飞利浦电子股份有限公司 一种编辑节目检索信息的方法和装置
TWI323456B (en) * 2005-01-07 2010-04-11 Samsung Electronics Co Ltd Storage medium storing metadata for providing enhanced search function
KR100782810B1 (ko) * 2005-01-07 2007-12-06 삼성전자주식회사 확장 검색 기능을 제공하기 위한 메타데이터가 기록된 저장매체를 재생하는 방법 및 장치
KR20060085151A (ko) * 2005-01-21 2006-07-26 엘지전자 주식회사 기록매체, 기록매체 재생장치와 재생방법
CN102270482A (zh) 2005-01-28 2011-12-07 松下电器产业株式会社 记录介质、程序和再现方法
US8032007B2 (en) 2005-02-04 2011-10-04 Panasonic Corporation Reading device, program, and reading method
JP4968506B2 (ja) * 2005-03-04 2012-07-04 ソニー株式会社 再生装置、再生方法、およびプログラム
JP4968563B2 (ja) * 2005-03-04 2012-07-04 ソニー株式会社 再生装置、再生方法、および記録方法
JP5160407B2 (ja) * 2005-03-10 2013-03-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 仮想オブジェクトを表示する方法および装置
GB2428329A (en) * 2005-07-09 2007-01-24 Zootech Ltd Interactive switching between different versions of the same audiovisual event or production
KR100698277B1 (ko) * 2005-07-15 2007-03-22 엘지전자 주식회사 영상표시장치 및 이를 이용한 방송신호 재생 방법
BRPI0615070A2 (pt) * 2005-08-22 2016-09-13 Lg Electronics Inc método e aparelho para gerenciar reprodução de áudio para pelo menos um caminho de apresentação picture-in-picture, meio de gravação, método e aparelho para gravar estrutura de dados
KR20080002088A (ko) * 2006-06-30 2008-01-04 삼성전자주식회사 재생 제어 방법, 재생 제어 장치 및 정보 저장 매체
JP4963661B2 (ja) * 2007-10-16 2012-06-27 アルパイン株式会社 ビデオ再生装置
JP4963660B2 (ja) * 2007-10-16 2012-06-27 アルパイン株式会社 ビデオ再生装置
JP5106039B2 (ja) * 2007-10-24 2012-12-26 パナソニック株式会社 画像音声同期再生装置
JP2009180972A (ja) * 2008-01-31 2009-08-13 Panasonic Corp オーディオレジューム再生装置及びオーディオレジューム再生方法
EP2270801B1 (en) 2008-04-16 2018-12-05 Panasonic Intellectual Property Management Co., Ltd. Recording medium, recording device, recording method, and reproduction device
US20100023520A1 (en) * 2008-07-28 2010-01-28 Viewfinity Inc. Encapsulated file management systems
US8444485B2 (en) * 2008-08-05 2013-05-21 Warner Bros. Entertainment Inc. Seamless user navigation between high-definition movie and video game in digital medium
WO2010047123A1 (ja) * 2008-10-24 2010-04-29 パナソニック株式会社 Bd再生システム、bd再生装置、表示装置及びコンピュータプログラム
KR101383839B1 (ko) * 2010-10-27 2014-04-10 도시바삼성스토리지테크놀러지코리아 주식회사 멀티미디어 시스템
US20120106919A1 (en) * 2010-10-27 2012-05-03 Toshiba Samsung Storage Technology Korea Corporation Multimedia system
JP2013054796A (ja) * 2011-09-02 2013-03-21 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
JP5821631B2 (ja) * 2011-12-28 2015-11-24 富士通株式会社 再生装置、再生方法、及び再生プログラム
WO2016157860A1 (ja) * 2015-03-27 2016-10-06 パナソニックIpマネジメント株式会社 録画再生装置、および番組情報の表示方法
CN105828100A (zh) * 2016-03-21 2016-08-03 乐视网信息技术(北京)股份有限公司 一种音视频文件同时播放的方法、装置和系统
US10349136B2 (en) 2017-03-22 2019-07-09 Opentv, Inc. User-initiated transitioning between media content versions
EP3824465A1 (en) 2018-07-18 2021-05-26 Hypex S.r.l. Method for the creation of interactive audio-video contents of the live-action type for mobile terminals, electronic system for the implementation of the method, and mobile terminal for using the method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001332006A (ja) * 2000-05-17 2001-11-30 Toshiba Corp 背景画像取り込みシステム

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3089575B2 (ja) 1992-11-13 2000-09-18 三信工業株式会社 船外機の排気装置
JP2541464B2 (ja) * 1993-08-18 1996-10-09 日本電気株式会社 マルチメディア文書の記述・提示方法
EP0836192A1 (en) * 1993-10-29 1998-04-15 Kabushiki Kaisha Toshiba Multi-scene recording medium and method and apparatus for reproducing data therefrom
CA2192077C (en) * 1995-04-14 2001-02-27 Hideki Mimura Recording medium, apparatus and method for recording data on the recording medium, apparatus and method for reproducing data from the recording medium
CN100351911C (zh) * 1995-08-21 2007-11-28 松下电器产业株式会社 根据交互控制实现意外性场景展开的多媒体光盘再生装置
CN1106642C (zh) * 1995-08-21 2003-04-23 松下电器产业株式会社 制作者能自由协调引入特殊再现后的视听形态的光盘的再现装置及方法
JP2856363B2 (ja) 1995-08-21 1999-02-10 松下電器産業株式会社 光ディスクの再生装置
EP0831647B9 (en) * 1996-04-05 2002-11-27 Matsushita Electric Industrial Co., Ltd. Multimedia optical disk on which audio data of a plurality of channels and sub-video data together with time-varying image data, and device and method of reproducing the data
US6798981B1 (en) * 1996-04-05 2004-09-28 Matsushita Electric Industrial Co., Ltd. Multimedia optical disc for storing audio data and sub-picture data in a plurality of channels as well as moving picture data and apparatus and method for reproducing the multimedia optical disc
KR100217179B1 (ko) 1997-03-25 1999-09-01 윤종용 디지털비디오디스크 재생장치에서의 메뉴재생방법
CN1140902C (zh) * 1997-09-17 2004-03-03 松下电器产业株式会社 用于光盘的视频数据编辑设备
CA2247637A1 (en) 1997-09-17 1999-03-17 Matsushita Electric Industrial Co., Ltd. Video data editing apparatus, optical disc for use as a recording medium of a video data editing apparatus, and computer-readable recording medium storing an editing program
CN1309252C (zh) * 1997-09-17 2007-04-04 松下电器产业株式会社 将视频数据记录在光盘的设备和方法
JP2000132953A (ja) * 1998-10-22 2000-05-12 Toshiba Degital Frontier Kk 選択メニュー画面を記録した記録媒体
KR100583358B1 (ko) 1998-11-16 2006-05-25 코닌클리케 필립스 일렉트로닉스 엔.브이. 실시간 정보를 기록하는 방법 및 장치
US20060193606A1 (en) * 1999-04-21 2006-08-31 Interactual Technologies, Inc. Two navigation
US7178106B2 (en) * 1999-04-21 2007-02-13 Sonic Solutions, A California Corporation Presentation of media content from multiple media sources
KR100657241B1 (ko) * 1999-09-03 2006-12-18 삼성전자주식회사 동영상 기록/재생 장치와 방법 및 기록 매체
EP1286544B1 (en) * 2000-04-21 2011-07-06 Sony Corporation Recording apparatus and method, reproducing apparatus and method, recording medium, and program
CN1394441A (zh) * 2000-08-21 2003-01-29 皇家菲利浦电子有限公司 主动修改对应于处理和嵌入视频数据流的数据的视频内容的方法和系统
SG95685A1 (en) * 2001-01-10 2003-04-23 Samsung Electronics Co Ltd Recording medium with content stream data recorded thereon, recording apparatus, and reproducing apparatus therefor
EP2602791A3 (en) * 2001-03-08 2016-08-10 Sony Corporation Data reproduction apparatus, method and program
JP2002369154A (ja) 2001-04-02 2002-12-20 Matsushita Electric Ind Co Ltd ディジタル映像コンテンツの映像再生装置、映像再生方法、映像再生プログラム、パッケージメディア
KR20030007706A (ko) * 2001-04-02 2003-01-23 마츠시타 덴끼 산교 가부시키가이샤 디지털 영상 콘텐츠의 영상재생 장치, 영상재생 방법,영상재생 프로그램, 패키지 미디어
JP3354564B2 (ja) * 2001-08-30 2002-12-09 株式会社東芝 情報記録媒体とその再生方法及び記録方法
KR100550695B1 (ko) * 2002-06-24 2006-02-08 엘지전자 주식회사 다중 재생 경로 비디오 데이터의 재생을 관리하기 위한데이터 구조를 갖는 기록 매체와 그에 따른 기록 및 재생방법 및 장치
JP3837427B2 (ja) * 2002-09-12 2006-10-25 松下電器産業株式会社 記録媒体、再生装置、プログラム、再生方法、記録方法
JP3793152B2 (ja) * 2002-12-26 2006-07-05 株式会社東芝 情報記録方法、情報再生方法、情報再生装置及び情報記録媒体
EP1604367A2 (en) 2003-02-21 2005-12-14 Matsushita Electric Industrial Co., Ltd. Reording medium, playback device, recording method, playback method, and computer program
US7620301B2 (en) * 2003-04-04 2009-11-17 Lg Electronics Inc. System and method for resuming playback
JP4177705B2 (ja) * 2003-05-13 2008-11-05 株式会社東芝 情報記憶媒体、情報再生装置、情報再生方法
JP4138614B2 (ja) 2003-09-05 2008-08-27 株式会社東芝 情報記憶媒体、情報再生装置、情報再生方法
JP4171735B2 (ja) 2005-03-31 2008-10-29 日鉱金属株式会社 クロム含有銅合金の製造方法、クロム含有銅合金および伸銅品

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001332006A (ja) * 2000-05-17 2001-11-30 Toshiba Corp 背景画像取り込みシステム

Also Published As

Publication number Publication date
AU2009243507B2 (en) 2011-04-21
AU2009243507A1 (en) 2009-12-24
JP2007109382A (ja) 2007-04-26
US7542659B2 (en) 2009-06-02
US20070140653A1 (en) 2007-06-21
KR101027200B1 (ko) 2011-04-06
CN102394090B (zh) 2015-02-25
EP2261922A2 (en) 2010-12-15
JP4971386B2 (ja) 2012-07-11
US8145036B2 (en) 2012-03-27
JP3940164B2 (ja) 2007-07-04
US20080080839A1 (en) 2008-04-03
JP4445542B2 (ja) 2010-04-07
CN1754225B (zh) 2012-05-30
AU2004214180A1 (en) 2004-09-02
KR20050111599A (ko) 2005-11-25
EP2133880A3 (en) 2010-12-08
JP2008112561A (ja) 2008-05-15
CN1754225A (zh) 2006-03-29
MXPA05008752A (es) 2005-09-20
JP4129277B2 (ja) 2008-08-06
JP4971415B2 (ja) 2012-07-11
JP2010061809A (ja) 2010-03-18
EP2261922A3 (en) 2013-04-10
WO2004074976A8 (en) 2005-09-09
KR20100127883A (ko) 2010-12-06
JP2009187661A (ja) 2009-08-20
WO2004074976A2 (en) 2004-09-02
AU2004214180B2 (en) 2010-01-28
EP1604367A2 (en) 2005-12-14
EP2133880A2 (en) 2009-12-16
CN102394090A (zh) 2012-03-28
KR20080113134A (ko) 2008-12-26
US7650060B2 (en) 2010-01-19
US20090016702A1 (en) 2009-01-15
JP2006519453A (ja) 2006-08-24
US20090016701A1 (en) 2009-01-15
US8145037B2 (en) 2012-03-27
KR101027249B1 (ko) 2011-04-06

Similar Documents

Publication Publication Date Title
KR101046869B1 (ko) 재생장치, 재생방법, 기록매체, 기록장치
JP4510855B2 (ja) システムlsi
KR101249224B1 (ko) 재생장치, 재생방법, 프로그램
RU2378719C2 (ru) Способ создания файла управления проигрыванием для носителя записи и способ и устройство для воспроизведения данных с использованием файла управления списком воспроизведения
US20050135787A1 (en) Recording medium having a data structure for managing graphic information and recording and reproducing methods and apparatuses

Legal Events

Date Code Title Description
A107 Divisional application of patent
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: 20140603

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150529

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160517

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170522

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180518

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190516

Year of fee payment: 9