Coding image signal

Information

  • Patent Application
  • 20060002478
  • Publication Number
    20060002478
  • Date Filed
    June 29, 2005
    19 years ago
  • Date Published
    January 05, 2006
    18 years ago
Abstract
The present invention relates to a method for encoding a signal of a wireless communication system, the method comprising dividing a current frame of the signal into a plurality of GOBs (Groups of Blocks) each having a certain size, determining whether a current GOB to be encoded of the plurality of GOBs is a first GOB of the current frame, calculating a control parameter value of the current GOB according to whether the current GOB is the first GOB of the current frame, controlling an encoding bit rate of the current GOB according to the control parameter value, and encoding the current GOB. Preferably, a hybrid method wherein an inter-frame GOB update method and an intra-frame GOB update method is used, so that a bit rate change between frames is reduced and data transmission of a channel is efficiently made to therefore provide a user with optimum image quality.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS

Pursuant to 35 U.S.C. § 119(a), this application claims the benefit of earlier filing date and right of priority to Korean Application No. 2004-50695, filed on Jun. 30, 2004, the contents of which is hereby incorporated by reference herein in its entirety.


FIELD OF THE INVENTION

The present invention relates to encoding digitized video user equipment, and particularly, to encoding an image signal in user equipment after encoding the image signal by GOB (Group of Block) units.


BACKGROUND OF THE INVENTION

In general, encoding a moving image (video) signal for transmission in a mobile communication system is based on a H.263 video coding standard. A most commonly used method for controlling an encoding bit rate of the H.263 video encoding is the method proposed in TMN 5 (Test Model Near-term 5).


Although performing well with respect to the encoding bit rate, the method proposed in TMN 5 is disadvantageous with respect to maintaining the best image quality, specifically, minimizing distortion. This is because the selection of the macroblock encoding mode, such as INTRA, INTER, SKIP and the like, is determined based on a generated bit amount (i.e., coder output buffer occupancy) and not on distortion aspects.


As a way of compensating for the deficiencies in the TMN 5 method, a most representative and optimized method for controlling a bit rate in the related art R-D (Rate-Distortion) sense has been proposed by Thomas Wiegand et al. in “Rate-Distortion Optimized Mode Selection For Very Low Bit Rate Video Coding And The Emerging H.263 Standard”, IEEE Transactions On Circuits And Systems For Video Technology, Vol. 6, No. 2, April, 1996. The aforementioned technique uses a coding control parameter (for selecting the encoding mode) determined in accordance with an R-D relationship, namely, the Lagrange multiplier (λ), not the quantization parameter.



FIG. 1 is a graph illustrating a general R-D relationship. As shown, if the target bit rate (Rt) is determined in the R-D relationship, which is obtained by characteristics of a frame, the Lagrange multiplier (λ) is determined. In contrast, if the Lagrange multiplier (λ) that corresponds to the negative slope of the function (curve) in the R-D graph is determined, then the corresponding bit rate and distortion are accordingly determined. This means that the bit rate may be controlled by using the Lagrange multiplier (λ).


Wiegand et al. proposes that the value of λ may be dynamically obtained for each frame or each GOB (indexed by K) of a video sequence by the following equation (1).
λk+1=λk+(RcRk-1).equation(1)


In equation 1, k represents the order of the kth frame or GOB, and λk+1 represents the value of λ for the k+1th frame or GOB. Also, Rk represents the encoding bit rate generated by encoding the kth frame. Rc represents the rate constraint, being the target bit rate required for the encoded frame or GOB.


In equation (1), the value of λ for the current frame is determined by the encoding bit rate (Rk) generated by encoding the previous frame and the target bit rate (Rt) required for the encoded previous frame.



FIG. 2 is a diagram illustrating the related art principle of an inter-frame λ value update. As shown, the value of λ is updated by an inter-frame update method in the related art. Namely, the encoded bit rate of a first frame is controlled on the basis of a value λ1, and the encoded bit rate of a second frame is controlled on the basis of a value λ2, which is obtained based on the value of λ1. Accordingly, the encoding bit rate of the kth frame is controlled on the basis of a value λk, which is obtained based on the value of λk+1.


As mentioned above, the related art inter-frame coding parameter update method in which the value of λ for the current frame is obtained based on the value of λ used for a previous frame is advantageous in encoding an image signal with a low bit rate. Here, the bit rate is low when the characteristics of the image signal of the previous frame are almost the same as those of the current frame and there is little motion.


However, in the related art inter-frame coding parameter update method, if the bit rate to be used by units of a frame increases due to higher motion, an error in the generated bit rate undesirably increases. Thus, the bit rate cannot be effectively controlled thereby causing an image received by a receiver to be greatly changed in quality.


Specifically, the method in which the value of λ is updated by units of a frame to control the target bit rate has the following problems. First, since the fluctuation in generated bit rates between frames can be great, the image quality can be very different frame by frame. Also, a decoder side requires a bigger-sized buffer. Furthermore, an image signal with high quality cannot be transmitted to a receiver.


SUMMARY OF THE INVENTION

The present invention is directed to encoding a signal of a wireless communication system.


Additional features and advantages of the invention will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.


To achieve these and other advantages and in accordance with the purpose of the present invention, as embodied and broadly described, the present invention is embodied in a method for encoding a signal of a wireless communication system, the method comprising dividing a current frame of the signal into a plurality of GOBs (Groups of Blocks) each having a certain size, determining whether a current GOB to be encoded of the plurality of GOBs is a first GOB of the current frame, calculating a control parameter value of the current GOB according to whether the current GOB is the first GOB of the current frame, controlling an encoding bit rate of the current GOB according to the control parameter value, and encoding the current GOB.


Preferably, the control parameter value of the current GOB is calculated based on a control parameter value of a first GOB of a previous frame of the signal if it is determined that the current GOB is the first GOB of the current frame. The control parameter value of the current GOB is calculated based on a control parameter value of a previous GOB of the current frame if it is determined that the current GOB is not the first GOB of the current frame.


In one aspect of the invention, the method further comprises updating a difference value between a total bit rate assigned to the current GOB and a target bit rate, updating the target bit rate, determining whether the current GOB is the last GOB of the current frame, and determining whether the current frame is the last frame of the signal if the current GOB is determined to be the last GOB of the current frame.


Preferably, the signal is a video signal. The control parameter is a Lagrange multiplier. The control parameter value corresponding to the first GOB of a first frame of the signal is arbitrarily assigned.


In another aspect of the invention, the encoding bit rate of the current GOB is controlled according to the equation
λ1n=λ1n-1+(B1n-1Btarget/g-1)

where λ1n is the control parameter for encoding the first GOB of the current frame (nth frame), B1n−1 is the encoding bit rate obtained by encoding the first GOB of a previous frame (n−1th frame), Btarget is the target bit rate of the current frame, and g is the number of GOBs of the current frame.


Preferably, the bit rate of the current GOB is controlled according to the control parameter value of a previous GOB within the current frame, the sum total of encoding bit rates encoded up to the previous GOB and a difference value between the total encoding bit rate encoded up to the previous GOB and a total target bit rate assigned up to the current GOB, for thereby reducing a bit rate variation between successive encoded frames.


The bit rate of the current GOB is controlled according to the equation
λmn=λm-1n+(k=1m-1Bknm-1gBnewtarget-1)

where λm−1n is the control parameter value for encoding the previous GOB,
k=1m-1Bkn

is the sum total of encoding bit rates for all GOBs encoded up to the previous GOB within the current frame, m is the total number of GOBs from a first GOB to the current GOB within the current frame, and g is the total number of GOBs within the current frame.


Preferably,
BnewtargetequalsBtarget-bit_diffb

where Bnewtarget is a newly-set target bit rate, b is the total number of GOBs up to the last GOB after the current GOB within the current frame, and
bit_diff=k=1m-1Bkn-m-1gBtarget

which is a difference value between the sum total of the encoding bit rate encoded up to the previous GOB within the current frame and a value obtained by multiplying the number of previous GOBs of the current frame by a value that is obtained by dividing a target bit rate of the current frame by the total number of GOBs of the current frame.


In another embodiment of the present invention, a method for encoding a signal of a wireless communication system comprises dividing a current frame of the signal into a plurality of GOBs (Groups of Blocks) each having a certain size, determining whether a current GOB to be encoded of the plurality of GOBs is a first GOB of the current frame, calculating a control parameter value of the current GOB based on a control parameter value of a first GOB of a previous frame of the signal if it is determined that the current GOB is the first GOB of the current frame, calculating the control parameter value of the current GOB based on a control parameter value of a previous GOB of the current frame if it is determined that the current GOB is not the first GOB of the current frame, controlling an encoding bit rate of the current GOB according to the control parameter value, and encoding the current GOB.


In one aspect of the invention, the method further comprises updating a difference value between a total bit rate assigned to the current GOB and a target bit rate, updating the target bit rate, determining whether the current GOB is the last GOB of the current frame, and determining whether the current frame is the last frame of the signal if the current GOB is determined to be the last GOB of the current frame.


Preferably, the signal is a video signal. The control parameter is a Lagrange multiplier. The control parameter value corresponding to the first GOB of a first frame of the signal is arbitrarily assigned.


In another aspect of the invention, the encoding bit rate of the current GOB is controlled according to the equation
λ1n=λ1n-1+(B1n-1Btarget/g-1)

where λ1n is the control parameter for encoding the first GOB of the current frame (nth frame), B1n−1 is the encoding bit rate obtained by encoding the first GOB of a previous frame (n−1th frame), Btarget is the target bit rate of the current frame, and g is the number of GOBs of the current frame.


Preferably, the bit rate of the current GOB is controlled according to the control parameter value of a previous GOB within the current frame, the sum total of encoding bit rates encoded up to the previous GOB and a difference value between the total encoding bit rate encoded up to the previous GOB and a total target bit rate assigned up to the current GOB, for thereby reducing a bit rate variation between successive encoded frames.


The bit rate of the current GOB is controlled according to the equation
λmn=λm-1n+(k=1m-1Bknm-1gBnewtarget-1)

where λm−1n is the control parameter value for encoding the previous GOB,
k=1m-1Bkn

is the sum total of encoding bit rates for all GOBs encoded up to the previous GOB within the current frame, m is the total number of GOBs from a first GOB to the current GOB within the current frame, and g is the total number of GOBs within the current frame.


Preferably,
BnewtargetequalsBtarget-bit_diffb

where Bnewtarget is a newly-set target bit rate, b is the total number of GOBs up to the last GOB after the current GOB within the current frame, and
bit_diff=k=1m-1Bkn-m-1gBtarget

which is a difference value between the sum total of the encoding bit rate encoded up to the previous GOB within the current frame and a value obtained by multiplying the number of previous GOBs of the current frame by a value that is obtained by dividing a target bit rate of the current frame by the total number of GOBs of the current frame.


It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.




BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention. Features, elements, and aspects of the invention that are referenced by the same numerals in different figures represent the same, equivalent, or similar features, elements, or aspects in accordance with one or more embodiments.



FIG. 1 is a graph illustrating a general Rate-Distortion (R-D) relationship.



FIG. 2 is a diagram illustrating a method for updating the value of λ for encoding an image signal in accordance with the related art.



FIG. 3 is a diagram illustrating a method for updating the value of λ for encoding an image signal in accordance with one embodiment of the present invention.



FIG. 4 is a flow chart illustrating a method for updating the value of λ for encoding an image signal in accordance with one embodiment of the present invention.




DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention relates to a method for controlling an encoding bit rate of an image signal by using an inter-frame GOB update method and an intra-frame GOB update method when transmitting an image using user equipment (UE). UEs may also be referred to as mobiles, subscriber units, remote stations, and mobile terminals, for example.



FIG. 3 is a diagram illustrating a method for updating a value of λ of an image signal in accordance with one embodiment of the present invention. As shown, a 176-by-144 pixel-sized quarter common interchange format (QCIF) video image signal frame is divided into 176-by-16 pixel-sized GOBs (Groups of (Macro) Blocks).


A method for transmitting an image signal in the UE in accordance with one embodiment of the present invention adopts a hybrid method in which an inter-frame GOB update method and an intra-frame GOB update method are combined. Preferably, in the inter-frame GOB update method, the value of λ for a first GOB of a current frame is determined based on a control parameter value (λ) for a first GOB of a previous frame. In the intra-frame GOB update method, the value of λ for a current GOB is determined based on a value of λ for a previous GOB within the same (current) frame to be transmitted.


As for λmn, which is a control parameter value, superscript “n” represents an order of a frame to be transmitted, and subscript “m” represents an order of a GOB within a current frame.


The inter-frame GOB update method and the intra-frame GOB update method in accordance with one embodiment of the present invention will now be described in detail. The inter-frame GOB update method is a method of determining a value of λ of a first GOB of a current frame by horizontally transferring a value of λ corresponding to a first GOB of a previous frame to the first GOB of the current frame having almost the same characteristics as those of the previous frame.


The value of λ corresponding to the first GOB of one frame is calculated according to the following equation.
λ1n=λ1n-1+(B1n-1Btarget/g-1).equation(2)

In equation 2, B1n−1 represents an encoding bit amount obtained by encoding the first GOB of the previous frame (n-1th frame). Btarget represents a target bit amount in the current frame and “g” represents the number of GOBs of the current frame.


Specifically, the value of λ (λ1n) corresponding to the first GOB of the current frame (nth frame) is updated based on the value of λ (λ1n−1) corresponding to the first GOB of the previous frame (n−1th frame), the encoding bit amount (B1n−1) obtained by encoding the first GOB of the n−1th frame and the target bit amount (Btarget) of the current frame.


Also, in FIG. 3, a certain value is assigned arbitrarily as a control parameter value (λ11) of the first frame. This is done so that even if the assigned value of λ is not correct, an update can be made based on a correct value. Here, the correct value is a control parameter corrected while encoding is performed on the subsequent several GOBs.


The intra-frame GOB update method is a method of determining the value of λ for a current GOB based on the value of λ for a previous GOB within one corresponding frame.


Updating the value of λ between GOBs within one frame is made in accordance with the following equation.
bit_diff=k=1m-1Bkn-m-1gBtarget.equation(3)


In equation 3, “bit_diff” is the difference value between the sum total
(k=1m-1Bkn)

of encoding bit rates encoded up to the previous GOB within the current frame, and a value obtained by multiplying the number of previous GOBs (m−1) of the current frame by a value obtained by dividing the target bit rate (Btarget) of the current frame by the total number of GOBs (g) within the current frame.


Specifically, if
k=1m-1Bkn

is greater than
m-1gBtarget,

then the total encoding bit rate used up to the previous GOB is greater than the target bit rate (Btarget) In contrast, if
k=1m-1Bkn

is smaller than
m-1gBtarget,

then the bit rate used up to the current GOB is smaller than the target bit rate (Btarget)


A newly-set target bit rate Bnewtarget is obtained in accordance with the following equation (4) using the value of “bit_diff” obtained in equation (3).
Bnewtarget=Btarget-bit_diffm-1nb.equation(4)


In equation 4, where remaining to be encoded in the current frame, i.e., b represents the number of GOBs from the GOB that is subsequent up to the current GOB to the last GOB within the current frame. Preferably, the value of b is a constant for determining how many following GOBs will be used to compensate for a bit rate difference.


For example, if the value of b is 1, compensation for the entire bit rate difference generated up to the current GOB is set to be performed in the very next GOB. If the value of b is 5, compensation for the bit rate difference generated up to the current GOB is set to be performed by updating the value of λ the next five times.


As a result, values of λ from the second GOB of each frame are calculated per the following equation (5) on the basis of equations (3) and (4).
λmn=λm-1n+(k=1m-1Bknm-1gBtarget-1).equation(5)


In other words, the value of λ applied for the first GOB of each frame is obtained by equation (2), and values of λ to be applied for the respective GOBs from the second GOB to the last GOB of each frame are obtained by equation (5).



FIG. 4 is a flow chart illustrating a method for updating the value of λ when coding an image signal in accordance with one embodiment of the present invention. The method for updating the value of λ for encoding an image signal will now be described in detail with reference to FIGS. 3 and 4.


Preferably, a certain predetermined value is assigned arbitrarily as the control parameter value (λ) corresponding to the first GOB of the first frame of an image signal to be encoded, such as when the image signal is be transmitted in a mobile communication system, for example.


When a user wirelessly transmits an image signal by using the UE, the UE divides a frame of an image to be transmitted into 176-by-16 pixel-sized GOBs (S110, S112).


Then, it is determined whether a GOB of the divided GOBs to be transmitted is the first GOB of the current frame (S114). If the determination result shows that the GOB is the first GOB, the value of λ of the first GOB of the current frame is calculated using the control parameter value (λ) of the first GOB of the previous frame and the equation (2) (S116). If the determination result shows that the GOB is not the first GOB, the value of λ of the corresponding GOB is calculated using the value of λ of the previous GOB within the same frame and equation (5) (S118).


Accordingly, the calculated value of λ is used as the value of λ for the corresponding GOB, wherein the bit rate of the corresponding GOB is controlled on the basis of the calculated value of λ. The controlled GOB is then transmitted (S120).


By using equations (3) and (4), the difference value between the sum total
(k=1m-1Bkn)

of the encoding bit rates encoded up to the previous GOB and the value
m-1gBtarget,

obtained by multiplying the number of previous GOBs of the current frame by the value obtained by dividing the target bit rate (Btarget) by the total number of GOBs within the current frame, is updated (S122).


After the difference value between
k=1m-1Bkn

and
m-1gBtarget

is updated in the aforementioned step (S122), the target bit rate of the GOB of the current frame is set as the new target bit rate (Bnewtarget) (S124). It is then determined whether the corresponding GOB is the last one (S126). If the determination result (S126) shows that the GOB is not the last one, the process returns to an operation step (S114), and the aforementioned steps (S114 to S124) are repeatedly performed. If it is determined that the GOB is the last one in the determination step (S126), it is then determined whether the current frame is the last one of the image signal being transmitted (S128).


If it is determined that the current frame is not the last frame in the determination step (S128), the process returns to the step (S112), and the aforementioned steps (S112 to S126) are repeatedly performed. If it is determined that the current frame is the last one, the transmission is completed since there are no more frames to transmit.


As described so far, in the method for encoding an image signal in the UE in accordance with the present invention, each frame of the image signal is divided into a plurality of GOBs, and the value of λ of the current GOB is obtained by using the first GOB of the previous frame or using the value of λ of the previous GOB of the current frame. To this end, the method uses a hybrid method in which an intra-frame GOB update method and an inter-frame GOB update method are combined. Since the hybrid method is used, the bit rate change between frames is remarkably reduced, data transmission of an occupying channel can be efficiently used, and optimum image quality is secured.


As the present invention may be embodied in several forms without departing from the spirit or essential characteristics thereof, it should also be understood that the above-described embodiments are not limited by any of the details of the foregoing description, unless otherwise specified, but rather should be construed broadly within its spirit and scope as defined in the appended claims, and therefore all changes and modifications that fall within the metes and bounds of the claims, or equivalence of such metes and bounds are therefore intended to be embraced by the appended claims.

Claims
  • 1. A method for encoding a signal of a wireless communication system, the method comprising: dividing a current frame of the signal into a plurality of GOBs (Groups of Blocks) each having a certain size; determining whether a current GOB to be encoded of the plurality of GOBs is a first GOB of the current frame; calculating a control parameter value of the current GOB according to whether the current GOB is the first GOB of the current frame; controlling an encoding bit rate of the current GOB according to the control parameter value; and encoding the current GOB.
  • 2. The method of claim 1, wherein the control parameter value of the current GOB is calculated based on a control parameter value of a first GOB of a previous frame of the signal if it is determined that the current GOB is the first GOB of the current frame.
  • 3. The method of claim 1, wherein the control parameter value of the current GOB is calculated based on a control parameter value of a previous GOB of the current frame if it is determined that the current GOB is not the first GOB of the current frame.
  • 4. The method of claim 1, further comprising: updating a difference value between a total bit rate assigned to the current GOB and a target bit rate; and updating the target bit rate.
  • 5. The method of claim 4, further comprising: determining whether the current GOB is the last GOB of the current frame; and determining whether the current frame is the last frame of the signal if the current GOB is determined to be the last GOB of the current frame.
  • 6. The method of claim 1, wherein the signal is a video signal.
  • 7. The method of claim 1, wherein the control parameter is a Lagrange multiplier.
  • 8. The method of claim 1, wherein the control parameter value corresponding to the first GOB of a first frame of the signal is arbitrarily assigned.
  • 9. The method of claim 1, wherein the encoding bit rate of the current GOB is controlled according to the equation
  • 10. The method of claim 1, wherein the bit rate of the current GOB is controlled according to the control parameter value of a previous GOB within the current frame, the sum total of encoding bit rates encoded up to the previous GOB and a difference value between the total encoding bit rate encoded up to the previous GOB and a total target bit rate assigned up to the current GOB, for thereby reducing a bit rate variation between successive encoded frames.
  • 11. The method of claim 10, wherein the bit rate of the current GOB is controlled according to the equation
  • 12. The method of claim 11, wherein
  • 13. A method for encoding a signal of a wireless communication system, the method comprising: dividing a current frame of the signal into a plurality of GOBs (Groups of Blocks) each having a certain size; determining whether a current GOB to be encoded of the plurality of GOBs is a first GOB of the current frame; calculating a control parameter value of the current GOB based on a control parameter value of a first GOB of a previous frame of the signal if it is determined that the current GOB is the first GOB of the current frame; calculating the control parameter value of the current GOB based on a control parameter value of a previous GOB of the current frame if it is determined that the current GOB is not the first GOB of the current frame; controlling an encoding bit rate of the current GOB according to the control parameter value; and encoding the current GOB.
  • 14. The method of claim 13, further comprising: updating a difference value between a total bit rate assigned to the current GOB and a target bit rate; and updating the target bit rate.
  • 15. The method of claim 14, further comprising: determining whether the current GOB is the last GOB of the current frame; and determining whether the current frame is the last frame of the signal if the current GOB is determined to be the last GOB of the current frame.
  • 16. The method of claim 13, wherein the signal is a video signal.
  • 17. The method of claim 13, wherein the control parameter is a Lagrange multiplier.
  • 18. The method of claim 13, wherein the control parameter value corresponding to the first GOB of a first frame of the signal is arbitrarily assigned.
  • 19. The method of claim 13, wherein the encoding bit rate of the current GOB is controlled according to the equation
  • 20. The method of claim 13, wherein the bit rate of the current GOB is controlled according to the control parameter value of a previous GOB within the current frame, the sum total of encoding bit rates encoded up to the previous GOB and a difference value between the total encoding bit rate encoded up to the previous GOB and a total target bit rate assigned up to the current GOB, for thereby reducing a bit rate variation between successive encoded frames.
  • 21. The method of claim 20, wherein the bit rate of the current GOB is controlled according to the equation
  • 22. The method of claim 21, wherein
Priority Claims (1)
Number Date Country Kind
10-2004-50695 Jun 2004 KR national