The present invention relates generally to synchronizing audio and video and more specifically to automatically synchronizing audio and video output in a multi-component multi-media processing system.
In existing audio and video multi-media systems, there has been an increase in growth in separate audio and video processing components. In these typical systems, a first group of processing elements may be utilized to generate a video signal and a second group of processing elements may be utilized to generate an audio signal. For example, in a flat panel television display, the flat panel display does not necessarily include speakers. Therefore, a separate audio subsystem must be utilized, such as a surround sound system integrated within an existing viewing area, such as a living room.
In the system 100, a video receiver 108 is operative to receive a video signal 110 from at least one of the various sources, such as the exemplary sources of the video source 102, satellite receiver 104 or cable receiver 106. The video receiver 108 may perform image processing operations to generate an output video signal 112 which is provided to a video display 114, such as a standard television.
The system 100 further includes an audio receiver 116 which is operative to receive an audio signal 118 from at least one of the different sources, such as the video source 102, satellite receiver 104 and cable receiver 106. The audio receiver 116 may be any suitable audio receiving device capable of receiving the incoming audio signal and performing signal processing to generate an output audio signal 120 to an audio output device or devices 122, such as speakers, 122.
In the system 100, the prior art approach for synchronizing the video signal 112 and the audio signal 120 to the video display 114 and corresponding audio output devices 122, respectively, is manual configuration. Typically, during the installation of the signal processing components such as the video receiver 108 and the audio receiver 116, a technician manually utilizes a testing device 124. The testing device may be any suitable processing device capable of receiving the video signal 112 and the audio signal 120. The testing device 124 is operative to determine a delay interval between a particular frame of video data 112 with a corresponding audio portion 120. Based on this calculated delay, the testing device then generates a delay signal 126 which is provided to a display for allowing manual adjustment 128.
The current approach for synchronizing audio and video output requires manual adjustment 128 of the audio receiver 116 corresponding to delay within the video receiver 108. Not only does this approach require a technician or technically advanced user to manually adjust the audio receiver 116, the present approach is only operative for the configuration of the video receiver 108.
With the growth of networking capabilities and multiple processing engines operably in communication across multiple networks, there exists the ability to allow for improved video rendering by using available rendering resources. If the combination of rendering resources is adjusted beyond the configuration within the video receiver 108, the current approach would require further manual adjustment 128 to synchronize audio and video output. Furthermore, the manual adjustment would only be good for the existing solution and would once again require further adjustment of the timing sequence of audio and video output should any other configurations become available.
For example, if on a home computer network, a television set top box is in communication with a first home computer and a second home computer, different processing resources may be utilized between different computers and the set top box to allow for maximizing available processing resources and generating the best possible video output. Although, in this system there would require inherent delay based on video signal processing which must be correspondingly provided to the audio receiver, such as the audio receiver 116. Current techniques do not allow for automatic adjustment of timing sequences for synchronizing audio and video output. Therefore, there exists a need for improving synchronization of audio and video output signals in a networking environment.
Briefly, the present invention provides for automatic audio and video synchronization by calculating a video delay time period based on a signal processing routine to generate the video display signal and automatically setting an audio delay to approximate the video delay time period. In addition the method may include if desired, determining a master device from a plurality of master capable devices. The master device is a processing device including one or more processors capable of making configuration decisions and designating a data flow for rendering a video signal. The master-capable devices are any suitable processing devices which are capable of acting as a master device. The present invention may further include using the master device to determine a signal processing routine to generate a video display signal. The signal processing routine includes a designated data flow from one processing element to a next processing element to a next processing element and so on for different stages of video signal rendering.
The video delay time period may be calculated based on the delay of an incoming video signal and the signal being provided to all of the different processing devices until the generation of a subsequent video output signal. Furthermore, the present invention includes using the master device to automatically set an audio delay in an audio processing device to a time period approximate to the video delay time period. The audio processing device may be any suitable audio processor capable of receiving an incoming audio signal and thereupon generating a corresponding audio output signal for an audio display, such as a plurality of speakers.
Thereupon, the present invention allows for the automatic adjustment of audio and video synchronization. A master device is determined from a plurality of master capable devices such that the master device determines the system processing routine. In a network system, multiple signal processing routines may be utilized based on available resources. Using various techniques, optimized signal processing routines may be determined which have varying delays. The present invention allows for not only the generation of a particular processing routine, but also the determination of the corresponding delay and the automatic audio offset relative to the delay, thereby seamlessly providing an end user with synchronized audio and video output across two different output devices.
The first deinterlacer 210 and the second deinterlacer 212 may be any suitable type of processing device capable of performing deinterlacing operations. For example, the first deinterlacer 210 may be disposed on a computing device operably coupled via a home network and the second deinterlacer 212 may be disposed within a processing device across an Internet connection. As recognized by one having ordinary skill in the art, the first deinterlacer 210 and the second deinterlacer 212 may be disposed at any location such that they are in communication with the network 204 for receiving and communicating data thereacross.
The first and second converters 214 and 216, respectively, may be any suitable type of converter capable of receiving an incoming data signal and thereupon converting a converted output signal. As recognized by one having ordinary skill in the art, with the growth of improved quality video display devices, such as display 218, conversion techniques may be required to convert an incoming signal having an existing frame ratio to a corresponding frame ratio required for a specified display, such as display 218. It should also be noted that converter one 214 and converter two 216 may also be located at any suitable location such that they are in operative communication with the network 204.
The system 200 further includes a processing unit 220 which may be one or more processing devices capable of performing processing operations. In one embodiment, the CPU 220 may further include a memory 222 capable of storing executable instructions such that the CPU 220 may be able to perform specific operations in response to the corresponding executable operations.
In one embodiment, the system 200 may further include an Internet service provider (ISP) 224 in operative communication with the CPU 220, such as across a network connection 226. The ISP 224 may be any suitable outside connection, such as a third party software or other available resource, for providing the CPU 220 with extraneous processing operations or executable instructions.
The present invention provides for generating a signal processing routine. In one embodiment, the signal processing routine is generated by the master device which, as described above, is any processing device capable of controlling and generating a corresponding processing routine. In one exemplary embodiment, the CPU 220 may be the master device based on the included processors. Although, it should be noted that any other suitable device operably connected to the network 204 may be a suitable master device, referred to above as a master-capable device. As also noted, the system 200 illustrates a single CPU 220 but in a networked computing environment, any suitable number of CPUs or other processing devices may be connected to the network 204.
In the exemplary embodiment of the CPU 220 acting as a master device, the master device determines the signal processing routine based on available resources. For example, the master device may determine a signal processing routine based on availability and quality of various components. For example, a system may have two deinterlacers, such as deinterlacer one 210 and deinterlacer two 212 which are capable of providing deinterlacing. The master device, the CPU 220, may determine that the first deinterlacer 210 is currently being utilized by different processing elements and is therefore unavailable or in another exemplary embodiment, the second deinterlacer 212 may have a lower quality rating than the first deinterlacer 210. As recognized by one having ordinary skill in the art, any suitable criteria may be utilized to determine which elements are utilized when more than one capable element exists in the network environment.
In one example, a receiver 206 may receive an incoming signal 230, such as an NTSC signal. The receiver 206 may allow for conversion from NTSC format to 480i format of the signal. The second deinterlacer 212 may thereupon be a deinterlacer allowing for the conversion of 480i signal to 480p signal. The second converter 216 may allow for the conversion from a 60 Hz to an 85 Hz signal and the first converter 214 may allow for the conversion from a 480p data signal to a 1080p data signal. In the exemplary embodiment, the display may also include requiring 85 Hz signal and 1080P data signal. In this exemplary embodiment, the storage device 208 may include a tuner for a signal having 1080i data and the first deinterlacer 210 may include deinterlacing from 1080i to 1080p at 60 Hz. Therefore, to generate the proper display signal, the master device, the CPU 220, may generate a processing routine consisting of the receiver 206 to the second deinterlacer 212 to the second converter 216 to the first converter 214 and subsequently to the display 218. In this embodiment, the storage device 208 and the first deinterlacer 210 would not be accessed.
Therefore, the master device 220 would determine the delay in processing a video signal to generate a video display on the display 218. This delay would be calculated as a video delay time period and is based on the signal processing routine to generate the video display signal. In one embodiment, the ISP 226 may provide for an off-site configuration service. For example, an ISP 226 may include a system that recognizes available configurations and determines the signal processing routine using available ISP 226 algorithms and processing resources.
The method may further include generating the video display signal using the signal processing routine such that the video display 218 provides a video output. The method further includes generating an audio display signal after a time interval of the video delay time period. The audio display signal may be generated and then buffered for a particular interval or may be buffered and then generated, regardless thereof the audio receiver, such as the audio receiver 250 of
The present invention further includes determining a plurality of slave devices. As discussed with respect to
If a particular master-capable device is determined to be the device that determines which device is the master, the method proceeds to step 408 such that a decision is made as to which of the master-capable devices is the master. For example, the decision of step 408 may be performed by determining which master-capable device has the most available processing resources, which devices are in communication with an external service provider, which devices are most aptly suited for performing this function such as using a ratings system, or any other suitable technique to decide which processing device is the master.
In step 406, if a particular processing device is not the processing device that determines which master-capable device is to be the master, the method proceeds to step 410 such that the master-capable devices listen for the master decision. Therefore, once a decision for one of the master-capable devices to become the master, a master decision signal may be sent to all of the master-capable devices indicating the decision of which processing device is to become the master. Thereupon, step 412 is a determination for each of the master-capable devices if that processing element is to be the master.
If the determination of step 412 is that a master-capable device is not to be the master, that processing device thereupon automatically becomes a slave device 414. Although, if the determination of step 412 is yes, the processing device is to become the master device, the master device thereupon is to broadcast the master decision to all master-capable devices, step 416. Reverting back to step 410, therefore, if a processing device does not determine who is the master, the processing device performs step 410 to listen for the master decision and once a master decision is received, the processing device can determine if that device has in fact become the master or is to become a slave device. Also referring back to step 404, in the event there is only a single master-capable device, that device by default becomes the master such that the method would proceed to step 416.
After step 416, the method includes step 418 which is finding all slaves. As discussed above with respect to
Regardless thereof, the configuration decision is made and the configuration format is sent to the slaves, step 424. In one embodiment, the configuration information includes information indicating where a particular slave should receive incoming video signal and to which device the slave may thereupon provide further signals. As such, the master routes video information through a specific path using the slave devices. For example, the receiver 206 of
Thereupon, from the system perspective, the slave devices wait for change data, step 426. Based upon subsequent change data, unless instructed otherwise, the slave devices will maintain an existing directional relationship of data flow from slave to slave or otherwise referred to as from processing element to processing element. Thereupon, in one embodiment of the present invention, the method is complete.
As such, the present invention improves over the prior art techniques, as discussed above with respect to
It should be understood that the implementation of other variations and modifications of the invention in its various aspects would be apparent to those ordinary skill in the art, if the invention is not limited by the specific embodiment described herein. For example, the present invention could also subsequently delay the video output by a corresponding delay factor based on buffering video content for the determined time interval wherein the present invention buffers a delayed amount of audio information based on ease memory and buffering requirements for audio data compare with video data. Therefore, contemplated to cover by the present invention, any and all modifications, variations or equivalence that fall within the spirit and the scope of the basic underlying principals disclosed and claimed herein.