Encoder and decoder to encode signal into a scable codec and to decode scalable codec, and encoding and decoding methods of encoding signal into scable codec and decoding the scalable codec

Abstract
An encoder and decoder to encode one or more input signals into a scalable codec and to decode the scalable codec, and encoding and decoding methods using a bitstream with a layered structure in the scalable codec change a top coding bit rate to encode the input signals according to a network status, and the bitstream is decoded by analyzing the top coding bit rate included in the bitstream.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

These and/or other aspects and advantages of the present general inventive concept will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:



FIGS. 1A and 1B are schematic diagrams illustrating a layered structure of a data section of a conventional bitstream in the G.729EV standard;



FIGS. 1C to 1E are diagrams illustrating a case where a bottleneck occurs on a network due to an increased traffic on the network;



FIG. 2 is a schematic diagram illustrating a scalable codec system including an encoder and decoder to encode an input signal into a scalable codec and to decode the scalable codec, and encoding and decoding methods thereof using the scalable codec according to an embodiment of the present general inventive concept;



FIG. 3 is a flowchart illustrating an encoding method of encoding an input signal into a scalable codec according to an embodiment of the present general inventive concept;



FIG. 4 is a block diagram illustrating an encoder to encode an input signal into a scalable codec according to an embodiment of the present general inventive concept;



FIG. 5 is a flowchart illustrating a decoding method of decoding a scalable codec according to an embodiment of the present general inventive concept;



FIG. 6 is a block diagram illustrating a decoder to decode a scalable codec according to an embodiment of the present general inventive concept;



FIGS. 7A to 7C are graphs illustrating a case where encoding is performed at a top coding bit rate according to the encoding method of FIG. 3 or the encoder of FIG. 4; and



FIG. 8 is a schematic diagram illustrating an exemplary structure of a bitstream generated by the encoding method of FIG. 3 or the encoder of FIG. 4 according to an embodiment of the present general inventive concept.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Reference will now be made in detail to the embodiments of the present general inventive concept, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below in order to explain the present general inventive concept by referring to the figures.


Hereinafter, an encoder and decoder of a scalable codec and encoding and decoding methods for use in the scalable codec according to embodiments of the present invention will be described in detail with reference to the attached drawings.



FIG. 2 is a schematic diagram illustrating a scalable codec system including an encoder and decoder to encode one or more an input signal into a scalable codec and to decode the scalable codec, and encoding and decoding methods thereof using the scalable codec according to an embodiment of the present general inventive concept.


A first terminal 200 encodes input signals, receives an RTP (real-time protocol) control protocol (RTCP or real time control protocol) to monitor the quality of an RTP session, and estimates a network status according to the RTCP. The first terminal 200 determines a top coding bit rate to encode the input signals depending on estimation of a status of a network, generates a bitstream by encoding the input signals into a layered structure as a scalable codec, and outputs the bitstream. The top coding bit rate corresponds to a bit rate of a highest layer among a number of layers, and lower layers than the highest layer in the number of the layers have lower coding bit rates than the top bit rate. In this case, the first terminal 200 may also truncate one or more first lower layers from a data section of the bitstream according to a degree of traffic congestion in a first network 205 and transmit a first bitstream having only first remaining higher layers in the data section through the first network 205. Accordingly, the data section of the first bitstream does may not include the one or more first lower layers but includes the first remaining higher layers.


The top coding bit rate corresponds to a bit rate of a highest layer among a number of layers, and lower layers than the highest layer in the number of the layers have lower coding bit rates than the top bit rate. Accordingly, the bit rate of the highest layer in the data section of the bitstream may vary according to the top coding bit rate.


The first bitstream transmitted from the first terminal 200 may pass through the first bitstream truncation module 210, which may also truncate one or more second lower layers from the first remaining higher layers of the data section of the first bitstream depending on a degree of traffic congestion in a second network 215 and transmit a second bitstream having only second remaining higher layers in the data section through the second network 215. The data section of the second bitstream does not include the one or more first lower layers and the one or more second lower layers, but includes the second remaining higher layers. Here, the data section includes a core layer as a minimum set of data required to produce a minimum quality. The data section includes the first, second, and third lower layers and the third high layers as enhancement layers to enhance quality of the core layer.


The second bitstream transmitted from the first bitstream truncation module 210 may pass through a second bitstream truncation module 220, which may also truncate one or more third lower layers from the second remaining higher layers of the data section of the second bitstream depending on a degree of traffic congestion in a third network 225 and transmit a third bitstream having only third remaining higher layers in the data section through the third network 225. The data section of the third bitstream does not include the one or more first lower layers, the one or more second lower layers, and the one or more third lower layers, but includes the third remaining higher layers. Here, the one or more second lower layers are higher than the one or more first lower layers, and the one or more third lower layers are higher than the one or more second lower layers.


A second terminal 230 may decode a bitstream transmitted from an encoder, for example, at least one of the first terminal 230 and the first and second bitstream truncation modules 210 and 220 into original signals. The second terminal 230 receives the bitstream encoded into a scalable codec having a layered structure from the second bitstream truncation module 220, and decodes the bitstream according to the top coding bit rate used in the first terminal 200. Although amplitudes of the bitstream output from the first and second terminals 200 and 230 may be equal to each other, since one or more lower layers are truncated from the bitstream by the first and second bitstream truncation modules 210 and 220, an amplitude of the bitstream output from the second terminal 230 may be smaller than that from the first terminal 200.



FIG. 3 is a flowchart illustrating an encoding method of encoding one or more input signal into a scalable codec according to an embodiment of the present general inventive concept.


First, one or more target signals to be encoded are received (operation 300). Examples of the target signals include a speech signal, a music signal, an audio signal, an image signal, a video signal, a physiological signal, and the like.


Next, a status of each network is estimated (operation 310). Examples of the network status include a transfer rate in each network, a transfer rate at a bottleneck, a degree of traffic congestion with respect to data transmission, and the like. In operation 310, the network status can be estimated using the RTCP to monitor the quality of an RTP session.


A top coding bit rate for encoding is determined depending on the network status estimated in operation 310 (operation 320).


Information representing the top coding bit rate determined in operation 320 is generated (operation 330). The information generated in operation 330 is a syntax representing the top coding bit rate to be included in a header of a bitstream which will be generated in operation 360.


Encoders, such as terminals or media gateways, control functions supported by a codec (operation 340). Examples of the functions supported by the codec include an ON/OFF decision of various standardized pre-processings, an ON/OFF decision of various tools, a usage control of information regarding input signal characteristics, such as a sampling rate or number of channels, tools capable of adjusting the functions of the codec independent of standardization, and the like.


Control signals related to the functions of the codec are received from one or more networks, and an encoding process or at least one of the functions is controlled according to the control signals (operation 350). The control signals received in operation 350 include signals to control the functions of the codec related to channel control and delay information. The signals may not include the top coding bit rate.


The target signals received in operation 300 are encoded and a bitstream is generated (operation 360).


In operation 360, the target signals are encoded into a layered structure using, for example, the G.729EV standard or the BSAC scheme illustrated in FIGS. 1A and 1B to generate a data section of the bitstream. For example, as illustrated in FIG. 8, the data section of the bitstream is encoded into n-layers and only the remaining higher layers are transmitted by truncating one or more lower layers from the n-layers using a bitstream truncation module in terminals or networks as occasion demands.


When the target signals are encoded into the layered structure in operation 360, the target signals are encoded at the top coding bit rate determined in operation 320. FIGS. 7A to 7C are graphs illustrating a case where encoding is performed according to a top coding bit rate determined in operation 320. In the graphs of FIGS. 7A to 7C, dotted lines represent traces for a multi-rate codec, and solid lines represent traces for a scalable codec generated in operation 360. For example, when the top coding bit rate determined in operation 320 is same as the initially set top coding bit rate, the target signal is encoded into the traces of the solid line illustrated in FIG. 7A. When the top coding bit rate is determined as ‘A’ in operation 320, the target signal is encoded into the traces of the solid line illustrated in FIG. 7B. When the top coding bit rate is determined as ‘B’ in operation 320, the target signal is encoded into the traces of the solid line illustrated in FIG. 7C.


The bitstream generated in operation 360 has a structure illustrated in FIG. 8. The bitstream is constituted by a header section and a data section. The header section includes ‘Sync bit’ for synchronization of the bitstream, ‘Current rate’ representing a current data transfer rate, ‘Top rate’ corresponding to the top coding bit rate generated in operation 330, and ‘Bit for Function control from Network’ representing instructions requested from the network. The data section constituted by n-layers 1 . . . N includes encoded bits. Here, the layer 1 may be a lowest layer and the layer N may be a highest layer. The data section may also include a core layer (not shown). The layers 1 . . . N are used to enhance quality of a signal of the core layer. The core layer may be included in a separate position of the bitstream other than the data section.



FIG. 4 is a block diagram illustrating an encoder to encode an input signal into a scalable codec according to an embodiment of the present general inventive concept. The encoder includes a status estimating unit 400, a transfer rate determining unit 410, a multiplexer 420, and a coding function controller 430.


The status estimating unit 400 estimates a network status. Examples of the network status include a transfer rate in each network, a transfer rate at a bottleneck, a degree of traffic congestion with respect to data transmission, and the like. The status estimating unit 400 receives an RTCP enabling to monitor the quality of an RTP session through an input terminal IN1 and estimates the network status on the basis of the RTCP.


The transfer rate determining unit 410 determines a top coding bit rate for encoding depending on the network status estimated by the status estimating unit 400.


The coding function controller 430 controls functions supported by the scalable codec or functions to generate and process the scalable codec. Examples of the functions supported by the scalable codec include an ON/OFF decision of various standardized pre-processings, an ON/OFF decision of various tools, a usage control of information regarding input signal characteristics, such as a sampling rate or number of channels, tools capable of adjusting function of the codec regardless of standardization, and the like in order to encode an input signal into the scalable codec or decode the scalable codec.


In addition, the coding function controller 430 receives control signals related to the functions of the scalable codec from the networks through an input terminal IN3 and controls an encoding process according to the control signals. The control signals received in the coding function controller 430 are the signals controlling the function of the scalable codec related to channel control and delay information. The control signal may not include the top coding bit rate.


The multiplexer 420 encodes target signals received through an input terminal IN2, generates a bitstream, and outputs the bitstream through an output terminal OUT. Examples of the target signals include a speech signal, a music signal, an audio signal, an image signal, a video signal, a physiological signal, and the like.


In the multiplexer 420, the target signals are encoded into a layered structure according to, for example, the G.729EV standard or the BSAC scheme as illustrated in FIGS. 1A and 1B to generate a data section of the bitstream. For example, as illustrated in FIG. 8, the data section of the bitstream is encoded into n-layers and only the remaining higher layers are transmitted by truncating one or more lower layers from the n-layers using a bitstream truncation module in terminals or networks as occasion demands.


When the target signals are encoded into the layered structure by the multiplexer 420, the multiplexer 420 encodes the target signals at the top coding bit rate determined by the transfer rate determining unit 410. As described above, graphs of FIGS. 7A to 7C illustrate cases where encoding is performed at different top coding bit rates determined in operation 320. Accordingly, a coding bit rate of the highest layer of the layered structure may not be constant but may vary according to the determined top coding bit rate.


The multiplexer 420 generates a syntax representing the top coding bit rate determined by the transfer rate determining unit 410 and inserts the syntax into the header section of the bitstream. ‘Top rate’ illustrated in FIG. 8 is an example of the syntax representing the top coding bit rate.


The bitstream generated by the multiplexer 420 has the structure illustrated in FIG. 8. The bitstream is constituted by a header section and a data section. The header section includes ‘Sync bit’ for synchronization of the bitstream, ‘Current rate’ representing current data transfer rate, ‘Top rate’ corresponding to the top coding bit rate generated in operation 330, and ‘Bit for Function control from Network’ representing instructions requested from the network. The data section is encoded bits and is constituted by n-layers.


According to the present general inventive concept, if the respective layers of an original (or initially set) layered structure encoded when the top coding bit rate is the same as an initially set top coding bit rate (original top coding bit rate) as illustrated in FIG. 7A, have their own fixed rates, and the number of the layers of the layered structure encoded according to a determined top coding bit rate is variable compared to the fixed number of the layers of the original (or initially set) layered structure, the number of layers of the layered structure encoded according to a first top coding bit rate is smaller than the number of layers of the layered structure encoded according to a second top coding bit rate which is greater than the first top coding bit rate. That is, the number of the layers according to the top coding bit rate A of FIG. 7B is less than that of the layers according to the initially set top coding bit rate of FIG. 7A. In addition, the number of the layers according to the top coding bit rate B of FIG. 7C is less than the number of layers according to the top coding bit rate A of FIG. 7B.


If the number of the layers of the layered structure encoded according to the top coding bit rate is not variable but is constant, the coding bit rates of the respective layers may vary. In this case, that is, the coding bit rates of the respective layers may be determined according to the determined top coding bit rate.



FIG. 5 is a flowchart illustrating a decoding method of decoding a scalable codec according to an embodiment of the present general inventive concept.


Referring to FIGS. 4 and 5, a bitstream output from the encoder is received (operation 500). The bitstream is constituted by signals obtained by encoding a speech signal, a music signal, an audio signal, an image signal, a video signal, a physiological signal, and the like.


A data section of the bitstream received in operation 500 is constituted by signals encoded into a layered structure according to, for example, the G.729EV standard or the BSAC scheme as illustrated in FIGS. 1A and 1B. For example, as illustrated in FIG. 8, the data section of the bitstream is encoded into n-layers and only the remaining higher layers are transmitted by truncating one or more lower layers from the n-layers using a bitstream truncation module in terminals or networks as occasion demands. Although an amplitude of the bitstream output from the encoder may be equal to that of the bitstream received in operation 500, since the one or more lower layers are truncated from the bitstream by the bitstream truncation module, the amplitude of the bitstream output from the encoder may be smaller than that of the bitstream received in operation 500. When one or more portions of the layers are truncated from the data section of the bitstream, the syntax representing the current bit rate is modified to ‘Current rate’ as illustrated in FIG. 8.


The top coding bit rate included in the bitstream received in operation 500 are analyzed (operation 510). In operation 510, information regarding the top coding bit rate is analyzed by reading a syntax representing the top coding bit rate, such as ‘Top rate’ illustrated in FIG. 8, provided in the header section of the bitstream received in operation 500.


Control signals related to the functions of the scalable codec are received from the networks and the control signals are used to control an encoding process of the scalable codec (operation 520). Examples of the functions supported by the codec include an ON/OFF decision of various standardized pre-processings, an ON/OFF decision of various tools, a usage control of information regarding input signal characteristics, such as a sampling rate or number of channels, tools capable of adjusting function of the codec regardless of standardization, and the like.


The data section illustrated in FIG. 8 is decoded using the top coding bit rate analyzed in operation 510 (operation 530).



FIG. 6 is a block diagram illustrating a decoder to decode a scalable codec according to an embodiment of the present general inventive concept. The decoder includes a demultiplexer 600, a transfer rate analyzing unit 610, a coding function controller 620, and a decoding unit 630.


Referring to FIGS. 5 and 6, the demultiplexer 600 receives a bitstream from an encoder through an input terminal IN and analyzes the bitstream. The bitstream received in the demultiplexer 600 is constituted by signals obtained by encoding a speech signal, a music signal, an audio signal, an image signal, a video signal, a physiological signal, and the like.


The data section of the bitstream received in the demultiplexer 600 is constituted by signals encoded into a layered structure according to the G.729EV standard or the BSAC scheme as illustrated in FIGS. 1A and 1B. For example, as illustrated in FIG. 8, the data section of the bitstream is encoded into n-layers and only the remaining higher layers are transmitted by truncating some lower layers from the n-layers using a bitstream truncation module in terminals or networks as occasion demands. Although an amplitude of the bitstream output from the encoder may be equal to that of the bitstream received in the demultiplexer 600, since one or more lower layers are truncated from the bitstream by the bitstream truncation module, the amplitude of the bitstream output from the encoder may be smaller than that of the bitstream received in the demultiplexer 600. When some portions of the layers are truncated from the data section of the bitstream, the syntax representing the current bit rate is modified to ‘Current rate’ as illustrated in FIG. 8.


The transfer rate analyzing unit 610 analyzes the top coding bit rate included in the bitstream received in the demultiplexer 600. In this case, the transfer rate analyzing unit 610 analyzes information regarding the top coding bit rate by reading a syntax representing the top coding bit rate, such as ‘Top rate’ illustrated in FIG. 8, provided in the header section of the bitstream received in the demultiplexer 600.


The coding function controller 620 receives control signals related to the functions of the scalable codec from the networks and controls a decoding process to decode the scalable codec according to the control signals. Examples of the functions supported by the scalable codec include an ON/OFF decision of various standardized pre-processings, an ON/OFF decision of various tools, a usage control of information regarding input signal characteristics, such as a sampling rate or number of channels, tools capable of adjusting function of the codec regardless of standardization, and the like.


The decoding unit 630 decodes the data section of FIG. 8 using the top coding bit rate analyzed in the transfer rate analyzing unit 610 and outputs the decoded data section through an output terminal OUT.


The process described above can also be embodied as computer readable codes on a computer readable recording medium. The computer readable recording medium is any data storage device that can store data which can be thereafter read by a computer system. Examples of the computer readable recording medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, optical data storage devices.


As described above, according to the encoder and decoder of a scalable codec and the encoding and decoding methods using the scalable codec of the present general inventive concept, the top coding bit rate for encoding the input signals are changed according to the network status and the bitstream is decoded by analyzing the top coding bit rate included in the bitstream.


According to the present general inventive concept, it is possible to adaptively perform the encoding operation depending on the network status and hence perform the encoding and decoding operations efficiently. In addition, since the encoding operation is performed in consideration of the network characteristic, it is possible to optimize the operation of the scalable codec.


Although a few embodiments of the present general inventive concept have been shown and described, it will be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the general inventive concept, the scope of which is defined in the appended claims and their equivalents.

Claims
  • 1. A method of encoding input signals, the method comprising: determining a top coding bit rate to encode one or more input signals; andencoding the input signals into a layered structure according to the determined top coding bit rate as a scalable codec.
  • 2. The method according to claim 1, wherein the encoding of the input signals comprises: generating information representing the determined top coding bit rate; andencoding the input signals into the layered structure according to the determined top coding bit rate to generate a bitstream including the information.
  • 3. The method according to claim 2, wherein the encoding of the input signals comprises truncating one or more layers of the bitstream in a network.
  • 4. The method according to claim 1, further comprising: estimating a status of a network,wherein the determining of the top coding bit rate comprises determining the top coding bit rate according to the estimated network status.
  • 5. The method according to claim 1, wherein the determining of the top coding bit rate is performed in a network or a terminal.
  • 6. A method of encoding input signals, the method comprising: estimating a status of a network;determining a top coding bit rate to encode one or more input signals using the estimated network status; andencoding the input signals into a layered structure according to the determined top coding bit rate to generate a bitstream including a syntax representing the top coding bit rate as a scalable codec.
  • 7. The method according to claim 6, wherein the determining of the top coding bit rate comprises determining the top coding bit rate in the network or a terminal.
  • 8. The method according to claim 6, wherein the encoding of the input signals comprises truncating one or more layers of the bitstream in the network.
  • 9. A method of decoding a scalable codec of a bitstream encoded into a layered structure, the method comprising: analyzing a top coding bit rate included in a bitstream of a scalable codec; anddecoding the bitstream encoded into the layered structure according to the analyzed top coding bit rate.
  • 10. The method according to claim 9, wherein the top coding bit rate is determined according to a network status.
  • 11. The method according to claim 9, wherein the top coding bit rate is determined in a network or a terminal.
  • 12. The method according to claim 9, wherein the bitstream comprises one or more layers truncated in a network.
  • 13. A computer readable recording medium having recorded thereon a program for executing a method of encoding input signals to a scalable codec into a layered structure, the method comprising: determining a top coding bit rate to encode one or more input signals; andencoding the input signals into a layered structure according to the determined top coding bit rate as a scalable codec.
  • 14. A computer readable recording medium having recorded thereon a program for executing a method of encoding input signals to a scalable codec into a layered structure, the method comprising: estimating a status of a network;determining a top coding bit rate to encode one or more input signals using the estimated network status; andencoding the input signals into a layered structure according to the determined top coding bit rate and generating a bitstream including a syntax representing the top coding bit rate as a scalable codec.
  • 15. A computer readable recording medium having recorded thereon a program for executing a method of decoding in a scalable codec a bitstream encoded into a layered structure, the method comprising: analyzing a top coding bit rate included in a bitstream of a scalable codec; anddecoding the bitstream encoded into a layered structure according to the analyzed top coding bit rate.
  • 16. An encoder to encode input signals into a layered structure, the encoder comprising: a transfer rate determining unit to determined a top coding bit rate to encode one or more input signals; andan encoding unit to encode the input signals into a layered structure according to the determined top coding bit rate as a scalable codec.
  • 17. The encoder according to claim 16, wherein the encoding unit comprises: a generating unit to generate information representing the determined top coding bit rate; anda bitstream generating unit to encode the input signals into the layered structure according to the determined top coding bit rate to generate a bitstream including the information as the scalable codec.
  • 18. The encoder according to claim 16, further comprising: an estimating unit to estimate a status of a network,wherein the determining unit determines the top coding bit rate using the estimated network status.
  • 19. The encoder according to claim 16, wherein the determining unit determines the top coding bit rate in a network or a terminal.
  • 20. The encoder according to claim 17, wherein the bitstream comprises one or more layers truncated in the network.
  • 21. An encoder to encode one or more input signals, the encoder comprising: a status estimating unit to estimate a status of a network;a determining unit to determine a top coding bit rate to encode one or more input signals using the estimated network status; anda bitstream generating unit to encode the input signals into a layered structure according to the determined top coding bit rate to generate a bitstream including a syntax representing the top coding bit rate, as a scalable codec.
  • 22. The encoder according to claim 21, wherein the determining unit determines the top coding bit rate in the network or a terminal.
  • 23. The encoder according to claim 21, wherein the bitstream comprises one or more layers truncated in the network.
  • 24. A decoder to decode a bitstream encoded into a layered structure, the decoder comprising: an analyzing unit to analyze a top coding bit rate included in a bitstream encoded in a layered structure; anda decoding unit to decode the bitstream encoded into the layered structure according to the analyzed top coding bit rate.
  • 25. The decoder according to claim 24, wherein the top coding bit rate is determined according to a network status.
  • 26. The decoder according to claim 24, wherein the top coding bit rate is determined in a network or a terminal.
  • 27. The decoder according to claim 24, wherein the bitstream comprises one or more layers truncated in a network.
  • 28. A scalable codec system comprising: an encoder to determine a top coding bit rate to encode one or more input signals, and to encode the input signals into a layered structure according to the determined top coding bit rate to generate a bitstream including a syntax representing the top coding bit rate, as a scalable codec; anda decoder to analyze the top coding bit rate included in the bitstream of the scalable codec, and to decode the bitstream according to the analyzed top coding bit rate.
Priority Claims (1)
Number Date Country Kind
2006-54374 Jun 2006 KR national