KR20020073961A - coding method based on optimal search pattern of Error Resilient Entropy Coding and Apparatus thereof - Google Patents
coding method based on optimal search pattern of Error Resilient Entropy Coding and Apparatus thereof Download PDFInfo
- Publication number
- KR20020073961A KR20020073961A KR1020010013936A KR20010013936A KR20020073961A KR 20020073961 A KR20020073961 A KR 20020073961A KR 1020010013936 A KR1020010013936 A KR 1020010013936A KR 20010013936 A KR20010013936 A KR 20010013936A KR 20020073961 A KR20020073961 A KR 20020073961A
- Authority
- KR
- South Korea
- Prior art keywords
- error
- macroblock
- decoding
- entropy coding
- error resilient
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/88—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
본 발명은 오류 회복성을 가지는 영상 부호화(error resilient video coding) 방법에 관한 것으로, 특히 오류 회복성 엔트로피 부호화(error resilient entropy, EREC)로 알려진 오류 처리 기법에 근거한 효율적인 영상 부호화 방법 및 장치에 관한 것이다.The present invention relates to an error resilient video coding method, and more particularly, to an efficient image coding method and apparatus based on an error processing technique known as error resilient entropy (EREC). .
오류 회복성 엔트로피 부호화는 부호화된 비트열을 슬롯(slot)이라 불리우는 데이터 구조로 재배치함으로써, 복호에 필요한 중요 비트들의 시작 위치를 복호기가 미리 알게 하는 방법이다. 예를 들어, 움직임 벡터 추정을 위한 기본 단위인 매크로블록(macroblock: MB)마다 오류 회복성 엔트로피 부호화 알고리듬을 적용하는 경우, 매 슬롯의 처음에는 언제나 새로운 매크로블록이 시작되기 때문에, 전송 오류가 검출되는 경우 다음번 슬롯 (또는 매크로블록)에서 복호를 새로이 수행할 수 있게 되어 신속한 재동기가 가능하게 된다.Error resilient entropy encoding is a method in which the decoder knows in advance the starting positions of important bits necessary for decoding by rearranging the coded bit stream into a data structure called a slot. For example, when the error resilient entropy encoding algorithm is applied to each macroblock (MB) that is a basic unit for motion vector estimation, a transmission error is detected because a new macroblock is always started at the beginning of every slot. In this case, new decoding can be performed in the next slot (or macroblock), thereby enabling fast resynchronization.
이러한 개념은 데이비드 더블유 레드밀 및 닉 지 킹스베리(David W. Redmill and Nick G. kingsbury)에 의해, 1996년 4월 IEEE Trans. Image processing에 게제된 "가변 길이 블록의 데이터를 부호화하기 위한 에러 회복성 기술(an error resilient technique for coding variable-length blocks of data)"이라는 제목의논문을 통해 소개되었다. 엔트로피 부호화의 경우 에러가 발생하면, 에러가 계속 전파되는 단점이 있었는데, 상기 논문에서는 이를 개선하기 위해, 가변 길이의 블록을 일정한 길이의 슬롯으로 재정렬 시켜, 채널 에러의 효과적인 고립화를 구현함으로써, 에러의 전파가 방지되도록 하였다.This concept was published by David W. Redmill and Nick G. kingsbury in April 1996, by IEEE Trans. It was introduced in a paper entitled "an error resilient technique for coding variable-length blocks of data" published in Image Processing. In the case of entropy encoding, when an error occurs, the error continues to propagate. In order to improve this problem, in order to improve the error, by rearranging a variable length block into a slot of a constant length, an effective isolation of the channel error is realized. Propagation was prevented.
또한, 알 찬드라모울리(R. Chandramouli) 등에 의해, 1998년 8월 IEEE Trans. Circuits and System for Video Technology에 게재된 "영상 전송을 위한 적응 양자화 및 고속 에러 회복성 엔트로피 부호화(adaptive quantization and fast error-resilient entropy coding for image transmission)"라는 제목의 논문에서는 자연 영상에서 발생하는 데이터의 내재적 특성을 이용하여 오류 회복 엔트로피 부호화 시스템의 복잡도를 낮추고, 이를 통해 보다 우수한 복원 화질을 얻는다는 것을 발표하였다.In addition, R. Chandramouli et al., Aug. 1998, IEEE Trans. In the paper entitled "adaptive quantization and fast error-resilient entropy coding for image transmission," published in Circuits and System for Video Technology, The inherent characteristics are used to reduce the complexity of the error recovery entropy coding system, and to obtain better reconstructed picture quality.
또한, 이러한 방식은 토시오 미키 등에 의해, 1995년 11월 Dallas에서 개최된 MPEG-4 회의에서 엔티티도코모(NTTDoCoMo)에 의해 제안된 오류 회복성 영상 부호화 알고리즘(error resilient video coding algorithm)에 관한 기술 설명서에서도 중요한 오류 회복 기법으로 포함된 바 있다. 그 후, 김 인철 등에 의해 2000년 4월 IEEE Trans. Circuits and System for Video Technology에 발표된 H.263 비트 스트림의 강인한 전송을 위한 오류 회복성 엔트로피 부호화에 기초한 계층적 동기화 기술(hierarchical synchronization technique based on the error resilient error coding)을 통하여 계층적 구조를 가지는 알고리즘으로 확장되었다.This approach is also described in the technical manual on error resilient video coding algorithms proposed by NTTDoCoMo at the MPEG-4 conference held in November 1995 in Dallas, by Toshio Mickey et al. It has been included as an important error recovery technique. Since then, in April 2000 by Kim In-cheol et al. Hierarchical synchronization technique based on the error resilient error coding based on error resilient entropy coding for robust transmission of H.263 bit streams presented in Circuits and System for Video Technology Has been extended.
도 1은 오류 회복성 엔트로피 부호화의 비트열 재배치 알고리듬을 도시하고있다. 도 1을 참고하면, 알고리즘의 첫 단계에서는 각 블록에 상응하는 슬롯에 가능한한 많은 비트들을 배치시킨다. 그러면, 도시된 바와 같이 더 저장해야할 비트들이 남은 블록들 및 빈 공간을 가지는 슬롯들이 존재하게 된다. 알고리즘의 두번째 단계 이후에서는 남은 비트들을 특정한 탐색 패턴에 따라 빈 공간에 배치하게 된다. 도 1에서는 여러 탐색 패턴들 중 단방향 탐색 패턴에 따라 첫 번째 단계 이후에 남은 비트들을 배치하는 것을 도시하고 있다.Figure 1 illustrates a bitstream relocation algorithm of error resilient entropy coding. Referring to FIG. 1, the first step of the algorithm places as many bits as possible in the slot corresponding to each block. Then, as shown, there will be blocks having more bits left to be stored and slots having empty space. After the second step of the algorithm, the remaining bits are placed in the empty space according to a specific search pattern. FIG. 1 illustrates disposing bits remaining after the first step according to a unidirectional search pattern among several search patterns.
이러한 오류 회복성 엔트로피 부호화 기법을 적용하는 경우, 전송 오류에 대해 매우 빠른 재동기를 얻을 수는 있지만, 오류가 발생하지 않은 다른 블록들에 존재하는 뒷부분 정보를 희생해야 한다. 예를 들어, 도 1의 단계 6에서 비트열의 재배치가 완료된 슬롯들을 복호화하는 경우, 슬롯 2에 에러가 존재하면, 복호시 전송 오류를 포함하는 슬롯의 데이터는 아직 복호를 수행해야 할 블록에서 더 이상 참조할 수 없기 때문에, 첫 번째 매크로블록은 오류 회복성 엔트로피 부호화에 의해 슬롯 3 및 슬롯 4에 배치된 정보를 잃어버리게 된다.When this error resilient entropy coding technique is applied, a very fast resynchronization can be obtained for a transmission error, but at the expense of later information existing in other blocks in which an error does not occur. For example, in the case of decoding the slots in which the rearrangement of the bit string is completed in step 6 of FIG. 1, if an error exists in the slot 2, the data of the slot including the transmission error during decoding is no longer in the block to be decoded yet. Since it cannot be referenced, the first macroblock loses information placed in slots 3 and 4 by error resilient entropy coding.
이와 같이, 종래에는 오류 회복성 엔트로피 부호화를 사용하여 빠른 재 동기를 얻는 시스템에서 단방향, 양방향, 혹은 빠른 탐색 모드를 사용하는 경우, 복호 단계가 진행함에 따라, 발생한 전송 오류가 급속히 전파되는 문제점이 있었다.As described above, when a unidirectional, bidirectional, or fast search mode is used in a system that obtains fast resynchronization by using error resilient entropy coding, a transmission error that has occurred is rapidly propagated as the decoding step proceeds. .
일반적으로 뒷부분의 데이터는 고주파 영역의 이산 여현 변환(discrete cosine transform: DCT) 계수 등 헤더 정보나 움직임 정보에 비해 상대적으로 덜 중요한 정보로 알려지긴 했지만, 오류 회복성 엔트로피 부호화에서의 오류 전파는 복호 알고리즘을 수행하면서 매 단계마다 점점 더 심화되어, 복원 영상의 화질 열화를 초래하게 된다.In general, the latter data is known as less important information than the header or motion information such as the discrete cosine transform (DCT) coefficient in the high frequency domain, but the error propagation in the error resilient entropy coding is a decoding algorithm. While performing the step, each step becomes deeper, resulting in deterioration of the quality of the reconstructed image.
또한, 오류 회복성 엔트로피 부호화를 수행하는 단위를 적절히 선정하지 않는 경우에는 전송 오류에 의한 오류 회복성 엔트로피 부호화 에러 전파가 심화되어, 때로는 영상의 상당 부분에 해당하는 막대한 양의 정보를 폐기해야하는 문제가 있었다.In addition, when a unit for performing error resilient entropy encoding is not properly selected, error resilient entropy encoding error propagation due to transmission error is intensified, and sometimes a large amount of information corresponding to a large portion of an image needs to be discarded. there was.
본 발명이 이루고자 하는 기술적 과제는, 부호화 된 비트열을 재배치하는 과정에서, 오류 회복성 엔트로피 부호화의 오류 전파 및 추정 복원 영상의 화질 열화를 최소로 하는 탐색 패턴을 사용함으로써 복호시에 나타나는 급속한 오류 전파를 방지하고 최적의 복원 영상을 얻을 수 있도록 하기 위한 것이다.The technical problem to be achieved by the present invention is rapid error propagation that appears during decoding by using a search pattern that minimizes error propagation of error resilient entropy coding and image quality deterioration of the estimated reconstructed image in the process of relocating the coded bit stream. This is to prevent the error and to obtain an optimal reconstructed image.
또한, 본 발명은 오류 회복성 엔트로피 부호화 기법에 기반한 정지 및 동영상 부호/복호 시스템을 설계하는 경우, 오류 회복성 엔트로피 부호화의 오류 전파특성을 개선하여, 전송 오류에 보다 강인하고 우수한 복원 영상을 얻을 수 있는 부호화/복호화 방법 및 장치를 제공하기 위한 것이다.In addition, when designing a still and moving picture code / decoding system based on an error resilient entropy coding scheme, the present invention improves error propagation characteristics of error resilient entropy coding, thereby obtaining a more robust and superior reconstructed image for transmission error. The present invention provides an encoding / decoding method and apparatus.
또한, 본 발명은 빠른 재동기를 추구하는 오류 회복성 엔트로피 부호화 부호기법의 비트열 재배치 단위를 선정하는 단계에도 본 발명의 복원 영상 화질 열화 추정 기법을 적용함으로써 더욱 향상된 화질의 복원 영상을 얻을 수 있도록 하기 위한 것이다.In addition, the present invention is to apply a reconstruction image quality deterioration estimation technique of the present invention even in the step of selecting a bit string relocation unit of the error resilient entropy encoding coding method for fast resynchronization to obtain a further improved image quality It is to.
도 1은 오류 회복성 엔트로피 부호화의 비트열 재배치 알고리즘을 도시하는 도면BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 illustrates a bit string relocation algorithm of error resilient entropy coding.
도 2는 본 발명에 따른 부호화기 및 복호화기를 도시하는 블록도2 is a block diagram illustrating an encoder and a decoder according to the present invention.
도 3은 본 발명에 따른 부호화기의 비트열 문법 구조를 도시하는 블록도3 is a block diagram illustrating a bit string grammar structure of an encoder according to the present invention.
도 4는 본 발명에 따른 실시예에서 k번째 탐색 단계에서 I번째 매크로블록의 복호를 도시하는 도면4 is a diagram illustrating decoding of an I-th macroblock in a k-th search step in an embodiment according to the present invention.
도 5는 오류 회복성 엔트로피 부호화의 단계별 비트 재배열 과정을 도시하는 도면5 illustrates a stepwise rearrangement process of error resilient entropy encoding.
도 6은 오류 회복성 엔트로피 부호화의 i번째 매크로블록 비트열의 수렴과정을 도시하는 도면6 is a diagram illustrating a convergence process of an i-th macroblock bit string of error resilient entropy encoding.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
22: 부호부 24,33:비트열 저장부22: coder 24,33: bit string storage unit
26: 탐색패턴 결정부 28:엔트로피 부호화부26: search pattern determination unit 28: entropy coding unit
31: 비트스트림 32: 초기정보 복호부31: bitstream 32: initial information decoder
34: 블록상태 저장부 35: 버퍼34: block state storage unit 35: buffer
37: 가변장 복호부37: variable length decoder
상기 기술적 과제를 해결하기 위한 본 발명에 따른 부호부에는, 기본적인 동영상 부호기의 기능 블록들(functional blocks)외에, 부호화된 각 매크로 블록의 비트열을 오류 회복성 엔트로피 부호화 단위만큼 개별적으로 저장하기 위한 임시 비트열저장부, 오류 회복성 엔트로피 부호화 단위 내에서 발생된 각 매크로 블록의 비트수를 입력받아 최적 탐색 패턴 (searching pattern)을 결정하기 위한 탐색 패턴 결정부, 및 정의된 최적 탐색 패턴에 따라 발생한 비트열을 재구성하는 오류 회복성 엔트로피 부호부를 포함한다.In the coder according to the present invention for solving the above technical problem, in addition to the functional blocks of the basic video encoder, a temporary for separately storing the bit stream of each encoded macroblock by an error resilient entropy coding unit A bit string storage unit, a search pattern determiner for determining an optimal search pattern by receiving the number of bits of each macroblock generated in the error resilient entropy coding unit, and bits generated according to the defined optimal search pattern Error recovery entropy code to reconstruct the column.
또한, 본 발명에 따른 복호부에서는 기본적인 동영상 복호기의 기능 블록들 외에, 오류 회복성 엔트로피 부호화의 복호를 위한 기본 정보를 검출하고 첫 번째 오류 회복성 엔트로피 부호화의 복호를 수행하기 위한 초기 정보 복호부, 전송된 비트열을 슬롯의 크기 만큼 개별적으로 임시 저장하기 위한 임시 비트열 저장부, 매크로 블록 내 각 블록의 DCT 계수의 복호 상태를 저장하기 위한 복호 상태 저장부, 각 슬롯에서 사용되고 남은 비트 수를 저장하기 위한 슬롯 상태 저장부, 및 효율적으로 반복적 가변장 복호를 수행할 수 있는 가변장 복호부를 포함한다.In addition, the decoder according to the present invention, in addition to the functional blocks of the basic video decoder, the initial information decoder for detecting the basic information for decoding the error resilient entropy encoding and decoding the first error resilient entropy encoding, Temporary bit string storage unit for temporarily storing the transmitted bit strings individually by the size of the slot, Decoded state storage unit for storing the decoded state of the DCT coefficients of each block in the macro block, Storing the number of bits used in each slot And a slot state storage unit for performing the variable length decoding, which can perform repetitive variable length decoding efficiently.
또한, 본 발명에 따른 오류 회복성 엔트로피 부호화를 기반으로 하는 부호화 방법에 있어서, 입력된 신호를 부호화하는 단계와, 상기 부호화된 비트열을 오류 회복성 엔트로피 부호화 단위로 저장하는 단계와, 상기 오류 회복성 엔트로피 부호화 단위에서의 각각의 매크로블록의 발생 비트 수를 결정하는 단계와, 상기 결정된 비트 수로부터 최적의 탐색 패턴을 결정하는 단계를 포함한다.Further, in an encoding method based on error resilient entropy encoding according to the present invention, the method includes: encoding an input signal, storing the encoded bit string as an error resilient entropy coding unit, and recovering the error. Determining the number of bits of occurrence of each macroblock in the sex entropy coding unit, and determining an optimal search pattern from the determined number of bits.
도 2는 본 발명에 따른 부호기(20) 및 복호기(30)를 도시하고 있다. 부호기(20)는 입력되는 원 영상을 부호화하기 위한 기본적인 기능 블록들이 설치된동영상 부호부(22)와, 상기 동영상 부호부(22)에서 부호화된 영상의 각 매크로블록의 비트열을 오류 회복성 엔트로피 부호화 단위 만큼, 예를 들어 하나의 픽쳐 또는 GOB 단위로, 개별적으로 저장하기 위한 임시 비트열 저장부(24)와, 상기 동영상 부호부(22)에서 부호화되어 상기 임시 비트열 저장부(24)에 저장된 각 매크로블록의 비트 수 정보로부터 최적의 탐색 패턴을 결정하기 위한 탐색 패턴 결정부(26)와, 상기 결정된 최적의 탐색 패턴에 따라 상기 임시 비트열 저장부(24)에 저장된 비트열을 재구성하는 오류 회복성 엔트로피 부호화부(28)를 포함한다.2 shows an encoder 20 and a decoder 30 according to the present invention. The encoder 20 performs error resilient entropy encoding on a video encoder 22 having basic functional blocks for encoding an input original image, and a bit string of each macroblock of an image encoded by the video encoder 22. A temporary bit string storage unit 24 for storing individually by units, for example, in a single picture or GOB unit, and is encoded in the video coder 22 and stored in the temporary bit string storage unit 24. A search pattern determiner 26 for determining an optimal search pattern from bit number information of each macroblock, and an error of reconstructing the bit stream stored in the temporary bit string storage unit 24 according to the determined optimal search pattern. A resilient entropy encoder 28 is included.
복호기(30)는 기본적인 동영상 복호기의 기능 블록들 외에, 오류 회복성 엔트로피 부호화된 비트 스트림(31)으로부터 복호화를 위한 기본 정보를 검출하고 첫번째 오류 회복성 엔트로피 부호의 복호를 수행하기 위한 초기 정보 복호부(32)와, 전송된 비트열을 슬롯의 크기 만큼 개별적으로 임시 저장하기 위한 임시 비트열 저장부(33)와, 매크로 블록 내 각 블록의 DCT 계수의 블록 상태 저장부(34)와, 각 슬롯에서 사용되고 남은 비트 수를 저장하기 위한 슬롯 상태 저장부(36)와, 효율적으로 반복적 가변장 복호를 수행할 수 있는 가변장 복호부(37)를 포함한다.In addition to the functional blocks of the basic video decoder, the decoder 30 detects basic information for decoding from the error resilient entropy coded bit stream 31 and performs initial decoding of the first error resilient entropy code. (32), a temporary bit string storage section 33 for temporarily storing the transmitted bit stream individually by the size of the slot, a block state storage section 34 of the DCT coefficients of each block in the macro block, and each slot A slot state storage unit 36 for storing the remaining number of bits used in the and a variable length decoder 37 capable of efficiently performing repeated variable length decoding.
도 2에서 오류 회복성 엔트로피 부호화 및 복호화를 위한 구성 중 탐색 패턴 결정부(26)와 오류 회복성 엔트로피 부호화 부호기 및 복호기에서 사용되는 매크로 블록의 구성은 본 발명의 이하 상세 기술을 따르지만, 그 외의 구성은 종래의 기술을 따라 수행된다.In FIG. 2, the configuration of the macroblocks used in the search pattern determination unit 26 and the error resilient entropy encoder and decoder in the configuration for error resilient entropy encoding and decoding follows the detailed description of the present invention. Is performed according to the prior art.
도 3은 본 발명에서 사용하는 부호기의 비트열 문법 구조를 도시한다. 도 3에서 사용된 필드들의 구문론적 의미는 이하에서 설명한다.3 shows a bit string grammar structure of an encoder used in the present invention. The syntactic meaning of the fields used in FIG. 3 is described below.
각각의 영상에 대한 데이터는 영상 헤더(picture head)와 영상 헤더에 후속하는 매크로블록 그룹(group of macroblock, 이하 "GOB"라함)으로 이루어져 있으며, 이 영상 헤더는 도 3에 도시된 PSC, NOG× 3, TR, PTYPE, PQUANT 등과 같은 필드들을 포함한다. 이들 필드의 의미는 아래와 같으며, 생략된 내용은 H.263에서와 동일하다.The data for each picture is composed of a picture header and a group of macroblocks (hereinafter referred to as "GOBs") following the picture header. The picture header is a PSC, NOG x shown in FIG. Fields such as 3, TR, PTYPE, PQUANT, and the like. The meaning of these fields is as follows, and the omitted contents are the same as in H.263.
PSC는 픽쳐 개시 코드(picture start code)로서, 본 실시예에서는 26 비트 워드로 이루어져 있으며, 1111 1001 1100 1111 1100 1110 01의 값이 주어진다.The PSC is a picture start code, which is comprised of 26 bit words in this embodiment, and is given a value of 1111 1001 1100 1111 1100 1110 01.
NOG × 3은 픽쳐 레이어에 포함된 GOB의 수를 표시한다. NOG × 3는 9비트 워드로서, 동일한 값을 가지는 3개의 3 비트 워드로 이루어진 NOG로 이루어져 있다.NOG × 3 indicates the number of GOBs included in the picture layer. NOG × 3 is a 9-bit word and consists of a NOG consisting of three 3-bit words having the same value.
TR은 타임 레퍼런스(time reference)를 표시하며, 5비트 워드로 이루어져 있고, 각 비트 워드의 의미는 H.263의 픽쳐 헤드에서와 동일하다.The TR indicates a time reference and consists of 5 bit words, meaning each bit word is the same as in the picture head of H.263.
PTYPE은 픽쳐 타입(Picture type)을 표시하며, 11비트 워드로 이루어져 있고, 각 비트 워드의 의미는 H.263의 픽쳐 헤드에서와 동일하다.PTYPE indicates a picture type, which is composed of 11 bit words, and the meaning of each bit word is the same as in the picture head of H.263.
PQUANT는 양자화 정보(quantizer information)를 표시하며, 5비트로 이루어져 있고, 각 비트 워드는 H.263의 픽쳐 헤드에서와 동일하다.PQUANT represents quantizer information and consists of 5 bits, each bit word being the same as in the picture head of H.263.
GFL은 GOB 프레임 길이(group of block frame length)를 표시하며, 각각의 GOB의 슬롯 길이를 나타낸다. GOB들은 가장 짧은 슬롯에서 가장 긴 슬롯의 순서로 배치되어 있다. 마지막 GOB에 대한 GFL은 GOB 슬롯의 길이 자체의 이진 값을 의미하며, 다른 GOB에 대한 GFL들은 해당 GOB의 슬롯의 길이와 다음 GOB의 슬롯 길이와의 차이값을 나타낸다. 마지막 GFL에 대한 코드 워드는 8비트이고, 나머지 GFL에 대한 코드워드는 6비트이다. GFL 필드(field)는 NOG의 횟수만큼 반복된다. 또한, 마지막 GFL 값이 256을 넘거나 또는 나머지 GFL 값이 64를 넘는 경우, ESCAPE 값으로서 0이 사용된다. 만일 GFL 필드가 ESCAPE인 경우, 도 3에 도시된 바와 같이 해당 GOB에 대해 LGFL 필드가 존재한다.The GFL indicates the group of block frame length and indicates the slot length of each GOB. GOBs are arranged in order from the shortest slot to the longest slot. The GFL for the last GOB represents the binary value of the length of the GOB slot itself, and the GFLs for the other GOBs represent the difference between the slot length of that GOB and the slot length of the next GOB. The code word for the last GFL is 8 bits and the code word for the remaining GFLs is 6 bits. The GFL field is repeated the number of times of NOG. In addition, if the last GFL value exceeds 256 or the remaining GFL values exceed 64, 0 is used as the ESCAPE value. If the GFL field is ESCAPE, there is an LGFL field for the GOB as shown in FIG.
COD는 부호화된 매크로블록의 표시(coded macroblock indication)로서, 해당 매크로블록이 부호화 되었는지 여부를 나타내는 플래그, 즉 해당 매크로블록이 부호화되었는지 또는 스킵되었는지를 나타내는 플래그이다. NOG가 1, 2, 또는 3인 경우 이 필드의 코드 워드의 길이는 2비트이고, NOG가 그 이상인 경우에는 3비트이다. 이 필드는 매크로블록의 수에 따라 반복되고 (예를 들어, QCIF 포맷의 경우 99번), 그 순서는 좌상단의 매크로블록 (매크로블록 번호 = 0)으로부터 우하단의 매크로블록 (매크로블록 번호 = 98)이다. 이 순서는 H.263에서와 동일하다. 만일 해당 매크로블록이 부호화되지 않은 경우, COD 필드는 0으로 설정된다 (2비트의 코드 워드의 경우에는 00, 3비트의 코드 워드의 경우에는 000). 해당 매크로블록이 부호화된 경우에는, 이 코드워드의 비트들은 해당 매크로블록이 포함된 GOB의 번호를 표시한다. 예를 들어, COD가 1 인 경우, 해당 매크로블록이 첫 번째 GOB에 포함된 것을 나타낸다.COD is a coded macroblock indication, which is a flag indicating whether the macroblock is encoded, that is, a flag indicating whether the macroblock is encoded or skipped. If the NOG is 1, 2, or 3, the code word length of this field is 2 bits, and if the NOG is more than 3 bits. This field is repeated according to the number of macroblocks (e.g. 99 for QCIF format) and the order is from the top left macroblock (macroblock number = 0) to the bottom right macroblock (macroblock number = 98). )to be. This sequence is the same as in H.263. If the macroblock is not encoded, the COD field is set to 0 (00 for a 2-bit code word, 000 for a 3-bit code word). If the macroblock is encoded, the bits of this codeword indicate the number of the GOB that contains the macroblock. For example, if the COD is 1, this indicates that the macroblock is included in the first GOB.
SP은 탐색 패턴(searching pattern)을 표시하며, 이 필드는 가변 길이이다.SP indicates a search pattern, and this field is variable length.
이 코드는 1 비트 플래그에 이어 플래그가 1인 경우 ceil(log2(M)) 비트의 탐색 패턴이 위치하는 구조를 가지며, NOG 필드에 정의된 GOB 개수만큼 반복된다.여기서 ceil()은 올림 함수를, 그리고 M은 COD 필드로부터 결정되는 특정 GOB에 속하는 매크로 블록의 수를 의미한다.This code has a structure in which the search pattern of ceil (log2 (M)) bits is located when the 1-bit flag is followed by 1, and the loop is repeated by the number of GOBs defined in the NOG field. And M denote the number of macro blocks belonging to a specific GOB determined from the COD field.
하나의 GOB에 대해 최대 M-1개의 탐색 패턴이 존재할 수 있으며, 첫 번째 비트가 0이어서 SP 항이 존재하지 않는 경우, 해당 GOB의 오류 회복성 엔트로피 부호화 복호는 양방향 탐색을 따라 수행된다. 또한, 특정 GOB를 위한 SP 항의 개수가 M-1보다 작을 때에도 정해진 마지막 탐색 패턴 이후를 양방향 탐색으로 복호하도록 하는 것이 바람직하다. 예를 들어, 영상의 한 프레임을 3개의 GOB로 구성하였고, 각 GOB에 5개, 4개, 3개의 매크로 블록이 있는 경우, 전송된 SP의 비트열이 10111001011100이라 가정하자. 각 GOB에 속하는 매크로 블록의 수에 따라, 최초 GOB는 플래그 다음을 따라오는 탐색 패턴이 3bit로 표현되며, 다음 2개의 GOB는 각각 2 bit로 표현된다.There may be a maximum of M-1 search patterns for one GOB, and if the first bit is 0 and there are no SP terms, the error resilient entropy encoding decoding of the corresponding GOB is performed according to a bidirectional search. In addition, even when the number of SP terms for a particular GOB is less than M-1, it is preferable to decode the bidirectional search after the determined last search pattern. For example, if one frame of an image is composed of three GOBs, and each GOB has five, four, and three macro blocks, it is assumed that the bit string of the transmitted SP is 10111001011100. According to the number of macroblocks belonging to each GOB, the first GOB is represented by a 3 bit search pattern following the flag, and the next two GOBs are represented by 2 bits.
따라서, 비트열의 처음 101110010까지가 첫 번째 GOB를 위한 탐색 패턴이고, 그 다음 1110과 0이 각각 다음 두 GOB를 위한 탐색 패턴이다. 비트열로부터 첫번째 GOB의 처음 두 탐색 패턴은 각각 3, 1이고, 두 번째 GOB의 처음 탐색 패턴은 3이며, 마지막 GOB는 양방향 탐색을 수행하게 된다. 결국, 각 GOB의 탐색 패턴은 각각 3, 1, 2, 5, 4와 3, 4, 2, 1과 1, 3, 2로 정의된다.Thus, the first 101110010 of the bit string is the search pattern for the first GOB, and then 1110 and 0 are the search patterns for the next two GOBs, respectively. From the bit string, the first two search patterns of the first GOB are 3 and 1, respectively, the first search pattern of the second GOB is 3, and the last GOB performs a bidirectional search. As a result, the search pattern of each GOB is defined as 3, 1, 2, 5, 4 and 3, 4, 2, 1 and 1, 3, 2, respectively.
탐색 패턴이 정의되면, 그 순서에 따라 각 GOB의 복호가 수행되는데, 하나의 GOB의 모든 매크로 블록의 복호가 끝날 때까지 혹은 모든 탐색 패턴이 사용될 때까지 가변장 복호가 반복된다.Once the search pattern is defined, decoding of each GOB is performed in that order, and variable length decoding is repeated until the decoding of all macro blocks of one GOB is completed or until all search patterns are used.
이하에서는 도 1 및 도 2를 참조하여, 본 발명의 탐색 패턴 결정부가 수행하는 역할 및 그 작용에 대해 설명한다.Hereinafter, with reference to FIGS. 1 and 2, a role and a function of the search pattern determination unit of the present invention will be described.
우선, 오류 회복성 엔트로피 부호화의 오류 전파 특성을 분석하기 위해 전이 확률 ε 을 가지는 이진 대칭 채널 (binary symmetric channel)을 생각해 보자. 이하에서는, j번째 매크로 블록 비트열의 길이를 bj라 하고, i번째 슬롯의 길이를 si라 표시한다. 또한, i번째 매크로 블록의 복호를 DMBi라하고, ek를 k 번째 탐색 이내에 발생하는 오류가 발생하는 사건(event)이라고 표시한다.First, consider a binary symmetric channel with a transition probability ε to analyze the error propagation characteristics of error resilient entropy coding. Hereinafter, the length of the j-th macroblock bit string is denoted by b j , and the length of the i-th slot is denoted by s i . Decoding of the i-th macroblock is called DMB i , and e k is denoted as an event in which an error occurring within the k-th search occurs.
따라서, i번째 매크로 블록의 k번째 단계에서, 오류 회복성 엔트로피 부호화 복호에서 복호 오류가 발생하는 사건을 ek(DMBi)로 표시할 수 있으며, 오류 회복성 엔트로피 부호화 오류 전파 특성의 분석은 탐색 패턴 p(k)에 대한 함수로 확률 Pr{ek(DMBi)를 계산함으로써 이루어질 수 있다.Therefore, in the k-th step of the i-th macroblock, an event in which a decoding error occurs in error-resilient entropy encoding decoding can be represented by e k (DMB i ), and the analysis of error-resilient entropy encoding error propagation characteristics is searched. It can be achieved by calculating the probability Pr {e k (DMB i ) as a function of the pattern p (k).
상기의 경우, p(k)는 복호시 적용되는 탐색 패턴을 의미하는 것이므로, i번째 매크로 블록의 비트열을 재배열하기 위해서는 k번째 탐색과정에서 i+p(k)번째 슬롯을 탐색한다.In the above case, since p (k) means a search pattern applied during decoding, in order to rearrange the bit string of the i-th macroblock, the i + p (k) -th slot is searched in the k-th search process.
예를 들어, i번째 매크로 블록이 오류 회복성 엔트로피 부호화의 k번째 복호 단계까지 복호가 완료되지 않아 (i + p(k) mod N) 번째 슬롯을 탐색하고 있다고 생각해 보자. 여기에서, mod는 모듈로 연산을 의미하며, N은 현재 복호가 진행중인 GOB에 속한 매크로 블록의 수를 나타낸다.For example, suppose that the i-th macroblock is searching for the (i + p (k) mod N) th slot because the decoding is not completed until the k th decoding step of the error resilient entropy encoding. Here, mod denotes a modulo operation, and N denotes the number of macro blocks belonging to the GOB currently being decoded.
부호화시 각 매크로 블록의 비트열이 재배열되는 과정에서, i번째 매크로 블록의 비트열이 k번째 탐색을 통해 (i+p(k) mod N)번째 슬롯에 일부 저장된 경우, 저장된 i번째 매크로 블록의 비트열을 bi+p(k)로 나타내고, (i+p(k) mod N)번째 슬롯에 저장된 비트열들이 원래 속해있던 매크로블록의 인덱스를 Ii+p(k)로 표현한다.In the process of rearranging the bit string of each macro block during encoding, if the bit string of the i-th macro block is partially stored in the (i + p (k) mod N) th slot through the k th search, the stored i th macro block The bit string of is denoted by b i + p (k) and the index of the macroblock to which the bit strings stored in the (i + p (k) mod N) th slot originally belongs is denoted by I i + p (k) .
이와 같이 재배열된 비트열을 복호하는 경우, i번째 매크로 블록은 (i + p(k) mod N) 번째 슬롯에 k번째 오류 회복성 엔트로피 부호화에 따른 부호화에서 기록했던 자신의 비트열 bi+p(k)을 참조하여 복호를 수행한다.In the case of decoding the rearranged bit strings, the i-th macroblock has its own bit string b i + recorded in encoding according to the k-th error resilient entropy encoding in the (i + p (k) mod N) th slot. Decoding is performed by referring to p (k) .
이하에서는, 부호화의 과정을 단계별로 설명한 후, 복호부에서 발생할 수 있는 복호 오류를 생각해 보기로 한다.Hereinafter, after describing the encoding process step by step, it will be considered a decoding error that can occur in the decoder.
우선, k=0인 첫 단계에서, 발생한 각 매크로블록의 비트열은 자신과 같은 인덱스에 해당하는 슬롯에 채워질 수 있는 만큼 채워진다. 이때, bi< si인 경우에는 블록 오류 회복성 엔트로피 부호화의 결과로 슬롯의 내부에 빈 공간이 남게 되고, bi> si인 경우에는 슬롯에 채워지지 않은 여분의 비트열이 매크로블록의 뒷 부분에 차례로 모여있게 될 것이다.First, in the first step where k = 0, the bit string of each macroblock that is generated is filled as much as can be filled in the slot corresponding to the same index. In this case, if b i <s i , an empty space remains inside the slot as a result of block error resilience entropy encoding. If b i > s i , an extra bit string not filled in the slot is included in the macroblock. You will gather in turn later.
따라서, 첫 번째 단계의 복호에서 오류가 생길 확률은 다음과 같이 생각할 수 있다.Therefore, the probability that an error occurs in the first stage of decoding can be considered as follows.
[수학식1][Equation 1]
k=1 인 경우, i 번째 매크로블록이 bi< si인 경우에는, 이 매크로블록의 복호는 다른 슬롯의 오류 여부에 관계 없이 수행되므로, Pr{e1(DMBi) = Pr{e0(DMBi)가 될 것이다.If k = 1, when the i-th macroblock is b i <s i , decoding of this macroblock is performed regardless of whether an error is in another slot, so Pr {e 1 (DMB i ) = Pr {e 0 Will be (DMB i ).
하지만, bi≥si인 경우에는 i번째 매크로블록의 복호를 위해 (i+p(1) mod N)번째 슬롯의 정보가 필요한데, 이 정보는 (i+p(1) mod N)번째 슬롯에 저장된 bi+p(1)의 오류에만 국한되지 않는다.However, when b i ≥ s i , information of the (i + p (1) mod N) slot is needed to decode the i-th macroblock, which is the (i + p (1) mod N) slot. It is not limited to errors in b i + p (1) stored in.
이는 다음과 같이 두 가지 경우로 생각해 볼 수 있는데, 우선 bi+p(1)≠, 즉 i+p(1) 슬롯에 i번째 매크로블록의 비트열이 저장된 경우를 고려하면, i 번째 매크로블록의 복호에 오류가 없도록 하기 위해서는 bi+p(1)에 오류가 없어야 함과 동시에 si+p(1)에 0번째 단계에서 기록된 비트열에도 오류가 없어야 한다. 이는, 상기 si+p(1)에 0번째 단계에서 기록된 비트열에 전송 오류가 발생한 경우에는, si+p(1)의 0번째 단계 복호에서 오류가 발생해 bi+p(1)의 오류 여부에 상관없이 잘못된 정보를 i번째 매크로블록에 넘겨주게 되기 때문이다.We can think of this as two cases: b i + p (1) ≠ That is, considering that the bit sequence of the i-th macroblock is stored in the i + p (1) slot, b i + p (1) must be free of errors in order to ensure that there is no error in decoding of the i-th macroblock. s i + p (1) must have no errors in the bit string written in step 0. This, the s i + p, if (1) the bit stream transmitted error recorded in the 0th stage in has occurred, s i + p in (1) the 0-th stage decoding of the error is generated b i + p (1) This is because wrong information is passed to the i-th macroblock regardless of an error of.
마찬가지로, bi+p(1)=즉, i+p(1) 슬롯에 i번째 매크로블록의 비트열이 저장되지 않는 경우에는 실제로 i 번째 매크로블록의 복호를 위해 넘겨받을 데이터가 i+p(1)번째 슬롯에는 존재하지 않지만, 0 번째 복호에서 i+p(1)번째 슬롯에 기록된 다른 매크로블록의 비트열에 오류가 생기는 경우, 잘못된 비트열을 i 번째 매크로블록 복호에 전달할 수 있다. 즉, 현재 탐색하는 i+p(1)번째 슬롯에 기록된 다른 매크로블록의 비트열에 오류가 생기는 경우, i 번째 매크로블록의 복호에 그 오류가 전파될 수 있다. 이러한 오류의 전파는 탐색의 단계가 3번째 이상 (즉, k>1)인 경우 훨씬 더 심화될 수 있다.Similarly, b i + p (1) = That is, when the bit string of the i-th macroblock is not stored in the i + p (1) slot, the data to be transferred for decoding the i-th macroblock does not exist in the i + p (1) -th slot, but 0 If an error occurs in the bit string of another macroblock recorded in the i + p (1) th slot in the first decoding, an incorrect bit string may be transferred to the i-th macroblock decoding. That is, when an error occurs in the bit string of another macroblock recorded in the i + p (1) th slot to be searched, the error may be propagated to the decoding of the i th macroblock. This propagation of errors can be even more severe if the search phase is more than three times (ie k> 1).
이하에서는, 도 4에 도시된 i+p(k)번째 슬롯에 저장된 비트열을 참고로, k번째 탐색 단계에서 i 번째 매크로블록의 복호화를 설명한다.Hereinafter, the decoding of the i-th macroblock in the k-th search step will be described with reference to the bit string stored in the i + p (k) -th slot shown in FIG. 4.
도 4를 참조하면, k 번째 탐색 단계에서, i 번째 매크로 블록의 복호를 고려하는 것으로, k-1 번째 탐색 단계에서 j 번째 매크로블록의 데이터가 블록 1과 블록 3 사이에 미리 놓여있는 것을 볼 수 있다. 앞서 k=1인 경우의 오류 전파 해석에서와 마찬가지로, 탐색을 수행할 i+p(k) 번째 슬롯에 존재하는 i+p(1)번째 매크로블록의 비트열 (도 4에서 그림자 쳐진 부분), j 번째 매크로블록의 비트열 bi+p(k-1)및 bi+p(k)모두가 i 번째 매크로블록의 복호에 영향을 주게된다.Referring to FIG. 4, in the k-th search step, considering decoding of the i-th macro block, it can be seen that data of the j-th macroblock is previously placed between blocks 1 and 3 in the k-1 th search step. have. As in the error propagation analysis in the case of k = 1, the bit string of the i + p (1) -th macroblock present in the i + p (k) -th slot to be searched (shadowed in FIG. 4), The bit strings b i + p (k-1) and b i + p (k) of the j-th macroblock affect the decoding of the i-th macroblock.
여기에서, i 번째 매크로블록 복호의 오류에 더욱 치명적인 역할을 하는 것은 j 번째 매크로블록의 데이터 bj+P(k-1)인데 그 이유는 다음과 같다. j 번째 매크로블록의 관점에서 보면, 비트열 bj+p(k-1)은 k-1번의 탐색을 통해 재배열된 마지막 비트 정보이다 (마지막 비트 정보가 아니라면, bj+p(k-1)뒷부분에 j 번째 매크로블록의 비트열이 더 존재할 것이다). 즉, j 번째 매크로블록의 복호는 sj에서 시작해서 sj+p(1), . . . sj+p(k-1)의 탐색을 거치면서 수행되었을 것이다. 따라서, j 번째 매크로블록 복호를 위해 탐색했던 이러한 슬롯들에 포함된 데이터에 오류가 발생하는 경우에는, j 번째 매크로블록의 복호에 bj+p(k-1)데이터가 정확히 전달되지 않게 되고, i 번째 매크로블록의 복호에도 오류가 발생하게 된다.Here, the more critical role for the error of the i-th macroblock decoding is the data b j + P (k-1) of the j-th macroblock, for the following reason. From the point of view of the j-th macroblock, the bit string b j + p (k-1) is the last bit information rearranged through k-1 searches (if not the last bit information, b j + p (k-1). ) there will be more bits of the j-th macroblock in the back). That is, the decoding of the j-th macroblock starts at s j and starts with s j + p (1),. . . s j + p (k-1) would have been performed. Therefore, when an error occurs in data included in these slots searched for j-th macroblock decoding, b j + p (k-1) data is not correctly transmitted to decoding of the j-th macroblock, An error also occurs in decoding the i-th macroblock.
본 실시예에서는 최악의 오류 회복성 엔트로피 부호화(이하, "EREC" 라함) 오류 전파 특성을 분석하기 위해 다음과 같은 가정을 둔다.In this embodiment, the following assumptions are made to analyze the worst case error resilient entropy coding (hereinafter referred to as "EREC") error propagation characteristics.
1. 한번 복호 오류가 발생한 매크로 블록은 EREC 복호가 계속 진행되어도 오류가 발생한 채 남아있게 된다.1. A macro block in which a decoding error occurs once remains in error even if EREC decoding continues.
2. 복호 오류로 인해 잘못된 비트열을 전달했던 슬롯은 EREC 복호가 진행되면서 계속 잘못된 비트열을 제공하게 된다.2. A slot that has transmitted an incorrect bit string due to a decoding error continues to provide the wrong bit string as the EREC decoding proceeds.
3. 복호 오류없이 복호가 진행되던 매크로 블록이 오류가 있는 슬롯을 참조해 복호를 진행하게 되면 오류가 발생한다.3. If a macro block that has been decoded without a decoding error refers to an error slot and decodes, an error occurs.
4. 오류없이 비트열을 제공하던 슬롯이 오류를 수반한 블록에 의해 참조되면 잘못된 비트열을 제공하게 되고 오류가 있는 슬롯이 된다.4. If a slot that provided a bit string without error is referenced by a block that contains an error, it will provide the wrong bit string and become a faulty slot.
위 가정에 근거하여 오류 회복성 엔트로피 부호화 복호 오류의 전파 특성을 수학식으로 표현하면, [수학식 2] 와 같은 재귀 공식으로 나타날 수 있다.Based on the above assumptions, the propagation characteristics of the error resilient entropy coded decoding error can be expressed by the following equation.
[수학식 2][Equation 2]
여기서, e~k-1(DMBi)는 ek-1(DMBi)의 여사건을 표현하는 것으로 i 번째 매크로 블록이 k-1 번째 오류 회복성 엔트로피 부호화 복호까지 오류 없이 복호되는 사건을 의미하고, ek(hi+p(k))는 i 번째 매크로 블록의 k 번째 복호에서 (i + p(k))mod N번째 슬롯으로부터 제공받는 정보에 오류가 발생하는 사건을 뜻하며 [수학식3] 과 같이 정의된다.Here, e ~ k-1 (DMB i ) represents an event of e k-1 (DMB i ), which means that the i th macroblock is decoded without error until the k-1 th error resilient entropy encoding decoding. And e k (h i + p (k) ) indicates an event in which an error occurs in the information provided from (i + p (k)) mod Nth slot in the k th decoding of the i th macroblock. 3].
[수학식3][Equation 3]
여기서, (i+p(k))modN번째 슬롯에 i번째 매크로 블록의 비트가 포함되어 있지 않은 경우라도 (즉, bi+p(k)=), hi+p(k)는 null 사건 (확률이 0으로 정의되는 사건)이 되지 않는다는 점에 주의해야 한다. 즉, bi+p(k)=일지라도 넘겨 받을 정보 hi+p(k)는 null이 아니고, 복호가 다 끝난 매크로블록에 대해서만 null 사건으로 정의된다는 것이다. 예를 들어, bi≤ si인 경우에는 언제나Here, even if (i + p (k)) modN-th slot does not include the bit of the i-th macroblock (that is, b i + p (k) = Note that h i + p (k) is not a null event (an event with probability 0 defined). That is, b i + p (k) = Even though the information h i + p (k) is not null, it is defined as a null event only for the decoded macroblock. For example, whenever b i ≤ s i
[수학식4][Equation 4]
이다.to be.
이하에서는, 상기 유도된 [수학식2] 의 오류 회복성 엔트로피 부호화 오류 전파 확률을 이용해 복호단에서 얻을 수 있는 복원 영상 화질 열화를 추정하기 위한 방법을 상세히 설명한다.Hereinafter, a method for estimating deteriorated image quality degradation obtained by a decoding end using the derived error recovery entropy coding error propagation probability of Equation 2 will be described in detail.
일반적으로, 한 프레임 내 특정 매크로 블록의 복호에 오류가 발생하는 경우그 매크로 블록은 오류 은닉 방법에 의해 복원된다. i번째 매크로 블록을 MBi로 나타내고, 이 매크로 블록의 오류 은닉을 위해 사용될 같은 크기의 영상 블록을 EMBi로 표시한다. MBi의 각 화소에서 이에 대응하는 EMBi의 화소값을 빼고, 이를 각각 제곱한 후 (또는 절대값을 취한 후) 모두 더한 값을 MBi의 오류 활동도 (error activity)라 정의하고 이를 ai로 표현하자. 그러면, 특정 탐색 패턴 p(k)를 사용하는 경우 복호단의 복원 영상에 나타나는 화질 열화는 다음과 같이 표현된다.In general, when an error occurs in decoding of a specific macro block in one frame, the macro block is restored by an error concealment method. The i-th macro block is denoted by MB i , and an image block of the same size to be used for error concealment of this macro block is denoted by EMB i . Subtract the pixel value of the corresponding EMB i from each pixel of MB i , square each of them (or take the absolute value), and add them together to define the error activity of MB i and call it a i Let's express it. Then, when a specific search pattern p (k) is used, image quality deterioration that appears in the reconstructed image of the decoding end is expressed as follows.
[수학식 5][Equation 5]
최적의 탐색 패턴 결정은 [수학식5] 에 명시된 측도 계산을 통해 가능한 모든 탐색 패턴 중 하나를 선출함으로써 수행된다. 하지만, [수학식5] 의 직접적 계산이 초래하는 계산상의 복잡도가 지나치게 높다고 판단되는 경우, 다음과 같은 근사 방식을 사용할 수 있다.Optimal search pattern determination is performed by selecting one of all possible search patterns through the measure calculation specified in Equation (5). However, if it is determined that the computational complexity caused by the direct calculation of Equation 5 is too high, the following approximation method can be used.
<복원 화질 열화 측도 산출 방식><Calculation method of restoration quality deterioration measure>
(입력): (input):
(출력): J(p(k))(Output): J (p (k))
를 계산한다. Calculate
를 계산한다. Calculate
을 계산한다. Calculate
상기 측도 산출 방식에서는 오류 없이 복호된 이전 프레임의 i번째 매크로 블록을, L(hi+p(k))는 hi+p(k)가 오류 없이 전달되기 위해 전송 오류가 야기되지 말아야할 관련된 비트열의 길이를, L(bi+p(k))는 bi+p(k)의 길이를 나타내며 ni는 연결 비트 리스트 (linked bit-list)라 정의한다. 또한 3번 계산에서 >>는 오른쪽 쉬프트 연산 (right shift operation)을 나타낸다.In the measure calculation method Is the i-th macroblock of the previous frame decoded without error, and L (h i + p (k) ) is the length of the associated bit string where no transmission error should occur in order for h i + p (k) to be passed without error. , L (b i + p (k) ) denotes the length of b i + p (k) and n i is defined as a linked bit-list. Also, in calculation 3, >> stands for right shift operation.
상기 명시된 오류 회복성 엔트로피 부호화의 오류 전파 특성에서 유추할 수 있듯이, 각 매크로 블록 비트열의 크기가 크게 상이한 경우 이들 매크로 블록을 하나의 단위로 모아 오류 회복성 엔트로피 부호화를 수행하게 되면 복호의 후반부로 갈수록 급속히 오류가 전파되어 간다.As can be deduced from the error propagation characteristics of the above-mentioned error resilient entropy encoding, if the size of each macroblock bit string is significantly different, these macroblocks are gathered into one unit and error resilient entropy encoding is performed. Error propagates rapidly.
따라서, 한 프레임의 매크로 블록들을 오류 회복성 엔트로피 부호화 수행 기준 단위로 구성함에 있어, Intra 모드로 부호된 매크로 블록들은 따로 GOB를 구성하여 비트열 재배치를 수행할 수 있도록 함으로써, 매크로블록 비트열의 크기가 균일하도록 하여, 크기가 상이한 경우 복호의 후반부로 갈수록 오류가 급속히 전파되어 가는 문제점을 해소한다.Therefore, in configuring the macroblocks of one frame as a criterion for performing error resilience entropy encoding, macroblocks coded in the Intra mode may separately configure GOB to perform bit string relocation, thereby increasing the size of the macroblock bit string. By making it uniform, the problem of error propagating rapidly toward the second half of decoding when the magnitudes are different is eliminated.
또한, 비트열 재배치 운용의 초반 부분이 그 후반에 비해 훨씬 중요한 효과를 거둘 수 있으므로, 가능한 모든 탐색 패턴 중에서 최적 패턴을 구하는 방법 대신 처음 2-3개의 탐색 패턴만이 가능한 모든 조합을 갖고 나머지는 양방향 탐색을수행하는 탐색 패턴 중에서 복원 화질 열화 측도가 최소가 되는 탐색 패턴을 산출해 사용할 수 있다.In addition, the early part of the bitstream relocation operation can have a much more significant effect than the latter part, so instead of obtaining the optimal pattern among all possible search patterns, the combination of only the first 2-3 search patterns is possible and the rest is bidirectional. A search pattern in which the reconstructed picture quality deterioration measure is minimum can be calculated and used among the search patterns for searching.
도 5는 EREC 부호화 단계별 비트 재배열 과정을 도시하고 있다. 이하에서는 도 5를 참조하여 탐색 패턴에 따른 EREC 오류 전파 특성을 상세히 설명한다.5 illustrates a bit rearrangement process for each EREC encoding step. Hereinafter, the EREC error propagation characteristics according to the search pattern will be described in detail with reference to FIG. 5.
우선, 상기에서의 해석을 토대로 EREC 복호를 수행하면서, 각 매크로 블록에 생기는 복원 오류를 계산해 보자. 아래와 같이 4개의 매크로 블록으로 이루어진 영상을 고려해 본다. AWGN (additive white gaussian noise) 채널의 전이 확률 ε의 값을 0.01이라 하고, 문제를 간단히 하기 위해서, 내부 블록에 대한 고려는 하지 않고, 발생한 각 매크로 블록의 비트열이 특정한 탐색 패턴에 따라 4개의 슬롯에 재배열되는 과정만을 살펴본다.First, while performing EREC decoding based on the above analysis, let's calculate the restoration error occurring in each macro block. Consider the following image, which consists of four macro blocks. The transition probability ε of the additive white gaussian noise (AWGN) channel is 0.01, and for the sake of simplicity, the bit stream of each generated macroblock is divided into four slots according to a specific search pattern without considering the internal block. Only look at the process of rearrangement.
도 5에서와 같이 각 매크로 블록에 13, 6, 10, 3 비트가 발생한 경우, 전체 비트수가 32로 한 슬롯의 길이는 8이 될 것이다.When 13, 6, 10, and 3 bits are generated in each macro block as shown in FIG. 5, the slot length of which the total number of bits is 32 will be 8.
단방향 탐색을 통해, 발생한 각 비트열은 도 5와 같이 재배열된다. 0번째 단계에서, 각 매크로 블록에 발생한 비트열은 각 매크로 블록에 해당하는 슬롯에 채울 수 있는 만큼 채워지고 남는 비트는 도 5에 도시된 바와 같이 슬롯 뒤에 위치하게 될 것이다. 이때, 복호단의 입장에서 각 매크로 블록의 0번째 단계 복호를 고려해 보면, [수학식 1] 에 의해 복호에 오류가 생길 확률을 계산할 수 있다.Through the one-way search, each generated bit string is rearranged as shown in FIG. 5. In the 0 th step, the bit string generated in each macro block is filled as much as possible to fill the slot corresponding to each macro block, and the remaining bits will be located behind the slot as shown in FIG. At this time, considering the 0-step decoding of each macroblock from the decoding stage, it is possible to calculate the probability that an error occurs in decoding by Equation 1.
즉, 0번째 매크로 블록의 경우 Pr{e0(DMB0)} = 1-(1-ε)8= 0.0773이 되고, 1번째 매크로 블록의 경우 Pr{e0(DMB1)} = 1-(1-ε)6= 0.0585가 된다.That is, for the 0th macroblock, Pr {e 0 (DMB 0 )} = 1- (1-ε) 8 = 0.0773, and for the 1st macroblock, Pr {e 0 (DMB 1 )} = 1- ( 1-ε) 6 = 0.0585.
이제 1번째 탐색 단계의 오류 전파를 살펴보자. 0번째 매크로블록의 경우 첫번째 탐색에서 1번째 슬롯에 두 비트의 데이터 00을 저장하게 된다. 따라서, 0번째 매크로블록의 1번째 탐색을 통한 복호 과정에서 e1(h0+p(1))은 1번째 슬롯에 기록되어 있던 1번째 MB의 데이터 110010에 오류가 발생하거나 또는 b0+p(1)= 00에 오류가 발생하는 경우로 이루어진다. 다시 말해, 0번째 MB의 복호를 위해 0번째 복호에서는 오류가 발생하지 않고, 첫 번째 탐색에서 0+p(1)번째 슬롯으로부터 넘겨받는 정보에 오류가 생길 확률은 다음과 같이 계산될 수 있다.Now let's look at the error propagation of the first search phase. In the case of the 0th macroblock, two bits of data 00 are stored in the first slot in the first search. Therefore, in the decoding process through the first search of the 0th macroblock, e 1 (h 0 + p (1) ) causes an error in the data 110010 of the 1st MB recorded in the 1st slot or b 0 + p (1) = 00 occurs when an error occurs. In other words, the error does not occur in the 0th decoding for decoding the 0th MB, and the probability that an error occurs in the information received from the 0 + p (1) th slot in the first search may be calculated as follows.
마찬가지로, 2번째 MB의 1번째 탐색에서 야기되는 복호 오류도 계산될 수 있다. 다만, 1번째와 3번째 MB의 경우에는 0번째 복호에서 오류가 발생하지 않았다면 더 이상 참조해야할 정보가 없기 때문에 복호 오류가 그대로 유지된다.Similarly, the decoding error resulting from the first search of the second MB can also be calculated. However, in the case of the 1st and 3rd MB, the decoding error is maintained since there is no more information to refer to if the error has not occurred in the 0th decoding.
이하에서는, 2번째 탐색의 경우를 살펴 본다. 우선 0번째 MB의 2번째 탐색을 통한 복호에서, 0번째 MB는 넘겨받을 비트열이 존재하는지 2번째 슬롯을 검색하게 될 것이다. 만일 지금 탐색하는 2번째 슬롯에 오류가 발생했다고 가정해 보자.Hereinafter, the case of the second search will be described. First, in decoding through the second search of the 0 th MB, the 0 th MB will search the second slot to see if there is a bit string to be passed. Suppose there is an error in the second slot you are searching for now.
언제나 그런 것은 아니지만, 2번째 MB 데이터에 오류가 발생해 2번째 슬롯에 채워진 데이터 중 일부만을 통해 2번째 MB의 복호가 모두 끝나버릴 수 있다.This is not always the case, but the second MB of data may fail and the decoding of the second MB may be ended by only some of the data filled in the second slot.
본 실시예에서 고려하는 오류 전파의 특성은 최악의 경우를 고려하는 것으로, 2번째 슬롯에서 오류가 발생하는 경우 0번째 매크로 블록의 복호에 언제나 잘못된 비트열(혹은 정보)이 전달되는 것으로 가정한다. 따라서, 2번째 탐색에서 잘못된 정보를 제공받아 0번째 MB의 복호에 오류가 나타날 확률은 다음과 같이 계산될 수 있다.The characteristic of the error propagation considered in the present embodiment is to consider the worst case, and assume that the wrong bit string (or information) is always transmitted to the decoding of the 0th macroblock when an error occurs in the second slot. Therefore, the probability that an error appears in decoding of the 0th MB by receiving wrong information in the second search may be calculated as follows.
2번째 MB의 2번째 탐색의 경우는, 1번째 탐색에까지 아무런 오류가 발생하지 않고 복호된 경우 2번째 탐색에서 넘겨 받을 정보가 없으므로, 더 이상의 오류 전파가 생기지 않는다. 이제 마지막으로, 3번째 탐색에서 발생하는 오류 전파를 계산해 보자. 3번째 탐색의 경우 0번째 MB를 제외하고는 이미 다른 MB들은 모두 복호를 마쳤기 때문에, 더 이상의 오류 전파가 발생하지 않는다.In the case of the second search of the second MB, no error occurs until the first search, and if decoded, there is no information to be passed in the second search, so no further error propagation occurs. Finally, let's calculate the error propagation that occurs in the third search. In the case of the third search, since all other MBs have already been decoded except the 0th MB, no further error propagation occurs.
이하에서는, 0번째 MB의 3번째 탐색을 살펴본다. 우선 탐색을 수행하게 될 3번째 슬롯에는 이미 3번째 블록의 비트열과 2번째 블록의 비트열이 저장되었고, 그 뒤에 0번째 MB의 데이터가 놓여있었다. 그러면, 다음의 사건을 생각해 보자.Hereinafter, the third search of the 0th MB will be described. In the third slot to be searched, the bit string of the third block and the bit string of the second block are already stored, followed by the 0th MB data. Then consider the following event.
여기서, 대괄호 안의 사건은 도 5의 3번째 단계에서 2번째 슬롯과 3번째 슬롯에 포함된 모든 전송 오류를 나타내고, 반면는 2번째 탐색까지 0번째 MB 복호에 관여했던 모든 데이터들, 즉 도 5에서 0번째 슬롯, 1번째 슬롯, 그리고 2번째 슬롯의 비트열에 하나도 오류가 발생하지 않는 사건을 표현한다. 따라서 그 확률은 0번째, 1번째, 2번째 슬롯의 모든 비트에 오류가 발생하지 않고, 다만 3번째 슬롯의 데이터 중 오류가 발생할 확률로서 다음과 같이 계산된다.Here, the case in square brackets represents all transmission errors included in the second slot and the third slot in the third step of FIG. Denotes an event in which all the data involved in the 0th MB decoding until the 2nd search, that is, no error occurs in the bit strings of the 0th slot, the 1st slot, and the 2nd slot in FIG. 5. Therefore, the probability does not occur in all bits of the 0th, 1st, and 2nd slots, but is calculated as follows as a probability that an error occurs in the data of the 3rd slot.
상기 기술한 EREC 오류 전파 특성 분석을 살펴보면, 복호 오류에 영향을 미치는 가장 큰 요인은 부호화된 i번째 MB 비트열이 수렴할 때까지 몇 번의 탐색을 수행하며, 탐색하는 슬롯들에 탐색을 개시하기 이전에 어떤 MB의 비트열들이 미리 저장되었지 여부임을 알 수 있다.Looking at the EREC error propagation characteristic described above, the biggest factor influencing the decoding error is performing several searches until the encoded i-th MB bit string converges, and before starting the search in the searched slots. It can be seen whether the MB bit strings are stored in advance.
이와 같이, 본 발명은 부호화 된 비트열을 재배치하는 과정에서, 오류 회복성 엔트로피 부호화의 오류 전파 및 추정 복원 영상의 화질 열화를 최소로 하는 탐색 패턴을 사용함으로써 복호시에 나타나는 급속한 오류 전파를 방지하고 최적의 복원 영상을 얻을 수 있는 효과가 있다. 또한, 빠른 재동기를 추구하는 오류 회복성 엔트로피 부호화 부호 기법의 비트열 재배치 단위를 선정하는 단계에도 본 발명의 복원 영상 화질 열화 추정 기법을 적용함으로써 더욱 향상된 화질의 복원 영상을 얻을 수 있는 효과가 있다.As described above, the present invention prevents rapid error propagation during decoding by using a search pattern that minimizes error propagation of error resilient entropy encoding and image quality deterioration of the estimated reconstructed image in the process of relocating the coded bit stream. It is effective to obtain an optimal reconstructed image. In addition, even in the step of selecting a bit string relocation unit of the error resilient entropy encoding code scheme for fast resynchronization, a reconstructed image having a further improved image quality may be obtained by applying the reconstructed image quality degradation estimation technique of the present invention. .
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010013936A KR20020073961A (en) | 2001-03-17 | 2001-03-17 | coding method based on optimal search pattern of Error Resilient Entropy Coding and Apparatus thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010013936A KR20020073961A (en) | 2001-03-17 | 2001-03-17 | coding method based on optimal search pattern of Error Resilient Entropy Coding and Apparatus thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20020073961A true KR20020073961A (en) | 2002-09-28 |
Family
ID=27697794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020010013936A KR20020073961A (en) | 2001-03-17 | 2001-03-17 | coding method based on optimal search pattern of Error Resilient Entropy Coding and Apparatus thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20020073961A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2463974A (en) * | 2008-10-01 | 2010-04-07 | Peter Graham Craven | Improved lossy coding of signals |
-
2001
- 2001-03-17 KR KR1020010013936A patent/KR20020073961A/en not_active Application Discontinuation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2463974A (en) * | 2008-10-01 | 2010-04-07 | Peter Graham Craven | Improved lossy coding of signals |
GB2463974B (en) * | 2008-10-01 | 2011-02-16 | Peter Graham Craven | Improved lossy coding of signals |
US8533571B2 (en) | 2008-10-01 | 2013-09-10 | Peter Graham Craven | Lossy coding of signals |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Redmill et al. | The EREC: An error-resilient technique for coding variable-length blocks of data | |
KR100928127B1 (en) | Method and apparatus for error recovery using intra-slice resynchronization points | |
US10425661B2 (en) | Method for protecting a video frame sequence against packet loss | |
JP4537583B2 (en) | Error concealment of video signal | |
CA2788754C (en) | Parallel entropy coding and decoding methods and devices | |
KR20000069256A (en) | Variable length decoder and decoding method | |
KR102123620B1 (en) | Method and apparatus for entropy encoding or entropy decoding of video signals for large-scale parallel processing | |
KR100987777B1 (en) | Decoding method and decoding apparatus for preventing of error propagation and parallel processing | |
JP7477178B2 (en) | Method and apparatus for image compression - Patents.com | |
US6804299B2 (en) | Methods and systems for reducing requantization-originated generational error in predictive video streams using motion compensation | |
Li et al. | Data partitioning and reversible variable length codes for robust video communications | |
US6356661B1 (en) | Method and device for robust decoding of header information in macroblock-based compressed video data | |
US20140269896A1 (en) | Multi-Frame Compression | |
JPH11341497A (en) | Image coding/decoding device and image coding/decoding method | |
KR20020073961A (en) | coding method based on optimal search pattern of Error Resilient Entropy Coding and Apparatus thereof | |
US20020191698A1 (en) | Video data CODEC system with low computational complexity | |
KR20020023454A (en) | Improved MPEG coding method, moving picture transmitting system and method thereof | |
Nguyen et al. | Content based side information creation for distributed video coding | |
JP2004007766A (en) | Moving image coding device and moving image coding method | |
Tian et al. | Improved H. 264/AVC video broadcast/multicast | |
KR950014020B1 (en) | Error compensation method of macro block appress in decoder | |
Rhaiem et al. | New robust decoding scheme-aware channel condition for video streaming transmission | |
KR100586099B1 (en) | Moving picture coding method | |
KR100195720B1 (en) | A state controller for variable length decoder | |
Li et al. | Error resilient video transmission with adaptive stream-shuffling and bi-directional error concealment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |