A MODEL AND COMMAND SET FOR AN AV/C-BASED DISC MEDIA PLAYER/RECORDER SUBUNIT

Abstract: In a home audio visual network including a plurality of devices coupled via an IEEE 1394 bus, a system for accessing a media drive mechanism of a multi-item-type media player. The multi-item-type media player can play any type of disc media item. A media drive mechanism is included within the multi-item-type media player and is configured to play or record the media item stored within the multi-item-type media player. A computer system is built-in to the multi-item-type media player. A software based media player model executes on the computer system, and in turn, causes the computer system to implement a method of accessing the media drive mechanism. In so doing, the computer system interfaces with a plurality of devices coupled to the multi-item media player via an IEEE 1394 communications link of an IEEE 1394 based network and provides a standardized command set for the media drive mechanism. The media player model provides a set of standardized commands that allow the plurality of devices on the network to access the media drive mechanism and thereby access the installed media item and control the functionality of the media drive mechanism.

Description: A MODEL AND COMMAND SET FOR AN AV/C-BASED DISC MEDIA PLAYER/RECORDER SUBUNIT FIELD OF THE INVENTION The field of the present invention pertains to audio-video systems. More particularly, the present invention pertains to interfacing audio visual media devices via an IEEE 1394 bus using industry standard AV/C protocols. BACKGROUND OF THE INVENTION A typical home audiovisual equipment set up includes a number of components. For example, a radio receiver, a CD player, a pair of speakers, a television, a VCR, a tape deck, and alike. Each of these components are connected to each other via a set of wires. One component is usually the central component of the home audiovisual system. This is usually the radio receiver, or the tuner. The tuner has a number of specific inputs for coupling the other components. The tuner has a corresponding number of control buttons or control switches which provide a limited degree of controllability and interoperability for the components. The control buttons and control switches are usually located on the front of the tuner. In many cases, some, or all, of these buttons and switches are duplicated on a hand held remote control unit. A user controls the home audiovisual system by manipulating the buttons and switches on the front of the tuner, or alternatively, manipulating buttons on the hand held remote control unit. This conventional home audiovisual system paradigm has become quite popular. As the number of new consumer electronics devices for the home audiovisual system have grown and as the sophistication and capabilities of these devices have increased, a number of problems with the conventional paradigm have emerged. One such problem is incompatibility between devices in the home audiovisual system. Consumer electronic devices from one manufacturer often couple to an audiovisual system in a different manner than similar devices from another manufacturer. For example, a multi-disc-type player made by one manufacturer may not properly couple with a television made by another manufacturer, and thus may not allow full access to all of it's capabilities. For example, the multi- disc-type player might not incorporate hardware (e.g., specific inputs and outputs) which enables the more sophisticated functions of the multi- disc-type player. As such, these functions may not be usable with simpler, less sophisticated televisions or cable decoders. Home AV systems which include multi- disc-type player devices are particularly problematic because of the wide variety of information the multi- disc-type player is able to contain and access. For example, there are several multi-disc-type compact disc players on the market that can support CDs, DVDs, and CD-ROMs. This problem may be made even more difficult given the fact that there may be no intuitive, readily usable way to access the various tracks with any other remote control (e.g., the tuner's remote control) of the home AV system. While the emergence of networking and interface technology (e.g., IEEE 1394 serial communication bus and the wide spread adoption of digital systems) offers prospects for correcting the above problems, there is still no coherent, open, extensible architecture which can provide for intelligent content navigation and selection with multi- disc-type player devices. There is no system for keeping a user informed by providing status reporting and notification between devices within a home AV system. As IEEE 1394 technology spreads across product lines, it is necessary to define logical models and command sets for various devices or functional groups such as VCR's and multi-disc players. As the aggregate amount of media content available to users geometrically increases, as is the case with multi- disc-type players, providing a standardized means of flexibly and efficiently accessing the media content becomes essential. SUMMARY OF THE INVENTION Thus, what is required is a device model which is disc media type independent and thereby supports any type of disc media (CD's, MiniDiscs, etc.). What is required is a model which supports enhancements to the AV/C protocol for content navigation and selection, providing both a detailed and a general abstraction of content discovery and description, and allowing for a range of controllers (from very simple to very complex) to make use of its features. What is required is a model that supports status reporting and notification mechanisms so that controllers are aware of what is occurring within the device, and thus keep the user informed. This is especially important in a distributed network environment where the device may be in a closet or a different room of the house from the controller/user. What is further required is a logical model and command set for a Disc player/recorder mechanism for multi-disc-type players capable of storing vast amounts of media content. The required model and command should allow any interested entity to navigate the contents of the media in the drive, to access the contents (such as the selection of a track on the disc), and to monitor the status of the drive. The present invention provides a method and system which satisfies the above requirements. In a typical embodiment, such as, for example, a home audio visual network including a plurality of devices coupled via an IEEE 1394 bus, the present invention comprises a multi-disc-type media player for playing a plurality of media item types. A media drive mechanism is included within the multi-item-type media player and is configured to play or record the media item type stored within the multi-item media player. A built-in computer system is included within the multi-item media player. A software based media player model executes on the computer system, and in turn, causes the computer system to implement a method of accessing the media drive mechanism. In so doing, the computer system interfaces with a plurality of devices coupled to the multi -item media player via an IEEE 1394 communications link of an IEEE 1394 based network and provides a standardized command set for the media drive mechanism. The media player model provides a set of standardized commands that allow the plurality of devices on the network to access the media drive mechanism and thereby access the installed media item and control the functionality of the media drive mechanism. In this manner, the present invention provides a model which is media type independent and thereby supports any type of disc media (CD's, MiniDiscs, etc.). The model of the present invention supports enhancements to the AV/C protocol for content navigation and selection, providing both a detailed and a general abstraction of content discovery and description, and allowing for a range of controllers (from very simple to very complex) to make use of its features. In addition, the present invention includes support for status reporting and notification mechanisms so that controllers are aware of what is occurring within the device, and thus keep the user informed. The model of the present invention supports new enhancements to the well known AV/C protocol for content navigation and selection, providing both a detailed and a general abstraction of content discovery and description, allowing for a range of controllers (from very simple to very complex) to make use of its features. The present invention defines a logical model and command set for a disc player/recorder mechanism. The model and command set allow any interested entity (such as, for example, a receiver/amplifier) to navigate the contents of the media in the drive, to access the contents (such as the selection of a track on the disc), and to monitor the status of the drive. The present invention provides these benefits within the context of IEEE 1394 based home audio visual networks. The present invention defines a software based logical model and command set for a disc media player-recorder which is media type independent. The model of the present invention supports any type of disc media (CD's, MiniDiscs, LaserDiscs, etc.). It provides a general content description mechanism, with the ability to specialize the data structures based on the specific details of the media which happens to be installed at the moment. The model does not impose any restrictions on a disc subunit based on any particular kind of media, but it does support the various real- world restrictions that might occur (such as a disc being write-protected so that it cannot be modified). The model of the present invention supports status reporting and notification mechanisms so that controllers may always be aware of what is going on in the device, and thus keep the user informed. This is especially important in a distributed network environment where the device may be in a closet or a different room of the house from the controller/user. Additionally, the model of the present invention supports products that may choose to be only media players or those which may be both players and recorders (herein after referred to as player-recorders). However, it should be appreciated that the model of the present invention can function as a mere player as opposed to a player-recorder. The media player-recorder subunit model of the present invention is defined by a specification, which in turn, defines several data structures for media type description (how to describe a compact disc, a DVD disc, etc.), the contents of the media (titles for each track on a disc, the duration of each track, etc.), and for status reporting and notification. In accordance with the present invention, these data structures could be modified in any number of ways to include or exclude various pieces of information which may or may not be available depending on the media and the capabilities built into the corresponding drive mechanism hardware and software. For example, a designer may choose to leave some portions of the specification of the present invention unimplemented in order to design a device which is a media recorder and not a player. BRIEF DESCRIPTION OF THE DRAWINGS The present invention is illustrated by way of example and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which: Figure 1A shows a computer system environment of the present invention. Figure IB shows a home audio visual network in accordance with one embodiment of the present invention. Figure 1C shows a multi- disc-type player in accordance with one embodiment of the present invention. Figure 2 shows a table illustrating a disc subunit identifier descriptor in accordance with one embodiment of the present invention. Figure 3 shows a table illustrating a disc_subunit_dependent_information in accordance with one embodiment of the present invention. Figure 4 shows a table illustrating the format of the media type specification in accordance with one embodiment of the present invention. Figure 5 shows a table illustrating the disc_type field from the table of Figure 4. Figure 6 shows a table illustrating two fist types in accordance with one embodiment of the present invention. Figure 7 shows a table illustrating the format of the AudioTrack List_specific_information field from the table of Figure 6. Figure 8 shows a table illustrating a last_update field in accordance with one embodiment of the present invention. Figure 9 shows a table illustrating the format of an audio track entry _specific_information field of an audio track object of the present invention. Figure 10 shows a table illustrating the entry_specific_attributes field from the table of Figure 9 in greater detail. Figure 11 shows a table illustrating the media_type field in accordance with one embodiment of the present invention. Figure 12 shows a table illustrating the drive subunit commands of the present invention. Figure 13 shows a table illustrating the import medium command from the table of Figure 12. Figure 14 shows a table illustrating the export medium command from the table of Figure 12. Figure 15 shows a table illustrating the play command from the table of Figure 12. Figure 16 shows a table illustrating the stop control command from the table of Figure 12. Figure 17 shows a table illustrating the pause control command from the table of Figure 12. Figure 18 shows a table illustrating the next control command from the table of Figure 12. Figure 19 shows a table illustrating the prev control command from the table of Figure 12. Figure 20 shows a table illustrating the access play control command from the table of Figure 12. Figure 21 shows a table illustrating the access pause control command from the table of Figure 12. Figure 22 shows a flow chart of the steps of a process in accordance with one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION Reference will now be made in detail to the embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be obvious to one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention. The present invention provides a device model which is disc media type independent and thereby supports any type of disc media (CD's, MiniDiscs, etc.). The present invention provides a model which supports enhancements to the AV/C protocol for content navigation and selection, providing both a detailed and a general abstraction of content discovery and description, and allowing for a range of controllers (from very simple to very complex) to make use of its features. The model of the present invention supports status reporting and notification mechanisms so that controllers are aware of what is occurring within the device, and thus keep the user informed. This capability is especially important in a distributed IEEE- 1394 network environment where the device may be located away from the controller/user. In addition, the present invention provides a software based model and command set for a Disc player/recorder mechanism for multi- disc-type players capable of storing vast amounts of media content, thereby allowing any interested entity to navigate the contents of the media in the drive, to access the contents (such as the selection of a track on the disc), and to monitor the status of the drive. The present invention and its benefits are further described below. NOTATION AND NOMENCLATURE Some portions of the detailed descriptions which follow are presented in terms of procedures, steps, logic blocks, processing, and other symbolic representations of operations on data bits within a computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to convey most effectively the substance of their work to others skilled in the art. A procedure, computer executed step, logic block, process, etc., are here, and generally, conceived to be self-consistent sequences of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present invention, discussions utilizing terms such as "processing," "computing," "translating," "instantiating," "determining," "displaying," "recognizing," or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system registers or memories or other such information storage, transmission, or display devices. COMPUTER SYSTEM ENVIRONMENT Refer to Figure 1A which illustrates a computer system 112. Within the following discussions of the present invention, certain processes and steps are discussed that are realized, in one embodiment, as a series of instructions (e.g., software program) that reside within computer readable memory units of system 112 and executed by processors of system 112. When executed, the instructions cause the computer system 112 to perform specific actions and exhibit specific behavior which is described in detail to follow. In general, computer system 112 used by the present invention comprises an address/data bus 100 for communicating information, one or more central processors 101 coupled with the bus 100 for processing information and instructions, a computer readable volatile memory unit 102 (e.g., random access memory, static RAM, dynamic, RAM, etc.) coupled with the bus 100 for storing information and instructions for the central processor(s) 101, a computer readable non -volatile memory unit 103 (e.g., read only memory, programmable ROM, flash memory, EPROM, EEPROM, etc.) coupled with the bus 100 for storing static information and instructions for the processor(s) 101. System 112 can optionally include a mass storage computer readable data storage device 104 such as a magnetic or optical disk and disk drive coupled with the bus 100 for storing information and instructions. Optionally, system 112 can also include a display device 105 coupled to the bus 100 for displaying information to the computer user, an alphanumeric input device 106 including alphanumeric and function keys coupled to the bus 100 for communicating information and command selections to the central processor(s) 101, a cursor control device 107 coupled to the bus for communicating user input information and command selections to the central processor(s) 101, and a signal input/output device 108 coupled to the bus 100 for communicating messages, command selections, data, etc. to and from processor(s) 101. With reference now to Figure IB, a home audio visual network 120 in accordance with one embodiment of the present invention is shown. Network 120 includes 6 devices, a television 121, a receiver 122, a multi- disc-type player/recorder 123, a CD unit 124, a set top box 125, and a video camera 126. Each of the devices 121-126 are communicatively coupled via respective IEEE 1394 bus finks 130a through 130e to form a single network, wherein each device on the network can communicate with any other device on the network (e.g., in accordance with well known IEEE 1394 bus protocols). While network 120 is shown including 6 devices, it is understood that network 120 is suited to include any number of devices up to the physical limits of the bus technology (e.g., 63 devices for IEEE 1394). The IEEE 1394 serial bus used by network 120 of Figure 1 is a high-speed bus architecture for interconnecting digital devices thereby providing a universal input/output connection. The IEEE 1394 standard defines a digital interface for the appHcations thereby ehminating the need for an application to covert digital data to analog data before it is transmitted across the bus. Correspondingly, a receiving application receives digital data from the bus, not analog data, and therefore is not required to covert analog data to digital data. The cable required by the IEEE 1394 standard is very thin in size compared to other bulkier cables used to connect such devices. Devices can be added to and removed from an IEEE 1394 bus while the bus is active. If a device is so added or removed, the bus automatically reconfigures itself for transmitting data between the then existing nodes. A node is considered a logical entity having a unique address on the bus structure. Each node provides an identification ROM, a standardized set of control registers and its own address space. The IEEE 1394 communication standard of network 120 of Figure IB supports isochronous data transfers of digital encoded information. Isochronous data transfers are real-time transfers which take place such that the time intervals between significant instances have the same duration at both the transmitting and receiving applications. Each packet of data transferred isochronously is transferred in its own time period. An example of an application for the transfer of data isochronously is from a set top box 125 to a television 121. The set top box 125 receives the video stream from a cable company and divides the stream into discrete packets. The set top box 125 then transfers each packet, representing the images and sounds recorded over a limited time period, during that time period, for display by the television 121. The IEEE 1394 standard bus architecture provides multiple channels for isochronous data transfers between appHcations. Specifically, a six bit channel number is broadcast with the data to ensure reception by the appropriate appHcation. This allows multiple appHcations to simultaneously transmit isochronous data across the bus structure. Asynchronous transfers are traditional data transfer operations which take place as soon as possible and transfer an amount of data from a source to a destination. It should be appreciated that the present invention is equaUy weU suited for home audio visual networks based upon other weU known network or bus standards besides IEEE 1394. Such standards include, for example, ethernet, universal serial bus, token ring, and the Hke. Accordingly, the IEEE 1394 structure of network 120 is shown and described herein as an example bus architecture only. As described above, the present invention provides a software data structure which abstracts the functionaHty of a device on the network and provides a standardized method and system for interacting with the device and controlfing, using, invoking, etc., the functionaHty of the device. Particularly, the present invention provides a standardized data structure for interacting with disc-based media player/recorders (e.g., multi-disc-type player 123) and other such media devices. This data structure is referred to herein as a "model". As its name impfies, a model in accordance with the present invention abstracts the features and functionaHty of a device, thereby providing a means of interacting with the device which is media type independent and which is compatible with a wide range of "controUer devices ", such as, for example, receiver 122 or set top box 125. The device model of the present invention is instantiated within a computer system which is typicaUy embedded within the device itself. Multi- disc-type player 123 and its embedded computer system 112 are described in Figure 1C below. Figure 1C shows a multi-disc-type player/recorder in accordance with one embodiment of the present invention. As described above, multi-disc-type player/recorder includes computer system 112 embedded within its internal electronics. Instantiated within computer system 112 is a media player/recorder subunit model 151 in accordance with one embodiment of the present invention. With respect to media player/recorder subunit model 151, it provides an abstraction of the functionaHty and features of the disc drive mechanism subunit 160 specificaUy. Via computer system 112, the functions, status, etc. of disc drive mechanism 160 are accessed and controUed by other software modules and controUers within network 120. Other devices on network 120 interact with disc drive mechanism 160 by interacting with media player/recorder subunit model 151. An IEEE 1394 interface 140 provides a communications Hnk to the network 120 via Hnk 130 d and 130e. The disc drive mechanism subunit 160 of the present embodiment can playback or record disc media. There are many kinds of disc media, some which contain audio and video data and others which contain computer data. For example, multi-disc-type player 123 is adapted to play audio visual media (e.g., high quafity digital video from DVD discs). Media player/recorder subunit model 151, in accordance with the present invention, abstracts the features and functionaHty of disc drive mechanism subunit 160 using weU known AV/C protocols. In so doing, media player/recorder subunit model 151 provides a means of interacting with the functionaHty and features of the disc drive mechanism subunit 160 in a media- type independent manner which is compatible with a wide range of "controUer devices ", such as, for example, receiver 122 or set top box 125. For example, media player/recorder subunit model 151 supports status reporting and notification mechanisms so that other controUers (e.g., set top box 125) are aware of what is occurring within the device, and thus keep the user informed. This is especially important in a distributed network environment where, for example the controlling set top box 125 may be in another room of the house. It should be noted that in the present embodiment (e.g., multi-disc-type player 123) media player recorder subunit model 151 supports audio visual disc media as opposed to computer data media. However, to access the computer data content of a disc as weU as the audio visual content, the appropriate computer data protocols and control commands are implemented as weU. Referring stiU to Figure 1C, media player recorder subunit model 151 is defined by a specification, which in turn, defines several data structures for media type description (how to describe a compact disc, a DVD disc, etc.), the contents of the media (titles for each track on a disc, the duration of each track, etc.), and for status reporting and notification. It should be noted that these data structures can be modified in any number of ways to include or exclude various pieces of information which may or may not be available depending on the characteristics of a particular media item and the capabiHties built into the multi- disc-type player 123 (e.g., the capabiHties of disc drive mechanism subunit 160, etc.). Media player/recorder subunit model 151 supports status reporting and notification mechanisms so that other controUers (e.g., set top box 125) are aware of what is occurring within the device, and thus keep the user informed. This is especiaUy important in a distributed network environment where, for example the controlfing set top box 125 may be in another room of the house. The Media player/recorder subunit model 151 is defined by a technical specification in which the specific implementation is left to the product manufacturer. The media player/recorder subunit model specification of the present invention defines several data structures for media type description (how to describe a compact disc, a DVD disc, etc.) the contents of the media (titles for each track on a disc, the duration of each track, etc.), and for status reporting and notification. These data structures could be modified in any number of ways to include or exclude various pieces of information which may or may not be avaUable depending on the media and the capabiHties bmlt into the disc drive mechanism subunit 160. The software data structure of a typical media player/recorder subunit model of the present invention (e.g., media player/recorder subunit model 151) and one embodiment of a disc drive mechanism subunit (e.g., disc drive mechanism subunit 160) are described below. Media player/recorder subunit model overview In a typical appHcation, a media player/recorder subunit model of the present invention is used to implement an AV/C media player/recorder. As described above, an AV/C media player/recorder subunit in accordance with the present embodiment is a stand-alone piece of functionaHty separate from any specific type of media playing mechanism (e.g., disc drive mechanism 160). The AV/C disc media player/recorder subunit model supports various types of disc media. It should be appreciated that the model and data structures used for the AV/C media player/recorder subunit model are consistent with those proposed for the AV/C Tuner subunit. The general descriptor structures and commands (e.g., OPEN DESCRIPTOR, READ DESCRIPTOR, WRITE DESCRIPTOR, OBJECT NUMBER SELECT commands and subunit identifier, objects and object fists) are described in the AV/C 3.0 specification. An understanding of the general AV/C enhancements described above is helpful in understanding the AV/C media changer subunit proposal, and as such, the AV/C 3.0 specification is incorporated herein by reference as background material. Therefore, that information is not generaUy repeated here. As such, only the AV/C media player/recorder subunit model-specific model, structures, commands and implementation profiles are primarily described. The structure of the media plaver/recorder subunit model of the present invention As described above, a disc drive mechanism subunit in accordance with the present invention can playback or record disc media. A media player/recorder subunit model in accordance with the present invention abstracts the features and functionaHty of the disc drive mechanism subunit. In so doing, the media player/recorder subunit model provides a means of interacting with the functionaHty and features of the disc drive mechanism subunit 160 in a media-type independent, highly compatible manner. To provide these advantages, the media player/recorder subunit model includes software data structures which are typicaUy instantiated within a computer system embedded within a media player device (e.g., computer system 112 of Figure IB). These data structures are described in the Figures and discussions below. Referring now to Figure 2, a table 200 illustrating a disc subunit identifier descriptor of the media player/recorder subunit present invention. As shown in table 200, the descriptor_length field contains the number of bytes used for this descriptor structure. The number_of_root_object_fists field contains the number of object fists directly associated with this subunit. The root_object_Hst_id_x fields are the ID values for each of the associated object fists. The number_of_root_object_Hsts field indicates how many of these ID values are present. The manufacturer_dependent_length and manufacturer_dependent__information fields are used for vendor-specific data. The format and contents are completely up to the manufacturer. Figure 3 shows a table 300 illustrating a disc_subunit_dependent_information in accordance with one embodiment of the present invention. It should be noted that the attributes_of_subunit_dependent_information field of table 300 is reserved for future definition. As shown in Figure 3, the number_of_supported_disc_types_field contains the number of different types of discs supported by this subunit. For example, a DVD/CD player would support two disc_types. The disc_type_sp education fields are an array of supported (as opposed to instaUed) disc specification contains both common and type-specific entries. Referring now to Figure 4, a table 400 showing the format of the media type specification in accordance with one embodiment of the present invention. As shown in table 400, the disc_type field of the present invention shows the type of disc. The upper byte indicates the medium family, whfie the lower byte specifies more detafied specifications or its functions. The type_dependent_length contains the number of bytes used by the type_dependent_information field. The type_dependent_information field contains information that is specific to each type of medium supported by the subunit. Figure 5 shows a table 500 illustrating the disc_type from table 400 in greater detail. As shown in table 500, the media player/recorder subunit supports various types of discs (e.g., CD-DA, Video CD, data, premastered, etc.). Object Lists and Objects of the media plaver/recorder subunit With reference now to Figure 6, a table 600 illustrating two Hst types in accordance with one embodiment of the present invention is shown. Table 600 shows an audio track Hst field and a video track Hst field. The audio track Hst represents an audio disc (CD-DA, MD etc.). The audio track Hst contains information describing the contents of the disc as a whole (such as the disc title), as weU as a coUection of objects, each of which represents a single audio track. This Hst contains information that is obtained by reading the contents of the media. The Audio Track List Hst_specific_information contains "global" information about the disc. The format of the AudioTrack List_specific_information is described in Figure 700 below. Figure 7 shows a table 700 illustrating the format of the AudioTrack List_specific_information field from table 600. As shown in table 700, the last_update field indicates the time stamp when this Hst was last modified. If the most significant bit of the last_update field is set to one, the last_update value contains a 27-bit counter which is incremented on each modification of the object Hst (the lsb of this counter is at address offset 03IG). If the MSB is zero, the last_update field contains a time stamp as shown below in table 800 of Figure 8. The disc_total_playback_time field specifies the entire playback time of the disc. This field is formatted as HH:MM:SS:FF, with the hours component (HH) in the most significant byte (MSB). The disc_maximum_recording_capacity field specifies the maximum recording time of the disc. This field is formatted as HH:MM:SS:FF, with the hours component (HH) in the most significant byte (MSB). The disc_recording_remaining_time field specifies the remaining recording time on the disc. This field is formatted as HH:MM:SS:FF, with the hours component (HH) in the most significant byte (MSB). The number_of_disc_titles field contains the number of disc titles. It is possible that the disc title is provided in several different languages (Engfish, Japanese, etc.). The disc_title[x]_length field contains the number of bytes used by this disc title. The disc_title[x]_character_code specifies the character code of this disc title. The character code identifies which character set is used to encode the title characters. Referring stiU to table 700 of Figure 7, the disc_title[x] field contains the title of the disc in the specified character code. The media_type_dependent_length field contains the number of bytes used by the media_type_dependent_information field. The media_type_dependent_information field contains information that is specific to the media_type. At present there is no media_type_dependent_information defined for the currently defined media types. When no information exists, the media_tvpe_dependent_information_length field shaU be set to zero and this field shaU not exist. Figure 8 shows a table 800 iUustrating the year bit is 1 when the year is odd and 0 when the year is even. This allows the time stamp mechanism to cover a two-year period. The reader of the time stamp can examine the year bit and the current calendar year (which is presumed to be available elsewhere) to determine if the time stamp represents a change in the current or previous year. Referring now to Figure 9, a table 900 iUustrating the format of an audio track entry_specific_information field of an audio track object of the present invention is shown. As shown in table 900, the entry_specific_information field contains various track information which describes the content of the disc. The content of the entry _specific_attributes field is shown in greater detail in table 1000 below. Figure 10 shows a table 1000 iUustrating the entry _specific_attributes field from table 900 in greater detail. As shown in table 1000, the recordable bit indicates whether this particular disc is recordable. The write_protected bit teUs whether this recordable disc is protected by a write protect mechanism. This bit is defined only when the recordable bit is 1. When the recordable bit is 0, then this bit shaU be set to 0. Figure 11 shows a table 1100 iUustrating the media_type field in accordance with one embodiment of the present invention. As shown in table 1100, the media_type field indicates the format of the information on the particular media item. The upper byte indicates the media famUy, whfie the lower byte specifies more detailed specifications or its functions. The Data type means that this is something other than an AV format (such as CD-ROM). As shown in table 11, for example, a DVD movie disc would have the value 0501 to. The track_j?layback_time field contains the total playing time of the track. This field is formatted as HH:MM:SS:FF, with the hours component (HH) in the most significant byte (MSB). The number_of_track__titles field contains the number of titles suppfied for this track. As with the disc title, it is possible that each track title may be provided in several different languages. The track_title[x]_character_code specifies the character code of the track title. The track_title[x]_length field contains the number of bytes used by the track title. The track_title[x] field contains the title of the track, in the specified character code. The track_dependent_information_length field contains the number of bytes used by the track_dependent_information field. The track_dependent_information field contains track-specific information for the disc media. Disc drive subunit commands Referring now to Figure 12, a table 1200 iUustrating the drive subunit commands of the present invention is shown. As shown in table 1200, the drive subunit commands include import medium commands, export medium commands, play commands, etc. Except for the record command, each of these commands are further iUustrated in the tables of Figures 13 through 21. Figure 13 shows a table 1300 iUustrating the import medium command from table 1200. The import medium command is used to place the medium into the disc drive mechanism subunit. Figure 14 shows a table 1400 iUustrating the export medium command from table 1200. The export medium command is used to take the medium out of the disc drive mechanism subunit. Figure 15 shows a table 1500 iUustrating the play command from table 1200. The play command is used to start playback. If a playback start point is specified before this command, playback is started from the beginning of the medium. Figure 16 shows a table 1600 illustrating the stop control command from table 1200. The stop control command is used to stop the media being played back. Figure 17 shows a table 1700 iUustrating the pause control command from table 1200. The pause control command is used to pause the media being played. If this command is used whUe the media being played, the media is paused at the current playback point. If not , the media is paused at its beginning. Figure 18 shows a table 1800 iUustrating the next control command from table 1200. The next control command is used to playback the next playback point scaled by a "unique unit". Figure 19 shows a table 1900 iUustrating the prev control command from table 1200. The prev control command is used to playback the previous playback point scaled by its unique unit. Figure 20 shows a table 2000 iUustrating the access play control command from table 1200. The access play command is used to play back from the point specified by this command. Figure 21 shows a table 2100 iUustrating the access pause command from table 1200. The access pause command is used to pause at a particular point specified by the command. With reference now to Figure 22, a flow chart of the steps of a process 2200 in accordance with one embodiment of the present invention is shown. Process 2200 is an exemplary interface process between a multi- disc-type player/recorder and other devices on a home audio visual network. The interface process is implemented via a media player/recorder subunit model in accordance with one embodiment of the present invention (e.g., media player/recorder subunit model 151 of Figure 1C). The home audio visual network, as described above, is based on IEEE 1394 protocols. In step 2201 an external device coupled to the home audio visual network accesses a media player recorder subunit model of a multi-disc-type player (e.g., DVD player 123 of Figure 1C) via an IEEE 1394 communications Hnk. As described above, a controUer device (e.g., a receiver/amplifier, set top box, etc.), typicaUy responding to some user input, accesses the multi-disc player by sending standardized messages to the media player/recorder subunit model. The media player/recorder subunit model is instantiated on a computer system embedded within the multi-disc player. In step 2202, the media player/recorder subunit model, responding to the request from the controUer device, accesses a disc in a disc drive mechanism to determine the disc's content information. As described above, the disc drive mechanism interfaces directly with the media player/recorder subunit model and interfaces with other devices via the media player/recorder. The other devices are informed of the disc's content (e.g., number of tracks, the length of the tracks, track titles, etc.) by the media player/recorder subunit model via the IEEE 1394 communications Hnk. In step 2203, the controUer device selects one of the tracks of the disc and plays the selected track. As described above, disc drive mechanism commands are defined by the media player/recorder subunit model. Using these commands, the controUer device assesses the functions of the disc drive mechanism subunit. It should be noted the fuU functionaHty of the disc drive mechanism subunit is avaUable via the commands. For example, the controUer could in the same manner send a "record" command, "fast forward" command, "pause" command, or the Hke. In step 2204, after implementing the command on the disc drive mechanism, the media player/recorder subunit updates the status of the disc drive mechanism and the status of the disc being played. The status information includes, for example, the particular track being played, the amount of time remaining on the track, and the Hke. The updated status is then sent to the controUer device and other devices on the network via the IEEE 1394 communications Hnk. Thus, the present invention provides a device model which is disc media type independent and thereby supports any type of disc media (CD's, MiniDiscs, etc.). The present invention provides a model which supports enhancements to the AV/C protocol for content navigation and selection, providing both a detailed and a general abstraction of content discovery and description, and aUowing for a range of controUers (from very simple to very complex) to make use of its features. The model of the present invention supports status reporting and notification mechanisms so that controUers are aware of what is occurring within the device, and thus keep the user informed. This capability is especiaUy important in a distributed IEEE- 1394 network environment where the device may be located away from the controUer/user. In addition, the present invention provides a software based model and command set for a Disc player/recorder mechanism for multi- disc-type players capable of storing vast amounts of media content, thereby aUowing any interested entity to navigate the contents of the media in the drive, to access the contents (such as the selection of a track on the disc), and to monitor the status of the drive. The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of Ulustration and description. They are not intended to be exhaustive or to Hmit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in fight of the above teaching. The embodiments were chosen and described in order best to explain the principles of the invention and its practical appHcation, thereby to enable others skiUed in the art best to utifize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the Claims appended hereto and their equivalents.

Claims: CLAIMS What is claimed is: 1. A system comprising: a means for storing an item; a mechanism within the means for storing, the mechanism configured to play the item; a computer system within the means for storing, the computer system coupled to the mechanism, the computer system having a processor coupled to a memory; and a software based media player model executing within the computer system, the media player model comprised of computer readable code which when executed by the processor causes the computer system to perform a method for accessing the mechanism, the method comprising the computer system performing the steps of: interfacing with a pluraHty of devices coupled to the means for storing via an IEEE 1394 communications Hnk of an IEEE 1394 based network; and providing a standardized command set for the mechanism to provide a set of standardized commands that allow the pluraHty of devices to access the mechanism such that the pluraHty of devices can access the item. 2. The system of Claim 1, wherein the system is in a home audio visual network including a pluraHty of devices coupled via an IEEE 1394 bus, the system being for accessing a media player mechanism of a multi-item-type media player; the means for storing being a multi-item-type media player capable of playing the item; the item stored by the multi-item-type media player is a media item, wherein in the step of providing, the pluraHty of devices can access the information of the installed media item. 3. The system of Claim 1 or 2, wherein the means for storing or multi- item-type media player is disc-based multi-item media player and wherein the item is a disc. 4. The system of Claim 1 or 2 wherein the mechanism includes at least one drive configured to play and record the item. 5. The system of Claim 1 or 2 wherein the mechanism is configured to play items from a pluraHty of different formats. 6. The system of Claim 1 wherein the system is in an IEEE 1394 based home audio visual network including a pluraHty of devices coupled via respective IEEE 1394 communications finks, the system being a media type independent system for accessing a disc drive mechanism of a multi-disc-type media player coupled to the network; the means for storing being a multi-disc-type media player configured to store a single media disc, the disc being the item; the mechanism being a disc drive mechanism within the multi-disc-type media player, the disc drive mechanism for playing the media disc; and the computer system being within the multi- disc-type media player, and coupled to the disc drive mechanism and the disc drive, wherein in the providing step the pluraHty of devices can access the content of the media disc. 7. The system of Claim 1, 2 or 6 wherein the media player model interfaces with the pluraHty of devices using AV/C protocols, the standardized command set being an extension of the AV/C protocols. 8. The system of Claim 1, 2 or 7 wherein the computer system further performs the step of providing enhancements to the AV/C protocols for content navigation of the media disc or item by providing a detailed abstraction and a general abstraction of content discovery functionaHty of the disc drive mechanism. 9. The system of Claim 6 wherein the disc drive mechanism is configured to both play and record the media disc. 10. The system of Claim 6 wherein the media player model includes a disc subunit identifier descriptor software data structure for describing the information content of a media disc. 11. The system of Claim 6 wherein the media player model includes a pluraHty of object Hst software data structures for describing the tracks of a media disc. 12. The system of Claim 11 wherein the object Hst software data structures includes at least one audio track Hst or one video track Hst for cataloging the contents of the media disc. 13. The system of Claim 6 wherein the media player model includes command software data structures for controUing the function of the disc drive mechanism. 14. A method for type independent accessing of a disc drive mechanism of a multi- disc-type media player coupled to a network in an IEEE 1394 based home audio visual network including a pluraHty of devices coupled via respective IEEE 1394 communications finks, comprising: playing a media disc using a disc drive within a disc drive mechanism; interfacing a pluraHty of devices coupled to the multi-disc media player via an IEEE 1394 communications Hnk of an IEEE 1394 based network using a computer system within the multi-disc-type media player, the computer system having a processor coupled to a memory for executing a software based media player model, the media player model comprised of computer readable code which when executed by the processor causes the computer system to perform the steps of: providing a standardized command set for the disc drive mechanism to provide a set of standardized commands that allow the pluraHty of devices to access the disc drive mechanism such that the pluraHty of devices can access the media disc; and interfacing the disc drive mechanism with the pluraHty of devices using AV/C protocols, the standardized command set being an extension of the AV/C protocols. 15. The method of Claim 14 wherein the computer system further performs the step of providing enhancements to the AV/C protocols for content navigation and selection of the media disc by providing a detailed abstraction and a general abstraction of content discovery functionality of the disc drive mechanism. 16. The method of Claim 14 wherein the media player model interfaces with the pluraHty of devices using AV/C protocols, the standardized command set being an extension of the AV/C protocols. 17. The method of Claim 14 wherein the disc drive mechanism is configured to both play and record the media disc. 18. The method of Claim 7 or 14 wherein the media player model includes a disc subunit identifier descriptor software data structure for describing the information content of a media disc. 19. The method of Claim 7 or 14 wherein the media player model includes a pluraHty of object Hst software data structures for describing the tracks of a media disc. 20. The method of Claim 7 or 14 wherein the media player model includes command software data structures for controUing the function of the disc drive mechanism. AMENDED CLAIMS [received by the International Bureau on 15 December 1998 (15.12.98); original claims 1 and 14 amended; remaining claims unchanged (3 pages)] 1. A system comprising: a means for storing an item, said means comprising a mechanism, the mechanism configured to play the item; a computer system coupled to the mechanism.the computer system having a processor coupled to a memory; and a software based media player model executing within the computer system, the media player model comprised of computer readable code which when executed by the processor causes the computer system to perform a method for accessing the mechanism, the method comprising the steps of: interfacing with a plurality of devices coupled to the means for storing via an IEEE 1394 compliant communications link of an IEEE 1394 compliant network; and allowing the plurality of devices to access the mechanism and the item by providing a set of standardized commands. 2. The system of Claim 1 , wherein the system is in a home audio visual network including a plurality of devices coupled via an IEEE 1394 bus, the system being for accessing a media player mechanism of a multi-item type media player; the means for storing being a multi-item type media player capable of playing the item; the item stored by the multi-item type media player being a media item, wherein in the step of allowing, the plurality of devices can access the information of the installed media item. general abstraction of content discovery functionality of the disc drive mechanism. 9. The system of Claim 6 wherein the disc drive mechanism is configured to both play and record the media disc. 10. The system of Claim 6 wherein the media player model includes a disc subunit identifier descriptor software data structure for describing the information content of a media disc. 11. The system of Claim 6 wherein the media player model includes a plurality of object list software data structures for describing the tracks of a media disc. 12. The system of Claim 1 1 wherein the object list software data structures includes at least one audio track list or one video track list for cataloging the contents of the media disc. 13. The system of Claim 6 wherein the media player model includes command software data structures for controlling the function of the disc drive mechanism. 14. A method for type independent accessing of a disc drive mechanism of a multi-disc type media player coupled to a network in IEEE 1394 compliant home audio visual network including a plurality of devices coupled via respective IEEE 1394 communications links, the method comprising: playing a media disc using a disc drive within a disc drive mechanism; interfacing a plurality of devices coupled to the multi-disc media player via an IEEE 1394 compliant communications link of an IEEE 1394 compliant network using a computer system within the multi-disc-type media player, the computer system having a processor coupled to a memory for executing a software-based media player model, the media player model comprised of computer readable code which when executed by the processor causes the computer system to perform the steps of: allowing the plurality of devices to access the disc drive mechanism such that the plurality of devices can access the media disc by providing a set of standardized commands for the disc drive mechanism; and interfacing the disc drive mechanism with the plurality of devices using AV/C protocols, the standardized command set being an extension of the AV/C protocols. 15. The method of Claim 14 wherein the computer system further performs the step of providing enhancements to the AV/C protocols for content navigation and selection of the media disc by providing a detailed abstraction and a general abstraction of content discovery functionality of the disc drive mechanism. 16. The method of Claim 14 wherein the media player model interfaces with the plurality of devices using AV/C protocols, the standardized command set being an extension of the AV/C protocols. 17. The method of Claim 14 wherein the disc drive mechanism is configured to both play and record the media disc. 18. The method of Claim 7 or 14 wherein the media player model includes a disc subunit identifier descriptor software data structure for describing the information content of a media disc. 19. The method of Claim 7 or 14 wherein the media player model includes a plurality of object list software data structures for describing the tracks of a media disc.

Inventors: INOUE HIRAKU, KAWAMURA HARUMI, LUDTKE HAROLD AARON, INOUE, HIRAKU, KAWAMURA, HARUMI, LUDTKE, HAROLD, AARON
Applicants: SONY ELECTRONICS INC, SONY ELECTRONICS, INC.
Application year: 1998
Main classification: G11B19
IPC codes: G06F3, G06F13, G11B19, G11B20, G11B27, G11B31, H04B1, H04L12, H04N5