The present invention relates to a method and system for transmitting and receiving data in a communication system. More particularly, the present invention relates to a method and apparatus for transmitting and receiving image data to be output to a user on a display.
In a communication system a communication network is provided, which can link together at least 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.
Digital communication systems are based on the transmission of digital signals. Analogue signals such as light waves are input into a recording device such as a camera and recorded by an image sensor such as a charged coupled device (CCD) in the camera. Data recorded by the image sensor is then converted into digital data by an analogue to digital converter. The digital signal is then encoded and placed into data packets for transmission over a communication network.
Each data packet includes a header portion and a payload portion. The header portion of the data packet contains data for transmitting and processing the data packet. This information may include an identification number and source address that uniquely identifies the packet, a header checksum used to detect processing errors and the destination address. The payload portion of the data packet includes the encoded video data intended for transmission.
The transmission of high quality images, such as those with a high resolution, may require large amounts of data to be encoded and transmitted via the communication network, particularly during real time communication events such as video calls and video streaming. This consumes a large amount of CPU (Central Processing Unit) resource of the transmitting terminal and of the receiving terminal which in turn increases the power consumption of the terminals. The transmission of large amounts of data will also consume the bandwidth of network, thereby increasing introducing packet loss and delay.
The transmission of high quality images may require complex compression methods to encode the data, such encoding methods may again consume a large amount of CPU resource.
A further problem with transmitting high quality images is that this can overload the CPU resources of the terminals thereby adversely affecting the operation of the terminal to display the image and perform other processing functions.
The burden on the CPU resources of the terminals may be alleviated by sending data at a low resolution. However this can also adversely affect the quality of the displayed image. This is particularly noticeable to a user when the display screen on which the image is displayed is large and has a high resolution.
It is therefore an aim of the present invention to overcome the above identified problems by efficiently encoding and transmitting information over the network without affecting the perceived quality of the image displayed at the receiving terminal.
It is a further aim of the invention to improve the perceived quality of the image data when it is displayed at a receiving terminal.
According to a first aspect of the present invention there is provided a method of transmitting image data from a first node to a second node during a communication event, wherein the second node comprises a display for displaying image data at the second node, said method comprising;
According to a second aspect of the present invention there is provided a method of transmitting image data from a first node to a second node during a communication event, wherein the second node comprises a display for displaying image data at the second node, said method comprising;
According to a third aspect of the invention there is provided a transmitting terminal arranged to transmit image data to a receiving terminal during a communication event, wherein the receiving terminal comprises a display for displaying image data, said transmitting terminal comprising:
According to a fourth aspect of the present invention there is provided a receiving terminal for receiving image data transmitted from a transmitting terminal during a communication event, said receiving terminal comprising:
One advantage of embodiments of the present invention is that the resolution of the image may be adapted to increase only when this is necessary to maintain an acceptable level of quality of the displayed image.
Furthermore the data in the encoded image may be optimised according to the manner in which it is displayed at the receiving terminal.
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:
The user terminals 100, 112, may be a personal computer, a gaming device, a personal digital assistant, a suitably enabled mobile phone, a television, or another device able to output image data on an integrated or peripheral display. The terminals may be connected to the network via a wired or wireless connection that employs a particular access technology such as Ethernet, WiFi, WiMax (Worldwide Interoperability for Microwave Access), or 3G (third generation).
A communication event, such as a video call, may be set up between the first user terminal 100 and the second user terminal 112. During the video call, video data is transmitted between the user terminals via the communication network 104.
Reference will now be made to
The following description will describe the transmission of image data from the first user terminal 100 to the second user terminal 112. However it should be readily appreciated that the second user terminal may also be arranged to transmit image data to the first user terminal in accordance with the method described below.
The transmitting circuitry of first user terminal 100 is arranged to receive image data from the image input system 202 and to transmit the image data to the second user terminal 112.
In a preferred embodiment of the invention the image input system 202, 202′ is a video camera. Video data is transmitted from the first user terminal 100 to the second user terminal 112, via the network 104. The receiving circuitry 201′ of the second user terminal 112 is arranged to receive the video data from the network 104 and to output the video data on the display screen 203.
The analogue to digital converter 204 in the first user terminal 100, receives an analogue representation of an image captured by an image sensor of the video camera 202. The analogue to digital converter 204 is arranged to convert the image into a digital signal. The digital signal is then encoded by the encoder 205 under the control of the control block 207. The operation of the control block will be described in detail herein after.
The packetiser 206 receives the encoded video data from the encoder 205. and places the encoded video data into data packets. The data packets are then transmitted to the second terminal 112 via the network 104.
Data packets received at the second terminal 112 via the communication network are input into the jitter buffer 208. The jitter buffer 208 buffers data packets received from the network 104 and outputs the buffered data packets to the decoder 209. The decoder 209 is arranged to decode the encoded video data and to provide the decoded data to the renderer 210. The renderer is arranged to write information to the frame buffer 211. Video data written into the frame buffer is displayed on the display screen 203.
The inventors of the present invention have found that information relating to the how the image is displayed at the receiving terminal may advantageously be used at the transmitting terminal to control how the image is encoded.
For example, information relating to how the image is displayed may be used to optimise an encoding parameter used to encode the image such that an acceptable level of perceived quality for the image displayed is achieved.
For example the resolution at which the image is encoded may be controlled to be equivalent to the resolution at which the image is displayed at the receiving terminal.
According to exemplary embodiments of the invention, information relating to the manner in which the image data is displayed at the second user terminal 112 is reported by the display reporter unit 212 to the first user terminal 100. The control block 207 at the first user terminal may then control the encoder to adapt the image sent to the second terminal in dependence on the reported manner in which the image data is displayed.
Embodiments described hereinafter refer in general to adapting the resolution of the image sent to the second terminal in dependence on the display information. However it should be appreciated that in further embodiments of the invention the control block may be arranged to adapt, for example, the resolution, the bit rate, the frame rate or the compression complexity of the image data transmitted to the second terminal.
According to one embodiment of the invention, the display reporter unit 212 may be arranged to report the resolution of the display screen 203′ of the second terminal 112, to the first terminal 100. In response, the control block of the first terminal may determine the resolution at which the image should be encoded. The controller may determine that if the resolution is above a predetermined threshold the image should be encoded at a high resolution, whereas if the resolution is below a predetermined threshold the image should be encoded at a low resolution.
According to a further embodiment of the invention image data may be adapted according to the size of the area in which the image is displayed. This will be exemplified with reference to the flowchart shown in
In step S1 a communication event such as a video call is set up between the first user terminal and the second user terminal.
In step S2 the display reporter unit 212 in the second terminal is arranged to determine information relating to the manner in which data received from the first user terminal will be displayed, hereinafter referred to as ‘display information’. For example the display reporter unit 212 may determine information relating to the dimensions of the display screen 203. In this case the display reporter unit 212 in the second user terminal may be arranged to report the physical height h and the width w of the display screen, as shown in
In step S3 the display information is reported from the display reporter unit 212 of the second user terminal, to the first terminal. The display information transmitted from the second terminal may be sent together with video data that is transmitted to the first user terminal from the second user terminal.
In step S4 the display information provided from the second user terminal is provided to the control block 207 of the first user terminal. The control block is arranged to determine the resolution that is appropriate for the manner in which the image data is displayed.
The resolution may be determined using an algorithm that computes the required resolution as a function of the display information.
For example the required resolution of the transmitted image may be calculated according to Equation (1)
image resolution=K(h,w)×screen resolution (1)
Where the image resolution is the total number of pixels in the image; where the screen resolution is the total number of pixels in the screen and where K is a value between 0 and 1, such that the resolution of the transmitted image does not exceed the resolution of the display. The value of K may approach 1 for larger values of screen height (h) and width (w). K may be derived empirically based on perception quality evaluation testing.
Alternatively the required resolution may be determined by a look up table stored in a memory accessible to the control block. The look up table will define an acceptable transmitted image resolution for a given display resolution and area.
In step S5 the control block is arranged to control the encoder to encode the data at the required resolution. This may be achieved, for example by reducing the frame rate or increasing the bit rate available to the encoder. The maximum resolution that may be applied to the image may be limited to the resolution of the image provided from the video camera.
In an alternative embodiment of the invention the image data may be displayed in a portion of the display screen 203, in a graphical display window, wherein the dimensions of the graphical display window may be controlled by the user of the second user terminal.
As shown in
In step S11 a communication event such as a video call is set up between the first terminal and the second terminal.
In step S12 the display reporter unit is arranged to determine the size of the window. This may be determined for example from the renderer 210 or reported from a module used to generate the graphical window (not shown).
In step S13 the display reporter unit is arranged to report the display information to the first user terminal.
In step S14 the reporting module is arranged to monitor the renderer to determine whether the size of the display window has changed since the size of the display window was reported to the first terminal in step S13.
In step S15, if it is determined that the display window has changed size, the reporting module is arranged to transmit updated dimensions of the display window to the first user terminal 100 such that the encoder may be controlled to adapt the resolution at which the image data is encoded.
In step S21 the first user terminal receives display information relating to the dimensions of the window in which the image data is to be displayed.
In step S22 the control block is arranged to determine the required resolution of the image to be transmitted, such that an acceptable quality threshold is met when the image is displayed in a window with the reported window dimensions. The required resolution may be determined according to an algorithm or look up table.
In step S23 the control block is arranged to control the encoder to encode the data at the required resolution.
In step S24 the control block receives updated display window dimensions from the second user terminal 112.
In step S25 the control block is arranged to determine if the area of the display window has increased or decreased.
In step S26 if it is determined that the area of the display window has increased, the control block is arranged to control the encoder to increase the resolution at which the image data is encoded.
In step S27, if it is determined that the area of the display window has decreased, the control block is arranged to control the encoder to decrease the resolution at which the image data is encoded.
In one embodiment of the invention, User B of the second terminal may control the proportion of the image displayed in the display window such that User B may zoom in and out of the received image data.
According to an embodiment of the invention the display reporter unit is arranged to report the proportion of the image that is displayed in the display. According to this embodiment of the invention the control block is arranged to determine the magnification applied to the image from the reported display window dimensions and the proportion of the image displayed in the display window, The required resolution is then determined using an algorithm or a look up table. For example, if it is determined that the magnification applied at the renderer to the actual size of the image transmitted is more than 1 the data is encoded with a high resolution. Conversely, if it is determined that the magnification applied to the actual size of the image is less than one the encoder is controlled to encode the image with a lower resolution.
In a further embodiment of the invention, when only a portion of the image is displayed in the graphical display window the display reporter unit 212 is arranged to provide an indication of the location of the portion of the image displayed within the complete image. For example the display reporter unit 212 may be arranged to report coordinates defining the location of the displayed portion of the image. In this case the encoder may be controlled to encode only the identified area at the higher resolution. The remaining portions of the image may be encoded at a lower bit rate or cropped before the image is transmitted, such that the total bit rate required to encode the image is not necessarily increased.
In a further embodiment of the invention the display reporter unit 212 is arranged to report information indicating the colour depth of the screen. This describes the number of bits used to represent colour for one pixel. In response to receiving the colour depth information from the second terminal, the first terminal is arranged to control the encoded image data to be optimised for the reported colour depth. For example if the reported colour depth of the display is high the image may be encoded with a high colour depth, for example wherein more bits are used to represent colour than if the reported colour depth of the screen is low.
In a further embodiment of the invention the display reporter unit 212 is arranged to report information indicating the screens ability to represent light nuances. In response to receiving this information from the second terminal, the first terminal is arranged to control the encoded image data to be optimised for the screens ability to represent light. For example if the screen is able to represent light at a high quality, the image may be encoded to preserve light nuances, wherein for example more bits are used represent levels of light than if the screen is only able to represent light nuances at a lower quality.
Reference is now made to
In one embodiment of the invention the control unit may be arranged to control the adaptation block 908 in response to receiving information relating to the aspect ratio of the window in which the image is displayed at the second terminal. This will be described with reference to the flowchart shown in
In step S31 the display reporter unit determines the aspect ratio of the area in which the image is displayed. This may be the area of a graphical window selected by a user, or the fixed aspect ratio of the display screen.
In step S32 the display reporter unit is arranged to report the aspect ratio of the display area to the first terminal.
In step S33 the control block is arranged to compare the aspect ratio of the area in which the image will be displayed to the aspect ratio of the image received from the video camera to determine if the aspect ratios are equivalent.
In step S34 if it is determined that the aspect ratio of the image received from the camera is different from the aspect ratio of the display area, the control block is arranged to control the adaptation block 908 to add black areas to the image received from the camera such that the entire image has the same aspect ratio as the reported display area and the image provided from the camera retains its aspect ratio.
For example if the aspect ratio of the display screen is 2:4 as shown in
In step S35 if it is determined that the aspect ratio of the image received from the video camera is equivalent to the aspect ratio of the display area the image is not adapted by the encoder.
In this case the image may be displayed at the second terminal with the correct aspect ratio without the need for the receiving circuitry in the second terminal to apply further image processing steps. This is particularly advantageous where the receiving circuitry in the receiving terminal is not capable of adapting the aspect ratio of the received image locally.
In an alternative embodiment of the invention the adaptation block may be arranged to adapt the image such that the image is a monochrome image in response to receiving display information indicating that the image will be displayed in monochrome.
According to a further embodiment of the invention the image input system comprises a screen sharing module. The screen sharing module is arranged to capture as image data the image displayed on display screen 203 at the first user terminal. The image data captured from the screen may then be transmitted to the second user terminal in accordance with any of the methods described above.
Display information may be reported from the second terminal explicitly, for example as an absolute value or a range. However display information may also be reported implicitly, for example the second terminal may report a device identity or software version identity from which the first terminal can derive information relating to the display 203′ at the second terminal. In this case information relating to how the image data should be adapted for the display at the second terminal is pre-stored in a local memory of the first terminal.
In an alternative embodiment of the invention the adaptation block 908 may form part of the encoder.
In embodiments of the present invention the required processing may be implemented as hardware or by using appropriately adapted software executed on a processor. Software for implementing the invention may be stored on and provided by means of a carrier medium such as a carrier disc, card or tape, A possibility is to download the software via a network such as the Internet. This is an implementation preference.
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 in the claims.
Number | Date | Country | Kind |
---|---|---|---|
PCT/IB2008/001353 | Mar 2008 | WO | international |
0819389.8 | Oct 2008 | GB | national |
Number | Name | Date | Kind |
---|---|---|---|
5463422 | Simpson | Oct 1995 | A |
5687095 | Haskell et al. | Nov 1997 | A |
5768527 | Zhu et al. | Jun 1998 | A |
5838664 | Polomski | Nov 1998 | A |
6067534 | Terho et al. | May 2000 | A |
6141565 | Feuerstein et al. | Oct 2000 | A |
6175856 | Riddle | Jan 2001 | B1 |
6356283 | Guedalia | Mar 2002 | B1 |
6748220 | Chow et al. | Jun 2004 | B1 |
7047305 | Brooks et al. | May 2006 | B1 |
7587454 | Shabtai et al. | Sep 2009 | B2 |
7817625 | Jefremov | Oct 2010 | B2 |
7898950 | Barkley et al. | Mar 2011 | B2 |
7925721 | Ro et al. | Apr 2011 | B2 |
7948886 | Chakareski et al. | May 2011 | B2 |
8018850 | van Beek et al. | Sep 2011 | B2 |
8059634 | Evans | Nov 2011 | B1 |
8289370 | Civanlar et al. | Oct 2012 | B2 |
9509618 | Jefremov | Nov 2016 | B2 |
20020073238 | Doron | Jun 2002 | A1 |
20020136164 | Fukuda et al. | Sep 2002 | A1 |
20020141392 | Tezuka et al. | Oct 2002 | A1 |
20020165966 | Widegren et al. | Nov 2002 | A1 |
20030152032 | Yanagihara et al. | Aug 2003 | A1 |
20030236833 | Glitho et al. | Dec 2003 | A1 |
20030236892 | Coulombe | Dec 2003 | A1 |
20040032485 | Stephens, Jr. | Feb 2004 | A1 |
20040107245 | Bodnar | Jun 2004 | A1 |
20040113933 | Guler | Jun 2004 | A1 |
20040133701 | Karaoguz et al. | Jul 2004 | A1 |
20040203976 | Gupta et al. | Oct 2004 | A1 |
20040253991 | Azuma | Dec 2004 | A1 |
20040264803 | Castillo | Dec 2004 | A1 |
20040266442 | Flanagan et al. | Dec 2004 | A1 |
20050018768 | Mabey et al. | Jan 2005 | A1 |
20050073575 | Thacher et al. | Apr 2005 | A1 |
20050273491 | Meyer et al. | Dec 2005 | A1 |
20060064647 | Tapuska et al. | Mar 2006 | A1 |
20060079209 | Oda | Apr 2006 | A1 |
20060139371 | Lavine | Jun 2006 | A1 |
20060146711 | Anbarani | Jul 2006 | A1 |
20060227781 | Marce et al. | Oct 2006 | A1 |
20070002840 | Song et al. | Jan 2007 | A1 |
20070019587 | Okamoto et al. | Jan 2007 | A1 |
20070027983 | Bowra et al. | Feb 2007 | A1 |
20070174489 | Iwabuchi | Jul 2007 | A1 |
20070174881 | Idehara et al. | Jul 2007 | A1 |
20070206591 | Doviak et al. | Sep 2007 | A1 |
20070206635 | Pozhenko et al. | Sep 2007 | A1 |
20070271358 | Gaddy | Nov 2007 | A1 |
20080068446 | Barkley et al. | Mar 2008 | A1 |
20080165895 | Lesser et al. | Jul 2008 | A1 |
20080225750 | Jefremov | Sep 2008 | A1 |
20080225844 | Jefremov | Sep 2008 | A1 |
20080298444 | Cioffi et al. | Dec 2008 | A1 |
20090234919 | Jefremov et al. | Sep 2009 | A1 |
20090310487 | Eriksson | Dec 2009 | A1 |
20110122869 | Jefremov | May 2011 | A1 |
20120033586 | Jefremov | Feb 2012 | A1 |
Number | Date | Country |
---|---|---|
101658000 | Feb 2010 | CN |
1 463 323 | Sep 2004 | EP |
2272237 | Jan 2012 | EP |
2445168 | Apr 2012 | EP |
2405768 | Sep 2005 | GB |
11215481 | Aug 1999 | JP |
2010521856 | Jun 2010 | JP |
WO 9722201 | Jun 1997 | WO |
WO 2005002261 | Jan 2005 | WO |
WO 2005009019 | Jan 2005 | WO |
WO 2008027724 | Mar 2008 | WO |
WO-2008110871 | Sep 2008 | WO |
WO-2008110930 | Sep 2008 | WO |
WO-2009112547 | Sep 2009 | WO |
Entry |
---|
International Search Report, PCT/EP2009/052916, mailing date: Sep. 10, 2009. |
Written Opinion of the International Searching Authority, PCT/EP2009/052916, mailing date: Sep. 10, 2009. |
International Search Report and Written Opinion for International Application No. PCT/TB2007/004510, date of mailing Sep. 5, 2008. |
Sato, J., et al., “Compressed Video Transmission Protocol Considering Dynamic QoS Control,” 1998 Proceedings of the 1998 ICPP Workshops on Minneapolis, MN, USA, Aug. 14, 1998, pp. 95-104 (Jan. 1, 1998). |
International Search Report, PCT/IB2008/001353, mailing date Sep. 12, 2008. |
“Foreign Office Action”, CN Application No. 200880008101.6, (Jun. 4, 2012), 7 pages. |
“Foreign Office Action”, EP Application No. 08751054.1, (Mar. 1, 2012), 6 pages. |
“Foreign Office Action”, EP Application No. 08751054.1, (Jun. 9, 2010), 7 pages. |
“Foreign Office Action”, JP Application No. 2009-553236, (Feb. 21, 2012), 7 pages. |
“European Search Report”, Application No. EP11196071. (Mar. 23, 2012), 7 pages. |
“Final Office Action”, U.S. Appl. No. 12/004,457, (Mar. 1, 2012), 29 pages. |
“Non-Final Office Action”, U.S. Appl. No. 12/004,457, (Aug. 1, 2011), 21 pages. |
“Non-Final Office Action”, U.S. Appl. No. 12/075,801, (Dec. 1, 2009), 13 pages. |
“Notice of Allowance”, U.S. Appl. No. 12/075,801, (Jun. 22, 2010), 7 pages. |
“Written Opinion”, Application No. PCT/IB2008/001353, (Sep. 12, 2008), 8 pages. |
“Non-Final Office Action”, U.S. Appl. No. 13/022,478, (Apr. 8, 2013),14 pages. |
“Foreign Office Action”, CN Application No. 200880008101.6, Mar. 28, 2014, 14 pages. |
“Non-Final Office Action”, U.S. Appl. No. 13/022,478, May 28, 2014, 39 pages. |
“Reexamination Decision”, CN Application No. 200880008101.6, Dec. 4, 2014, 18 pages. |
“Final Office Action”, U.S. Appl. No. 13/022,478, Dec. 31, 2014, 38 pages. |
“Final Office Action”, U.S. Appl. No. 13/022,478, Nov. 7, 2013, 33 pages. |
“Non-Final Office Action”, U.S. Appl. No. 12/004,457, Aug. 27, 2014, 32 pages. |
“Final Office Action”, U.S. Appl. No. 12/004,457, Apr. 1, 2015, 32 pages. |
“Non-Final Office Action”, U.S. Appl. No. 12/004,457, May 12, 2016, 31 pages. |
“Non-Final Office Action”, U.S. Appl. No. 13/022,478, Apr. 20, 2016, 9 pages. |
“Final Office Action”, U.S. Appl. No. 12/004,457, Jan. 11, 2017, 33 pages. |
“Notice of Allowance”, U.S. Appl. No. 13/022,478, Aug. 16, 2016, 5 pages. |
Number | Date | Country | |
---|---|---|---|
20090234919 A1 | Sep 2009 | US |