Technical Field
[0001] The present invention relates to a reproducing apparatus, a reproducing method, a
program, a program storage medium, a data delivery system, a data structure, and a
manufacturing method of a recording medium. More specifically, the present invention
relates to a reproducing apparatus, a reproducing method, a program, a program storage
medium, a data delivery system, a data structure, and a manufacturing method of a
recording medium for appropriately downloading an update file of a content already
recorded on a recording medium.
Background Art
[0002] DVD (digital versatile disk) video format is one of playback only standards of digital
versatile disks (DVDs). In the DVD video format, content data such as video and audio
is multiplexed with data of a variety of sub-pictures including caption, and is recorded
in a program stream on a disk. Navigation data is also recorded on the disk to reproduce
interactively the stream.
[0003] In interactive reproduction, data is reproduced at a desired position or in a desired
order. In the interactive reproduction, users can use a variety of functions of DVD.
The available functions include a multi-angle function in which videos captured at
various angles are reproduced, a multi-language function in which data is reproduced
in a desired language selected from a plurality of languages, a parental control function
in which a particular scene, such as a scene of violence, is prevented from being
reproduced.
[0004] A program stream can be produced by multiplexing a plurality of audio streams and
a plurality of caption data streams. If data of different languages is thus recorded
for one video content, such as a movie, on a single disk, a user can select voice
and caption of a desirable language at the beginning of or during video reproduction.
[0005] Patent Document 1 discloses a system that allows a user to easily download a content
as a video work, including sound effects, moving image, and still image. Patent Document
2 discloses a technique that allows a portion of entire music data to be replaced
with another data.
Disclosure of Invention
Problems to be Solved by the Invention
[0007] The user can naturally reproduce only contents recorded on a disk loaded on a player.
[0008] For example, if a disk having a movie content with English caption only is purchased,
the user can display the English caption pre-recorded on the disk. To view the same
movie content with another desired language different from the pre-recorded language,
the user needs to purchase a different disk with caption information of the other
desired language.
[0009] To sell disks of a movie content in countries of different languages, a seller of
the disks need to prepare disks with different caption information, or a plurality
of types of disks, such as disks of English language, disks of Japanese language,
and the like.
[0010] For example, when a bonus track is added, or when caption and voice are partially
modified, instead of the modification of an entire content, a disk with the bonus
track added thereon, and a disk with the caption and voice partially modified must
be newly prepared for re-distribution.
[0011] Preparing such disks takes time, possibly resulting in the loss of large business
chance.
[0012] The present invention has been developed in view of the above-described problem and
it is an object of the present invention to allow an update file of a content recorded
on a disk to be downloaded, or to be distributed in a removable recording medium to
easily handle a content file recorded on the disk and the update file.
Means for Solving the Problems
[0013] In accordance with a first aspect of the present invention, a reproducing apparatus
for acquiring a first data group and a second data group, and reproducing an AV stream
using the acquired first and second data groups, includes detecting means for detecting
a file system of the first data group, and virtual file system generating means for
generating a virtual file system containing at least a portion of each of the first
data group and the second data group, based on the file system of the first data group
detected by the detecting means, and attribute information containing first information
indicating a recording position of the second data group and second information indicating
a path in the virtual file system of the second data group.
[0014] A directory structure of the virtual file system may include at least a portion of
a directory structure in the file system of the first data group detected by the detecting
means.
[0015] The virtual file system may include a directory containing a play list file managing
reproduction of the AV stream, a directory containing a clip information file managing
the AV stream, and a directory storing the AV steam.
[0016] The second data group may be stored on one of a semiconductor memory and a magnetic
disk, and the first information may indicate a path in a file system in the one of
the semiconductor memory and the magnetic disk.
[0017] The reproducing apparatus may further include reproduction control means for controlling
reproduction of the AV stream by controlling reading of the first data group and the
second data group based on the virtual file system generated by the virtual file system
generating means.
[0018] The reproducing apparatus may further include storage means for storing the acquired
second data group, and management means for managing the file system of the second
data group in the storage means, wherein the reproduction control means controls the
reproduction by reading the second data group stored on the storage means based on
the first information and the second information contained in the attribute information,
the virtual file system, and the file system of the second data group managed by the
management means.
[0019] The reproducing apparatus may further include storage means for storing the acquired
second data group, wherein the second data group is stored on the storage means, and
also on another device connected to the reproducing apparatus via a network or a recording
medium loaded on the reproducing apparatus, wherein the first information indicates
a path of the second data group in the file system of the storage means, and wherein
the reproduction control means further controls acquisition of data to be read out
of the second data group stored on the other device or the recording medium if the
data to be read out of the second data group is not present in the path indicated
by the first information of the storage means.
[0020] The first data group may be stored on one of an optical disk, a semiconductor memory,
and a magnetic disk.
[0021] The reproducing apparatus may further include acquisition means for acquiring the
second data group from outside the reproducing apparatus, storage means for storing
the second data group acquired by the acquisition means, and reading means for reading
the first data group from a predetermined recording medium loaded on the reproducing
apparatus, wherein the reading means acquires the first data group by reading the
first data group from the predetermined recording medium loaded on the reproducing
apparatus or by reading the first data group from the storage means, the storage means
having stored, in an area different from the area where the second data group has
been stored, the first data group read by the reading means from the predetermined
recording medium.
[0022] The reproducing apparatus may further include first acquisition means for acquiring
the first data group, and second acquisition means for acquiring a third data group
as an update file of the second data group, wherein the second acquisition means acquires
the third data group in a state that the first acquisition means has acquired the
first data group acquired, and wherein the virtual file system generating means generates
the virtual file system containing at least a portion of each of the first data group
and the third data group, based on the file system of the first data group detected
by the detecting means, and attribute information containing third information indicating
a recording position of the third data group and fourth information indicating a path
in the virtual file system of the third data group.
[0023] The reproducing apparatus may further include first acquisition means for acquiring
the first data group, and second acquisition means for acquiring a third data group
as an update file of the second data group, wherein the second acquisition means acquires
the third data group in a state that the first acquisition means has not yet acquired
the first data group, and wherein the virtual file system generating means generates
the virtual file system containing at least a portion of each of the first data group
and the third data group, based on the file system of the first data group detected
by the detecting means, and attribute information containing third information indicating
a recording position of the third data group and fourth information indicating a path
in the virtual file system of the third data group.
[0024] The reproducing apparatus may further include storage means for storing a third data
group as an update file of the second data group, and storage control means for controlling
storage of the third data group onto the storage means, wherein one of the first data
group and the third data group contains third information indicating a combination
of the second data group and the third data group, the combination of the second data
group and the third data group being capable of reproducing all data contained in
the second data group and the third data group when the third data group is stored
on the storage means, and wherein the storage control means determines, based on the
third information, what data of the second data group cannot be reproduced due to
the controlling of the storage of the third data group onto the storage means.
[0025] The reproducing apparatus may further include notification means for outputting a
notification to a user, wherein when the storage control means determines that predetermined
data contained in the second data group cannot be reproduced due to the controlling
of the storage of the third data group onto the storage means, the notification means
issues a warning message to the user.
[0026] Each of the second data group and the third data group may contain first control
information for controlling a variety of stream data and reproduction of the stream
data, wherein when the storage control means determines that at least a portion of
the stream data contained in the second data group cannot be reproduced due to the
controlling of the storage of the third data group onto the storage means, the storage
control means generates second control information capable of reproducing all stream
data contained in the second data group and the third data group, and controls the
storage of the second control information onto the storage means.
[0027] The first control information and the second control information may contain the
first information and the second information.
[0028] The reproducing may further include notification means for outputting a notification
to a user, wherein each of the second data group and the third data group contains
reproduction control information for controlling a variety of stream data and reproduction
of the stream data, wherein when the storage control means determines that at least
a portion of the stream data contained in the second data group cannot be reproduced
due to the controlling of the storage of the third data group onto the storage means,
the storage control means acquires identification information uniquely identifying
the reproduction control information contained in the second data group, and the notification
means notifies the user of the identification information.
[0029] The reproducing apparatus may include storage means for storing the second data group,
data storage management means for managing storage or deletion of the second data
group on the storage means, and operation input acquisition means for acquiring an
operation input from a user, wherein the data storage management means deletes at
least a portion of data contained in the second data group stored on the storage means,
in response to an operation input by the user and acquired by the operation input
means, and wherein the virtual file system generating means re-generates the virtual
file system based on the attribute information when the data storage management means
deletes at least the portion of the data contained in the second data group.
[0030] The reproducing apparatus may further include communication means for exchanging
information with a predetermined information processing apparatus via a network, and
information display control means for controlling display of information assisting
the user in operation, wherein when the operation input acquisition means acquires
a command to delete data contained in the second data group stored on the storage
means, the data storage management means transmits, to the predetermined information
processing apparatus via the communication means, information indicating a state of
the virtual file system generated by the virtual file system generating means, the
communication means receives, from the predetermined information processing apparatus,
information indicating a list of deletable data out of data contained in the second
data group stored on the storage means, the information display control means controls
display of the information indicating the list of deletable data received via the
communication means, and the data storage management means deletes at least a portion
of the data contained in the second data group stored on the storage means, based
on the operation input of the user who references the list of the deletable data displayed
under the control of the information display control means, the operation input acquired
by the operation input acquisition means.
[0031] The reproducing apparatus may further include communication means for exchanging
information with a predetermined information processing apparatus via a network, wherein
the virtual file system generating means determines whether a malfunction is likely
to occur as a result of deletion of data in the virtual file system after at least
the portion of the data contained in the second data group stored on the storage means
is deleted, and if it is determined that the malfunction is likely to occur as a result
of data deletion, extracts data required to correct the malfunction, and requests
the predetermined information processing apparatus via the communication means to
transmit data required to correct the malfunction, and the communication means receives
the data required to correct the malfunction from the predetermined information processing
apparatus, and the data storage management means controls storage of the data, required
to correct the malfunction and received via the communication means, onto the storage
means.
[0032] In accordance with the first aspect of the present invention, a reproducing method
of a reproducing apparatus for reproducing an AV stream using a first data group and
a second data group, includes steps of detecting a file system of the first data group,
acquiring attribute information containing first information indicating a recording
position of the second data group and second information indicating a path in a virtual
file system of the second data group, and generating the virtual file system containing
at least a portion of each of the first data group and the second data group, based
on the detected file system of the first data group and the acquired attribute information.
[0033] The reproducing method may further include steps of acquiring a third data group
as an update file of the second data group, acquiring, from one of the first data
group and the third data group, third information indicating a combination of the
second data group and the third data group, the combination of the second data group
and the third data group being capable of reproducing all data contained in the second
data group and the third data group when the third data group is stored on a predetermined
storage section, and determining, based on the third information, whether any of data
contained in the second data group cannot be reproduced when the third data group
is stored onto the storage section.
[0034] In accordance with the first aspect of the present invention, a program for causing
a computer to reproduce an AV stream using a first data group and a second data group,
includes steps of detecting a file system of the first data group, acquiring attribute
information containing first information indicating a recording position of the second
data group and second information indicating a path in a virtual file system of the
second data group, and generating the virtual file system containing at least a portion
of each of the first data group and the second data group, based on the detected file
system of the first data group and the acquired attribute information.
[0035] In accordance with the first aspect of the present invention, the file system of
the first data group is detected to reproduce the AV stream using the first data group
and the second data group. The virtual file system containing at least a portion of
each of the first data group and the second data group is generated based on the detected
file system of the first data group and the attribute information containing the first
information indicating the recording position of the second data group and the second
information indicating the path in the virtual file system of the second data group.
[0036] In accordance with a second aspect of the present invention, a data structure of
third data to be supplied to a reproducing apparatus so that first data and second
data supplied to the reproducing apparatus are reproduced with the first and second
data associated with each other, includes first information indicating a path in a
file system of a recording section storing the first data in the reproducing apparatus,
and second information indicating a path of the first data in a virtual file system
of the reproducing apparatus, the virtual file system including at least a portion
of each of the first data and the second data.
[0037] In accordance with the second aspect of the present invention, a manufacturing method
of a recording medium, the recording medium storing third data to be supplied to a
reproducing apparatus so that first data and second data supplied to the reproducing
apparatus are reproduced with the first and second data associated with each other,
includes steps of generating data having a data structure including first information
indicating a path in a file system of a recording section storing the first data in
the reproducing apparatus, second information indicating a path of the first data
in a virtual file system of the reproducing apparatus, the virtual file system including
at least a portion of each of the first data and the second data, and recording the
generated data onto the recording medium.
[0038] In accordance with the second aspect of the present invention, the data having the
data structure containing the first information and the second information is provided
so that the first data and the second data supplied to the reproducing apparatus are
reproduced with the first and second data associated with each other. The first information
indicates the path in the file system of the recording section storing the first data
in the reproducing apparatus, and the second information indicates the path of the
first data in a virtual file system of the reproducing apparatus, the virtual file
system including at least a portion of each of the first data and the second data.
[0039] In accordance with a third aspect of the present invention, a reproducing apparatus
for reproducing an AV stream using a first data group and a second data group, includes
first acquisition means for acquiring the first data group, second acquisition means
for acquiring the second data group that is to be reproduced along with the first
data group, storage means for storing the second data group acquired by the second
acquisition means, extracting means for extracting, from the second data group stored
on the storage means, first information indicating a path in the second data group
in a file system of the storage means and second information indicating a path in
a virtual file system of the second data group, detecting means for detecting a file
system of the first data group, virtual file system generating means for generating
the virtual file system containing at least a portion of each of the first data group
and the second data group, based on the file system of the first data group detected
by the detecting means, and the first information and the second information extracted
by the extracting means, and reproducing means for reproducing the AV stream by reading
the acquired first data group and second data group based on the virtual file system.
[0040] In accordance with the third aspect of the present invention, a reproducing method
of a reproducing apparatus for reproducing an AV stream using a first data group and
a second data group, includes steps of acquiring the second data group along with
the first data group, storing the acquired second data group onto a storage section,
extracting, from the second data group stored on the storage section, first information
indicating a path in the second data group in a file system of the storage section
and second information indicating a path in a virtual file system of the second data
group, detecting a file system of the first data group, generating the virtual file
system containing at least a portion of each of the first data group and the second
data group, based on the detected file system of the first data group and the extracted
first information and second information, and reproducing the AV stream by reading
the first data group and the second data group based on the virtual file system.
[0041] In accordance with the third aspect of the present invention, a program for causing
a computer to reproduce an AV stream using a first data group and a second data group,
includes steps of acquiring the second data group along with the first data group,
storing the acquired second data group onto a storage section, extracting, from the
second data group stored on the storage section, first information indicating a path
in the second data group in a file system of the storage section and second information
indicating a path in a virtual file system of the second data group, detecting a file
system of the first data group, generating the virtual file system containing at least
a portion of each of the first data group and the second data group, based on the
detected file system of the first data group and the extracted first information and
second information, and reproducing the AV stream by reading the first data group
and the second data group based on the virtual file system.
[0042] In accordance with the third aspect of the present invention, the second data group
to be reproduced along with the first data group is acquired to reproduce the AV stream
using the first data group and the second data group. The acquired second data group
is stored. The first information and the second information are extracted from the
second data group. The first information indicates the path in the second data group
in the file system of the storage section and the second information indicates the
path in the virtual file system of the second data group. The file system of the first
data group is detected. The virtual file system containing at least a portion of each
of the first data group and the second data group is generated based on the detected
file system of the first data group and the extracted first information and second
information. The AV stream is then reproduced by reading the first data group and
the second data group based on the virtual file system.
[0043] In accordance with a fourth aspect of the present invention, a data delivery system
includes a reproducing apparatus for reproducing an AV stream based on information
recorded on a removable recording medium, and a data delivery apparatus for delivering
data to the reproducing apparatus. The reproducing apparatus includes detecting means
for detecting a file system of a first data group recorded on the recording medium,
data acquisition means for acquiring a second data group delivered from the data delivery
apparatus, first storage means for storing the second data group acquired by the data
acquisition means, and virtual file system generating means for generating a virtual
file system containing at least a portion of each of the first data group and the
second data group, based on a file system of the first data group detected by the
detecting means, and attribute information containing first information indicating
a path in a file system of the second data group on the storage means and second information
indicating a path in the virtual file system of the second data group. The data deliver
apparatus includes second storage means for storing a plurality of second data groups,
schedule management means for managing a delivery schedule of the second data group
to the reproducing apparatus, and selecting means for selecting any of the plurality
second data groups deliverable to the reproducing apparatus from among the plurality
second data groups stored on the second storage means, based on the schedule managed
by the schedule management means.
[0044] In accordance with the fourth aspect of the present invention, in the reproducing
apparatus, the file system of the first data group recorded on the recording medium
is detected, the second data group delivered from the data delivery apparatus is acquired,
the acquired second data group is stored, and the virtual file system containing at
least a portion of each of the first data group and the second data group is generated
based on the file system of the first data group detected by the detecting means,
and the attribute information containing the first information indicating the path
in the file system of the second data group on the storage means and the second information
indicating the path in the virtual file system of the second data group. In the data
delivery apparatus, the plurality of second data groups are stored, the delivery schedule
of the second data group to the reproducing apparatus is managed, and any of the plurality
second data groups deliverable to the reproducing apparatus from among the plurality
second data groups stored on the second storage means is selected based on the schedule
managed by the schedule management means.
Advantages
[0045] Since the virtual file system is generated in accordance with one aspect of the present
invention, the AV stream is reproduced using the first data group and the second data
group based on the virtual file system.
[0046] In accordance with another aspect of the invention, information required to perform
reproduction with the first data group and the second data group supplied to the reproducing
apparatus being associated with each other is provided.
[0047] In accordance with yet another aspect of the invention, the virtual file system is
created and data group contained in the virtual file system is delivered according
to a predetermined schedule.
Brief Description of the Drawings
[0048]
Fig. 1 is a block diagram illustrating a reproducing apparatus in accordance with
a first embodiment of the present invention.
Fig. 2 illustrates an application format on a recording medium to be loaded on the
reproducing apparatus of the first embodiment of the present invention.
Fig. 3 illustrates another example of the application format on the recording medium
to be loaded on the reproducing apparatus.
Fig. 4 illustrates a status of the reproducing apparatus on which a file has been
downloaded.
Fig. 5 illustrates an AV stream.
Fig. 6 is a block diagram illustrating a function of a controller of Fig. 1.
Fig. 7 illustrates a virtual file system.
Fig. 8 illustrates the virtual file system.
Fig. 9 illustrates a directory structure of a local storage.
Fig. 10 illustrates syntax of a manifest file.
Fig. 11 illustrates a value specifiable for operation_type.
Fig. 12 illustrates a value specifiable for permission contained in manifest ( ).
Fig. 13 illustrates a file system of an optical disk.
Fig. 14 illustrates a file system of a local storage 24.
Fig. 15 illustrates the specifying of a path name.
Fig. 16 illustrates a file/directory structure in a virtual disk.
Fig. 17 illustrates a definition of a content delivery file format of a content distributed
by a content author.
Fig. 18 illustrates a content recorded on an optical disk loaded on the reproducing
apparatus with MainPath added to the content.
Fig. 19 illustrates the content recorded on the optical disk on the reproducing apparatus
with MainPath added to the content.
Fig. 20 illustrates the content recorded on the optical disk on the reproducing apparatus
with SubPath added to the content.
Fig. 21 illustrates the content recorded on the optical disk on the reproducing apparatus
with SubPath added to the content.
Fig. 22 illustrates the content recorded on the optical disk on the reproducing apparatus
with SubPlayItem added to the content.
Fig. 23 illustrates the content recorded on the optical disk on the reproducing apparatus
with SubPlayItem added to the content.
Fig. 24 illustrates the content recorded on the optical disk on the reproducing apparatus
with SubPlayItem added to the content.
Fig. 25 illustrates the content recorded on the optical disk on the reproducing apparatus
with SubPlayItem added to the content.
Fig. 26 illustrates the content recorded on the optical disk on the reproducing apparatus
with Clip added to the content.
Fig. 27 illustrates the content recorded on the optical disk on the reproducing apparatus
with Clip added to the content.
Fig. 28 illustrates a status of PlayList subsequent to the addition and updating of
a file.
Fig. 29 illustrates a status of PlayList subsequent to the addition and updating of
a file.
Fig. 30 illustrates a list of deletable files displayed to a user.
Fig. 31 is a flowchart illustrating an addition and updating process performed on
a per file basis.
Fig. 32 is a flowchart illustrating a binding process 1.
Fig. 33 is a flowchart illustrating an addition and updating process performed on
a disk basis.
Fig. 34 is a flowchart illustrating a deletion process performed on a file basis.
Fig. 35 is a flowchart illustrating a deletion process performed on a disk basis.
Fig. 36 is a flowchart illustrating a reproduction process and a file system configuration
process.
Fig. 37 illustrates a syntax of an index file (index.bdmv).
Fig. 38 illustrates a syntax of indexes ().
Fig. 39 is a block diagram illustrating a structure of a server 3.
Fig. 40 is a functional block diagram illustrating a function of the server 3.
Fig. 41 is an arrow chart illustrating a process of the reproducing apparatus and
the server.
Fig. 42 illustrates the structure of the reproducing apparatus having a decryption
processor.
Fig. 43 is an arrow chart illustrating a process of the reproducing apparatus and
the server.
Fig. 44 is a flowchart illustrating a binding process 2.
Fig. 45 illustrates a file structure of an update file to be recorded on a removable
medium.
Fig. 46A illustrates a malfunction that could occur in an updating operation using
a removable medium.
Fig. 46B illustrates a malfunction that could occur in an updating operation using
a removable medium.
Fig. 47 illustrates the relationship between a manifest file and a language of a referenceable
caption.
Fig. 48 illustrates a mapping table of manifest files.
Fig. 49 is a flowchart illustrating a file-updating process 1 using a removable medium.
Fig. 50 is a flowchart illustrating a file-updating process 1.
Fig. 51 is a flowchart illustrating a file-updating process 2 using a removable medium.
Fig. 52 is a flowchart illustrating the file-updating process 2.
Fig. 53 illustrates the binding between file systems of data files recorded on a first
area and a second area on a local storage.
Fig. 54 is a flowchart illustrating a content reproduction process.
Fig. 55 illustrates manufacturing of a recording medium storing data replayable on
the reproducing apparatus.
Fig. 56 illustrates manufacturing of a recording medium recording data replayable
on the reproducing apparatus.
Reference Numerals
[0049] 1 reproducing apparatus, 11 optical disk, 21 controller, 22 optical disk drive, 23
memory, 24 local storage, 26 decoder, 31 menu screen display controller, 32 operation
input acquisition unit, 33 data acquisition unit, 34 local storage directory manager
34, 35 optical disk directory manager, 66 file system merge processor, 37 playback
controller, 252 download file determiner, 253 schedule manager, 301 reproducing apparatus,
311 decryption processor
Best Mode for Carrying Out the Invention
[0050] The embodiments of the present invention are described below with reference to the
drawings.
[0051] Fig. 1 is a block diagram illustrating the reproducing apparatus 1 in accordance
with a first embodiment of the present invention.
[0052] A controller 21 executes a prepared control program. The controller 21 also reads
a navigation program (to be discussed later) recorded on an optical disk 11 by controlling
a optical disk drive 22, and expands the navigation program on a memory 23 to execute
the navigation program. The controller 21 thus generally controls the reproducing
apparatus 1. When the optical disk 11 is loaded, the controller 21 causes a predetermined
menu screen to be displayed on an external display device.
[0053] Under the control of the controller 21, the optical disk drive 22 reads data from
the optical disk 11, and outputs the read data to one of the controller 21, the memory
23, and a decoder 26. If information read from the optical disk 11 by the optical
disk drive 22 is one of a navigation program and PlayList, the read information is
supplied to one of the controller 21 and the memory 23. If the information read from
the optical disk 11 by the optical disk drive 22 is one of an AV stream and text data,
the read information is output to the decoder 26.
[0054] Fig. 2 illustrates an application format of the optical disk 11 loaded on the reproducing
apparatus 1 of the present invention. The recording medium is the optical disk 11
herein. Alternatively, the recording medium can be a magnetic disk, a semiconductor
memory or the like.
[0055] The application format contains two layers of PlayList and Clip for managing an AV
(audio-visual) stream. A pair of one AV stream or text data and clip information accompanying
the AV stream or the text data is handled as one object and referred to as a clip.
A data file of the AV stream is referred to as an AV stream file. A data file of the
clip information is referred to as a clip information file.
[0056] Files used by computers are generally handled as byte strings. A content of an AV
stream file is expanded along time axis, and an access point of the clip is typically
specified by a timestamp in PlayList.
[0057] When the access point in the clip is specified by a timestamp in the PlayList, the
clip information file is used to find, from the timestamp, address information at
which decoding of the AV stream file is to be started.
[0058] The PlayList is a set of information indicating a reproduction period of the AV stream.
Information indicating one reproduction period in the AV stream is referred to as
PlayItem. PlayItem is represented by a pair of an IN point (reproduction start point)
and an OUT point (reproduction end point) of the reproduction period along time axis.
PlayList is composed at least one PlayItem as shown in Fig. 2.
[0059] As shown in Fig. 2, a first PlayList shown on the leftmost portion is composed of
two PlayItems. The two PlayItems reference a first portion and a second portion of
the AV stream contained in a first clip on the leftmost portion. A second PlayList
from the left is composed of a single PlayItem. The PlayItem references the entire
second clip shown on the right side. A third PlayList shown on a third position from
the left is composed of two PlayItems. The two PlayItems reference a predetermined
portion of the AV stream contained in the first clip and a predetermined portion of
the AV stream contained in the second clip shown on the right side.
[0060] Navigation program is a program for causing the controller 21 to control the order
of reproduction of PlayList and interactive reproduction of the PlayList. The navigation
program has also a function to display a menus screen on which a user enters a command
to execute reproduction. The navigation program is described in programming language
such as Java (registered trademark), and recorded on a recording medium such as the
optical disk 11. The controller 21 now executes the navigation program. If the first
PlayItem contained in the first PlayList shown on the leftmost portion of Fig. 2 is
specified as information indicating a reproduction position, the first portion of
the AV stream contained in the first clip shown on the leftmost portion, referenced
by the first PlayItem, is reproduced.
[0061] In addition to a main path specified by the PlayItem, sub path information specified
by a sub play item of Fig. 3 can be contained in the PlayList of Fig. 2. With the
SubPlayItem defined, a separate data stream not multiplexed with a clip (such as an
MPEG 2 transport stream) specified by PlayItem can be reproduced in synchronization
with the AV stream.
[0062] Caption-related information including a caption text file and a font file required
for rendering and SubPlayItem specifying a reproduction period of the caption-related
information are prepared in association with a clip AV stream of the main path specified
by PlayItem. The clip AV stream is reproduced while a caption corresponding to data
described in the caption text file is displayed on a display device in a display font
based on the font data written in the font file. For example, dubbed-in voice data
of a different language and SubPlayItem corresponding to the dubbed-in voice data
are prepared in association with the clip AV stream of the main path specified by
PlayItem. The clip AV stream is thus reproduced while the dubbed-in voice data of
the different language is reproduced and output at the same time.
[0063] The SubPlayItem and the corresponding data (clip) may be recorded on the optical
disk 11 or may be downloaded from the server 3 via the network 2 as additional data
(update data) or may be acquired in a removable medium (such as a removable medium
28 to be discussed later). A method of downloading the additional data from the server
3 will be described in detail later with reference to Fig. 4.
[0064] Returning to Fig. 1, the apparatus is further described.
[0065] The memory 23 stores data the controller 21 requires to execute a variety of processes.
A local storage 24 is an HDD (hard disk drive), for example. The local storage 24
may be a semiconductor memory instead of the HDD. The local storage 24 composed of
the semiconductor memory may be removably mounted on the reproducing apparatus 1.
[0066] An Internet interface 25 is connected to the network 2 in a wired fashion or a wireless
fashion. Under the control of the controller 21, the Internet interface 25 communicates
with the server 3 via the network 2, and supplies data downloaded from the server
3 to the local storage 24. The server 3 downloads a content that updates the data
discussed with reference to Fig. 2 and recorded on the optical disk 11 loaded on the
reproducing apparatus 1. The local storage 24 records the content downloaded from
the server 3 via the network 2.
[0067] The decoder 26 decodes the AV stream or text data, supplied from one of the optical
disk drive 22 and the local storage 24, and outputs the resulting video signal and
audio signal to the external display device. In response to the decoded signals from
the decoder 26, the display device outputs the content of the optical disk 11 (i.e.,
displaying a video and outputting an audio).
[0068] The operation input unit 29 includes an input device including buttons, keys, touchpanel,
jogdial, and the like, and a receiver receiving an infrared signal transmitted from
a predetermined remote commander. The operation input unit 29 receives an operation
input from a user, and supplies the operation input to the controller 21.
[0069] The controller 21 is connected to the drive 27, as necessary. A removable medium
28 is loaded on the drive 27. The removable medium 28 may include one of a magnetic
disk (including a floppy disk), an optical disk (such as compact disk read-only memory
(CD-ROM), or DVD), a magneto-optical disk such as Mini-Disk (MD (registered trademark)),
and a semiconductor memory.
[0070] Data recorded on the optical disk 11 loaded on the reproducing apparatus 1 and data
stored on the local storage 24 are reproduced as described below.
[0071] The reproducing apparatus 1 includes the local storage 24 such as HDD (Hard Disk
Drive). The reproducing apparatus 1, connected to the network 2 in a wired fashion
or a wireless fashion, stores on the local storage 24 the content downloaded from
the server 3 via the network 2. The server 3 downloads the data that updates the content,
such as a movie, recorded on the optical disk 11 loaded on the reproducing apparatus
1.
[0072] When the operation input unit 29 is commanded to reproduce the content recorded on
the optical disk 11 with the downloaded content recorded on the local storage 24,
the controller 21 associates the content recorded on the optical disk 11 with the
content recorded on the local storage 24, and performs a reproduction process of the
content.
[0073] The content on the optical disk 11 and the content on the local storage 24 are reproduced
in association with each other as described with reference to Fig. 4.
[0074] For example, the optical disk 11 of Fig. 1 may be a medium sold in package, and record
a movie content. Only an English caption text file, for example, may be recorded on
the optical disk 11 as a caption data file that can be displayed superimposed on the
video of the movie content.
[0075] The AV stream of clip 1 recorded on the optical disk 11 and referenced by the PlayItem
of the PlayList, as shown in Fig. 4, is a stream for displaying the video of the movie
content and reproducing the corresponding audio. Caption-related information 1 of
Clip 2 referenced by the SubPlayItem of the PlayList is a caption text file for displaying
an English caption to be superimposed on the video.
[0076] A user, for example, might want to view the movie content recorded on the optical
disk 11 with a caption of a language different from English. The optical disk 11 has
no recorded caption of the language different from English. In this condition, the
user cannot view the movie with the caption data of the language different from English.
[0077] The user then downloads a caption text file of the desired language of the movie
recorded on the optical disk 11 from the server 3 via the network 2 (or retrieves
the caption text file from the removable medium 28). The caption text file of Arabic,
for example, might be downloaded (or copied from the removable medium 28 to the local
storage 24).
[0078] When the user issues an instruction to download the caption text file of Arabic corresponding
to the PlayList pre-recorded on the optical disk 11, the reproducing apparatus 1 accesses
the server 3 and then downloads a file prepared on the server 3 for updating the content
recorded on the optical disk 11.
[0079] With reference to Fig. 4, there are shown clip 3 composed of an Arabic caption text
file (caption-related information 2) and a clip information file attached thereto,
a PlayList file (updated PlayList file) enabled to control reproduction and displaying
of caption data of clip 3 in addition to the video clip and the audio clip (AV stream
data), and the English caption text file pre-recorded on the optical disk 11, and
a new navigation program file updated from the navigation program file stored on the
optical disk 11. These pieces of information are downloaded and stored on the local
storage 24.
[0080] The updated PlayList includes SubPlayItem 1 and SubPlayItem 2, each representing
a sub path, in addition to PlayItem representing a main path. The PlayItem of the
updated PlayList is used to reference clip 1 containing the AV stream recorded on
the optical disk 11. SubPlayItem 1 is used to reference clip 2 containing caption-related
information 1 recorded on the optical disk 11. SubPlayItem 2 is used to reference
clip 3, downloaded from the server 3 together with the updated PlayList, containing
caption-related information 2 as the Arabic caption text file.
[0081] The new navigation program file of Fig. 4 specifies one of SubPlayItem 1 and SubPlayItem
2 together with PlayItem of the updated PlayList as a reproduction period. A desired
video is associated with audio data. With this arrangement, the user can display one
of the English caption defined by the English caption text file pre-recorded on the
optical disk 11 and the Arabic caption defined by the Arabic caption text file not
pre-recoded on the optical disk 11, whichever is desired.
[0082] When downloading from the server 3 (copying from the removable medium 28) is performed,
the reproducing apparatus 1 can reproduce and display any of clip 2 as the English
caption text file and clip 3 as the Arabic caption text file not pre-recoded on the
optical disk 11. More specifically, the user selects a desired language from caption
languages displayable on a menu screen presented on the display device. The user can
thus view the movie on any of English caption and Arabic caption.
[0083] The AV stream recorded on the optical disk 11 includes a moving picture experts group
(MPEG) 2 transport stream as shown in Fig. 5. Each MPEG 2 transport stream contains
an integer number of aligned units. The aligned unit has a size of 6144 bytes (2048x3
bytes), and starts with a first byte of a source packet. The source packet is 192
bytes long. One source packet contains TP_extra_header and a transport packet. TP_extra_header
is 4 bytes long, and the transport packet is 188 bytes long. One aligned unit is composed
of 32 source packets. Data of a video stream or an audio stream is packetized into
MPEG 2 PES (packetized elementary stream), and a PES packet is packetized into transport
packets.
[0084] Fig. 6 is a functional block diagram illustrating the controller 21 of Fig. 1.
[0085] The functions of Fig. 6 are executed when the controller 21 performs a prepared control
program or when the controller 21 performs a navigation program recorded on the optical
disk 11.
[0086] A menu screen display controller 31 causes the external display device to display
a menu screen. The menu screen shows buttons operated for the user to select the audio
of the content recorded on the optical disk 11, the language of the caption, the angle
of the video, and buttons operated for the user to select an update file to be downloaded,
and a file to be deleted.
[0087] An operation input acquisition unit 32 acquires a signal indicating a operation input
entered by the user via the operation input unit 29, and outputs the signal indicating
the user operation input to any corresponding one of the menu screen display controller
31, a data acquisition unit 33, a local storage directory manager 34, and a reproduction
controller 37.
[0088] The data acquisition unit 33 controls communications performed on the Internet interface
25 of Fig. 1 and information exchange with the removable medium 28 on the drive 27.
For example, the data acquisition unit 33 downloads the update file indicated by the
user from the server 3, and outputs the acquired file to the local storage directory
manager 34. Upon receiving information indicating a required file from the file system
merge processor 36 to be discussed later, the data acquisition unit 33 acquires the
required file from the server 3 through downloading, and outputs the acquired file
to the local storage directory manager 34.
[0089] The local storage directory manager 34 manages directories on the local storage 24,
controls writing of data onto the local storage 24, reading of data from the local
storage 24 and deleting of data from the local storage 24. The PlayList, read from
the local storage 24 under the control of the local storage directory manager 34,
is output to the memory 23. The audio data and the video data of the AV stream, and
text data of the caption text file, read from the local storage 24, are output to
the decoder 26. When the file system merge processor 36 merges a file system on the
optical disk 11 with a file system on the local storage 24, the local storage directory
manager 34 outputs information relating to the file system on the local storage 24
to the file system merge processor 36.
[0090] The optical disk directory manager 35 manages directories of the optical disk 11,
and controls reading of data from the optical disk 11. The optical disk 11 has author_id
and disc_id as identification information set thereon. The identification information
author_id and disc_id read from the optical disk 11 under the control of the optical
disk directory manager 35 are supplied to the data acquisition unit 33 and the local
storage directory manager 34. The PlayList, read from the optical disk 11 under the
control of the optical disk directory manager 35, is output to the memory 23. The
audio data and the video data of the AV stream and the text data of the caption text
file, read from the optical disk 11, are output to the decoder 26. When the file system
merge processor 36 merges the file system on the optical disk 11 with the file system
on the local storage 24, the optical disk directory manager 35 outputs information
relating to the file system on the optical disk 11 to the file system merge processor
36. The identification information author _id and disc_id will be described later.
[0091] The file system merge processor 36 merges the file system on the optical disk 11
supplied from the optical disk directory manager 35 and the file system on the local
storage 24 supplied from the local storage directory manager 34, thereby creating
a single virtual file system. The file system merge processor 36 outputs the created
virtual file system to the reproduction controller 37.
[0092] In a process to be discussed later, the file system merge processor 36 determines
whether a deletion of several files recorded on the local storage 24 can cause a malfunction
in a link structure of files in the virtual file system (in the link structure, data
is linked to reproduce the clip in accordance with the PlayList based on an application
format of the optical disk 11 as discussed with reference to Figs. 2 through 4). If
the file system merge processor 36 determines that a malfunction can take place in
the link structure of the files in the virtual file system, a file required to correct
the malfunction is extracted. Information regarding the required file is supplied
to the data acquisition unit 33. The required file can be downloaded as necessary.
[0093] When several files are deleted from the local storage 24, a file that cannot be reproduced
in accordance with any PlayList in the virtual file system (i.e., cannot be specified
by any of PlayLists) occurs. In the process to be discussed later, the file system
merge processor 36 commands the local storage directory manager 34 to delete such
an unnecessary file.
[0094] Whether or not to delete the unnecessary file caused in response to the deletion
of files may be set by the user.
[0095] The reproduction controller 37 executes the navigation program specified by the virtual
file system supplied from the file system merge processor 36, and controls reproduction
of content. More specifically, the reproduction controller 37 references the PlayList
supplied to and stored on the memory 23, and controls the local storage directory
manager 34 and the optical disk directory manager 35 to read the audio data and the
video data of the AV stream and, as necessary, the text data of the caption text file
from the optical disk 11 and the local storage 24 based on the virtual file system.
The reproduction controller 37 controls the decoder 26 of Fig. 1 to decode (reproduce)
the audio data and the video data of the AV stream and, as necessary, the text data
of the caption text file stored on one of the optical disk 11 and the local storage
24.
[0096] The file system merge processor 36 merges the file system on the optical disk 11
with the file system for managing a data group that is downloaded from the server
3 and recorded on the local storage 24. The merging operation is performed when the
optical disk 11 is loaded on the reproducing apparatus 1, when the reproduction of
a content recorded on the reproducing apparatus 1 is requested, when inputting or
outputting of any data recorded on one of the optical disk 11 and the local storage
24 is requested, or when the user issues a command to perform the merging operation.
[0097] A virtual file system is defined as an upper layer of a native file system of the
system of the reproducing apparatus 1 (i.e., the file system of the data actually
recorded on one of the optical disk 11 and the local storage 24). More specifically,
as shown in Fig. 7, an application program and a user handling the application program
can recognize only the virtual file system as an upper layer. The application program
causes the local storage 24 to record new data by downloading the new data from the
server 3, and reproduces the data actually stored on one of the optical disk 11 and
the local storage 24. The virtual file system abstracts the native file system, thereby
hiding a native structure such as a physical device and an operating system in the
reproducing apparatus 1.
[0098] The main functions of the virtual file system include mounting a file/directory on
a physical device (such as the optical disk 11 or the local storage 24) to create
a file system of a virtual disk recognized by the user, and supplying a file access
application programming interface (API) to the created virtual disk.
[0099] When the user enters an operation input requesting an access to any file recorded
on one of the optical disk 11 and the local storage 24, the application program of
Fig. 8 can recognize only the virtual file system. A local file system #1, and a local
file system #2 recorded on one of the optical disk 11 and the local storage 24 and
the structure of the file system of the optical disk 11 are hidden from the application
program and the user handling the application program, and can be accessed via the
virtual file system.
[0100] To perform a file access request of Fig. 8, the application program of the reproducing
apparatus 1 calls an API (Application Programming Interface) for file input and output
provided by the virtual file system, and then accesses the data stored on one of the
optical disk 11 and the local storage 24 without being aware of the physical structure
of the disk drive and the software structure of the file system. More specifically,
the API of the virtual file system calls, in practice, API of the native file system
within the reproducing apparatus 1.
[0101] The virtual file system provides a variety of types of APIs. For example, the virtual
file system provides an open API ( ) for opening a specified file, a close ( ) API
for closing a specified file, a seek () API for setting a reading position or writing
position of a specified file, a stat ( ) API for acquiring status of specified file,
a read ( ) API for reading a specified file, a write ( ) API for writing a specified
file, etc. The application program executed by the reproduction controller 37 manipulates
the files stored on one of the optical disk 11 and the local storage 24 using these
APIs.
[0102] The virtual file system has a function of dividing and managing a disk area of the
local storage 24. As shown in Fig. 9, the disk area of the local storage 24 has a
directory structure in which the disk area is divided into divisions for suppliers
of contents (content authors) on a per supplier basis. Directories disc_id immediately
under authar_id are flexibly configured in a file/directory structure by a content
author. A description of metadata (manifest data to be discussed later) contained
in the downloaded data defines where to place data on the local storage 24, i.e.,
defines the file/directory structure of the downloaded file.
[0103] In the file/directory structure of the local storage 24, author_id dividing the directory
is an identifier uniquely identifying an entity managing the metadata (manifest data
to be discussed later) contained in the downloaded data. More specifically, the author_id
identifier uniquely identifies an entity including a content producer, a motion picture
company, or a group including a plurality of content producers and motion picture
companies. An identifier disc_id uniquely identifies the optical disk 11 provided
by the content producer identified by the author_id identifier. These identifiers
are contained in the metadata of the downloaded data. The metadata (manifest data)
and the author_id and disc_id identifiers will be described later.
[0104] The file/directory structure of the virtual disk accessible by the application is
compatible with the file/directory structure of the optical disk 11. More specifically,
the data file structure under the author_id and disc_id identifiers is merged with
the data file structure of the optical disk 11. The virtual file system of the virtual
disk having file/directory structure compatible with the file/directory structure
of the optical disk 11 is thus configured.
[0105] The virtual file system also has a function of managing manifest files to be discussed
later in addition to the directory and file management function. The purpose of the
virtual file system of defining fields of the metadata to a file model of a native
file system is three fold, i.e., to display a name representing a content rather than
displaying a path or a name of a file of the local storage 24, to prevent double updating
of the same file in a download process, and to define a path name in the virtual file
system, namely, a path name during reproduction of the optical disk 11.
[0106] The virtual file system provides two functions in metadata management, namely, operation
of a manifest file and operation of metadata. The manifest file is metadata representing
a variety of attributes of the downloaded files. Manifest ( ) may be stored in a corresponding
file or may be merged with one file with a manifest_id identifier (to be discussed
later with reference to Fig. 10) of a manifest ( ) section used as a key for identification.
In either case, the file is referred to as a manifest file. The reproducing apparatus
1 storing the file downloaded to the local storage 24 must also store a manifest file.
The manifest file may be described in mark-up language text such as XML.
[0107] Fig. 10 illustrates a syntax of the manifest file.
[0108] The manifest_id identifier is an identifier of the manifest ( ) section.
[0109] A author_id field specifies an entity managing the manifest file. More specifically,
the author_id field specifies an identifier uniquely identifies a content producer,
a motion picture company, or a group including a plurality of content producers and
motion picture companies. The identifier is determined by referencing the author_id
field of a content distribution file to be discussed later with reference to Fig.
17. The application program or the user can freely set any value to this field.
[0110] A disc_id field is used to specify an identifier uniquely identifying the optical
disk 11 to the content producer identified by the author_id identifier. The identifier
is determined by referencing the disc_id field of the content distribution file to
be discussed later with reference to Fig. 17. The application program or the user
can freely set any value to this field.
[0111] A version field is used by a content author to manage history. History number is
within an integer range from 1 to 255, and the larger the number, the newer the content
is. The identifier is determined by referencing the version field of the content distribution
file to be discussed with reference to Fig. 17. Neither the application program nor
the user can set freely a value to this field.
[0112] In a display_name field, a name easily recognizable to the user is defined here.
More specifically, a character string such as "Japanese caption of title XXX", which
could be difficult to imagine from a file name alone, is set in the display_name field.
The character string is coded in accordance with ISO/IEC 10646-1.
[0113] In a source field, information indicating a source of a file is described. The value
in this field is coded in accordance with ISO/IEC 646. In the case of network downloading,
a URL of a download source is described.
[0114] An operation_type field is an 8-bit long field in which the content author specifies
a file updating method. Fig. 11 lists values specifiable to the operation_type field.
[0115] If 0x01 is described in the 8-bit operation_type field, the file updating method
in an archive is substitution (replacement) of PlayList. More specifically, an update
file with 0x01 written in the 8-bit operation_type field is downloaded. In the virtual
file system produced in a merging operation based on the update file, the PlayList
downloaded and recorded on the local storage 24 is referenced as is, and the PlayList
of the optical disk 11 is not referenced at all.
[0116] The file updating method performed with 0x01 described in the 8-bit operation_type
field will be described in detail later with reference to Figs. 18 and 19.
[0117] If 0x02 is described in the 8-bit operation_type field, a SubPath element is extracted
from the downloaded file, and the file systems are merged for updating so that the
extracted SubPath element is added to a SubPath element recorded on the optical disk
11.
[0118] The file updating method performed with 0x02 described in the 8-bit operation_type
field will be described in detail later with reference to Figs. 20 and 21.
[0119] If 0x03 is described in the 8-bit operation_type field, a SubPlayItem element is
extracted from the downloaded file and the file systems are merged for updating so
that the extracted SubPlayItem element is added to a SubPlayItem element recorded
on the optical disk 11.
[0120] The file updating method performed with 0x03 described in the 8-bit operation_type
field will be described in detail later with reference to Figs. 22 through 25.
[0121] If 0x04 is described in the 8-bit operation_type field, a SubClip_entry element is
extracted from the downloaded file and the file systems are merged for updating so
that the extracted SubClip_entry element is added to a SubClip_entry element recorded
on the optical disk 11.
[0122] The file updating method performed with 0x04 described in the 8-bit operation_type
field will be described in detail later with reference to Figs. 26 and 27.
[0123] A permission field is used for the content author to specify whether to set approval
information as a visible attribute or an invisible attribute.
[0124] Fig. 12 lists values specifiable for the permission field contained in the manifest
( ) of Fig. 10.
[0125] If 0x00 is described in the 8-bit permission field, the attribute of a file accompanied
by this metadata is invisible to the user. If 0x01 is described in the 8-bit permission
field, the attribute of a file accompanied by this metadata is visible to the user.
If 0x02 is described in the 8-bit permission field, the attribute of a file accompanied
by this metadata is overwrite inhibited.
[0126] A src_fite_name field contains information that uniquely identifies where the corresponding
file is recorded in the directory structure of the file system of the local storage
24. More specifically, this field specifies a "path name" representing a path identifying
a file with a file location in the hierarchical layer structure of the file system
of the local storage 24. Names of the file and directory representing the path name
are coded in accordance with ISO/IEC 646 Standards.
[0127] A dst_file_name field contains information that uniquely identifies where the corresponding
file is recorded in the directory structure at a bind destination in a virtual disk
of the file actually recorded on the local storage 24. More specifically, this field
specifies a "path name" representing a path identifying a file with a file location
in the hierarchical layer structure of the virtual file system. Names of the file
and directory representing the path name are coded in accordance with ISO/IEC 646
Standards.
[0128] The src_file_name and the dst_file_name fields can have the same file name.
[0129] An operational procedure of the metadata is described below.
[0130] The virtual file system defines API for reading the content of the manifest ( ) file
without disclosing the file name, the file location, or the physical structure of
the manifest ( ) file to the application program or the user.
[0131] More specifically, the application program or a resident program to be executed by
the reproducing apparatus 1 can indirectly access the manifest ( ) file by calling
the following APIs:
[0132] getProperty
argument 1:
character string type data
absolute path name of a file to be operated using metadata
argument 2:
character string type data
element name of metadata to be read
return value:
character string type data
metadata corresponding to an element specified by argument
function:
reading metadata from manifest ( ) file
[0133] In practice, detailed definition of API, such as type information, needs to be modified
depending on programming language specifications of software execution environment
of the reproducing apparatus 1.
[0134] Fig. 13 illustrates the file system of the optical disk 11. As shown in Fig. 13,
the file system of the optical disk 11 has a directory structure.
[0135] A directory named "BDMV" is arranged under the root directory of the optical disk
11. Under the directory "BDMV", a file named "Index.bdmv" and a file named "MoveObject.bdmv"
are stored. Hereinafter, these files are referred to as an Index file and a MoveObject
file, respectively, as appropriate. Each file is referred to as a designation of a
file name followed by "file", and each directory is referred to as a directory name
followed by "directory".
[0136] The Index file contains information relating to a menu for the reproduction of the
optical disk 11. The reproducing apparatus 1 causes a display device to display a
reproduction menu screen based on the Index file. The reproduction menu screen shows
items for reproducing all contents on the optical disk 11, reproducing a particular
chapter only, reproducing repeatedly a particular chapter, and displaying an initial
menu. MovieObject that is executed with any item selected is set in the Index file.
When a user selects one item from the reproduction menu screen, the reproducing apparatus
1 executes a MoveObject command set in the Index file.
[0137] The MovieObject file includes MovieObject. MovieObject includes a command controlling
the reproduction of the PlayList recorded on the optical disk 11. The reproducing
apparatus 1 selects and executes one of MovieObjects recorded on the reproducing apparatus
1, thereby reproducing the content recorded on the optical disk 11.
[0138] Arranged further under the BDMV directory are a directory named "BACKUP" (BACKUP
directory), a directory named "PLAYLIST" (PLAYLIST directory), a directory named "CLIPINF"
(CLIPINF directory), a directory named "STREAM" (STREAM directory), and a directory
named "AUXDATA" (AUXDATA directory).
[0139] The BACKUP directory stores files and data to back up files and data recorded on
the optical disk 11.
[0140] The PLAYLIST directory stores a PlayList file. Each PlayList file name is composed
of a file name of a five digit number with an extension .mpls attached thereto as
shown in Fig. 13.
[0141] The CLIPINF directory stores a clip information file. Each clip information file
is composed of a file name of a five digit number with an extension .clpi attached
thereto as shown in Fig. 13.
[0142] The STREAM directory stores a clip AV stream file and a substream file. Each stream
file has a file name of a five digit number with an extension .m2ts attached thereto
as shown in Fig. 13.
[0143] The AUXDATA directory stores files of data not contained in but referenced from the
clip AV stream file and the substream file and data used separately from the clip
AV stream and the substream file. As shown in Fig. 13, the AUXDATA directory stores
a caption font file named "11111.otf" and an effect sound file named "sound.bdmv."
[0144] The optical disk 11 stores the author_id and disc_id identifiers in the form of secure
electronic data that cannot be rewritten by the user, or in the form of physical pits.
The author_id identifier identifies a content author (also referred to as title author)
of a content manufacturer of the optical disk 11, such as a production company or
a distributing agency of a movie. The disc_id identifier identifies the type of the
optical disk 11 manufactured by the title author identified by the author_id identifier.
[0145] Fig. 14 illustrates the file system of the local storage 24. As shown in Fig. 14,
the file system of the local storage 24 has also a directory structure.
[0146] At least one directory named "author_id" is arranged under the root directory of
the local storage 24. At least one directory named "disc_id" is arranged under the
author_id directory. The disc_id directory includes a set of manifest ( ) sections
or a manifest file composed of one manifest ( ) section. The structure of the other
directories and files is freely set by the content author. The other directories and
files may have the same file/directory structure as the one of the optical disk 11
discussed with reference to Fig. 13, or may have the one as discussed with reference
to Fig. 14, which is quite different from the file/directory structure discussed with
reference to Fig. 13.
[0147] As shown in Fig. 14, the "disc_id" directory includes, in addition to the manifest
file, a plurality of directories including a "MainMovie" directory, a "SubTitle" directory,
and an "AUXDATA" directory. Those directories may further contain folders and files.
[0148] The file/directory structure of the local storage 24 of Fig. 14 is invisible to the
application program executed by the reproducing apparatus 1 or the user.
[0149] For example, in the manifest ( ) section of Fig. 10, "/MainMovie/movie01/main.r1.jp.mp2"
as the path name thereof might be specified in the src_file_name field, and "/STREAM/01002/m2ts"
as the path name thereof might be specified in the dst_file_name field. As shown in
Fig. 15, the downloaded data is recorded in a file name of main.r1.jp.mp2 in a movie01
directory within the MainMovie directory under the author_id and disc_id identifiers
in the local storage 24. In the virtual file system of the virtual disk, the downloaded
data is handled as a file named "01002.m2ts in the STREAM directory.
[0150] In this way, the content author can specify the path name of the local storage 24
in the src_file_name field, and the path name in the virtual file system of the virtual
disk in the dst_fite_name field of the manifest ( ) section of the downloaded package.
If the path name adapted to the virtual file system in the virtual disk is set in
the dst_file_name field, the content author can freely set a file/directory structure
under disc_id of the data actually recorded on the local storage 24 and newly add
directories and files under areas identified by the disc_id identifier in the reproducing
apparatus 1.
[0151] If the dst_file_name field in the manifest ( ) section remains blank at the downloading
of an actual file, that file cannot be referenced from the application program being
executed by the reproducing apparatus 1 (in other words, the application program being
executed by the reproducing apparatus 1 and the user cannot recognize the presence
of that file). The actual file is stored on the local storage 24, and the actual file
is correctly recognized in the file system of the local storage 24. With the dst_fite_name
field left blank, the file is considered as being absent from the virtual file system.
That file is thus hidden from the application program of the reproducing apparatus
1 and the user.
[0152] This feature is taken advantage of. An actual file is downloaded with the dst_file_name
field blanked in the manifest ( ) section. Later in the future, a manifest ( ) section
having the same manifest_id and a predetermined path name written in the dst_file_name
field is downloaded again to overwrite the manifest ( ) section. The application program
to be executed by the reproducing apparatus 1 thus operates in the same way as the
actual file is downloaded at the same timing as the downloading of the new manifest
( ) section.
[0153] For example, a plurality of bonus tracks was downloaded at a time, or delivered in
a predetermined recording medium, and later, only the manifest ( ) section containing
the dst_file_name field is downloaded for overwriting periodically so that the application
program recognizes different bonus tracks. In this arrangement, the user enjoys services
in which different bonus tracks are added from time to time without the need for downloading
frequently a vast amount of data.
[0154] In the synchronization (binding) between the actual file system of the optical disk
11 and the local storage 24 and the file system of the virtual disk, regardless of
whether it is a so-called static binding system or a dynamic binding system, a new
API for updating the virtual file system (for example, a update ( )) may be defined.
When that API is called in response to a user operation or explicitly by the application
program, the virtual file system is updated.
[0155] In the static binding, the actual file systems in the optical disk 11 and the local
storage 24 are referenced at the moment the optical disk 11 is loaded on the reproducing
apparatus 1 or at the timing of the switching of reproduction title in order to map
the file/directory structure in the virtual file system. In the dynamic binding, required
files are searched for at the moment a file input and output request is issued.
[0156] The file/directory structure of the virtual disk preferably matches the file/directory
structure of the optical disk 11. The file/directory structure of the optical disk
11 is formulated by standards and typically cannot be modified. Preferably, the structure
of actual directories and files in the local storage 24 is freely set by the content
author. If the file/directory structure of the virtual disk is set based on the fixed
file/directory structure of the optical disk 11, a reproduction process is performed
in compliance with standards such as the application format of the optical disk 11
while maintaining the freedom of data distributed by the content author at the same
time.
[0157] Fig. 16 illustrates the file/directory structure of the virtual disk.
[0158] A directory named "BDMV" is arranged under the root directory in the file/directory
structure of the virtual disk of Fig. 16. Under that directory, there are arranged
a file named "Index.bdmv" and a file named "MovieObject.bdmv".
[0159] The Index file contains information relating to a menu for reproducing a content
that is stored on the optical disk 11 and the local storage 24 and handled by the
application program as the one being recorded on the virtual disk. The reproducing
apparatus 1 causes the display device to display the reproduction menu screen in accordance
with the Index file. The reproduction menu screen may show items for reproducing all
contents on the optical disk 11, reproducing a particular chapter only, reproducing
repeatedly a particular chapter, and displaying an initial menu. MovieObject that
is executed with any item selected is set in the Index file. When a user selects one
item from the reproduction menu screen, the reproducing apparatus 1 executes a MoveObject
command set in the Index file.
[0160] The Index file will be described in detail later with reference to Figs. 37 and 38.
[0161] The MovieObject file includes MovieObject. MovieObject includes a command controlling
the reproduction of PlayList that is handled as being recorded on the virtual disk.
The reproducing apparatus 1 selects and executes one of MovieObjects that are handled
as being recorded on the virtual disk, thereby reproducing the content that is handled
as being recorded on the virtual disk.
[0162] Arranged under the BDMV directory are a directory named "BACKUP" (BACKUP directory),
a directory named "PLAYLIST" (PLAYLIST directory), a directory named "CLIPINF" (CLIPINF
directory), a directory named "STREAM" (STREAM directory), and a directory named "AUXDATA"
(AUXDATA directory).
[0163] The BACKUP directory stores files and data to back up files and data to be handled
as being recorded on the virtual disk.
[0164] The PLAYLIST directory stores a PlayList file. Each PlayList file name is composed
of a file name of a five digit number with an extension .mpls attached thereto in
the same way as in the optical disk 11.
[0165] The CLIPINF directory stores a clip information file. Each clip information file
is composed of a file name of a five digit number with an extension .clpi attached
thereto in the same way as in the optical disk 11.
[0166] The STREAM directory stores a clip AV stream file and a substream file. Each stream
file has a file name of a five digit number with an extension .m2ts attached thereto
in the same way as in the optical disk 11.
[0167] The AUXDATA directory stores files of data, not contained in the clip AV stream file
and the substream file handled as being recoded on the virtual disk, but referenced
from the clip AV stream file and the substream file, and files of data used separately
from the clip AV stream file and the substream file.
[0168] Information indicating a file on the menu screen displayed to the user has a name
typically specified in a display_name field. The file/directory structure of the virtual
disk discussed with reference to Fig. 16 is not hidden in nature from the application
program and the user. Depending on the application program executed by the reproducing
apparatus 1, the file/directory structure of the virtual disk may be displayed to
the user.
[0169] The definition of the content distribution file format the content author uses to
distribute the content is described with reference to Fig. 17. The file format for
content distribution may be individually determined on a per content file unit basis.
Alternatively, the file format may be an archive type containing metadata (manifest
( )) as shown in Fig. 17.
[0170] A package_header ( ) section and a package_body ( ) section in archive may take text
expression of mark-up language such as XML.
[0171] When the content author distributes contents on a per file unit basis, metadata (manifest
( )) is handled as an independent binary file or text file. In other words, an appropriate
state needs to be described in the manifest ( ) associated with a content distributed
on a per file unit basis in view of a directory structure expected subsequent to file
addition.
[0172] A compression_type field is used to specify a compression method of data within the
package_body ( ). If zero is specified in this field, data within the package_body
is non-compressive type.
[0173] An encryption_type field is used to specify a scramble (encryption) method of data
within the package_body ( ). If zero is specified in this field, the data within the
package_body ( ) is non-scrambled type (clear text).
[0174] As for the order of scrambling and compression of the data in the package_body, a
compression process is performed first, followed by a scrambling process.
[0175] A file_count field is used to specify the total number of files to be archived.
[0176] A manifest_id field is used to specify an identifier of the manifest ( ) section.
[0177] After archive data is downloaded, the manifest ( ) section may be stored on a per
file unit basis (on a per archive data unit basis) on the local storage 24. Alternatively,
the manifest ( ) section may be merged with a file with the manifest_id identifier
of a manifest ( ) section used as a key for identification.
[0178] An author _id field is a field in which the content author specifies an identifier
uniquely identifying a content producer.
[0179] A disc_id field is a field in which the content author specifies an identifier uniquely
identifying the optical disk 11 of a particular content producer. This archive is
update data for the optical disk 11 specified by the disc_id identifier.
[0180] A version field is a field the content author uses to manage history. History number
is represented by a number from 1 to 255, and the larger the number, the newer the
content is.
[0181] In a source field, a source URL of a file associated with the manifest ( ) is described.
The value in this field is coded in accordance with ISO/IEC 10646-1.
[0182] An operation_type field is a field in which the content author specifies a content
updating procedure. The value specifiable for the operation_type field remains unchanged
from the value discussed with reference to Fig. 11.
[0183] In a display_name field, a name easily recognizable to the user is defined here.
More specifically, a character string such as "Japanese caption of title XXX", which
could be difficult to imagine from a file name alone, is set in the display_name field.
The character string is coded in accordance with ISO/IEC 10646-1.
[0184] A permission field is used for the content author to specify whether to set approval
information as a visible attribute or an invisible attribute. The values specifiable
for the permission field remain unchanged from the values discussed with reference
to Fig. 12.
[0185] An src_file_name field is used to specify a path name of a file to be recorded on
the local storage 24 as previously discussed with reference to Fig. 15. The file/directory
name is encoded in accordance with ISO/IEC 646 standards.
[0186] A dst_file_name field is used to specify a path name of a file at a binding destination
in the virtual disk (virtual file system) as previously discussed with reference to
Fig. 15. The file/directory name is encoded in accordance with ISO/IEC 646 Standards.
[0187] The src_file_name and dst_file_name fields may take the same name.
[0188] A file_size field is used to specify the file size of a file prior to compression
by byte.
[0189] A file_data field is used to specify file data as a byte sequence.
[0190] The data of Fig. 17 having the described content distribution file format is downloaded,
and the reproducing apparatus 1 merges the downloaded data with the data recorded
on the loaded optical disk 11 to construct a virtual file system in the virtual disk.
The user who reproduces a content recorded on the optical disk 11 using the reproducing
apparatus 1 feels that the optical disk 11 is updated with bonus tracks and sounds
or captions of different language sounds added to the contents recorded on the optical
disk 11.
[0191] If the contents having the above-described format are updated, new data files are
downloaded for binding in the virtual file system discussed with reference to Fig.
16. For example, at least one of an Index file (Index.bdmv), a MovieObject file (MovieObjects.bdmv),
a PlayList file (*****.mpls), a ClipInformation file (*****.clpi), and a STREAM file
and AUXDATA file (*****.m2ts, *****.bdmv, and *****.otf) is added or updated. The
various types of additions defined by above-referenced operation_type, such as the
addition of MainPath and SubPath, are executed so that the above-described files are
downloaded and reproduced in association with the contents recorded on the optical
disk 11.
[0192] In a first example, MainPath is added to the content recorded on the optical disk
11 loaded on the reproducing apparatus 1.
[0193] For example, 0x01 is described in the 8-bit operation_type field. As shown in Fig.
18, a PlayList #1 file containing MainPath #1 and SubPath #1, a clip AV stream #1
file, and a caption text stream #1 file are recorded on the optical disk 11. A content
package downloaded from the server 3 contains a PlayList #2 file containing MainPath
#2, containing PlayItem #1 and PlayItem #2, and SubPath #1, and a clip AV stream #2
file for a bonus track or the like. Under this condition, the PlayList #2 file is
extracted from the content package, and the file system is updated so that the extracted
PlayList #2 file is substituted for the original PlayList #1 read from the optical
disk 11.
[0194] As shown in Fig. 19, before updating MainPath composed of PlayItem and SubPath composed
of SubPlayItem, namely, in the PlayList #1 of the optical disk 11, the clip AV stream
#1 to be referenced by PlayItem, and the caption text stream #1, to be referenced
by SubPlayItem and to be reproduced in synchronization with the clip AV stream are
reproduced. After updating of the contents recorded on the optical disk 11 (in other
words, after the file systems are merged and updated), the clip AV stream #2 corresponding
to the bonus tracks is reproduced subsequent to the clip AV stream #1 in PlayList
#2.
[0195] When PIayItem is added as discussed above with reference to Figs. 18 and 19, the
user can enjoy the contents recorded on the optical disk 11 loaded on the reproducing
apparatus 1 with the bonus track added thereon.
[0196] In a second example, SubPath is added onto the contents recorded on the optical disk
11 loaded on the reproducing apparatus 1.
[0197] For example, 0x02 is described in the 8-bit operation_type field. As shown in Fig.
20, a PlayList #1 file containing SubPath #1 containing SubPath #1, the clip AV stream
#1 file, and audio stream #1 file corresponding to sound of a second language are
recorded on the optical disk 11 (although MainPath is also recorded on the optical
disk 11, MainPath is mentioned only if updating is closely related to MainPath). A
content package downloaded from the server 3 contains a PlayList #1 file containing
SubPath #2, and a caption text stream #1 file. Under this condition, SubPath #2 is
extracted from the PlayList #1 file, and the file systems are merged with the extracted
SubPath #2 added to the original PlayList #1 read from the optical disk 11.
[0198] As shown in Fig. 21, before updating MainPath composed of PlayItem and SubPath composed
of SubPlayItem, namely, in the PlayList of the optical disk 11, a clip AV stream #1
to be referenced by PlayItem and an audio stream #1 being second sound data to be
reproduced in synchronization with the clip AV stream #1 and to be referenced by SubPlayItem
are reproduced. In the updated PlayList (with the file systems merged and thus updated),
a second SubPlayItem going to be reproduced in synchronization with the clip AV stream
#1 and permitting a reproduction period to be independently set is added to the sub
path on the contents recorded on the optical disk 11. The clip AV stream #1 to be
referenced by PlayItem and the audio stream #1 being the second sound data to be reproduced
in synchronization with the clip AV stream #1 and to be referenced by the first SubPlayItem
are reproduced. Furthermore, a caption text stream #1 permitting a reproduction period
to be set independent of the audio stream #1 is also reproduced.
[0199] When SubPath is added as described with reference to Figs. 20 and 21, the number
of paths to be selected by SubPath is increased. The user can thus enjoy the additionally
selected new caption.
[0200] In a third case, SubPlayItem is added to the contents recorded on the optical disk
11 loaded on the reproducing apparatus 1.
[0201] For example, 0x03 is written on the 8-bit operation_type field. As shown in Fig.
22, the optical disk 11 records a PlayList #1 file containing SubPath #1 composed
of SubPlayItem #1, a clip AV stream #1 file, and a caption text stream file. A content
package downloaded from the server 3 contains a PlayList #1 file containing SubPath
#1 composed of SubPlayItem #2, and a caption text stream file #2 file. The SubPlayItem
#2 is extracted from SubPath #1 in the PlayList #1 file in the content package, and
the file system is updated so that the extracted SubPlayItem #2 is added to the SubPath
#1 of the original PlayList #1 file read from the optical disk 11.
[0202] As shown in Fig. 23, before updating, the PlayList contains MainPath composed of
PlayItem and SubPath composed of SubPlayItem #1, and the clip AV stream #1 to be referenced
by PIayItem and the caption text stream file #1 to be reproduced in synchronization
with the clip AV stream #1 and to be referenced by SubPlayItem #1 are reproduced.
In the updated PlayList (with the file systems merged and thus updated), the clip
AV stream #1 to be referenced by PlayItem and the caption text stream file #1 to be
reproduced in synchronization with the clip AV stream #1 and to be referenced by the
SubPlayItem #1 are reproduced, and furthermore SubPlayItem #2 is additionally reproduced.
The caption text stream file #2 is thus reproduced in synchronization with the clip
AV stream #1.
[0203] As discussed above with reference to Figs. 22 and 23, SubPlayItem in SubPath is added.
The user can thus enjoy an additionally selectable caption.
[0204] In a fourth example, SubPlayItem is substituted in the contents recorded on the optical
disk 11 loaded on the reproducing apparatus 1.
[0205] For example, 0x03 may be written on the 8-bit operation_type field. As shown in Fig.
24, the optical disk 11 records a PlayList #1 file containing SubPath #1, composed
of SubPlayItem #1, a clip AV stream #1, and a caption text stream file #1. A content
package downloaded from the server 3 contains a PlayList #1 containing, SubPath #1
composed of SubPlayItem #1 and SubPlayItem #2, and a caption text stream file #2.
The optical disk 11 also stores SubPlayItem #1. (For distinction, the one recorded
on the optical disk 11 is referred to as SubPlayItem #1 and the one contained in the
content package is referred to as SubPlayItem #1'. The same is true of Figs. 24 and
25.) The SubPlayItem #1' and SubPlayItem #2 are extracted from SubPath #1 in the PlayList
#1 in the content package, and the file system is updated so that the extracted SubPlayItem
#1' and SubPlayItem #2 overwrite (replace) the SubPath #1 in the original PlayList
#1 file read from the optical disk 11.
[0206] As shown in Fig. 25, the PlayList contains MainPath composed of PlayItem and SubPath
composed of SubPlayItem #1 before updating. The clip AV stream #1 to be referenced
by PlayItem and the caption text stream file #1 to be reproduced in synchronization
with the clip AV stream #1 and to be referenced by SubPlayItem #1 are reproduced.
In contrast to the contents recorded on the optical disk 11, in the updated PlayList
(with the file systems merged and thus updated), the clip AV stream #1 to be referenced
by PlayItem, the caption text stream file #1 to be referenced by SubPlayItem #1',
and the caption text stream file #2 to be referenced by SubPlayItem #2 are reproduced.
The caption text reproduced in synchronization with the clip AV stream #1 is thus
added. If a reproduction period is the only difference between SubPlayItem #1' and
SubPlayItem #1 with SubPlayItem #1' having a longer reproduction period than SubPlayItem
#1, the reproduction period of the caption text is extended.
[0207] If SubPlayItem is substituted, causing the caption text stream reproduced by the
substitute SubPlayItem to be different from the original caption text stream as shown
in Figs. 24 and 25, the caption text stream reproduced in accordance with SubPlayItem
in SubPath is modified. The user is thus provided with a caption that has been changed
(modified) in the middle of reproduction.
[0208] In a fifth example, a clip is added on the contents recorded on the optical disk
11 loaded on the reproducing apparatus 1.
[0209] For example, 0x04 may be written on the 8-bit operation_type field. As shown in Fig.
26, the optical disk 11 records a PlayList #1 file containing SubPath #1, composed
of SubPlayItem #1, a clip AV stream #1 file associated with clip #1, and a caption
text stream #1 file corresponding to a caption of a first language. A content package
downloaded from the server 3 contains a PlayList #1 file containing SubPath #1, composed
of SubPlayItem #1 corresponding to clip #2, and a caption text stream #2 file corresponding
to a caption of a second language. The clip #2 is extracted from SubPath #1 in the
PlayList #1 in the content package, and the file system is updated so that the clip
#2 is added to the SubPlayItem #1 forming the SubPath #1 of the original PlayList
#1 file read from the optical disk 11.
[0210] As shown in Fig. 27, in the PlayList having MainPath composed of PlayItem and SubPath
composed of SubPlayItem, the clip AV stream #1 to be referenced by PlayItem and the
caption text stream file #1 of the first language caption to be reproduced in synchronization
with the clip AV stream #1 and to be referenced by SubPlayItem #1 are reproduced before
updating. In the updated PlayList (with the file systems merged and thus updated),
the clip AV stream #1 to be referenced by PlayItem, and the caption text stream file
#1 to be referenced by SubPlayItem #1 of the first language caption to be reproduced
in synchronization with the clip AV stream #1 are designed to be reproduced. Furthermore,
the clip #2 is added to the SubPlayltem forming the SubPath. The caption text stream
file #2 of the second language to be referenced by the SubPlayItem is thus reproduced
in synchronization with the clip AV stream #1.
[0211] The user is thus additionally provided with a caption of a selectable language if
the clip is added as discussed with reference to Figs. 26 and 27.
[0212] AV stream data of files other than the above described files can be recorded on the
optical disk 11 and then decoded by the decoder 26. For AV stream data of the files
other than the above described files, however, a virtual file system cannot be constructed
using a file downloaded on the local storage 24. The user of the reproducing apparatus
1 can neither add a file recorded on the optical disk 11 nor update a portion of the
file.
[0213] Distributors (content authors) of data may package files required for addition and
updating beforehand so that downloading of the files is performed on a disk basis
(by directory data basis represented by disc_id). In this arrangement, the reproducing
apparatus 1 is freed from the editing of the PlayList file.
[0214] If a new file having the same file name as an existing file during addition or updating,
the new file overwrites the existing file. If a new file having a file name different
from any of existing files during addition or updating, the new file is added.
[0215] New data having the structure of Fig. 17 is downloaded onto the reproducing apparatus
1 from the server 3 via the network 2. The new data is stored on the local storage
24 in accordance with a path name indicated by the src_file_name field written in
the manifest () as the metadata. A path in the virtual file system is set based on
a path name indicated by the dst_file_name written on the manifest (). An application
of the reproducing apparatus 1 (for example, an application performing a reproduction
process) can thus process, without difference, the data recorded on the optical disk
11 and the data recorded on the local storage 24 based on the virtual file system,
namely the path indicated by the dst_file_name field.
[0216] The application program executed by the reproducing apparatus 1 is described below.
Upon receiving a data addition command (download command), the application program
for performing a data addition process transmits manifest files (all or part of the
manifest files) responsive to the command to the server 3 via the network 2, and acquires
a content list of contents that can be currently added. The application program displays
the list of additional contents to the user, and the user selects a content to be
downloaded from the displayed list of contents.
[0217] When the user has selected the content to be downloaded, an application capable of
downloading the data from the server 3 (may or may not be the same application program
as the application program that can perform the data addition process and data reproduction
process) starts downloading the data.
[0218] When the downloading application program completes the downloading operation, a downloaded
file package group is mounted on the virtual file system by an application for managing
the file system. Through the static binding or the dynamic binding, the native file
system is synchronized with the virtual file system.
[0219] A file deletion process to delete a file in response to a user operation input is
described below. The reproducing apparatus 1 displays a menu screen showing a list
of files on an auxiliary storage device, using the manifest file. Viewing the menu
screen, the user deletes a file from the virtual file system on a file basis (on a
per content basis), or on a disk basis.
[0220] The deletion of a file from the virtual file system on a per file (content) basis
is described below.
[0221] For example, the deletion of the file from the virtual disk on a per content basis
means to the user that an English caption or a Japanese dubbed-in voice, not recorded
on the optical disk 11 but newly recorded on the virtual file system through downloading,
is selected on a per content basis and that the corresponding file group is deleted.
[0222] For example, the file addition and updating process is performed on the optical disk
11 loaded on the reproducing apparatus 1 as described with reference to Figs. 18 and
19, and the clip AV stream corresponding to the bonus track is added. The file addition
and updating process described with reference to Figs. 20 and 21 is performed, and
the caption text stream corresponding to the SubPath of the new caption is added.
The file addition and updating process described with reference to Figs. 22 and 23
is performed. The SubPlayItem is added, and thus the caption text stream corresponding
to the additional caption with SubPlayItem in the SubPath extended is thus added.
As shown in Fig. 28, the content recorded on the virtual file system of the virtual
disk includes the PlayList #1 containing the SubPath #1, the SubPlayItem #1, the SubPath
#2 and the SubPlayItem #2, the clip AV stream #1, the clip AV stream #2, and caption
text streams #1 through #3. As shown in Fig. 29, the clip AV stream #1 and the clip
AV stream #2 are consecutively reproduced in accordance with the main path specified
by the PlayItem. The caption text stream #1 and the caption text stream #3 are reproduced
in accordance with the SubPath #1 specified by the PlayItem #1. The caption text stream
#2 is reproduced in accordance with the SubPath #2 specified by the SubPlayItem #2.
In this condition, the user may issue a command to start a deletion process of any
file.
[0223] The local storage directory manager 34 in the controller 21 controls the data acquisition
unit 33, thereby accessing the server 3 via the Internet interface 25 and the network
2. For example, the local storage directory manager 34 transmits, to the server 3,
information indicating the current status of the virtual file system, such as manifest_id
relating to the content reproduced in accordance with the PlayList #1. The local storage
directory manager 34 then receives information relating to updatable data, namely,
information indicating a list of deletable files. The menu screen display controller
31 displays the list of deletable files to the user as shown in Fig. 30. French caption,
bonus track, and Japanese additional caption are included in the list of deletable
files.
[0224] If the user selects to delete the bonus track, the local storage directory manager
34 deletes a file corresponding to the bonus track selected by the user. The local
storage directory manager 34 can delete a file related to the manifest file within
a file package corresponding to the bonus track, thereby deleting the corresponding
manifest () section itself in the manifest file.
[0225] A file recorded on the local storage 24 is not necessarily referenced by a single
PlayItem only. More specifically, the deletion process can cause a malfunction in
the reproduction process of another area.
[0226] More specifically, a caption text stream file #n (n is an integer) referenced in
the bonus track to be deleted is designed to be reproduced in synchronization with
an AV stream file not to be deleted. However, if the caption text stream file #n is
also deleted in response to the deletion of the bonus track, the caption text stream
file #n cannot be reproduced in synchronization with the undeleted AV stream file.
[0227] The file system merge processor 36 determines whether the deletion process in the
virtual file system causes a malfunction in the reproduction process of another area.
If a link structure among data units is destroyed leading to a malfunction, the file
system merge processor 36 detects a data file required to reproduce another area,
and commands the data acquisition unit 33 to transmits to the server 3 a signal requesting
the downloading of the data file, and receives the required data file downloaded from
the server 3. As previously discussed, the local storage directory manager 34 expands
the data file on the local storage 24.
[0228] The file system merge processor 36 performs a binding process on the virtual file
system at the above-described timing regardless of whether a new file is downloaded
or not. The content is thus reproduced based on the virtual file system with the file
selected by the user deleted therefrom.
[0229] The file deletion from the virtual file system performed on a disk basis is described
below.
[0230] The file deletion from the virtual disk performed on a disk basis means that all
file groups contained in a directory corresponding to the disc_id on the local storage
24 are deleted. For example, all files related to the manifest file under disc_id
are deleted, and then the manifest () sections are also deleted.
[0231] An added file or an update file downloaded to be merged with the content of the optical
disk 11 and bound to the virtual file system is deleted. To the user, the file deletion
seems equivalent to initializing the optical disk 11 (having the original contents
only).
[0232] The process of the reproducing apparatus 1 is described below with reference to flowcharts.
[0233] The file-basis addition and updating process is described below with reference to
a flowchart of Fig. 31.
[0234] In step S1, the operation input acquisition unit 32 in the controller 21 determines,
based on a signal supplied from the operation input unit 29, whether a command to
start a disk-basis addition process, namely, an addition process of a file contained
in a directory represented by the predetermined disc_id identifier has been received.
If it is determined in step S1 that the command to start the file addition process
has not been received, the operation input acquisition unit 32 repeats step S1 until
it is determined that the start command has been received.
[0235] If it is determined in step S1 that the command to start the file addition process
has been received, the local storage directory manager 34 in the controller 21 controls
the data acquisition unit 33 in step S2, thereby accessing the server 3 via the Internet
interface 25 and the network 2 to transmit information indicating the status of the
current virtual file system, such as the manifest_id identifier of the manifest ()
section, to the server 3.
[0236] In step S3, the data acquisition unit 33 controls the Internet interface 25, thereby
determining whether information corresponding to the list of downloadable files has
been received from the server 3 via the network 2.
[0237] If it is determined in step S3 that the information corresponding to the list of
downloadable files has not been received, the menu screen display controller 31 controls
in step S4 displaying of an error message notifying the user that the file addition
process is disabled, and then ends the process.
[0238] If it is determined in step S3 that the information corresponding to the list of
downloadable files has been received, the data acquisition unit 33 supplies in step
S5 the menu screen display controller 31 with information regarding the list of downloadable
files transmitted from the server 3 and received via the Internet interface 25. The
menu screen display controller 31 causes a display device to display a menu screen
of the list of downloadable files from which the user is allowed to select one.
[0239] In step S6, the operation input acquisition unit 32 determines whether the user has
selected an item to be added using one of buttons and icons on the menu screen displayed
under the control of the menu screen display controller 31. If it is determined in
step S6 that any item the user may want to add has not been selected, step S6 is repeated
until it is determined that any item has been selected.
[0240] If it is determined in step S6 that the item the user may want to add has been selected,
the operation input acquisition unit 32 supplies in step S7, to the data acquisition
unit 33, information indicating the content of updating selected by the user. The
data acquisition unit 33 controls the Internet interface 25 and transmits information
indicating a requested file to the server 3 to request the server 3 to send back the
file selected by the user.
[0241] In step S8, the data acquisition unit 33 controls the Internet interface 25, thereby
causing the server 3 to download one of a PlayList file, a ClipInformation file, a
clip AV stream file, an audio file, a caption text stream file and a font file, prepared
as download files. The data acquisition unit 33 then notifies the local storage directory
manager 34 that these files have been downloaded.
[0242] In step S9, the local storage directory manager 34 determines whether the local storage
24 has already stored directories identified by the author_id and disc_id identifiers
contained in the manifest () of the downloaded files. If the corresponding directory
is present on the local storage 24, the downloaded data file is expanded on that directory.
If no corresponding directory is present, a new directory specified by the author_id
and disc_id identifiers is created, and the downloaded data file is then expanded
thereon.
[0243] In step S10, a binding process 1 to be described later with reference to Fig. 32
is performed.
[0244] Through this process, the update file is downloaded from the server 3, stored on
the local storage 24, and handled as an update file of the content recorded on the
optical disk 11.
[0245] For example, a user purchases an optical disk 11 having a content such as a movie
recorded thereon. The user then acquires a file required to display a caption of a
language unrecorded on the optical disk 11 or a file required to view a bonus track,
and then stores those files on the local storage 24. The application program for performing
the reproduction process can thus handle the data recorded on the optical disk 11
and the data recorded on the local storage 24 without any difference. As a result,
a virtual file system that hides the storage of physical data from the user and the
application program is produced.
[0246] Those update files may be downloaded free of charge or for a fee.
[0247] The binding process 1 executed in step S10 of Fig. 31 is described below with reference
to a flowchart of Fig. 32.
[0248] In step S21, the local storage directory manager 34 extracts a directory of a corresponding
disc_id from a downloaded data group stored on the local storage 24, and then supplies
the directory to the file system merge processor 36.
[0249] In step S22, the file system merge processor 36 references the src_file_name and
dst_file_name fields in the manifest file.
[0250] In step S23, the file system merge processor 36 binds a native file system to a virtual
file system based on the src_file_name and dst_file_name.
[0251] More specifically, the src_file_name presents a "path name" representing a path,
i.e., information uniquely identifying where the corresponding file is recorded in
the directory structure in the file system of the local storage 24. The dst_file_name
field presents a "path name" representing a path, i.e., information uniquely identifying
where the corresponding file is recorded in the directory structure at a binding destination
in the virtual disk of the file stored on the local storage 24.
[0252] For example, in the manifest () section described with reference to Fig. 10, "/MainMovie/movie01/main.r1.jp.mp2"
as a path name might be specified in the src_file_name field and "/STREAM/01002.m2ts"
as a path name might be specified in the dst_file_name field. As previously discussed
with reference to Fig. 15, the downloaded data is stored under a file name of main.r1.jp.mp2
in a movie01 folder in MainMovie folder on the local storage 24 in accordance with
the author _id and disc_id identifiers. In the virtual file system on the virtual
disk, the file system merge processor 36 performs the binding process so that the
downloaded data is handled as a file having a file name of 01002.m2ts in a STREAM
directory.
[0253] The content author can specify the path name in the local storage 24 in the src_file_name
field of the manifest () section of the downloaded file package, and the path name
of the virtual file system on the virtual disk in the dst_file_name field. If the
path name adapted to the virtual file system on the virtual disk (i.e., adapted to
the file system of the optical disk 11) is set in the dst_file_name field, the content
author can freely set the file/directory structure under the disc_id identifier and
add newly a directory and a file in an area under the disc_id identifier of the data
actually recorded on the local storage 24 in the reproducing apparatus 1.
[0254] An addition and updating process performed on a disk basis is described below with
reference to a flowchart of Fig. 33.
[0255] In step S41, the operation input acquisition unit 32 in the controller 21 determines,
based on a signal supplied from the operation input unit 29, whether a command to
start the disk-basis file addition and updating process, i.e., the file addition and
updating process of a file under the disc_id identifier of the data to be recorded
on the local storage 24 has been received. If it is determined in step S41 that the
command to start the file addition process has not been received, the operation input
acquisition unit 32 repeats step S41 until the start command has been received.
[0256] If it is determined in step S41 that the command to start the file addition process
has been received, the local storage directory manager 34 in the controller 21 controls
the data acquisition unit 33 in step S42, thereby accessing the server 3 via the Internet
interface 25 and the network 2 to transmit information indicating the status of the
current virtual file system, such as the manifest_id identifier of the manifest ()
section under the disc_id identifier, to the server 3.
[0257] In step S43, the data acquisition unit 33 controls the Internet interface 25, thereby
determining whether information corresponding to the list of downloadable disk-basis
files has been received from the server 3 via the network 2.
[0258] If it is determined in step S43 that the information corresponding to the list of
downloadable disk-basis files has not been received, the menu screen display controller
31 controls in step S44 displaying of an error message notifying the user that the
file addition process is disabled, and then ends the process.
[0259] If it is determined in step S43 that the information corresponding to the list of
downloadable files has been received, the data acquisition unit 33 supplies in step
S45 the menu screen display controller 31 with information regarding the list of downloadable
files transmitted from the server 3 and received via the Internet interface 25. The
menu screen display controller 31 causes a display device to display a menu screen
of the list of downloadable files from which the user is allowed to select one.
[0260] In step S46, the operation input acquisition unit 32 determines whether the user
has selected an item to be added using one of buttons and icons on the menu screen
displayed under the control of the menu screen display controller 31. If it is determined
in step S46 that any item the user may want to add has not been selected, step S46
is repeated until it is determined that any item has been selected.
[0261] If it is determined in step S46 that an item the user may want to add has been selected,
the operation input acquisition unit 32 supplies in step S47, to the data acquisition
unit 33, information indicating the content of updating selected by the user. The
data acquisition unit 33 controls the Internet interface 25 and transmits information
indicating a requested file to the server 3 to request the server 3 to send back the
file selected by the user.
[0262] In step S48, the data acquisition unit 33 controls the Internet interface 25, thereby
causing the server 3 to download a disk-basis file group prepared as download files.
The data acquisition unit 33 then notifies the local storage directory manager 34
that the disk-basis file group have been downloaded.
[0263] In step S49, the local storage directory manager 34 generates, on the local storage
24, directories identified by the author_id and disc_id identifiers contained in the
manifest ( ) of the downloaded files. The local storage directory manager 34 then
expands the downloaded disk-basis data on the generated directories on the local storage
24.
[0264] In step S50, the binding process 1 discussed with reference to Fig. 32 is performed.
[0265] Through this process, the update file is downloaded from the server 3, stored on
the local storage 24, and handled as an update file of the content recorded on the
optical disk 11.
[0266] For example, a user purchases an optical disk 11 having a content such as a movie
recorded thereon. The user then acquires, on a disk basis, a file required to display
a caption of a language unrecorded on the optical disk 11, a file required to view
a bonus track, and the like, and then stores those files on the local storage 24.
The application program for performing the reproduction process can thus handle the
data recorded on the optical disk 11 and the data recorded on the local storage 24
without any difference. As a result, a virtual file system that hides the storage
of physical data from the user and the application program is produced.
[0267] As the downloading of the update file on a file basis, the downloading of the update
file on a disk basis may be performed free of charge or for a fee.
[0268] The downloading of the update file on a file basis has been discussed with reference
to Fig. 31, and the downloading of the update file on a disk basis has been discussed
with reference to Fig. 33. Alternatively, the user can issue a command to start downloading
files without paying attention to the difference between file-basis downloading and
disk-basis downloading. More specifically, depending on whether the data to be downloaded
from the server 3 is on a file basis or a disk basis, the method of the local storage
directory manager 34 for expanding the data downloaded to the local storage 24 is
changed.
[0269] The deletion process performed on a file basis is described below with reference
to a flowchart of Fig. 34.
[0270] In step S71, the operation input acquisition unit 32 in the controller 21 determines,
based on a signal supplied from the operation input unit 29, whether a command to
start the file-basis file deletion process, i.e., the file deletion process of a file
on a directory under the disc_id identifier has been received. If it is determined
in step S71 that the command to start the file-basis deletion process has not been
received, the operation input acquisition unit 32 repeats step S71 until it is determined
that the start command has been received.
[0271] If it is determined in step S71 that the command to start the file-basis deletion
process has been received, the local storage directory manager 34 in the controller
21 controls the data acquisition unit 33 in step S72, thereby accessing the server
3 via the Internet interface 25 and the network 2 to transmit information indicating
the status of the current virtual file system, such as the manifest_id identifier
of the manifest ( ) section, to the server 3.
[0272] In step S73, the data acquisition unit 33 controls the Internet interface 25, thereby
determining whether updatable information, i.e., information corresponding to a list
of deletable items has been received from the server 3 via the network 2.
[0273] If it is determined in step S73 that the information corresponding to the list of
updatable items has not been received, the menu screen display controller 31 controls
in step S74 displaying of an error message notifying the user that the file deletion
process is disabled, and then ends the process.
[0274] If it is determined in step S73 that the information corresponding to the list of
updatable items has been received, the data acquisition unit 33 supplies in step S75
the menu screen display controller 31 with information regarding the list of updatable
items transmitted from the server 3 and received via the Internet interface 25. The
menu screen display controller 31 causes the display device to display a menu screen
of the list of updatable items from which the user is allowed to select one.
[0275] In step S76, the operation input acquisition unit 32 determines whether the user
has selected an item to be deleted using one of buttons and icons on the menu screen
displayed under the control of the menu screen display controller 31. If it is determined
in step S76 that any item the user may want to delete has not been selected, step
S76 is repeated until it is determined that any item has been selected.
[0276] If it is determined in step S76 that an item the user may want to delete has been
selected, the operation input acquisition unit 32 supplies in step S77, to the local
storage directory manager 34, information indicating the item the user has selected
as an item to be deleted. The local storage directory manager 34 deletes the selected
file from the local storage 24.
[0277] In step S78, the file system merge processor 36 determines whether the deletion process
executed in step S77 can cause any malfunction in the link structure of the files
in the virtual file system. If it is determined in step S78 that no malfunction can
be caused in the link structure of the files in the virtual file system, processing
proceeds to step S81.
[0278] If it is determined in step S78 that a malfunction can be caused in the link structure
of the files in the virtual file system, the file system merge processor 36 extracts
in step S79 a data file (or a folder or a directory) required to correct the malfunction,
and supplies the data file to the data acquisition unit 33. The data acquisition unit
33 controls the Internet interface 25, and transmits information indicating a requested
file to the server 3 to request the server 3 to download the file selected by the
user. The data acquisition unit 33 controls the Internet interface 25, thereby downloading
the file required to correct the malfunction and prepared by the server 3. The data
acquisition unit 33 then notifies the local storage directory manager 34 that these
files have been downloaded.
[0279] In step S80, the local storage directory manager 34 determines whether the local
storage 24 stores a directory identified by the author_id and disc_id identifiers
contained in the manifest () of the downloaded file. If the corresponding directory
is present on the local storage 24, the local storage directory manager 34 expands
the downloaded data file on that directory. If no corresponding directory is present
on the local storage 24, the local storage directory manager 34 generates a new directory
specified by the author_id and disc_id identifiers on the local storage 24 and expands
the downloaded data file there.
[0280] If it is determined in step S78 that no malfunction can be caused in the link structure
of the files in the virtual file system, or subsequent to step S80, the file system
merge processor 36 determines in step S81 whether a file having become unnecessary
as a result of the file deletion process in step S77, such as a file not to be reproduced
by any PlayList (file unspecified by all PlayLists) is set to be deleted. If it is
determined in step S81 that an unnecessary file is set to be left rather than being
deleted, processing proceeds to step S83.
[0281] If it is determined in step S81 that the unnecessary file is set to be deleted, the
file system merge processor 36 extracts in step S82 the unnecessary file and commands
the local storage directory manager 34 to delete the unnecessary file. In response
to the command from the file system merge processor 36, the local storage directory
manager 34 deletes the unnecessary file recorded on the local storage 24.
[0282] If it is determined in step S81 that the unnecessary file is set to be left rather
than being deleted, the binding process 1 discussed with reference to Fig. 32 is performed
in step S83 subsequent to step S82.
[0283] Through the above-described process steps, the update file downloaded from the server
3 and then stored on the local storage 24 is deleted on a file basis, namely, by file
unit containing the directory specified by the disc_id identifier.
[0284] The deletion process performed on a disk basis is described below with reference
to a flowchart of Fig. 35.
[0285] In step S111, the operation input acquisition unit 32 in the controller 21 determines,
based on a signal supplied from the operation input unit 29, whether a disk-basis
deletion command, namely, a command to start deleting all files contained in the directory
specified by the disc_id identifier has been received. If it is determined in step
S111 that the command to start the disk-basis deletion process has not been received,
step S111 is repeated until it is determined that the command to start the disk-basis
deletion process has been received.
[0286] If it is determined in step S111 that the command to start the disk-basis deletion
command has been received, the file system merge processor 36 extracts in step S112
a manifest file corresponding to the portion to be deleted, for example, the manifest
file corresponding to the author_id and disc_id identifiers of the optical disk 11
loaded on the reproducing apparatus 1, and causes the local storage directory manager
34 to read the corresponding manifest file.
[0287] In step S113, the local storage directory manager 34 deletes a file associated with
the manifest file from the local storage 24 based on the read manifest file.
[0288] In step S114, the local storage directory manager 34 deletes the manifest file corresponding
to the deleted portion from the local storage 24.
[0289] In step S115, the binding process 1 described with reference to Fig. 32 is performed,
and the process then ends.
[0290] All files contained in the directory identified by the disc_id identifier are deleted,
and the manifest file corresponding to the deleted files is also deleted. In the binding
process, the file system merge processor 36 binds zero directory and zero file because
no manifest file is found (i.e., binds nothing), and ends the binding process. Finally,
the file/directory structure on the optical disk 11 is managed as a virtual file system.
[0291] The update files downloaded from the server 3 and recorded on the local storage 24
is deleted as all files contained in the directory identified by the disc_id identifier.
[0292] As the file-basis file addition and deletion process, the disk-basis file deletion
process may be performed by transmitting information indicating the current virtual
disk (virtual file system) to the server 3 and receiving information regarding updatable
content from the server 3. Based on the information regarding the updatable content,
the deletion process may be performed.
[0293] A reproduction process and a file system configuration process are described below
with reference to a flowchart of Fig. 36. The binding method used herein is the static
binding.
[0294] In step S141, the optical disk directory manager 35 determines whether the optical
disk 11 is loaded. If it is determined in step S141 that the optical disk 11 is not
loaded, step S141 is repeated until it is determined that the optical disk 11 is loaded.
If it is determined in step S141 that the optical disk 11 is loaded, the optical disk
directory manager 35 reads the author _id and disc_id identifiers from the optical
disk 11, and outputs the read author_id and disc_id identifiers to the local storage
directory manager 34 and the file system merge processor 36. Processing proceeds to
step S142. The binding process 1 described with reference to Fig. 32 is executed.
[0295] In step S143, the reproduction controller 37 determines, based on an operation input
supplied via the operation input acquisition unit 32 by the user, whether a user command
input to reproduce a content has been received. If it is determined in step S143 that
no user command input to reproduce a content has not been received, processing proceeds
to step S148.
[0296] If it is determined in step S143 that the user command input to reproduce the content
has been received, the reproduction controller 37 controls in step S144 the local
storage directory manager 34 and the optical disk directory manager 35, thereby acquiring
the PlayList and the SubPlayItem by which the navigation program specifies a reproduction
period. The reproduction controller 37 further controls the local storage directory
manager 34 and the optical disk directory manager 35, thereby reading stream files
(an AV file, an audio file, a caption text stream file) referenced by the acquired
PlayList and SubPlayItem and supplying the read stream files to the decoder 26. A
timestamp represented by the PlayList and SubPlayItem is converted into address in
accordance with the clip information, and accessing to the AV stream is thus performed.
[0297] In step S145, the reproduction controller 37 controls the decoder 26, thereby reproducing
the content specified by the PlayItem.
[0298] In step S146, the operation input acquisition unit 32 determines whether an operation
input command to switch a reproduction title (content to be reproduced) has been received.
If it is determined in step S146 that the operation input command to switch the reproduction
title has not been received, processing proceeds to step S148.
[0299] If it is determined in step S146 that the operation input command to switch the reproduction
title has been received, the operation input acquisition unit 32 supplies a signal
responsive to the user operation input to the optical disk directory manager 35. The
optical disk directory manager 35 reads the author_id and disc_id identifiers from
the optical disk 11, and outputs the read author_id and disc_id identifiers to the
local storage directory manager 34. Processing proceeds to step S147. The binding
process 1 described with reference to Fig. 32 is executed. Subsequent to the end of
step S147, processing returns to step S144 to repeat step S144 and subsequent steps.
[0300] If it is determined in step S143 that the operation input command to reproduce the
content has not been received, or if it is determined in step S146 that the operation
input command to switch the reproduction title has not been received, the operation
input acquisition unit 32 determines in step S148 whether one of a file addition command
and a file deletion command has been received from the user.
[0301] If it is determined in step S148 that one of the file addition command and the file
deletion command has been received from the user, one of the data acquisition unit
33 and the local storage directory manager 34 executes in step S149 one of the file
addition process and the file deletion process as previously discussed with reference
to Figs. 31, and 33 through 35.
[0302] If it is determined in step S148 that none of the file addition command and the file
deletion command has been received, or subsequent to step S149, the operation input
acquisition unit 32 determines in step S150 whether a command to update the virtual
file system has been issued,.
[0303] If it is determined in step S150 that the command to update the virtual file system
has been issued, API (such as update ()) defined to update the virtual file system
is called. In step S151, the binding process 1 described with reference to Fig. 32
is executed.
[0304] If it is determined in step S150 that the command to update the virtual file system
has not been issued, or subsequent to step S151, the operation input acquisition unit
32 determines in step S152 whether a command to end the process of the reproducing
apparatus 1 (such as a command to end the application program or a command to power
off the reproducing apparatus 1) has been issued.
[0305] If it is determined in step S152 that the command to end the process of the reproducing
apparatus 1 has not been issued, processing returns to step S143 to repeat step S143
and subsequent steps. If it is determined in step S152 that the command to end the
process of the reproducing apparatus 1 has been issued, the process thus ends.
[0306] Through the process steps, the data recorded on the optical disk 11 and the data
downloaded from the server 3 and stored on the local storage 24 are bound to each
other to construct a virtual file system at a predetermined timing, and the content
is reproduced based on the virtual file system.
[0307] The update file of the content recorded on the optical disk 11 is downloaded and
then stored on the local storage 24 in the reproducing apparatus 1. The content file
recorded on the optical disk 11 and the update file stored on the local storage 24
are thus easily handled.
[0308] More specifically, the virtual file system is defined as an upper layer of the native
file system of the reproducing apparatus 1 (file system of the data actually recorded
on one of the optical disk 11 and the local storage 24). The file systems of the data
actually recorded on the optical disk 11 and the local storage 24 are merged to produce
the virtual file system. The manifest file as the metadata of the downloaded data
contains an author _id identifier uniquely identifying a content originator, and a
disc_id identifier uniquely identifying the optical disk 11 bearing the content created
by the content originator identified by the author _id identifier.
[0309] The disk area of the local storage 24 contains a directory structure which is segmented
on a per content supplier (content author) basis. In a disc_id directory immediately
below the author_id identifier, the content author may configure a flexible file/directory
structure. The location of the data stored in the disk area on the local storage 24,
namely, the file/directory structure of the downloaded file, is described as a path
name in the src_file_name field of the manifest data contained in the downloaded data.
[0310] The file/directory structure of the virtual disk accessible from the application
complies with the file/directory structure of the optical disk 11. A path name uniquely
identifying a binding destination in the virtual disk of the file stored on the local
storage 24 is specified in the dst_file_name field of the manifest data contained
in the downloaded data.
[0311] With this arrangement, the file/directory structure of the local storage 24 is hidden
from the application program executed by the reproducing apparatus 1 and the user.
[0312] It is also possible to delete part of a file recorded on the local storage 24. At
a predetermined timing after the deletion of part of the file, the binding process
is again executed and a new virtual file system is generated. If the deletion of the
file causes a malfunction in the link structure of the files in the virtual file system,
a file required to correct the malfunction is extracted, and then downloaded from
the server 3.
[0313] In the discussion of the above-referenced process, the downloading of files from
the server 3 is preformed from the command of the user. The server 3 may be accessed
to download the files therefrom immediately subsequent to the loading of the optical
disk 11 onto the reproducing apparatus.
[0314] As previously discussed with reference to Fig. 13, the Index file recorded on the
optical disk 11 contains information regarding a menu for reproducing the optical
disk 11. The reproducing apparatus 1 causes a display device to display a reproduction
menu screen based on the Index file. The reproduction menu screen shows items for
reproducing all contents on the optical disk 11, reproducing a particular chapter
only, reproducing repeatedly a particular chapter, and displaying an initial menu.
MovieObject that is executed with any item selected is set in the Index file. When
a user selects one item from the reproduction menu screen, the reproducing apparatus
1 executes a MoveObject command set in the Index file.
[0315] Fig. 37 illustrates a syntax of the Index file (Index.bdmv).
[0316] A type_indicator field includes an "INDEX" value encoded based on ISO 646.
[0317] A version_number field includes a four-character string representing a version number
of Index.bdmv, namely, the value "0089" encoded based on ISO 646.
[0318] An indexes_start_address field includes a start address of the Indexes () block.
[0319] An AppInfoBDMV ( ) field includes an individual identifier representing a source
of the optical disk 11.
[0320] A Indexes ( ) field includes a link to an application (MovieObject) for reading a
menu, searching a title, jumping to a predetermined title, or automatically initiating
the optical disk 1 when the optical disk is loaded on the reproducing apparatus 1.
The syntax of the Indexes () will be described later with reference to Fig. 38.
[0321] A padding_word field includes 0 or a positive integer inserted based on the syntax
of Index.bdmv.
[0322] Fig. 38 illustrates the syntax of Index.bdmv.
[0323] A length field represents how many bytes of information is written in Indexes ( ).
[0324] FirstPlayback is a data block containing information relating to Movie Object that
is automatically performed first when the optical disk 11 is loaded onto the reproducing
apparatus 1.
[0325] A FirstPlayback_mobj_id_ref field specifies a value of mobj_id of the first performed
Movie Object. The mobj_id is an ID uniquely identifying the respective Movie Object.
The Movie Object that is automatically performed in response to the loading of the
optical disk 11 onto the reproducing apparatus 1 may not be set. In other words, any
application is not executed in response to a mere loading of the optical disk 11 onto
the reproducing apparatus 1, but executed in response to a subsequent command from
a user. In such a case, "OXffff" is written in this field.
[0326] A TopMenu ( ) is a data block containing information regarding the Movie Object of
TopMenu called when the user displays a menu screen.
[0327] A TopMenu_mobj_id_ref field specifies the value of mobj_id of the Movie Object of
TopMenu. If TopMenu is not set in the optical disk 11, "0XFFFF" is written in this
field.
[0328] A number_of_Titles field represents the number of titles written in Indexes ( ).
[0329] A Title[title_id] ( ) block includes information regarding each title uniquely identified
by title_id. The assigned title_id starts with zero.
[0330] A Title_playback_type[title_id] field represents a playback type of a title identified
by the title_id. If the title is a content containing a moving image and audio, a
reproduction process is performed based on PlayList.
[0331] A Title_access_type[title_id] field includes information indicating whether the reproduction
of the title identified by title_id using Title_Search is permitted.
[0332] A Title_mobj_id_ref[title_id} field specifies the value of mobj_id of the Movie Object
having the title identified by title_id entered.
[0333] In FirstPlayback of the Index file (Index.bdmv) discussed with reference to Figs.
37 and 38, an application may be specified to transmit information indicating the
state of a current virtual file system. In such a case, the reproducing apparatus
1 accesses the server 3 immediately in response to the loading of the optical disk
11 onto the reproducing apparatus 1, transmits information indicating the state of
own virtual file system, and downloads files as necessary.
[0334] Fig. 39 is a block diagram illustrating the server 3.
[0335] A CPU (Central Processing Unit) 211 executes a variety of processes in accordance
with a program stored on a ROM (Read Only Memory) 212 and a program loaded to a RAM
(Random Access Memory) 213. The RAM 213 stores data required by the CPU 211 in the
execution of the processes.
[0336] The CPU 211, the ROM 212, and the RAM 213 are interconnected to each other via a
bus 214. The bus 214 connects to an input-output interface 215.
[0337] Also connected to the input-output interface 215 are an input unit 216 including
a keyboard and a mouse, an output unit 217 including a display and a loudspeaker,
a storage unit 218 including a hard disk, and a communication unit 219 including a
modem and a terminal adaptor. The communication unit 219 performs a communication
process via the network 2 such as the Internet.
[0338] The input-output interface 215 is also connected to a drive 220 as necessary. One
of a magnetic disk 231, an optical disk 232, a magneto-optical disk 233, and a semiconductor
memory 234 is loaded onto the drive 220. A computer program read from one of these
recording media is installed onto the storage unit 218 as necessary.
[0339] Fig. 40 is a block diagram of a function that is performed when the CPU 211 in the
server 3 executes a predetermined program. The server 3 is embodied when the CPU 211
executes the predetermined program to perform the function of Fig. 40. Alternatively,
the server 3 may be embodied using hardware units that perform the function of Fig.
40.
[0340] A virtual file system information acquisition unit 251 acquires information supplied
from the reproducing apparatus 1 via the network 2 and indicating the state of a current
virtual file system of the reproducing apparatus 1 and then supplies the information
to a download file determiner 252.
[0341] Based on the information supplied by the virtual file system information acquisition
unit 251 and indicating the state of the current virtual file system of the reproducing
apparatus 1, the download file determiner 252 selects, based on management of the
schedule of a schedule manager 253, a file that the reproducing apparatus 1 can download.
The download file determiner 252 generates a list of files, and supplies the list
of files to a control information transmission and reception controller 256, thereby
causing the control information transmission and reception controller 256 to supply
the list of files to the reproducing apparatus 1 via the network 2. In response to
the reception of information specifying a file, desired to be downloaded, from control
information transmission and reception controller 256, the download file determiner
252 reads from a content database 254 content data to be downloaded, or reads from
a manifest file database 255 a manifest file to be downloaded. The download file determiner
252 then supplies the read content data and the manifest file to a file transmitter
257, thereby transmitting the content data and the manifest file to the reproducing
apparatus 1 via the network 2.
[0342] The schedule manager 253 manages a schedule that the download file determiner 252
uses to select contents downloadable to the reproducing apparatus 1. By managing the
selection of the contents downloadable to the reproducing apparatus 1 in time sequence,
the server 3 can update, for example, advertisements to be reproduced on the reproducing
apparatus 1. The schedule manager 253 manages a download permit schedule on a per
content basis. For example, the schedule manager 253 downloads a movie A as a content
while downloading a preview of a movie B until a predetermined date. After the predetermined
date, the schedule manager 253 inhibits the downloading of the movie B and then downloads
a preview of another movie C.
[0343] For example, in the download permit schedule, the schedule manager 253 permits a
given commercial film to be downloaded as one matching the current season, or a particular
content to be downloaded during a predetermined campaign period only. Furthermore,
the schedule manager 253 manages the download permit schedule on a per manifest file
as to whether to permit each manifest file to be downloaded. More specifically, the
schedule manager 253 permits an update manifest file to be downloaded to the reproducing
apparatus 1 for a predetermined period of time or subsequent to a predetermined date
and time. In this way, the schedule manager 253 modifies files recognizable by the
reproducing apparatus 1.
[0344] The download permit schedule may be managed as table information that lists an ID
uniquely identifying each content and each manifest file, and download start date
or download permit period. The download permit schedule may be managed creating a
database therefor. If a content (such as a CM) or a manifest file downloaded together
with a predetermined content is managed in time sequence, the download permit schedule
may be managed as table information. The table information may list an ID uniquely
identifying a content, an ID uniquely identifying a content or a manifest file downloaded
together with the content, and a download start date or a download permit period of
a file downloaded together with the content. As another method, a database may be
created to manage the download permit schedule.
[0345] The content database 254 stores content data downloaded from the server 3 to the
reproducing apparatus 1. The manifest file database 255 stores manifest files downloaded
together with the content from the server 3 to the reproducing apparatus 1.
[0346] The control information transmission and reception controller 256 controls transmission
and reception of control information via the network 2 between the server 3 and the
network 2. More specifically, the control information transmission and reception controller
256 controls to the reproducing apparatus 1 the transmission of information indicating
a list of downloadable contents supplied from the download file determiner 252. The
control information transmission and reception controller 256 also controls from the
reproducing apparatus 1 the reception of information indicating a file desired to
be downloaded, thereby supplying the file to the download file determiner 252. The
file transmitter 257 controls to the reproducing apparatus 1 the transmission of the
file supplied from the download file determiner 252 for downloading.
[0347] The process of the reproducing apparatus 1 and the server 3 is described below with
reference to a flowchart of Fig. 41. In the process, the reproducing apparatus 1 accesses
the server 3 immediately after the optical disk 11 is loaded, and downloads files
as necessary.
[0348] In step S201, the optical disk drive 22 in the optical disk 11 determines whether
the optical disk 11 is loaded. If it is determined in step S201 that the optical disk
11 has not yet been loaded, step S201 is repeated until it is determined that the
optical disk 11 has been loaded.
[0349] If it is determined in step S201 that the optical disk 11 has been loaded, the controller
21 controls the optical disk drive 22 in step S202 to load data in a predetermined
area of the loaded optical disk 11, namely, data written in the FirstPlayback of the
above-mentioned Indexes (). The controller 21 expands the data onto the memory 23,
and reads and initiates an application specified in the FirstPlayback (). The application
specified by data written in the FirstPlayback () accesses the server 3 to download
files as necessary.
[0350] In step S203, the local storage directory manager 34 in the controller 21 controls
the data acquisition unit 33, thereby accessing the server 3 via the Internet interface
25 and the network 2. The local storage directory manager 34 thus transmits to the
server 3 information indicating the state of the current virtual file system, for
example, Manifest_id of the Manifest () section corresponding to disc_id of the loaded
optical disk 11.
[0351] In step S204, the virtual file system information acquisition unit 251 in the server
3 receives the information indicating the state of the current virtual file system
from the reproducing apparatus 1 via the network 2 and supplies the information to
the download file determiner 252.
[0352] In step S205, the download file determiner 252 references the supplied information
indicating the state of the current virtual file system, and determines whether file
updating is possible to the reproducing apparatus 1. If it is determined in step S205
that file updating is not possible, processing ends.
[0353] If it is determined in step S205 that file updating is possible, the download file
determiner 252 references in step S206 the schedule managed by the schedule manager
253, and determines whether the reproducing apparatus 1 has a content in need of updating.
The schedule manager 253 manages the schedule for use in selection of a content downloadable
to the reproducing apparatus 1.
[0354] If it is determined in step S206 that the reproducing apparatus 1 has no content
in need of updating, the download file determiner 252 in the server 3 supplies in
step S207 the control information transmission and reception controller 256 with information
notifying the reproducing apparatus 1 that there is no downloadable file. The control
information transmission and reception controller 256 transmits to the reproducing
apparatus 1 the information notifying the reproducing apparatus 1 that there is no
downloadable file.
[0355] In step S208, the data acquisition unit 33 in the controller 21 in the reproducing
apparatus 1 receives from the server 3 via the network 2 the notification that there
is no downloadable file, and supplies the menu screen display controller 31 with the
notification. The menu screen display controller 31 notifies the user that there is
no downloadable file, by displaying a message to that effect. The reproducing apparatus
1 waits on standby for an operation input from the user.
[0356] If it is determined in step S206 that there is a content in need of updating, the
download file determiner 252 in the server 3 generates in step S209 information corresponding
to a list downloadable files, and supplies the control information transmission and
reception controller 256 with the information. The control information transmission
and reception controller 256 transmits to the reproducing apparatus 1 via the network
2 the information corresponding to the list of downloadable files.
[0357] In step S210, the data acquisition unit 33 in the controller 21 in the reproducing
apparatus 1 receives the information corresponding to the list of downloadable files
from the server 3 via the network 2, and supplies the menu screen display controller
31 with the received information. The menu screen display controller 31 causes the
display device to display a menu screen from which the user can select a desired file
on the list of the downloadable files.
[0358] In step S211, the operational input acquisition unit 32 in the controller 21 in the
reproducing apparatus 1 determines whether a command to add a content has been received
from the user. If it is determined in step S211 that no command has been received,
step S211 is repeated until it is determined the command to add the content has been
received.
[0359] If it is determined in step S211 that the command to add the content has been received,
the operational input acquisition unit 32 supplies in step S212 the data acquisition
unit 33 with information indicating update content selected by the user. The data
acquisition unit 33 controls the Internet interface 25, thereby transmitting information
indicating a requested file to the server 3 and requesting the server 3 to download
the file requested by the user.
[0360] In step S213, the download file determiner 252 receives a signal indicating the download
requested file transmitted from the reproducing apparatus 1 via the network 2, and
supplies the download file determiner 252 with the signal.
[0361] In step S214, the download file determiner 252 reads the requested file from one
of the content database 254 and the manifest file database 255, and supplies the file
transmitter 257 with the read file. The file transmitter 257 transmits the request
file to the reproducing apparatus 1 via the network 2.
[0362] In step S215, the data acquisition unit 33 in the controller 21 in the reproducing
apparatus 1 controls the Internet interface 25, thereby causing the server 3 to download
a PlayList file, a ClipInformation file, a ClipAV stream file, an audio file, a caption
text stream file, or a font file as a download file, and then notifies the local storage
directory manager 34 that these files have been downloaded.
[0363] In step S216, the local storage directory manager 34 determines, based on author_id
and disc_id contained in Manifest () of the downloaded file, whether a directory identified
by these IDs is already present in the local storage 24. If it is determined in step
S216 that the corresponding directory is already present, the downloaded data file
is expanded onto that directory. If there is no corresponding directory, a new directory
specified by author_id and disc_id is created in the local storage 24 and the downloaded
data file is then expanded onto that directory.
[0364] Processing ends after the binding process 1 discussed with reference to Fig. 32 is
performed in step S217.
[0365] If the application to access the server 3 and transmit the information indicating
the state of the current virtual file system is specified in the FirstPlayback of
the Index file (Index.bdmv), the reproducing apparatus 1 accesses the server 3 immediately
subsequent to the loading of the optical disk 11, transmits the information indicating
the state of own virtual file system, and downloads a file as necessary.
[0366] As described above, the server 3 manages the schedule for use in selection of the
contents downloadable to the reproducing apparatus 1. For example, the server 3 downloads
a movie A as a content while downloading a preview of a movie B until a predetermined
date. After the predetermined date, the server 3 inhibits the downloading of the movie
B and then downloads a preview of another movie C. Furthermore, the server 3 manages
the download permit schedule on a per content basis or on a manifest file basis so
that an update manifest may be downloaded to the reproducing apparatus 1 after a predetermined
date or during a predetermined period of time. In this way, the server 3 updates the
files recognizable by the reproducing apparatus 1.
[0367] In the above-described process, the content downloaded from the server 3 is not encrypted.
An encryption key may be stored on the optical disk 11 and a new decryption processor
may be arranged in the reproducing apparatus. Alternatively, the controller 21 in
the reproducing apparatus 1 may have the decryption function using an encryption key,
and a content downloaded from the server 3 is decrypted using the encryption key recorded
on the optical disk 11, and is then subjected to the binding process.
[0368] Fig. 42 illustrates a reproducing apparatus having a decryption processor.
[0369] A reproducing apparatus 301 is basically identical to the reproducing apparatus 1
of Fig. 1 except that a decryption processor 311 is included.
[0370] The decryption processor 311 receives an encryption key that the optical disk drive
22 has read from the optical disk 11, and also receives a data file as an encrypted
content from the local storage 24. Under the control of the controller 21, the decryption
processor 311 decrypts the content and supplies the decrypted content to one of the
memory 23 and the decoder 26.
[0371] A process performed by the reproducing apparatus 301 of Fig. 42 and the server 3
is described below with reference to a flowchart of Fig. 43.
[0372] The process performed by the reproducing apparatus 301 in steps S251 through S253
is basically identical to the process performed by the reproducing apparatus 1 in
steps S201 through S203 of Fig. 41.
[0373] When the optical disk 11 is loaded, the data recorded on a predetermined area of
the loaded optical disk 11 is loaded, and the application to download the file as
necessary is performed with the server 3 being accessed by the reproducing apparatus
301. The information indicating the state of the current virtual file system, i.e.,
Manifest_id of the corresponding Manifest ( ) section is transmitted to the server
3.
[0374] In step S254, the optical disk drive 22 reads the encryption key from the optical
disk 11 and then supplies the decryption processor 22 with the encryption. The decryption
processor 22 stores the supplied encryption key.
[0375] The process performed by the reproducing apparatus 301 and the server 3 in steps
S255 through S266 is basically identical to the process performed by the reproducing
apparatus 1 and the server 3 in steps S204 through S215 of Fig. 41.
[0376] More specifically, the server 3 receives from the reproducing apparatus 301 the information
indicating the state of the current virtual file system and determines whether file
updating is possible in the reproducing apparatus 301. If it is determined that file
updating is possible, the server 3 references the schedule managed by the schedule
manager 253, and determines whether the reproducing apparatus 301 has a content in
need of updating.
[0377] If it is determined that there is no content in need of updating, the server 3 transmits
to the reproducing apparatus 301 via the network 2 information notifying the reproducing
apparatus 301 that there is no downloadable file. Upon receiving from the server 3
via the network 2 the notification that there is no downloadable file, the reproducing
apparatus 301 displays a message to notify the user that there is now no downloadable
file. The reproducing apparatus 301 waits on standby for an operation input from the
user.
[0378] If it is determined that there is a content in need of updating, the server 3 generates
information corresponding to a list of downloadable files, and transmits the list
to the reproducing apparatus 301 via the network 2. The reproducing apparatus 301
receives the information corresponding to the list of downloadable files from the
server 3 via the network 2, and causes the display device to display a menu screen
from which the user can select a desired one from the list of downloadable files.
[0379] The reproducing apparatus 301 determines whether a command to add a content has been
received from the user. If it is determined that the command has been received, the
reproducing apparatus 301 transmits to the server 3 information indicating update
content selected by the user.
[0380] The server 3 receives a download-requested file from the reproducing apparatus 301
via the network 2, reads a requested file from one of the content database 254 and
the manifest file database 255, and transmits the requested file via the network 2.
[0381] The reproducing apparatus 301 downloads from the server 3 one of a PlayList file,
a ClipInformation file, a ClipAV stream file, an audio file, a caption text stream
file, and a font file.
[0382] In step S267, the local storage directory manager 34 in the controller 21 in the
reproducing apparatus 301 determines whether or not the downloaded file is an encrypted
one.
[0383] If it is determined in step S267 that the downloaded file is encrypted, the local
storage directory manager 34 determines in step S268 whether the downloaded file is
decryptable with the encryption key supplied from the optical disk 11 to the decryption
processor 311.
[0384] If it is determined in step S268 that the downloaded file is not decryptable with
the encryption key recorded on the optical disk 11, the local storage directory manager
34 controls the menu screen display controller 31 in step S269, thereby outputting
an error message notifying the user that the downloaded file cannot be decrypted.
[0385] If it is determined in step S268 that the downloaded file is decryptable with the
encryption key recorded on the optical disk 11, the local storage directory manager
34 controls the decryption processor 311 in step S270, thereby decrypting the downloaded
file.
[0386] If it is determined in step S267 that the downloaded file is not encrypted, or subsequent
to step S270, the local storage directory manager 34 determines in step S271, based
on author_id and disc_id contained in Manifest ( ) of the downloaded file, whether
the directory identified by these IDs is already present on the local storage 24.
If it is determined that the corresponding directory is already present, the downloaded
data file is expanded onto that directory. If there is no corresponding directory,
a new directory specified by author_id and disc_id is created on the local storage
24, and the downloaded data file is then expanded onto that directory in the local
storage 24.
[0387] Processing ends when the binding process 1 discussed with reference to Fig. 32 is
performed in step S272.
[0388] Even if only the Index.bdmv file and the encryption key are stored on the optical
disk 11, the specified file is downloaded with the optical disk 11 loaded onto the
reproducing apparatus 1. The specified file is then decrypted with the encryption
key recorded on the loaded optical disk 11. The decrypted file is then expanded onto
the local storage 24 (namely, stored in a file system of the local storage 24). When
the optical disk 11 is loaded next time, the download process and the decryption process
are no longer necessary, and the content previously downloaded and expanded is simply
reproduced. Only a portion of the content may be recorded on the optical disk 11.
As long as the Index.bdmv file and the encryption key for performing the above processes
are recorded, the remaining content data file is automatically downloaded with the
optical disk 11 loaded on the reproducing apparatus 1, decrypted with the encryption
key recorded on the loaded optical disk 11, and expanded onto the local storage 24
(in the file system of the local storage 24). More specifically, even if all content
data is not recorded on the optical disk 11 distributed to the user, the user enjoys
the content through the above-described processes in the same manner as when all content
data recorded on the optical disk 11 is distributed to the user. Unauthorized downloading
of the content is thus prevented.
[0389] A content author distributes the optical disk 11 to each user, thereby supplying
a large volume content regardless of the size of the optical disk 11 (even if the
capacity of the optical disk 11 is not sufficient).
[0390] In the above-described processes, a path name in the local storage 24 is specified
in the src_file_name field of the Manifest ( ) section of the downloaded file package,
and a path name of the virtual file system in the virtual disk is specified in the
dst_file_name field. Alternatively, not only the path name in the local storage 24
but also a path name of the data on the optical disk 11 may be specified in the src_file_name
field.
[0391] By inhibiting accessing to a predetermined file in the description of index.bdmv,
a portion of a file recorded on the optical disk 11 is hidden from the application
program to be executed by the reproducing apparatus 1 (also the reproducing apparatus
301 hereinafter) or hidden from the user. On later days, the Manifest ( ) section
having the Manifest_id corresponding to the optical disk 11 is downloaded from the
server 3 to the reproducing apparatus 1. The Manifest ( ) section includes the src_file_name
field in which the path name of the data of the hidden file on the optical disk 11
is specified, and the dst_file_name field in which the predetermined path name in
the virtual file system is written. The application program executed on the reproducing
apparatus 1 allows the file pre-recorded on the optical disk 11 to be handled in the
same manner as the one newly downloaded at the same timing as the downloading of the
new Manifest () section.
[0392] The Manifest ( ) section, having the path name of the data of the optical disk 1
specified in the src_file_name field and the predetermined path name in the virtual
file system written in the dst_file_name field, is managed by the schedule manager
253. The downloading of the Manifest ( ) section may be performed when the optical
disk 11 is loaded onto the reproducing apparatus 1 or when the user of the reproducing
apparatus 1 performs a predetermined process, such as performing a registration process
or a billing process subsequent to accessing the server 3.
[0393] The path name of the data on the optical disk 11 is specified in the src_file_name
field. If a Manifest ( ) section with the corresponding dst_file_name field being
blank is downloaded and overwrites, the corresponding file cannot be referenced from
the application program running on the reproducing apparatus 1 (i.e., the application
program executed on the reproducing apparatus 1 or the user cannot recognize the presence
of that file). In other words, even if the actual file is stored on the optical disk
11, that file is recognized as being nonexistent in the virtual file system by blanking
the dst_file_name field. The file is thus hidden from the application program executed
on the reproducing apparatus 1 or from the user.
[0394] The Manifest ( ) section, having the path name of the data of the optical disk 1
specified in the src_file_name field and the predetermined path name in the virtual
file system written in the dst_file_name field, may be downloaded. A predetermined
file recorded beforehand on the optical disk 11 can thus be referenced. The Manifest
( ) section, having the path name of the data of the optical disk 1 specified in the
src_file_name field and the dst_file_name field being blank, may be downloaded. In
this case, the predetermined file that was referenceable is set to be unreferenceable.
[0395] A plurality of bonus tracks are recorded beforehand onto the optical disk. The Manifest
( ) section having the src_file_name field and the dst_file_name field is downloaded
for overwriting in a predetermined timing so that the application recognizes one bonus
track at one timing after another bonus track at another timing. Without the need
for frequently downloading a vast amount of data, the user can enjoy the service in
which bonus tracks different in timing are added or deleted.
[0396] A binding process 2 is described below with reference to Fig. 44. The binding process
2 is executed when the path name of the data on the optical disk 11 can be specified
in the src_file_name field of the Manifest ( ) section.
[0397] In step S301, the local storage directory manager 34 extracts a directory of the
corresponding disc_id from a downloaded data group stored on the local storage 24,
and supplies the file system merge processor 36 with the directory.
[0398] In step S302, the file system merge processor 36 references the src_file_name field
and the dst_file_name field of the Manifest file.
[0399] In step S303, the file system merge processor 36 determines whether the path name
of the data on the optical disk 11 is written on the src_file_name field of the Manifest
file.
[0400] If it is determined in step S303 that the path name of the data on the optical disk
11 is written in the src_file_name field of the Manifest file, the file system merge
processor 36 supplies in step S304 the optical disk directory manager 35 with the
path name of the data on the optical disk 11 written in the src_file_name field. The
optical disk directory manager 35 accesses predetermined information recorded on the
optical disk 11 based on the information of the src_file_name field.
[0401] If it is determined in step S303 that the path name of the data on the optical disk
11 is not written in the src_file_name field of the Manifest file, or subsequent to
step S304, the file system merge processor 36 binds a native file system and the virtual
file system in step S305 based on the src_file_name field and the dst_file_name field
referenced in step S302.
[0402] If the path name of the data recorded on the optical disk 11 is not written in the
src-file-name field of the Manifest file, the binding process is performed in the
same manner as the binding process 1 discussed with reference to Fig. 32. If the path
name of the data recorded on the optical disk 11 is written in the src_file_name field
of the Manifest file, the file system merge processor 36 performs the binding process
so that the file recorded in the path indicated by the src_file_name field of the
optical disk 11 is handled as a file having the path and the file name written on
the dst_file_name field.
[0403] If nothing is written in the dst_file_name field, the file recorded on the path indicated
by the src_file_name field of the optical disk 11 is not bound to the virtual file
system.
[0404] A content author records an actual file of a content on a optical disk 11 to be supplied
to a user, and inhibits accessing to the content during the reproduction of the optical
disk 11 alone (hides the content from the application and the user). The content author
then specifies the path name in the optical disk 11 in the src_file_name field and
the path name of the virtual file system in the virtual disk in the dst_file_name
field of the Manifest ( ) section of a downloaded package. The content author can
thus freely set the path name in the virtual file system of the actual file of the
content recorded on the optical disk 11 loaded on the reproducing apparatus 301, by
the description in the Manifest ( ) section of the downloaded package. Although the
file is present on the optical disk 11, the content author may or may not permit the
user to access the file.
[0405] As previously discussed, the update file is not only downloaded from the server 3
but also distributed in the recorded state thereof on the removable medium 28. In
such a case, the controller 21 reads the update file from the removable medium 28
via the drive 27, and writes the update file onto the local storage 24. Even if the
reproducing apparatus 1 cannot be connected to the server 3 (for example, when the
reproducing apparatus 1 has no interfacing function with the server 3, or when the
reproducing apparatus 1 and the server 3 are in an environment where no link is provided),
data updating is possible.
[0406] In this case as well, the content reproduction is performed in the same way as when
the update file is downloaded from the server 3. The update file is recorded in a
predetermined file format on the local storage 24, and the binding process is performed
with the data recorded on the optical disk 11. A virtual file system is constructed,
and an updated content is reproduced.
[0407] In the data structure of the update file recorded on the removable medium 28, a
media_id identifier individually identifying the removable medium 28 is stored immediately
under the root directory as shown in Fig. 45. Data having the same configuration as
the data downloaded from the server 3 discussed with reference to Fig. 14 and identified
by the author_id and disc_id identifiers is written for the media_id identifier. The
syntax of the manifest file and other files under the disc_id identifier is the same
as the data downloaded from the server 3. The update file recorded on the removable
medium 28 includes "others" directory, in which a predetermined application program
and a variety of data units are stored.
[0408] An application program executing a write process for writing the update file recorded
on the removable medium 28 onto the local storage 24 is available as an application
program recorded on the "others" directory. Data required to execute the write process
for writing the update file recorded on the removable medium 28 onto the local storage
24 is preferably recorded in the "others" directory.
[0409] The write process for writing the update file recorded on the removable medium 28
onto the local storage 24 may be executed only when the optical disk 11 is loaded
on the optical disk 11 or even when the optical disk 11 is not loaded on the optical
disk 11.
[0410] The controller 21 under the control of the navigation program recorded on the optical
disk 11 may perform the write process for writing the update file recorded on the
removable medium 28 onto the local storage 24. The controller 21 may perform the write
process only when the optical disk 11 is loaded onto the reproducing apparatus 1.
Alternatively, the controller 21 may perform the write process for writing the update
file recorded on the removable medium 28 onto the local storage 24 even when the optical
disk 11 is not loaded on the reproducing apparatus 1. In this case, the controller
21 performs the write process under the control of a control program prepared in the
reproducing apparatus 1 or under the control of an application program in the same
format as the navigation program recorded on the removable medium 28 (recorded in
the "others" directory of Fig. 45).
[0411] When the update file is downloaded from the server 3, the optical disk 11 is loaded
on the reproducing apparatus 1, information indicating the current status of the virtual
file system is transmitted to the server 3, and data required for updating is then
downloaded. However, if the removable medium 28 is used to provide the update file,
supplied update data cannot be modified depending on the current status of the virtual
file system.
[0412] As shown in Fig. 46A, the local storage 24 already stores a manifest file, and a
file #1 and a file #2, each associated with the manifest file. If an update file recorded
on the removable medium 28 containing a file #3 and a file #4 as shown in Fig. 46B
is recorded on the local storage 24, the manifest file overwrites the manifest file
on the local storage 24. The manifest file cannot reference the file #1 and the file
#2 previously updated.
[0413] To allow the previously updated files to be referenced, information indicating a
combination of a current manifest file and a manifest file that can overwrite the
current manifest file may be recorded on one of the optical disk 11 and the removable
medium 28.
[0414] As shown in Fig. 47, for example, a manifest file #1 is associated with a Japanese
caption, a manifest file #2 is associated with an English caption, a manifest file
#3 is associated with a French caption, a manifest file #4 is associated with a Japanese
and English caption, a manifest file #5 is associated with a Japanese and French caption,
a manifest file #6 is associated with an English and French caption, a manifest file
#7 is associated with a Japanese, English, and German caption, and a manifest file
#8 is associated with a Japanese, English, French, and German caption. The other manifest
files also have respective file numbers indicating associated caption languages thereof.
[0415] If the manifest file #1 and a corresponding file of the Japanese caption are recorded
on the local storage 24 in the reproducing apparatus 1, data updating is performed
using the removable medium 28 recording the manifest file #4, the manifest file #5,
the manifest file #7, and the manifest file #8, and their respective caption stream
files. The user can still continuously select the Japanese caption even after data
updating. When the data updating is performed using the removable medium 28 storing
another manifest file and a caption stream file corresponding thereto, the user cannot
select the Japanese caption after the updating using the removable medium 28. This
is because a re-written file is not associated with the Japanese caption.
[0416] A mapping table of the manifest files of Fig. 48 is recorded on one of the optical
disk 11 and the removable medium 28. When updating the data using the removable medium
28, the reproducing apparatus 1 re-writes the manifest files with reference to the
mapping table to control a malfunction, or notifies the user of the mapping table.
[0417] More specifically, the manifest file #1 associated with the Japanese caption is recorded
on the local storage 24, and the manifest file #2 associated with the English caption
is prepared as an update file using the removable medium 28. If the manifest file
#2 overwrites the manifest file #1, the Japanese caption can be used no longer. The
reproducing apparatus 1 may display to the user a message such as the one: "The English
caption only becomes available if updating is executed. Do you update?" Instead of
the manifest file #2 overwriting the manifest file #1, a manifest file that permits
mapping to the Japanese caption and the English caption, such as the manifest file
#4, may be created and then overwrite the manifest file #1.
[0418] If the creation of the manifest file cannot control a malfunction that could occur
as a result of the manifest file rewriting, information regarding the manifest file
prior to rewriting (for example, information by which the server 3 can identify the
manifest files, such as manifest_id identifier, or code information generated based
on the manifest_id identifier, or other information) may be provided to the user.
The user then notifies the server 3 information indicating the manifest file prior
to rewriting, using an information processing apparatus such as the reproducing apparatus
1 connectable with the server 3, a personal computer connectable with the server 3,
a PDA, or a cellular phone. The server 3 then downloads the pre-rewritten manifest
file. In this way, the reproducing apparatus 1 can be restored back to a pre-rewriting
state.
[0419] A file-updating process 1 using the removable medium 28 is described below with reference
to a flowchart of Fig. 49. The file-updating process 1 using the removable medium
28 is executable only if the write process for writing the update file recorded on
the removable medium 28 onto the local storage 24 is set to be performed with the
optical disk 11 loaded on the reproducing apparatus 1.
[0420] In step S410, the optical disk 11 is loaded onto the reproducing apparatus 1, and
the navigation program recorded on the optical disk 11 is read by the optical disk
drive 22. The read navigation program is expanded onto the memory 23, and the controller
21 starts the navigation program.
[0421] In step S411, the operation input acquisition unit 32 in the controller 21 determines,
based on a user operation input, whether a command to add a file using the removable
medium 28 has been issued. If it is determined in step S411 that the command to add
the file using the removable medium 28 has not been issued, step S411 is repeated
until it is determined that the command to add the file using the removable medium
28 has been issued.
[0422] If it is determined in step S411 that the command to add the file using the removable
medium 28 has been issued, the menu screen display controller 31 in the controller
21 outputs a message prompting the user to load the removable medium 28 in step S412.
[0423] In step S413, the data acquisition unit 33 determines whether the removable medium
28 has been loaded on the drive 27. If it is determined in step S413 that the removable
medium 28 has not been loaded, step S413 is repeated until it is determined that the
removable medium 28 has been loaded.
[0424] If it is determined in step S413 that the removable medium 28 has been loaded, the
data acquisition unit 33 reads in step S414 a predetermined portion of the data recorded
on the loaded removable medium 28 (such as a header or TOC where data used for the
reproducing apparatus 1 to determine a data structure and a data format is recorded),
and determines whether the removable medium 28 is replayable on the reproducing apparatus
1.
[0425] If it is determined in step S414 that the removable medium 28 cannot be replayed
on the reproducing apparatus 1, processing proceeds to step S425.
[0426] If it is determined in step S414 that the removable medium 28 can be replayed on
the reproducing apparatus 1, the data acquisition unit 33 determines in step S415
whether an application program executable on the reproducing apparatus 1 is recorded
on the loaded removable medium 28. If it is determined in step S415 that the application
program executable on the reproducing apparatus 1 is not recorded on the removable
medium 28, processing proceeds to step S418.
[0427] If it is determined in step S415 that the application program executable on the reproducing
apparatus 1 is recorded on the removable medium 28, the controller 21 expands in step
S416 the application program recorded on the removable medium 28 onto the memory 23.
The controller 21 determines whether the application program recorded on the removable
medium 28 is an application program for performing the data addition process. If it
is determined in step S416 that the application program recorded on the removable
medium 28 is an application program for performing the data addition process, processing
proceeds to step S421.
[0428] If it is determined in step S416 that the application program recorded on the removable
medium 28 is not the application program for performing the data addition process,
the controller 21 executes in step S417 the application program recorded on the removable
medium 28. Subsequent to the end of the execution of the application program, the
reproducing apparatus 1 returns back to the state in which the controller 21 is executing
the navigation program recorded on the optical disk 11.
[0429] If it is determined in step S415 that the application program executable on the reproducing
apparatus 1 is not recorded on the removable medium 28, or subsequent to step S417,
the data acquisition unit 33 in the controller 21 determines in step S418 whether
additional data discussed with reference to Fig. 45 is recorded on the loaded removable
medium 28. If it is determined in step S418 that the removable medium 28 doest not
store the additional data, processing proceeds to step S425.
[0430] If it is determined in step S418 that the additional data is recorded on the loaded
removable medium 28, the data acquisition unit 33 reads the additional data from the
loaded removable medium 28 in step S419.
[0431] The file-updating process 1 to be discussed later with reference to Fig. 50 is performed
in step S420. Processing proceeds to step S424.
[0432] If it is determined in step S416 that the application program recorded on the removable
medium 28 is an application program for executing the data addition process, the controller
21 executing the application program recorded on the removable medium 28 determines
in step S421 whether the loaded removable medium 28 stores the additional data described
with reference to Fig. 45. If it is determined in step S421 that the additional data
is not recorded on the removable medium 28, processing proceeds to step S425.
[0433] If it is determined in step S421 that the additional data is stored on the loaded
removable medium 28, the controller 21 executing the application program recorded
on the removable medium 28 reads in step S422 the additional data from the loaded
removable medium 28.
[0434] In step S423, the file-updating process 1 to be discussed later with reference to
Fig. 50 is performed. Subsequent to step S423, namely, subsequent to the end of the
application program recorded on the removable medium 28, the controller 21 returns
to the state thereof in which the navigation program recorded on the optical disk
11 is being executed.
[0435] Subsequent to step S420 or step S423, the binding process described with reference
to Fig. 32 is performed in step S424. Processing proceeds to step S426.
[0436] If it is determined in step S414 that the loaded removable medium 28 is not replayable
on the reproducing apparatus 1, if it is determined in step S418 that the loaded removable
medium 28 does not store the additional data, or if it is determined in step S421
that the loaded removable medium 28 does not store the additional data, the menu screen
display controller 31 in the controller 21 may output in step S425 an error message
such as the one: "Data addition is disabled. Check the removable medium."
[0437] Subsequent to step S424 or S425, the operation input acquisition unit 32 determines
in step S426 whether a command to end the navigation program has been issued. If it
is determined in step S426 that the command to end the navigation program has not
been issued, processing returns to step S411 to repeat step S411 and subsequent steps.
If it is determined in step S426 that that the command to end the navigation program
has been issued, processing ends.
[0438] In accordance with the navigation program recorded on the optical disk 11 or the
navigation program recorded on the removable medium 28, the update file is read from
the removable medium 28 and written onto the local storage 24.
[0439] The file-updating process 1 executed in each of step S420 and step S423 of Fig. 49
is described below with reference to a flowchart of Fig. 50.
[0440] The controller 21 under the control of the application program recorded on the removable
medium 28 performs the file-updating process 1 in step S423 of Fig. 49 while performing
the data addition process. If the application program recorded on the removable medium
28 is the one performing the data application process, the controller 21 has the same
function as described with reference to Fig. 6. The file-updating process 1 is thus
described below with reference to the flowchart of Fig. 50 in view of the block diagram
of Fig. 6.
[0441] In step S451, the local storage directory manager 34 determines whether information
indication mapping of the manifest files, such as the one described with reference
to Fig. 48 is stored on one of the optical disk 11 managed by the optical disk directory
manager 35 and the removable medium 28 able to read data from the data acquisition
unit 33. If it is determined in step S451 that the information indication the mapping
of the manifest files is not stored, processing proceeds to step S456.
[0442] If it is determined in step S451 that the information indicating the mapping of the
manifest files is stored, the local storage directory manager 34 determines, based
on the information indicating the mapping of the manifest files, in step S452 whether
any malfunction can occur. For example, in one malfunction, the overwriting of the
update file recorded on the removable medium 28 causes a previously update file to
become useless as previously discussed with reference to Fig. 46. If it is determined
in step S452 that no malfunction can take place, processing proceeds to step S458.
[0443] If it is determined in step S452 that any malfunction can occur, the local storage
directory manager 34 determines in step S453 whether a malfunction avoidance process
for generating a manifest file free from malfunction is executable. This determination
of the local storage directory manager 34 is performed based on the manifest file
recorded on the current local storage 24, the information indicating the mapping of
the manifest files discussed with reference to Fig. 48, and the manifest file of the
update file recorded on the removable medium 28. If it is determined in step S453
that the malfunction avoidance process is not executable, processing proceeds to step
S456.
[0444] If it is determined in step S453 that the malfunction avoidance process is executable,
the local storage directory manager 34 executes in step S454 the malfunction avoidance
process, thereby producing the manifest file free from malfunction.
[0445] For example, the manifest file #7 for using Japanese, English, and German captions,
and respective caption data may be currently recorded on the local storage 24 while
the manifest file #3 for French and the French caption data may be recorded on the
removable medium 28. If the user causes the update file recorded on the removable
medium 28 to overwrite the file on the local storage 24 in an attempt to add the French
caption, the Japanese, English, and German captions that were available for use can
no longer be used. The manifest file #3 is not associated with Japanese, English,
and German caption data. To avoid such a malfunction, the local storage directory
manager 34 executes the malfunction avoidance process, thereby producing a manifest
file #8 that is associated with the Japanese, English, and German caption data. The
generated manifest file #8 is recorded together with the French caption data onto
the local storage 24.
[0446] In step S455, the local storage directory manager 34 substitutes the generated manifest
file for the manifest file recorded on the removable medium 28. The corresponding
file on the removable medium 28 is stored on the local storage 24. Processing returns
to step S420 of Fig. 49 to proceed to step S424 or returns to step S423 of Fig. 49
to proceed to step S424.
[0447] If it is determined in step S451 that the information indicating the mapping of the
manifest files is not stored, or if it is determined in step S453 that the malfunction
avoidance process cannot be performed, the menu screen display controller 31 issues
in step S456 to the user a warning message such as the one: "The English caption only
becomes available if updating is executed. Do you update?". Furthermore, the menu
screen display controller 31 displays to the user information regarding the manifest
file prior to rewriting (for example, information by which the server 3 can identify
the manifest files, such as manifest_id identifier, or code information generated
based on the manifest_id identifier, or other information). The user then notifies
the server 3 of information indicating the manifest file prior to rewriting, using
an information processing apparatus such as the reproducing apparatus 1 connectable
with the server 3, a personal computer connectable with the server 3, a PDA, or a
cellular phone. The server 3 then downloads the pre-rewritten manifest file. In this
way, the reproducing apparatus 1 can be restored back to at least a pre-rewriting
state.
[0448] In step S457, the operation input acquisition unit 32 determines, based on a user
operation input recognizing the warning message, whether the data writing onto the
local storage 24 is permitted. If it is determined in step S457 that the data writing
onto the local storage 24 is not permitted, processing returns to step S420 of Fig.
49 to proceed to step S424 or to step S423 of Fig. 49 to proceed to step S424.
[0449] If it is determined in step S452 that no malfunction may be caused, or if it is determined
in step S457 that the data writing onto the local storage 24 is permitted, the local
storage directory manager 34 stores in step S458 a file corresponding to the removable
medium 28 onto the local storage 24. Processing returns to step S420 of Fig. 49 to
proceed to step S424 or to step S423 of Fig. 49 to proceed to step S424.
[0450] Through the above-described process steps, the malfunction avoidance process is performed.
A manifest file is generated so that no inconsistency takes place between an already
updated file and a manifest file. The generated manifest file is recorded on the local
storage 24 together with the file recorded on the removable medium 28. Alternatively,
the user may be notified of the possibility of a malfunction due to file overwriting.
If a malfunction took place as a result of overwriting of the file recorded on the
removable medium 28, information available to restore the file recorded on the removable
medium 28 to the pre-overwriting state is provided to the user.
[0451] A file-updating process 2 using the removable medium 28 is described below with reference
to a flowchart of Fig. 51. The file-updating process 2 using the removable medium
28 is performed in the reproducing apparatus 1. Even with the optical disk 11 not
loaded on the reproducing apparatus 1, the reproducing apparatus 1 herein is set to
perform the write process for writing the update file from the removable medium 28
to the local storage 24.
[0452] In step S481, the data acquisition unit 33 determines whether the removable medium
28 is loaded on the drive 27. If it is determined in step S481 that the removable
medium 28 is not loaded, step S481 is repeated until it is determined that the removable
medium 28 is loaded.
[0453] If it is determined in step S481 that the removable medium 28 is loaded, the controller
21 starts the application program for the file updating process in step S482. The
application program is the one held by the reproducing apparatus 1 (not the one recorded
on one of the optical disk 11 and the removable medium 28).
[0454] In step S483, the data acquisition unit 33 reads a predetermined portion of the data
recorded on the loaded removable medium 28 (such as a header or TOC where data used
for the reproducing apparatus 1 to determine a data structure and a data format is
recorded), and then determines whether the removable medium 28 is replayable on the
reproducing apparatus 1.
[0455] If it is determined in step S483 that the removable medium 28 cannot be replayed
on the reproducing apparatus 1, processing proceeds to step S495.
[0456] If it is determined in step S483 that the removable medium 28 can be replayed on
the reproducing apparatus 1, the data acquisition unit 33 determines in step S484
whether an application program executable on the reproducing apparatus 1 is recorded
on the loaded removable medium 28. If it is determined in step S484 that the application
program executable on the reproducing apparatus 1 is not recorded on the removable
medium 28, processing proceeds to step S489.
[0457] If it is determined in step S484 that the application program executable on the reproducing
apparatus 1 is recorded on the removable medium 28, the controller 21 executing the
application program held by the reproducing apparatus 1 determines in step S485 whether
a preparation process for preparing the application program recorded on the removable
medium 28 can be performed. If the reproducing apparatus 1 itself is aware of whether
the preparation process can be performed or not, this determination step can be skipped.
[0458] For example, the application program recorded on the removable medium 28 may be identical
to the MovieObject recorded on the optical disk 11 and data corresponding to a index
file may not be prepared. To execute a variety of commands of the application program
recorded on the removable medium 28, the data corresponding to the index file is required.
In such a case, the preparation process for executing the application program recorded
on the removable medium 28 means a generation process for generating a corresponding
index file. If the optical disk 11 has already been loaded on the reproducing apparatus
1, the index file is already generated and expanded, and the preparation process is
not required.
[0459] If it is determined in step S485 that the preparation process to execute the application
program recorded on the removable medium 28 cannot be performed (or if the apparatus
has no function to perform the preparation process), processing proceeds to step S489.
[0460] If it is determined in step S485 that the preparation process to execute the application
program recorded on the removable medium 28 can be performed, the controller 21 executing
the application program held by the optical disk 11 executes in step S486 the preparation
process to execute the application program recorded on the removable medium 28.
[0461] In step S487, the controller 21 expands the application program recorded on the removable
medium 28 onto the memory 23. The controller 21 determines whether the application
program recorded on the removable medium 28 is an application program for performing
the data addition process. If it is determined in step S487 that the application program
recorded on the removable medium 28 is the application program for performing the
data addition process, processing proceeds to step S492.
[0462] If it is determined in step S487 that the application program recorded on the removable
medium 28 is not the application program for performing the data addition process,
the controller 21 executes in step S488 the application program recorded on the removable
medium 28. Subsequent to the end of the execution of the application program, the
reproducing apparatus 1 returns back to the state in which the controller 21 is executing
the navigation program held by the reproducing apparatus 1.
[0463] If it is determined in step S484 that the application program executable on the
reproducing apparatus 1 is not recorded on the removable medium 28, or if it is determined
in step S485 that the preparation process to execute the application program recorded
on the removable medium 28 cannot be performed, or subsequent to step S488, the data
acquisition unit 33 in the controller 21 determines in step S489 whether the additional
data discussed with reference to Fig. 45 is recorded on the loaded removable medium
28. If it is determined in step S489 that the removable medium 28 doest not store
the additional data, processing proceeds to step S495.
[0464] If it is determined in step S489 that the additional data is recorded on the loaded
removable medium 28, the data acquisition unit 33 reads the additional data from the
loaded removable medium 28 in step S490.
[0465] The file-updating process 2 to be discussed later with reference to Fig. 52 is performed
in step S491. Processing proceeds to step S496.
[0466] If it is determined in step S487 that the application program recorded on the removable
medium 28 is the application program for executing the data addition process, the
controller 21 executing the application program recorded on the removable medium 28
determines in step S492 whether the loaded removable medium 28 stores the additional
data described with reference to Fig. 45. If it is determined in step S492 that the
additional data is not recorded on the removable medium 28, processing proceeds to
step S495.
[0467] If it is determined in step S492 that the additional data is stored on the loaded
removable medium 28, the controller 21 executing the application program recorded
on the removable medium 28 reads in step S493 the additional data from the loaded
removable medium 28.
[0468] In step S494, the file-updating process 2 to be discussed later with reference to
Fig. 52 is performed. Subsequent to step S494, namely, subsequent to the end of the
application program recorded on the removable medium 28, the controller 21 returns
to the state thereof in which the navigation program recorded on the optical disk
11 is being executed.
[0469] If it is determined in step S483 that the loaded removable medium 28 is not replayable
on the reproducing apparatus 1, if it is determined in step S489 that the loaded removable
medium 28 does not store the additional data, or if it is determined in step S492
that the loaded removable medium 28 does not store the additional data, the menu screen
display controller 31 in the controller 21 may output in step S495 an error message
such as the one: "Data addition is disabled. Check the removable medium."
[0470] Subsequent to step S491, S494 or S495, the operation input acquisition unit 32 determines
in step S496 whether a command to end the application program has been issued. If
it is determined in step S496 that the command to end the application program has
not been issued, processing returns to step S483 to repeat step S483 and subsequent
steps. If it is determined in step S496 that that the command to end the application
program has been issued, processing ends.
[0471] In accordance with the application program recorded on the optical disk 11 or the
application program recorded on the removable medium 28, the update file is read from
the removable medium 28 and written onto the local storage 24.
[0472] The file-updating process 2 using the removable medium 28 does not require that the
optical disk 11 be loaded on the reproducing apparatus 1. The binding process discussed
with reference to Fig. 32 is executed subsequent to this process when the optical
disk 11 is loaded onto the reproducing apparatus 1 later.
[0473] The file-updating process 2 executed in one of step S491 and S494 of Fig. 51 is described
below with reference to the flowchart of Fig. 52.
[0474] The controller 21 under the control of the application program pre-stored in the
reproducing apparatus 1 performs the file-updating process 2 in step S491 of Fig.
51 while also performing the data addition process. The controller 21, performing
the data addition process under the control of the application program pre-stored
in the reproducing apparatus 1, has basically the same functional structure as the
one described with reference to Fig. 6. The controller 21 under the control of the
application program removable medium 28 performs the file-updating process 2 executed
in step S494 of Fig. 51 while also performing the data addition process. The controller
21, performing the data addition process under the control of the application program
recorded on the removable medium 28, has basically the same functional structure as
the one described with reference to Fig. 6. In the discussion of the flowchart of
Fig. 52, the functional block diagram of Fig. 6 is also referred to.
[0475] In step S521, the local storage directory manager 34 determines whether information
indicating mapping of the manifest files, such as the one described with reference
to Fig. 48 is stored on the removable medium 28 able to read data from the data acquisition
unit 33. If it is determined in step S521 that the information indicating the mapping
of the manifest files is not stored, processing proceeds to step S523.
[0476] If it is determined in step S521 that the information indicating the mapping of the
manifest files is stored, the local storage directory manager 34 determines, based
on the information indicating the mapping of the manifest files, in step S522 whether
any malfunction can take place. For example, in one malfunction, the overwriting of
the update file recorded on the removable medium 28 causes a previously update file
to become useless as previously discussed with reference to Fig. 46. If it is determined
in step S522 that no malfunction can take place, processing proceeds to step S525.
[0477] If it is determined in step S521 that the information indicating the mapping of the
manifest files is not stored, or if it is determined in step S522 that the malfunction
can take place, a warming message is displayed to the user in step S523. The warming
message may be: "The English caption only becomes available if updating is executed.
Do you update?". Furthermore, the menu screen display controller 31 displays to the
user information regarding the manifest file prior to rewriting (for example, information
by which the server 3 can identify the manifest files, such as manifest_id identifier,
or code information generated based on the manifest_id identifier, or other information).
The user then notifies the server 3 of information indicating the manifest file prior
to rewriting, using an information processing apparatus such as the reproducing apparatus
1 connectable with the server 3, a personal computer connectable with the server 3,
a PDA, or a cellular phone. The server 3 then downloads the pre-rewritten manifest
file. In this way, the reproducing apparatus 1 can be restored back to a pre-rewriting
state.
[0478] In step S524, the operation input acquisition unit 32 determines, based on a user
operation input recognizing the warning message, whether the data writing onto the
local storage 24 is permitted. If it is determined in step S524 that the data writing
onto the local storage 24 is not permitted, processing returns to step S491 of Fig.
51 to proceed to step S496 or to step S494 of Fig. 51 to proceed to step S496.
[0479] If it is determined in step S522 that any malfunction cannot take place, or if it
is determined in step S524 that the data writing to the local storage 24 is permitted,
the local storage directory manager 34 stores the corresponding file of the removable
medium 28 onto the local storage 24 in step S525. Processing returns to step S491
of Fig. 51 to proceed to step S496 or to step S494 of Fig. 51 to proceed to step S496.
[0480] Through the above-described process steps, the user is notified of the possibility
of a malfunction due to the file overwriting. In the event of a malfunction as a result
of overwriting of the file recorded on the removable medium 28, information available
to restore the file recorded on the removable medium 28 to the pre-overwriting state
is provided to the user.
[0481] The write process of writing the update file recorded on the removable medium 28
to the local storage 24 has been described with reference to Figs. 45 through 52.
The removable medium 28 may record the data having the same data structure as the
optical disk 11 described with reference to Fig. 13. As shown in Fig. 53, the reproducing
apparatus 1 may store, onto a first area of the local storage 24, the file recorded
on the removable medium 28, and onto a second area different from the first area,
data having the structure described with reference to Fig. 14 and downloaded from
the server 3 or data having the data structure described with reference to Fig. 45
and recorded on the removable medium 28. In a process similar to the binding process
to bind the file systems of the data files recorded on each of the optical disk 11
and the local storage 24, the file system of the data file recorded on the first area
of the local storage 24 is bound to the file system of the data file recorded on the
second area of the local storage 24.
[0482] The data acquisition unit 33 reads, from the removable medium 28, the data having
the same file structure as the optical disk 11 described with reference to Fig. 13,
and supplies the read data to the local storage directory manager 34. The local storage
directory manager 34 stores, onto the first area of the local storage 24, the data
having the same data structure as the optical disk 11. The data acquisition unit 33
reads, the data downloaded from the 3 and having the data structure described with
reference to Fig. 14, or the data recorded on the removable medium 28 and having the
data structure described with reference to Fig. 45, and supplies the read data to
the local storage directory manager 34. The local storage directory manager 34 stores,
onto the second area of the local storage 24, the data downloaded from the 3 and having
the data structure described with reference to Fig. 14, or the data recorded on the
removable medium 28 and having the data structure described with reference to Fig.
45. The file system merge processor 36 binds the file systems recorded on the first
and second areas of the local storage 24, thereby producing a virtual file system.
The reproduction controller 37 references the virtual file system, thereby controlling
the reproduction process.
[0483] The PlayList file manages the reproduction of the acquired caption stream, Clip AV
stream, etc. using PlayItem, SubPlayItem, and Subpath. If the PlayList file is downloaded
together with the caption stream, Clip AV stream, etc. or acquired together with the
caption stream, Clip AV stream, etc. from another recording medium, the reproduction
of the acquired steams can be managed using the acquired PlayList file. In this case,
if a virtual file system is created using a PlayList file bound in accordance with
the designation of the src_file_name field and the dst_file_name field rather than
the PlayList file present on the optical disk 11, a newly acquired steam can be managed
without the need for using the above-described operation_type.
[0484] In the above discussion, the PlayList is edited in accordance with the designation
of the operation_type. Alternatively, a MovieObject as a navigation program containing
an edit program of PlayList may be newly acquired, the acquired MovieObject may be
stored onto the local storage 24 of Fig. 14, and PlayList may be automatically edited
in accordance with the edit program during the binding process, or edited by the user.
A MovieObject having an application program registered therewithin for editing and
storing PlayList and Clip AV stream may be stored beforehand on the optical disk 11.
The MovieObject is not necessarily contained in the program. A program stored in another
unshown directory may be called.
[0485] In the above-described process, the reading of each file forming a stream that is
reproduced using the virtual file system is controlled. If a file to be read is not
present in the virtual file system, an external acquisition program for acquiring
a program separate from the navigation program is initiated, and the file to be read
from the outside other than the virtual file system is acquired.
[0486] A content reproduction process is described below with reference to a flowchart of
Fig. 54.
[0487] In step S551, the playback controller 37 controls the local storage directory manager
34 and the optical disk directory manager 35, thereby acquiring PlayList and SubPlayItem
that the navigation program specifies as a reproduction period, and reading stream
files (an AV file, an audio file, a caption text file, etc) referenced by the acquired
PlayList and the SubPlayItem.
[0488] In step S552, the playback controller 37 determines whether a stream file to be read
is present. If it is determined in step S552 that the stream file to be read is present,
processing proceeds to step S558.
[0489] If it is determined in step S552 that the stream file to be read is not present,
the playback controller 37 initiates a file external acquisition program.
[0490] The file external acquisition program, independent of the navigation program, is
initiated by the navigation program. The navigation program is on standby while the
file external acquisition program performs an acquisition process of acquiring a predetermined
file. After the file external acquisition program acquires the file, the reproduction
process resumes based on PlayList and PlayItem.
[0491] The file external acquisition program is stored on the local storage 24 in the reproducing
apparatus 1. When a command to start is provided in response to the process of the
navigation program, the file external acquisition program is read by the controller
21 from the local storage 24 and expanded onto the memory 23 for execution. Alternatively,
the file external acquisition program may be recorded on one of the optical disk 11
and the removable medium 28, and when a command to start the file external acquisition
program is provided in response to the process of the navigation program, the file
external acquisition program is read by the controller 21 from the one of the optical
disk 11 and the removable medium 28, and then expanded onto the memory 23 for execution.
[0492] In step S554, the controller 21 executing the file external acquisition program determines
whether information about an external source of an unfound file is registered in one
of the local storage 24 of the reproducing apparatus 1, the optical disk 11 and the
removable medium 28.
[0493] The information about the external source of the file may be recorded on a recording
area of one of the local storage 24 of the reproducing apparatus 1, the optical disk
11 and the removable medium 28, as information managed by only the file external acquisition
program, separate from PlayList and PlayItem and a stream file relating to the content.
Source information of the above-described Manifest file stored on the local storage
24 may be used as the information about the external source of the file.
[0494] The information about the external source of the file may be registered one of the
dst_file_name and the src_file_name associated therewith, or with author_id and disc_id,
or may be registered by different unit such as a content.
[0495] If the information about the external source of the file may be registered with one
of the dst_file_name and the src-file-name associated therewith, a file and information
about a registration destination thereof are associated with each other on a one-to-one
correspondence basis, and the reproducing apparatus 1 can easily identify a file to
be acquired, and then acquires the file. If information corresponding to a directory
containing a plurality of files such as author_id and disc_id and the external acquisition
source of the file are registered with one associated with each other, one file does
not correspond to the information of registration destination on a one-to-one correspondence
basis. In such a case, a file to be acquired by the reproducing apparatus 1 is acquired
by supplying to the external acquisition source the information concerning the file
to be acquired by the reproducing apparatus 1 or by causing the file system of the
external acquisition source to have the same structure as one of the file system of
the optical disk 11, the file system of the local storage 24 and the virtual file
system.
[0496] If it is determined in step S554 that the information about the external source of
the unfound file is not registered, the controller 21 executing the file external
acquisition program outputs in step S555 an error message to an external display device,
and ends the process.
[0497] If it is determined in step S554 that the information about the external source of
the unfound file is registered, the controller 21 executing the file external acquisition
program accesses the file external acquisition source via the Internet interface 25
or the drive 27 with the removable medium 28 loaded thereon based on the information
about the file external acquisition source of the unfound file.
[0498] The information about the external source of the file may be a URL of the server
3 accessible via the Internet 2, an address of a recording area or a path of a file
system of the removable medium 28 loaded on the drive 27, device information of a
recording device or another information processing apparatus connected via a predetermined
local network, or an address of a recording area or a path of a file system of a recording
unit of these apparatuses.
[0499] In step S557, the controller 21 executing the file external acquisition program acquires
a file or data corresponding to the file from the specified file external acquisition
source. The controller 21 executing the file external acquisition program then resumes
the process of the navigation program.
[0500] The acquisition method of acquiring the file or the corresponding data from the specified
file external acquisition source may be a so-called downloading process in which all
corresponding files are acquired, stored on the local storage 24 and then reproduced.
The acquisition method may also be a so-called streaming reproduction process in which
data forming a corresponding file is acquired and then successively reproduced without
being stored on the local storage 24.
[0501] If it is determined in step S552 that a stream file to be read is present, or subsequent
to step S557, the playback controller 37 supplies in step S558 the acquired file or
the data corresponding to the data to the decoder 26, and then controls the decoder
26 to reproduce the content. Processing then ends.
[0502] As long as the file external acquisition source is registered, the file to be reproduced
or the data forming the file can be acquired and reproduced even if the file to be
read from PlayList and SubPlayItem is not recorded at a predetermined position.
[0503] The file external acquisition program is independent of the navigation program in
the above discussion. Alternatively, the file external acquisition program may be
included in the navigation program as a subroutine thereof.
[0504] In the process discussed with reference to the flowchart of Fig. 54, if the file
to be read is not present on the virtual file system, the file external acquisition
program independent of the navigation program is initiated, and the file to be read
is read from outside the virtual file system. For example, if one of a file to be
read, a folder containing the file, and a directory containing the file is not present
on the created virtual file system, a program, independent of the navigation program,
for acquiring from the outside one of the file, the folder containing the file, and
the directory containing the file may be initiated. One of the file read from outside
the virtual file system, the folder containing the file, and the directory containing
the file is thus acquired.
[0505] The local storage 24 composed of a semiconductor memory is removably loaded onto
the reproducing apparatus 1 as described above. Data in the same content distribution
file format as the content distributed by the content author as previously discussed
with reference to Fig. 17 may be recorded onto the medium 28 removably loaded to the
drive 27 in the directory structure discussed with reference to Fig. 14. Without the
need for storing the data onto the local storage 24, the file system of the data stored
on the removable medium 28 and the file system of the data stored on the optical disk
11 may be bound to each other as described above.
[0506] The content data and the data required to reproduce the content data (for example,
PlayList, SubPlayItem or a Manifest file) may be stored on both the local storage
24 and the removable medium 28 in the directory structure discussed with reference
to Fig. 14. The file system of the data stored on the local storage 24, the file system
of the data stored on the removable medium 28, and the file system of the data stored
on the optical disk 11 can thus be bound to each other as discussed above. Through
the process discussed above, the file system of the data stored on the local storage
24 is bound to the file system of the data stored on the optical disk 11, a first
virtual file system is created, the first virtual file system is then bound to the
file system of the data stored on the removable medium 28, and then a second virtual
file system is created.
[0507] A manufacturing method of an optical disk storing data replayable on the reproducing
apparatus 1 is described below with reference to Figs. 55 and 56. As shown, the recording
medium is an optical disk, and may be one of the optical disk 11 and the removable
medium 28. If the removable medium 28 is one other than a disk-like recording medium,
data replayable on the reproducing apparatus 1 is recorded onto the recording medium
using a known recording medium manufacturing method.
[0508] As shown in Fig. 55, a master disk made of glass is prepared. A recording material
made of photoresist or the like is applied on the master disk. The recording master
disk thus results.
[0509] As shown in Fig. 56, video data in a format replayable on the reproducing apparatus
1 encoded by a video encoder in a software production section is stored temporarily
on a buffer. Audio data encoded by an audio encoder is temporarily stored on a buffer.
Data other than streams (for example, Indexes, Playlist, PlayItem, etc.) encoded by
a data encoder is temporarily stored on a buffer. The video data, the audio data,
and the data other than the stream stored on the respective buffers are multiplexed
by a multiplexer (MPX) in synchronization with a synchronization signal, and an error
correction code (ECC) circuit attaches an error correction code to the multiplexed
signal. The resulting signal is modulated by a modulator (MOD) circuit, and then stored
on a magnetic tape in accordance with a predetermined format. Thus, a software program
is manufactured to be recorded onto one of the optical disk 11 and the removable medium
28 replayable on the reproducing apparatus 1.
[0510] The software program is edited (pre-mastered) as necessary, and a signal having a
format to be recorded on the optical is thus produced. A laser beam is modulated In
accordance with the recording signal, and then directed to the photoresist on the
master disk. The photoresist on the master disk is thus exposed to the laser beam
modulated with the recording signal.
[0511] The master disk is then developed, and pits are arranged on the master disk. The
master disk is then subjected to electroforming to manufacture a metal master disk
into which the pits of the glass master disk are transferred. From the metal master
disk, a metal stamper is produced and used as a mold.
[0512] A material such as PMMA (acryl) or PC (polycarbonate) is injected into the mold and
solidified. Alternatively, after applying 2P (ultraviolet curing resin) on the metal
stamper, ultraviolet light is directed to the metal stamper for curing. In this way,
the pits on the metal stamper are transferred to a replica made of the resin.
[0513] A reflective film is formed on thus constructed replica using deposition or sputtering
technique. Alternatively, a reflective film is formed on the replica using spin coating
technique.
[0514] The inner circular edge and the outer circular edge of the disk is then neatly shaped
and a process required to bond two disks together is also performed. Further, a label
is glued on the disk and a hub is attached to the disk, and the resulting disk is
inserted into a cartridge. The optical disk 11 or the removable medium 28 having data
replayable on the reproducing apparatus 1 are thus manufactured.
[0515] The above-referenced series of process steps may be performed using software. A program
of the software may be installed from a recording medium onto a computer built in
dedicated hardware or a general-purpose personal computer enabled to perform a variety
of functions with a variety of programs installed thereon.
[0516] As shown in Fig. 1, the recording medium includes the removable medium 28 distributed
to a user separate from a computer to provide the user with the program. The recording
media include the removable medium 28, such as one of a magnetic disk (including a
flexible disk), an optical disk (such as compact disk read-only memory (CD-ROM)),
or digital versatile disk (DVD)), a magneto-optical disk (such as mini-disk (MD
®), and a semiconductor memory. The recording media also include the memory 23, such
a ROM or a RAM, or the local storage 24 such as a hard disk, each storing the program
and supplied in the apparatus to the user.
[0517] The process steps describing the program stored on the recording medium may be performed
in the time-series order sequence as previously stated. Alternatively, the process
steps may be performed in parallel or separately.
[0518] In this description, the system refers to an entire apparatus including a plurality
of units.
[0519] The embodiments of the present invention are not limited to the ones discussed above,
and a variety of modifications to the embodiments are possible without departing from
the scope of the present invention.