Multi-media system and method for simultaneously delivering multi-media data to multiple destinations

A multimedia system and method that provides easy universal text searching for non-technical users, is disclosed. A configuration of the multimedia system and method of the present invention also facilitates content delivery through multiple, independent, simultaneous feeds from a single source to two or more different destinations without impairing audio and/or video and/or data stream quality.

FIELD OF INVENTION

The present invention generally relates to the manipulation of multimedia content. More particularly, the present invention relates in part to a searching capability and the simultaneous transmission of multiple streams of data, such as audio data and/or video data and/or a data stream, including data stored on a media, such as a compact disc (CD) and/or digital versatile disc (DVD), to different locations.

BACKGROUND OF INVENTION

A variety of laser-readable discs are played in conventional single-disc or multiple-disc loading trays in an office, home or university environment. Examples of laser-readable discs generally include a compact disc (CD), CD-ROM, digital versatile disc (DVD), DVD-Audio, DVD-Video, DVD-ROM, and the like.

The technology that allowed multiple-disc loading is a carousel mechanism capable of holding several CDs or DVDs, for example. However, a major shortcoming of the carousel mechanism required only one disc to be played at a time. In addition, the mechanical switching from one disc to another was slow.

These shortcomings were solved by storing the contents of the discs onto a computer hard drive in order to allow more flexible access to the contents and to facilitate faster disc selection. However, applications of the hard drive technology were not without its accompanying drawbacks.

In one application, for instance, an MPEG compression scheme is employed to reduce the size of the data files stored on hard drives for faster music selection, for example. However, this compression scheme results in an audible reduction in sound quality. Moreover, this application has no DVD capability.

In another application where an MPEG compression scheme is not employed, in order to improve poor sound quality, flexible access to the contents on the hard drive became problematic because of searching capability drawbacks. Here again, this application is not capable of handling DVDs.

Accordingly, there is an increasing need to be able to provide students, faculty, staff, professionals and any variety of users, with a multi-media system that allows, in part, content delivery via multiple, simultaneous, independent feeds from a single source without impairment of audio/video quality.

SUMMARY OF INVENTION

The present invention satisfies, to a great extent, the foregoing and other needs not currently satisfied by existing technologies, while eliminating the problems with one or more of the above-mentioned conventional applications.

It is a feature and advantage of the present invention to provide a multi-media system and method that provides easy universal text searching for a non-technical user.

It is another feature and advantage of the present invention to provide a multi-media system and method that provides simultaneous and independent delivery/transmission of multi-media content via a single source to multiple different destinations.

It is yet another feature and advantage of the present invention to provide a multi-media system and method that provides easy access and manipulation of multi-media content from a multi-media library.

It is another feature and advantage of the present invention to provide a multi-media system and method that is compatible with existing control systems.

It is another feature and advantage of the present invention to provide a multi-media system and method that is configurable for connectivity with one or more electronic devices.

It is another feature and advantage of the present invention to provide a multi-media system and method that is controllable by a variety of electronic devices.

It is another feature and advantage of the present invention to provide a multi-media system and method that allows instantaneous multi-media selection.

It is another feature and advantage of the present invention to provide a multi-media system and method that enhances user enjoyment without impairment of audio/video quality.

It is another feature and advantage of the present invention to provide a multi-media system and method that allows quick and easy access/manipulation of media selections from both CDs and DVDs.

It is another feature and advantage of the present invention to provide a multi-media system and method that allows independent simultaneous access by each user to the entire multi-media library, whether accessed locally or via remote.

It is another feature and advantage of the present invention to provide a multi-media system and method that offers simplified management of multi-media libraries.

It is another feature and advantage of the present invention to provide a multi-media system and method that allows easy retrieval of multi-media selections for playback.

It is another feature and advantage of the present invention to provide a multi-media system and method having a capability to create customized play lists.

The above features and advantages are generally accomplished, in part, in the present invention by integrating a computing system configured with specialized software or program procedures, with one or more audio and/or video distributors. It is to be understood that the written description may be presented in terms of program procedures executed on a computer, computing system or network of computers. These procedural descriptions and representations are meant to convey the substance of the inventors' work to those skilled in the art.

A procedure is generally conceived to be a self-consistent sequence of steps leading to a desired result. Involved in those steps are physical manipulations of physical quantities generally in the form of electrical or magnetic signals capable of being stored, transferred, combined, compared and otherwise manipulated. The manipulations performed, such as adding or comparing or matching, are commonly associated with mental operations performed by a human operator. No such capability of a human operator is necessary or desirable in most cases in any of the operations forming a part of the present invention; the operations are machine operations.

The present invention also relates to apparatus for performing these operations, where such apparatus may be specially constructed for the required purpose. This apparatus may also comprise a general purpose computer as selectively reconfigured by a computer program or program procedures stored therein. The procedures presented herein are not inherently related to a particular computer or other apparatus. Various general purpose machines may be used with programs written in accordance with the teachings herein, or it may prove more convenient to construct more specialized apparatus to perform the required method steps.

In accordance with one embodiment of the present invention, a music server is provided. The music server comprises a computing system configured with a Linux operating system, a SQL database, a central controller or control program, and a user interface program. The computing system is configured for connectivity with one or more audio distributors via a universal serial bus.

The control program is in communication with the user interface, the database, library and all periphery devices. Accordingly, it receives commands from the user interface program, other personal computers, touch-panel control systems, personal digital assistants or any other electronic device capable of two-way communications.

Through the control program, the multimedia system of the present invention executes commands and transmits multiple, independent audio streams over the bus to each audio distributor as a single stream. The audio distributor is configured to split the single inbound stream into one, two or more streams of audio data, depending on the number of audio modules in the audio distributor. By connecting the audio outputs of the audio distributor to a multi-room stereo system, for instance, each of the two or more independent streams of audio data may be directed simultaneously to two or more different destinations.

In addition, the control program is configured to receive and process high-level search commands and return all matching records from the SQL database based on a universal text search.

The user interface program allows the user to interact with the control program without having to learn any special commands. Types of user interfaces may include menu-driven or graphical user interfaces. The user interface is divided into three main sections or functionalities: Search and Play, Record, and System Information.

The Search and Play functionality provides music search and playback facilities, as well as custom play-list creation and management, and music database management functionality. The Record functionality provides access to a CD-RW drive, for adding music to the database collection as desired. The System Information functionality provides status overview information on the system's operation as well as various trouble-shooting tools.

In accordance with another embodiment of the present invention, a multimedia server is provided. The term multimedia is generally referred to mean the combination of sound, graphics, animation and video. The multimedia server comprises a computing system configured with a Linux operating system, a SQL database, a central control program and a user interface program. In this case, however, the control program is configured to handle video as well as audio data streams. Accordingly, the computing system is configured for connectivity with one or more audio distributors via a universal serial bus and one or more video distributors via an Ethernet network.

Each video distributor may be configured as a computing system with a high speed network interface module, a video controller and one or more streaming audio/video decoders. As with the music server, the multimedia server of this embodiment, through the video distributor, splits a single stream of video data into two or more independent video streams, which may be directed simultaneously any number of video display devices in different locations.

Accordingly, the above features and advantages of the invention, together with other apparent features and advantages of the invention, along with the various features of novelty that characterize the invention, are pointed out with particularity in the claims annexed thereto and forming a part of this disclosure. For a greater understanding of the invention, its operation and the specific features and advantages attained by its uses, reference should be had to the accompanying drawings and description, which illustrates preferred embodiments of the invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Referring toFIG. 1, wherein the same reference numbers refer to the same parts throughout the various figures, there is shown a block diagram of an exemplary embodiment of the multi-media system of the present invention.

Viewed externally, the multimedia system100generally comprises a computing system100, one or more audio distributors102, zero or more video distributors104and at least one input/output device or mechanism. The input/output device may take the form of a keyboard106, mouse108, monitor110, another computing system112, a touch panel control system114, a personal digital assistant116, or any electronic device118capable of two way communications.

In a preferred embodiment, the multimedia system100is configured with a Linux operating system, such as Red Hat 7.2, and capable of multi-tasking and multi-threading. Viewed internally, the system100includes a database120, multimedia library122, control program124, and user interface126. The SQL database120, such as MySQL 3.23, is configured to store information to the multimedia library122. The library122preferably comprises of hard disk space from one or more drives, formatted to accept records, files and folders containing multimedia content.

In the case of multiple hard drives, each drive is preferably configured as a member of level 0 RAID, which creates a singular logical drive. With this configuration, the control program124accesses the logical drive as if the multimedia library122constituted a single (large) physical drive. Additionally, each disk space in the library122is preferably formatted using an ‘ext3’ file system, which provides excellent crash recovery in the event of power loss.

The multimedia library's file system is preferably divided into two folders: audio and non-audio, such as digital versatile disc (DVD). The audio folder is used to store audio content where each record or file contains one or more pieces of information about a musical selection or collection of musical selections on a compact disc, for instance. The DVD folder is divided into subfolders so that each movie or disc preferably has its own folder. Each folder name corresponds to the value of a dvdId field stored in a DVD table, as later discussed.

As depicted inFIG. 1, the third component of the multimedia system100comprises a control program124. The control program124is configurable for communication with the SQL database120and the multimedia library122, through a variety of software or hardware interfaces, to provide access to the database120and library122. The control program124implements a number of commands usable to search the SQL database120, to retrieve a multimedia selection and control its delivery. Preferably, the program124receives commands via an RS232 port, an Ethernet port, other I/O ports available on the computer, or via software sockets. This allows the multimedia system100of the present invention to be controllable by essentially any electronic device118with a compatible input/output port.

The control program124executes a command and responds with a success or error code to a command initiator via the same route by which the command was received. In addition, when data is requested from the database120, as in the case of a search command, the results of the search are transmitted to the requestor via the same path by which the command was received. When the command requests retrieval of a multimedia selection, the control program124launches a detached thread which reads the appropriate multimedia content from the library122, decodes it as necessary and delivers it to the proper audio and/or video distributor(s)102,104, respectively.

The control program124is also capable of executing a variety of commands that query the multimedia system100as to its operating status. The status information returned by the control program124preferably includes, for example, the total amount of space available in the multimedia library122, the amount of hard drive space used, the amount of space available for additional music titles, the number of titles stored in the database120, the internal system's temperature, the CPU temperature and the speed of the cooling fan. As with all other commands, the results are returned via the path received.

The fourth component of the multimedia system100is a user interface program126that is controllable using an input/output device, such as the keyboard106or mouse108. The user interface program126communicates with the control program124via a software socket to allow the user to interact with the control program124using simple keystrokes and mouse clicks.

Referring now toFIGS. 2A,2B and2C, there is shown an exemplary embodiment of a SQL database120table structure. The database120is preferably configured with three tables that allows for the storage of information about the multimedia library122.

The first of the three tables is a Music Titles Table130, as shown inFIG. 2A. The Music Titles Table130contains one or more pieces of pertinent information relating to a collection of musical selections, which, for purposes of this discussion, is stored on a disc, that is present in the multimedia library122. The pertinent information is referred to as a record, and preferably contains four pieces of information: a cdId field132, which uniquely identifies the location of audio content of a CD in the library122; the title134of the CD; the CD recording artist's name136; and the genre138of the music.

The second table is the Track Information Table140, as shown inFIG. 2B. The Track Information Table140contains one or more pieces of pertinent information relating to one song or musical selection, which may be stored on a disc as a track, that is present in the library122. The pertinent information is referred to as a record and the Track Information Table140stores one record per song or, alternatively stores one record per CD track.

Each record in the Track Information Table140preferably contains five pieces of pertinent information stored in the database120: the cdId field132, as previously discussed; a track number142; the name144of the track; the length146of the track, preferably in minutes and seconds; and the format148(e.g., MP3, Wave, etc.) in which the audio content of that track is stored in the library122. The value of the cdId field132in combination with the track number142are used to pinpoint the location of a specific track in the multimedia library122. For example, the record or file 1.2.wav contains music from the second track of compact disc number 1 in Wave format. Note that the internal format of the music is added to the file name as an extension.

The third and final table in the database120table structure is a DVD Movie Table150, which stores one record per DVD movie or disc in the multimedia library122. Each record stores one or more pieces of pertinent information, such as the movie title154and one or more user-supplied keywords156that may be used to locate a desired movie. The keyword(s)156may comprise any combination of words descriptive of the movie's genre, actor/actress name(s), director name(s), year produced, and the like. As with the Music Titles Table130, a dvdId field152is also used to locate a particular movie inside the multimedia library122.

Referring now toFIG. 3, there is shown a series of exemplary screen shots helpful in aiding a greater understanding of the search functionality of the user interface program126of the multimedia system100of the present invention.

Generally, the user interface program126functionality is divided into three sections: Search and Play, Record, and System Information. In a preferred embodiment, each section is represented by a tabbed button on a computer screen for easy selection. Generally, the Search and Play feature allows a user to type a search string, in response to which the user interface program126displays all matching multimedia selections that are available in the library122.

More specifically, and referring toFIGS. 3A,3B,3C and3D, there is shown a screen shot representation of a universal text searching methodology, in accordance with one aspect of the present invention. In this instance, the present invention may be implemented in a university music school department where the information stored in the multimedia library122includes various types of music.

As depicted inFIG. 3A, the search screen160is divided into two major areas: a search string entry area162and search results area164. The search string entry area162is used to enter one or more keywords comprising a search string, which is searchable in one or more fields in the SQL database120. The search results area164comprises eleven lines of musical selections, numbered1through11, and is divided into seven columns, discussed in more detail below. Each column contains a single piece of information describing an aspect of a musical selection present in the university's multimedia library122.

For example, the first four columns provide status feedback information to a user as to which area of the database120was found to contain a match in the search string entry area162. A check in each of the Title Status Column166, Song Status Column168, Artist Status Column170or Genre Status Column172indicates the search string was found in these corresponding areas of the database120. For example, a check in the Title Status Column166indicates that the search string is present in the database's title134file shown inFIG. 2A.

The remaining three columns of the screen160do not provide status information; they provide specific information. For instance, the Artist Column174provides information on the recording artist's name. The Title Column176provides the title of the recording, such as a CD title or a movie title. The Genre Column178provides a brief description of the general classification of the music or movie, such as Classical, Rock, Jazz, Drama, Sci-Fi, and the like.

The features and advantages of the universal text searching capability is more fully understood with reference toFIGS. 3B,3C and3D. In the search screen180shown inFIG. 3B, a user, such as a university student, seeking to locate musical selections by the Beatles, enters the letter ‘b’ in search string entry area162. In response, the multimedia system100substantially immediately updates the contents of musical selections1through11, shown inFIG. 3A, with a new combination of musical selections9through19. Observe inFIG. 3Bthat musical selections1through8were deleted, that selections9through11remained and that new selections12through19are provided by way of update of additional titles and/or songs and/or artist and/or genre information containing the letter ‘b’.

Referring now to search screen190inFIG. 3C, the student modifies the earlier search inquiry by adding the letter ‘e’, forming a new search string ‘be’ in the search string entry area162. Again, in response, the multimedia system100of the present invention updates the search results area164by removing all musical selections that do not contain the ‘be’ search string and adding additional musical selections that matches the search string ‘be’. Accordingly, prior musical selections9through13, and selection1are now displayed, in addition to new musical selections20through24.

Finally, in search screen200inFIG. 3D, the user adds the letter ‘a’ to the earlier search string, forming the new search string ‘bea’. As before, the search results area164is updated to reflect a different combination of previous and new musical selections9,10,20,21,22and25through30.

The advantages of quick determination and easy selection provided by the status feedback columns166,168,170,172can be seen in search screen200inFIG. 3D. The search string, ‘bea’, entered by the user was found in the CD's title and its artist's name for musical selection22. Consequently, a check mark appears in the Title Status Column166and the Artist Status Column170for musical selection22, but not in the Song Status Column169or Genre Status Column172.

Similarly, when comparing both musical selections21,22by the artist The Beatles, since the artist's name contains the string, ‘bea’, in both selections21,22, in both instances the Artist Status Column170is checked. However, the CD title for musical selection22also contains the string ‘bea’, while the CD title for musical selection21does not. Therefore, the Title Status Column166is checked for musical selection22, but not for musical selection21.

The advantages of quick determination and easy selection is accomplished by a sorting program developed by the inventors. In accordance with one embodiment of the present invention, the multimedia system100sorts musical selection titles based substantially on a one-to-one match of a character entered at the beginning of the search string area with the first character in the artist's name, and other characters entered sequentially thereafter.

As a further illustration of the sorting program, reference is made toFIG. 3D. For example, although musical selections9,21,22all represent CDs by The Beatles, the musical selection10by Beau Jocque and musical selection20by Joe Beard are displayed in between selections9and21by The Beatles. The reason for that is because the search string ‘bea’ is located at the very beginning of the Artist's Column174for selection9. Consequently, it is moved to the top of the sort order.

While in selection10, Beau Jocque also contains the ‘bea’ search string at the very beginning of its Artist's Column174, because ‘Beau’ is alphabetically after ‘Beatles’, selection10is the second entry inFIG. 3D.

Logically, the sort program of the multimedia system100of the present invention, performs a sequencing function that generally begins with locating all titles of recordings that contain a keyword search or search string in any location in any of the database fields. Each title is then assigned a priority value based on which column166,168,170,172,174,176,178the search entry was found in.

For example, if a keyword search entry was found in the Artist Column174, that musical selection title match is assigned a priority value of 1000. If the search entry was found in the Title Column176, that musical selection title match is assigned a priority value of 2000. Similarly, a match found in the Genre Column178and Song Column168, are assigned priority values of 3000 and 4000, respectively.

Next, each title is assigned a priority value based on the location within each column166,168,170,172,174,176,178where the search entry was found. Thus, inFIG. 3Dfor example, musical selections9,10are assigned a priority value of 1001 while selections20,21,22all have priority values of 1004. The titles are then sorted by their priority values in ascending order. Titles having substantially the same priority number are sorted alphabetically by the Artist Column174field and then by the Title Column176field.

It is important to note that the Search and Play functionality of the user interface program126provides playback and transport control, so that once the desired selection is located, a user simply clicks the Play button to listen or view the desired selection. The transport control buttons offer the functionality of the comparable Stop, Pause, Next Track and Previous Track found on a CD or DVD player.

Finally, the Search and Play section of the user interface program126allows a user to create customized play-lists of any musical selection or movies present in the library122. Once created, a play-list may be viewed and/or listened as desired.

As to the Record section, the second section of the user interface program126, it allows a user to add one or more selections to the library122. In a preferred embodiment, upon selecting the Record section, a user is prompted to insert a CD or DVD of choice into a computer's drive. When possible, the contents of the disc are automatically detected by the multimedia system100using the Freedb database, which is a free CD identification service available over the Internet.

In instances when the user interface program126cannot identify the inserted multimedia medium, the user is prompted to fill-in the fields required in order to properly catalog the disc. The user interface program126then proceeds to transfer audio and/or video content into the multimedia library122. When completed, the SQL database120is updated to reflect the new selection.

The System Information section, which is the third and final section of the user interface program126, queries the control program124for various system statistics, such as total disc space, amount of space used, number of titles in the library122, and the like. The returned information is then presented to the user in a well-organized manner.

Referring now toFIGS. 4A and 4B, there is shown top and rear views, respectively, of an exemplary audio distributor102usable with the multimedia system100of the present invention. The audio distributor102preferably comprises a universal serial bus (USB) hub202and up to six audio modules204.

The USB hub202allows the audio distributor102to be connected to a variety of peripherals, such as external CD-ROM drives, printers, modems, mice and keyboards, through a single, general-purpose port. The USB hub202is also designed to support the ability to automatically add and configure new devices, and the ability to add such devices, to the audio distributor102without having to shut down and restart the multimedia system100.

In a preferred embodiment, the USB hub202connectivity to each audio module204employs a standard USB cable connected to one of the seven USB connectors206on the USB hub202to a USB connector208on the audio module204. An external power jack210(FIG. 4B) is connected to the USB hub's power jack212. A power switch214is preferably in an ‘on’ position at all times. A USB B-type connector216on the USB hub202is connected to a USB B-type connector218on the rear panel.

Left and right analog audio inputs220,222are connected to corresponding analog audio inputs224,226on the audio distributor's rear panel228shown inFIG. 4B. The digital audio input246is connected to the digital audio input234on the rear panel228shown inFIG. 4B.

In a similar fashion, the left and right analog audio outputs236,238from each audio module204are connected to the audio distributor's rear panel's analog audio outputs240,242. The digital audio output248from each audio module204is connected to the rear panel's228digital audio output249. All audio connections are preferably made using standard audio cables and connectors.

Alternatively and optionally, one or more audio distributors102may be connected to the multimedia system100using such USB cables and hubs202. The rear view of the audio distributor102inFIG. 4Bshows, in addition to the USB B-type connector218, one digital audio input234, a pair of analog audio inputs224,226, six digital audio outputs249, and six pairs of analog audio outputs240,242mounted thereon.

The operating system of the multimedia system100is configured with the proper device files for each audio module204present in order to provide the control program124with access to each audio module204individually. More specifically, device files are created in a ‘/dev’ folder for each audio module204with appropriate major and minor numbers using a ‘mknod’ command, for instance. These device files are used by the control program124to assist in identifying the final destination of an audio stream. By connecting the audio outputs of the audio distributor102to a university's multi-room stereo system, the university may direct music from any output to any desired room or desk area for individual use by students.

In a preferred embodiment, the Linux operating system addresses devices by using a major and minor number scheme. The major number identifies the type of device while the minor number identifies the specific physical device.

For example, the major number designated for audio devices is 14, and the minor numbers designated for physical devices start at 3 with an increment of 16. In this instance, the first audio module204may be addressed as “14,3”, where a second audio module204is addressed as “14,19”, and the like.

Referring now toFIG. 5A, there is shown a block diagram of an exemplary video distributor104for use with the multimedia system100of the present invention. Viewed internally, the video distributor104may be configured as a computing system equipped with a fast Ethernet network interface module250, a multi-headed video card or video controller252, and one or more audio/video decoders254. The video controller252comprises software components that receive a single composite stream of data, split it into one or more individual streams, and route each stream to a designated streaming audio/video decoder254. Each decoder254transmits the decoded video stream to a video graphics adapter253(FIG. 5B), which then sends the decoded video stream on to a video display. As depicted inFIG. 1, one or more video distributors104may be connected to the system100using standard fast Ethernet hubs and cables.

Preferably, the video distributor104is loaded with a Linux operating system and a standardized set of display-handling routines, such as an X-Windows system. The X-Windows system is configured to use a separate physical display device for generating a display of text or graphics output provided by an appropriate hardware component, such as a multi-headed video graphics adapter253.

In one embodiment, a Matrox G200MMS card may be used with four outputs where the X-Windows system is configured to perform four separate and independent sessions, with each session using a unique output on the card. The video controller252awaits commands and video streams from the control program124. As soon as the control program124initiates a video stream, the video controller252launches a detached thread, which receives the streaming coded video data, decodes it via the decoder254, and transmits the data to the appropriate X-Windows session.

As depicted in the embodiment of the video distributor shown inFIG. 5B, the multi-headed video graphics adapter253is capable of emulating up to four video graphics adapter (VGA) boards in a single board, and may be connected to one or more analog display device using VGA-type connectors256. Additionally, the video graphics adapter253may also be connected to one or more digital display devices using digital connectors258.

In order to synchronize audio with the video stream, the multimedia system100preferably employs an audio distributor102in conjunction with a video distributor104. With this connectivity through the multimedia system100, when a student requests a movie from the university's multimedia library122to be played via a particular video output, for example, the audio stream for that movie is transmitted to the proper audio module204corresponding to the particular video output.

The many features and advantages of the present invention are apparent from the detailed specification. Thus, it is intended by the appended claims to cover all such features and advantages of the invention that fall within the true spirit and scope of the invention.

Further, since numerous modifications and variations will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described. Accordingly, all suitable modifications and equivalents fall within the scope of the invention.