Patent Publication Number: US-9894311-B2

Title: Adaptive methods for wireless camera communication

Description:
CLAIM OF PRIORITY 
     This application is a 35 U.S.C. § 371 National Stage Application of PCT/US2014/048896, filed on Jul. 30, 2014, which claims the benefit of priority to U.S. Provisional Application No. 61/860,058, which is entitled “Adaptive Methods For Wireless Camera Communication,” and was filed on Jul. 30, 2013. The disclosures of the above-identified patent applications are both incorporated by reference herein in their entirety. 
    
    
     TECHNICAL FIELD 
     This disclosure relates generally to the field of wireless communication, and more particularly, to systems and methods for transmitting and receiving frames of video data using wireless communication devices. 
     BACKGROUND 
     Video monitoring and display systems are used in a wide range of applications including in driver assistance systems for motor vehicles. Some vehicles are equipped with video cameras at various locations in the vehicle to assist a vehicle operator in viewing regions around the vehicle that are otherwise difficult to see. For example, a backup camera mounted at the rear of the vehicle generates a video of the region behind the vehicle and an in-vehicle video display presents the view to the vehicle operator. The video from the in-vehicle camera often shows so-called “blind spots,” which are portions of the area behind the vehicle that are not readily seen through conventional windows or mirrors. The camera systems provide additional visibility to the vehicle operator to reduce or eliminate blind spots while the vehicle is in operation. 
     Some in-vehicle video systems send video data from a camera to a video display device through a wired communication medium in the vehicle. Other video systems transmit video data from a camera using a wireless transceiver that sends the video data to another wireless transceiver that is connected to the video display device. Some wireless video monitoring systems are used as after-market video monitoring systems for vehicles that did not receive a video monitoring system at the time of manufacture. Other wireless video monitoring systems are included in new vehicles to reduce the complexity of running data wires in the vehicle and to enable transmission of video data to portable electronic devices such as smartphones, tablet computers, and other portable electronic devices that are available to the vehicle operator. 
     Wireless communication systems for transmission of video data in a motor vehicle can provide additional information to a vehicle operator during operation of the motor vehicle, but the environment and operating requirements for a motor vehicle present challenges to the design of wireless video transmission systems. While numerous systems for transmission of video data over wired and wireless networks, including streaming data using H.264 compression or other temporal compression schemes are known to the art, the existing video streaming systems are not always suitable for use in motor vehicle systems that require rapid real time presentation of images that are generated by backup cameras or other cameras in the vehicle. For example, video streaming and compression systems typically generate segments of video in a short duration, such as a few seconds, and then encode each video segment using inter-frame compression techniques. That is to say, the compression process analyzes data from multiple frames of recorded video data that occur over a predetermined period of time and generates compressed data where the decompression process for some frames of video require the prior decompression of previous frames in the video sequence. Video compression and streaming techniques that are known to the art, even so-called “live” video streams such as two-way video communication and camera monitoring systems, commonly compress segments of several video frames and use buffering techniques to provide smooth video playback. Buffering occurs when a receiving device receives multiple frames of video prior to displaying the video frames to ensure that the playback of video remains smooth even if a transient interruption in network service delays transmission for portions of the video. 
     While buffering is an effective technique for many video streaming systems, existing buffering techniques can be less effective for use with backup cameras or other cameras that show present-time conditions around the vehicle with minimal time delay for display of the images from the in-vehicle cameras. Additionally, motor vehicles often operate in electrically noisy environments with transient electrical noise sources that affect the video data stream in unpredictable ways during operation. 
     During operation of the motor vehicle, the wireless video transmission system should operate with high reliability to ensure that the vehicle operator can view an accurate depiction of the video from the in-vehicle camera, even in the presence of interference. Consequently, improvements to wireless transmission systems and methods to enable reliable transmission of video data for a wide range of operating conditions in and around the vehicle would be beneficial. 
     SUMMARY 
     A method of operating a wireless communication includes Quality of Service (QoS) parameter adjustment that accounts for changes in channel quality indicators (CQI) to maintain reliable transmission of a continuous stream of data, such as video data. The method adjusts varying Quality of Service (QoS) parameters such as frame rate, video resolution, and encoding quality to maintain the video stream under varying operating conditions. The method also adjusts radio parameters such as power, frequency/code, packet size, data rate, and packet retransmission attempts to maintain a selected QoS level. The method adjusts the parameters for the wireless communication system to enable streaming of data under different interference and bandwidth limiting conditions. The method includes adjustments to operating parameters in either or both of a transmitter and receiver in the wireless communication system. 
     In one embodiment, a method of operating an in-vehicle video monitoring system has been developed. The method includes generating with a camera in a vehicle a first image frame of an environment exterior to the vehicle, the first image frame having a first resolution and first image quality level, transmitting with a transmitter operatively connected to the camera the first image frame to a receiver through a wireless channel, generating with the camera in the vehicle a second image frame of the environment exterior to the vehicle, the second image frame having the first resolution and first image quality level, the second image being generated after generation of the first image frame and after the transmitter beings transmitting the first image frame to the receiver, transmitting with the transmitter operatively connected to the camera the second image frame to the receiver through the wireless channel after the first image frame is transmitted to the receiver, displaying with a display device in the vehicle the first image frame and the second image frame received by the receiver, the second image frame being displayed after the first image frame, identifying with a controller operatively connected to the receiver a plurality of channel quality indicators; generating with the controller a command to reduce at least one of a frame transmission rate, frame resolution, and frame quality level for a subsequent frame from the camera in response to at least one of the plurality of channel quality indicators being beneath a predetermined quality threshold, transmitting with the receiver the command to the transmitter and the camera, and transmitting with the transmitter a third image frame from the camera a second selected frame rate that is less than the first selected frame rate in response to the command. The identification of the plurality of channel quality indicators includes identifying an average frame rate corresponding to the received transmissions of the first and second images, identifying, a first ratio corresponding to an average frame transmission time for the first image frame and the second image frame to a constant time interval for frame transmission corresponding to a first selected rate of frame transmission from the transmitter, and identifying a second ratio corresponding to a sum of the average frame transmission time with an average channel access delay for the first image frame and the second image frame to the constant time interval. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of a process for adjusting operating parameters in a wireless communication system to adjust Quality of Service (QoS) levels for different Channel Quality Indicators that are identified in a wireless communication channel used by the wireless communication system. 
         FIG. 2  is a schematic diagram of an exemplary wireless communication system that performs the process of  FIG. 1 . 
         FIG. 3  is a block diagram of a process for updating a default QoS level to control transmission of image frames from the camera when the camera is first activated. 
         FIG. 4  is a timing diagram depicting the transmission of video frame data using a wireless communication network. 
     
    
    
     DETAILED DESCRIPTION 
     For the purposes of promoting an understanding of the principles of the embodiments described herein, reference is made to the drawings and descriptions in the following written specification. No limitation to the scope of the subject matter is intended by the references. The description also includes any alterations and modifications to the illustrated embodiments and includes further applications of the principles of the described embodiments as would normally occur to one skilled in the art to which this document pertains. 
     As used herein, the terms “good,” “acceptable,” and “bad” as used in reference to the channel quality indicators that are described below refer to conditions of a communication channel that either permit or prevent efficient transmission of data, such as video data, between a transmitter and receiver. More particularly, a “good” channel condition enables transmission of video data at a predetermined frame rate, quality, and resolution with potential for increases to one or more of the rate, quality and resolution metrics by a transmitter. For example, under “good” conditions a transmitter that is successfully transmitting video at a first resolution (e.g. 640×480 pixels per frame) can increase the resolution of transmitted video while remaining within the constraints of the channel (e.g. increase resolution to 1280×720 pixels). Under “acceptable” channel conditions, the transmission of video occurs at predetermined frame rate, resolution, and quality levels, but the state of the channel prevents the transmitter and receiver from streaming video at maximum frame rate, resolution, and quality levels that are otherwise permitted by the available hardware systems. For example, a video transmitter that records video at 30 frames per second and a resolution of 1920×1080 pixels can transmit at a rate of 15 frames per second with 1280×720 pixels frames under “acceptable” channel conditions, but the conditions may not enable the transmitter to operate at the maximum frame rate and resolution levels that are enabled in the hardware. Under “bad” channel conditions, the transmitter cannot maintain at least one parameter of the transmission, such as the resolution, frame rate, or image quality. However, if the transmitter reduces at least one of the parameters, the “bad” channel may be able to accommodate transmission of the video at the reduced parameter level. 
     As used herein, the terms “optimal,” “operable,” and “inoperable” refer to quality of service (QoS) parameter for a video transmission from a transmitter to a receiver through a communication channel. An “optimal” QoS parameter refers to operation of the transmitter to transmit a sequence of video frames with quality of service parameters, such as frame rate, resolution, and image quality, which are within a predetermined range of the maximum video quality that the video recording hardware is capable of recording. When operating the “operable” range, the transmitter transmits video frames with parameters that enable a receiver to display the video, but at a reduced quality of service level from the optimal range, such as displaying the video with a reduced frame rate, resolution, or image quality. Under “inoperable” conditions, the quality of service parameter indicates that the video sequence cannot be transmitted to the receiver at a minimum predetermined quality level. For example, if noise in a channel prevents transmission of video data at a predetermined minimum frame rate, resolution, or image quality level, then the quality of service is identified as being inoperable. As described below, in some instances a reduction in one QoS parameter, such as the image quality metric, can increase another QoS metric that is in the inoperable range, such as the frame rate, so that all of the QoS parameters for the transmission of the image data are in the “operable” range. 
     As used herein, the term “channel quality” refers to any property of a communication channel that affects the ability of a transmitter to send data or a receiver to receive data through the channel. Examples of channel quality properties include, but are not limited to, noise levels, signal interference, multipath, and signal attenuation in the channel. As used herein, the term “Channel Quality Indicator” (CQI) refers to one or more parameters corresponding to properties of the channel that affect the ability of the transmitter to send data, such as a sequence of frames in a video transmission, to the receiver. In a wireless communication system, the transmitter and receiver test the channel to identify the CQI. The CQI of a wireless channel often changes over time due to changes in noise sources and other sources of signal interference. In an in-vehicle wireless system, the CQI of the channel also changes based on the operating state of the vehicle and the environment around the vehicle as the vehicle moves. Table 1 depicts examples of channel quality indicators threshold values in an approximate spectrum of “good” quality, “acceptable” quality, and “bad” quality for an example wireless communication system. The identified CQI for the channel is the minimum level of “good”, “acceptable,” or “bad” quality levels for any of the quality indicators that are listed below. The exact parameter numbers that are listed in Table 1 are merely illustrative of parameters that are one embodiment of an in-vehicle wireless video transmission system, and alternative embodiments can use different threshold values to delineate good, acceptable, and bad channel quality indicators. 
     
       
         
           
               
             
               
                 TABLE 1 
               
             
            
               
                   
               
               
                 Channel Quality Indicator Parameters 
               
            
           
           
               
               
               
            
               
                   
                   
                 Channel 
               
               
                 Parameter 
                 Range 
                 Quality 
               
               
                   
               
               
                 Received Frame Rate = 1/(Average 
                 ≧25    
                 Good 
               
               
                 Frame Reception Interval) 
                 ≧20 and &lt;25  
                 Acceptable 
               
               
                   
                 &lt;20    
                 Bad 
               
               
                 (Average Frame Transmission Time)/ 
                 ≦0.33  
                 Good 
               
               
                 (Constant Frame Transmission Interval) 
                 &gt;0.33 and ≦0.66 
                 Acceptable 
               
               
                   
                 &gt;0.66 
                 Bad 
               
               
                 (Average Frame Transmission Time + 
                 ≦0.5   
                 Good 
               
               
                 Average Channel Access Delay)/ 
                  &gt;0.5 and ≦0.75 
                 Acceptable 
               
               
                 (Constant Frame Transmission Interval) 
                 &gt;0.75 
                 Bad 
               
               
                 Frame Drop Rate 
                 &lt;1%  
                 Good 
               
               
                   
                  1&gt; and &lt;10% 
                 Acceptable 
               
               
                   
                 &gt;=10%   
                 Bad 
               
               
                   
               
            
           
         
       
     
     In Table 1, the received frame rate refers to the number of frames of video data that are successfully transmitted over the channel in a predetermined period of time, such as a number of frames per second (FPS). The constant frame transmission interval refers to the expected amount of time that passes between the transmission of successive frames of video in a video sequence, which includes the transmission time and additional time periods between transmissions of packets or when the transmitter is unable to transmit due to noise in the channel. For a given target frame rate, the constant frame transmission time refers to the ideal amount of time that should pass between receiving image frames to maintain the frame rate, such as a constant frame transmission time of 40 milliseconds at a frame rate of 25 FPS. In many wireless communication system embodiments, a video frame is transmitted as a set of multiple data packets, where each packet includes a portion of the data in the video frame. The wireless transmitter needs to transmit all of the packets in the image frame to the receiver successfully within the constant frame transmission interval to successfully maintain transmission of video at a predetermined frame rate. 
     The average frame transmission time refers to the actual average amount of time required to transmit each image frame, which is ideally shorter than the constant frame transmission time that is required to maintain a predetermined frame rate. The average channel access delay refers to an average delay time period between when a transmitter is prepared to transmit a packet of data in a video frame and when the channel is available to enable the transmitter to begin transmission. Excessive noise levels or the presence of other transmitters that use the channel result in larger average channel access delays since the transmitter must wait until the channel is available to begin transmission. The average interval time is affected by the frame rate for transmission of the video frames (e.g. an interval of approximately 33.3 milliseconds for video at a rate of 30 frames per second) and by the average channel access delay. 
     The frame drop rate refers to a percentage of image frames that cannot be transmitted successfully from the transmitter to the receiver within the constant frame transmission interval for a predetermined frame rate. For example, at 25 FPS each image frame has a 40 millisecond period to be completely transmitted to the receiver before transmission of the next image frame commences. If conditions in the channel prevent the transmission of the entire frame within the 40 millisecond interval (e.g. only 50% of the frame is successfully transmitted), then the entire frame is dropped, the frame is not displayed, and transmission of the next frame begins. As described below, if too many frames are dropped, then at least one of the QoS parameters are reduced to enable the successful transmission of image frames at a reduced frame rate, image quality level, or image resolution level. 
     The CQIs in Table 1 are illustrative of different quality thresholds. The frame rate quality thresholds are exceeded when the average frame rate increases beyond predetermined threshold levels. The first average frame transmission time to constant frame time transmission interval has a quality threshold that is exceeded as the ratio decreases beyond predetermined threshold levels depicted in Table 1. The second average frame transmission time+average channel access delay to constant frame time interval ratio has another set of quality thresholds that are exceeded as the ratio decreases beyond the predetermined threshold levels depicted in Table 1. The percentage of dropped frames indicator has another set of quality thresholds that are exceeded as the percentage of dropped frames is reduced beyond the predetermined threshold levels that are depicted in Table 1. If the quality level of the channel deteriorates instead of improving, then one or more of the channel quality indicators described above drops below the predetermined threshold instead of exceeding the threshold and the CQI drops from good to acceptable or from acceptable to bad. 
     As used herein, the term “Quality of Service” refers to any property of a communication system that affects the perceived quality of transmitted data through the communication system. For example, in a wireless network system that transmits video data, the Quality of Service refers to the capability of the wireless network system to transmit video data at a particular frame rate with consistent frame times and with less than a predetermined maximum proportion of frames being lost or corrupted during transmission. Other parameters affecting the quality of service include the maximum resolution of video image data that the wireless communication system can transmit while maintaining the frame rate, and a tradeoff between image quality and compression ratio for transmitting image frames with a predetermined frame rate. Table 2 depicts examples of Quality of Service indicators for an exemplary video monitoring system that transmits video data through a wireless communication channel. Table 2 depicts examples of quality of service indicators in an approximate spectrum of “optimal,” “operable,” and “inoperable” operating conditions for an example wireless communication system. 
     
       
         
           
               
             
               
                 TABLE 2 
               
             
            
               
                   
               
               
                 Quality of Service Indicators 
               
            
           
           
               
               
               
            
               
                 Parameter 
                 Range 
                 QoS Level 
               
               
                   
               
               
                 Frame Rate (frames/second) 
                 ≧25    
                 Optimal 
               
               
                   
                 ≧20 and &lt;25 
                 Operable 
               
               
                   
                 &lt;20    
                 Inoperable 
               
               
                 % of Maximum 
                 ≧75%   
                 Optimal 
               
               
                 Frame Resolution 
                 ≧50% and &lt;75% 
                 Operable 
               
               
                   
                 &lt;50%  
                 Inoperable 
               
               
                 Encoding Quality level (JPEG) 
                 ≧0.5   
                 Optimal 
               
               
                 (0.0 minimum quality, 1.0 maximum 
                 ≧0.25 and &lt;0.5  
                 Operable 
               
               
                 quality) 
                 &lt;0.25 
                 Inoperable 
               
               
                   
               
            
           
         
       
     
     The QoS parameters that are listed in Table 2 are illustrative of frame rate, resolution, and frame quality parameters that are adjusted on an image by image basis to generate images that can be transmitted through a wireless channel successfully as the channel quality, which is identified by the measured CQIs, changes during operation of a backup camera. The quality of service parameters that are selected based on the identified CQIs are referred to as Selected Quality of Service Indicators. The SQIs control the particular QoS parameters that are either decreased or increased based on changes in the CQI state. Table 3 lists different scenarios for the SQI given an identified CQI. Different levels of channel quality can accommodate data transmission that meet different QoS levels for different aspects of the video stream including the frame rate, frame resolution, and image quality level. 
     
       
         
           
               
             
               
                 TABLE 3 
               
             
            
               
                   
               
               
                 SQI vs. CQI System Parameter Adjustments Decision Matrix 
               
            
           
           
               
               
               
            
               
                 SQI 
                 CQI 
                   
               
               
                 State 
                 State 
                 System Parameter Adjustments 
               
               
                   
               
               
                 Optimal 
                 Good 
                 No change. 
               
               
                 Optimal 
                 Accept- 
                 No change required, optional reduction in SQI 
               
               
                   
                 able 
                 parameters to improve CQI state. 
               
               
                 Optimal 
                 Bad 
                 Reduce SQI parameters in predetermined order to 
               
               
                   
                   
                 increase CQI to acceptable level. 
               
               
                 Operable 
                 Good 
                 Increase SQI parameters while CQI remains in the 
               
               
                   
                   
                 good state. 
               
               
                 Operable 
                 Accept- 
                 No change. 
               
               
                   
                 able 
               
               
                 Operable 
                 Bad 
                 Reduce SQI parameters in predetermined order to 
               
               
                   
                   
                 increase CQI to acceptable level. 
               
               
                 Inoperable 
                 Good 
                 Increase SQI parameters in predetermined order to 
               
               
                   
                   
                 increase QoS while maintaining CQI state at good or 
               
               
                   
                   
                 acceptable level. 
               
               
                 Inoperable 
                 Accept- 
                 Increase SQI parameters in predetermined order to 
               
               
                   
                 able 
                 increase QoS while maintaining CQI state at good or 
               
               
                   
                   
                 acceptable level. 
               
               
                 Inoperable 
                 Bad 
                 System Inoperable, generate notification to vehicle 
               
               
                   
                   
                 operator. 
               
               
                   
               
            
           
         
       
     
     Table 3 lists general modifications that are applied to the QoS parameters to select an SQI that corresponds to the CQI for the channel to maintain transmission of video data at an acceptable quality. In the system  200 , the transmitter  204  selects one or more QoS parameters to modify based on the identified state of the CQI for the channel and the current QoS parameters for the video stream. As described above, three illustrative QoS parameters that the transmitter  204  modifies for a video stream include the currently selected frame rate, frame resolution, and frame image quality for the video stream. Adjusting the QoS parameters enables the transmitter  204  to reduce or increase the bandwidth transmission requirements for the video stream to accommodate the constraints of the communication channel between the transmitter  204  and receiver  212  for different channel quality levels. 
       FIG. 2  depicts an illustrative embodiment of a wireless communication system  200  that is described in conjunction with the processes of  FIG. 1  and  FIG. 3 . The system  200  is depicted as being integrated into a motor vehicle  202 . The system  200  includes a transmitter  204 , transmitter antenna  206 , camera  208 , receiver  212 , receiver antenna  214 , display device  216 , controller  228 , memory  232 , a global positioning system (GPS) receiver  244 , and a clock  246 . The transmitter  204  is operatively connected to an antenna  206  and the camera  208 . The receiver  212  is operatively connected to another antenna  214 . The controller  228  is operatively connected to the receiver  212 , display  216 , and the memory  232 .  2   
     The transmitter  204  communicates with the receiver  212  through a wireless communication channel  250  in the motor vehicle  202 . While the terms “transmitter” and “receiver” are used in the description of  FIG. 2  to distinguish the wireless devices operatively connected to the camera  208  and the controller  228 , respectively, in the embodiment of  FIG. 2  both the transmitter  204  and receiver  212  are wireless transceivers that are configured to both transmit and receive data. For example, the controller  228  operates the receiver  212  to transmit commands to the transmitter  204  to activate and deactivate the camera  208  and to adjust one or more QoS parameters for transmission of images from the camera  208  to the receiver  212 . In some embodiments, the transmitter  204  and receiver  212  are each implemented using wireless transceivers that are configured for short-range wireless transmission through the vehicle  202 . Examples of suitable transceivers include wireless local area network (WLAN) transceivers in the IEEE 802.11 family of protocols, Bluetooth transceivers, ultra wideband (UWB) transceivers, and the like. 
     The camera  208  generates video data of a scene, such as a region outside of the motor vehicle  202 . In one embodiment, the camera  208  is a digital “backup” camera that generates images of the region behind the vehicle. The backup camera  208  generates a series of images and the transmitter  204  transmits the each image through the wireless channel  250  as a series of packets using, for example, the internet protocol (IP) and transmission control protocol (TCP) or user datagram protocol (UDP) protocols. The system  200  can be incorporated in a motor vehicle or in any other environment for wireless communication. The camera  208  generates compressed images using, for example, the JPEG format or other suitable image compression formats. The camera  208  generates each compressed image individually without buffering a segment of multiple frames together. Consequently, each image that is transmitted to the receiver  212  for display with the display device  216  can be displayed without buffering or other dependencies upon previously generated images during the operation of the camera  208 . As described in more detail below, the camera  208  adjusts the selected frame rate, compression level/image quality level, and resolution of the generated image frames based on QoS parameters that are selected to enable transmission of the images through the wireless channel  250  to accommodate variations in the channel quality between the transmitter  204  and the receiver  212 . The controller  228  decodes the image frame data from the receiver  212  and displays the image frame with the display device  216 . When the image frames arrive at regular intervals from the transmitter  204 , the controller  228  displays a series of images in a video playback that depicts motion in the environment behind the vehicle  202 . While the system  200  is depicted in a configuration for transmitting video data from the transmitter  204  to the receiver  212 , alternative embodiments include wireless communication systems that transmit other forms of information while adjusting QoS parameters to maintain communication over communication channels with varying channel quality properties. 
     In the system  200 , the transmitter  204  includes a combination of hardware and software components that receive a digitized version of the video from the camera  208  and transmits a signal including the video data through the antenna  206 . Either or both of the transmitter  204  and camera  208  include processing hardware to adjust a selected frame rate, image resolution, and image compression/quality level of the video data to adjust the amount of data that are transmitted to the receiver  212 . The receiver  212  receives packets of data from the transmitter  204  that correspond to compressed image data for images that the backup camera  208  generates for the region behind the vehicle  202  from the transmitter  204  through the receiver antenna  214 . The receiver  212  receives packets for each frame of image data for display through the display device  216 , which is typically an LCD or other visual display device in the vehicle. In some embodiments, the transmitter  204  and receiver  212  are transceiver devices that can both send and receive data in the wireless communication system  200 . The transmitter  204  receives signals in the wireless communication channel to identify sources of noise, and the transmitter receives messages sent from the receiver  212  that indicate success or failure of data transmission in the system  200 . In addition to receiving data from the transmitter  204 , the receiver  212  transmits acknowledgment messages to the transmitter  204  to indicate success or failure of transmitted data, and the receiver  212  optionally transmits data corresponding to channel quality indicators to the transmitter  204 . 
     In the system  200 , the controller  228  is a digital microprocessor, microcontroller, field programmable gate array (FPGA), application specific integrated circuit (ASIC) or any other digital processing device that is suited to control the generation, transmission, and display of image data from the camera  208  using the display device  216 . The memory  232  includes both volatile data storage devices such as random access memory (RAM) and non-volatile data storage devices such as solid-state memory devices or magnetic disks. The controller  228  executes stored program instructions to operate the receiver  212  and display  216 . The controller  228  further sends instructions to the camera  208  through the receiver  212  and transmitter  204  to control the operation of the camera  208 . More particularly, the controller  228  identifies CQIs for the channel  250  based on the transmission characteristics of the transmitter  204 , which include the rate of successful packet and image frame transmissions and the level of packet loss due to noise or other interference in the channel  250 . The controller  228  generates commands to activate and deactivate the camera  208 , and the controller  228  uses the receiver  212  to transmit selected QoS parameters to the transmitter  204  and camera  208  to control the frame rate, resolution, and image quality levels of the images that the camera  208  generates during operation of the system  200 . 
       FIG. 1  depicts a process  100  for adjusting the operating parameters of a wireless transmitter to maintain a flow of data, such as image frame data, through a communication channel that exhibits varying levels of channel quality. In the description below, a reference to the process  100  performing an action or function refers to the execution of stored program instructions by a processor or controller, such as the controller  228 , to perform the function or action in conjunction with other components in a vehicle. The process  100  is described in conjunction with the system  200  of  FIG. 2  for illustrative purposes. 
     During process  100 , the wireless communication system monitors changes to the identified CQI in a wireless communication channel between the transmitter and the receiver. The wireless communication system adjusts one or more parameters for transmitting data to maintain a maximum QoS level for transmission of a data stream, such as video data, through the channel based on the identified CQI. If the CQI parameters in the channel indicate degraded channel quality, the wireless transmission system lowers one or more QoS parameters to enable transmission of video data with a lower quality through the channel. During process  100 , if the CQI parameters in the channel indicate increased channel quality, the wireless transmission system increases one or more QoS parameters to enable transmission of video data with a higher video quality through the channel. In the description of  FIG. 1 , a reference to the process  100  performing an action or function refers to the operation of one or more processors, such as microprocessors in a transmitting or receiving device, executing programmed instructions to operate one or more components to perform the action or function. 
     Process  100  begins as the camera  208  generates a compressed frame of image data using a resolution and image quality level that corresponds to currently selected QoS parameters (block  104 ). As described above, the camera  208  generates the frame as a single image that is compressed using a single-frame compression technique such as JPEG compression. The compression is typically a “lossy” compression process where the compressed image is not an exact duplicate of the image data from the sensor in the camera  208 , but still gives a clear photographic indication of the environment at the rear of the vehicle  202 . As the level of compression increases, the size of the data required to represent the image decreases, but the quality of the image also suffers due to an increasing loss of data from the original image due to the increased level of compression. In one configuration, during initial activation of the camera  208  to generate the image frames, the QoS parameters are set to predetermined default values, such as an intermediate image resolution and intermediate compression quality level for the camera. In another configuration, the controller  228  transmits a set of initial QoS parameters to the camera  208  when the camera  208  is activated, and the camera  208  generates the image frames using the QoS parameters that are received from the controller  228 . As described in more detail below, as the system  200  performs the process  100  to generate and transmit multiple frames of video, the controller  228  identifies changes in the CQIs for the channel  250  to identify the selected QoS parameters for the generation of image frames should be increased or decreased to maintain transmission of a stream of image frames to the display  216 . 
     Process  100  continues with transmission of the compress frame of image data. During process  100  the transmitter identifies an available sub-channel with a minimum amount of interference and selects the sub-channel for use in transmitting data to the receiver (block  108 ). In the illustrative embodiment of the system  200 , the transmitter  204  and receiver  212  are each configured to select a frequency sub-band from a larger spectrum of available frequency bands to use for transmission of the image frames. The transmitter  204  and receiver  212  each sense the presence or absence of other wireless transmissions on each sub-channel and detect the level of noise in each sub-channel. The transmitter  204  and receiver  212  then send and receive packets to select a sub-channel from the plurality of available sub-channels. In alternative embodiments, sub-channels include different time slots in a time-division multiple access system, or different codes in a code-division multiple access system. The transmitter  204  monitors available sub-bands for interference from, for example, other wireless transmitters or electrical noise from sources around the system  200 . The transmitter  204  selects a frequency sub-band with a minimum amount of identified noise. 
     Process  100  continues as the transmitter  204  begins transmission of packets at a maximum operational power level and then reduces the transmission power level in response to feedback from the receiver  212  to maintain the power level for transmission for the packets that include data for the image frame with a signal to noise ratio (SNR) of 6 dB above the ambient noise level in the selected sub-channel (block  112 ). Over time the receiver  212  identifies a signal-to-noise ratio (SNR) of the signal from the transmitter  204  in the selected sub-channel. If the SNR is greater than a predetermined value (e.g. 6 dB above the noise floor), then the receiver  212  optionally sends a message to the transmitter  204  to enable the transmitter  204  to increase one or more QoS parameters. Similarly, if the SNR is below the predetermined value, the transmitter  204  reduces one or more QoS parameters to accommodate the noisy sub-channel or increases the transmission power. Additionally, in some embodiments the transmitter  204  employs other hardware-based techniques for improving the SNR, such as adaptive beam-forming techniques. In some embodiments, the receiver  212  also transmits acknowledgement packets to the transmitter  204  that enable the transmitter to identify if the receiver  212  has received a frame of image data successfully and to identify the effective throughput of image frame data through the channel  250 . During operation of the system  200 , the sub-channel selection and transmission power selection portions of the process  100  of blocks  108 - 112  are not necessarily performed for the transmission of each frame of video data. Instead, the system  200  performs the sub-channel selection and power selection processes at the beginning of a video transmission sequence and then only when required due to changes in the conditions of the channel  250  during the transmission of image frames. The transmitter  204  continues to transmit packets of data that comprise the image using the maximum available packet transmission rate and packet size that is available for transmission through the sub-channel to complete the transmission of the image frame (block  116 ). 
     During process  100 , if the receiver  212  receives the transmitted frame of video data within the constant frame transmission interval for the currently selected video playback frame rate, then the controller  228  decodes the image frame data and displays the image frame data with the display device  216  using an averaged frame resolution (block  118 ). In the system  200 , the display  216  is configured to display different resolutions of images that are received from the camera  208 . The resolution of the images that are received from the camera  208  may vary based on changes to the QoS parameters for image frame generation due to variations in the channel quality. For example, a series of image frames might include image frames that vary between 1920×1080, 1280×720, and 640×480 pixel resolutions with the resolution increasing when the CQIs improve and decreasing when the CQIs deteriorate. Displaying a sequence of frames that have rapidly varying resolutions with the display device  216  could produce distraction to an operator who views the display  216 . To reduce or eliminate the distraction caused by rapid variations in frame resolution, the controller  228  identifies one resolution in the most recently received plurality image frames that occurs with the greatest frequency, such as the most common resolution received in the last 5 to 10 seconds of video playback. The controller  228  then scales all of the image frames to the identified resolution to reduce operator distraction. For example, if the most commonly received images have a resolution of 640×480 pixels, then the controller  228  displays all image frames from the camera at the 640×480 pixel resolution. When the receiver  212  receives 1920×1080 or 1280×720 pixel resolution images from the camera  208 , the controller  228  scales the higher-resolution images to maintain the 640×480 display. In another situation, the controller  228  scales a lower resolution image to a higher resolution to maintain display of images with a consistent resolution, although scaling the lower resolution image to a higher resolution may reduce the image quality. If the most common resolution of the image frames changes over a comparatively long period of time, then the controller  228  optionally changes the display resolution to the updated resolution, but the controller  228  only changes the display resolution infrequently to prevent driver distraction. 
     Process  100  continues as the controller  228  identifies CQIs in the channel  250  during the transmission of the image frame of process  100  to identify if the CQIs in the channel  250  provide at least an acceptable level of channel quality to maintain transmission of image frames using the presently selected QoS parameters (block  120 ). The controller  228  identifies the CQIs based both on the transmission of the image frame that is generated during block  104 , and with reference to previous image frames (if any) that have been transmitted since activation of the camera  208 . For example, the frame transmission time and channel access delays for the transmission of the packets for the most recent image frame provide the controller  228  with information about the amount of time required to transmit the most recent image frame, which also affect the average frame rate and transmission times for a series of frames of the image data. The interval between transmission of the most recent frame and the previous frame affects the average frame transmission interval time and average frame reception interval time. 
     During process  100 , if the controller  228  identifies at least one CQI for the channel  250  that is in the “bad” range below acceptable levels, then the controller  228  updates the SQIs to reduce at least one QoS parameter for the generation and transmission of subsequent image frames from the camera  208  (block  124 ).  FIG. 4  depicts a timing diagram  400  for transmission of a series of image frames that form a video stream. In  FIG. 4 , the constant frame transmission interval  404  corresponds to an ideal transmission of video frames in an isochronous manner. That is to say, each video frame is transmitted in a fixed amount of time, and the time interval between video frame transmissions is fixed so that frames are sent at a consistent rate with a consistent latency to avoid jitter. During actual transmission of the video frames, however, the amount of time required to transmit each frame of video data varies. For example, the data comprising a frame of video data are typically divided into multiple packets for transmission, and the processing required for transmission introduces a fixed time delay  412 . The processing of the video data, including encoding and compression, combined with the network processing for the video data introduce variations into the total transmission time for each video frame, as depicted by the variable transmission times  416 . The time for receiving a video frame at the receiver  212  also varies as depicted by the variable frame reception times  420 . In some cases, if the CQI in the channel drops below an acceptable level, one or more frames of video data are dropped. In  FIG. 4 , if the receiver  212  fails to receive a full frame of video data before the transmitter  204  begins transmission of the next frame in the video sequence, then the frame is considered lost, as depicted at time  424  in  FIG. 3 . 
     In one embodiment, the controller  228  generates a command message for the transmitter  204  to first select a reduced frame rate, select reduced image quality, and finally select a reduced image frame resolution for subsequent image frames for the SQI to enable transmission of subsequent frames within the bounds of the identified channel quality. For example, if the maximum frame rate of the camera  208  is 30 FPS, then the transmitter  204  first reduces the transmission frame rate from the maximum 30 FPS or another currently selected frame rate to a predetermined minimum frame rate (e.g. 20 FPS). In one embodiment, the camera  208  generates image frames at the reduced rate, while in another embodiment the camera  208  continues to generate frames at a predetermined rate (e.g. 30 FPS) while transmitter  204  only transmits frames at predetermined intervals to effectively reduce the rate of frame transmission to the receiver  212 . If the frame rate has already reached the predetermined minimum frame rate, then the transmitter  204  adjusts the encoding of the image data to increase the level of compression. As is known in the art, increasing the level of compression for an image frame reduces the number of bits in the frame, which correspondingly reduces the required transmission time for the frame. However, a reduction in image quality also introduces compression artifacts into the image that reduce the overall perceptible quality of the image. In one embodiment, the camera  208  includes a light sensor or other image processing devices that select a minimum acceptable level of image quality based on the amount of ambient light around the vehicle to determine a maximum level of compression that can be applied to the image frame while maintaining a minimum level of contrast in the image frame that is transmitted to the display  216 . If both the frame rate and image quality are at minimum levels, then the controller  228  instructs the camera  208  and transmitter  204  to encode the image frames at a reduced resolution level. For example, if the camera  208  can generate images at resolutions of 1920×1080 pixels, 1280×720 pixels, or 640×480 pixels, then the camera  208  generates subsequent image frames first at the highest resolution (1920×1080) and then at progressively lower resolutions if the identified CQIs do not permit transmission of images at the highest quality levels. 
     Under some conditions, the controller  228  identifies CQIs for the channel  250  that are in the acceptable range for continued transmission of subsequent image frames using the currently selected QoS parameters for image frame rate, frame compression quality, and frame resolution (block  120 ). In some instances, the controller  228  further identifies that the selected QoS parameters for the frame transmission are at or near the limit of the channel  250  (block  128 ) and the camera  208  and transmitter  204  continue to transmit subsequent frames using the presently selected QoS parameters (block  136 ). In some instances where the QoS parameters at least one of the frame rate, compression quality, or resolution are in the acceptable or sub-optimal range, the controller  228  can identify that the CQIs for the channel would permit an increase in at least one QoS parameter (block  128 ). For example, if the controller  228  identifies that the transmission of frames over a predetermined period of time (e.g. 10 seconds) with the current QoS parameters has exceeded each of the CQI parameters that are listed in Table 1 at the current QoS levels, then the controller  228  increases one or more QoS parameters for subsequent image frames (block  132 ). The controller  228  increases the QoS parameters gradually until either all of the QoS parameters for frame rate, frame quality, and frame resolution are at optimal levels or until the controller  228  identifies that the maximum QoS parameters have been found for the present quality conditions in the channel  250 . 
     While process  100  is described in conjunction with the transmission of a single frame of image data, the system  200  repeats the process  100  to transmit a series of image frames from the camera  208  to the display  116 . The controller  228  continues to adjust the QoS parameters for the camera  208  to adjust for variations in the CQI that are detected for the channel  250 . During process  100 , the transmitter adjusts the operating parameters described above to maintain the CQI at an acceptable level for a given Quality of Service selection. For example, the activities of one or more transmitters that share a channel affect the CQI. An individual transmitter may not receive a valid acknowledgement message of transmitted packets due to multiple reasons such as receiver not being available or being deactivated, channel fading, channel obstruction, and receiver node being in communication range of another transmitter on same channel, which is referred to as the hidden terminal problem. During process  100 , an extended transmit duration may lead to transmission starvation due to proactive channel avoidance and/or increase in hidden terminal problem when transceivers in multiple vehicles transmit using the same channel. In either case, the application layer software perceive this channel as bad since desired QoS requirements cannot be met on this channel. Thus, even though the selected QoS parameters are within the carrying capacity of the channel for a single transmitter and receiver, the presence of several transceivers in one or more vehicles that share a common channel reduces the effective channel capacity for the vehicles and requires that adaptation of the QoS parameters based on the current CQI information. 
     As described above, the process  100  enables the system  200  to adapt the QoS parameters for wireless transmission of image frames based on changes in the CQI parameters in the channel  250 . Additionally, during operation the system  200  selects initial QoS parameters that enable the display  216  to receive image frames from the camera  208  with minimal delay to enable an operator in the vehicle  202  to view backup camera images. One technique for selecting initial QoS parameters for transmission is a pre-calibration technique. In the pre-calibration technique, the system  200  applies modifications to the QoS parameters in order of interference and identifies CQI parameters and SNR for various combinations of QoS parameters and radio link parameters such as transmit power, data rate and channel frequency. The controller  228  stores the pre-calibration data in the memory  232  as pre-calibration data  242  for use in modifying the QoS parameters during operation. The pre-calibration information is used to modify the QoS and radio link parameters to a configuration that provides acceptable performance during interference in the communication channel. The pre-calibrated QoS and radio link parameters are arranged in a Euclidean space with the selected changes to the QoS parameters being selected with reference to a minimum Euclidean distance to the current values as a base set. The updated QoS and radio link parameters set, which include better QoS values to accommodate the identified CQI for the channel and minimum Euclidean distance to the selected base set. If the measured CQI remains unacceptable after the update, then the transmitter  204  uses the modified QoS parameters as a new base set and continues the process of identifying QoS values in the pre-calibration table until exhaustion of the pre-calibration values. 
     Alternative techniques for setting the initial QoS parameters include machine learning techniques. The machine learning techniques modify the QoS adjustment parameters that are stored in the pre-calibration table through dynamic updates to the QoS parameters based on the observed behavior of the system  200 . During a machine learning process, the transmitter  204  readjusts the calibrated values in response to receiving different CQI for selected QoS and radio link parameters that are selected from the pre-calibration table. In one embodiment, the machine learning process applies weighting factors to the adjustment to provide 50% weight to the original value and 50% weight to the new value to ensure stability while updating the QoS adjustment parameters. Alternatively, the machine learning process identifies an effect on the CQI for a given SQI and the radio link parameters as a function of SNR or received signal strength. The transmitter  204  stores a plurality of calibration tables corresponding to different SNR values and selects parameters from a table having the closest and greater SNR value to the observed SNR value in the channel. The machine learning process also identifies patterns in the variations of the each parameter value to achieve a selected CQI and without the requirements of a predetermined pre-calibration table. Instead, the transmitter  204  identifies co-efficient value for each QoS and radio link default parameter value as a function of CQI and SNR (or received signal strength). These respective co-efficient values for the parameters change. 
       FIG. 3  depicts an illustrative embodiment of a machine learning process  300  that identifies QoS parameters for use in the system  200  based on a history of observed CQI and corresponding QoS parameters in the system  200  during operation of the vehicle  202  in different locations and at different times. In the discussion below, a reference to the process  300  performing an action or function refers to the execution of stored program instructions by a controller, such as the controller  232 , to perform the function or action in conjunction with one or more components in the vehicle. Process  300  is described in conjunction with the system  200  of  FIG. 2  for illustrative purposes. 
     Process  300  begins with activation of the backup camera  208  (block  304 ). In the system  200 , the controller  228  activates the camera  208  in response to the vehicle  202  being placed into a reverse drive gear or upon another request from a vehicle operator for a view from the rear of the vehicle. The system  200  then begins transmission of the image frames using default QoS parameters that are retrieved from the memory (block  308 ). In one embodiment, the default QoS parameters include the pre-calibration QoS parameter data  242 . In another embodiment, the pre-calibration QoS parameter data  242  includes the last-known QoS parameters that were used before the vehicle  202  was parked. As described below, when the vehicle is parked, the QoS parameters in use just before the vehicle is deactivated are stored to the memory  232 , and in one embodiment the same pre-calibration QoS parameter data  242  are retrieved from the memory  232  to initialize transmission of images from the camera  208  to the display  216  with a minimal delay after the vehicle  202  is activated. 
     In another embodiment, the controller  228  identifies a location of the vehicle  202  using the GPS  244  and the current time using the clock  246 . If the memory  232  includes a record of the vehicle location and optionally time in the time/location records data  236 , then the controller  228  retrieves the default QoS parameters  240  that correspond to a history of CQI information that have been observed when the vehicle  202  is in the currently detected location. The time parameter refers to a time of day or day of week information that corresponds to cycles of activity for wireless sources around the vehicle  202 . For example, when the vehicle drives to a particular parking lot in the early morning, the level of interference from surrounding wireless devices may be low and the CQI levels recorded at the particular location of the parking lot in the early morning hours enable the system  200  to operate with optimal QoS parameters. However, in the afternoon the same parking lot is busy, and the presence of wireless transmitters reduces the CQI and corresponding QoS parameter levels. The controller  228  identifies previous records  236  for both the time and location of the vehicle  202  in the memory  232  that correspond to the previously identified QoS parameters  240  and initializes the camera  208  and transmitter  204  to use the stored QoS parameters. 
     Process  300  continues as the system  200  adapts QoS parameters during the transmission of image data from the backup camera  208  over the in-vehicle wireless channel  250  (block  312 ). The system  200  performs the processing that is described above in the process  100  of  FIG. 1  to for each frame of video data that is transmitted during the processing of block  312 . During the process  300 , the controller  228  also monitors the location of the vehicle  202  using the GPS  244  and the time of day during which the vehicle  202  is being operated using the clock  246  concurrently with the adaptive QoS processing in block  312  (block  316 ). The controller  228  stores the recorded QoS parameters in the memory  232  in associated with the recorded location and time data to update the history of recorded locations and times  242  and corresponding QoS parameter data  240 . In some embodiments, the controller  228  generates a time-weighted average of QoS levels that are observed at the same location during similar times of day to generate QoS parameters that are commonly observed at a particular location and at a particular time of day corresponding to the driving patterns of the vehicle  202 . The controller  228  uses the stored location and time information to retrieve the corresponding QoS parameter data  240  from the memory  232  if the camera is activated while the vehicle is in operation at a particular location or at a particular location during a particular time of day. The initial QoS parameters that are stored in the memory  232  enable the system  200  to display the video with minimal delay when the CQI in the vehicle and corresponding selected QoS parameters for the vehicle  202  are similar to previously observed conditions that occurred at a particular location in the past. 
     Process  300  continues with the processing that is described in blocks  304 - 316  until the vehicle  202  is parked (block  320 ). When the vehicle  202  is parked, the controller  228  updates the default QoS parameters for the transmission of image frames from the camera  208  based on the observed CQIs and corresponding QoS parameters that were used during the previous operation of the vehicle  202  (block  324 ). The controller  228  then stores the updated default QoS parameters in the memory  232  for use when the vehicle  202  is reactivated (block  328 ). When the vehicle  202  is reactivated, the controller  228  can use the stored QoS parameters to initialize the transmission of image frames from the camera  208  to the display  216  with minimal delay since embodiments that rely on the GPS device  244  to identify the location of the vehicle may take several seconds to become operational when the vehicle is initially started. 
     It will be appreciated that variants of the above-described and other features and functions, or alternatives thereof, may be desirably combined into many other different systems, applications or methods. Various presently unforeseen or unanticipated alternatives, modifications, variations or improvements may be subsequently made by those skilled in the art that are also intended to be encompassed by the following claims.