WO2010021496A2 - Method and apparatus for decoding video image - Google Patents

Method and apparatus for decoding video image Download PDF

Info

Publication number
WO2010021496A2
WO2010021496A2 PCT/KR2009/004632 KR2009004632W WO2010021496A2 WO 2010021496 A2 WO2010021496 A2 WO 2010021496A2 KR 2009004632 W KR2009004632 W KR 2009004632W WO 2010021496 A2 WO2010021496 A2 WO 2010021496A2
Authority
WO
WIPO (PCT)
Prior art keywords
information
auxiliary information
original image
decoded
toggles
Prior art date
Application number
PCT/KR2009/004632
Other languages
French (fr)
Korean (ko)
Other versions
WO2010021496A3 (en
Inventor
서덕영
박정아
박광훈
김규헌
Original Assignee
경희대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경희대학교 산학협력단 filed Critical 경희대학교 산학협력단
Publication of WO2010021496A2 publication Critical patent/WO2010021496A2/en
Publication of WO2010021496A3 publication Critical patent/WO2010021496A3/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6312Error control coding in combination with data compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Definitions

  • the present invention relates to decoding video, and more particularly, to a method for decoding distributed video coding using a plurality of auxiliary information and an apparatus using the same.
  • Distributed video coding is a video encoding technique that performs a motion prediction / compensation process, which takes most of the complexity in encoding a video, by a decoder rather than an encoder.
  • distributed video coding enables the implementation of a system that performs a motion compensation process that requires the most computation amount on the decoder side, thereby laying the foundation for the realization of the above-described applications.
  • 1 shows a parity rate according to a bit error rate (BER).
  • the horizontal axis represents a bit error rate (BER), and the vertical axis represents a parity transmission rate.
  • X and Y are arbitrary sequences having a statistical correlation (hereinafter equal to), and the numbers displayed on the 'puncturing period graph' indicate puncturing intervals of parity bits. Denotes the transmission of parity bits by one bit every two bits. The closer Y is to X, the smaller the entropy H (X
  • Equation 1 Equation 1 below.
  • Equation 1 p is the BER (bit error rate) of Y to X.
  • Distributed video coding applies the above-described theory to video coding.
  • data about the original image to be compressed X and data referring to Y to compress X are generally referred to as side information (SI) in distributed video coding.
  • SI side information
  • Y can be made through the motion prediction and compensation process in the decoder.
  • the accuracy of the auxiliary information determines the compression performance of distributed video coding.
  • the compression rate may be increased as data and auxiliary information of an original image are similar.
  • the decoder does not have the data for the original image, there is a problem that the degree of similarity cannot be accurately known.
  • a method of decoding a video comprising: receiving some information about original image data; Predicting the original image data to generate a plurality of auxiliary information; Generating final assistance information by applying the partial information to each of the plurality of assistance information; And decoding the original image data using the partial information and the final auxiliary information.
  • a decoder includes an auxiliary information generator for predicting original image data to generate a plurality of auxiliary information;
  • a first turbo decoder configured to receive some information on the original image data from an external source, and turbo decode each of the plurality of auxiliary information to generate decoded auxiliary information;
  • a bit selector for receiving the decoded auxiliary information and generating final auxiliary information based on the number of toggles;
  • a second turbo decoder for reconstructing the original image data using the partial information on the original image data and the final auxiliary information.
  • data having the least error with the original video data can be selected from the plurality of auxiliary information generated by the decoder, so that the quality of the video decoded with the same amount of transmission information can be improved. It can increase.
  • 1 shows a parity rate according to a bit error rate (BER).
  • FIG. 3 is a block diagram illustrating a structure in which an encoder / decoder of distributed video coding and a conventional intra frame encoder / decoder are combined.
  • FIG. 4 is a block diagram illustrating a DVC decoder.
  • FIG. 5 is a flowchart illustrating a decoding method of distributed video coding.
  • FIG. 6 is a graph illustrating a relationship between an average number of toggles for each auxiliary information Y 1 , Y 2 , Y 3 , and Y 4 and a mean square error (MSE) with each original image.
  • MSE mean square error
  • FIG. 7 is a diagram illustrating final assistant information when four candidate frames generated for an original image are divided into four quadrants to represent a peak signal to noise ratio (PSNR).
  • PSNR peak signal to noise ratio
  • FIG. 8 is a diagram illustrating a number of candidate frames selected from each block after dividing a total of 396 blocks of a 'Foreman' image into quadrants to include the same number of blocks.
  • FIG. 9 is a diagram illustrating a BER between original image data X of a plurality of auxiliary information and decoded auxiliary information.
  • FIG. 10 is a diagram illustrating a BER between original image data X ′ decoded according to a selection criterion and original image data X of final auxiliary information Y ⁇ selected by using the number of toggles.
  • the method and apparatus for decoding a video according to the present invention can be used for decoding a video in distributed video coding (Distirubbed Video Coding, DVC).
  • DVC Distributed Video Coding
  • FIG. 3 is a block diagram illustrating a structure in which an encoder / decoder of distributed video coding and a conventional intra frame encoder / decoder are combined according to an embodiment of the present invention.
  • X may be data for an image frame to be compressed (ie, data for an original image), for example, data for a Wyner-Ziv frame (WZ frame).
  • a discrete cosine transform may be performed on each block in a predetermined order to generate bit streams of the DCT coefficients for each bit plane.
  • DCT discrete cosine transform
  • X is input to the DVC encoder 100, and the DVC encoder 100 is punctured to have a parity rate R to transmit a parity bit string P for X.
  • the parity bit string P can be interpreted as some information about X.
  • K may be data about an intra frame selected from a plurality of frames constituting a moving image (referred to as a key frame). K is encoded by intra frame encoder 300 and passed to intra frame decoder 400.
  • the intra frame encoder 300 and the intra frame decoder 400 may be a conventional encoder / decoder.
  • K ′ decoded by the intra frame decoder 400 is input to the DVC decoder 200.
  • the DVC decoder 200 may generate a plurality of side information by using K ′.
  • the DVC decoder 200 turbo-decodes the parity bit string P and the plurality of auxiliary information to generate decoded auxiliary information. At this time, the number of toggles generated during the turbo decoding process and information on the candidate frame are stored, respectively. The final auxiliary information selected from the decoded auxiliary information and the parity bit string are turbo decoded to generate decoded original image data X '.
  • 4 is a block diagram illustrating a DVC decoder.
  • 5 is a flowchart illustrating a decoding method of distributed video coding.
  • the transmission information X (eg, a bit string in which DCT coefficients for the original image are generated for each bit plane) is transmitted through a DVC encoder 100 (eg, a WZ encoder) to match the parity rate R.
  • the bit string P is generated and transmitted.
  • the DVC decoder 200 receives this parity bit string (S100).
  • the DVC decoder 200 may use the side information generator 210, the first turbo decoder 220, the bit selector 230, and the second turbo decoder 240.
  • the first turbo decoder 220 receives a parity bit string.
  • the auxiliary information generator 210 generates a plurality of auxiliary information (S200).
  • the plurality of auxiliary information may be made in different ways. For example, various methods such as linear motion interpolation, object-based separation, and multi-frame prediction may be used. There is no limitation on the method of generating the auxiliary information.
  • the auxiliary information generator 210 generates a plurality of candidate frames using K 'or / and frames stored in a memory (not shown) input from the intra frame decoder, and for each candidate frame, the same as in the DVC encoder 100.
  • a plurality of pieces of auxiliary information can be generated by forming a bit string in a manner (represented by Y 1 , Y 2 , Y 3 , and Y 4 in FIG. 4 ).
  • the auxiliary information may be, for example, a bitstream in which DCT coefficients of candidate image frames generated using frames stored in K 'and / or memories are made for each bit plane.
  • the generated plurality of auxiliary information is provided to the first turbo decoder 220.
  • the final auxiliary information is generated by applying some information of the original image, for example, the parity bit string P, to the plurality of auxiliary information (S300).
  • the first turbo decoder 220 turbo decodes each of the plurality of auxiliary information Y 1 , Y 2 , Y 3 , and Y 4 and a parity bit string.
  • the first turbo decoder 220 may turbo decode the auxiliary information Y 1 and the parity bit string P.
  • the first turbo decoder 220 alternates between the original parity bit string and the interleaved parity bit string in the auxiliary information Y 1 . Repeat decryption.
  • the first turbo decoder 220 performs the same process for the auxiliary information Y 2 , Y 3 , and Y 4 , and stores information about the number of toggles and candidate frames generated in the turbo decoding process, respectively.
  • an error is detected from 10th data (assuming 1) and 20th data (assuming 0) of 100 data of Y 1 (the 10th data). I changed the data to 1-> 0 and the 20th data to 0-> 1, but the two data errors again during the second turbo decoding process (the 10th data is 0-> 1 and the 20th data is 1> 0). It may change to As described above, the phenomenon in which the data value changes several times during the iteration of turbo decoding is defined as a 'toggle'.
  • the toggle part of the auxiliary information is less reliable than the unchanged part because the data is constantly changing. Therefore, it can be seen that a portion in which the toggle occurs among the auxiliary information has a high probability that an error occurs due to the influence of the channel in the original data.
  • the number of bit toggles of the auxiliary information generated in the turbo decoding process is represented by T 1 , T 2 , T 3 , and T 4 .
  • the decoded auxiliary information is represented as X ' 1 , X' 2 , X ' 3 , and X' 4 .
  • X ' 1 , X' 2 , X ' 3 and X' 4 may represent bits in some cases or may indicate a part of a bit string.
  • the first turbo decoder 220 provides the decoded auxiliary information X ' 1 , X' 2 , X ' 3 , X' 4 and a toggle number T 1 , T 2 , T 3 , T 4 to the bit selector 230. do.
  • the bit selector 230 generates final auxiliary information Y ⁇ based on the number of toggles.
  • the final auxiliary information Y ⁇ may be generated by selecting a bit having a minimum number of toggles when X ' 1 , X' 2 , X ' 3 , and X' 4 each represent a bit.
  • the final assistance information Y ⁇ is provided to the second turbo decoder 240.
  • the second turbo decoder 240 generates X 'obtained by decoding the original image data using the parity bit string P and the final auxiliary information Y ⁇ , which are some pieces of information about the original image (S400).
  • X ' which has decoded the original image data, may be used as auxiliary information used for turbo decoding together with the parity bit string P again.
  • a selection method will be described when a plurality of bit strings having the minimum number of toggles (that is, blocks) exist (even when there are a plurality of bits having the minimum number of toggles).
  • the number of toggles at the same block position for all candidate frames is zero (all when no toggles occur) or is equal to one or more numbers (eg, blocks of at least two candidate frames when using four candidate frames).
  • the criteria for determining which candidate frame block is best to be selected is required.
  • a block (or a bit) of a candidate frame having the smallest number of toggles in a candidate frame unit in which the number of toggles for each block is accumulated in the candidate frame from left to right and from top to bottom may be selected.
  • a toggle number of neighboring blocks adjacent to a block having the same toggle number may be used. That is, a block having a smaller toggle number of neighboring blocks for the same toggle number is selected.
  • the periphery may be changed according to the puncturing period of the parity bit string P used in the DVC encoder 100. If the number of toggles of the neighboring blocks is the same, the block of the candidate frame having the smallest number of toggles may be selected in units of candidate frames.
  • the two selection criteria described above take advantage of the fact that information which is well decoded overall (in units of frames) is more likely to be decoded even in parts (by blocks).
  • the selection criteria can be flexibly applied according to the performance of the candidate frame or the form of the number of toggles.
  • FIG. 6 is a graph illustrating a relationship between an average number of toggles for each auxiliary information Y 1 , Y 2 , Y 3 , and Y 4 and a mean square error (MSE) with each original image.
  • MSE mean square error
  • FIG. 7 is a diagram illustrating final assistant information when four candidate frames generated for an original image are divided into four quadrants to represent a peak signal to noise ratio (PSNR).
  • PSNR peak signal to noise ratio
  • the candidate frame No. 1 has the largest PSNR in quadrant 1, the candidate frame No. 2 is quadrant 2, the candidate frame 3 is quadrant 3, and the candidate frame 4 is quadrant with the highest PSNR.
  • the final auxiliary information (Y ⁇ ) is selected as bits of the first candidate frame in the first quadrant, the second candidate frame in the second quadrant, the third candidate frame in the third quadrant, and the fourth quadrant. Bits of candidate frame 4 should be selected.
  • FIG. 8 is a diagram illustrating a number of candidate frames selected from each block after dividing a total of 396 blocks of a 'Foreman' image into quadrants to include the same number of blocks. Referring to FIG. 8, it can be seen that candidate frame 2 is selected in the second quadrant, candidate frame 3 is selected in the third quadrant, and candidate frame 4 is selected in the fourth quadrant. In the first quadrant, all blocks are marked with 0, which means that any of four candidate frames may be selected. 8 shows the feasibility of a method of generating final assistance information using a toggle number.
  • FIG. 9 is a diagram comparing BER of a plurality of auxiliary information and decoded auxiliary information.
  • the parity rate is a numerical value related to the compression rate. Since the BER is about 0.05 (5%) before turbo decoding four pieces of auxiliary information, Will be sent.
  • FIG. 10 is a diagram illustrating a BER when using original image data X ′ decoded according to selection criteria and final auxiliary information Y ⁇ selected by using a toggle number.
  • Rule 1 and Rule 2 indicate selection criteria.
  • Rule 1 is the smallest toggle count in a candidate frame unit that accumulates all toggle counts for each block while proceeding from left to right and from top to bottom within the frame. The selection of the block (or bit) of the candidate frame is shown, and Rule 2 indicates the use of the number of toggles of the neighboring block adjacent to the block in which the same number of toggles occurred.
  • the BER drops to 0.032, 0.032, and 0.018.
  • the decoded original image data X 'generated by turbo decoding the final auxiliary information Y ⁇ which is closer to the transmission information X once again shows an error rate of 0%.
  • the information of another candidate frame may be information that is close to transmission information X partially.
  • the method of selecting the final auxiliary information by using the number of toggles according to the present invention it can be seen that even if the amount of parity bit strings is reduced, there is no problem in making a decoded X ′ having a low BER. If two or more candidates have the same number of toggles, the result depends on the selection criteria and the method.
  • the highest BER is shown when there is no selection criterion, the lower BER than when Rule 1 does not have selection criterion, and the lowest BER is shown by Rule 2. If there is no selection criterion, the candidates are randomly selected, so the performance of the final generated X 'is lower than that of the selection criteria.

Abstract

According to the embodiment of the present invention, a method for decoding a video image comprises: a step for receiving a fraction of the information for original image data, a step for generating plural kinds of side information by predicting the original image data, a step for generating the final side information by applying a fraction of the information to each kind of side information, and a step for decoding the original image data using a fraction of the information and the final side information. When the original image data is decoded in a decoder, the data with the minimum errors compared with the original image data can be selected from the plural kinds of information generated by the decoder so that the decoded image quality may be improved. The compression performance for distributed video coding can be improved as a result of excluding the transmission of additional information for confirming the accuracy of the data that decoded the original image.

Description

동영상의 복호화 방법 및 장치Method and apparatus for decoding video
본 발명은 동영상의 복호화에 관한 것으로, 보다 구체적으로 다수의 보조 정보를 이용하는 분산 동영상 코딩의 복호화 방법 및 이를 이용한 장치에 관한 것이다.The present invention relates to decoding video, and more particularly, to a method for decoding distributed video coding using a plurality of auxiliary information and an apparatus using the same.
휴대용 디지털 카메라, 이동식 무선 감시 카메라, 캡슐형 내시경 등 최근 부각되고 있는 다양한 응용 기기들에 요구되는 공통적인 특성은 인코더가 단순하여야 한다는 것이다. 따라서, 인코더에서 대부분의 복잡한 연산을 수행하는 기존의 동영상 압축 기술 예를 들어, MPEG, H.264와 같은 기술이 이러한 응용 기기들에 적용되기에는 무리가 있다. A common feature required for a variety of emerging applications, such as portable digital cameras, mobile wireless surveillance cameras and capsule endoscopes, is that the encoder must be simple. Therefore, existing video compression techniques, such as MPEG and H.264, which perform most of complex operations in the encoder, are difficult to apply to such applications.
분산 동영상 코딩은 동영상의 부호화 시 복잡도의 대부분을 차지하는 움직임 예측/보상 과정을 부호기(encoder)가 아닌 복호기(decoder)에서 수행하는 동영상 부호화 기술이다. 즉, 분산 동영상 코딩은 계산량을 가장 많이 필요로 하는 움직임 보상 과정을 복호기측에서 수행하는 시스템 구현을 가능하게 하여 상술한 응용기기들의 실현을 앞당길 수 있는 토대를 마련하였다. Distributed video coding is a video encoding technique that performs a motion prediction / compensation process, which takes most of the complexity in encoding a video, by a decoder rather than an encoder. In other words, distributed video coding enables the implementation of a system that performs a motion compensation process that requires the most computation amount on the decoder side, thereby laying the foundation for the realization of the above-described applications.
분산 동영상 코딩의 이론적 배경은 1970년대 Slepian과 Wolf의 정보 이론 경계(bound) 개념(J. D. Slepian and J. K. Wolf, "Noiseless coding of correlated information sources," IEEE Transactions on information Theory, vol. IT-19, pp. 471-480, July 1973.참조)과 Wyner와 Ziv의 정보 이론에 바탕을 두고 있다. The theoretical background of distributed video coding is based on the concept of Slepian and Wolf in the 1970s (JD Slepian and JK Wolf, "Noiseless coding of correlated information sources," IEEE Transactions on information Theory, vol. IT-19, pp. 471-480, July 1973) and Wyner and Ziv's information theory.
Slepian/Wolf는 두 개 이상의 통계적 상관성을 가진 랜덤 시퀀스(random sequence)들을 복호기측에서 통계적 의존성을 활용하여 복호화할 수 있다는 것을 Shannon의 코딩이론과 관련하여 설명하였다. Slepian / Wolf described Shannon's coding theory that two or more statistically correlated random sequences can be decoded using statistical dependencies on the decoder side.
도 1은 BER(Bit Error Rate)에 따른 패리티 전송률을 나타낸다. 1 shows a parity rate according to a bit error rate (BER).
도 1에서 수평방향 축은 BER(Bit Error Rate)을 나타내고, 수직방향 축은 패리티(parity) 전송률을 나타낸다. 도 1에서 X와 Y는 통계적 상관성을 가지는 임의의 시퀀스(sequence)이고(이하 같다), '펑쳐링 간격(puncturing period) 그래프' 위에 표시된 숫자는 패러티 비트의 펑쳐링 간격을 표시하는 것으로 예컨대, 2는 2비트마다 한 비트씩 패리티 비트를 전송하는 것을 나타낸다. Y가 X와 비슷할수록 엔트로피 H(X|Y)는 작아진다. 즉, Y가 X와 비슷할수록 보다 적은 비트로 X를 전송할 수 있게 된다. 엔트로피 H(X|Y)는 이상적인 패리티 전송률(Ideal parity rate)로 볼 수 있다.In FIG. 1, the horizontal axis represents a bit error rate (BER), and the vertical axis represents a parity transmission rate. In FIG. 1, X and Y are arbitrary sequences having a statistical correlation (hereinafter equal to), and the numbers displayed on the 'puncturing period graph' indicate puncturing intervals of parity bits. Denotes the transmission of parity bits by one bit every two bits. The closer Y is to X, the smaller the entropy H (X | Y). In other words, the closer Y is to X, the more bits X can transmit. Entropy H (X | Y) can be seen as the ideal parity rate.
도 2는 BER에 대한 이상적인 패리티 전송률과 실제 패리티 전송률을 나타낸다. 정보이론에 따르면 이상적인 패리티 전송률은 다음 수학식 1과 같이 표시할 수 있다. 2 shows an ideal parity rate and actual parity rate for BER. According to the information theory, the ideal parity rate can be expressed as Equation 1 below.
<수학식 1><Equation 1>
Figure PCTKR2009004632-appb-I000001
Figure PCTKR2009004632-appb-I000001
수학식 1에서 p는 X에 대한 Y의 BER(비트 에러율)이다. In Equation 1, p is the BER (bit error rate) of Y to X.
도 2를 참조하면, BER이 5%(펑쳐링 간격 6) 또는 10%(펑쳐링 간격 4)에서 이상적인 패리티 전송률(Ideal Parity Rate H(X|Y))과 실제 패리티 전송률(Real Parity Rate R)이 근접하는 것을 알 수 있다. Referring to FIG. 2, the ideal parity rate (Ideal Parity Rate H (X | Y)) and the actual parity rate R at 5% (punching interval 6) or 10% (punching interval 4) of BER. It can be seen that this is close.
무손실(lossless) 압축을 지향하는 상술한 이론들을 양자화를 통한 손실(lossy) 압축에 적용한 Wyner-Ziv 코딩 방식[A. D. Wyner, "Recent Results in the Shannon Theory," IEEE, Information Theory, vol. 20, no. 1, pp. 2-10, Jan. 1974.6. 참조]이 등장하면서 동영상 압축 코더(coder)로서의 분산 코딩인 분산 동영상 코딩의 이론적 배경을 마련하였다. 종래의 코덱에서는 동영상 압축 시 엔트로피 코더(entrophy coder)를 사용하는 반면 분산 동영상 코딩은 채널 코드를 사용한다(Y. Zhao, J. Garcia-Frias, "Turbo compression/joint source-channel coding of correlated binary sources with hidden Markov correlation," EURASIP Signal Processing Journal, Elsevier, vol. 86, N. 11, pp 3115-3122, Nov. 2006. 참조)Wyner-Ziv coding scheme applying the above-described theories for lossless compression to lossy compression through quantization [A. D. Wyner, "Recent Results in the Shannon Theory," IEEE, Information Theory, vol. 20, no. 1, pp. 2-10, Jan. 1974.6. With the advent of the reference, a theoretical background of distributed video coding, which is distributed coding as a video compression coder, has been prepared. Conventional codecs use entropy coders for video compression, while distributed video coding uses channel codes (Y. Zhao, J. Garcia-Frias, "Turbo compression / joint source-channel coding of correlated binary sources. with hidden Markov correlation, "EURASIP Signal Processing Journal, Elsevier, vol. 86, N. 11, pp 3115-3122, Nov. 2006.)
분산 동영상 코딩은 상술한 이론을 동영상 코딩에 적용한 것이다. 두 개의 시퀀스 X, Y에 대해, X를 압축하려는 원 영상에 대한 데이터, Y를 X를 압축하는데 참조하는 데이터라고 하면, 분산 동영상 코딩에서 일반적으로 이러한 Y를 보조 정보(Side Information, SI)라고 칭하며 Y는 복호기에서 움직임 예측 및 보상과정을 거쳐 만들어질 수 있다. 보조 정보의 정확성(즉, 원 영상 프레임과의 상관성의 정도)은 분산 동영상 코딩의 압축 성능을 좌우한다. Distributed video coding applies the above-described theory to video coding. For two sequences X and Y, data about the original image to be compressed X and data referring to Y to compress X are generally referred to as side information (SI) in distributed video coding. Y can be made through the motion prediction and compensation process in the decoder. The accuracy of the auxiliary information (i.e. the degree of correlation with the original picture frame) determines the compression performance of distributed video coding.
분산 동영상 코딩의 복호화에서는 원 영상에 대한 데이터와 보조 정보가 유사할수록 압축률을 높일 수 있다. 그러나, 복호기에서는 원 영상에 대한 데이터를 가지고 있지 않기 때문에 유사한 정도를 정확히 알 수 없는 문제가 있다. In the decoding of distributed video coding, the compression rate may be increased as data and auxiliary information of an original image are similar. However, since the decoder does not have the data for the original image, there is a problem that the degree of similarity cannot be accurately known.
분산 동영상 코딩의 복호화에 있어 보조정보에서 원 영상과 가장 유사한 데이터를 선택할 수 있는 방법 및 장치를 제공한다. Provided are a method and an apparatus for selecting data most similar to an original image in auxiliary information in decoding distributed video coding.
본 발명의 일 측면에 따른 동영상의 복호화 방법은 원 영상(original image)데이터에 대한 일부 정보를 수신하는 단계; 상기 원 영상 데이터를 예측하여 복수의 보조 정보를 생성하는 단계; 상기 복수의 보조 정보 각각에 상기 일부 정보를 적용하여 최종 보조 정보를 생성하는 단계; 및 상기 일부 정보 및 상기 최종 보조 정보를 이용하여 상기 원 영상 데이터를 복호하는 단계를 포함한다.According to an aspect of the present invention, there is provided a method of decoding a video, the method comprising: receiving some information about original image data; Predicting the original image data to generate a plurality of auxiliary information; Generating final assistance information by applying the partial information to each of the plurality of assistance information; And decoding the original image data using the partial information and the final auxiliary information.
본 발명의 다른 측면에 따른 디코더는 원 영상 데이터를 예측하여 복수의 보조 정보를 생성하는 보조 정보 생성기; 외부로부터 상기 원 영상(original image)데이터에 대한 일부 정보를 수신하여, 상기 복수의 보조 정보 각각에 터보 디코딩하여 복호된 보조 정보를 생성하는 제 1 터보 디코더; 상기 복호된 보조 정보를 입력받아 토글 횟수를 기준으로 최종 보조 정보를 생성하는 비트 선택기(bit selector); 및 상기 원 영상 데이터에 대한 일부 정보 및 상기 최종 보조 정보를 이용하여 상기 원 영상 데이터를 복원하는 제 2 터보 디코더를 포함한다. A decoder according to another aspect of the present invention includes an auxiliary information generator for predicting original image data to generate a plurality of auxiliary information; A first turbo decoder configured to receive some information on the original image data from an external source, and turbo decode each of the plurality of auxiliary information to generate decoded auxiliary information; A bit selector for receiving the decoded auxiliary information and generating final auxiliary information based on the number of toggles; And a second turbo decoder for reconstructing the original image data using the partial information on the original image data and the final auxiliary information.
분산 동영상 코딩의 디코더에서 원 영상 데이터를 복호화하는 경우, 디코더에서 생성된 복수의 보조 정보 중에서 가장 원 영상 데이터와의 에러가 적은 데이터를 선택할 수 있으므로 같은 양의 전송 정보를 가지고 복호된 영상의 품질을 높일 수 있다. When the original video data is decoded by the decoder of the distributed video coding, data having the least error with the original video data can be selected from the plurality of auxiliary information generated by the decoder, so that the quality of the video decoded with the same amount of transmission information can be improved. It can increase.
원 영상을 복호화한 데이터의 정확성을 확인하기 위한 정보를 따로 전송하지 않기 때문에 분산 동영상 코딩의 압축 성능을 개선할 수 있다.Since the information for confirming the accuracy of the decoded data of the original image is not transmitted separately, the compression performance of distributed video coding can be improved.
도 1은 BER(Bit Error Rate)에 따른 패리티 전송률을 나타낸다.1 shows a parity rate according to a bit error rate (BER).
도 2는 BER에 대한 이상적인 패리티 전송률과 실제 패리티 전송률을 나타낸다. 2 shows an ideal parity rate and actual parity rate for BER.
도 3은 분산 동영상 코딩의 인코더/디코더와 종래의 인트라 프레임 인코더/디코더가 결합된 구조를 나타내는 블록도이다.3 is a block diagram illustrating a structure in which an encoder / decoder of distributed video coding and a conventional intra frame encoder / decoder are combined.
도 4는 DVC 디코더를 나타낸 블록도이다. 4 is a block diagram illustrating a DVC decoder.
도 5는 분산 동영상 코딩의 복호화 방법을 나타낸 순서도이다.5 is a flowchart illustrating a decoding method of distributed video coding.
도 6은 각 보조 정보 Y1, Y2, Y3, Y4 에 대한 평균 토글 횟수와 각 원 영상과의 MSE(Mean Square Error)의 관계를 나타낸 그래프이다.FIG. 6 is a graph illustrating a relationship between an average number of toggles for each auxiliary information Y 1 , Y 2 , Y 3 , and Y 4 and a mean square error (MSE) with each original image.
도 7은 원 영상에 대하여 생성된 4개의 후보 프레임을 4사분면으로 나누어 PSNR(Peak Signal to Noise Ratio)을 나타낸 경우 최종 보조 정보가 생성되는 도면이다.FIG. 7 is a diagram illustrating final assistant information when four candidate frames generated for an original image are divided into four quadrants to represent a peak signal to noise ratio (PSNR).
도 8은 'Foreman'영상의 총 396개의 블록을 동일한 개수의 블록이 포함되도록 4분면으로 나눈 후, 각 블록에서 선택된 후보 프레임의 번호를 표시한 도면이다.FIG. 8 is a diagram illustrating a number of candidate frames selected from each block after dividing a total of 396 blocks of a 'Foreman' image into quadrants to include the same number of blocks.
도 9는 복수의 보조 정보와 복호된 보조 정보의 원 영상 데이터(X)와의 BER을 나타낸 도면이다. FIG. 9 is a diagram illustrating a BER between original image data X of a plurality of auxiliary information and decoded auxiliary information.
도 10은 선택 기준에 따라 복호화된 원 영상 데이터(X')와 토글 횟수를 이용하여 선택한 최종 보조 정보(Y)의 원 영상 데이터(X)와의 BER을 나타낸 도면이다. FIG. 10 is a diagram illustrating a BER between original image data X ′ decoded according to a selection criterion and original image data X of final auxiliary information Y selected by using the number of toggles.
본 발명에 따른 동영상의 복호화 방법 및 장치는 분산 동영상 코딩(Distirbuted Video Coding, DVC)에서 동영상의 복호화에 사용될 수 있다. 이하에서 주로 DVC를 위주로 설명하지만 이는 제한이 아니다. The method and apparatus for decoding a video according to the present invention can be used for decoding a video in distributed video coding (Distirbuted Video Coding, DVC). In the following description, mainly the DVC, but this is not a limitation.
도 3은 본 발명의 일 실시예에 따른 분산 동영상 코딩의 인코더/디코더와 종래의 인트라 프레임 인코더/디코더가 결합된 구조를 나타내는 블록도이다.3 is a block diagram illustrating a structure in which an encoder / decoder of distributed video coding and a conventional intra frame encoder / decoder are combined according to an embodiment of the present invention.
도 3을 참조하면, X는 압축하려는 영상 프레임에 대한 데이터(즉, 원 영상에 대한 데이터)일 수 있는데 예를 들어 Wyner-Ziv 프레임(WZ 프레임)에 대한 데이터일 수 있다. 또는 X는 원 영상이 다수의 블록을 포함하는 경우 각 블록에 대하여 소정의 순서로 DCT(Discrete Cosine Transform)을 수행하여 그 DCT 계수를 비트 플레인(plain) 별로 비트열을 만든 것일 수도 있다. 그러나 이는 제한이 아니며 비트열을 생성하는 방법은 제한이 없다. Referring to FIG. 3, X may be data for an image frame to be compressed (ie, data for an original image), for example, data for a Wyner-Ziv frame (WZ frame). Alternatively, when the original image includes a plurality of blocks, a discrete cosine transform (DCT) may be performed on each block in a predetermined order to generate bit streams of the DCT coefficients for each bit plane. However, this is not a limitation and there is no limitation on how to generate the bit stream.
X는 DVC 인코더(100)로 입력되고, DVC 인코더(100)는 패리티 전송율 R을 가지도록 펑쳐링하여 X에 대한 패리티 비트열 P를 전송한다. 패리티 비트열 P는 X에 대한 일부 정보로 해석할 수 있다.X is input to the DVC encoder 100, and the DVC encoder 100 is punctured to have a parity rate R to transmit a parity bit string P for X. The parity bit string P can be interpreted as some information about X.
K는 동영상을 구성하는 다수의 프레임 중에서 선택된 인트라 프레임(intra frame, 이를 키(key) 프레임이라 한다)에 대한 데이터일 수 있다. K는 인트라 프레임 인코더(300)로 인코딩되어 인트라 프레임 디코더(400)로 전달된다. 여기서, 인트라 프레임 인코더(300) 및 인트라 프레임 디코더(400)는 종래의 인코더/디코더라도 무방하다. K may be data about an intra frame selected from a plurality of frames constituting a moving image (referred to as a key frame). K is encoded by intra frame encoder 300 and passed to intra frame decoder 400. Here, the intra frame encoder 300 and the intra frame decoder 400 may be a conventional encoder / decoder.
인트라 프레임 디코더(400)에 의해 디코딩된 K'는 DVC 디코더(200)로 입력된다. DVC 디코더(200)는 K'를 이용하여 다수의 보조 정보(Side Information)을 생성할 수 있다. K ′ decoded by the intra frame decoder 400 is input to the DVC decoder 200. The DVC decoder 200 may generate a plurality of side information by using K ′.
DVC 디코더(200)는 패리티 비트열 P와 복수의 보조 정보들을 터보 디코딩하여 복호된 보조 정보를 생성한다. 이 때, 터보 디코딩 과정에서 발생하는 토글 횟수와 후보 프레임에 대한 정보를 각각 저장한다. 그리고, 복호된 보조 정보 중에서 선택된 최종 보조 정보와 패리티 비트열을 터보 디코딩하여 복호된 원 영상 데이터 X'를 생성한다.  The DVC decoder 200 turbo-decodes the parity bit string P and the plurality of auxiliary information to generate decoded auxiliary information. At this time, the number of toggles generated during the turbo decoding process and information on the candidate frame are stored, respectively. The final auxiliary information selected from the decoded auxiliary information and the parity bit string are turbo decoded to generate decoded original image data X '.
도 4는 DVC 디코더를 나타낸 블록도이다. 도 5는 분산 동영상 코딩의 복호화 방법을 나타낸 순서도이다.4 is a block diagram illustrating a DVC decoder. 5 is a flowchart illustrating a decoding method of distributed video coding.
도 4 및 도 5를 참조하면, 전송 정보 X(예컨대, 원 영상에 대한 DCT 계수를 비트 플레인 별로 만든 비트열)는 DVC 인코더(100, 예를 들어, WZ 인코더)를 통해서 패리티 전송률 R에 맞는 패리티 비트열(P)이 생성되어 전송된다. DVC 디코더(200)는 이러한 패리티 비트열을 수신한다(S100). DVC 디코더(200)는 보조 정보 생성기(210, Side Information generator), 제 1 터보 디코더(220, Turbo decoder 1), 비트 선택기(230, Bit selector), 제 2 터보 디코더(240, Turbo decoder 2)를 포함할 수 있는데, 제 1 터보 디코더(220)가 패리티 비트열을 수신한다. 4 and 5, the transmission information X (eg, a bit string in which DCT coefficients for the original image are generated for each bit plane) is transmitted through a DVC encoder 100 (eg, a WZ encoder) to match the parity rate R. The bit string P is generated and transmitted. The DVC decoder 200 receives this parity bit string (S100). The DVC decoder 200 may use the side information generator 210, the first turbo decoder 220, the bit selector 230, and the second turbo decoder 240. The first turbo decoder 220 receives a parity bit string.
보조 정보 생성기(210)는 복수의 보조 정보를 생성한다(S200). 복수의 보조 정보는 서로 다른 방법으로 만들어진 것일 수 있다. 예를 들면, 선형적 움직임 보간법, 객체 기반 분리법, 다중 프레임 예측 등 다양한 방법이 사용될 수 있다. 보조 정보를 생성하는 방법에는 제한이 없다. The auxiliary information generator 210 generates a plurality of auxiliary information (S200). The plurality of auxiliary information may be made in different ways. For example, various methods such as linear motion interpolation, object-based separation, and multi-frame prediction may be used. There is no limitation on the method of generating the auxiliary information.
보조 정보 생성기(210)는 인트라 프레임 디코더로부터 입력되는 K' 또는/및 메모리(미도시)에 저장된 프레임을 이용하여 복수의 후보 프레임을 생성하고, 각 후보 프레임에 대하여 DVC 인코더(100)에서와 같은 방식으로 비트열을 형성하여 복수의 보조 정보를 생성할 수 있다(도 4에서 복수의 보조 정보를 Y1, Y2, Y3, Y4로 표시한다). 보조 정보들은 예를 들어, K' 또는/및메모리에 저장된 프레임을 이용하여 생성된 후보 영상 프레임의 DCT 계수를 비트 평면(plain) 별로 만든 비트열(bitstream)일 수 있다. 생성된 복수의 보조 정보는 제 1 터보 디코더(220)로 제공된다. The auxiliary information generator 210 generates a plurality of candidate frames using K 'or / and frames stored in a memory (not shown) input from the intra frame decoder, and for each candidate frame, the same as in the DVC encoder 100. A plurality of pieces of auxiliary information can be generated by forming a bit string in a manner (represented by Y 1 , Y 2 , Y 3 , and Y 4 in FIG. 4 ). The auxiliary information may be, for example, a bitstream in which DCT coefficients of candidate image frames generated using frames stored in K 'and / or memories are made for each bit plane. The generated plurality of auxiliary information is provided to the first turbo decoder 220.
복수의 보조 정보에 원 영상에 대한 일부 정보 예를 들어 패리티 비트열(P)을 적용하여 최종 보조 정보를 생성한다(S300). 먼저, 제 1 터보 디코더(220)는 복수의 보조 정보 Y1, Y2, Y3, Y4 각각과 패리티 비트열을 터보 디코딩한다. 예를 들어, 제 1 터보 디코더(220)는 보조 정보 Y1과 패리티 비트열(P)을 터보 디코딩할 수 있는데, 이 경우 보조 정보 Y1에 원래의 패리티 비트열과 인터리빙된 패리티 비트열로 번갈아 가면서 복호화를 반복한다. 반복(iteration)과정이 더 많이 수행됨에 따라 복호화된 데이터는 원래의 정보로 디코딩될 확률이 높아지지만 이 과정에서 복호화된 데이터가 여러 번 바뀔 수 있다. 제 1 터보 디코더(220)는 이러한 과정을 보조 정보 Y2, Y3, Y4에 대해서도 마찬가지로 수행하며, 터보 디코딩 과정에서 발생하는 토글 횟수와 후보 프레임에 대한 정보를 각각 저장한다.The final auxiliary information is generated by applying some information of the original image, for example, the parity bit string P, to the plurality of auxiliary information (S300). First, the first turbo decoder 220 turbo decodes each of the plurality of auxiliary information Y 1 , Y 2 , Y 3 , and Y 4 and a parity bit string. For example, the first turbo decoder 220 may turbo decode the auxiliary information Y 1 and the parity bit string P. In this case, the first turbo decoder 220 alternates between the original parity bit string and the interleaved parity bit string in the auxiliary information Y 1 . Repeat decryption. As the iteration process is performed more, the probability that the decoded data is decoded into the original information increases, but the decoded data may be changed several times in this process. The first turbo decoder 220 performs the same process for the auxiliary information Y 2 , Y 3 , and Y 4 , and stores information about the number of toggles and candidate frames generated in the turbo decoding process, respectively.
제 1 터보 디코더(220)의 터보 디코딩 과정에서 예를 들어 Y1의 100개 데이터 중 10번째 데이터(1이라고 가정)와 20번째 데이터(0이라고 가정)에서 에러를 검출하여 바른 데이터 값(10번째 데이터를 1->0으로, 20번째 데이터를 0->1)으로 고쳤으나 두 번째 터보 디코딩 과정에서 그 두 데이터가 다시 에러(10번째 데이터가 0->1, 20번째 데이터가 1>0)로 바뀌어 버리는 경우가 발생할 수 있다. 이와 같이 터보 디코딩의 반복 과정에서 데이터 값이 여러 번 변하게 되는 현상을 '토글(toggle)'이라고 정의한다. 보조 정보에서 토글이 생기는 부분은 데이터가 계속하여 바뀌는 부분이기에 바뀌지 않는 부분보다 신뢰성이 떨어진다고 할 수 있다. 따라서, 보조 정보 중에서 토글이 발생하는 부분은 원래의 데이터에서 채널의 영향으로 에러가 발생할 확률이 높은 부분이라고 볼 수 있다. In the turbo decoding process of the first turbo decoder 220, for example, an error is detected from 10th data (assuming 1) and 20th data (assuming 0) of 100 data of Y 1 (the 10th data). I changed the data to 1-> 0 and the 20th data to 0-> 1, but the two data errors again during the second turbo decoding process (the 10th data is 0-> 1 and the 20th data is 1> 0). It may change to As described above, the phenomenon in which the data value changes several times during the iteration of turbo decoding is defined as a 'toggle'. The toggle part of the auxiliary information is less reliable than the unchanged part because the data is constantly changing. Therefore, it can be seen that a portion in which the toggle occurs among the auxiliary information has a high probability that an error occurs due to the influence of the channel in the original data.
도 4에서 터보 디코딩 과정에서 발생하는 보조 정보들의 비트별 토글 횟수를 T1, T2, T3, T4 로 표시한다. 또한, 패리티 비트열(P)과 복수의 보조 정보들을 각각 터보 디코딩한 결과 즉, 복호된 보조 정보를 X'1, X'2, X'3, X'4로 표시하고 있다. X'1, X'2, X'3, X'4는 경우에 따라 비트를 나타낼 수도 있고, 비트열의 일부를 나타낼 수도 있다.In FIG. 4, the number of bit toggles of the auxiliary information generated in the turbo decoding process is represented by T 1 , T 2 , T 3 , and T 4 . In addition, as a result of turbo decoding the parity bit string P and the plurality of auxiliary information, that is, the decoded auxiliary information is represented as X ' 1 , X' 2 , X ' 3 , and X' 4 . X ' 1 , X' 2 , X ' 3 and X' 4 may represent bits in some cases or may indicate a part of a bit string.
제 1 터보 디코더(220)는 상기 복호된 보조 정보 X'1, X'2, X'3, X'4와 토글 횟수 T1, T2, T3, T4 를 비트 선택기(230)로 제공한다. 비트 선택기(230)는 토글(toggle) 횟수를 기준으로 최종 보조 정보(Y)를 생성한다. 최종 보조 정보(Y)는 X'1, X'2, X'3, X'4가 각각 비트를 나타내는 경우, 최소의 토글 횟수를 가지는 비트를 선택하는 방법으로 생성될 수 있다. 만약 X'1, X'2, X'3, X'4 에서 최소의 토글 횟수를 가지는 비트들이 복수개 존재하는 경우에는 선택 방법이 필요하다 (X'1, X'2, X'3, X'4 가 비트열의 일부를 나타내는 경우도 마찬가지이다). 이에 대해서는 후술한다. The first turbo decoder 220 provides the decoded auxiliary information X ' 1 , X' 2 , X ' 3 , X' 4 and a toggle number T 1 , T 2 , T 3 , T 4 to the bit selector 230. do. The bit selector 230 generates final auxiliary information Y based on the number of toggles. The final auxiliary information Y may be generated by selecting a bit having a minimum number of toggles when X ' 1 , X' 2 , X ' 3 , and X' 4 each represent a bit. If there are a plurality of bits with the minimum number of toggles in X ' 1 , X' 2 , X ' 3 , and X' 4 , a selection method is required (X ' 1 , X' 2 , X ' 3 , X' The same is true when 4 represents part of a bit string). This will be described later.
최종 보조 정보(Y)는 제 2 터보 디코더(240)로 제공된다. 제 2 터보 디코더(240)는 원 영상에 대한 일부 정보인 패리티 비트열(P)과 최종 보조 정보(Y)를 이용하여 원 영상 데이터를 복호한 X'를 생성한다(S400). 물론 원 영상 데이터를 복호한 X'는 다시 패리티 비트열(P)와 함께 터보 디코딩에 사용되는 보조 정보로 사용될 수도 있다. The final assistance information Y is provided to the second turbo decoder 240. The second turbo decoder 240 generates X 'obtained by decoding the original image data using the parity bit string P and the final auxiliary information Y , which are some pieces of information about the original image (S400). Of course, X ', which has decoded the original image data, may be used as auxiliary information used for turbo decoding together with the parity bit string P again.
이하에서는 상기 최소의 토글 횟수를 가지는 비트열의 일부(즉, 블록)가 복수개 존재하는 경우에는 선택 방법을 설명한다(최소의 토글 횟수를 가지는 비트가 복수개 존재하는 경우에도 마찬가지이다). 이것은 모든 후보 프레임에 대한 같은 블록 위치에서의 토글 횟수가 0(모두 토글이 발생하지 않았을 때를 말함)이거나 1 이상의 수로 동일할 경우(예컨대, 4개의 후보 프레임을 사용할 때 적어도 둘 이상의 후보 프레임의 블록에서 토글 횟수가 같은 경우를 말함) 어떤 후보 프레임의 블록을 선택하는 것이 가장 좋을지 판단하는 기준이 필요하게 된다. Hereinafter, a selection method will be described when a plurality of bit strings having the minimum number of toggles (that is, blocks) exist (even when there are a plurality of bits having the minimum number of toggles). This means that the number of toggles at the same block position for all candidate frames is zero (all when no toggles occur) or is equal to one or more numbers (eg, blocks of at least two candidate frames when using four candidate frames). In this case, the criteria for determining which candidate frame block is best to be selected is required.
먼저, 1) 후보 프레임 내에서 좌에서 우로 그리고, 위에서 아래로 진행하면서 블록별 토글 횟수를 모두 누적한 후보 프레임 단위의 토글 횟수가 가장 작은 후보 프레임의 블록(또는 비트)을 선택할 수 있다.First, 1) a block (or a bit) of a candidate frame having the smallest number of toggles in a candidate frame unit in which the number of toggles for each block is accumulated in the candidate frame from left to right and from top to bottom may be selected.
또는 2) 같은 토글 횟수가 발생한 블록에 인접한 주변 블록의 토글 횟수를 이용할 수 있다. 즉, 토글 횟수가 같은 블록에 대한 주변 블록의 토글 횟수가 더 작은 블록을 선택한다. 여기서 주변은 DVC 인코더(100)에서 사용되는 패리티 비트열(P)의 펑쳐링 간격(puncturing period)에 따라 변경될 수 있다. 만약, 주변 블록의 토글 횟수가 일치하면 후보 프레임 단위로 토글 횟수가 가장 작은 후보 프레임의 블록을 선택할 수 있다. Alternatively, 2) a toggle number of neighboring blocks adjacent to a block having the same toggle number may be used. That is, a block having a smaller toggle number of neighboring blocks for the same toggle number is selected. Here, the periphery may be changed according to the puncturing period of the parity bit string P used in the DVC encoder 100. If the number of toggles of the neighboring blocks is the same, the block of the candidate frame having the smallest number of toggles may be selected in units of candidate frames.
상술한 두 가지 선택 기준은 전체적(프레임 단위)으로 잘 복호되는 정보가 부분적(블록별)으로도 더 잘 복호될 가능성이 크다는 것을 이용한 것이다. 후보 프레임의 성능 또는 토글 횟수의 형태에 따라서 선택 기준을 유연하게 적용시킬 수 있다.The two selection criteria described above take advantage of the fact that information which is well decoded overall (in units of frames) is more likely to be decoded even in parts (by blocks). The selection criteria can be flexibly applied according to the performance of the candidate frame or the form of the number of toggles.
이하에서는 본 발명의 효과를 설명하기 위한 시험예를 설명한다. 이하에서 176 x 144 픽셀 크기의 'Foreman' 동영상을 이용하는 것을 전제로 한다. 이러한 'Foreman' 동영상의 각 프레임에는 8 x 8 픽셀 크기의 블록이 396개 포함된다. Hereinafter, a test example for explaining the effect of the present invention. In the following description, it is assumed that a 'Foreman' video having a size of 176 x 144 pixels is used. Each frame of this 'Foreman' video contains 396 blocks of 8 x 8 pixels.
먼저 토글 횟수와 X, Y 시퀀스들 간의 차이에 관한 관계를 살펴본다. First we look at the relationship between the number of toggles and the difference between X and Y sequences.
도 6은 각 보조 정보 Y1, Y2, Y3, Y4 에 대한 평균 토글 횟수와 각 원 영상과의 MSE(Mean Square Error)의 관계를 나타낸 그래프이다.FIG. 6 is a graph illustrating a relationship between an average number of toggles for each auxiliary information Y 1 , Y 2 , Y 3 , and Y 4 and a mean square error (MSE) with each original image.
도 6을 참조하면 MSE가 증가할수록 평균 토글 횟수도 증가하는 것을 알 수 있다. 즉, 토글 횟수가 많이 발생하는 것은 보조 정보의 신뢰성이 떨어진다는 것을 알 수 있다. 따라서 토글 횟수를 기준으로 복수의 복호된 보조 정보 중에서 최종 보조 정보를 선택하는 방법의 타당성을 알 수 있다. Referring to FIG. 6, as the MSE increases, the average number of toggles also increases. That is, it can be seen that the occurrence of a large number of toggles decreases the reliability of the auxiliary information. Therefore, the validity of the method of selecting the final auxiliary information among the plurality of decoded auxiliary information based on the number of toggles can be known.
도 7은 원 영상에 대하여 생성된 4개의 후보 프레임을 4사분면으로 나누어 PSNR(Peak Signal to Noise Ratio)을 나타낸 경우 최종 보조 정보가 생성되는 도면이다. FIG. 7 is a diagram illustrating final assistant information when four candidate frames generated for an original image are divided into four quadrants to represent a peak signal to noise ratio (PSNR).
도 7을 참조하면, 1번 후보 프레임은 1사분면의 PSNR이 가장 크고, 2번 후보 프레임은 2사분면, 3번 후보 프레임은 3사분면, 4번 후보 프레임은 4사분면이 PSNR이 가장 크도록 생성한 것이다. 이러한 경우, 본 발명에 따른 실시예에서 최종 보조 정보(Y)는 1사분면에서 1번 후보 프레임의 비트들이 선택되고, 2사분면에서는 2번 후보 프레임, 3사분면에서는 3번 후보 프레임, 4사분면에서는 4번 후보 프레임의 비트들이 선택되어야 할 것이다. Referring to FIG. 7, the candidate frame No. 1 has the largest PSNR in quadrant 1, the candidate frame No. 2 is quadrant 2, the candidate frame 3 is quadrant 3, and the candidate frame 4 is quadrant with the highest PSNR. will be. In this case, in the embodiment according to the present invention, the final auxiliary information (Y ) is selected as bits of the first candidate frame in the first quadrant, the second candidate frame in the second quadrant, the third candidate frame in the third quadrant, and the fourth quadrant. Bits of candidate frame 4 should be selected.
도 8은 'Foreman'영상의 총 396개의 블록을 동일한 개수의 블록이 포함되도록 4분면으로 나눈 후, 각 블록에서 선택된 후보 프레임의 번호를 표시한 도면이다. 도 8을 참조하면, 2사분면에서 2번 후보 프레임이 선택되고, 3사분면에서 3번 후보 프레임, 4사분면에서 4번 후보 프레임이 선택되는 것을 볼 수 있다. 1사분면은 모든 블록이 0으로 표시되어 있는데 이는 4개의 후보 프레임 중 어느 것을 선택하여도 무방하다는 의미이다. 도 8은 토글 횟수를 이용하여 최종 보조 정보를 생성하는 방법의 타당성을 보여준다. FIG. 8 is a diagram illustrating a number of candidate frames selected from each block after dividing a total of 396 blocks of a 'Foreman' image into quadrants to include the same number of blocks. Referring to FIG. 8, it can be seen that candidate frame 2 is selected in the second quadrant, candidate frame 3 is selected in the third quadrant, and candidate frame 4 is selected in the fourth quadrant. In the first quadrant, all blocks are marked with 0, which means that any of four candidate frames may be selected. 8 shows the feasibility of a method of generating final assistance information using a toggle number.
도 9는 복수의 보조 정보와 복호된 보조 정보의 BER을 비교한 도면이다. 9 is a diagram comparing BER of a plurality of auxiliary information and decoded auxiliary information.
실험에서 복수의 보조 정보들(SI-1=Y1, SI-2=Y2, SI-3=Y3, SI-4=Y4)을 블록별로 DCT변환 후, DCT 계수를 11비트로 나타내고 이를 비트 평면(bit plane)으로 바꾸어 상위 5비트 평면만을 사용하였다. 이 경우 총 비트는 396블럭 * 5비트 = 1980 비트 길이가 된다. 도 9에서 패리티 전송률(parity rate)은 압축률과 관계되는 수치로 4개의 보조 정보들의 터보 디코딩되기 전 BER이 약 0.05(5%)이기 때문에 도 2에 의해 압축이 1/3이 되는 패리티의 양을 보내게 된다. In the experiment, after DCT conversion of a plurality of pieces of auxiliary information (SI-1 = Y 1 , SI-2 = Y 2 , SI-3 = Y 3 , SI-4 = Y 4 ) by block, the DCT coefficient is represented by 11 bits. Switching to the bit plane, only the upper 5 bit planes are used. In this case, the total bits would be 396 blocks * 5 bits = 1980 bits long. In FIG. 9, the parity rate is a numerical value related to the compression rate. Since the BER is about 0.05 (5%) before turbo decoding four pieces of auxiliary information, Will be sent.
도 10은 선택 기준에 따라 복호화된 원 영상 데이터(X')와 토글 횟수를 이용하여 선택한 최종 보조 정보(Y)를 이용하는 경우 BER을 나타낸 도면이다. 도 10에서 Rule 1 및 Rule 2는 선택 기준을 표시하는데, Rule 1은 1) 프레임 내에서 좌에서 우로 그리고, 위에서 아래로 진행하면서 블록별 토글 횟수를 모두 누적한 후보 프레임 단위의 토글 횟수가 가장 작은 후보 프레임의 블록(또는 비트)을 선택하는 것을 나타내고, Rule 2는 2) 같은 토글 횟수가 발생한 블록에 인접한 주변 블록의 토글 횟수를 이용하는 것을 나타낸다. FIG. 10 is a diagram illustrating a BER when using original image data X ′ decoded according to selection criteria and final auxiliary information Y selected by using a toggle number. In FIG. 10, Rule 1 and Rule 2 indicate selection criteria. Rule 1 is the smallest toggle count in a candidate frame unit that accumulates all toggle counts for each block while proceeding from left to right and from top to bottom within the frame. The selection of the block (or bit) of the candidate frame is shown, and Rule 2 indicates the use of the number of toggles of the neighboring block adjacent to the block in which the same number of toggles occurred.
도 10을 보면, 펑쳐링 간격 M이 6일 경우 선택 기준을 사용하지 않아도 최종적으로 한번 더 터보 디코딩을 수행하는 경우 BER이 0이 되기 때문에 선택기준에 대한 효과를 알 수 없다. 또한 압축률을 높이기 위해 BER은 고정시키고 펑쳐링 간격을 조정하여 패리티의 양을 줄여서 압축률 2/7로 맞추어 똑같은 실험을 반복한다. Referring to FIG. 10, even when the puncturing interval M is 6, the BER becomes 0 when the turbo decoding is finally performed once more without using the selection criterion. Therefore, the effect on the selection criterion cannot be known. Also, to increase the compression rate, BER is fixed and the puncturing interval is adjusted to reduce the amount of parity.
도 9에서 M=6일 때, 각 복호화된 보조 정보의 BER을 보면 0.059, 0.038, 0.040, 0.029인데 반해, 도 10에서 M=6일 때, 즉, 토글 횟수로 선택 기준에 따라 최종 보조 정보를 만들어 사용하면 BER이 0.032, 0.032, 0.018로 떨어지게 된다. 특히, Rule 2를 사용하게 되면 도 9의 SI-4(M=6인 경우)의 0.029보다 좋은 0.018의 BER을 보이고 있다. 전송 정보 X에 한층 가까워진 최종 보조 정보 Y를 한번 더 터보 디코딩하여 생성된 복호화된 원 영상 데이터 X'는 모두 에러율 0%의 결과를 나타낸다. Referring to BER of each decoded auxiliary information when M = 6 in FIG. 9, it is 0.059, 0.038, 0.040, 0.029. In FIG. 10, when M = 6, that is, the number of toggles is used to determine final auxiliary information according to selection criteria. When used, the BER drops to 0.032, 0.032, and 0.018. In particular, when Rule 2 is used, a BER of 0.018 is better than 0.029 of SI-4 (if M = 6) of FIG. 9. The decoded original image data X 'generated by turbo decoding the final auxiliary information Y which is closer to the transmission information X once again shows an error rate of 0%.
같은 방법으로 M=7일 때, 토글 횟수로 선택 기준에 따라 최종 보조 정보를 만들어 사용하면 BER이 0.021, 0.013, 0.011로 복호된 보조 정보들에 비해 낮은 BER을 보인다. 최종 복호화된 원 영상 데이터 X'는 M=6일 때보다 M=7일 때가 BER이 더 크지만 BER이 1%도 안되는 것이기 때문에 압축률을 조금 높여도(즉, 패리티 비트열의 양을 감소시켜도)큰 영향을 미치지 않게 된다. In the same way, when M = 7, when the final auxiliary information is generated and used according to the selection criteria as the number of toggles, the BER is lower than that of the auxiliary information decoded as 0.021, 0.013, and 0.011. The final decoded original image data X 'is larger at BER than at M = 6 but BER is less than 1%, so even if the compression ratio is slightly increased (that is, the amount of parity bit string is reduced), It will not affect.
후보 프레임들이 다른 특성들을 지니고 있기 때문에 전체적으로 특정 후보 프레임의 보조 정보가 전송 정보 X에 근접한 신뢰성 있는 정보라 할지라도 부분적(블록별)으로는 다른 후보 프레임의 정보가 전송 정보 X에 가까운 정보일 수도 있다. 본 발명에 따른 토글 횟수를 이용하여 최종 보조 정보를 선택하는 방식을 적용하면 패리티 비트열의 양을 줄이더라도 BER이 낮은 복호화된 X'를 만드는 데에 손색이 없다는 것을 알 수 있다. 두 개 이상의 후보가 토글 횟수가 동일할 경우 선택 기준의 유무와 방법에 따라서 결과가 다르다. 마지막 복호 수행과 압축률과 관계없이 선택기준이 없을 시에 가장 높은 BER을, Rule 1이 선택기준 없는 경우보다 낮은 BER을, Rule 2이 가장 낮은 BER을 보이고 있다. 선택기준이 없는 경우에는 후보들 중 임의로 선택하기 때문에 선택 기준이 있는 것들보다 최종 생성한 X'의 성능이 떨어지게 된다.Since candidate frames have different characteristics, even though the auxiliary information of a particular candidate frame is reliable information that is close to transmission information X as a whole, the information of another candidate frame may be information that is close to transmission information X partially. . By applying the method of selecting the final auxiliary information by using the number of toggles according to the present invention, it can be seen that even if the amount of parity bit strings is reduced, there is no problem in making a decoded X ′ having a low BER. If two or more candidates have the same number of toggles, the result depends on the selection criteria and the method. Regardless of the final decoding performance and compression ratio, the highest BER is shown when there is no selection criterion, the lower BER than when Rule 1 does not have selection criterion, and the lowest BER is shown by Rule 2. If there is no selection criterion, the candidates are randomly selected, so the performance of the final generated X 'is lower than that of the selection criteria.
이상 본 발명에 대하여 실시예를 참조하여 설명하였지만, 해당 기술 분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시켜 실시할 수 있음을 이해할 수 있을 것이다. 따라서 상술한 실시예에 한정되지 않고, 본 발명은 이하의 특허청구범위의 범위 내의 모든 실시예들을 포함한다고 할 것이다.Although the present invention has been described above with reference to the embodiments, it will be apparent to those skilled in the art that the present invention may be modified and changed in various ways without departing from the spirit and scope of the present invention. I can understand. Therefore, the present invention is not limited to the above-described embodiment, and the present invention will include all embodiments within the scope of the following claims.

Claims (10)

  1. 동영상의 복호화 방법에 있어서, In the video decoding method,
    원 영상(original image) 데이터에 대한 일부 정보를 수신하는 단계;Receiving some information about the original image data;
    상기 원 영상 데이터를 예측하여 복수의 보조 정보를 생성하는 단계;Predicting the original image data to generate a plurality of auxiliary information;
    상기 복수의 보조 정보 각각에 상기 일부 정보를 적용하여 최종 보조 정보를 생성하는 단계; 및 Generating final assistance information by applying the partial information to each of the plurality of assistance information; And
    상기 일부 정보 및 상기 최종 보조 정보를 이용하여 상기 원 영상 데이터를 복호하는 단계를 포함하는 것을 특징으로 하는 방법. And decoding the original image data using the partial information and the final auxiliary information.
  2. 제 1 항에 있어서, 상기 일부 정보는 상기 원 영상 데이터에 대한 패리티(parity) 비트열인 것을 특징으로 하는 방법. The method of claim 1, wherein the partial information is a parity bit string for the original image data.
  3. 제 1 항에 있어서, 상기 보조 정보는 프레임(frame) 단위로 생성되는 것을 특징으로 하는 방법. The method of claim 1, wherein the auxiliary information is generated in units of frames.
  4. 제 1 항에 있어서, 상기 최종 보조 정보는 The method of claim 1, wherein the final assistance information is
    상기 복수의 보조 정보 각각을 상기 일부 정보와 터보(turbo) 디코딩하여 생성된 복호된 보조 정보 각각에서 선택된 비트들로 생성되는 것을 특징으로 하되, 상기 선택된 비트들은 상기 터보 디코딩 과정에서 발생하는 토글(toggle) 횟수를 기준으로 선택되는 방법. And a plurality of bits selected from each of the decoded auxiliary information generated by turbo decoding each of the plurality of pieces of auxiliary information, wherein the selected bits are toggled generated during the turbo decoding process. ) Is selected based on the number of times.
  5. 제 4 항에 있어서, 상기 복수의 보조 정보 각각이 비트열로 구성되는 경우, 상기 최종 보조 정보는 상기 복호된 보조 정보 각각에서 토글 횟수가 가장 작은 비트를 선택하여 생성되는 것을 특징으로 하는 방법.The method of claim 4, wherein when each of the plurality of auxiliary information is configured in a bit string, the final auxiliary information is generated by selecting a bit having the smallest number of toggles in each of the decoded auxiliary information.
  6. 제 4 항에 있어서, 상기 최종 보조 정보는 상기 복호된 보조 정보 각각에서 블록 단위로 선택되어 생성되는 것을 특징으로 하는 방법. The method of claim 4, wherein the final auxiliary information is selected and generated in units of blocks from each of the decoded auxiliary information.
  7. 제 6 항에 있어서, 상기 최종 보조 정보는 The method of claim 6, wherein the final assistance information is
    토글 횟수가 동일한 블록이 서로 다른 복호된 보조 정보에서 발생하는 경우, 프레임 단위로 토글 횟수가 가장 적은 복호된 보조 정보의 블록이 선택되어 생성되는 것을 특징으로 하는 방법. If a block having the same number of toggles is generated from different pieces of decoded auxiliary information, a block of decoded auxiliary information having the smallest number of toggles is selected and generated in units of frames.
  8. 제 6 항에 있어서, 상기 최종 보조 정보는The method of claim 6, wherein the final assistance information is
    토글 횟수가 동일한 블록이 서로 다른 복호된 보조 정보에서 발생하는 경우, 상기 토글 횟수가 동일한 블록과 인접한 블록의 토글 횟수가 더 작은 블록을 선택하는 것을 특징으로 하는 방법. If a block having the same number of toggles is generated from different decoded auxiliary information, a block having a smaller number of toggles of a block having the same number of toggles and an adjacent block is selected.
  9. 원 영상을 예측하여 복수의 보조 정보를 생성하는 보조 정보 생성기;An auxiliary information generator for predicting an original image and generating a plurality of auxiliary information;
    외부로부터 상기 원 영상(original image) 데이터에 대한 일부 정보를 수신하여, 상기 복수의 보조 정보 각각에 터보 디코딩하여 복호된 보조 정보를 생성하는 제 1 터보 디코더;A first turbo decoder configured to receive some information on the original image data from an external source, and turbo decode each of the plurality of auxiliary information to generate decoded auxiliary information;
    상기 복호된 보조 정보를 입력받아 토글 횟수를 기준으로 최종 보조 정보를 생성하는 비트 선택기(bit selector); 및 A bit selector for receiving the decoded auxiliary information and generating final auxiliary information based on the number of toggles; And
    상기 원 영상 데이터에 대한 일부 정보 및 상기 최종 보조 정보를 이용하여 상기 원 영상 데이터를 복원하는 제 2 터보 디코더를 포함하는 것을 특징으로 하는 디코더. And a second turbo decoder which restores the original image data by using the partial information and the final auxiliary information about the original image data.
  10. 제 9 항에 있어서, 상기 최종 보조 정보는 The method of claim 9, wherein the final assistance information is
    상기 복수의 보조 정보 각각을 상기 일부 정보와 터보(turbo) 디코딩하여 생성된 복호된 보조 정보 각각에서 선택된 비트들로 생성되는 것을 특징으로 하되, 상기 선택된 비트들은 상기 터보 디코딩 과정에서 발생하는 토글(toggle) 횟수를 기준으로 선택되는 디코더. And a plurality of bits selected from each of the decoded side information generated by turbo decoding each of the plurality of side information with the partial information, wherein the selected bits are toggles generated during the turbo decoding process. ) Decoder selected based on the number of times.
PCT/KR2009/004632 2008-08-21 2009-08-20 Method and apparatus for decoding video image WO2010021496A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20080081893 2008-08-21
KR10-2008-0081893 2008-08-21

Publications (2)

Publication Number Publication Date
WO2010021496A2 true WO2010021496A2 (en) 2010-02-25
WO2010021496A3 WO2010021496A3 (en) 2010-06-03

Family

ID=41707565

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2009/004632 WO2010021496A2 (en) 2008-08-21 2009-08-20 Method and apparatus for decoding video image

Country Status (2)

Country Link
KR (1) KR101075328B1 (en)
WO (1) WO2010021496A2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040128696A1 (en) * 2002-12-27 2004-07-01 Broadcom Corporation Turbo coding for upstream and downstream transmission in cable systems
US20070165722A1 (en) * 2002-09-06 2007-07-19 Fujitsu Limited Motion picture encoding device and motion picture decoding device
US20080046939A1 (en) * 2006-07-26 2008-02-21 Microsoft Corporation Bitstream Switching in Multiple Bit-Rate Video Streaming Environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070165722A1 (en) * 2002-09-06 2007-07-19 Fujitsu Limited Motion picture encoding device and motion picture decoding device
US20040128696A1 (en) * 2002-12-27 2004-07-01 Broadcom Corporation Turbo coding for upstream and downstream transmission in cable systems
US20080046939A1 (en) * 2006-07-26 2008-02-21 Microsoft Corporation Bitstream Switching in Multiple Bit-Rate Video Streaming Environments

Also Published As

Publication number Publication date
KR101075328B1 (en) 2011-10-19
WO2010021496A3 (en) 2010-06-03
KR20100023764A (en) 2010-03-04

Similar Documents

Publication Publication Date Title
EP0577327B1 (en) Efficient frequency scalable video encoding with coefficient selection
KR0129558B1 (en) Adaptive variable length coding method and apparatus
CN1056489C (en) Transcoding device
EP1529401A1 (en) System and method for rate-distortion optimized data partitioning for video coding using backward adaptation
US7003034B2 (en) Fine granularity scalability encoding/decoding apparatus and method
KR20020014770A (en) Coded signal separating and merging apparatus, method and computer program product
KR101041973B1 (en) Flag encoding method, flag decoding method, and apparatus thereof
JPH08331559A (en) Image coding and decoding method and its device
CN101755464A (en) Line based video rate control and compression
KR20090018090A (en) Image data compression device, compression method, program, and image data decompression device, decompression method, and program
US8199817B2 (en) Method for error concealment in decoding of moving picture and decoding apparatus using the same
JP2002519955A (en) Image encoding device and image decoding device
US20070165717A1 (en) System and method for rate-distortion optimized data partitioning for video coding using parametric rate-distortion model
KR20010080666A (en) Improvement of fine granularity scalability using bit plane coding of transform coefficients
KR100359671B1 (en) Encoder and decoder
KR20050031460A (en) Method and apparatus for performing multiple description motion compensation using hybrid predictive codes
GB2308768A (en) Video encoding based on inter block redundancy
Illgner et al. Mobile multimedia communications in a universal telecommunications network
Li et al. Data partitioning and reversible variable length codes for robust video communications
US20060133497A1 (en) Method and apparatus for encoding/decoding video signal using motion vectors of pictures at different temporal decomposition level
CN1302667C (en) Length variable coding method
WO2010021496A2 (en) Method and apparatus for decoding video image
JP2004511978A (en) Motion vector compression
CN101411203A (en) Adaptive encoder-assisted frame rate up conversion
US20170094374A1 (en) Method and Device for Mapping a Data Stream into an SDI Channel

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09808400

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09808400

Country of ref document: EP

Kind code of ref document: A2