Abstract:
Data transmission first initializes a transmitter system and a receiver system. The transmitter system processes audio/video data, and transmits the processed audio/video data based on information received from the receiver system. The receiver system receives and processes the audio/video data sent by the transmitter system for generating corresponding audio output data and video output data. The receiver system sends the audio output data and the video output data to an audio output apparatus and a video output apparatus, respectively.

Description:
BACKGROUND OF THE INVENTION  
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to a data transmission method and audio/video system, and more particularly, to a data transmission method and audio/video system capable of splitting and synchronizing audio/video data. 
         [0003]    2. Description of the Prior Art 
         [0004]    Audio and video transmission techniques have wide applications and functions, and are usually applied in audio and video systems, such as a security monitoring system, a projector, or a home theater system. Prior art audio and video systems generally adopt data transmission techniques, such as synchronous, merged audio/video data or asynchronous, split audio/video data. 
         [0005]    The security monitoring system usually includes a plurality of monitors and a monitoring center, and the projector is regularly used in a large conference or group presentation. If, in the middle of the conference or the presentation, the presenter changes his position, the computer and the projector may require plugging, unplugging, or turning on and off for a traditional cable projector, which not only wastes time, but also causes inconvenience of use. With the popularity of wireless networking, e.g. wireless fidelity and WiFi, and speed enhancements of embedded central processing units (embedded CPUs), wireless projectors are also becoming more and more popular. The wireless projector links wirelessly to each participant&#39;s computer, and thus the presentation can be switched among many presenters at any time, without needing to unplug the connecting line of the screen repeatedly. 
         [0006]    Please refer to  FIG. 1 .  FIG. 1  is a functional block diagram of a prior art audio and video system  100 . The video and audio system  100  utilizes the data transmission technique capable of synchronizing and merging audio/video data, and includes a wireless transmitter system  110  and a wireless receiver system  120 . The wireless transmitter system  110  can receive video input data I VIDEO  and audio input data I AUDIO  from an audio and video input apparatus  112 , utilize an audio and video processing unit  114  for performing operations such as compression and coding for the video input data I VIDEO  and the audio input data I AUDIO  to generate a corresponding audio and video data stream S A/V , and finally can output the audio and video data stream S A/V  through a wireless output end  116 . The wireless receiver system  120  can receive the audio and video data stream S A/V  transmitted from the wireless transmitter system  110  through a wireless reception end  126 , utilize an audio and video processing unit  124  for performing operations such as decompression and decoding for the audio and video data stream S A/V  to generate corresponding video output data O VIDEO  and audio output data O AUDIO , and finally can output the video output data O VIDEO  and the audio output data O AUDIO  to an audio and video output apparatus  122 . With the audio/video synchronization structure utilized in the prior art audio and video system  100 , the audio data and the video data are merged for wireless output during transmission, and thus only the processing approach for the audio and video data in the same receiver system need be considered. If the audio and video input apparatus  112  is a monitor, and the audio and video output apparatus  122  is a display of a monitoring center, the audio and video system  100  can be a security monitoring system; and if the audio and video input apparatus  112  is a notebook computer, and the audio and video output apparatus  122  is a wireless projector, the audio and video system  100  can be a data projection system. 
         [0007]    On the other hand, as the bandwidth of the wireless network increases (for example, two wireless network standards: IEEE 802.11a and IEEE 802.11g), applications of the wireless projector gradually evolve from the wireless data projector for the office, conferences and group presentations, to a wireless video projector for a home theater system. In the home theater system, users output video signals through the projector and audio signals to a speaker set. 
         [0008]    Please refer to  FIG. 2 .  FIG. 2  is a functional block diagram of a prior art audio and video system  200 . The audio and video system  200  utilizes the asynchronous data transmission technique with split audio/video data, and includes a wireless transmitter system  210  and a wireless receiver system  220 . The wireless transmitter system  210  can receive video input data I VIDEO  and audio input data I AUDIO  from an audio and video input apparatus  212 , and can utilize a video processing unit  214  for performing operations such as compression and coding for the video input data I VIDEO  to generate a corresponding video data stream S V . Finally, the wireless transmitter system  210  can respectively output the video data stream S V  and the audio input data I AUDIO  through a wireless output end  216  and a wired output end  218  at the same time. The wireless receiver system  220  can respectively receive the video data stream S V  transmitted from the wireless transmitter system  210  and the audio input data I AUDIO  through a wireless reception end  226  and a wired reception end  228 , and can utilize a video processing unit  224  for performing operations such as decompression and decoding for the video data stream S V  to generate corresponding video output data O VIDEO . Finally, the wireless receiver system  220  can output the video output data O VIDEO  and the audio input data I AUDIO  to a video output apparatus  222  and an audio output apparatus  223 , respectively. The audio and video system  200  of the present invention can be a home theater system, and the video output apparatus  222  and the audio output apparatus  223  can be a projector and a speaker set, respectively. With the asynchronous and splitting structure for transmitting the audio/video data, the video data and the audio data are split to output wirelessly and over wires, respectively, and during data transmission, the video data stream S V  may suffer interference to different extents, such that the video data stream S V  and the audio input data I AUDIO  received by the receiver system  220  can not be synchronized to each other. 
       SUMMARY OF THE INVENTION  
       [0009]    It is therefore a primary objective of the present invention to provide a data transmission method and audio/video system capable of splitting and synchronizing audio/video data. 
         [0010]    The present invention discloses a data transmission method for a transmitter system and a receiver system splitting and synchronizing audio/video data, wherein the transmitter system comprises a first video data buffer. The method comprising the steps of initializing a transmitter system and a receiver system for obtaining a predetermined compression ratio and a first predetermined capacity corresponding to the first video data buffer in the transmitter system; processing the video data to form processed video data according to the predetermined compression ratio and the first predetermined capacity in the transmitter system and transmitting the processed video data according to a video data playing notification message received from the receiver system; processing the audio data in the transmitter system and transmitting the audio data according to a deviation signal and the video data playing notification message received from the receiver system; receiving and processing the processed video data and the audio data in the receiver system for generating corresponding video output data and audio output data; and outputting the video output data from the receiver system to a video output apparatus and outputting the audio output data from the receiver system to an audio output apparatus. 
         [0011]    The present invention further discloses a video and audio system capable of splitting and synchronizing audio/video data. The video and audio system includes a transmitter system and a receiver system. The transmitter system includes a first video processing unit for receiving video data from a video and audio input apparatus and processing the video data to form processed video data according to a predetermined compression ratio, a first audio processing unit for receiving and processing audio data from the video and audio input apparatus, a first video data buffer for storing the processed video data, a first wireless unit for transmitting the processed video data wirelessly, a first wired unit for transmitting the audio data on wire, and a control device for controlling transmission of the processed video data and the audio data. The receiver system includes a second wireless unit for receiving the processed video data wirelessly from the transmitter system, a second wired unit for receiving the audio data on wire, a second video processing unit for processing the processed video data to generate corresponding video output data, and a second audio processing unit for processing the audio data to generate corresponding audio output data. The receiver system further generates and transmits a deviation signal to the transmitter system according to data time of the video output data and data time of the audio output data. 
         [0012]    These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS  
         [0013]      FIG. 1  is a functional block diagram of a prior art audio and video system. 
           [0014]      FIG. 2  is a functional block diagram of another prior art audio and video system. 
           [0015]      FIG. 3  is a functional block diagram of an audio and video system of the present invention. 
           [0016]      FIG. 4  is a flow chart of a process for initializing a transmitter system in the audio and video system of the present invention. 
           [0017]      FIG. 5  is a flow chart of a process for initializing a receiver system in the audio and video system of the present invention. 
           [0018]      FIG. 6  is a flow chart diagram of a process for processing video data in the transmitter system of the present invention. 
           [0019]      FIG. 7  is a flow chart diagram of a process for processing audio data in the transmitter system of the present invention. 
           [0020]      FIG. 8  is a flow chart diagram of a process for processing the video data and the audio data in the receiver system of the present invention. 
       
    
    
     DETAILED DESCRIPTION  
       [0021]    The present invention provides a data transmission method, and an audio and video system capable of splitting and synchronizing audio and video data, which can provide audio and video synchronization when the audio data and the video data are transmitted from the same source and played in different systems. The method of the present invention includes initializing a transmitter system and a receiver system of the audio and video system and activating synchronized playback of the audio and video data. 
         [0022]    Please refer to  FIG. 3 .  FIG. 3  is a functional block diagram of an audio and video system  300  of the present invention. The audio and video system  300  utilizes a data transmission method capable of splitting and synchronizing audio and video data, and includes a transmitter system  310  and a receiver system  320 . The transmitter system  310  can receive video input data I VIDEO  and audio input data I AUDIO  from an audio and video input apparatus  312 . A video processing unit  314  can perform operations such as compression and coding for the video input data I VIDEO  to generate a corresponding video data stream S V . Then, the video data stream S V  can be stored in a video data buffer  311 . An audio processing unit  315  controls data flow and timing when outputting the audio input data I AUDIO . A control device  317  of the transmitter system  310  calculates data quantity of the video data buffer  311  and an audio data buffer  313 . When the data quantity of the video data buffer  311  lies in a predetermined range, the video data stream S V  can be outputted through a wireless output end  316 ; and, when the data quantity of the audio data buffer  313  lies in a predetermined range, the audio input data I AUDIO  can be outputted by a wired output end  318 . 
         [0023]    The receiver system  320  can respectively receive the video data stream S V  and the audio input data I AUDIO  transmitted from the wireless transmitter system  310  through a wireless reception end  326  and a wired reception end  328 , and then the video data stream S V  is stored in a video data buffer  321 . When the data quantity of the video data buffer  321  lies in the predetermined range, a video processing unit  324  can perform operations such as decompression and decoding for the video data stream S V  to generate corresponding video output data O VIDEO . Finally, the video output data O VIDEO  and the audio input data I AUDIO  are transmitted to a video output apparatus  322  and an audio output apparatus  323 , respectively. Certainly, the receiver system  320  can further include an audio processing unit (not shown in  FIG. 3 ) coupled to the wired reception end  328  for processing the audio input data I AUDIO  to generate corresponding audio output data to the audio output apparatus  323 . 
         [0024]    The audio and video system  300  of the present invention can be a home theater system, and the video output apparatus  322  and the audio output apparatus  323  can be a projector and a speaker set, respectively. With the asynchronous and splitting structure for transmitting audio/video data, the video data and the audio data are split to output wirelessly and over wire, respectively, and during transmission, the video data stream S V  may suffer interference to different extents, such that the video data stream S V  and the audio input data I AUDIO  received by the receiver system  320  can not be synchronized to each other. Therefore, in the present invention, the receiver system  320  of the audio and video system  300  utilizes the video processing unit  314 , the audio processing unit  315  and the control device  317  for controlling and adjusting parameters such as transmission time, data flow, and compression ratio of the audio/video data according to actual received data and time of the receiver system  320 . Thus, the video output data O VIDEO  played by the video output apparatus  322  and the audio input data I AUDIO  played by the audio output apparatus  323  can be synchronized to each other. 
         [0025]    Please refer to  FIG. 4 .  FIG. 4  is a flow chart of a process  40  for initializing the transmitter system  310  of the audio and video system  300  of the present invention. The process  40  includes the following steps: 
         [0026]    Step  400 : Start. 
         [0027]    Step  410 : Initialize a network of the transmitter system  310 . 
         [0028]    Step  420 : Determine whether a connection between the transmitter system  310  and the receiver system  320  can be established successfully. If so, proceed to Step  430 ; if not, proceed to Step  410 . 
         [0029]    Step  430 : Transmit dummy data to the receiver system  320  with a predetermined bandwidth. 
         [0030]    Step  440 : Receive bandwidth information transmitted from the receiver system  320 . 
         [0031]    Step  450 : Determine whether a system clock of the transmitter system  310  and a system clock of the receiver system  320  can be synchronized to each other according to the bandwidth information. If so, proceed to Step  470 ; if not, proceed to Step  460 . 
         [0032]    Step  460 : Update the predetermined bandwidth according to the bandwidth information, and proceed to Step  430 . 
         [0033]    Step  470 : According to the bandwidth information, set a predetermined compression ratio of the video data and a predetermined capacity of the video data buffer  311 . 
         [0034]    Step  480 : Transmit a video data reception notification message to the receiver system  320 . 
         [0035]    Step  490 : Prepare to acquire the video data and the audio data. 
         [0036]    Please refer to  FIG. 5 .  FIG. 5  is a flow chart of a process  50  for initializing the receiver system  320  of the audio and video system  300  of the present invention. The process  50  includes the following steps: 
         [0037]    Step  500 : Start. 
         [0038]    Step  510 : Initialize a network of the receiver system  320 . 
         [0039]    Step  520 : Determine whether a connection between the transmitter system  310  and the receiver system  320  can be established successfully. If so, proceed to Step  530 ; if not, proceed to Step  510 . 
         [0040]    Step  530 : Receive dummy data transmitted from the transmitter system  310 . 
         [0041]    Step  540 : Generate the corresponding bandwidth information according to a reception state of the dummy data. 
         [0042]    Step  550 : Transmit the bandwidth information to the transmitter system  310 . 
         [0043]    Step  560 : Determine whether the video data reception notification message transmitted from the transmitter system  310  can be received. If so, proceed to Step  570 ; if not, proceed to Step  560 . 
         [0044]    Step  570 : Prepare to receive the video data outputted from the transmitter system  310 . 
         [0045]    First, the present invention initializes the network of the transmitter system  310  and the receiver system  320  in Steps  410  and  510 , and determines whether the connection can be established between the transmitter system  310  and the receiver system  320  of the audio and video system  300  in Steps  420  and  520 . When the connection between the transmitter system  310  and the receiver system  320  is already established successfully, the present invention then determines whether the system clock of the transmitter system  310  and the receiver system  320  are synchronized to each other, and determines the predetermined bandwidth when transmitting data. At first, the transmitter system  310  transmits the dummy data with the predetermined bandwidth in Step  430 . Then, the receiver system  320  receives the dummy data in Step  530 , and generates the corresponding bandwidth information according to the reception state of the dummy data in Step  540 . For example, the transmitter system  310  transmits  100  packets each having 8000 bits in 100 microseconds, but the receiver system  320  only receives  90  correct packets each having 8000 bits after 100 microseconds. In this case, the receiver system  320  can calculate the corresponding bandwidth information according to the packet transmission time, the packet bit length and the number of successfully received packets in Step  540 , and the transmitter system  310  can then adjust the number and the bit length of the packets being transmitted according to the bandwidth information until all of the transmitted packets can be received correctly by the receiver system  320 . For example, after the predetermined bandwidth is updated in Step  460 , the transmitter system  310  can only transmit 90 packets each having 8000 bits or 100 packets each having 7000 bits in 100 microseconds, and if the receiver system  320  can also receive the packets with the same number correctly after 100 microseconds and return the corresponding bandwidth information accordingly, the synchronization of the system clock between the transmitter system  310  and the receiver system  320  and the determination of the predetermined bandwidth are completed. At this time, the transmitter system  310  is finished with the preparation for acquiring the video data and the audio data, and the receiver system  320  is finished with the preparation for receiving the video data and the audio data as well. 
         [0046]    Please refer to  FIG. 6 .  FIG. 6  is a flow chart diagram of a process  60  for processing the video data in the transmitter system  310  of the present invention. The process  60  includes the following steps: 
         [0047]    Step  600 : Start to acquire the video data. 
         [0048]    Step  610 : Compress the video data according to the predetermined compression ratio. 
         [0049]    Step  620 : Store the compressed video data into the video data buffer  311 . 
         [0050]    Step  630 : Determine whether the data quantity of the data stored in the video data buffer  311  reaches a first predetermined level. If so, proceed to Step  640 ; if not, proceed to Step  620 . 
         [0051]    Step  640 : Determine whether a video data playing notification message is received. If so, proceed to Step  660 ; if not, proceed to Step  650 . 
         [0052]    Step  650 : Disallow transmitting the audio data, and proceed to Step  640 . 
         [0053]    Step  660 : Allow transmitting the audio data, and proceed to Step  670 . 
         [0054]    Step  670 : Determine whether the data quantity of the data stored in the video data buffer  311  exceeds a second predetermined level. If so, proceed to Step  690 ; if not, proceed to Step  680 . 
         [0055]    Step  680 : Stop storing the compressed video data in the video data buffer  311 , and proceed to Step  690 . 
         [0056]    Step  690 : Start to transmit the video data, and proceed to Step  630 . 
         [0057]    Please refer to  FIG. 7 .  FIG. 7  is a flow chart diagram of a process  70  for processing the audio data in the transmitter system  310  of the present invention. The process  70  includes the following steps: 
         [0058]    Step  700 : Start to acquire the audio data. 
         [0059]    Step  710 : Store the audio data into an audio data buffer  313 . 
         [0060]    Step  720 : Determine whether the transmission of the audio data is allowed. If so, proceed to Step  740 ; if not, proceed to Step  730 . 
         [0061]    Step  730 : Stop transmitting the audio data, and proceed to Step  720 . 
         [0062]    Step  740 : Receive a notification message corresponding to video playing system clock. 
         [0063]    Step  750 : Receive an deviation signal corresponding to difference of the video playing system clock and an audio playing system clock. 
         [0064]    Step  760 : Adjust a predetermined data flow and a predetermined data quantity when transmitting the audio data according to the deviation signal. 
         [0065]    Step  770 : Transmit a notification message corresponding to the audio playing system clock to the receiver system  320 . 
         [0066]    Step  780 : Transmit the audio data with the predetermined data flow and the predetermined data quantity, and proceed to Step  720 . 
         [0067]    Please refer to  FIG. 8 .  FIG. 8  is a flow chart diagram of a process  80  for processing the video data and the audio data in the receiver system  320  of the present invention. The process  80  includes the following steps: 
         [0068]    Step  800 : Start to receive the compressed video data and the audio data transmitted from the transmitter system  310 . 
         [0069]    Step  810 : Store the compressed video data in the video data buffer  321 . 
         [0070]    Step  820 : Calculate the data quantity of the data stored in the video data buffer  321 . 
         [0071]    Step  830 : Determine whether the data quantity of the data stored in the video data buffer  321  exceeds a predetermined level. If so, proceed to Step  840 ; if not, proceed to Step  810 . 
         [0072]    Step  840 : Start to decompress the data stored in the video data buffer  321 . 
         [0073]    Step  850 : Output the decompressed video data to the video output apparatus  322 . 
         [0074]    Step  860 : Output the audio data to the audio output apparatus  323 . 
         [0075]    Step  870 : Transmit the video data playing notification message and the notification message corresponding to the video playing system clock to the transmitter system  310 . 
         [0076]    Step  880 : Receive the notification message corresponding to the audio playing system clock. 
         [0077]    Step  890 : Generate the deviation signal corresponding to difference of the video playing system clock and the audio playing system clock according to the notification message corresponding to the audio playing system clock. 
         [0078]    After the present invention completes the initialization of the audio and video system  300 , the transmitter system  310  can then start to process the video data and the audio data (as shown in  FIG. 6  and  FIG. 7 ). With regard to the video data, after acquiring the video data in Step  600 , the transmitter system  310  then compresses the video data in Step  610 , and stores the compressed video data into the video data buffer  311  in Step  620 . A control device  317  of the transmitter system  310  can determine the data quantity of the data stored in the video data buffer  311  in Step  630  and  670 , and can determine whether the video data playing notification message is received in Step  640 . If the data quantity of the data stored in the video data buffer  311  has not reached the first predetermined level yet, the transmitter system  310  performs Step  620  to continue storing the compressed video data in the video data buffer  311 ; and, if the data quantity of the data stored in the video data buffer  311  reaches the first predetermined level and the video data playing notification message is received, the transmitter system  310  then performs Step  660  for allowing transmission of the audio data. Conversely, if the data quantity of the data stored in the video data buffer  311  reaches the first predetermined level but the video data playing notification message is not received, the transmitter system  310  performs Step  650  for disallowing transmission of the audio data. After the transmission of the audio data is allowed, if the data quantity of the data stored in the video data buffer  311  exceeds the second predetermined level, the transmitter system  310  then performs Step  680  for stopping storing of the compressed video data into the video data buffer  311 . Next, Step  690  can be performed for starting to transmit the video data. If the data quantity of the data stored in the video data buffer  311  does not exceed the second predetermined level, Step  690  is directly performed for starting to transmit the video data. 
         [0079]    On the other hand, with regard to the audio data, after acquiring the audio data in Step  700 , the audio data can be stored in the audio data buffer  313  in Step  710 . If the control device  317  of the transmitter system  310  determines to allow transmission of the audio data in Step  720 , the notification message corresponding to the video playing system clock and the deviation signal corresponding to difference of the video playing system clock and the audio playing system clock can then be received from the receiver system  320 . Thus, the transmitter system  310  can obtain the system clock difference when the audio data and the video data are played in the receiver system  320 , and can adjust the predetermined data flow and the predetermined data quantity when transmitting the audio data in Step  760 , such that the playback of the audio data and the video data can be synchronized in the receiver system  320 . 
         [0080]    In the present invention, after the transmitter system  310  of the audio and video system  300  completes the processing and the transmission of the audio data and the video data (as shown in  FIG. 6  and  FIG. 7 ), the receiver system  320  can then start to receive the video data and the audio data (as shown in  FIG. 8 ). At first, the receiver system  320  stores the received video data in the video data buffer  321  in Step  810 , and calculates the data quantity of the data stored in the video data buffer  321  in Step  820 . If the data quantity of the data stored in the video data buffer  321  reaches the predetermined level, the receiver system  320  can perform Step  840  for decompressing and decoding the video data, and can perform Step  850  and  860  for synchronizing the video data played on the video output apparatus  322  and the audio data played on the audio output apparatus  323 .Finally, the receiver system  320  can perform Step  870  to Step  890  for updating the real system clock to the transmitter system  310 , so that the transmitter system  310  can instantaneously adjust the output of the audio data and the video data according to the data reception state of the receiver system  320 . 
         [0081]    Assume that the original video data includes F image frames outputted each second, of which the data quantity can be represented by R. Compressing the video data according to the predetermined compression ratio in Step  610  is compressing every M image frames into 1 I frame and (M-1) P frames, wherein the data quantity of the I frame is greater than that of the P frame and the compression ratio of the I frame and the P frame are represented by ri and rp, respectively. Thus, the data quantity of one I frame is R/ri, the data quantity of one P frame is R/rp, the data quantity of the original video data is R, and the data quantity of the compressed video data R′ can be expressed by the following formula: 
         [0000]        R ′=( F/M )*(( R/ri )+( R/rp )*( M− 1)) 
         [0082]    If the video data buffer  311  of the transmitter system  310  needs to have at least a capacity of m image frames, and m is regularly set to be less than M (i.e. m&lt;M), the capacity of the video data buffer  311  has to lie between RV_MIN and RV_MAX, among which RV_MIN corresponds to the data quantity of m P frames, RV_MAX corresponds to the data quantity of (m−1) P frames and 1 I frame, and can be represented by the following formulas: 
         [0000]        RV _MIN= m*R/rp;    
         [0000]        RV _MAX= R/ri +( m− 1)* R/rp    
         [0083]    On the other hand, the video data buffer  321  of the receiver system  320  has to provide a buffering time of at least 2 image frames, of which one frame is during transmission and reception and the other is during the decompression process. Thus, the capacity of the video data buffer  321  of the receiver system  320  has to lie between BV_MIN and BV_MAX, among which BV_MIN corresponds to the data quantity of 2 P frames, BV_MAX corresponds to 1 I frame and 1 P frame, and can be expressed in the following formulas: 
         [0000]        BV _MIN=2 R/rp;    
         [0000]        BV _MAX=2 R *(1 /ri+ 1 /rp ) 
         [0084]    Therefore, the present invention can set the capacity of the video data buffer  311  in the transmitter system  310  as RV_MAX and that of the video data buffer  321  in the receiver system  320  as BV_MAX, and can set values of the first and the second predetermined levels accordingly. Meanwhile, since the video data buffer  321  of the receiver system  320  only has the data quantity of two image frames, the maximum instantaneous data flow is R/ri of the I frame, and the average data flow is R*(1/ri+1/rp). The predetermined level can thus be set as R*(1/ri+1/rp) in the present invention. 
         [0085]    In summary, the present invention provides the data transmission method and the audio/video system capable of splitting and synchronizing audio/video data, which can provide audio and video synchronization when the audio data and the video data transmitted from the same source are played in different systems. Furthermore, the present invention can be applied in a home theater system capable of playing the video data and the audio data by a projector and a speaker set, respectively. 
         [0086]    Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention.