Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1999-10-28
2004-02-10
Shah, Sanjiv (Department: 2176)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000, C707S793000
Reexamination Certificate
active
06691096
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to audio/video control (AV/C) implementations. More particularly, this invention relates to providing a methodology for accessing and interacting with AV/C descriptors within the standards of the AV/C Digital Interface Command Set General Specification.
2. The Prior Art
The IEEE 1394 multimedia bus standard is to be the “convergence bus” bringing together the worlds of the PC and digital consumer electronics. It is readily becoming the digital interface of choice for consumer digital audio/video applications, providing a simple, low-cost and seamless plug-and-play interconnect for clusters of digital A/V devices, and it is being adopted for PCs and peripherals.
The original specification for 1394, called IEEE 1394-1995, supported data transmission speeds of 100 to 400 Mbytes/second. Most consumer electronic devices available on the market have supported either 100 or 100/200 Mbytes/second; meaning that plenty of headroom remains in the 1394 specification. However, as more devices are added to a system, and improvements in the quality of the A/V data (i.e., more pixels and more bytes per pixel) emerge, a need for greater bandwidth has been indicated.
The 1394
a
specification (pending approval) offers efficiency improvements, including support for very low power, arbitration, acceleration, fast reset and suspend/resume features. The AV/C Digital Interface Command Set General Specification defines a command set for consumer and professional audio/video equipment over the IEEE Std. 1394-1995. Within the standard, audio/video devices are implemented as a common unit architecture within IEEE Std. 1394-1995.
Furthermore, the AV/C Digital Interface Command Set General Specification defines a set of data structures called AV/C descriptors,used to provide useful information about an AV/C device and its media content. In providing useful information about an AV/C device, AV/C descriptors are similar to 1212 CSR Configuration ROMs.
Referring now to
FIG. 1
, a flowchart of an interpretation of the AV/C General Specification descriptor hierarchy is depicted. The following excerpt from the AV/C Digital Interface Command Set General Specification, Rev. 3.0 (the General Specification) summarizes this architecture.
The AV/C descriptor mechanism supports the creation of various data structures, both static and dynamic, which contain useful information about AV/C units, subunits, and their associated components such as plugs. Additionally, these structures can be used to model the media contents provided by these subunits.
The structures can be combined to form a content navigation and selection mechanism, which allows controllers to discover and access all media contents in a general way, limiting the media-, and subunit-type specific knowledge required to perform such tasks.
These structures are applicable to any type of unit and subunit definitions of the AV/C protocol.
A descriptor is an address space on a target that contains attributes or other descriptive information. One example is the subunit identifier descriptor, which is a data block containing various pieces of information regarding a particular type of subunit. The format and contents of the subunit identifier descriptor are unique to each type of subunit. For example, all tuner subunits will have the same kind of subunit identifier descriptor. Most of the information in this structure is static in nature. However, depending on the type of subunit and the particular technologies that it implements, it is possible that some of the information may change from time to time.
Other standard descriptor structures include an object list and the object entries that it contains. An object is a generic concept that applies to a particular type of subunit, which can be defined as needed. For example, a tuner subunit implements an object list, which contains information about the various services which are available on the system. Each service is represented by an object.
Other examples of where objects may be useful might be for disc players, where the objects represent tracks on the media. For digital still cameras, objects could be the pictures that have been taken.
An object list is a generic container concept; each entry in the list is an object descriptor structure. These may also be referred to as object entries, or simply, objects.
Objects and object lists can be used to model data relationships where one entity is composed of several sub-entities. For example, an audio compact disc (CD) can be composed of the collection of audio tracks on that disc.
In the above example, an object would be used to describe the CD. That object would, in turn, have a reference to a list of objects, where each one represents an audio track. Further extending the example, a collection of several CD's can be represented by a list, where each object entry describes one of those CD's.
The hierarchical model of lists and objects can be continued to any arbitrary level of complexity.
We define the root or beginning of a hierarchy to be a list, which may contain one or more objects. This list will be accessible by its list_ID value, which can be found in the subunit identifier descriptor. A subunit identifier descriptor may refer to several root lists.
When traversing away from the root, we say that we are moving down in the hierarchy. Conversely, when moving toward the root, we are moving up in the hierarchy. There is only one root for the hierarchy, and there may be any number of leaf nodes (end points).
When an object entry has object lists associated with it, we say that the object entry is a parent. The object list that it refers to is a child.
So, object lists, which are referred to by the subunit identifier descriptor, are root lists; all other lists, which must be referred to by objects within other lists, are child lists. Object lists and object entries are defined per subunit type (tuner, etc.). There may or may not be crossover usage in other subunit types, depending on the definitions.
The unit and subunit identifier descriptors mentioned in this document are examples of descriptor structures; objects and object lists are also descriptors. When a controller wants to access a descriptor, it will use the descriptor commands to specify which descriptor it wants to deal with.
One very important fact to understand is that the structures of the various descriptors defined here are for interfacing purposes, where two separate AV/C entities (a target and a controller) must exchange information. The internal storage strategy used by a particular entity is completely transparent to these interface definitions. Data can be stored in any manner or location as required by the entity. Only when it comes time to present it to a controller will it be necessary to use these structure formats.
Thus, as may be gleaned from the above excerpt from the General Specification, in providing useful information about the media content of an AV/C device, AV/C descriptors are more similar to a networked file system. For example, AV/C descriptors are used to incidate the title of a MiniDisc in an AV/C MiniDisc player. Since MiniDiscs are writable, the disc title may be changed on the media, and AV/C descriptors are used to do so. In this case, then, AV/C descriptors may be both read and written. Thus, access to AV/C descriptors must be controlled as in a file system to prevent multiple controllers from simultaneously attempting to write to the same descriptor. Therefore, the AV/C descriptor architecture, generally, provides methods for opening access to descriptors, much like file systems do.
AV/C descriptors also provide status information such as the current amount of play time into a MiniDisc. This information is highly dynamic, changing as much as 10 times a second. Unlike other types of descriptors, status descriptors are not preconstructed in system memory and directly read when an AV/C controller reads the descriptor. Instead, the status descriptor information is read only when a desc
Apple Computer Inc.
Shah Sanjiv
Sierra Patent Group Ltd.
LandOfFree
General purpose data container method and apparatus for... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with General purpose data container method and apparatus for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and General purpose data container method and apparatus for... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3296856