Abstract:
A method of transmitting data from a first terminal to a second terminal in a communication network comprising: receiving at the first terminal an data signal determining an identity of the peripheral device; supplying to a data store the identity of the peripheral device; selecting from the data store at least one parameter for processing the data signal based on the identity of the peripheral device; transmitting the data signal from the first terminal to the second terminal; and processing the data signal, wherein the data signal is processed based on the selected parameter.

Description:
RELATED APPLICATION 
       [0001]    This application claims priority under 35 U.S.C. §119 or 365 to Great Britain, Application No. 0719233.9, filed Oct. 2, 2007. The entire teachings of the above application are incorporated herein by reference. 
       TECHNICAL FIELD 
       [0002]    The present invention relates to communication systems. More particularly the present invention relates to a method and apparatus for encoding, and transmitting data in a communication system. 
       BACKGROUND 
       [0003]    In a communication system a communication network is provided, which can link together two communication terminals so that the terminals can send information to each other in a call or other communication event. Information may include speech, text, images or video. 
         [0004]    Modern communication systems are based on the transmission of digital signals. Analogue information such as audio or video data is input into an analogue to digital converter at the transmitter of one terminal and converted into a digital signal. The data may be captured by an input device such as a microphone or a video camera connected to the terminal. The digital signal is then encoded by an encoder and placed in data packets for transmission over a channel to the receiver of another terminal. 
         [0005]    The manner in which the data captured by the data input device is handled by the terminal is dependent on a number of variables. For example the encoder in the terminal may encode the data differently in dependence on the data rate of the data input into the encoder, the available bandwidth of the communication network, or the available capacity of the central processing unit (CPU) in the terminal. 
         [0006]    Adapting the manner in which data is handled at the terminal in dependence on variable conditions allows the system to optimally handle the data for given conditions. 
         [0007]    However in some cases, optimizing the handling of data for given conditions may not necessarily give rise to the best manner for handling the data. For example an input device that consumes a large proportion of the CPU capacity may also require that data transmitted from the terminal is encoded at a high data rate. This may not be achieved if the encoding rate is dependent on the available capacity of the CPU. 
         [0008]    It is therefore an aim of the present invention to improve the manner in which data is handled by a transmitting terminal in order to improve the quality of the transmitted signal. 
       SUMMARY 
       [0009]    According to a first aspect of the invention there is provided a method of transmitting data from a first terminal to a second terminal in a communication network comprising: receiving at the first terminal a data signal input from a peripheral device connected to the first terminal; determining an identity of the peripheral device; supplying to a data store the identity of the peripheral device; selecting from the data store at least one parameter for processing the data signal based on the identity of the peripheral device; transmitting the data signal from the first terminal to the second terminal; and processing the data signal, wherein the data signal is processed based on the selected parameter. 
         [0010]    The step of transmitting the data signal to the second terminal according to the first aspect of the invention may be carried out in any order in relation to the steps of determining the identity of the peripheral device; supplying to the data store the identity of the peripheral device; selecting from the data store the at least one parameter for processing the data signal based on the identity of the peripheral device; and processing the data signal, wherein the data signal is processed based on the selected parameter. 
         [0011]    According to a second aspect of the invention there is provided a terminal arranged to transmit data to a receiving terminal via a communication network comprising: an input arranged to receive a data signal input from a peripheral device connected to the transmitting terminal; a data store arranged to store a plurality of parameters; a processor arranged to determine an identity of the peripheral device and to select from the data store at least one parameter for processing the data signal based on the identity of the peripheral device; and a transmitter arranged to transmit the data signal to the receiving terminal. 
         [0012]    According to a third aspect of the present invention there is provided a terminal arranged to receive a data signal from a transmitting terminal via a communication network comprising; a receiver arranged to receive the data signal transmitted from the transmitting terminal together with an identity of a peripheral device, wherein the peripheral device is used to input the data signal at the transmitting terminal; a data store arranged to store a plurality of parameters; and a processor arranged to select from the data store at least one parameter for processing the data signal based on the identity of the peripheral device, and to process the data signal based on the selected parameter. 
         [0013]    According to a fourth aspect of the present invention there is provided a communication system comprising a first terminal and a second terminal, wherein the first terminal comprises; an input arranged to receive a data signal input from a peripheral device connected to the first terminal, a processor to determine an identity of the peripheral device; and a transmitter arranged to transmit the data signal and the identity of the peripheral device to a second device; and wherein the second terminal comprises; a receiver arranged to receive the data signal and the identity of the peripheral device, a data store arranged to store a plurality of parameters; and a processor arranged to select from the data store at least one parameter for processing the data signal based on the identity of the peripheral device, and to process the data signal based on the selected parameter. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0014]    For a better understanding of the present invention and to show how the same may be carried into effect, embodiments of the present invention will now be described with reference to the following drawings: 
           [0015]      FIG. 1  shows a communication network. 
           [0016]      FIG. 2  shows a terminal connected to the communication network; 
           [0017]      FIG. 3  shows a terminal in accordance with the present invention; 
           [0018]      FIG. 4  is a schematic representation of the transmission of data from the second terminal to the first terminal; and 
           [0019]      FIG. 5  shows the logical connections between the receiving circuitry and the CPU in the first terminal. 
       
    
    
     DETAILED DESCRIPTION 
       [0020]    Reference will first be made to  FIG. 1 , in which are shown a first terminal  100  and a second terminal  112  connected to a communication network  104 . The terminal  100  is arranged to transmit data to the terminal  112  via the communication network  104 . In one embodiment of the invention the communications network is a VoIP network provided by the internet. It should be appreciated that even though the exemplifying communications system shown and described in more detail herein uses the terminology of a VoIP network, embodiments of the present invention can be used in any other suitable communication system that facilitates the transfer of data. Embodiments of the invention are particularly suited to asynchronous communication networks such as frame based systems as ATM, BlueTooth and Enhanced Data rates for GSM Evolution (EDGE) networks. 
         [0021]    In a preferred embodiment of the invention the VoIP system is a peer to peer communication system, in which a plurality of end users can be connected for communication purposes via a communications structure such as the internet. A peer to peer communication system may also use other protocols to facilitate the transfer of other data such as text images or video. The communications structure is substantially decentralised with regard to communication route switching therein for connecting the end users. That is, the end users can establish their own communication routes through the structure based on exchange of an authorisation certificate (user identity certificates—UIC) to acquire access to the structure. The structure includes an administration arrangement issuing the certificates to the end users. Such a communication system is described in WO 2005/009019. 
         [0022]    The terminals  100  and  112  may be, for example, a personal computer, a gaming device, a personal digital assistant, a suitably enabled mobile phone, a television or other device able to connect to the network  104 . 
         [0023]      FIG. 2  shows the first terminal  100  connected to the network  104 . The terminal  100  may be connected to various peripheral devices that are devices that may be connected to a user terminal to expand its functionality. The peripheral devices shown in  FIG. 2  are used to provide user interfaces to receive information from and output information to a user of the terminal. In a preferred embodiment of the invention the peripheral devices connected to the terminal include a microphone  110 , a camera  120 , a loudspeaker  130  and a display screen  140 . The interface devices may also include a keyboard (not shown). The terminal  100  may be connected to the network  104  via a cable (wired) connection or a wireless connection. 
         [0024]    The terminal  100  includes signal receiving circuitry  180  for receiving signals from the second terminal  112  via the network  104  and signal transmitting circuitry  190  for transmitting signals to the second terminal  112  via the network  104 . Similar transmitting and receiving circuitry is also provided in the destination terminal  112  for transmitting data to, and receiving data from, the first terminal  100 . 
         [0025]      FIG. 3  is a schematic representation of the logical connections between the components of the transmitting circuitry  190  and a Central Processing Unit (CPU)  170  of the terminal. The transmitting circuitry  190  includes, the encoder  160 , a preprocessor  150 , a data store  108  and a post encoding block  106 . The transmitting circuitry is shown to be connected to the camera  120  and the microphone  110 . 
         [0026]    In accordance with an embodiment of the invention the CPU  170  is arranged to control the operation of the components in the transmitting circuitry. 
         [0027]    In operation, signals such as video data are input into the encoder  160  from the camera  120 . The encoder is arranged to group the bits in the bit stream of the video data into frames representing portions of the signal to be encoded. The frames are then encoded according to an encoding scheme implemented in the encoder. The manner in which the data is encoded may affect the data rate that the video data is transmitted across the network at, and in particular the resolution that the video data may be viewed at when it is received at the destination terminal  112 . 
         [0028]    The preprocessor  150  may be arranged to apply a preprocessing action on the video data before it is encoded. For example the preprocessor may be arranged to smooth the signal in order to reduce random fluctuations in the signal before it is encoded. 
         [0029]    According to an embodiment of the invention, the data store  108  provided in the transmitting circuitry of terminal  100  is arranged to store predetermined parameters for handling data to be transmitted from the terminal. In particular the data store is arranged to store parameters for processing data to be transmitted in dependence on the type of peripheral devices that are connected to the terminal. The parameters are stored in the data store  108  in correspondence with peripheral device identities. 
         [0030]    The parameters for handling the data to be transmitted from the terminal  100  are selected in dependence on the identity of the peripheral device that is used to capture the data to be transmitted from the terminal. 
         [0031]    According to one embodiment of the invention, when video data is to be transmitted from the terminal  100 , the CPU  170  is arranged to retrieve an identity from the camera  120  that captured the video data. The CPU  170  is then arranged to search the data store  108  with the identity of the camera. 
         [0032]    If the identity of the camera  120  is stored in the data store  108 , the operating parameters for handling the video data that correspond to the identity of the camera  120  are retrieved by the CPU  170 . The CPU is then arranged to implement the retrieved parameters to handle the data. 
         [0033]    In one embodiment of the invention the identity of the camera  120  stored in the data store  108  may correspond to a parameter of the signal to be transmitted. For example the parameter may relate to either a predetermined data transmission rate, or a resolution rate. 
         [0034]    The CPU  170  is arranged to retrieve the predetermined data transmission rate from the data store  108  and to control the bit rate at which the encoder encodes the video data in order to achieve the specified data transmission rate. 
         [0035]    In a further alternative embodiment of the invention the preprocessor may be controlled to achieve the specified data transmission rate retrieved from the data store. 
         [0036]    In a further embodiment of the invention the identity of the camera may correspond to a parameter to be applied to the signal. For example the parameter may relate to a specific encoding parameter to be applied in the encoder, or a specific smoothing parameter to be applied in the preprocessor. 
         [0037]    As such the identity of a high quality camera that is stored in the data store may be used to retrieve processing parameters from the data store  108  that encode the data at a higher bit rate, or transmit a video frame at a higher resolution. 
         [0038]    On the other hand the identity of a lower quality camera that is stored in the data store may be used to retrieve processing parameters from the data store  108  that smooth the signal before it is encoded, or encode the signal with fewer bits. 
         [0039]    In a further embodiment of the invention the data input into the encoder  160  may be audio data input from a microphone. In this embodiment of the invention the post encoder block  106  may be arranged to apply a processing action after the data has been encoded. For example the post encoder block  106  may be arranged to discard some encoded audio packets from the data stream before the data stream is transmitted. Post encoding methods are known to a person skilled in the art. A post encoding method that discards data packets is described in UK patent application 0705324.2. 
         [0040]    According to this embodiment of the invention the CPU  170  may be arranged to control the post encoding block  106  to achieve the specified data transmission rate retrieved from the data store  108 . In this case the post encoding block  106  may be controlled to drop a greater, or fewer, number of packets in order to achieve the specified data rate. 
         [0041]    In an alternative embodiment of the invention the parameters retrieved from the data store  108  are transmitted together with the data signal to the second terminal  112 . In this case the second terminal is arranged to process the signal transmitted from the first terminal  100  according to the parameters transmitted from the second terminal. The parameters transmitted from the first terminal may relate to decoding parameters or post processing parameters. 
         [0042]    An alternative embodiment of the invention will now be described with reference to  FIGS. 4 and 5 . 
         [0043]      FIG. 4  is a schematic representation of the transmission of data from the second terminal  112  to the first terminal  100 . As shown in  FIG. 4  the second terminal  112  comprises transmitting circuitry  191  connected to a peripheral device  121  such as a video camera. The second terminal  112  is arranged to transmit data captured by the peripheral device  121  to the first terminal  100  via the network  104 . 
         [0044]    Reference is now made to  FIG. 5 .  FIG. 5  shows the logical connections between the receiving circuitry  180  and the CPU  170  in the first terminal. As shown in  FIG. 5 , the receiving circuitry  180  includes a decoder  260 , a post decoding block  250  and a data store  208 . The receiving circuitry  180  is shown to be connected to the network  104 . 
         [0045]    Data signals such as video data are captured by a peripheral device such as the camera  121  connected to the second terminal  112  and transmitted to the first terminal  100  via the network  104  as shown in  FIG. 4 . The data signals received at the terminal  100  are input into the decoder  260  which is arranged to decode the received data signals. 
         [0046]    In accordance with an embodiment of the invention the CPU  170  is arranged to control the operation of the components in the receiving circuitry  180  in dependence on the identity of the peripheral device  121  connected to the second terminal  112 . 
         [0047]    The data store  208  provided in the receiving circuitry of terminal  100  is arranged to store predetermined parameters for handling data received at the terminal  100 . In particular the data store is arranged to store parameters for processing received data in dependence on the type of peripheral device  121  that is connected to the transmitting circuitry  191  of the second terminal  112 . The parameters are stored in the data store  208  in correspondence with peripheral device identities. 
         [0048]    The parameters for handling the data received from the terminal  112  are selected in dependence on the identity of the peripheral device  121  that is used to capture the data for transmission at the second terminal  112 . 
         [0049]    According to this embodiment of the invention the transmitting circuitry  191  of the second terminal  112  is arranged to determine the identity of the peripheral device  121  and to transmit the identity of the peripheral device  121  to the first terminal  100  together with the transmitted data. Similarly the first terminal  100  may be arranged to transmit the identity of a peripheral device to the second terminal that is used to capture any data transmitted to the second terminal. 
         [0050]    The identity of the peripheral device  121  and data captured by the peripheral device  121  are received at the terminal  100  via the network  104 . The CPU  170  of the terminal  100  is arranged to search the data store  208  of the receiving circuitry  180  with the identity of peripheral device  121 . 
         [0051]    If the identity of the peripheral device  121  is stored in the data store  208  of the first terminal  100 , at the first terminal the operating parameters for handling the received data corresponding to the identity of the peripheral device  121  are retrieved from the data store  208 . The CPU  170  of the first terminal  100  is then arranged to implement the retrieved parameters to handle the received data. 
         [0052]    In one embodiment of the invention the identity of the peripheral device  121  may correspond to a parameter to be applied to the received data signal. For example the parameter may relate to a specific decoding parameter to be applied in the decoder  260 , or a specific smoothing parameter to be applied in the post decoding block  206 . 
         [0053]    According to some embodiments of the invention, if the identity of the peripheral device is not stored in the data stores  108  or  208 , or if the identity of peripheral device cannot be determined the CPU  170  is arranged to apply default settings to handle the data to be transmitted. The default settings may be retrieved from the data store  108  or  208 . 
         [0054]    In one embodiment of the invention the identity of the peripheral device may be determined by querying the peripheral device directly. 
         [0055]    In one embodiment of the invention the identity of the peripheral device may relate to the Universal Serial Bus (USB) identity of the device. 
         [0056]    In an alternative embodiment of the invention the identity of the peripheral device may be determined from an operating system executed on the terminal connected to the peripheral device. 
         [0057]    In a further alternative embodiment of the invention the identity of the peripheral device may be determined from the data captured by the device. 
         [0058]    In one embodiment of the invention the identity of the peripheral device may be set by the manufacturer of the device and relate to the model type of the device. 
         [0059]    In an alternative embodiment of the invention the identity of the peripheral device may relate to the performance characteristic of the peripheral device. For example the peripheral device may be identified as a high quality device or a low quality device. The performance characteristic of the device may be determined from the characteristics of the data captured by the device. 
         [0060]    For example the performance characteristic of the device may be determined by comparing the characteristic of the captured data against a predetermined threshold. If the characteristic of the data is below a predetermined threshold the peripheral device may be identified as a low quality device. 
         [0061]    If the data captured by the device is video data, the characteristics of the data may for example relate to the sharpness, contrast or jitter of the data. Alternatively if the data captured by the device is audio data, the characteristics of the data may relate to the frequency response, noise level or noise spectrum of the data. 
         [0062]    In an alternative embodiment of the invention the identity of the device may be determined at the second terminal  112  that is arranged to receive the data from the first terminal. In this embodiment of the invention the identity of the device is determined from a characteristic of the data signal transmitted from the first terminal  100 . 
         [0063]    In one embodiment of the invention the parameters applied to handle the data are implemented throughout the duration of the data transmission. 
         [0064]    In accordance with an alternative embodiment of the present invention the parameters applied to handle the data are implemented as initial parameters that are adapted during the course of the transmission in dependence on the varying conditions in the terminal and on the network. 
         [0065]    In a further embodiment of the invention the parameters selected from the data store  108  may also be dependent system conditions. System conditions may relate to fixed system conditions such as the power of the CPU, or variable system conditions of the network. In this case different parameters relating to the same peripheral identity device may be applied in dependence on the detected system conditions. 
         [0066]    While this invention has been particularly shown and described with reference to preferred embodiments, it will be understood to those skilled in the art that various changes in form and detail may be made without departing from the scope of the invention as defined by the claims.