KR100349649B1 - Variable length encoder in MPEG4 codec - Google Patents

Variable length encoder in MPEG4 codec Download PDF

Info

Publication number
KR100349649B1
KR100349649B1 KR1020000039639A KR20000039639A KR100349649B1 KR 100349649 B1 KR100349649 B1 KR 100349649B1 KR 1020000039639 A KR1020000039639 A KR 1020000039639A KR 20000039639 A KR20000039639 A KR 20000039639A KR 100349649 B1 KR100349649 B1 KR 100349649B1
Authority
KR
South Korea
Prior art keywords
tcoef
vlc
rvlc
inter
intra
Prior art date
Application number
KR1020000039639A
Other languages
Korean (ko)
Other versions
KR20020006149A (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 주식회사 큐리텔
Priority to KR1020000039639A priority Critical patent/KR100349649B1/en
Publication of KR20020006149A publication Critical patent/KR20020006149A/en
Application granted granted Critical
Publication of KR100349649B1 publication Critical patent/KR100349649B1/en

Links

Classifications

    • 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
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation

Abstract

본 발명은 동영상압축 부호화장치의 가변 길이 부호화기를 제공하기 위한 것으로, 이러한 본 발명은 동영상 압축 부호화 장치에서 전송 채널이 허용하는 저전송선로를 통하는 비교적 적은 영상정보에 대해 가변 길이 부호화하고, 가변 길이 부호화시 에러 손실을 복구할 수 있으며 역방향 가변 길이 부호화(Reverse Variable Length Coding)와 호환성을 가지도록 한다.The present invention provides a variable length encoder of a video compression encoding apparatus. The present invention provides a variable length encoding for a relatively small amount of image information through a low transmission line allowed by a transmission channel in a video compression encoding apparatus. Error loss can be recovered and compatible with Reverse Variable Length Coding.

Description

동영상압축 부호화장치의 가변 길이 부호화기{Variable length encoder in MPEG4 codec}Variable length encoder in video compression encoder {Variable length encoder in MPEG4 codec}

본 발명은 화상전화, 화상회의, PCS(개인휴대통신)용 PDA(Personal Digital Assistant; 휴대용개인단말기), mobile용 전화 및 멀티미디어 장치, IMT-2000(3세대 이동통신 시스템) 영상 서비스를 위한 장치 등에서 동영상 압축 부호화 장치에 관한 것으로, 특히 동영상 압축 부호화 장치에서 전송 채널이 허용하는 저전송선로를 통하는 비교적 적은 영상정보에 대해 가변 길이 부호화하고, 가변 길이 부호화시 에러 손실을 복구할 수 있으며 역방향 가변 길이 부호화(Reverse Variable Length Coding)와 호환성을 가질 수 있도록 한 동영상압축 부호화장치의 가변 길이 부호화기에 관한 것이다.The present invention can be used in video telephony, video conferencing, personal digital assistant (PDA) for personal mobile communication (PCS), mobile phones and multimedia devices, and devices for IMT-2000 (3rd generation mobile communication system) video services. In particular, the present invention relates to a video compression encoding apparatus. In particular, the video compression encoding apparatus may perform variable length encoding on relatively small image information through a low transmission line allowed by a transmission channel, recover error loss during variable length encoding, and reverse variable length encoding. (Reverse Variable Length Coding) relates to a variable length encoder of a moving picture compression coding apparatus.

영상을 부호화하는 가변 길이 부호화 장치에는 기존의 MPEG1,MPEG2, H.261, H.263 등 여러가지 가변 길이 부호화 방법이 제안되어 왔다. 특히 HDTV(HighDensity TeleVision)의 표준 방식인 MPEG2의 가변 길이 부호화 장치의 특징은, 대용량의 영상 정보를 빠른 시간 안에 처리하기 위해, 헤더 정보와 영상 데이터를 구분하여 헤더 정보는 그대로 부호화하고 영상데이터는 여러 가지 병렬 구조로 구성되는데, 동시에 여러 개의 영상 데이터를 처리하는 것이다.Various variable length coding methods such as MPEG1, MPEG2, H.261, and H.263 have been proposed in the variable length coding apparatus for encoding an image. In particular, the variable length encoding apparatus of MPEG2, which is a standard method of HDTV (HighDensity TeleVision), distinguishes the header information from the image data in order to process a large amount of image information in a short time, and encodes the header information as it is. It consists of four parallel structures, which process multiple image data at the same time.

도1은 국제 표준 MPEG4의 부호화기 블럭 구성을 보인다. 기존의 MPEG2와는 달리 모양 정보 부호화를 추가로 수행하는 것이 가장 큰 차이점이다.1 shows an encoder block configuration of the international standard MPEG4. Unlike MPEG2, the biggest difference is that the shape information encoding is additionally performed.

입력된 영상 데이터를 블럭 단위로 움직임 추정(Motion Estimation)을 수행하여 움직임 벡터를 생성하는 움직임 추정부(1)와; 상기 생성된 움직임 벡터를 이용하여 움직임 보상(Motion Compensation)을 수행하는 움직임 보상부(2)와; 상기 움직임보상부(2)에서 움직임 보상이 되지 않은 부분을 영상 정보 부호화(Texture coding)를 수행하는 영상정보 부호화부(4)와; 상기 움직임 보상부(2)에서 움직임 보상된 VOP(Video Object Plane; MEPG4에서 임의의 모양을 가지는 부호화 단위)와, 상기 영상정보 부호화부(4)에서 부호화된 대상물의 내부 정보가 가산되어 현재 영상 바로 이전 영상의 VOP인 이전 VOP를 재구성하는 이전VOP 재구성부(6)와; 입력된 영상의 모양 정보에 대해 모양 정보 부호화(Shape coding)를 수행하는 모양정보부호화부(9)와; 상기 움직임추정부(1)에서 추정된 움직임 정보와, 상기 영상 정보 부호화부(4)에서 부호화된 내부 영상 정보 및 상기 모양 정보 부호화부(9)에서 부호화된 모양 정보를 다중화하는 다중화부(11)와; 상기 다중화부(11)에서 다중화된 비트스트림을 버퍼링한 후 출력하는 출력 버퍼(12)로 구성된다.A motion estimator 1 for generating a motion vector by performing motion estimation on a block basis of the input image data; A motion compensator (2) for performing motion compensation by using the generated motion vector; An image information encoder (4) for performing image information coding (Texture coding) on a portion of the motion compensator (2) where motion compensation is not performed; A video object plane (VOP) having a motion compensation compensated by the motion compensator 2 and a coding unit having an arbitrary shape in MEPG4 and internal information of an object encoded by the image information encoder 4 are added to the current image. A previous VOP reconstruction unit 6 for reconstructing the previous VOP which is the VOP of the previous image; A shape information encoder 9 for performing shape coding on shape information of the input image; The multiplexer 11 multiplexes the motion information estimated by the motion estimation unit 1, the internal image information encoded by the image information encoder 4, and the shape information encoded by the shape information encoder 9. Wow; The multiplexer 11 includes an output buffer 12 that buffers and outputs the multiplexed bitstream.

상기와 같은 국제 표준 MPEG4의 부호화기의 작용을 설명하면 다음과 같다.The operation of the encoder of the international standard MPEG4 as described above is as follows.

먼저, 영상 화면이 입력되면, 블럭 단위로 움직임 추정(Motion Estimation)을 하고, 여기에서 생성된 움직임 벡터를 전송한다. 그런 후 움직임 벡터로 움직임 보상(Motion Compensation)을 한 후 움직임 보상이 되지 않은 부분을 영상 정보 부호화(Texture coding)를 수행한다.First, when an image screen is input, motion estimation is performed in units of blocks, and the motion vector generated therein is transmitted. Then, after motion compensation is performed using a motion vector, image coding is performed on a portion where motion compensation is not performed.

그리고 영상의 모양 정보에 대해 모양 정보 부호화(Shape coding)를 수행한다. 모양정보 부호화부(9)의 출력 신호는 VOP 부호화기가 적용되는 분야에 따라 사용 여부가 가변되는 것으로, 점선으로 표시된 바와 같이, 모양 정보 부호화부(9)의 출력신호를 움직임 추정부(1), 움직임 보상부(2) 및 영상 정보 부호화부(4)에 입력시켜 움직임 추정, 움직임 보상 및 영상 정보 부호화(texture coding)하는 데 사용할 수 있다.Shape coding is performed on shape information of an image. The output signal of the shape information encoder 9 varies depending on the field to which the VOP encoder is applied. As indicated by the dotted line, the output signal of the shape information encoder 9 may include the motion estimation unit 1, It can be input to the motion compensator 2 and the image information encoder 4 to be used for motion estimation, motion compensation, and image coding.

움직임추정부(1)에서 추정된 움직임 정보와, 영상 정보 부호화부(4)에서 부호화된 내부 영상 정보 및 모양 정보 부호화부(9)에서 부호화된 모양 정보는 다중화부(11)에서 다중화된 후, 출력 버퍼(12)를 통해 비트스트림으로 송신된다.After the motion information estimated by the motion estimation unit 1, the internal image information encoded by the image information encoder 4, and the shape information encoded by the shape information encoder 9 are multiplexed by the multiplexer 11, It is sent to the bitstream through the output buffer 12.

이렇게 다중화부(11)로 입력되어 송신될 데이터는, 움직임 추정부(1)로부터의 움직임 벡터 정보, 영상정보 부호화부(4)로부터의 매크로블럭 헤더 정보, 영상 데이터 정보 등으로서, 이러한 정보의 대다수가 가변 길이 부호화 코드를 사용하고 있다.The data input and transmitted to the multiplexer 11 are motion vector information from the motion estimation unit 1, macroblock header information from the video information encoding unit 4, video data information, and the like. Uses a variable length coding code.

그런데 HDTV의 대용량의 영상 정보를 실시간에 처리해야 하는 경우가 아니라, 전송 채널이 허용하는 저 전송 선로에 대해서도 처리할 수 있는 비교적 적은 영상 정보(CIF: 352*288, QCIF: 176*144)를 효과적으로 가변 길이 부호화해야하는 경우, 국제 표준 MPEG4의 부호화에서 영상 정보 부호화(texture coding)된 영상 정보를 가변 길이로 부호화하는 장치는 저 전송선로에 대한 비교적 적은 양의 영상 정보를 처리할 수 있도록 구현되어야 한다.However, it is not necessary to process a large amount of video information of HDTV in real time, but relatively small video information (CIF: 352 * 288, QCIF: 176 * 144) that can process even a low transmission line that a transmission channel allows. When variable length coding is required, an apparatus for encoding image information coded (texture coded) with variable length in encoding of the international standard MPEG4 should be implemented to process a relatively small amount of image information for a low transmission line.

이에 본 발명은 상기와 같은 종래 기술의 필요에 의해 제안된 것으로, 본 발명의 목적은Accordingly, the present invention has been proposed by the necessity of the prior art as described above, and an object of the present invention is

동영상 압축 부호화 장치에서 전송 채널이 허용하는 저전송선로를 통하는 비교적 적은 영상정보에 대해 가변 길이 부호화하고, 가변 길이 부호화시 에러 손실을 복구할 수 있으며 역방향 가변 길이 부호화(Reverse Variable Length Coding)와 호환성을 가지도록 한 동영상압축 부호화장치의 가변 길이 부호화기를 제공하는 데 있다.In the video compression encoding apparatus, variable length coding is performed on relatively small image information through a low transmission line allowed by a transmission channel, error loss can be recovered during variable length coding, and compatibility with reverse variable length coding is performed. The present invention provides a variable length encoder of a moving picture compression encoding apparatus.

상기와 같은 목적을 달성하기 위하여 본 발명에 의한 동영상압축 부호화장치의 가변 길이 부호화기는,In order to achieve the above object, the variable length encoder of the video compression encoding apparatus according to the present invention,

영상정보 부호화(texture coding)에서 나오는 매크로블럭 헤더 정보 중 휘도 블럭 패턴(Coded Block Pattern for Luminance; CBPY)을 intra_inter 플래그(intra 프레임 부호화와 inter 프레임 부호화를 선택하기 위한 제어 신호)에 따라 VLC 코드로 처리하는 휘도 블럭 패턴 처리부와;Coded Block Pattern for Luminance (CBPY) among macroblock header information from image coding is processed by VLC code according to intra_inter flag (control signal for selecting intra frame encoding and inter frame encoding) A luminance block pattern processing unit;

매크로블럭 헤더 정보 중 매크로블럭 타입(MB type)과 CBPC(Coded Block Pattern for Chrominance)의 정보를 VLC 코드로 정의하는 MCBPC와;An MCBPC defining macroblock type (MB type) and CBPC (Coded Block Pattern for Chrominance) information in the macroblock header information as a VLC code;

매크로블럭 헤더 정보 중의 하나인 이전의 움직임 벡터와 현재의 움직임 벡터 간의 차이값을 VLC 코드로 처리하는 움직임 벡터 차이값 처리부(Motion Vector Difference; MVD)와;A motion vector difference processor (MVD) for processing a difference value between a previous motion vector, which is one of the macroblock header information, and a current motion vector, by a VLC code;

매크로블럭 헤더 정보 중의 하나인 휘도 DCT DC 크기(dct_dc_size_lum.)를 위한 VLC 코드를 처리하는 휘도 DCT DC 크기 처리부와;A luminance DCT DC size processing unit for processing a VLC code for luminance DCT DC size (dct_dc_size_lum.), Which is one of macroblock header information;

매크로블럭 헤더 정보 중의 하나인 색차 DCT DC 크기(dct_dc_size_chro.)를 위한 VLC 코드를 처리하는 색차 DCT DC 크기 처리부와;A color difference DCT DC size processing unit for processing a VLC code for color difference DCT DC size (dct_dc_size_chro.) Which is one of macroblock header information;

영상정보 부호화(texture coding) 과정에서 zigzag scan을 거친 DCT 계수(TCOEF)를 입력받아 버퍼링하고, escape 모드를 고려한 VLC를 하기 위해 필요한 클럭 레이트(clock rate)에 맞추어 RLC로 출력하는 입력 버퍼와;An input buffer for receiving and buffering DCT coefficients TCEGF that have undergone a zigzag scan during image coding and outputting the RLC according to a clock rate required for VLC considering an escape mode;

상기 입력버퍼에서 출력되는 DCT AC 계수를 RLC(Run Length Coding)를 수행하여, VLC 부호화하기 위해 필요한 제어 정보를 출력하는 RLC와;An RLC which performs run length coding (RLC) on the DCT AC coefficients output from the input buffer and outputs control information necessary for VLC encoding;

역방향 가변 길이 부호화(RVLC)와 가변 길이 부호화(VLC)를 선택하기 위한 제어 신호(RVLC 플래그), H.263 TCOEF VLC를 선택하기 위한 제어 신호(H.263 플래그), intra 프레임 부호화와 inter 프레임 부호화를 선택하기 위한 제어 신호(intra_inter 플래그)를 선택적으로 입력받아, 역방향 가변 길이 부호화(RVLC), intra TCOEF 가변 길이 부호화(VLC), inter TCOEF VLC, H.263 TCOEF VLC가 선택적으로 수행되도록 상기 RLC로부터의 경로를 각각 스위칭하는 제1 내지 제4 스위치와;Control signal (RVLC flag) for selecting reverse variable length coding (RVLC) and variable length coding (VLC), control signal for selecting H.263 TCOEF VLC (H.263 flag), intra frame coding and inter frame coding Selectively receiving a control signal (intra_inter flag) for selecting RVLC, intra TCOEF variable length coding (VLC), inter TCOEF VLC, and H.263 TCOEF VLC to perform selectively from the RLC First to fourth switches each of which switches a path of?

상기 제1 내지 제3 스위치에 의해 선택되면 MPEG4 intra TCOEF를 intraescape 모드로 VLC를 수행하는 intra TCOEF/MPEG4 intra ESC. 수행부와;Intra TCOEF / MPEG4 intra ESC to perform VLC in MPEG4 intra TCOEF in intraescape mode when selected by the first to third switches. Execution unit;

상기 제1 내지 제3 스위치에 의해 선택되면 MPEG4 inter TCOEF를 inter escape 모드로 VLC를 수행하는 inter TCOEF/MPEG4 inter ESC. 수행부와;Inter TCOEF / MPEG4 inter ESC, which performs VLC with MPEG4 inter TCOEF in inter escape mode when selected by the first to third switches. Execution unit;

상기 제1 및 제2 스위치에 의해 선택되면 H.263 TCOEF를 inter 프레임 부호화를 사용하여 escape 모드를 수행하는 TCOEF/H.263 ESC. 수행부와;TCOEF / H.263 ESC to perform an escape mode using H.263 TCOEF using inter frame encoding when selected by the first and second switches. Execution unit;

상기 제1, 제2, 제4 스위치에 의해 선택되면 intra TCOEF를 RVLC 수행하고 escape 모드시 고정길이 부호화(Fixed Length Coding; FLC)를 수행하는 intra RVLC TCOEF / ESC. FLC 수행부와;Intra RVLC TCOEF / ESC performing RVLC performing intra TCOEF when selected by the first, second, and fourth switches and performing fixed length coding (FLC) in escape mode. FLC execution unit;

상기 제1, 제2, 제4 스위치에 의해 선택되면 inter TCOEF를 RVLC 수행하고 escape 모드시 고정길이 부호화(Fixed Length Coding; FLC)를 수행하는 inter RVLC TCOEF / ESC. FLC 수행부로 이루어짐을 그 기술적 구성상의 특징으로 한다.RVLC performs inter TCOEF when selected by the first, second, and fourth switches, and performs fixed length coding (FLC) in escape mode. It consists of the FLC execution unit is characterized by its technical configuration.

상기와 같은 목적을 달성하기 위하여 본 발명에 의한 동영상압축 부호화장치의 가변 길이 부호화기는,In order to achieve the above object, the variable length encoder of the video compression encoding apparatus according to the present invention,

RVLC 플래그에 따라 normal VLC 기능과 RVLC 기능을 수행하고, VLC escape 모드시 FLC를 수행하는 TCOEF VLC/RVLC ESC. 수행부와;TCOEF VLC / RVLC ESC which performs normal VLC function and RVLC function according to RVLC flag and FLC in VLC escape mode. Execution unit;

상기 TCOEF VLC/RVLC ESC. 수행부에서 출력되는 가변 길이 부호화 코드와 고정 길이 부호화(FLC) 코드를 블럭(block) 단위로 하나의 비트열로 램(TCOEF VLC/RVLC 버퍼)에 쓰기 위해 재구성하는 TCOEF 비트 스트림 생성기와;TCOEF VLC / RVLC ESC. A TCOEF bit stream generator for reconstructing the variable length coded code and the fixed length coded code (FLC) code output from the execution unit into blocks (TCOEF VLC / RVLC buffers) in a unit of blocks in a block unit;

상기 TCOEF 비트 스트림 생성기에서 출력되는 TCOEF 비트열을 저장하는TCOEF VLC/RVLC 버퍼(램)으로 이루어짐을 그 기술적 구성상의 특징으로 한다.A technical feature of the present invention is that the TCOEF VLC / RVLC buffer (RAM) stores the TCOEF bit stream output from the TCOEF bit stream generator.

도1은 국제 표준 MPEG4의 부호화기 블럭 구성도,1 is a block diagram of an encoder of the international standard MPEG4;

도2는 본 발명에 의한 동영상압축 부호화장치의 가변 길이 부호화기 블럭 구성도,2 is a block diagram of a variable length encoder of a moving picture compression encoding apparatus according to the present invention;

도3은 MPEG4 인코드시 escape 모드 처리 작용을 보인 도면,3 is a view showing an escape mode processing operation in MPEG4 encoding;

도4는 본 발명에 의한 다른 실시예 동영상압축 부호화장치의 가변 길이 부호화의 출력을 위한 장치 블럭 구성도,4 is a block diagram of an apparatus for outputting variable length encoding in a video compression encoding apparatus according to another embodiment of the present invention;

도5는 도4의 TCOEF VLC/RVLC ESC. 수행부의 내부 블럭 구성도,5 is a TCOEF VLC / RVLC ESC of FIG. 4; Internal block diagram of an execution unit,

도6은 도5의 intra/inter TCOEF VLC VLC ESC. 수행부의 내부 블럭 구성도,6 is an intra / inter TCOEF VLC VLC ESC of FIG. 5; Internal block diagram of an execution unit,

도7은 도5의 intra/inter TCOEF RVLC RVLC ESC. 수행부의 내부 블럭 구성도.7 is an intra / inter TCOEF RVLC RVLC ESC of FIG. 5; Internal block diagram of the execution unit.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

100: CBPY 110: MCBPC100: CBPY 110: MCBPC

120: MVD 130: 휘도 DCT DC 크기 처리부120: MVD 130: luminance DCT DC size processing unit

140: 색차 DCT DC 크기처리부 201: 입력버퍼140: color difference DCT DC size processing unit 201: input buffer

202: RLC 203-206: 제1 내지 제4 스위치202: RLC 203-206: first to fourth switches

207: intra TCOEF/MPEG4 intra ESC. 수행부207: intra TCOEF / MPEG4 intra ESC. Execution Department

208: inter TCOEF/MPEG4 inter ESC. 수행부208: inter TCOEF / MPEG4 inter ESC. Execution Department

209: TCOEF/H.263 ESC. 수행부209: TCOEF / H.263 ESC. Execution Department

210: intra RVLC TCOEF/ESC. FLC 수행부210: intra RVLC TCOEF / ESC. FLC Execution Unit

211: inter RVLC/TCOEF ESC. FLC 수행부211: inter RVLC / TCOEF ESC. FLC Execution Unit

이하, 상기와 같은 본 발명에 의한 동영상압축 부호화장치의 가변 길이 부호화기를 첨부된 도면에 의거 상세히 설명하면 다음과 같다.Hereinafter, the variable length encoder of the video compression encoding apparatus according to the present invention will be described in detail with reference to the accompanying drawings.

본 발명은 MPEG4 simple profile에 맞는 가변 길이 부호화(Variable Length Coding; VLC)와 H.263의 가변 길이 부호화, 그리고 에러 전송에 효과적인 역방향 가변 길이 부호화(Reversible Variable Length Coding; RVLC)의 복합 구조를 이루고 있고, simple profile에서는 모양 정보 부호화는 고려하지 않고 있다.The present invention is a complex structure of variable length coding (VLC) according to MPEG4 simple profile, variable length coding of H.263, and reverse variable length coding (RVLC) effective for error transmission. For example, shape information encoding is not considered in simple profile.

MPEG4 simple profile 부호화기의 가변 길이 부호화시 사용되는 가변길이 부호화 테이블(VLC 테이블)이 [표 1]에 구성된다.Table 1 shows a variable length coding table (VLC table) used for variable length coding of the MPEG4 simple profile encoder.

VLC Table NameVLC Table Name Index 개수Index number 비트수Number of bits 비고Remarks 1One mcbpc for I-VOPsmcbpc for I-VOPs 99 1-91-9 22 mcbpc for P-VOPsmcbpc for P-VOPs 2121 1-91-9 33 cbpy for four non-transparent blockscbpy for four non-transparent blocks 1616 2-62-6 44 MVDMVD 6565 1-131-13 55 dct_dc_size_luminancedct_dc_size_luminance 99 2-72-7 Not N-bitNot N-bit 66 dct_dc_size_chrominancedct_dc_size_chrominance 99 2-72-7 Not N-bitNot N-bit 77 Intra Lum. And Chr. TCOEFIntra Lum. And Chr. TCOEF 113113 3-133-13 88 Inter Lum. And Chr. TCOEFInter Lum. And Chr. TCOEF 113113 3-133-13 99 RVLC for intra TCOEFRVLC for intra TCOEF 169169 4-164-16 1010 RVLC for inter TCOEFRVLC for inter TCOEF 169169 4-164-16

그리고 H.263 VLC 테이블 구성이 [표 2]에 보인다.And the H.263 VLC table structure is shown in [Table 2].

VLC Table NameVLC Table Name Index 개수Index number 비트수Number of bits MPEG4와 비교Compare with MPEG4 1One mcbpc for I-VOPsmcbpc for I-VOPs 99 1-91-9 동일same 22 mcbpc for P-VOPsmcbpc for P-VOPs 2121 1-91-9 동일same 33 cbpy for four blockscbpy for four blocks 1616 2-62-6 동일same 44 MVDMVD 6565 1-131-13 구성이 다름Different configuration 55 Inter TCOEFInter TCOEF 113113 3-133-13 동일(escape 다름)Same (escape different)

도2는 본 발명에 의한 동영상압축 부호화장치의 가변 길이 부호화기 일 실시예 블럭 구성을 보인다.2 is a block diagram of an embodiment of a variable length encoder of a video compression encoding apparatus according to the present invention.

MPEG4 simple profile에 맞는 가변 길이 부호화와 H.263의 가변 길이 부호화, 그리고 에러 전송에 효과적인 역방향 가변 길이 부호화(Reversible Variable Length Coding; RVLC)의 복합적인 구조를 가진다.It has a complex structure of variable length coding conforming to MPEG4 simple profile, variable length coding of H.263, and reverse variable length coding (RVLC) effective for error transmission.

즉, 영상정보 부호화(texture coding)에서 나오는 매크로블럭 헤더 정보와 영상 데이터를 구분하여 처리하게 되는데, 매크로블럭 헤더 정보 중 휘도 블럭 패턴(Coded Block Pattern for Luminance; CBPY)을 intra_inter 플래그(intra 프레임 부호화와 inter 프레임 부호화를 선택하기 위한 제어 신호)에 따라 VLC 코드로 처리하는 휘도 블럭 패턴 처리부(100)와; 매크로블럭 헤더 정보 중 매크로블럭 타입(MB type)과 CBPC(Coded Block Pattern for Chrominance)의 정보를 VLC 코드로 정의하는 MCBPC(110)와; 매크로블럭 헤더 정보 중의 하나인 이전의 움직임 벡터와 현재의 움직임 벡터 간의 차이값을 VLC 코드로 처리하는 움직임 벡터 차이값 처리부(Motion Vector Difference; MVD)(120)와; 매크로블럭 헤더 정보 중의 하나인 휘도 DCT DC 크기(dct_dc_size_lum.)를 위한 VLC 코드를 처리하는 휘도 DCT DC 크기 처리부(130)와; 매크로블럭 헤더 정보 중의 하나인 색차 DCT DC크기(dct_dc_size_chro.)를 위한 VLC 코드를 처리하는 색차 DCT DC 크기 처리부(140)와; 영상정보 부호화(texture coding) 과정에서 zigzag scan을 거친 DCT 계수(TCOEF)를 입력받아 버퍼링하고, escape 모드를 고려한 VLC를 하기 위해 필요한 클럭 레이트(clock rate)에 맞추어 RLC(203)로 출력하는 입력 버퍼(201)와; 상기 입력버퍼(201)에서 출력되는 DCT AC 계수를 RLC(Run Length Coding)를 수행하여, VLC 부호화하기 위해 필요한 제어 정보를 출력하는 RLC(202)와; 역방향 가변 길이 부호화(RVLC)와 가변 길이 부호화(VLC)를 선택하기 위한 제어 신호(RVLC 플래그), H.263 TCOEF VLC를 선택하기 위한 제어 신호(H.263 플래그), intra 프레임 부호화와 inter 프레임 부호화를 선택하기 위한 제어 신호(intra_inter 플래그)를 선택적으로 입력받아, 역방향 가변 길이 부호화(RVLC), intra TCOEF 가변 길이 부호화(VLC), inter TCOEF VLC, H.263 TCOEF VLC가 선택적으로 수행되도록 상기 RLC(202)로부터의 경로를 각각 스위칭하는 제1 내지 제4 스위치(203-206)와; 상기 제1 내지 제3 스위치(203-205)에 의해 선택되면 MPEG4 intra TCOEF를 intra escape 모드로 VLC를 수행하는 intra TCOEF/MPEG4 intra ESC. 수행부(207)와; 상기 제1 내지 제3 스위치(203-205)에 의해 선택되면 MPEG4 inter TCOEF를 inter escape 모드로 VLC를 수행하는 inter TCOEF/MPEG4 inter ESC. 수행부(208)와; 상기 제1 및 제2 스위치(203)(204)에 의해 선택되면 H.263 TCOEF를 inter 프레임 부호화를 사용하여 escape 모드를 수행하는 TCOEF/H.263 ESC. 수행부(209)와; 상기 제1, 제2, 제4 스위치(203,204,206)에 의해 선택되면 intra TCOEF를 RVLC 수행하고 escape 모드시 고정길이 부호화(Fixed Length Coding; FLC)를 수행하는 intra RVLC TCOEF / ESC.FLC 수행부(210)와; 상기 제1, 제2, 제4 스위치(203,204,206)에 의해 선택되면 inter TCOEF를 RVLC 수행하고 escape 모드시 고정길이 부호화(Fixed Length Coding; FLC)를 수행하는 inter RVLC TCOEF / ESC. FLC 수행부(211)로 구성된다.In other words, the macroblock header information and the image data derived from the image coding are processed separately. The luminance block pattern (CBPY) of the macroblock header information is converted into an intra_inter flag (intra frame encoding). a luminance block pattern processing unit 100 processing the VLC code according to a control signal for selecting inter frame encoding; MCBPC 110 for defining the information of the macro block type (MB type) and CBPC (Coded Block Pattern for Chrominance) of the macro block header information as a VLC code; A motion vector difference processor (MVD) 120 for processing a difference value between a previous motion vector, which is one of the macroblock header information, and a current motion vector, by a VLC code; A luminance DCT DC size processing unit 130 for processing a VLC code for luminance DCT DC size (dct_dc_size_lum.) Which is one of macroblock header information; A color difference DCT DC size processing unit 140 for processing a VLC code for color difference DCT DC size (dct_dc_size_chro.) Which is one of macroblock header information; Input buffer that receives and buffers DCT coefficients (TCOEF) that have undergone zigzag scan during image coding, and outputs them to the RLC 203 according to the clock rate necessary for VLC considering escape mode. 201; An RLC (202) for performing RLC (Run Length Coding) on the DCT AC coefficient output from the input buffer 201 and outputting control information necessary for VLC encoding; Control signal (RVLC flag) for selecting reverse variable length coding (RVLC) and variable length coding (VLC), control signal for selecting H.263 TCOEF VLC (H.263 flag), intra frame coding and inter frame coding The RLC (optionally) receives a control signal (intra_inter flag) for selecting the RLC, and performs reverse variable length coding (RVLC), intra TCOEF variable length coding (VLC), inter TCOEF VLC, and H.263 TCOEF VLC. First to fourth switches 203-206 that respectively switch paths from 202; Intra TCOEF / MPEG4 intra ESC for performing VLC in MPEG mode by intra-escape mode when the first to third switches 203-205 are selected. Execution unit 207; Inter TCOEF / MPEG4 inter ESC, which performs VLC in the MPEG4 inter TCOEF in an inter escape mode when the first to third switches 203-205 are selected. An execution unit 208; TCOEF / H.263 ESC, when selected by the first and second switches 203 and 204, performs an escape mode using H.263 TCOEF using inter frame encoding. Execution unit 209; Intra RVLC TCOEF / ESC.FLC execution unit 210 performs RVLC to perform intra TCOEF when selected by the first, second and fourth switches 203, 204 and 206 and fixed length coding (FLC) in escape mode. )Wow; RVLC inter TCOEF when selected by the first, second, and fourth switch (203, 204, 206) and fixed length coding (FLC) in escape mode. It consists of a FLC execution unit 211.

상기 RLC(202)에서 출력되는 VLC 부호화하기 위해 필요한 제어 정보는, 현재 부호화되는 0이 아닌 DCT 계수가 블럭 내의 마지막 0이 아닌 DCT 계수인 지를 나타내는 LAST, 0이 아닌 계수의 값을 나타내는 LEVEL, 부호화되는 계수 앞의 연속적인 0의 개수를 나타내는 RUN이다.The control information required for VLC encoding output from the RLC 202 includes: LAST indicating whether the non-zero DCT coefficient to be encoded is the last non-zero DCT coefficient in the block, LEVEL indicating a non-zero coefficient value, and encoding. RUN indicating the number of consecutive zeros before the count.

상기 제1 스위치(203)는 상기 RLC(202)에서 출력되는 제어정보(LAST, LEVEL, RUN)를 RVLC 플래그에 따라 제2 스위치(204)와 제4스위치(206) 중 하나로 스위칭하고, 상기 제2 스위치(203)는 상기 제1 스위치(203)에서 출력되는 정보를 H.263플래그에 따라 제3 스위치(205)와 상기 TCOEF/H.263 ESC. 수행부(209) 중 하나로 스위칭하며, 상기 제3 스위치(205)는 상기 제2 스위치(204)에서 출력되는 정보를 intra_inter 플래그에 따라 상기 intra TCOEF/MPEG4 intra ESC. 수행부(207)와 inter TCOEF/MPEG4 inter ESC. 수행부(208) 중 하나로 스위칭하고, 상기 제4 스위치(206)는 상기 제1 스위치(203)에서 출력되는 정보를 상기 intra_inter 플래그에 따라 상기 intra RVLC TCOEF / ESC. FLC 수행부(210)와 inter RVLC TCOEF / ESC. FLC 수행부(211) 중 하나로 스위칭한다.The first switch 203 switches the control information (LAST, LEVEL, RUN) output from the RLC 202 to one of the second switch 204 and the fourth switch 206 according to the RVLC flag. The second switch 203 transmits the information output from the first switch 203 to the third switch 205 and the TCOEF / H.263 ESC. The third switch 205 switches the information output from the second switch 204 to the intra TCOEF / MPEG4 intra ESC. Execution unit 207 and inter TCOEF / MPEG4 inter ESC. The fourth switch 206 switches the information output from the first switch 203 to the intra RVLC TCOEF / ESC. FLC execution unit 210 and inter RVLC TCOEF / ESC. Switch to one of the FLC execution unit 211.

상기와 같은 본 발명에 의한 동영상압축 부호화장치의 가변 길이 부호화기 일 실시예의 작용을 설명하면 다음과 같다.The operation of the variable length encoder of the video compression encoding apparatus according to the present invention as described above is as follows.

입력 버퍼(201)에 입력되는 정보는 영상정보(texture) 부호화에서 나오는 계수(coefficient)로 지그재그 스캔(zigzag scan)을 거친 정보이다. 입력 버퍼(201)에서는 escape mode를 고려한 VLC를 하기 위해 필요한 클럭 레이트(clock rate)에 맞추어 계수를 RLC(202)로 읽어내고 RLC(202)는 RUN,LEVEL,LAST를 구하기 위한 RLC(Run Length Coding)를 한다.The information input to the input buffer 201 is information that has undergone a zigzag scan with coefficients derived from image encoding. In the input buffer 201, the coefficients are read into the RLC 202 according to the clock rate required for the VLC considering the escape mode, and the RLC 202 calculates the Run Length Coding to obtain RUN, LEVEL, and LAST. )

각각의 모듈(207,208,209,210,211)을 선택하기 위해 RVLC 플래그, H.263 플래그, Intra_Inter 플래그가 이용된다.RVLC flags, H.263 flags, and Intra_Inter flags are used to select each module 207, 208, 209, 210 and 211.

MPEG4 Inter TCOEF VLC 테이블은 H.263 TCOEF VLC 테이블과 동일하다. 그러나 escape mode는 다르게 구성된다.The MPEG4 Inter TCOEF VLC table is identical to the H.263 TCOEF VLC table. However, escape mode is configured differently.

영상정보 부호화(texture coding)에서 나오는 매크로블럭 헤더 정보와 영상 데이터를 구분하여 처리하게 되는데, 매크로블럭 헤더 정보 처리 작용에 대해 설명하면, CBPY(100)는 휘도 블럭 패턴을 VLC하고, MCBPC(110)는 MB 타입과 CBPC(Coded Block Pattern for Chrominance)의 정보를 VLC 코드로 정의한다. 그리고 MVD(120)는 이전의 움직임 벡터와 현재의 움직임 벡터의 차이값을 VLC하고, 휘도 DCT DC 크기 처리부(130)는 휘도 DCT DC 크기를 VLC하며, 색차 DCT DC 크기 처리부(140)는 색차 DCT DC 크기를 VLC한다.The macroblock header information from the image information coding (texture coding) and the image data are processed separately. Referring to the macroblock header information processing operation, the CBPY 100 VLCs the luminance block pattern, and the MCBPC 110 Defines MB type and CBPC (Coded Block Pattern for Chrominance) information as VLC code. In addition, the MVD 120 VLC the difference value between the previous motion vector and the current motion vector, the luminance DCT DC size processor 130 VLC the luminance DCT DC size, and the color difference DCT DC size processor 140 is the color difference DCT. VLC the DC magnitude.

이제, 영상 데이터 처리인 입력 버퍼(201)에 이어, RLC의 동작을 설명하면, 입력 버퍼(201)에서 출력되는 AC 계수값을 RLC를 수행하여, LAST, RUN, LEVEL로 이루어진 일련의 EVENT들을 출력해서, VLC 부호화될 수 있도록 한다.Now, following the operation of the RLC, which is the image data processing, the operation of the RLC is performed. The RLC is performed on the AC coefficient value output from the input buffer 201 to output a series of events consisting of LAST, RUN, and LEVEL. To allow VLC coding.

이때 LAST가 '0'인 경우 0이 아닌 계수가 블럭 내에 더 존재한다는 것을 의미하고, '1'인 경우 0이 아닌 계수가 블럭 내에 더 이상 존재하지 않음을 나타낸다.In this case, when LAST is '0', it means that there are more non-zero coefficients in the block, and '1' means that non-zero coefficients no longer exist in the block.

이렇게 RLC를 수행하여 LAST, RUN, LEVEL을 출력하는 방법을 코드(code)로 나타내면 다음과 같다.In this way, the method of outputting LAST, RUN, and LEVEL by performing RLC in code is as follows.

count <= count + 1 ;count <= count + 1;

if(!AC_Coefficient) beginif (! AC_Coefficient) begin

run_cnt <= run_cnt + 1 ;run_cnt <= run_cnt + 1;

RLC_E <= 1'b0 ;RLC_E <= 1'b0;

endend

else beginelse begin

run_cnt <= 0;run_cnt <= 0;

LEVEL_tmp <= AC_Coefficient;LEVEL_tmp <= AC_Coefficient;

RUN_tmp <= run_cnt;RUN_tmp <= run_cnt;

if(LEVEL_tmp != 12'd0)if (LEVEL_tmp! = 12'd0)

RLC_E <= 1'b1;RLC_E <= 1'b1;

endend

LEVEL <= LEVEL_tmp;LEVEL <= LEVEL_tmp;

RUN <= RUN_tmp;RUN <= RUN_tmp;

if(count == 65) begin --------(1)if (count == 65) begin -------- (1)

LAST <= 1'b1;LAST <= 1'b1;

LEVEL <= LEVEL_tmp;LEVEL <= LEVEL_tmp;

RUN <= RUN_tmp;RUN <= RUN_tmp;

RLC_E <= 1'b1;RLC_E <= 1'b1;

endend

상기에서 input은 AC_Coefficient, count flag(64 or 65)이고, output은 RUN, LEVEL, LAST, RLC_E(RLC_Enable)이다. intra mode일 때, (1)의 count == 65는 DC 값을 빼고 LAST를 결정해야 하므로 64로 바뀐다. 그러나 Intra_dc_thr에 의해 DC값을 AC값과 동일한 방법으로 하여 처리하게 되면 Intra mode이더라도 65로 처리한다. 실제 RUN, LEVEL, LAST의 정보는 RLC_Enable로써 나타낸다.The input is AC_Coefficient, count flag (64 or 65), and the output is RUN, LEVEL, LAST, RLC_E (RLC_Enable). In intra mode, count == 65 in (1) is changed to 64 since LAST must be determined without subtracting the DC value. However, if Intra_dc_thr is used to process DC value in the same way as AC value, it is treated as 65 even in Intra mode. Actual RUN, LEVEL, and LAST information is represented by RLC_Enable.

도3은 MPEG4 인코딩(encoding)시 escape 모드 처리 작용을 보인다.3 shows an escape mode processing operation in MPEG4 encoding.

기존의 MPEG1, MPEG2, H.261, H.263에서의 escape 모드 처리 방법은 고정 길이 부호화(Fixed Length Coding; FLC)를 수행했다. 그러나 본 발명에 적용되는 MPEG4 escape mode는 도3에서 보여지는 바와 같이, 영상 압축률을 향상시키기 위해 3단계로 구분하여 처리한다. 즉, Intra TCOEF와 Inter TCOEF로 나누어져 각각 다른 테이블을 이용하며 escape mode에서도 LEVEL과 RUN값을 변화시키는 table이 각각 다르다.The conventional escape mode processing methods in MPEG1, MPEG2, H.261, and H.263 performed fixed length coding (FLC). However, as shown in FIG. 3, the MPEG4 escape mode applied to the present invention is processed in three steps to improve the image compression rate. In other words, it is divided into Intra TCOEF and Inter TCOEF and uses different tables, and different tables for changing LEVEL and RUN values in escape mode.

그러나 신호 흐름의 내용은 유사하다. 먼저 RLC(202)에서 나오는 RUN,LEVEL, LAST값을 가지고 TCOEF VLC 테이블을 참조하여 TCOEF VLC 코드를 결정한다. 그래서 TCOEF VLC 테이블의 해당 인덱스 안에 값이 존재하면 일반적인(normal) VLC를 수행한다(ST11,ST12).But the content of the signal flow is similar. First, the TCOEF VLC code is determined by referring to the TCOEF VLC table with the RUN, LEVEL, and LAST values from the RLC 202. Therefore, if a value exists in the corresponding index of the TCOEF VLC table, normal VLC is performed (ST11, ST12).

그러나 TCOEF VLC 테이블의 해당 인덱스 안에 값이 존재하지 않으면 escape mode로 선택된다. 그래서 LEVEL 값을 변화시킨다. 변화된 LEVEL값은 LEVEL+로, sign(LEVEL)*[abs(LEVEL)-LMAX]이다(ST13)(제1단계). 여기서 LMAX는 주어진 쌍 (LAST,RUN)의 LEVEL의 최대값이다.However, if no value exists in the corresponding index of the TCOEF VLC table, it is selected as escape mode. So we change the LEVEL value. The changed LEVEL value is LEVEL +, which is sign (LEVEL) * [abs (LEVEL) -LMAX] (ST13) (first step). Where LMAX is the maximum value of LEVEL for a given pair (LAST, RUN).

이렇게 LEVEL값을 변화시킨 후, 동일한 TCOEF VLC 테이블을 참조하여 해당 인덱스 안에 값이 존재하면 TCOEF VLC 코드를 정한다(ST14,ST15).After changing the LEVEL value, the TCOEF VLC code is determined if there is a value in the corresponding index by referring to the same TCOEF VLC table (ST14, ST15).

그러나 ST14에서 상기 TCOEF VLC 테이블에 값이 존재하지 않아, 다시 escape mode가 선택되면, RUN값을 변화시킨다. 변화된 RUN값은 RUN+로, RUN-(RMAX + 1)이다(ST16)(제2단계). 여기서 RMAX는 주어진 쌍 (LAST, LEVEL)의 RUN의 최대값이다.However, if no value exists in the TCOEF VLC table in ST14, and the escape mode is selected again, the RUN value is changed. The changed RUN value is RUN +, which is RUN- (RMAX + 1) (ST16) (second stage). Where RMAX is the maximum value of RUN for a given pair (LAST, LEVEL).

이렇게 RUN 값을 변화시킨 후, 다시 동일한 TCOEF VLC 테이블을 참조하여 TCOEF VLC 코드를 정한다(ST17,ST18). 그러나 상기 TCOEF VLC 테이블에 VLC 코드가 존재하지 않아 escape 모드가 선택되면, FLC(Fixed Length Coding)를 수행한다(ST19)(제3단계).After changing the RUN value like this, the TCOEF VLC code is determined by referring to the same TCOEF VLC table again (ST17, ST18). However, if the escape mode is selected because the VLC code does not exist in the TCOEF VLC table, FLC (Fixed Length Coding) is performed (ST19) (step 3).

위와 같은 동작 수행은 Intra일 때와 Inter일 때 동일한 방법으로 수행되고 적용되는 테이블의 구성이 다르다.The above operation is performed in the same way in Intra and Inter, and the configuration of the table is different.

도4는 본 발명에 의한 다른 실시예 동영상압축 부호화장치의 가변 길이 부호화의 출력을 위한 장치 블럭 구성을 보인다.4 is a block diagram of an apparatus for outputting variable length encoding in a video compression encoding apparatus according to another embodiment of the present invention.

RVLC 플래그에 따라 normal VLC 기능과 RVLC 기능을 수행하고, VLC escape 모드시 FLC를 수행하는 TCOEF VLC/RVLC ESC. 수행부(300)와; 상기 TCOEF VLC/RVLC ESC. 수행부(300)에서 출력되는 가변 길이 부호화(VLC) 코드와 고정 길이 부호화(FLC) 코드를 블럭(block) 단위로 하나의 비트열로 램(500)에 쓰기 위해 재구성하는 TCOEF 비트 스트림 생성기(400)와; 상기 TCOEF 비트 스트림 생성기(400)에서 출력되는 TCOEF 비트열을 저장하는 TCOEF VLC/RVLC 버퍼(램)(500)으로 구성된다.TCOEF VLC / RVLC ESC which performs normal VLC function and RVLC function according to RVLC flag and FLC in VLC escape mode. Execution unit 300; TCOEF VLC / RVLC ESC. TCOEF bit stream generator 400 for reconstructing the variable length coding (VLC) code and the fixed length coding (FLC) code output from the execution unit 300 into the RAM 500 in a single bit string in block units )Wow; The TCOEF VLC / RVLC buffer (RAM) 500 stores the TCOEF bit string output from the TCOEF bit stream generator 400.

상기 TCOEF VLC/RVLC ESC. 수행부(300)는 도5에 도시된 바와 같이, RVLC 플래그가 VLC 수행을 나타내면 normal VLC 기능을 수행하고 VLC escape 모드시 FLC를 수행하는 intra/inter TCOEF VLC VLC ESC. 수행부(310)와; 상기 RVLC 플래그가 RVLC 수행을 나타내면 RVLC 기능을 수행하고 RVLC escape 모드시 FLC를 수행하는 intra/inter TCOEF RVLC RVLC ESC. 수행부(320)와; 상기 RVLC 플래그에 따라, 상기 intra/inter TCOEF VLC VLC ESC. 수행부(310)에서 출력되는 intra/inter TCOEF VLC/FLC 코드와 상기 intra/inter TCOEF RVLC RVLC ESC. 수행부(320)에서 출력되는 intra/inter TCOEF RVLC/FLC 코드를 다중화하여 VLC 코드와 FLC 코드를 상기 TCOEF 비트 스트림 생성기(400)로 출력하는 TCOEF VLC/FLC 다중화부(330)로 구성된다.TCOEF VLC / RVLC ESC. As shown in FIG. 5, if the RVLC flag indicates VLC execution, the execution unit 300 performs a normal VLC function and performs FLC in VLC escape mode. Execution unit 310; Intra / inter TCOEF RVLC RVLC ESC. Performing RVLC function and performing FLC in RVLC escape mode if the RVLC flag indicates RVLC execution. Execution unit 320; According to the RVLC flag, the intra / inter TCOEF VLC VLC ESC. The intra / inter TCOEF VLC / FLC code and the intra / inter TCOEF RVLC RVLC ESC output from the execution unit 310. It consists of a TCOEF VLC / FLC multiplexer 330 for multiplexing the intra / inter TCOEF RVLC / FLC code output from the execution unit 320 to output the VLC code and FLC code to the TCOEF bit stream generator 400.

상기 intra/inter TCOEF VLC VLC ESC. 수행부(310)는 도6에 도시된 바와 같이, TCOEF VLC 테이블에서 원하는 VLC 모드를 검색하여 그 결과에 따라 escape모드인 지를 판단하고, escape 모드이면 타이밍 컨트롤러(313)로 escape 모드 신호를 전송하며, 판단된 모드에 따라 가변 길이 부호화를 수행하는 intra/inter TCOEF VLC 수행부(315)와; RMAX, RUN+를 계산하는 intra/inter RMAX, RUN+ 계산부(311)와; LMAX, LEVEL+를 계산하는 intra/inter LMAX, LEVEL+ 계산부(312)와; 상기 intra/inter RMAX, RUN+ 계산부(311)에서 계산된 RMAX, RUN+를 제공받고, 상기 intra/inter LMAX, LEVEL+ 계산부(312)에서 계산된 LMAX, LEVEL+를 제공받으며, 상기 intra/inter TCOEF VLC 수행부(315)로부터 전송받는 escape 모드 신호에 따라, LEVEL과 LEVEL+ 선택 기능과 RUN과 RUN+ 선택 기능을 수행하고 각 해당 블럭의 동작 제어 기능을 수행하는 타이밍 컨트롤러(313)와; 상기 타이밍 컨트롤러(313)의 제어에 따라, TCOEF 부호화를 위해 LEVEL의 절대치를 계산하는 LEVEL 절대값 계산부(314)와; 상기 intra/inter TCOEF VLC 수행부(315)에서 RUN, LEVEL, LAST를 이용한 가변 길이 부호화가 끝난 시점에, 상기 LEVEL 절대값 계산부(314)에서 출력되는 데이터를 이용하여 상기 intra/inter TCOEF VLC 수행부(315)로부터의 데이터에 사인비트(sign bit)를 첨가하는 부호비트 에더(sign bit adder)(317)와; 상기 타이밍 컨트롤러(313)의 동작 제어 신호에 따라 동작하여, MPEG4와 H.263의 DCT 계수에 대해 각각 FLC 부호화를 수행하는 MPEG4/H.263 TCOEF FLC 수행부(316)와; 상기 타이밍 컨트롤러(313)의 제어에 따라, 상기 부호 비트 에더(317)의 출력과 상기 MPEG4/H.263 TCOEF FLC 수행부(316)의 출력을 다중화하는 intra/inter TCOEF VLC/FLC 다중화부(318)로 구성된다.The intra / inter TCOEF VLC VLC ESC. As shown in FIG. 6, the execution unit 310 searches for a desired VLC mode in the TCOEF VLC table, determines whether the escape mode is based on the result, and transmits an escape mode signal to the timing controller 313 in the escape mode. An intra / inter TCOEF VLC performer 315 performing variable length coding according to the determined mode; An intra / inter RMAX and RUN + calculator 311 for calculating RMAX and RUN +; An intra / inter LMAX and LEVEL + calculator 312 for calculating LMAX and LEVEL +; The RMAX and RUN + calculated by the intra / inter RMAX and RUN + calculator 311 are provided, and the LMAX and LEVEL + calculated by the intra / inter LMAX and LEVEL + calculator 312 are received and the intra / inter TCOEF VLC is provided. A timing controller 313 performing a LEVEL and LEVEL + selection function, a RUN and RUN + selection function, and an operation control function of each corresponding block according to the escape mode signal received from the execution unit 315; An LEVEL absolute value calculator 314 for calculating an absolute value of LEVEL for TCOEF encoding under the control of the timing controller 313; The intra / inter TCOEF VLC is performed by the intra / inter TCOEF VLC execution unit 315 using the data output from the LEVEL absolute value calculation unit 314 at the end of variable length encoding using RUN, LEVEL, and LAST. A sign bit adder 317 for adding a sign bit to data from the section 315; An MPEG4 / H.263 TCOEF FLC performer 316 which operates according to an operation control signal of the timing controller 313 and performs FLC encoding on DCT coefficients of MPEG4 and H.263, respectively; Under the control of the timing controller 313, an intra / inter TCOEF VLC / FLC multiplexer 318 multiplexes the output of the code bit ether 317 and the output of the MPEG4 / H.263 TCOEF FLC execution unit 316. It is composed of

상기 intra/inter TCOEF RVLC RVLC ESC. 수행부(320)는 도7에 도시된 바와같이, TCOEF 부호화를 위해 LEVEL의 절대치를 계산하는 LEVEL 절대값 계산부(321)와; 상기 LEVEL 절대값 계산부(321)에서 출력되는 신호, RLC 인에이블 신호, RVLC 플래그, intra_inter 플래그를 입력받아 RVLC를 수행하는 intra/inter TCOEF RVLC 수행부(322)와; 상기 intra/inter TCOEF RVLC 수행부(322)에서 출력되는 RVLC 부호화 코드에 상기 LEVEL 절대값 계산부(321)로부터의 LEVEL sign bit를 첨가하는 sign bit adder(323)와; escape 모드일 때 FLC를 수행하는 TCOEF RVLC FLC 수행부(324)와; 상기 TCOEF RVLC FLC 수행부(324)의 출력과 상기 sign bit adder(323)의 출력을, 상기 intra/inter TCOEF RVLC 수행부(322)로부터의 escape 모드 신호에 따라 다중화하여 상기 TCOEF VLC/FLC 다중화부(330)로 출력하는 intra/inter TCOEF RVLC/FLC 다중화부(325)로 구성된다.The intra / inter TCOEF RVLC RVLC ESC. The performing unit 320 includes, as shown in FIG. 7, an LEVEL absolute value calculating unit 321 for calculating an absolute value of the LEVEL for TCOEF encoding; An intra / inter TCOEF RVLC execution unit 322 for performing an RVLC by receiving the signal output from the LEVEL absolute value calculator 321, an RLC enable signal, an RVLC flag, and an intra_inter flag; A sign bit adder (323) for adding the LEVEL sign bit from the LEVEL absolute value calculator (321) to the RVLC coded code output from the intra / inter TCOEF RVLC performer (322); a TCOEF RVLC FLC execution unit 324 for performing FLC in the escape mode; The output of the TCOEF RVLC FLC execution unit 324 and the output of the sign bit adder 323 are multiplexed according to an escape mode signal from the intra / inter TCOEF RVLC execution unit 322 to perform the TCOEF VLC / FLC multiplexer. An intra / inter TCOEF RVLC / FLC multiplexer 325 is output to 330.

상기와 같은 본 발명에 의한 다른 실시예 동영상압축 부호화장치의 가변 길이 부호화의 출력을 위한 장치의 작용을 설명하면 다음과 같다.The operation of the apparatus for outputting the variable length encoding of the video compression encoding apparatus according to another embodiment of the present invention as described above is as follows.

TCOEF VLC/RVLC ESC. 수행부(300)는 RVLC 플래그에 따라 normal VLC 기능과 RVLC 기능을 수행하고, VLC escape 모드시 FLC를 수행한다. TCOEF 비트 스트림 생성기(400)는 TCOEF VLC/RVLC ESC. 수행부(300)에서 출력되는 가변 길이 부호화(VLC) 코드와 고정 길이 부호화(FLC) 코드를 블럭(block) 단위로 하나의 비트열로 램(500)에 쓰기 위해 재구성한다. TCOEF VLC/RVLC 버퍼(램)(500)은 TCOEF 비트 스트림 생성기(400)에서 출력되는 TCOEF 비트열을 저장하고 원하는 곳에 출력한다.TCOEF VLC / RVLC ESC. The execution unit 300 performs the normal VLC function and the RVLC function according to the RVLC flag, and performs the FLC in the VLC escape mode. The TCOEF bit stream generator 400 includes TCOEF VLC / RVLC ESC. The variable length coding (VLC) code and the fixed length coding (FLC) code outputted from the execution unit 300 are reconstructed to be written to the RAM 500 in one bit string in block units. The TCOEF VLC / RVLC buffer (RAM) 500 stores the TCOEF bit stream output from the TCOEF bit stream generator 400 and outputs it to a desired place.

상기 TCOEF VLC/RVLC ESC. 수행부(300)의 작용을 좀더 상세히 설명하면, 도5에 도시된 바와 같이, RVLC 플래그로 2개의 module(310)(320)을 선택한다.TCOEF VLC / RVLC ESC. The operation of the execution unit 300 will be described in more detail. As shown in FIG. 5, two modules 310 and 320 are selected using the RVLC flag.

즉, RVLC 플래그가 VLC 수행을 나타내면, intra/inter TCOEF VLC VLC ESC. 수행부(310)는 normal VLC 기능을 수행하고 VLC escape 모드시 FLC를 수행한다. 그리고 상기 RVLC 플래그가 RVLC 수행을 나타내면 intra/inter TCOEF RVLC RVLC ESC. 수행부(320)는 RVLC 기능을 수행하고 RVLC escape 모드시 FLC를 수행한다.That is, if the RVLC flag indicates VLC performance, intra / inter TCOEF VLC VLC ESC. The execution unit 310 performs the normal VLC function and performs the FLC in the VLC escape mode. And if the RVLC flag indicates RVLC performance, intra / inter TCOEF RVLC RVLC ESC. The execution unit 320 performs the RVLC function and performs the FLC in the RVLC escape mode.

intra/inter TCOEF VLC VLC ESC. 수행부(310)는 MPEG4와 H.263에 대해 같은 TCOEF VLC 테이블을 사용하여 부호화하고, intra/inter TCOEF RVLC RVLC ESC. 수행부(320)는 MPEG4와 H.263에 대해 다른 VLC 테이블을 사용하여 부호화한다.intra / inter TCOEF VLC VLC ESC. The performing unit 310 encodes MPEG-4 and H.263 using the same TCOEF VLC table, and performs intra / inter TCOEF RVLC RVLC ESC. The execution unit 320 encodes MPEG-4 and H.263 using different VLC tables.

TCOEF VLC/FLC 다중화부(330)는 상기 RVLC 플래그에 따라, 상기 intra/inter TCOEF VLC VLC ESC. 수행부(310)에서 출력되는 intra/inter TCOEF VLC/FLC 코드와 상기 intra/inter TCOEF RVLC RVLC ESC. 수행부(320)에서 출력되는 intra/inter TCOEF RVLC/FLC 코드를 다중화하여 VLC 코드와 FLC 코드를 상기 TCOEF 비트 스트림 생성기(400)로 출력한다.The TCOEF VLC / FLC multiplexer 330 performs the intra / inter TCOEF VLC VLC ESC. The intra / inter TCOEF VLC / FLC code and the intra / inter TCOEF RVLC RVLC ESC output from the execution unit 310. The intra / inter TCOEF RVLC / FLC code output from the execution unit 320 is multiplexed to output the VLC code and the FLC code to the TCOEF bit stream generator 400.

그리고 상기 intra/inter TCOEF VLC VLC ESC. 수행부(310)의 작용을 좀더 상세히 설명하면 도6에 도시된 바와 같이, intra/inter TCOEF VLC 수행부(315)는, RUN, LEVEL, LAST를 가지고 TCOEF VLC 테이블에서 먼저 인덱스를 찾고, 이 때 escape mode이면 타이밍 컨트롤러(313)로 escape 모드 신호를 전송한다. 그러면 타이밍 컨트롤러(313)는 intra/inter LMAX, LEVEL+ 계산부(312)에서 이미 찾아진 LEVEL+ 값을 선택하여 intra/inter TCOEF VLC 수행부(315)로 전송하고, 다시 TCOEFVLC 테이블을 찾도록 한다. 그 결과 escape mode가 다시 선택되면 미리 선택된 RUN+를 가지고 다시 TCOEF VLC 테이블을 참조한다. 그 결과 escape mode가 다시 선택되면 FLC를 수행하도록 타이밍 컨트롤러(313)에서 MPEG4/H.263 TCOEF FLC 수행부(316)를 제어하여 FLC를 수행하도록 한다.And the intra / inter TCOEF VLC VLC ESC. Referring to the operation of the execution unit 310 in more detail as shown in Figure 6, the intra / inter TCOEF VLC execution unit 315, with RUN, LEVEL, LAST, first finds the index in the TCOEF VLC table, In the escape mode, the escape mode signal is transmitted to the timing controller 313. Then, the timing controller 313 selects the LEVEL + values already found by the intra / inter LMAX and LEVEL + calculator 312 and transmits them to the intra / inter TCOEF VLC performer 315 and searches for the TCOEFVLC table again. As a result, when escape mode is selected again, the TCOEF VLC table is referred to with the pre-selected RUN +. As a result, when the escape mode is selected again, the timing controller 313 controls the MPEG4 / H.263 TCOEF FLC execution unit 316 to perform FLC.

이러한 방법은 Intra TCOEF일 때와 Inter TCOEF일 때 동일하게 적용되고, 실제 구성 테이블과 LEVEL+와 RUN+ 참고 표는 다르다. 그리고 Inter TCOEF VLC는 H.263 VLC와 동일하게 적용된다.This method is the same for Intra TCOEF and Inter TCOEF, and the actual configuration table and the LEVEL + and RUN + reference tables are different. And Inter TCOEF VLC applies the same as H.263 VLC.

그리고 escape mode일 때 FLC 방법이 다르므로 H.263 플래그에 의해 FLC 방법을 스위칭한다.Since the FLC method is different in the escape mode, the FLC method is switched by the H.263 flag.

한편 LEVEL 절대값 계산부(314)는 LEVEL 값의 절대치를 계산한다. 그리고 signbit adder(부호비트 가산기)는 intra/inter TCOEF VLC 수행부(315)의 출력 신호인 unsigned VLC code에 sign_bit를 붙인다.Meanwhile, the LEVEL absolute value calculator 314 calculates the absolute value of the LEVEL value. The signbit adder adds a sign_bit to an unsigned VLC code which is an output signal of the intra / inter TCOEF VLC execution unit 315.

intra/inter TCOEF VLC/FLC 다중화부(318)는 타이밍 컨트롤러(313)의 제어에 따라 상기 부호 비트 에더(317)의 출력과 상기 MPEG4/H.263 TCOEF FLC 수행부(316)의 출력을 다중화하여 상기 TCOEF VLC/FLC 다중화부(330)로 출력한다.The intra / inter TCOEF VLC / FLC multiplexer 318 multiplexes the output of the code bit ether 317 and the output of the MPEG4 / H.263 TCOEF FLC performer 316 under the control of the timing controller 313. Output to the TCOEF VLC / FLC multiplexer 330.

또한 intra/inter TCOEF RVLC RVLC ESC. 수행부(320)의 작용을 상세히 설명하면, 도7에 도시된 바와 같이, RVLC는 Intra RVLC와 Inter RVLC의 테이블 구성이 다르다. RVLC가 escape mode일 때, FLC 방법은 Intra 프레임 부호화와 Inter 프레임 부호화가 모두 같다.See also intra / inter TCOEF RVLC RVLC ESC. Referring to the operation of the execution unit 320 in detail, as shown in Figure 7, the RVLC table configuration of the Intra RVLC and Inter RVLC is different. When the RVLC is in the escape mode, both the Intra frame coding and the Inter frame coding are the same in the FLC method.

RVLC 부호화를 위해 선택되는 모드 정보를 이용하여 LEVEL의 sign bit를 처리하고, escape 모드일 때 FLC를 수행하며, 이들의 정보를 intra/inter TCOEF RVLC/FLC 다중호부(325)에서 상기 escape 모드임을 나타내는 신호에 따라 다중화하여 상기 TCOEF VLC/FLC 다중화부(330)로 출력한다.Process sign bits of LEVEL using mode information selected for RVLC encoding, perform FLC when in escape mode, and indicate their escape mode in the intra / inter TCOEF RVLC / FLC multiple call unit 325. The signal is multiplexed according to a signal and output to the TCOEF VLC / FLC multiplexer 330.

이상에서 살펴본 바와 같이, 본 발명 동영상압축 부호화장치의 가변 길이 부호화기는, 동영상 압축 부호화 장치에서 전송 채널이 허용하는 저전송선로를 통하는 비교적 적은 영상정보에 대해 가변 길이 부호화하고, 가변 길이 부호화시 에러 손실을 복구할 수 있으며 역방향 가변 길이 부호화(Reverse Variable Length Coding)와 호환성을 가지도록 한 효과가 있다.As described above, the variable length encoder of the video compression encoding apparatus performs variable length encoding on relatively small image information through a low transmission line allowed by a transmission channel in the video compression encoding apparatus, and loses an error in variable length encoding. Can be recovered and has compatibility with Reverse Variable Length Coding.

Claims (8)

동영상 압축 부호화 장치에서 전송 채널이 허용하는 저전송선로를 통하는 비교적 적은 영상정보에 대해 가변 길이 부호화를 수행하기 위한 장치에 있어서,An apparatus for performing variable length encoding on relatively little image information through a low transmission line allowed by a transmission channel in a video compression encoding apparatus, 영상정보 부호화(texture coding)에서 나오는 매크로블럭 헤더 정보 중 휘도 블럭 패턴(Coded Block Pattern for Luminance; CBPY)을 intra_inter 플래그(intra 프레임 부호화와 inter 프레임 부호화를 선택하기 위한 제어 신호)에 따라 VLC 코드로 처리하는 휘도 블럭 패턴 처리부와;Coded Block Pattern for Luminance (CBPY) among macroblock header information from image coding is processed by VLC code according to intra_inter flag (control signal for selecting intra frame encoding and inter frame encoding) A luminance block pattern processing unit; 매크로블럭 헤더 정보 중 매크로블럭 타입(MB type)과 CBPC(Coded Block Pattern for Chrominance)의 정보를 VLC 코드로 정의하는 MCBPC와;An MCBPC defining macroblock type (MB type) and CBPC (Coded Block Pattern for Chrominance) information in the macroblock header information as a VLC code; 매크로블럭 헤더 정보 중의 하나인 이전의 움직임 벡터와 현재의 움직임 벡터 간의 차이값을 VLC 코드로 처리하는 움직임 벡터 차이값 처리부(Motion Vector Difference; MVD)와;A motion vector difference processor (MVD) for processing a difference value between a previous motion vector, which is one of the macroblock header information, and a current motion vector, by a VLC code; 매크로블럭 헤더 정보 중의 하나인 휘도 DCT DC 크기(dct_dc_size_lum.)를 위한 VLC 코드를 처리하는 휘도 DCT DC 크기 처리부와;A luminance DCT DC size processing unit for processing a VLC code for luminance DCT DC size (dct_dc_size_lum.), Which is one of macroblock header information; 매크로블럭 헤더 정보 중의 하나인 색차 DCT DC 크기(dct_dc_size_chro.)를 위한 VLC 코드를 처리하는 색차 DCT DC 크기 처리부와;A color difference DCT DC size processing unit for processing a VLC code for color difference DCT DC size (dct_dc_size_chro.) Which is one of macroblock header information; 영상정보 부호화(texture coding) 과정에서 zigzag scan을 거친 DCT 계수(TCOEF)를 입력받아 버퍼링하고, escape 모드를 고려한 VLC를 하기 위해 필요한 클럭 레이트(clock rate)에 맞추어 RLC로 출력하는 입력 버퍼와;An input buffer for receiving and buffering DCT coefficients TCEGF that have undergone a zigzag scan during image coding and outputting the RLC according to a clock rate required for VLC considering an escape mode; 상기 입력버퍼에서 출력되는 DCT AC 계수를 RLC(Run Length Coding)를 수행하여, VLC 부호화하기 위해 필요한 제어 정보를 출력하는 RLC와;An RLC which performs run length coding (RLC) on the DCT AC coefficients output from the input buffer and outputs control information necessary for VLC encoding; 역방향 가변 길이 부호화(RVLC)와 가변 길이 부호화(VLC)를 선택하기 위한 제어 신호(RVLC 플래그), H.263 TCOEF VLC를 선택하기 위한 제어 신호(H.263 플래그), intra 프레임 부호화와 inter 프레임 부호화를 선택하기 위한 제어 신호(intra_inter 플래그)를 선택적으로 입력받아, 역방향 가변 길이 부호화(RVLC), intra TCOEF 가변 길이 부호화(VLC), inter TCOEF VLC, H.263 TCOEF VLC가 선택적으로 수행되도록 상기 RLC로부터의 경로를 각각 스위칭하는 제1 내지 제4 스위치와;Control signal (RVLC flag) for selecting reverse variable length coding (RVLC) and variable length coding (VLC), control signal for selecting H.263 TCOEF VLC (H.263 flag), intra frame coding and inter frame coding Selectively receiving a control signal (intra_inter flag) for selecting RVLC, intra TCOEF variable length coding (VLC), inter TCOEF VLC, and H.263 TCOEF VLC to perform selectively from the RLC First to fourth switches each of which switches a path of? 상기 제1 내지 제3 스위치에 의해 선택되면 MPEG4 intra TCOEF를 intra escape 모드로 VLC를 수행하는 intra TCOEF/MPEG4 intra ESC. 수행부와;Intra TCOEF / MPEG4 intra ESC to perform VLC in MPEG4 intra TCOEF in intra escape mode when selected by the first to third switches. Execution unit; 상기 제1 내지 제3 스위치에 의해 선택되면 MPEG4 inter TCOEF를 inter escape 모드로 VLC를 수행하는 inter TCOEF/MPEG4 inter ESC. 수행부와;Inter TCOEF / MPEG4 inter ESC, which performs VLC with MPEG4 inter TCOEF in inter escape mode when selected by the first to third switches. Execution unit; 상기 제1 및 제2 스위치에 의해 선택되면 H.263 TCOEF를 inter 프레임 부호화를 사용하여 escape 모드를 수행하는 TCOEF/H.263 ESC. 수행부와;TCOEF / H.263 ESC to perform an escape mode using H.263 TCOEF using inter frame encoding when selected by the first and second switches. Execution unit; 상기 제1, 제2, 제4 스위치에 의해 선택되면 intra TCOEF를 RVLC 수행하고 escape 모드시 고정길이 부호화(Fixed Length Coding; FLC)를 수행하는 intra RVLC TCOEF / ESC. FLC 수행부와;Intra RVLC TCOEF / ESC performing RVLC performing intra TCOEF when selected by the first, second, and fourth switches and performing fixed length coding (FLC) in escape mode. FLC execution unit; 상기 제1, 제2, 제4 스위치에 의해 선택되면 inter TCOEF를 RVLC 수행하고 escape 모드시 고정길이 부호화(Fixed Length Coding; FLC)를 수행하는 inter RVLCTCOEF / ESC. FLC 수행부로 구성된 것을 특징으로 하는 동영상압축 부호화장치의 가변 길이 부호화기.RVLC performs inter TCOEF when selected by the first, second, and fourth switches, and performs fixed length coding (FLC) in escape mode. A variable length encoder of a moving picture compression encoding apparatus, characterized by comprising an FLC performer. 제 1 항에 있어서, 상기 RLC에서 출력되는 VLC 부호화하기 위해 필요한 제어 정보는,The method of claim 1, wherein the control information required for VLC coding output from the RLC, 현재 부호화되는 0이 아닌 DCT 계수가 블럭 내의 마지막 0이 아닌 DCT 계수인 지를 나타내는 LAST, 0이 아닌 계수의 값을 나타내는 LEVEL, 부호화되는 계수 앞의 연속적인 0의 개수를 나타내는 RUN임을 특징으로 하는 동영상압축 부호화장치의 가변 길이 부호화기.LAST indicating whether the non-zero DCT coefficient to be encoded is the last non-zero DCT coefficient in the block, LEVEL indicating the value of the non-zero coefficient, and RUN indicating the number of consecutive zeros before the encoded coefficient. Variable length encoder of a compression encoder. 제 1 항에 있어서,The method of claim 1, 상기 제1 스위치는 상기 RLC에서 출력되는 제어정보(LAST, LEVEL, RUN)를 RVLC 플래그에 따라 상기 제2 스위치와 상기 제4스위치 중 하나로 스위칭하고, 상기 제2 스위치는 상기 제1 스위치에서 출력되는 정보를 H.263플래그에 따라 상기 제3 스위치와 상기 TCOEF/H.263 ESC. 수행부 중 하나로 스위칭하며, 상기 제3 스위치는 상기 제2 스위치에서 출력되는 정보를 intra_inter 플래그에 따라 상기 intra TCOEF/MPEG4 intra ESC. 수행부와 상기 inter TCOEF/MPEG4 inter ESC. 수행부 중 하나로 스위칭하고, 상기 제4 스위치는 상기 제1 스위치에서 출력되는 정보를 상기intra_inter 플래그에 따라 상기 intra RVLC TCOEF / ESC. FLC 수행부와 상기 inter RVLC TCOEF / ESC. FLC 수행부 중 하나로 스위칭하는 것을 특징으로 하는 동영상압축 부호화장치의 가변 길이 부호화기.The first switch switches the control information (LAST, LEVEL, RUN) output from the RLC to one of the second switch and the fourth switch according to the RVLC flag, and the second switch is output from the first switch. The third switch and the TCOEF / H.263 ESC. The third switch is configured to switch to one of the performing units, and the third switch transmits the information output from the second switch according to the intra_inter flag. Execution unit and the inter TCOEF / MPEG4 inter ESC. Switch to one of the performing units, and the fourth switch is configured to transmit the information output from the first switch according to the intra_inter flag. FLC execution unit and the inter RVLC TCOEF / ESC. Variable length encoder of the video compression encoding apparatus, characterized in that for switching to one of the FLC performer. 동영상 압축 부호화 장치에서 전송 채널이 허용하는 저전송선로를 통하는 비교적 적은 영상정보에 대해 가변 길이 부호화 장치에 있어서,In a variable length encoding apparatus for a relatively small image information through a low transmission line allowed by a transmission channel in a video compression encoding apparatus, RVLC 플래그에 따라 normal VLC 기능과 RVLC 기능을 수행하고, VLC escape 모드시 FLC를 수행하는 TCOEF VLC/RVLC ESC. 수행부와;TCOEF VLC / RVLC ESC which performs normal VLC function and RVLC function according to RVLC flag and FLC in VLC escape mode. Execution unit; 상기 TCOEF VLC/RVLC ESC. 수행부에서 출력되는 가변 길이 부호화 코드와 고정 길이 부호화(FLC) 코드를 블럭(block) 단위로 하나의 비트열로 램(TCOEF VLC/RVLC 버퍼)에 쓰기 위해 재구성하는 TCOEF 비트 스트림 생성기와;TCOEF VLC / RVLC ESC. A TCOEF bit stream generator for reconstructing the variable length coded code and the fixed length coded code (FLC) code output from the execution unit into blocks (TCOEF VLC / RVLC buffers) in a unit of blocks in a block unit; 상기 TCOEF 비트 스트림 생성기에서 출력되는 TCOEF 비트열을 저장하는 TCOEF VLC/RVLC 버퍼(램)으로 구성된 것을 특징으로 하는 동영상압축 부호화장치의 가변 길이 부호화기.And a TCOEF VLC / RVLC buffer (RAM) for storing the TCOEF bit stream output from the TCOEF bit stream generator. 제 4 항에 있어서, 상기 TCOEF VLC/RVLC ESC. 수행부는,The method of claim 4, wherein the TCOEF VLC / RVLC ESC. Execution unit, RVLC 플래그가 VLC 수행을 나타내면 normal VLC 기능을 수행하고 VLC escape 모드시 FLC를 수행하는 intra/inter TCOEF VLC VLC ESC. 수행부와; 상기 RVLC 플래그가 RVLC 수행을 나타내면 RVLC 기능을 수행하고 RVLC escape 모드시 FLC를 수행하는 intra/inter TCOEF RVLC RVLC ESC. 수행부와; 상기 RVLC 플래그에 따라, 상기 intra/inter TCOEF VLC VLC ESC. 수행부에서 출력되는 intra/inter TCOEF VLC/FLC 코드와 상기 intra/inter TCOEF RVLC RVLC ESC. 수행부에서 출력되는 intra/inter TCOEF RVLC/FLC 코드를 다중화하여 VLC 코드와 FLC 코드를 상기 TCOEF 비트 스트림 생성기로 출력하는 TCOEF VLC/FLC 다중화부로 구성된 것을 특징으로 하는 동영상압축 부호화장치의 가변 길이 부호화기.If the RVLC flag indicates VLC performance, intra / inter TCOEF VLC VLC ESC performs normal VLC function and FLC in VLC escape mode. Execution unit; Intra / inter TCOEF RVLC RVLC ESC. Performing RVLC function and performing FLC in RVLC escape mode if the RVLC flag indicates RVLC execution. Execution unit; According to the RVLC flag, the intra / inter TCOEF VLC VLC ESC. An intra / inter TCOEF VLC / FLC code and an intra / inter TCOEF RVLC RVLC ESC. And a TCOEF VLC / FLC multiplexer for multiplexing the intra / inter TCOEF RVLC / FLC codes output from a processor to output VLC codes and FLC codes to the TCOEF bit stream generator. 제 5 항에 있어서,The method of claim 5, 상기 intra/inter TCOEF VLC VLC ESC. 수행부는, MPEG4와 H.263에 대해 같은 TCOEF VLC 테이블을 사용하여 부호화하고, 상기 intra/inter TCOEF RVLC RVLC ESC. 수행부는 MPEG4와 H.263에 대해 다른 VLC 테이블을 사용하여 부호화하는 것을 특징으로 하는 동영상압축 부호화장치의 가변 길이 부호화기.The intra / inter TCOEF VLC VLC ESC. The performing unit encodes using the same TCOEF VLC table for MPEG4 and H.263, and performs the intra / inter TCOEF RVLC RVLC ESC. And the execution unit encodes using MPEG V and H.263 using different VLC tables. 제 5 항에 있어서, 상기 intra/inter TCOEF VLC VLC ESC. 수행부는,The method of claim 5, wherein the intra / inter TCOEF VLC VLC ESC. Execution unit, TCOEF VLC 테이블에서 원하는 VLC 모드를 검색하여 그 결과에 따라 escape 모드인 지를 판단하고, escape 모드이면 타이밍 컨트롤러로 escape 모드 신호를 전송하며, 판단된 모드에 따라 가변 길이 부호화를 수행하는 intra/inter TCOEF VLC수행부와; RMAX, RUN+를 계산하는 intra/inter RMAX, RUN+ 계산부와; LMAX, LEVEL+를 계산하는 intra/inter LMAX, LEVEL+ 계산부와; 상기 intra/inter RMAX, RUN+ 계산부에서 계산된 RMAX, RUN+를 제공받고, 상기 intra/inter LMAX, LEVEL+ 계산부에서 계산된 LMAX, LEVEL+를 제공받으며, 상기 intra/inter TCOEF VLC 수행부로부터 전송받는 escape 모드 신호에 따라, LEVEL과 LEVEL+ 선택 기능과 RUN과 RUN+ 선택 기능을 수행하고 각 해당 블럭의 동작 제어 기능을 수행하는 타이밍 컨트롤러와; 상기 타이밍 컨트롤러의 제어에 따라, TCOEF 부호화를 위해 LEVEL의 절대치를 계산하는 LEVEL 절대값 계산부와; 상기 intra/inter TCOEF VLC 수행부에서 RUN, LEVEL, LAST를 이용한 가변 길이 부호화가 끝난 시점에, 상기 LEVEL 절대값 계산부에서 출력되는 데이터를 이용하여 상기 intra/inter TCOEF VLC 수행부로부터의 데이터에 사인비트(sign bit)를 첨가하는 부호비트 에더(sign bit adder)와; 상기 타이밍 컨트롤러의 동작 제어 신호에 따라 동작하여, MPEG4와 H.263의 DCT 계수에 대해 각각 FLC 부호화를 수행하는 MPEG4/H.263 TCOEF FLC 수행부와; 상기 타이밍 컨트롤러의 제어에 따라, 상기 부호 비트 에더의 출력과 상기 MPEG4/H.263 TCOEF FLC 수행부의 출력을 다중화하는 intra/inter TCOEF VLC/FLC 다중화부로 구성된 것을 특징으로 하는 동영상압축 부호화장치의 가변 길이 부호화기.Search for the desired VLC mode in the TCOEF VLC table to determine whether it is an escape mode, if it is an escape mode, send an escape mode signal to the timing controller, and perform intra / inter TCOEF VLC according to the determined mode. Execution unit; An intra / inter RMAX and RUN + calculator for calculating RMAX and RUN +; An intra / inter LMAX and LEVEL + calculator for calculating LMAX and LEVEL +; The escape received from the intra / inter RMAX, RUN + calculator, the RMAX, RUN +, LMAX, LEVEL + calculated by the intra / inter LMAX, LEVEL + calculator, and received from the intra / inter TCOEF VLC execution unit A timing controller which performs a LEVEL and LEVEL + selection function and a RUN and RUN + selection function and performs an operation control function of each corresponding block according to the mode signal; A LEVEL absolute value calculator for calculating an absolute value of the LEVEL for TCOEF encoding according to the control of the timing controller; Signing the data from the intra / inter TCOEF VLC performer using data output from the LEVEL absolute value calculator at the end of variable length encoding using RUN, LEVEL, and LAST in the intra / inter TCOEF VLC performer A sign bit adder for adding a bit; An MPEG4 / H.263 TCOEF FLC performer which operates according to an operation control signal of the timing controller and performs FLC encoding on DCT coefficients of MPEG4 and H.263, respectively; According to the control of the timing controller, the variable length of the video compression encoding apparatus comprising an intra / inter TCOEF VLC / FLC multiplexer for multiplexing the output of the code bit ether and the output of the MPEG4 / H.263 TCOEF FLC execution unit. Encoder. 제 5 항에 있어서, 상기 intra/inter TCOEF RVLC RVLC ESC. 수행부는,The method of claim 5, wherein the intra / inter TCOEF RVLC RVLC ESC. Execution unit, TCOEF 부호화를 위해 LEVEL의 절대치를 계산하는 LEVEL 절대값 계산부와; 상기 LEVEL 절대값 계산부에서 출력되는 신호, RLC 인에이블 신호, RVLC 플래그, intra_inter 플래그를 입력받아 RVLC를 수행하는 intra/inter TCOEF RVLC 수행부와; 상기 intra/inter TCOEF RVLC 수행부에서 출력되는 RVLC 부호화 코드에 상기 LEVEL 절대값 계산부로부터의 LEVEL sign bit를 첨가하는 sign bit adder와; escape 모드일 때 FLC를 수행하는 TCOEF RVLC FLC 수행부와; 상기 TCOEF RVLC FLC 수행부의 출력과 상기 sign bit adder의 출력을, 상기 intra/inter TCOEF RVLC 수행부로부터의 escape 모드 신호에 따라 다중화하여 상기 TCOEF VLC/FLC 다중화부로 출력하는 intra/inter TCOEF RVLC/FLC 다중화부로 구성된 것을 특징으로 하는 동영상압축 부호화장치의 가변 길이 부호화기.An absolute value calculation unit for calculating an absolute value of the level for TCOEF encoding; An intra / inter TCOEF RVLC execution unit configured to perform RVLC by receiving the signal output from the LEVEL absolute value calculator, an RLC enable signal, an RVLC flag, and an intra_inter flag; A sign bit adder for adding the LEVEL sign bit from the LEVEL absolute value calculator to the RVLC coded code output from the intra / inter TCOEF RVLC performer; a TCOEF RVLC FLC execution unit for performing FLC in the escape mode; Intra / inter TCOEF RVLC / FLC multiplexing outputting the output of the TCOEF RVLC FLC execution unit and the sign bit adder to the TCOEF VLC / FLC multiplexer by multiplexing the output of the sign bit adder from the intra / inter TCOEF RVLC execution unit. A variable length encoder of a moving picture compression encoding apparatus, comprising:
KR1020000039639A 2000-07-11 2000-07-11 Variable length encoder in MPEG4 codec KR100349649B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000039639A KR100349649B1 (en) 2000-07-11 2000-07-11 Variable length encoder in MPEG4 codec

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000039639A KR100349649B1 (en) 2000-07-11 2000-07-11 Variable length encoder in MPEG4 codec

Publications (2)

Publication Number Publication Date
KR20020006149A KR20020006149A (en) 2002-01-19
KR100349649B1 true KR100349649B1 (en) 2002-08-24

Family

ID=19677412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000039639A KR100349649B1 (en) 2000-07-11 2000-07-11 Variable length encoder in MPEG4 codec

Country Status (1)

Country Link
KR (1) KR100349649B1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4130780B2 (en) 2002-04-15 2008-08-06 松下電器産業株式会社 Image encoding method and image decoding method
KR100906473B1 (en) * 2002-07-18 2009-07-08 삼성전자주식회사 Advanced Method for coding and decoding motion vector and apparatus thereof
CN1321533C (en) * 2003-12-31 2007-06-13 中国科学院计算技术研究所 Method of maximum macro block kind and coding block mode combined coding/decoding
WO2007046644A1 (en) 2005-10-21 2007-04-26 Electronics And Telecommunications Research Institute Apparatus and method for encoding and decoding moving picture using adaptive scanning
KR100882949B1 (en) 2006-08-17 2009-02-10 한국전자통신연구원 Apparatus and method of encoding and decoding using adaptive scanning of DCT coefficients according to the pixel similarity
US8111704B2 (en) * 2009-06-26 2012-02-07 Intel Corporation Multiple compression techniques for packetized information

Also Published As

Publication number Publication date
KR20020006149A (en) 2002-01-19

Similar Documents

Publication Publication Date Title
US5623312A (en) Compressed-domain bit rate reduction system
US5687095A (en) Video transmission rate matching for multimedia communication systems
RU2322770C2 (en) Method and device for indication of quantizer parameters in video encoding system
KR100340370B1 (en) Image signal transmission method and apparatus
CA2159847C (en) Coded domain picture composition for multimedia communications systems
US6031575A (en) Method and apparatus for encoding an image signal, method and apparatus for decoding an image signal, and recording medium
KR100606588B1 (en) Picture processing device and picture processing method
KR100694275B1 (en) Transcoder device for transcoding compressed and encoded bitstream of motion picture in syntax level and motion picture communication system
MXPA04006814A (en) Coding dynamic filters.
JPH05276502A (en) Equipment and method for processing field group in video data compression system
US20070086515A1 (en) Spatial and snr scalable video coding
AU696085B2 (en) A transcoder
US20080123748A1 (en) Compression circuitry for generating an encoded bitstream from a plurality of video frames
WO2001062001A1 (en) A method and an apparatus for video mixing of bit streams
JPH1042295A (en) Video signal encoding method and video signal encoder
KR100349649B1 (en) Variable length encoder in MPEG4 codec
KR20050031460A (en) Method and apparatus for performing multiple description motion compensation using hybrid predictive codes
JP3263901B2 (en) Image signal encoding method and apparatus, image signal decoding method and apparatus
KR100349650B1 (en) Apparatus and method for variable length coding with divided variable length coding table in moving picture pression encoder
JPH09247667A (en) Dynamic image coder and dynamic image decoder
Shiu et al. A DCT-domain H. 263 based video combiner for multipoint continuous presence video conferencing
KR100386194B1 (en) Apparatus and method for image improvement by DC value additional compensation of quantization error in image compression
JPH10271512A (en) Image signal coder, its method, image signal decoder, its method and recording medium
KR100386374B1 (en) A transcoder
JPH11239331A (en) Multi-point communications system

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20100729

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee