KR20030056276A - A system and method for video coding - Google Patents
A system and method for video coding Download PDFInfo
- Publication number
- KR20030056276A KR20030056276A KR1020010086473A KR20010086473A KR20030056276A KR 20030056276 A KR20030056276 A KR 20030056276A KR 1020010086473 A KR1020010086473 A KR 1020010086473A KR 20010086473 A KR20010086473 A KR 20010086473A KR 20030056276 A KR20030056276 A KR 20030056276A
- Authority
- KR
- South Korea
- Prior art keywords
- encoding
- image
- block
- resynchronization
- code
- 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
- H04N19/68—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream
-
- 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/90—Methods 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
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
본 발명은 영상 부호화 장치 및 그 방법에 관한 것으로서, 보다 상세하게는, 영상 부호화시 일정 규칙에 따라 재동기 코드를 삽입하여 정확한 에러 검출을 통한 우수한 화질의 영상 통신을 제공할 수 있는 영상 부호화 장치 및 그 방법에 관한 것이다.The present invention relates to an image encoding apparatus and a method thereof, and more particularly, to an image encoding apparatus capable of providing a high quality image communication through accurate error detection by inserting a resynchronization code according to a predetermined rule during image encoding; It's about how.
일반적으로 전송 또는 저장해야 될 신호를 여러 심볼들의 열로 표현한다고 할 때, 각 심볼들을 소정 길이 부호로 나타내는 것을 부호화(coding)라 한다.In general, when a signal to be transmitted or stored is represented by a string of symbols, the representation of each symbol by a predetermined length code is called encoding.
여기서, 각 심볼들을 동일한 길이의 부호들로 나타내는 것을 고정 길이 부호화(Fixed Length Coding)라 하고, 서로 다른 길이의 부호들로 나타내는 것을 가변 길이 부호화(VLC : Variable Length Coding)라 한다. 이들 각 부호화는 전송 또는저장해야 될 신호량을 줄이기 위한 절차이다.Here, each symbol is represented by fixed length coding (Fixed Length Coding) and the same length is represented by a code of different length is called Variable Length Coding (VLC). Each of these encodings is a procedure for reducing the amount of signal to be transmitted or stored.
이 중 가변 길이 부호화(VLC)에서는 각 심볼들을 서로 다른 길이의 부호들로 나타낼 때, 확률적으로 발생 빈도수가 높은 심볼들에 대해서는 짧은 길이의 부호를 할당하고, 발생 빈도수가 낮은 심볼들에 대해서는 상대적으로 긴 부호를 할당하게된다. 결국 모든 심볼들에 대해 같은 길이의 부호를 할당하는 고정 길이 부호화에 비해 더 작은 비트로써 신호를 표현할 수 있게 된다.In the variable length coding (VLC), when each symbol is represented by a code of a different length, a short length code is assigned to a symbol having a high frequency of occurrence and a relative length is assigned to a symbol having a low frequency of occurrence. As long as you assign a long sign. As a result, it is possible to represent a signal with smaller bits as compared to fixed length coding, which assigns the same length code to all symbols.
그러나, 가변 길이 부호화(VLC)는 신호의 정보량을 압축하는데는 효율적이지만, 채널 에러가 빈번하게 발생하는 환경에서는 고정 길이 부호화에 비해 다음과 같은 단점이 있다.However, although variable length coding (VLC) is effective for compressing the amount of information of a signal, it has the following disadvantages compared to fixed length coding in an environment where channel errors frequently occur.
즉, 고정 길이 부호화의 경우에는 임의의 심볼을 표현한 부호가 채널 에러에 오염되었을 때 그 심볼만 영향을 받게 된다. 그러나, 가변 길이 부호화의 경우에는 각 심볼에 대한 부호마다 고유의 길이가 존재하므로 특정 길이로 부호화된 임의의심볼에 대해 채널 에러가 발생하면, 에러에 오염된 부호가 다른 심볼에 대한 부호로 오인될 수 있기 때문에, 다시 말하면, 각 부호들에 대한 동기 정보까지 손실될 수 있기 때문에 그 해당 심볼만 영향을 받는 것이 아니라 연속되는 다음 부호들까지 손실된다는 것이다.That is, in the case of fixed length coding, when a code representing an arbitrary symbol is contaminated with a channel error, only the symbol is affected. However, in the case of variable length coding, since a unique length exists for each code for each symbol, when a channel error occurs for an arbitrary symbol encoded with a specific length, a code contaminated with the error may be mistaken for a code for another symbol. In other words, because the synchronization information for each code may be lost, not only the corresponding symbol is lost but also the next successive codes.
결국, 채널 에러가 잦은 환경에서 가변 길이 부호화로 정보를 압축하여 전송할 때는 상기한 단점을 보완할 수 있는 방안이 필요하다.As a result, there is a need for a method that can compensate for the above disadvantages when compressing and transmitting information using variable length coding in a channel error environment.
한편, 복호화시 사용되는 재동기 코드로는 픽쳐 개시 부호(picture start code), 비디오 객체 개시 부호(VOP start code), GOB 개시 부호(GOB start code) 및 재동기 마커(Resynchronization marker) 등이 있다.Meanwhile, resynchronization codes used in decoding include a picture start code, a video object start code, a GOB start code, a GOB start code, and a resynchronization marker.
GOB 개시 부호의 경우, 블록 부호화 비트 발생량과는 무관하게 프레임내 일정한 위치의 블록마다 삽입되는 특징이 있다. 그러나, 일반적으로 움직임이 많고 중요한 부분일수록 비트 발생량이 많아지는데, GOB 개시 부호의 경우, 비트 발생량을 고려하지 않기 때문에 중요 부분에 오류가 발생할 확률이 높게 되고 따라서 중요 부분을 효과적으로 보호할 수 없게 되는 문제점이 있다.The GOB start code has a feature of being inserted for each block at a predetermined position in a frame regardless of the amount of block coded bits. However, in general, the more motion and the more important part, the more bits are generated. In the case of the GOB start code, since the bit generation amount is not taken into account, an error is more likely to occur in the critical part, and thus, the important part cannot be effectively protected. There is this.
재동기 마커의 경우, 블록 부호화 시 발생 비트량을 누적하다 일정 문턱치가 되면 재동기 마커를 삽입하는 방법을 사용한다. 이 경우 오류가 발생할 확률이 영상의 움직임에 무관하게 되므로 GOB 개시 부호의 단점을 보완할 수 있다.In the case of the resynchronization marker, a method of inserting the resynchronization marker after accumulating the amount of bits generated during block encoding and reaching a predetermined threshold is used. In this case, since the probability of an error is independent of the motion of the image, the disadvantage of the GOB start code can be compensated for.
그러나, 화면내 재동기 마커의 위치가 일정 규칙을 가지지 못하므로 발생 오류의 전파로 인해 복호화기가 재동기 마커를 검출하지 못하는 경우와 발생 오류로 인한 재동기 마커 에뮬레이션이 발생하는 문제점이 있다.However, since the location of the resynchronization marker in the screen does not have a predetermined rule, there is a problem in that the decoder cannot detect the resynchronization marker due to the propagation of a generation error and resynchronization marker emulation due to the generation error.
따라서, 프레임 내의 오류에 의한 손실을 최소화하고 화질 저하 현상이 지속되는 구간을 최소화하여 채널 오류율이 높은 환경에서도 우수한 화질로 영상 통신이 가능하도록 하는 영상 부호화 시스템이 요구된다.Accordingly, there is a need for an image encoding system that minimizes loss due to an error in a frame and minimizes a period in which image degradation continues, so that image communication can be performed with excellent image quality even in a high channel error rate environment.
본 발명은 위의 문제점을 해결하기 위한 것으로, 본 발명의 목적은 영상 부호화에 따른 각 블록별 비트 스트림의 크기 및 해당 블록의 번호 등을 고려하여 재동기 코드를 일정 규칙에 따라 삽입함으로써, 복호화시 발생되는 오류 검출 및 재 복호화 수행에 따른 오류 강인성 효과를 극대화할 뿐만 아니라, 정확한 에러 검출을 통한 우수한 화질의 영상 통신을 제공할 수 있는 영상 부호화 장치 및 그 방법을 제공하기 위한 것이다.The present invention has been made to solve the above problems, and an object of the present invention is to insert a resynchronization code according to a predetermined rule in consideration of the size of the bit stream of each block and the number of the corresponding block according to video encoding, It is an object of the present invention to provide an image encoding apparatus and method for maximizing error robustness according to error detection and re-decoding performed, and to provide excellent image communication through accurate error detection.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치의 전체적인 블록 구성도이다.1 is a block diagram of an overall image encoding apparatus according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치의 동작 과정을 순차적으로 도시한 흐름도이다.2 is a flowchart sequentially illustrating an operation process of an image encoding apparatus according to an embodiment of the present invention.
도 3은 부호화된 영상의 복호화 과정을 순차적으로 도시한 흐름도이다.3 is a flowchart sequentially illustrating a decoding process of an encoded image.
도 4a 내지 도 4c는 영상 복호화 과정 중 발생하는 에러 검출 및 그를 위한 복구 과정을 설명하기 위한 도면이다.4A to 4C are diagrams for describing an error detection occurring during an image decoding process and a recovery process therefor.
※ 도면의 주요 부분에 대한 부호의 설명 ※※ Explanation of code about main part of drawing ※
100 : 영상 부호화 장치100: video encoding device
110 : 부호화 정보 입력부110: encoding information input unit
120 : 영상 입력부120: video input unit
130 : 재동기 코드 정보부130: resynchronization code information
140 : 부호화부140: encoder
150 : 영상 전송부150: image transmission unit
130 : 복호화 장치130: decoding device
상기한 바와 같은 목적을 실현하기 위한 본 발명의 영상 부호화 방법에 따른 특징은, 외부로부터 인가되는 영상을 재동기 코드를 이용하여 가변 길이로 부호화하는 방법에 있어서, 상기 외부로부터 인가되는 영상을 다수의 블록으로 분할하여 블록별 번호를 부여하는 제1 단계; 상기 인가된 영상의 부호화 정보에 따라, 상기 분할된 블록에 재동기 코드를 삽입하기 위한 일정 규칙을 지정하는 제2 단계; 및 상기 제2 단계에서 지정된 일정 규칙에 따라 상기 분할된 블록에 재동기 코드 삽입하여 부호화하는 제3 단계를 포함하는 것을 특징으로 한다.A feature according to the video encoding method of the present invention for realizing the above object is a method for encoding a video applied from the outside with a variable length using a resynchronization code, wherein a plurality of the video applied from the outside A first step of dividing into blocks and assigning a block number; A second step of designating a predetermined rule for inserting a resynchronization code into the divided block according to encoding information of the applied image; And a third step of inserting and encoding the resynchronization code into the divided block according to the predetermined rule specified in the second step.
이때, 상기 제3 단계는, 상기 분할된 각 블록의 부호화시 발생하는 비트 발생량 크기의 합이 특정의 비트 발생량 문턱치 이상인지를 확인하는 단계; 상기 확인된 비트 발생량 크기의 합이 특정의 비트 발생량 문턱치 이상이면 부호화하기 위한 해당 블록의 번호가 특정 정수배인지를 확인하는 단계; 및 상기 확인된 블록의 번호가 특정 정수배이면 상기 재동기 코드를 상기 블록에 삽입하여 부호화하는 단계를 포함하는 것을 특징으로 한다.In this case, the third step may include: checking whether a sum of bit generation magnitudes generated during encoding of each divided block is equal to or greater than a specific bit generation threshold; Determining whether a number of a corresponding block for encoding is a specific integer multiple if the sum of the identified bit generation amount sizes is equal to or greater than a specific bit generation amount threshold; And encoding the resynchronization code by inserting the resynchronization code into the block if the identified block number is a specific integer multiple.
또한, 상기 영상 부호화 방법을 사용하여 생성된 비트스트림을 전송하는 영상 부호화 장치 있어서, 상기 특정 정수를 복호화 장치로 전달하는 것을 특징으로 한다.In addition, the image encoding apparatus for transmitting a bitstream generated using the image encoding method, characterized in that for transmitting the specific integer to the decoding apparatus.
본 발명의 영상 부호화 장치에 따른 특징은, 외부로부터 인가되는 동영상을 재동기 코드를 이용하여 가변 길이로 부호화하는 장치에 있어서, 상기 외부로부터 인가되는 영상을 다수의 블록으로 분할하여 블록별 번호를 부여하는 블록 분할부; 상기 인가된 영상의 부호화 정보에 따라 상기 분할된 블록에 재동기 코드를 삽입하기 위한 일정 규칙을 지정하는 재동기 코드 삽입 지정부; 상기 지정된 규칙에 따라 상기 분할된 블록에 재동기 코드를 삽입하여 부호화하는 부호화부: 및 상기 부호화부로부터 인가되는 부호화된 영상을 외부의 복호화 장치로 전송하는 영상 전송부를 포함하는 것을 특징으로 한다.A feature according to the video encoding apparatus of the present invention is a device for encoding a video applied from the outside into a variable length using a resynchronization code, wherein the externally divided video is divided into a plurality of blocks and assigned a block number. A block divider; A resynchronization code insertion designation unit which designates a predetermined rule for inserting a resynchronization code into the divided block according to the encoding information of the applied image; And an encoder for inserting and encoding a resynchronization code into the divided block according to the specified rule, and an image transmitter for transmitting an encoded image applied from the encoder to an external decoding apparatus.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명하면다음과 같다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치의 전체적인 블록 구성도이다.1 is a block diagram of an overall image encoding apparatus according to an embodiment of the present invention.
도 1을 보면, 본 발명에 따른 영상 부호화 장치(100)는 부호화 정보 입력부(110), 영상 입력부(120), 재동기 코드 정보부(130), 부호화부(140) 및 영상 전송부(150)를 포함하며, 무선 채널 등을 통해 복호화 장치(160)와 상호 연결되는 것을 특징으로 한다.Referring to FIG. 1, the image encoding apparatus 100 according to the present invention uses the encoding information input unit 110, the image input unit 120, the resynchronization code information unit 130, the encoding unit 140, and the image transmission unit 150. It is characterized in that it is connected to the decoding device 160 through a wireless channel or the like.
부호화 정보 입력부(110)는 외부로부터 입력되는 해당 영상의 부호화 정보, 즉, 부호화시 필요한 파라미터인 비트율, 프레임율, 영상의 크기 및 비디오 패킷 크기(MPEG-4인 경우) 등을 입력 받는다.The encoding information input unit 110 receives encoding information of a corresponding video input from the outside, that is, a bit rate, a frame rate, an image size, and a video packet size (if MPEG-4), which are parameters required for encoding.
재동기 코드 정보부(130)는 부호화 정보 입력부(110)로부터 수신된 해당 영상의 부호화 정보를 이용하여 재동기 코드가 삽입될 수 있는 특정 위치 및 일정한 규칙을 정하여 그에 대한 정보를 저장/관리한다.The resynchronization code information unit 130 uses the encoding information of the corresponding image received from the encoding information input unit 110 to determine a specific position and a predetermined rule into which the resynchronization code can be inserted and store / manage information thereof.
본 발명에서는 해당 블록의 번호가 특정 정수의 정수배이며, 각 블록별 생성되는 비트 스트림의 크기가 소정의 특정 비트 이상이면 해당 블록에 대해 재동기 코드를 삽입하는 것을 특징으로 한다.The present invention is characterized in that a resynchronization code is inserted into a corresponding block if the number of the corresponding block is an integer multiple of a specific integer and the size of the bit stream generated for each block is greater than or equal to a predetermined specific bit.
여기서 재동기 코드란 복호화시의 오류 검출 및 복호화를 위해 사용되는 코드로서, 복호화부(160)의 에러 검출 시 다시 복호화를 시작할 수 있는 시작점이 필요한데, 시작점이 바로 재동기 코드이다.Here, the resynchronization code is a code used for error detection and decoding at the time of decoding. When the error is detected by the decoding unit 160, a starting point for starting decoding can be started again, and the starting point is the resynchronization code.
상기와 같이, 에러 검출에 따른 복호화 수행시 새로운 시작점이 필요한 이유는 서로 다른 길이의 부호들로 나타내는 가변 길이 부호화(VLC) 방법을 통해 해당 영상을 부호화하였기 때문이다.As described above, the reason why a new starting point is required when decoding according to an error detection is that the corresponding image is encoded by a variable length coding (VLC) method represented by codes having different lengths.
부호화부(140)는 부호화 정보 입력부(110)로부터 전송되는 해당 영상의 부호화 정보와 재동기 코드 정보부(130)로부터 전송되는 재동기 코드 정보에 따라, 해당 블록의 부호화를 수행한다.The encoder 140 performs encoding of the corresponding block according to the encoding information of the corresponding image transmitted from the encoding information input unit 110 and the resynchronization code information transmitted from the resynchronization code information unit 130.
즉, 영상 입력부를 통해 수신된 영상의 블록별 비트 스트림의 크기의 합과 문턱치(소정의 기준치)와의 비교 결과 및 해당 블록의 번호 등을 따라 재동기 코드를 삽입하여 부호화한다.That is, the resynchronization code is inserted and encoded according to a result of comparing the sum of the size of the bit stream of each block of the image received through the image input unit with a threshold (predetermined reference value) and the number of the corresponding block.
영상 전송부(150)는 복호화 장치(160)가 부호화된 영상의 복호화시 특정 정수를 이용하여 재동기 코드를 이용할 수 있도록 특정 정수를 복호화 장치(160)로 전송한 후, 부호화된 영상을 유무선 통신망을 통해 상기 복호화 장치(160)로 전송한다.The image transmitting unit 150 transmits the specific integer to the decoding apparatus 160 so that the decoding apparatus 160 may use the resynchronization code by using the specific integer when decoding the encoded image, and then transmits the encoded image to the wired / wireless communication network. Through the transmission to the decoding device 160.
복호화 장치(160)는 부호화 장치(100) 내의 영상 전송부(150)로부터 수신되는 부호화된 영상을 복호화하여 해당 사용자 단말기로 제공하며, 복호화시 검출되는 에러 발생 블록을 지정된 일정 규칙에 따라 삽입한 재동기 코드와 특정 정수를 이용하여 재 복호화한다.The decoding apparatus 160 decodes the encoded image received from the image transmitting unit 150 in the encoding apparatus 100 and provides the encoded image to the corresponding user terminal, and inserts an error occurrence block detected during decoding according to a predetermined rule. Re-decode using sync code and specific integer.
상기와 같은 구조를 이루는 본 발명의 영상 부호화 장치의 동작을 첨부된 영상 부호화 방법의 흐름도를 이용하여 설명하면 다음과 같다.The operation of the video encoding apparatus of the present invention having the above structure will be described using the flowchart of the attached video encoding method as follows.
도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치의 전체적인 동작 과정을 순차적으로 도시한 흐름도이다.2 is a flowchart sequentially illustrating an overall operation of an image encoding apparatus according to an embodiment of the present invention.
도 2를 보면, 부호화부(140)는 영상 입력부(120)로부터 수신(S201)되는 영상을 다수의 블록을 분할한 후 각각의 블록에 대해 번호를 부여한다(S202).Referring to FIG. 2, the encoder 140 divides a plurality of blocks from an image received from the image input unit 120 (S201) and assigns a number to each block (S202).
이후, 분할된 각 블록별 부호화 과정을 수행하는데, 이에 앞서 재동기 코드 삽입 여부를 결정한다. 결정시, 재동기 코드 정보부(130)에 따른 일정 규칙의 만족 여부를 판단하여 재동기 코드를 삽입한다.Subsequently, the encoding process for each divided block is performed. Before this, it is determined whether to insert a resynchronization code. In the determination, the resynchronization code information unit 130 determines whether the predetermined rule is satisfied and inserts the resynchronization code.
이때, 삽입되는 재동기 코드는 본 발명에 따른 소정의 일정 규칙에 따라 해당 블록에 삽입되는데, 우선, 부호화 정보 입력부(110)로부터 수신된 해당 영상의 부호화 정보를 고려한 [수학식 1]의 계산 결과에 따라 특정 정수를 정한다.In this case, the inserted resynchronization code is inserted into the corresponding block according to a predetermined rule according to the present invention. First, the calculation result of [Equation 1] considering the encoding information of the corresponding image received from the encoding information input unit 110. Determine a specific integer according to
[수학식 1]에서 Fr은 프레임율이며, VPThr은 재동기 코드 사이의 비트량 문턱치, MBNum은 프레임내의 블록수, Br은 비트율이다.In Equation 1, Fr is a frame rate, VPThr is a bit amount threshold between resynchronization codes, MBNum is a number of blocks in a frame, and Br is a bit rate.
[수학식 1]의 계산 결과에 따라, 특정 번호(N)의 정수배에 해당하는 번호의 블록에 대해 재동기 코드를 삽입한다. 이때, 고려해야할 다른 규칙은 부호화시 발생하는 비트 발생량이 소정 비트 이상이 되면, 해당 블록에 재동기 코드를 삽입하는 것이다.According to the calculation result of [Equation 1], a resynchronization code is inserted into a block of a number corresponding to an integer multiple of a specific number (N). In this case, another rule to consider is to insert a resynchronization code into the corresponding block when the amount of bits generated during encoding becomes more than a predetermined bit.
즉, 본 발명에 따른 부호화 장치는 오류 검출 및 재 복호화를 위해 사용되는 재동기 코드를 삽입함에 있어, 해당 블록 번호가 특정 정수의 정수배이고, 부호화시 발생하는 비트 발생량이 특정 비트이상이면 재동기 코드를 삽입하는 것을 특징으로 한다.That is, in the encoding apparatus according to the present invention, in reinsertion of a resynchronization code used for error detection and re-decoding, if the block number is an integer multiple of a specific integer and the amount of bits generated during encoding is more than a specific bit, the resynchronization code It characterized in that to insert.
먼저, 해당 블록의 부호화 이전에 발생한 블록별 비트 스트림 크기의 합이 일정 기준치, 즉, 소정의 특정 비트 이상인지를 판단한다(S203).First, it is determined whether the sum of the bit stream sizes per block generated before the encoding of the corresponding block is a predetermined reference value, that is, a predetermined specific bit or more (S203).
판단 결과, 블록별 비트 스트림 크기의 합이 소정의 특정 비트 이하이면, 블록 부호화를 수행(S207)하는 반면, 판단 결과, 블록별 비트 스트림 크기의 합이 소정 특정 비트 이상이면, 재동기 코드 정보부(130)로부터 수신된 일정 규칙의 만족 유무를 확인한다.As a result of the determination, if the sum of the bit stream sizes per block is equal to or less than a predetermined specific bit, block encoding is performed (S207). On the other hand, if the sum of the bit stream sizes per block is more than the predetermined specific bit, the resynchronization code information unit ( Check whether the schedule rule received from 130 is satisfied.
즉, 해당 블록의 번호가 특정 정수(예를 들어, 5 등)의 배수인지를 확인(S204)하여, 확인 결과, 해당 블록의 번호의 특정 정수(5)의 배수가 아니면, 블록 부호화를 수행(S207)하는 반면, 해당 블록의 번호가 특정 정수(5)의 배수이면, 블록별 비트 스트림 크기의 합을 초기화(S205)한다. 즉, 누적 비트를 0으로 만든다.That is, it is checked whether the number of the corresponding block is a multiple of a specific integer (for example, 5, etc.) (S204), and if the result of the check is not a multiple of the specific integer 5 of the number of the corresponding block, block encoding is performed ( On the other hand, if the number of the corresponding block is a multiple of the specific integer 5, the sum of the bit stream sizes for each block is initialized (S205). That is, to make the accumulated bit zero.
이후, 재동기 코드를 삽입(S206)한 후, 해당 매크로 블록을 부호화한다(S207).Thereafter, after the resynchronization code is inserted (S206), the macroblock is encoded (S207).
이후, 해당 매크로 블록의 부호화가 끝나면, 누적 비트수를 갱신(S208)한 후, 부호화를 끝낸 현재 블록이 해당 프레임의 마지막 블록인지를 판단한다(S210).After the encoding of the macroblock is finished, the cumulative number of bits is updated (S208), and then it is determined whether the current block which has been encoded is the last block of the frame (S210).
판단 결과, 마지막 블록이 아닌 경우, 상기와 같은 과정을 거쳐 블록 부호화를 수행하는 반면, 마지막 블록이면, 부호화를 끝낸 현재 프레임이 마지막 프레임인지를 판단한다(S210).As a result of the determination, if it is not the last block, block encoding is performed through the above process, whereas if it is the last block, it is determined whether the current frame that has been encoded is the last frame (S210).
판단결과, 마지막 프레임이 아닌 경우, 영상 입력부(120)로부터 다음 프레임을 입력 받고, 상기와 같은 과정을 거쳐 부호화를 수행하는 반면, 마지막 프레임이면, 부호화를 종료한다.As a result of the determination, if it is not the last frame, the next frame is received from the image input unit 120 and the encoding is performed through the above process, whereas if the last frame, the encoding is terminated.
도 3은 본 발명의 일 실시예에 따른, 부호화된 영상을 전송하는 영상 통신 시스템의 전체적인 동작 과정을 개략적으로 설명한 흐름도이다.3 is a flowchart schematically illustrating an overall operation of an image communication system for transmitting an encoded image according to an embodiment of the present invention.
도 3을 보면, 영상 전송부(150)는 부호화된 영상을 전송하기 전에 재동기 코드 검출에 사용할 특정 정수를 복호화 장치로 송신(S301)한 후, 부호화된 영상을 유무선 통신망을 통해 복호화 장치(160)로 전송한다(S302).Referring to FIG. 3, the image transmitter 150 transmits a specific integer to be used for resynchronization code detection to the decoding apparatus before transmitting the encoded image (S301), and then decodes the encoded image through the wired / wireless communication network 160. (S302).
이후, 복호화 장치(160)는 영상 전송부(150)로부터 수신되는 부호화된 영상을 복호화(S303)하여 사용자 단말기로 전송한다(S306).Thereafter, the decoding apparatus 160 decodes the encoded image received from the image transmitter 150 (S303) and transmits the encoded image to the user terminal (S306).
복호화 장치(160)는 부호화된 영상의 복호화를 수행하는 동안 전송 도중 유무선 채널로 인한 오류 또는 기타 다른 원인으로 인한 오류가 발생하였는지를 검색한다(S304).The decoding apparatus 160 searches whether an error due to a wired / wireless channel or an error occurs during transmission while decoding the encoded image (S304).
확인 결과, 오류가 검출되면, 다시 복호화를 시작할 시작점이 필요한데 상기 시작점이 바로 일정 규칙에 따라 삽입한 재동기 코드이므로, 재동기 코드를 이용하여 재 복호화를 수행(S305)한 후 사용자 단말기로 해당 영상을 전송한다(S306).As a result of the check, if an error is detected, a starting point is required to start decoding again. Since the starting point is a resynchronization code inserted according to a predetermined rule, the decoding is performed using the resynchronization code (S305) and then the corresponding image is transmitted to the user terminal. It is transmitted (S306).
도 4a 내지 도 4c는 영상 복호화 과정 중 발생하는 에러 검출 및 삭제 과정을 설명하기 위한 도면이다.4A to 4C are diagrams for describing an error detection and deletion process occurring during an image decoding process.
부호화된 영상 데이터의 복호화 과정 중, 도 4a와 같이 에러가 검출되면 그 이후의 데이터(411)는 복호화되지 않게 된다. 즉, 픽쳐 스타트 코드(picture start code, 410)에서 다음 픽쳐 스타트 코드(410')까지 재동기를 위한 지점이 없다면 에러 검출 이후의 데이터(411)는 전혀 복호화되지 않는다.During the decoding process of the encoded image data, if an error is detected as shown in FIG. 4A, subsequent data 411 is not decoded. That is, if there is no point for resynchronization from the picture start code 410 to the next picture start code 410 ', the data 411 after error detection is not decoded at all.
이를 위해, 비디오 패킷 중간 중간에 재동기를 할 수 있는 재동기 코드를 삽입함으로써, 손실되는 정보량을 줄인다.To do this, by inserting a resynchronization code that can be resynchronized in the middle of the video packet, the amount of information lost is reduced.
즉, 도 4b와 같이, 픽터 스타트 코드(410/410') 사이에 재동기 코드를 삽입하여 손실되는 정보량(411')을 줄인다.That is, as shown in FIG. 4B, a resynchronization code is inserted between the picture start codes 410 and 410 'to reduce the amount of information 411' lost.
한편, 실제 에러가 난 비트 스트림을 디코딩해보면 도 4c와 같은 경우가 발생한다. 즉, 에러가 검출된 블록의 번호는 29이고 그 다음 재동기 코드를 찾아서 블록 번호를 확인해 본 결과 그 이전의 블록 번호와 순서가 잘 맞질 않는 경우이다.On the other hand, decoding the bit stream with the actual error occurs as shown in FIG. 4C. That is, the number of blocks where an error is detected is 29, and the next block number is found by checking the next resynchronization code.
이와 같은 경우, 비디오 패킷1(430) 이전에 에러가 발생하여 앞의 블록 번호(25)를 잘못 디코딩하고 에러 전파로 인해 비디오 패킷2(440) 부분에서 에러를 검출하였거나 또는 비디오 패킷3(450) 헤더에서 에러가 발생하여 블록 번호를 잘못 디코딩하였을 수도 있다.In such a case, an error occurs before the video packet 1 430, thereby erroneously decoding the preceding block number 25, and an error is detected in the video packet 2 440 portion due to the error propagation, or the video packet 3 (450). An error in the header may have caused the block number to be decoded incorrectly.
위와 같이 검출된 에러의 원인을 찾아내기 위해 본 발명에 따른 영상 부호화 장치는 부호화시 특정 정수(예를 들어, 5 등)의 정수배에 해당하는 블록 번호에 재동기 코드를 규칙적으로 삽입한다. 이를 이용하면, 에러 검출 후 그 다음 재동기 코드를 찾아서 블록 번호를 확인해 본 결과 5의 정수배가 아닌 19번이 검색된 세 번째 비디오 패킷(450)에서 에러가 발생되었음을 알 수 있다. 따라서, 세 번째 비디오 패킷(450)을 바로 제거한 후 다음 디코딩 과정을 연이어 수행한다.In order to find out the cause of the detected error, the video encoding apparatus according to the present invention regularly inserts a resynchronization code into a block number corresponding to an integer multiple of a specific integer (for example, 5) during encoding. Using this, after the error is detected, the next resynchronization code is found to confirm the block number, and as a result, it can be seen that an error occurs in the third video packet 450 in which 19 is searched instead of an integer multiple of 5. Therefore, the third video packet 450 is immediately removed and the next decoding process is subsequently performed.
상기와 같이, 부호화시 일정 규칙에 따라 삽입한 재동기 코드를 통해 재 복호화 시작점을 용이하게 찾음으로써, 오류에 의한 손실 부분을 최소화할 뿐만 아니라, 화질 저하 현상이 지속되는 구간을 최소화하여 채널 오류율이 높은 환경에서도 우수한 화질의 영상 통신을 가능하게 한다.As described above, the re-decoding start point is easily found through the resynchronization code inserted according to a predetermined rule during encoding, thereby minimizing the loss portion caused by the error and minimizing the section where the degradation of image quality continues. It enables high quality video communication even in high environments.
도면과 발명의 상세한 설명은 단지 본 발명의 예시적인 것으로서, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.The drawings and detailed description of the invention are merely exemplary of the invention, which are used for the purpose of illustrating the invention only and are not intended to limit the scope of the invention as defined in the claims or in the claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
본 발명에 의한 영상 부호화 장치 및 그 방법은 영상 부호화에 따른 각 블록별 비트 스트림의 크기 및 해당 블록의 번호 등을 고려하여 재동기 코드를 일정 규칙에 따라 삽입하여 부호화한 후 이를 복호화 장치로 전송함으로써, 복호화시 발생하는 에러 검출 원인을 용이하게 검색하여 오류 강인성 효과를 극대화할 수 있을 뿐만 아니라, 프레임 내의 오류에 의한 손실 부분을 최소화하고 화질 저하 현상이 지속되는 구간을 최소화하여 채널 오류율이 높은 환경에서도 정확한 에러 검출을 통한 우수한 화질의 영상 통신을 제공할 수 있는 효과가 있다.The video encoding apparatus and the method according to the present invention inserts and encodes a resynchronization code according to a predetermined rule in consideration of the size of the bit stream of each block and the corresponding block number according to the video encoding, and then transmits the same to the decoding apparatus. In addition, it is possible to not only maximize the error robustness effect by easily searching for the error detection cause that occurs during decoding, but also to minimize the loss caused by the error in the frame and to minimize the section where the deterioration of image quality continues. There is an effect that can provide a high quality video communication through accurate error detection.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0086473A KR100458877B1 (en) | 2001-12-28 | 2001-12-28 | A system and method for video coding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0086473A KR100458877B1 (en) | 2001-12-28 | 2001-12-28 | A system and method for video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030056276A true KR20030056276A (en) | 2003-07-04 |
KR100458877B1 KR100458877B1 (en) | 2004-12-03 |
Family
ID=32214483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0086473A KR100458877B1 (en) | 2001-12-28 | 2001-12-28 | A system and method for video coding |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100458877B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100500196B1 (en) * | 2002-07-20 | 2005-07-12 | 학교법인 한국정보통신학원 | Apparatus and method for encoding/decoding multimedia meta-data in error-resilient manner |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0529951A (en) * | 1991-07-19 | 1993-02-05 | Copal Co Ltd | Re-sync pattern generating method and coding circuit device using the same |
EP0861001B1 (en) * | 1997-02-07 | 2012-05-23 | Texas Instruments Incorporated | Error resilient video encoding |
CN1668111A (en) * | 1997-12-01 | 2005-09-14 | 三星电子株式会社 | Motion vector prediction method |
EP0944263A1 (en) * | 1998-03-20 | 1999-09-22 | Texas Instruments Incorporated | Image compression |
JP3223163B2 (en) * | 1998-04-27 | 2001-10-29 | 松下電送システム株式会社 | Communication device |
KR100363162B1 (en) * | 1998-11-02 | 2003-01-24 | 삼성전자 주식회사 | Method and apparatus for transmitting and recovering video signal |
-
2001
- 2001-12-28 KR KR10-2001-0086473A patent/KR100458877B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100500196B1 (en) * | 2002-07-20 | 2005-07-12 | 학교법인 한국정보통신학원 | Apparatus and method for encoding/decoding multimedia meta-data in error-resilient manner |
Also Published As
Publication number | Publication date |
---|---|
KR100458877B1 (en) | 2004-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5394528B2 (en) | Method and system for preventing start code emulation and filling data | |
US7203239B2 (en) | Variable-length decoding apparatus and decoding method | |
US6415398B1 (en) | Coding system and decoding system | |
US20030128755A1 (en) | Video codec method in error resilient mode and apparatus therefor | |
US7388915B2 (en) | Video data coding/decoding apparatus and method | |
US6445742B1 (en) | Method and apparatus for transmitting and recovering video signal | |
JP2012034398A (en) | Resynchronization method which decodes video | |
KR20050074812A (en) | Decoding method for detecting transmission error position and recovering correctly decoded data and appratus therefor | |
KR100458877B1 (en) | A system and method for video coding | |
US7012962B1 (en) | System and method for coding and decoding picture signals based on a partition table including length information | |
US20040057545A1 (en) | Data reading method, data reading apparatus, and data reading program | |
JP3408104B2 (en) | Encoding device and decoding device | |
JP3642737B2 (en) | Image encoding apparatus and image decoding apparatus | |
KR19990016365A (en) | Synchronization code detection device and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20081104 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |