KR100674941B1 - 내용 적응 가변 길이 부호화 장치 및 방법 - Google Patents

내용 적응 가변 길이 부호화 장치 및 방법 Download PDF

Info

Publication number
KR100674941B1
KR100674941B1 KR20050003181A KR20050003181A KR100674941B1 KR 100674941 B1 KR100674941 B1 KR 100674941B1 KR 20050003181 A KR20050003181 A KR 20050003181A KR 20050003181 A KR20050003181 A KR 20050003181A KR 100674941 B1 KR100674941 B1 KR 100674941B1
Authority
KR
South Korea
Prior art keywords
coefficient
value
coefficients
block
information
Prior art date
Application number
KR20050003181A
Other languages
English (en)
Other versions
KR20060082609A (ko
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 KR20050003181A priority Critical patent/KR100674941B1/ko
Priority to US11/331,743 priority patent/US20060156204A1/en
Priority to JP2006006503A priority patent/JP2006197610A/ja
Publication of KR20060082609A publication Critical patent/KR20060082609A/ko
Application granted granted Critical
Publication of KR100674941B1 publication Critical patent/KR100674941B1/ko

Links

Images

Classifications

    • 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
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04HBUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
    • E04H12/00Towers; Masts or poles; Chimney stacks; Water-towers; Methods of erecting such structures
    • E04H12/02Structures made of specified materials
    • E04H12/12Structures made of specified materials of concrete or other stone-like material, with or without internal or external reinforcements, e.g. with metal coverings, with permanent form elements
    • CCHEMISTRY; METALLURGY
    • C04CEMENTS; CONCRETE; ARTIFICIAL STONE; CERAMICS; REFRACTORIES
    • C04BLIME, MAGNESIA; SLAG; CEMENTS; COMPOSITIONS THEREOF, e.g. MORTARS, CONCRETE OR LIKE BUILDING MATERIALS; ARTIFICIAL STONE; CERAMICS; REFRACTORIES; TREATMENT OF NATURAL STONE
    • C04B28/00Compositions of mortars, concrete or artificial stone, containing inorganic binders or the reaction product of an inorganic and an organic binder, e.g. polycarboxylate cements
    • C04B28/02Compositions of mortars, concrete or artificial stone, containing inorganic binders or the reaction product of an inorganic and an organic binder, e.g. polycarboxylate cements containing hydraulic cements other than calcium sulfates
    • CCHEMISTRY; METALLURGY
    • C04CEMENTS; CONCRETE; ARTIFICIAL STONE; CERAMICS; REFRACTORIES
    • C04BLIME, MAGNESIA; SLAG; CEMENTS; COMPOSITIONS THEREOF, e.g. MORTARS, CONCRETE OR LIKE BUILDING MATERIALS; ARTIFICIAL STONE; CERAMICS; REFRACTORIES; TREATMENT OF NATURAL STONE
    • C04B41/00After-treatment of mortars, concrete, artificial stone or ceramics; Treatment of natural stone
    • C04B41/45Coating or impregnating, e.g. injection in masonry, partial coating of green or fired ceramics, organic coating compositions for adhering together two concrete elements
    • C04B41/50Coating or impregnating, e.g. injection in masonry, partial coating of green or fired ceramics, organic coating compositions for adhering together two concrete elements with inorganic materials
    • C04B41/5024Silicates
    • CCHEMISTRY; METALLURGY
    • C04CEMENTS; CONCRETE; ARTIFICIAL STONE; CERAMICS; REFRACTORIES
    • C04BLIME, MAGNESIA; SLAG; CEMENTS; COMPOSITIONS THEREOF, e.g. MORTARS, CONCRETE OR LIKE BUILDING MATERIALS; ARTIFICIAL STONE; CERAMICS; REFRACTORIES; TREATMENT OF NATURAL STONE
    • C04B41/00After-treatment of mortars, concrete, artificial stone or ceramics; Treatment of natural stone
    • C04B41/45Coating or impregnating, e.g. injection in masonry, partial coating of green or fired ceramics, organic coating compositions for adhering together two concrete elements
    • C04B41/50Coating or impregnating, e.g. injection in masonry, partial coating of green or fired ceramics, organic coating compositions for adhering together two concrete elements with inorganic materials
    • C04B41/5025Coating or impregnating, e.g. injection in masonry, partial coating of green or fired ceramics, organic coating compositions for adhering together two concrete elements with inorganic materials with ceramic materials
    • C04B41/5041Titanium oxide or titanates
    • 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
    • CCHEMISTRY; METALLURGY
    • C04CEMENTS; CONCRETE; ARTIFICIAL STONE; CERAMICS; REFRACTORIES
    • C04BLIME, MAGNESIA; SLAG; CEMENTS; COMPOSITIONS THEREOF, e.g. MORTARS, CONCRETE OR LIKE BUILDING MATERIALS; ARTIFICIAL STONE; CERAMICS; REFRACTORIES; TREATMENT OF NATURAL STONE
    • C04B2103/00Function or property of ingredients for mortars, concrete or artificial stone
    • C04B2103/54Pigments; Dyes
    • CCHEMISTRY; METALLURGY
    • C04CEMENTS; CONCRETE; ARTIFICIAL STONE; CERAMICS; REFRACTORIES
    • C04BLIME, MAGNESIA; SLAG; CEMENTS; COMPOSITIONS THEREOF, e.g. MORTARS, CONCRETE OR LIKE BUILDING MATERIALS; ARTIFICIAL STONE; CERAMICS; REFRACTORIES; TREATMENT OF NATURAL STONE
    • C04B2111/00Mortars, concrete or artificial stone or mixtures to prepare them, characterised by specific function, property or use
    • C04B2111/20Resistance against chemical, physical or biological attack
    • C04B2111/2038Resistance against physical degradation
    • C04B2111/2061Materials containing photocatalysts, e.g. TiO2, for avoiding staining by air pollutants or the like

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Ceramic Engineering (AREA)
  • Materials Engineering (AREA)
  • Structural Engineering (AREA)
  • Inorganic Chemistry (AREA)
  • Organic Chemistry (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Architecture (AREA)
  • Multimedia (AREA)
  • Wood Science & Technology (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Civil Engineering (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

영상 데이터가 변환된 계수를 내용 적응 가변 길이 부호화하는 장치 및 방법이 개시된다. 본 발명의 실시 예에 따른 부호화 장치는, 영상 데이터가 변환된 계수들을 소정의 크기의 매크로 블록으로 분할하고, 상기 매크로 블록을 복수의 블록들로 분할하여 상기 분할된 블록의 계수를 내용 적응 가변 길이 부호화하며, 계수 정보 발생부, 비트 데이터 발생부, 및 제어부를 구비한다. 계수 정보 발생부는 정보 발생 제어 신호에 응답하여 현재 판독되는 현재 블록의 계수를 부호화하는데 필요한 계수 정보를 발생한다. 비트 데이터 발생부는 비트 발생 제어신호에 응답하여 상기 현재 블록 바로 전에 판독된 이전 블록의 계수 정보에 응답하여 상기 이전 블록의 계수를 부호화한다. 제어부는 상기 정보 발생 제어 신호와 상기 비트 발생 제어 신호를 발생하여 상기 계수 정보 발생부와 상기 비트 데이터 발생부가 동시에 동작하도록 제어한다. 본 발명의 실시예에 따른 부호화 장치 및 방법은 부호화에 필요한 계수를 효율적으로 발생함으로써 부호화에 필요한 시간을 줄일 감소시킬 수 있으며, 이에 따라 계수를 신속하게 부호화할 수 있는 장점이 있다.
가변 길이 부호, 내용 적응 가변 길이 부호, 계수

Description

내용 적응 가변 길이 부호화 장치 및 방법{Context adaptive variable length coding apparatus and method thereof}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 종래기술에 따른 내용 적응 가변 길이 부호화 방법에 대한 흐름도이다.
도 2는 본 발명의 실시예에 따른 내용 적응 가변 길이 부호화 장치에 대한 블록도이다.
도 3은 도 2의 제어부에 대한 블록도이다.
도 4는 도 2의 계수 정보 발생부에 대한 블록도이다.
도 5는 런 값과 레벨 값이 저장되는 포맷을 나타내는 도면이다.
도 6은 전체계수를 발생할 때 이용되는 내부 전체계수 저장부를 설명하기 위한 도면이다.
도 7은 본 발명의 실시예에 따른 내용 적응 가변 길이 부호화 방법에서 계수 정보를 발생하는 방법에 대한 흐름도이다.
도 8은 본 발명의 실시예에 따른 내용 적응 가변 길이 부호화 방법에서 트레일링 1 값을 연산하는 방법에 대한 흐름도이다.
도 9는 본 발명의 실시예에 따른 내용 적응 가변 길이 부호화 방법에서 전체계수를 발생하는 방법에 대한 흐름도이다.
도 10은 본 발명의 실시예에 따른 내용 적응 가변 길이 부호화 방법에서 비트 데이터를 발생하는 방법에 대한 흐름도이다.
영상 데이터가 변환된 계수를 내용 적응 가변 길이 부호화하는 장치 및 방법에 관한 것으로서, 특히 계수를 지그재그 방향의 역순으로 한번에 판독하여 부호화에 필요한 계수를 발생하는 동작과 발생된 계수에 응답하여 비트 데이터를 발생하는 동작을 병렬로 수행하는 내용 적응 가변 길이 부호화 장치 및 방법에 관한 것이다.
H.264, 또는 ISO MPEG-4 Part 10 등의 표준 동영상 압축 기술에서 동영상의 각 화상 데이터들은 각각의 화상들 간의 정보를 이용하여 변환된 계수(coefficient data)로 변환된 후 부호화된다.
계수의 부호화는 가변 길이 부호화(variable length coding: VLC) 방법 중 내용 적응 가변 길이 부호화(context adaptive variable length coding: CAVLC) 방법에 따라 수행된다.
일반적으로 내용 적응 가변 길이 부호화 방법 등의 가변 길이 부호화 방법에서, 영상 데이터는 전체 영상단위로 처리되지 않고, 소정의 크기의 매크로 블록 (Macro Block)으로 분할되어 처리된다.
매크로 블록은 가로 방향으로 M 화소, 세로 방향으로 N 화소의 크기를 갖는 화소의 집합단위(M×N)로 표현된다. 일반적으로 동영상 부호화 방법에서 매크로 블록은 16×16의 크기를 갖는다.
한편 H.264, 또는 MPEG-4 Part 10 등의 표준 동영상 압축 기술에서, 내용 적응 가변 길이 부호화 방법은 16×16 크기의 매크로 블록 단위로 계수를 부호화한다.
좀 더 구체적으로, 내용 적응 가변 길이 부호화 방법은 블록의 DC 값을 부호화하는지에 따라 내용 적응 가변 길이 부호화 모드를 결정하고, 결정된 모드에 따라 매크로 블록을 소정의 크기(예를 들어, 4×4)의 블록 단위로 나누어 계수를 내용 적응 가변 부호화한다.
도 1은 종래기술에 따른 내용 적응 가변 길이 부호화 방법에 대한 흐름도이다.
먼저, 부호화하고자 하는 블록 내의 계수를 지그재그 방향의 순서로 판독하여 전체계수(total coefficient: TC)를 구한 후 소정의 전체계수 테이블에 따라 전체계수를 부호화하고, 트레일링 1(trailing 1: T1) 값을 구한다(S101).
여기서, 전체계수는 블록의 계수 중 0이 아닌 계수의 개수이며, 트레일링 1 값은 0이 아닌 계수 중 지그재그 방향의 순서에서 마지막에 판독되는 연속적인 +1, -1인 계수(즉, 절대값이 1인 계수)의 개수이다. 이 때, 트레일링 1 값은 3을 초과할 수 없다. 즉 연속적인 +1, -1인 계수가 3개 이상인 경우, 트레일링 1 값은 3이 다.
또한, 소정의 전체계수 테이블은 부호화하고자 하는 블록의 전체계수와 부호화하고자 하는 블록과 이웃하는 소정의 블록들(예를 들어, 왼쪽과 위쪽의 블록)의 전체계수에 응답하여 선택된다.
전체계수를 부호화하고 트레일링 1 값을 구한 후에는, 트레일링 1 값에 대응하는 계수의 부호(sign)를 부호화한다(S103). 예를 들어, 트레일링 1 값에 대응하는 계수가 +1인 경우 부호(+)는 0으로 부호화되고, 트레일링 1 값에 대응하는 계수가 -1인 경우 부호(-)는 1로 부호화된다.
트레일링 1 값의 부호(sign)를 부호화한 후에, 부호화하고자 하는 블록의 계수를 지그재그 방향의 역순으로 판독하여 0이 아닌 계수의 값(레벨 값: LEVEL)을 소정의 레벨 테이블에 따라 부호화한다(S105).
레벨 값을 부호화한 후에, 전체 0 값(total 0: T0)을 부호화한다(S107). 여기서, 전체 0 값은 지그재그 방향으로 블록의 계수를 판독할 때 계수 중 가장 마지막으로 0이 아닌 계수 이전에 나오는 0인 계수의 총 개수이다.
전체 0 값을 부호화한 후에, 런 값(RUN)을 부호화한다(S109). 여기서, 런 값은 지그재그 방향으로 블록의 계수를 판독할 때 0이 아닌 계수와 바로 전의 0이 아닌 계수 사이의 0인 계수의 개수이다. 따라서, 런 값은 모든 레벨 값에 대해 하나씩 발생한다.
상술한 바와 같이 종래의 내용 적응 가변 길이 부호화 방법은 블록의 전체계수, 트레일링 1 값, 레벨 값, 런 값, 및 전체 0 값을 구하고, 이를 부호화함으로써 블록의 계수를 부호화한다.
그러나 종래의 내용 적응 가변 길이 부호화 방법은, 블록의 전체계수, 트레일링 1 값, 전체 0 값, 레벨 값, 및 런 값을 구하기 위해서 블록의 계수를 지그재그 방향과 그 역방향으로 여러 번 판독해야하는 문제점이 있다. 또한 종래의 내용 적응 가변 길이 부호화 방법은, 지그재그 방향과 그 역방향으로 판독할 때마다 부호화가 이루어지므로 부호화에 많은 시간이 소모되는 문제점이 있다.
본 발명이 이루고자하는 기술적 과제는 계수를 지그재그 방향의 역순으로 한번에 판독하여 부호화에 필요한 계수를 발생하는 동작과 발생된 계수에 응답하여 비트 데이터를 발생하는 동작을 병렬로 수행하는 내용 적응 가변 길이 부호화 장치를 제공하는 데 있다.
본 발명이 이루고자하는 다른 기술적 과제는 계수를 지그재그 방향의 역순으로 한번에 판독하여 부호화에 필요한 계수를 발생하는 동작과 발생된 계수에 응답하여 비트 데이터를 발생하는 동작을 병렬로 수행하는 내용 적응 가변 길이 부호화 방법을 제공하는데 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 실시예에 따른 부호화 장치는, 영상 데이터가 변환된 계수들을 소정의 크기의 매크로 블록으로 분할하고, 상기 매크로 블록을 복수의 블록들로 분할하여 상기 분할된 블록의 계수를 내용 적응 가변 길이 부호화하며, 계수 정보 발생부, 비트 데이터 발생부, 및 제어부를 구비한다. 계수 정보 발생부는 정보 발생 제어 신호에 응답하여 현재 판독되는 현재 블록의 계수를 부호화하는데 필요한 계수 정보를 발생한다. 비트 데이터 발생부는 비트 발생 제어신호에 응답하여 상기 현재 블록 바로 전에 판독된 이전 블록의 계수 정보에 응답하여 상기 이전 블록의 계수를 부호화한다. 제어부는 상기 정보 발생 제어 신호와 상기 비트 발생 제어 신호를 발생하여 상기 계수 정보 발생부와 상기 비트 데이터 발생부가 동시에 동작하도록 제어한다.
상기 다른 기술적 과제를 달성하기 위한 본 발명의 실시예에 따른 부호화 방법은, 영상 데이터가 변환된 계수들을 소정의 크기의 매크로 블록으로 분할하고, 상기 매크로 블록을 복수의 블록들로 분할하여 상기 분할된 블록의 계수를 내용 적응 가변 길이 부호화하는 방법에 있어서, 현재 판독되는 현재 블록의 계수를 지그재그 방향의 역순으로 한 번만 판독하여 상기 현재 블록의 계수를 부호화하는데 필요한 계수 정보를 발생하는 단계; 및 소정의 부호화 테이블에 따라 상기 현재 블록 바로 전에 판독된 이전 블록의 계수를 부호화하는 단계를 구비한다. 상기 계수 정보를 발생하는 단계와 상기 계수를 부호화하는 단계는 동시에 수행된다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 2는 본 발명의 실시예에 따른 내용 적응 가변 길이 부호화 장치에 대한 블록도이다.
내용 적응 가변 길이 부호화 장치(200)는 제어부(210), 계수 정보 발생부(220), 및 비트 데이터 발생부(230)를 구비하며, 전체계수 저장부(240), 및 계수 정보 저장부(250)를 더 구비할 수 있다.
계수 정보 발생부(220)는 정보 발생 제어 신호(CD_CTRL)에 응답하여 동작한다. 계수 정보 발생부(220)는 현재 판독되는 현재 블록의 계수(COEF)를 지그재그 방향의 역방향으로 순서대로 판독하여 현재 블록의 계수(COEF)를 부호화하는데 필요한 계수 정보를 발생한다. 계수 정보는 전체계수(TC), 트레일링 1 값(T1), 런 값(RUN), 레벨 값(LEVEL), 전체 0 값(T0)을 구비한다.
비트 데이터 발생부(230)는 비트 발생 제어 신호(BD_CTRL)에 응답하여 동작한다. 비트 데이터 발생부(230)는 현재 블록 바로 이전에 판독된 이전 블록의 계수 정보에 응답하여 상기 이전 블록의 계수를 부호화하여 부호화된 비트열(BIT_STRM)을 출력한다.
한편, 계수 정보 발생부(220)가 현재 블록의 계수를 판독하여 현재 블록의 계수 정보를 발생하는 동안 비트 데이터 발생부(230)는 이전 블록의 계수 정보에 응답하여 이전 블록의 계수를 부호화한다. 즉, 계수 정보 발생부(220)와 비트 데이터 발생부(230)는 동시에 병렬적으로 동작한다.
제어부(210)는 소정의 제어 신호(CTRL)에 응답하여 계수 정보 발생부(220)를 동작시키는 정보 발생 제어 신호(CD_CTRL)와 비트 데이터 발생부(230)를 동작시키 는 비트 발생 제어신호(BD_CTRL)를 발생한다. 이하 도 3을 참조하여 제어부(210)의 동작에 대해 상세히 설명한다.
도 3은 도 2의 제어부에 대한 블록도이다.
제어부(210)는 (블록의 수+1)까지 카운트하는 카운터(310) 및 제어신호 발생부(330)를 구비한다. 카운터(310)는 매크로 블록에 대한 부호화를 지시하는 제어신호(CTRL)에 응답하여 리셋되어 소정의 주기로 카운트를 시작한다.
여기서, 소정의 주기는 현재 블록의 계수가 모두 판독되어 현재 블록의 계수 정보가 발생되고 이전 블록의 계수 정보에 응답하여 이전 블록의 계수가 부호화되는데 충분한 시간이어야 한다.
제어신호 발생부(330)는 카운터(310)의 출력에 응답하여 정보 발생 제어 신호(CD_CTRL)와 비트 발생 제어신호(BD_CTRL)를 발생한다.
카운터(310)의 첫 번째 카운트에서, 제어신호 발생부(330)는 정보 발생 제어 신호(CD_CTRL)만을 발생하여 계수 정보 발생부(220)가 첫 번째 블록에 대해서 계수 정보를 생성하도록 제어한다.
카운터(310)의 두 번째 카운트에서, 제어신호 발생부(330)는 정보 발생 제어신호(CD_CTRL)와 비트 발생 제어신호(BD_CTRL)를 모두 발생한다.
즉, 제어신호 발생부(330)는 계수 정보 발생부(220)가 현재 블록, 즉 두 번째 블록의 계수 정보를 발생하도록 제어하는 동시에 비트 데이터 발생부(230)가 이전 블록, 즉 첫 번째 블록의 계수 정보에 응답하여 첫 번째 블록의 계수를 부호화하도록 제어한다.
카운터(310)의 (블록의 수) 번째 카운트까지, 제어신호 발생부(330)는 정보 발생 제어신호(CD_CTRL)와 비트 발생 제어신호(BD_CTRL)를 모두 발생한다.
즉, 제어신호 발생부(330)는 계수 정보 발생부(220)가 현재 블록의 계수 정보를 발생하도록 제어하는 동시에 비트 데이터 발생부(230)가 이전 블록 계수 정보에 응답하여 이전 블록의 계수를 부호화하도록 제어한다.
카운터(310)의 (블록의 수+1) 번째 카운트에서, 제어신호 발생부(330)는 비트 발생 제어신호(BD_CTRL) 만을 발생하여 비트 데이터 발생부(230)가 마지막 블록의 계수 정보에 응답하여 마지막 블록의 계수를 부호화하도록 제어한다.
다시 도 2를 참조하면, 전체계수 저장부(240)는 이전 매크로 블록에서 계산된 소정의 전체계수들을 저장한다. 전체계수 저장부(240)에 저장되는 전체계수들은 이후 관련되는 부분에서 상세히 설명된다.
계수 정보 저장부(250)는 계수 정보 발생부(220)에서 발생된 계수 정보를 저장한다. 계수 정보 저장부(250)에 저장되는 계수 정보는 레벨값(LEVEL), 런 값(RUN), 및 트레일링 1 값(T1)이다.
도 4는 도 2의 계수 정보 발생부에 대한 블록도이다. 이하 도 4를 참조하여 계수 정보 발생부(220)가 계수 정보를 발생하는 동작에 대해 상세히 설명한다.
계수 정보 발생부(220)는 계수 판독부(410), 계수 판정 및 제어부(430), 계수 정보 생성부(450), 임시 저장부(470), 및 내부 전체계수 저장부(490)를 구비한다.
계수 판독부(410)는 계수 저장부(250)에 저장된 현재 블록의 계수(COEF)를 지그재그 방향의 역순으로 한 번만 판독하여 판독된 계수를 하나씩 계수 판정 및 제어부(430)로 전송한다.
종래의 내용 적응 가변 길이 부호화 방법과 달리 본원 발명의 실시예에서는 계수를 지그재그 방향의 역방향으로 한 번만 판독함으로써 부호화에 걸리는 시간을 단축시킬 수 있다.
계수 판정 및 제어부(430)는 순서대로 판독되어 전송되는 계수에 응답하여 계수 정보를 발생하기 위한 임시 정보(TMP_INF)를 발생하여 임시 저장부(470)로 전송한다.
임시 정보(TMP_INF)는 계수 유효 플래그, 누적된 0이 아닌 계수의 개수를 나타내는 전체계수 임시 정보, 0이 아닌 계수들을 나타내는 레벨 임시 정보, 트레일링 1 유효 플래그, 누적된 절대값이 1인 계수의 개수를 나타내는 트레일링 1 임시 정보, 및 누적된 연속적인 0인 계수의 개수를 나타내는 런 임시 정보를 포함한다.
계수 유효 플래그(471)는 0이 아닌 계수가 판독되었음을 나타낸다. 즉, 처음으로 0이 아닌 계수가 판독되면 계수 유효 플래그(471)는 셋 상태로 되며, 블록 내의 모든 계수가 판독되면 계수 유효 플래그(471)는 리셋 상태로 된다.
전체계수 임시 정보(472)는 순서대로 판독되는 계수들 중 0이 아닌 계수의 개수가 누적된 정보이다. 따라서, 블록 내의 모든 계수가 판독되면 전체계수 임시 정보(472)는 전체계수가 된다.
레벨 임시 정보(473)는 0이 아닌 계수들의 값, 즉 갱신하여 저장되는 레벨 값이다.
트레일링 1 유효 플래그(474)는 처음으로 절대값이 1인 계수가 연속적으로 판독되었음을 나타낸다. 즉, 절대값이 1인 계수가 처음으로 판독되면 트레일링 1 유효 플래그(474)는 셋 상태로 된다. 이후 절대값이 1인 계수가 연속적으로 판독되면 트레일링 1 유효 프래그(474)는 셋 상태를 유지하나, 절대값이 1인 계수가 연속적으로 판독되지 않으면 트레일링 1 유효 플래그(474)는 리셋 상태로 된다.
트레일링 1 임시 정보(475)는 처음으로 판독되는 연속적으로 절대값이 1인 계수의 개수가 누적된 정보이다. 따라서, 블록 내의 모든 계수가 판독되면 트레일링 1 임시 정보(475)에 저장된 값이 트레일링 1 값이 된다. 다만, 트레일링 1 값은 3을 넘지 못한다.
런 임시 정보(476)는 0이 아닌 계수들 사이의 연속적인 0인 계수의 개수, 즉 런 값이 누적된 정보이다. 한편, 런 값은 0이 아닌 계수들 사이의 연속적인 0인 계수의 수이므로, 런 값은 레벨 값과 함께 갱신되며 저장된다. 런 값과 레벨 값이 갱신되며 저장되는 과정에 대해서는 이후 상세히 설명한다.
계수 정보 생성부(450)는 임시 정보(TMP_INF)에 응답하여 계수 정보를 생성한다.
이하 도 4를 참조하여, 계수를 판독하여 임시 정보(TMP_INF)를 저장하고, 계수 정보를 생성하는 과정에 대해 상세히 설명한다.
정보 발생 제어신호(CD_CTRL)에 응답하여 계수 정보 발생부(220)는 현재 블록의 계수를 판독하여 계수 정보를 발생하기 위한 동작을 시작한다. 먼저, 계수 판독부(410)는 지그재그 방향의 역방향으로 현재 블록의 계수들을 순서대로 판독하여 계수 판정 및 제어부(430)로 전송한다.
계수 판정 및 제어부(430)는 전송된 계수가 0인지 판단하여, 0이면 런 임시 정보(476)의 값이 1 증가되도록 하고 다음으로 전송된 계수를 판정한다.
전송된 계수가 0이 아니면 전체계수 임시 정보(472)의 값이 1 증가되도록 한 후 다시 전송된 계수의 절대값이 1인지 판단한다. 전송된 계수의 절대값이 1이면 트레일링 1 값을 계산하기 위한 과정을 수행한 후 런 값과 레벨 값을 계산하기 위한 과정을 수행한다. 한편, 이하에서는 트레일링 1 값을 계산하기 위한 과정에 대해 설명한다.
전송된 계수의 절대값이 1이면 이전에 절대값이 1인 계수가 전송되었는지 판단한다. 이전에 절대값이 1인 계수가 전송되지 않았다면 전송된 계수는 처음으로 절대값이 1인 계수임을 의미하므로, 트레일링 1 유효 플래그(474)를 셋 상태로 한 후 트레일링 1 임시 정보(475)의 값을 1 증가시킨다.
이전에 절대값이 1인 계수가 전송되었다면 절대값이 1인 계수가 연속적인지 판단하여야 하므로, 바로 전에 전송된 계수의 절대값이 1인지 판단한다. 바로 전에 전송된 계수의 절대값이 1이 아니면 트레일링 1 값을 계산할 필요가 없으므로 트레일링 1 유효 플래그(474)를 리셋 상태로 하고 트레일링 1 임시 정보(475)의 값을 유지시킨다.
바로 전에 전송된 계수의 절대값이 1이면 절대값이 1인 계수가 연속적으로 판독된 경우이므로, 연속적으로 판독되는 것이 처음인지 판단하여야 한다. 따라서, 트레일링 1 유효 플래그(474)가 셋 상태인지 판단하여, 트레일링 1 유효 플래그 (474)가 셋 상태가 아니라면 트레일링 1 임시 정보(475)의 값을 유지시킨다.
한편, 트레일링 1 유효 플래그(474)가 셋 상태라도 트레일링 1 값은 3을 초과할 수 없다. 따라서, 트레일링 1 유효 플래그(474)가 셋 상태인 경우에도 다시 트레일링 1 임시 정보(475)가 3보다 작은지 판단하여, 3보다 작으면 트레일링 1 임시 정보(475)의 값을 1 증가시키고, 3보다 작지 않으면 트레일링 1 임시 정보(475)의 값을 유지시킨다.
다시 도 4를 참조하면, 전송된 계수의 절대값이 1이 아니면 트레일링 1 유효 플래그(474)를 리셋 상태로 하고 이전에 0이 아닌 계수가 판독되었는지 판단하여 런 값과 레벨 값을 계산하기 위한 과정을 수행한다.
이하 런 값과 레벨 값을 계산하는 과정에 대해 설명한다.
이전에 0이 아닌 계수가 전송되지 않았다면 전송된 계수는 처음으로 0이 아닌 계수임을 알 수 있다. 이러한 경우, 레벨 임시 정보(473)는 저장되어 있지 않으며, 런 임시 정보(476)는 의미없는 값이다.
따라서, 레벨 임시 정보(473)는 전송된 계수 값이 되고, 런 임시 정보(476)는 리셋된다. 또한, 계수 유효 플래그(471)는 셋 상태로 된다.
한편, 계수 유효 플래그(471)가 셋 상태이면 이전에 0이 아닌 계수가 전송되었음을 나타내고, 계수 유효 플래그(471)가 리셋 상태이면 이전에 0이 아닌 계수가 전송되지 않았음을 나타낸다.
이전에 0이 아닌 계수가 전송되었다면, 레벨 임시 정보(473)는 이전에 전송된 0이 아닌 계수 값이며, 런 임시 정보(476)는 이전에 전송된 0이 아닌 계수와 전 송된 계수 사이에 판독된 0인 계수의 개수가 누적된 값이다.
따라서, 계수 정보 생성부(450)는 레벨 임시 정보(473)와 런 임시 정보(476)를 각각 레벨 값과 런 값으로서 계수 정보 저장부(250)에 저장한다.
도 5는 런 값과 레벨 값이 저장되는 포맷을 나타내는 도면이다.
도 5에 도시된 바와 같이, 레벨 값의 부호(sign) 및 레벨 값, 그리고 런 값은 계수 정보 저장부의 0번째 주소부터 차례대로 저장된다. 한편, 전체계수는 0이 아닌 계수의 개수이므로, 레벨 값이 저장되는 주소를 이용하여 전체계수를 알아낼 수도 있다.
다시 도 4를 참조하면, 레벨 값과 런 값이 저장된 후, 계수 판정 및 제어부(430)는 전송된 계수를 레벨 값으로서 레벨 임시 정보(473)를 갱신하고, 런 임시 정보(476)를 리셋 한다.
전송된 계수에 대한 판정이 끝나면 블록의 계수들이 모두 전송되었는지 판단하여, 블록의 계수들이 모두 전송되지 않았다면 다음으로 전송된 계수에 대해 판정을 반복한다.
블록의 계수들이 모두 전송되었다면, 계수 정보 생성부(450)는 임시 저장부(470)에 저장된 임시 정보(TMP_INF)들에 응답하여 계수 정보를 생성한다.
구체적으로, 계수 정보 생성부(450)는 레벨 임시 정보(473), 런 임시 정보(476), 및 트레일링 1 임시 정보(475) 값을 레벨 값, 런 값, 및 트레일링 1 값으로서 계수 정보 저장부(250)에 저장한다.
또한, 계수 정보 생성부(450)는 전체계수 임시 정보(472)를 전체계수로서 내 부 전체계수 저장부(490)에 저장시킨 후 내부 전체계수 저장부(490)에 저장된 소정의 다른 전체계수들과 함께 비트 정보 생성부(230)로 전송한다. 그리고, 계수 정보 생성부(450)는 블록의 계수의 개수에서 전체계수를 뺀 값을 전체 0 값으로서 비트 정보 생성부(230)로 전송한다.
이하에서는 계수 정보 생성부(450)가 전체계수를 내부 전체계수 저장부(490)에 저장하고 비트 정보 생성부(230)로 전송하는 과정에 대해 설명한다.
도 6은 전체계수를 발생할 때 이용되는 내부 전체계수 저장부(490)를 설명하기 위한 도면으로, 하나의 매크로 블록을 구성하는 블록들을 나타낸다.
도 6에 도시된 바와 같이, 본 발명의 실시예에서 하나의 매크로 블록은 영상 데이터의 루미넌스가 변환된 16개의 블록(블록 1 내지 블록 16)과 크로미넌스가 변환된 2쌍의 4개의 블록(블록 19내지 블록 22, 및 블록 23 내지 블록 26)을 구비한다.
한편, 블록의 DC 값을 별도로 부호화하는 모드에서 매크로 블록은 16개의 루미넌스 블록의 DC 값들로 구성되는 블록(블록 0)와 크로미넌스 블록의 DC 값들로 구성되는 블록(블록 17, 및 블록 18)을 더 구비할 수 있다.
비트 데이터 발생부가 이전 블록의 전체계수를 부호화할 때, 이전 블록의 전체계수 뿐만 아니라 이전 블록의 이웃하는 블록(왼쪽 및 위쪽 블록)의 전체계수가 필요하다.
따라서, 블록의 계수들이 모두 전송된 경우 계수 정보 생성부(450)는 현재블록의 전체계수 뿐만 아니라 이웃하는 블록의 전체계수를 함께 비트 데이터 발생부 로 전송한다.
예를 들어 도 6에서 블록 7이 현재블록인 경우, 계수 정보 생성부(450)는 블록 7의 전체계수 뿐만 아니라 블록 4와 블록 5의 전체계수를 함께 비트 데이터 발생부로 전송하여야 한다.
따라서, 계수 정보 생성부(450)는 각각의 블록의 전체계수를 발생하는 동시에 발생된 전체계수를 소정의 순서로 내부 전체계수 저장부(490)에 저장하여, 현재블록의 전체계수를 비트 데이터 발생부로 전송할 때 현재 블록에 이웃하는 블록의 전체계수가 함께 전송되도록 한다.
도 6을 참조하면, 각각의 블록의 전체계수가 결정될 때 마다 왼쪽 버퍼(YL0 내지 YL3, CbL0, CbL1, CrL0, 및 CrL1)와 위쪽 버퍼(YU0 내지 YU3, CbU0, CbU1, CrU0, 및 CrU1)에 갱신하여 저장함으로써 현재블록에 이웃하는 블록의 전체계수를 전송할 수 있음을 알 수 있다. 즉, 내부 전체계수 저장부(490)는, 각각의 블록의 전체계수를 갱신하여 저장하는 왼쪽 버퍼와 위쪽 버퍼들을 구비한다.
구체적으로 예를 들어, 블록 5의 전체계수가 결정된 경우, 블록 5의 전체계수를 왼쪽버퍼(YL0)와 위쪽 버퍼(YU2)에 갱신하여 저장한다. 마찬가지로, 블록 6의 전체계수가 결정된 경우, 블록 6의 전체계수를 왼쪽버퍼(YL0)과 위쪽버퍼(YU3)에 갱신하여 저장한다.
따라서, 블록 6까지 전체계수가 결정된 경우에, 왼쪽버퍼(YL0)와 왼쪽버퍼(YL1)에는 각각 블록 6의 전체계수와 블록 4의 전체계수가 저장되어 있을 것이다. 또한, 위쪽버퍼(YU0), 위쪽버퍼(YU1), 위쪽버퍼(YU2), 위쪽버퍼(YU3)에는 각각 블 록 3, 블록 4, 블록 5, 및 블록 6의 전체계수가 저장되어 있을 것이다.
따라서, 현재블록의 전체계수가 결정되면, 계수 정보 생성부(450)는 현재블록의 전체계수와 함께 현재블록의 왼쪽 및 위쪽 버퍼에 저장된 값을 내부 전체계수 저장부(490)로부터 판독하여 비트 데이터 생성부로 전송한다. 그 후, 계수 정보 생성부(450)는 현재블록의 전체계수를 현재블록의 왼쪽 및 위쪽 버퍼에 갱신하여 저장한다.
예를 들어 블록 13의 전체계수가 결정되면, 계수 정보 생성부(450)는 블록 13의 전체계수와 함께 왼쪽버퍼(YL2)와 위쪽버퍼(YU2)에 저장된 값(즉, 블록 10의 전체계수와 블록 7의 전체계수)을 비트 데이터 발생부로 전송한다. 그 후, 계수 정보 생성부(450)는 블록 13의 전체계수를 왼쪽버퍼(YL2)와 위쪽버퍼(YU2)에 갱신하여 저장한다.
한편, 매크로 블록 내의 모든 블록에 대한 부호화가 완료된 경우에는 다음 오른쪽 매크로 블록에 대한 부호화가 수행된다. 이 때, 왼쪽 버퍼(YL0 내지 YL3, CbL0, CbL1, CrL0, 및 CrL1)에 저장된 값들은 다음 매크로 블록에서도 사용할 수 있으나, 위쪽 버퍼(YU0 내지 YU3, CbU0, CbU1, CrU0, 및 CrU1)에 저장된 값은 사용할 수 없다.
따라서, 다음 매크로 블록의 부호화를 위한 위쪽 버퍼의 값은 별도로 저장되어야 한다. 본 발명의 실시예에서 다음 매크로 블록의 부호화를 위한 위쪽 버퍼의 값은 도 2의 전체계수 저장부에 저장된다.
즉, 매크로 블록 내의 모든 블록에 대한 부호화가 완료된 후 계수 정보 생성 부(450)는 위쪽 버퍼에 저장된 값들을 전체계수 저장부에 저장하여, 아래쪽의 매크로 블록의 부호화할 때 이용할 수 있도록 한다. 이 때, 위쪽 버퍼에 저장된 값들은 블록 11, 12, 15, 16, 21, 22, 25, 및 26의 전체계수 값들이다.
또한, 매크로 블록 내의 블록에 대한 부호화를 시작할 때, 계수 정보 생성부(450)는 위쪽 매크로 블록의 블록 11, 12, 15, 16, 21, 22, 25, 및 26의 전체계수를 전체계수 저장부로부터 판독하여 위쪽블록에 저장하여, 블록의 계수를 부호화화는데 이용할 수 있도록 한다.
비트 데이터 발생부는 계수 정보에 응답하여 선택되는 소정의 테이블에 따라 블록의 계수를 비트 데이터로 부호화한다.
비트 데이터 발생부는 소정의 전체계수, 즉 이전 블록의 전체계수와 이전 블록의 왼쪽과 위쪽의 블록의 전체계수에 응답하여 이전 블록의 전체계수를 부호화할 전체계수 테이블을 선택하고, 전체계수를 부호화한다.
또한, 비트 데이터 발생부는 계수 정보 저장부에 저장된 레벨 값들에 응답하여 레벨 값들을 부호화할 레벨 테이블을 선택하고, 레벨 값들을 부호화한다. 이 때, 비트 데이터 발생부는 절대값이 1인 레벨 값에 대해서는 부호화하지 않는다.
또한, 비트 데이터 발생부는 이전 블록의 전체계수에 응답하여 전체 0 값을 부호화할 테이블을 선택하고, 전체 0 값을 부호화한다. 또한, 비트 데이터 발생부는 계수 정보 저장부에 저장된 런 값을 부호화한다.
마지막으로, 비트 데이터 발생부는 부호화된 값들을 비트열로서 출력한다.
다음으로, 본 발명의 실시예에 따른 내용 적응 가변 길이 부호화 방법에 대 해 설명한다.
본 발명의 실시예에 따른 내용 적응 가변 길이 부호화 방법은 현재 블록의 계수 정보를 발생하는 동작과 이전 블록의 계수를 부호화하는 동작이 동시에 수행된다.
즉, 현재 블록의 계수를 지그재그 방향의 역순으로 한 번만 판독하여 현재 블록의 계수를 부호화하는데 필요한 계수 정보를 발생하는 동시에, 이전 블록의 계수 정보에 응답하여 소정의 부호화 테이블을 선택하고 선택된 소정의 부호화 테이블에 따라 이전 블록의 계수를 부호화한다.
여기서, 계수 정보는 전체계수, 트레일링 1 값, 레벨 값, 런 값, 및 전체 0 값이다.
이하에서는 도 7 내지 도 10을 참조하여 본 발명의 실시예에 따른 내용 적응 가변 길이 부호화 방법에 대해 상세히 설명한다.
도 7은 본 발명의 실시예에 따른 내용 적응 가변 길이 부호화 방법에서 하나의 블록의 계수 정보를 발생하는 방법에 대한 흐름도이다.
먼저 모든 계수 정보를 리셋 상태로 한 후 현재 블록의 계수의 판독을 시작한다(S701). 현재 블록의 계수들은 지그재그 방향의 역방향으로 순서대로 판독되어 판독된 순서대로 계수 정보 발생 과정에 이용된다. 한편, 본 발명의 실시예에서 현재 블록의 계수들은 한 번만 판독된다.
다음으로 런 값 또는 전체계수를 계산하기 위해, 판독된 계수가 0인지 판단한다(S703). 만약 판독된 계수가 0이면 런 값을 1만큼 증가시키고(S705), 0이 아니 면 상기 판독된 계수가 0이 아니면 전체계수를 1만큼 증가시킨 후(S707) 판독된 계수의 절대값이 1인지 판단한다(S709).
판독된 계수의 절대값이 1인지 판단하는 과정은 트레일링 1 값을 계산하기 위한 과정이다. 만약 판독된 계수의 절대값이 1이 아니면 트레일링 1 유효 플래그(474)를 리셋 상태로 한다(S711). 이 때, 트레일링 1 유효 플래그(474)는 셋 상태일 수도 있고 리셋 상태일 수도 있다. 따라서, 트레일링 1 유효 플래그(474)가 셋 상태이면 리셋 상태로 전환시키고, 트레일링 1 유효 플래그(474)가 리셋 상태이면 리셋 상태를 유지한다.
한편, 판독된 계수의 절대값이 1이면 트레일링 1 값을 연산한다(S713). 트레일링 1 값을 연산하는 방법에 대해서는 도 8을 참조하여 이후 설명한다.
트레일링 1 값을 연산하거나 또는 트레일링 1 유효 플래그(474)를 리셋 상태로 한 후, 계수 유효 플래그(471)가 셋 상태인지 판단한다(S715). 셋 상태의 계수 유효 플래그(471)는 이전에 0이 아닌 계수가 판독되었음을 나타내고, 리셋 상태의 계수 유효 플래그(471)는 이전에 0이 아닌 계수가 판독되지 않았음을 의미한다.
블록의 계수 정보를 발생하는 과정이 시작될 때 계수 정보는 리셋되므로, 계수가 판독되기 이전에 0이 아닌 계수가 판독되었다면 계수 유효 플래그(471)는 셋 상태일 것이다. 그러나, 계수가 판독되기 이전에 0이 아닌 계수가 판독되지 않았다면 계수 유효 플래그(471)는 리셋 상태일 것이다.
따라서, 계수 유효 플래그(471)가 셋 상태가 아니면 계수 유효 플래그(471)를 셋 상태로 한 후(S717), 레벨 값을 판독된 계수로 갱신하여 저장하고 런 값을 리셋 상태로 한다(S721).
그러나, 계수 유효 플래그(471)가 셋 상태라면 레벨 값과 런 값을 저장한 후(S719), 레벨 값을 판독된 계수로 갱신하여 저장하고 런 값을 리셋 상태로 한다(S721).
다음으로, 현재 블록의 계수가 모두 판독되었는지 판단한다(S723). 만약 현재 블록의 계수가 모두 판독되지 않았다면 현재 블록의 다음 계수를 판독한 후(S725) S703 내지 S723 과정을 반복한다.
한편, 만약 현재 블록의 계수가 모두 판독되었다면 전체계수, 트레일링 1 값, 레벨 값, 및 런 값을 저장하고, 현재 블록의 계수의 개수와 전체계수의 차이를 구하여 전체 0 값을 계산하고, 계수 유효 플래그(471)를 리셋 상태로 한다(S727).
도 8은 본 발명의 실시예에 따른 내용 적응 가변 길이 부호화 방법에서 트레일링 1 값을 연산하는 방법에 대한 흐름도이다.
판독된 계수의 절대값이 1인 경우, 계수를 판독하기 이전에 절대값이 1인 계수가 판독되었는지 판단한다(S801). 만약 이전에 절대값이 1인 계수가 판독되지 않았다면 판독된 계수는 처음으로 절대값이 1인 계수이므로, 트레일링 1 유효 플래그(474)를 셋 상태로 하고(S803) 트레일링 1 값을 1 증가시킨다(S813).
한편, 만약 이전에 절대값이 1인 계수가 판독되었다면 트레일링 1 값을 증가시킬지 여부를 판단하기 위해 계수를 판독하기 바로 이전에 판독된 계수의 절대값이 1인지 판단한다(S805).
만약 바로 이전에 판독된 계수의 절대값이 1이 아니라면 트레일링 1이 아니 므로 트레일링 유효 플래그를 리셋 상태로 하고(S807) 트레일링 1 값을 유지한다(S815).
만약 바로 이전에 판독된 계수의 절대값이 1이면 처음으로 절대값이 1인 연속적인 계수인지 판단하기 위해, 상기 트레일링 1 유효 플래그(474)가 셋 상태인지 판단한다(S809). 만약 트레일링 1 유효 플래그(474)가 셋 상태가 아니면 처음으로 절대값이 1인 연속적인 계수가 아니므로 트레일링 1 값을 유지한다(S815).
그러나, 만약 트레일링 1 유효 플래그(474)가 셋 상태라면 처음으로 절대값이 1인 연속적인 계수이므로 트레일링 1 값을 증가시킬 수 있다. 그러나, 트레일링 1 값은 3을 초과할 수 없으므로, 현재 트레일링 1 값이 3보다 작은지 판단한다(S811).
마지막으로, 현재 트레일링 1 값이 3보다 작다면 트레일링 1 값을 1 증가시키고(S813), 현재 트레일링 1 값이 3보다 작지 않다면 현재 트레일링 1 값은 3이므로 현재 트레일링 1 값을 유지한다.
한편, 현재 블록의 전체계수를 부호화하기 위해서는 현재 블록의 전체계수 뿐만 아니라 현재 블록의 이웃하는 블록의 전체계수, 즉 현재 블록의 왼쪽과 위쪽 블록의 전체계수도 필요하다.
또한 도 6에 도시된 바와 같이, 부호화 하고자 하는 매크로 블록의 위쪽 블록들(블록 1, 2, 5, 6, 19, 20, 23, 및 24)의 위쪽 블록은 현재 블록이 포함된 매크로 블록의 위쪽 매크로 블록의 아래쪽 블록들이다.
따라서, 현재 블록의 전체계수를 소정의 내부 메모리에 갱신하여 저장할 필 요가 있으며, 현재 블록이 포함된 매크로 블록의 위쪽 매크로 블록의 아래쪽 블록들의 전체계수를 별도로 저장할 필요가 있다.
본 발명의 실시예에서 내부 메모리는 내부 전체계수 저장부(490)이며, 위쪽 매크로 블록의 아래쪽 블록들의 전체계수는 전체계수 저장부에 저장되나, 본 발명이 이에 제한되는 것은 아니다.
한편, 내부 메모리는 매크로 블록의 왼쪽 및 위쪽 블록들의 전체계수들 각각에 대한 왼쪽 버퍼 및 위쪽 버퍼를 구비한다. 각각의 블록들의 전체계수들은 대응하는 왼쪽 버퍼 및 위쪽 버퍼들에 갱신되어 저장된다.
도 9는 본 발명의 실시예에 따른 내용 적응 가변 길이 부호화 방법에서 전체계수를 저장하는 방법에 대한 흐름도이다.
매크로 블록에 포함된 블록들의 계수 정보를 발생할 때, 먼저 현재 블록이 첫 번째 블록인지 판단한다(S901). 만약 첫 번째 블록이라면 현재 블록이 포함된 매크로 블록의 위쪽 매크로 블록의 아래쪽 블록들의 전체계수를 판독하여 내부 메모리의 위쪽 버퍼에 저장한 후(S903), 현재 블록, 즉 첫 번째 블록의 전체계수를 계산한다(S905). 한편, 첫 번째 블록이 아니라면 현재 블록의 전체계수를 계산한다(S905).
현재 블록의 전체계수가 계산된 후에는, 현재블록의 전체계수를 내부 메모리, 즉 현재 블록에 대응하는 왼쪽 및 위쪽 버퍼에 갱신하여 저장하고(S907), 전체계수가 계산된 블록이 매크로 블록의 마지막 블록인지 판단한다(S909).
전체계수가 계산된 블록이 매크로 블록의 마지막 블록이 아니면 S901 내지 S907 단계를 반복한다. 한편, 전체계수가 계산된 블록이 매크로 블록의 마지막 블록이면 내부 메모리에 저장된 전체계수들 중 소정의 전체계수들, 즉 위쪽 버퍼에 저장된 전체계수들을 전체계수 저장부에 저장한다(S911).
도 10은 본 발명의 실시예에 따른 내용 적응 가변 길이 부호화 방법에서 비트 데이터를 발생하는 방법에 대한 흐름도이다.
이전 블록의 계수의 부호화는 계수 정보에 응답하여 결정되는 소정의 테이블에 따라 계수 정보를 순서대로 부호화함으로써 수행된다.
먼저, 이전 블록의 전체계수, 및 이전 블록에 이웃하는 블록들(이전 블록의 왼쪽과 위쪽 블록)의 전체계수에 응답하여 전체계수 테이블을 선택하고, 선택된 전체계수 테이블에 따라 이전 블록의 전체계수를 부호화한다(S1001).
전체계수를 부호화한 후에는, 이전 블록의 레벨 값에 응답하여 레벨 테이블을 선택하면서 선택된 레이블에 따라 이전 블록의 레벨 값을 부호화한다(S1003). 이 때, 레벨 값들 중 절대값이 1인 계수에 대한 레벨 값은 부호화되지 않는다.
레벨 값을 부호화한 후에는, 이전 블록의 전체계수에 응답하여 선택되는 소정의 테이블에 따라 이전 블록의 전체 0의 값을 부호화하고, 마지막으로 런 값을 부호화한다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이, 본 발명의 실시예에 따른 부호화 장치 및 방법은 확률 정보를 이용하여 구한 영상 데이터의 변환 계수를 한번에 판독하여 부호화에 필요한 계수를 발생함으로써 부호화에 필요한 계수를 효율적으로 발생할 수 있는 장점이 있다.
또한, 본 발명의 실시예에 따른 부호화 장치 및 방법은 부호화에 필요한 계수를 발생하는 동작과 계수에 응답하여 비트 데이터를 발생하는 동작을 병렬로 수행함으로써 부호화에 필요한 시간을 줄일 감소시켜 부호화를 신속하게 수행할 수 있는 장점이 있다.

Claims (26)

  1. 영상 데이터가 변환된 계수들을 소정의 크기의 매크로 블록으로 분할하고, 상기 매크로 블록을 복수의 블록들로 분할하여 상기 분할된 블록의 계수를 내용 적응 가변 길이 부호화하는 장치에 있어서,
    정보 발생 제어 신호에 응답하여 현재 판독되는 현재 블록의 계수를 부호화하는데 필요한 계수 정보를 발생하는 계수 정보 발생부;
    비트 발생 제어신호에 응답하여 상기 현재 블록 바로 전에 판독된 이전 블록 의 계수 정보에 응답하여 상기 이전 블록의 계수를 부호화하는 비트 데이터 발생부; 및
    상기 정보 발생 제어 신호와 상기 비트 발생 제어 신호를 발생하여 상기 계수 정보 발생부와 상기 비트 데이터 발생부가 동시에 동작하도록 제어하는 제어부를 구비하는 것을 특징으로 하는 내용 적응 가변 길이 부호화 장치.
  2. 제 1 항에 있어서,
    상기 현재 블록이 포함된 매크로 블록과, 상기 현재 블록이 포함된 매크로 블록과 위쪽으로 이웃하는 매크로 블록의 소정의 전체계수들을 저장하는 전체계수 저장부; 및
    상기 계수 정보 중 일부의 계수 정보를 저장하는 계수 정보 저장부를 더 구비하며,
    상기 일부의 계수 정보는 트레일링 1 값, 레벨 값, 및 런 값인 것을 특징으로 하는 내용 적응 가변 길이 부호화 장치.
  3. 제 1 항에 있어서, 상기 제어부는,
    (상기 블록의 수+1)까지 카운트하는 카운터;
    상기 카운터의 출력에 응답하여 상기 정보 발생 제어 신호와 상기 비트 발생 제어신호를 발생하는 제어 신호 발생부를 구비하는 것을 특징으로 하는 내용 적응 가변 길이 부호화 장치.
  4. 제 3 항에 있어서, 상기 제어 신호 발생부는,
    상기 카운터의 첫 번째 카운트에서는 상기 정보 발생 제어 신호만을 발생하고, 상기 카운터의 두 번째부터 상기 블록의 수까지의 카운트에서는 상기 정보 발생 제어 신호와 상기 비트 발생 제어신호를 모두 발생하며, 상기 카운터의 (상기 블록의 수+1) 번째 카운트에서는 상기 비트 발생 제어신호만을 발생하는 것을 특징으로 하는 내용 적응 가변 길이 부호화 장치.
  5. 제 1 항에 있어서, 상기 계수 정보 발생부는,
    상기 현재 블록의 계수를 지그재그 방향의 역순으로 한 번만 판독하는 계수 판독부;
    상기 판독된 계수 및 이전에 판독된 계수에 응답하여 상기 계수 정보를 발생하기 위한 임시 정보를 발생하는 계수 판정 및 제어부;
    상기 임시 정보를 저장하는 임시 저장부;
    상기 블록들의 이웃하는 블록들의 전체계수를 갱신하여 저장하는 내부 전체계수 저장부; 및
    상기 임시 정보에 응답하여 상기 계수 정보를 생성하는 계수 정보 생성부를 구비하는 것을 특징으로 하는 내용 적응 가변 길이 부호화 장치.
  6. 제 5 항에 있어서, 상기 임시 저장부는,
    0이 아닌 상기 계수가 판독되었음을 나타내는 계수 유효 플래그, 0이 아닌 상기 계수의 개수를 누적하여 저장하는 전체계수 임시 정보, 0이 아닌 상기 계수의 값을 저장하는 레벨 임시 정보, 처음으로 절대값이 1인 상기 계수가 연속적으로 판독되었음을 나타내는 트레일링 1 유효 플래그, 처음으로 판독된 절대값이 1인 연속적인 상기 계수의 개수를 누적하여 저장하는 트레일링 1 임시 정보, 및 0이 아닌 상기 계수 사이의 연속적인 0인 계수의 수를 누적하여 저장하는 런 임시 정보를 저장하는 것을 특징으로 하는 내용 적응 가변 길이 부호화 장치.
  7. 제 6 항에 있어서, 상기 계수 판정 및 제어부는,
    상기 판독된 계수에 응답하여, 상기 계수 유효 플래그와 상기 트레일링 1 유효 플래그를 셋 또는 리셋 상태로 하고, 상기 전체계수 임시 정보, 트레일링 1 임시 정보, 및 런 임시 정보의 값을 증가시키며, 레벨 임시 정보를 갱신하는 것을 특징으로 하는 내용 적응 가변 길이 부호화 장치.
  8. 제 7 항에 있어서, 상기 계수 정보 생성부는,
    상기 판독된 계수가 0인 경우 상기 런 임시 정보의 값을 증가시키고,
    상기 판독된 계수가 0이 아닌 경우 상기 레벨 임시 정보와 상기 런 임시 정보를 상기 레벨 값과 상기 런 값으로서 상기 계수 정보 저장부에 저장한 후, 상기 판독된 계수를 상기 레벨 임시 정보로서 갱신하여 저장하고 상기 런 임시 정보를 리셋하는 것을 특징으로 하는 내용 적응 가변 길이 부호화 장치.
  9. 제 8 항에 있어서, 상기 계수 판정 및 제어부는,
    상기 판독된 0이 아닌 판독된 계수의 절대값이 1인 경우, 상기 트레일링 1 유효 플래그에 응답하여 상기 트레일링 1 임시 정보의 값을 증가시키는 것을 특징으로 하는 내용 적응 가변 길이 부호화 장치.
  10. 제 7 항에 있어서, 상기 계수 판정 및 제어부는,
    상기 현재 블록 내의 계수를 모두 판독한 경우 상기 임시 정보에 응답하여 상기 트레일링 1 값, 레벨 값, 및 런 값을 상기 계수 정보 저장부에 저장하고, 소정의 전체계수, 및 전체 0 값을 상기 비트 데이터 발생부로 전송하는 것을 특징으로 하는 내용 적응 가변 길이 부호화 장치.
  11. 제 10 항에 있어서, 상기 계수 정보 생성부는,
    상기 트레일링 1 임시 정보, 상기 레벨 임시 정보, 및 상기 런 임시 정보를 상기 트레일링 1 값, 레벨 값, 및 런 값으로서 상기 계수 정보 저장부에 저장하는 것을 특징으로 하는 내용 적응 가변 길이 부호화 장치.
  12. 제 10 항에 있어서, 상기 전체 0 값은,
    상기 현재 블록의 계수의 수와 상기 현재 블록의 전체계수의 차인 것을 특징으로 하는 내용 적응 가변 길이 부호화 장치.
  13. 제 10 항에 있어서, 상기 소정의 전체계수는,
    상기 현재블록의 전체계수, 및 상기 현재 블록의 왼쪽과 위쪽 블록의 전체계수인 것을 특징으로 하는 내용 적응 가변 길이 부호화 장치.
  14. 제 5 항에 있어서, 상기 내부 전체계수 저장부는,
    상기 현재 블록이 포함된 매크로 블록의 왼쪽 블록들의 전체계수를 갱신하여 저장하는 복수의 왼쪽 버퍼들; 및
    상기 현재 블록이 포함된 매크로 블록의 위쪽 블록들의 전체계수를 갱신하여 저장하는 복수의 위쪽 버퍼들을 구비하는 것을 특징으로 하는 내용 적응 가변 길이 부호화 장치.
  15. 제 14 항에 있어서, 상기 계수 정보 생성부는,
    상기 현재 블록의 전체계수가 발생될 때마다 상기 현재블록의 전체계수, 및 상기 현재 블록에 대응하는 왼쪽 버퍼와 위쪽 버퍼에 저장된 전체계수를 상기 비트 데이터 발생부로 전송한 후, 상기 왼쪽 버퍼와 위쪽 버퍼에 저장된 전체계수를 상기 현재 블록의 전체계수로 갱신하여 저장하는 것을 특징으로 하는 내용 적응 가변 길이 부호화 장치.
  16. 제 14 항에 있어서, 상기 계수 정보 생성부는,
    상기 현재 블록이 상기 현재 블록이 포함된 매크로 블록에서 첫 번째 블록인 경우, 상기 현재 블록의 전체계수를 발생하기 전에 상기 현재 블록이 포함된 매크로 블록과 위쪽으로 이웃하는 매크로 블록에 대한 소정의 전체계수들을 상기 전체계수 저장부에서 판독하여 상기 내부 전체계수 저장부에 저장하며,
    상기 현재 블록이 상기 현재 블록이 포함된 매크로 블록에서 마지막 블록인 경우, 상기 현재 블록의 전체계수를 발생한 후에 상기 내부 전체계수 저장부에 저장된 소정의 전체계수들을 상기 전체계수 저장부에 저장하는 것을 특징으로 하는 내용 적응 가변 길이 부호화 장치.
  17. 제 2 항에 있어서, 상기 소정의 전체계수는,
    상기 내부 전체계수 저장부의 위쪽 버퍼에 저장된 전체계수들인 것을 특징으로 하는 내용 적응 가변 길이 부호화 장치.
  18. 제 1 항에 있어서, 비트 데이터 발생부는,
    상기 계수 정보에 응답하여 선택되는 소정의 테이블에 따라 상기 계수 정보를 비트 데이터로 부호화하는 것을 특징으로 하는 내용 적응 가변 길이 부호화 장치.
  19. 제 18 항에 있어서, 상기 소정의 테이블은,
    전체계수를 부호화하기 위한 전체계수 테이블, 레벨 값을 부호화하기 위한 레벨 테이블을 구비하며,
    상기 전체계수 테이블은 상기 이전 블록의 전체계수 및 상기 이전 블록의 왼쪽과 위쪽 블록의 전체계수에 응답하여 결정되며,
    상기 레벨 테이블은 상기 레벨 값에 응답하여 결정되는 것을 특징으로 하는 내용 적응 가변 길이 부호화 장치.
  20. 영상 데이터가 변환된 계수들을 소정의 크기의 매크로 블록으로 분할하고, 상기 매크로 블록을 복수의 블록들로 분할하여 상기 분할된 블록의 계수를 내용 적응 가변 길이 부호화하는 방법에 있어서,
    현재 판독되는 현재 블록의 계수를 지그재그 방향의 역순으로 한 번만 판독하여 상기 현재 블록의 계수를 부호화하는데 필요한 계수 정보를 발생하는 단계; 및
    소정의 부호화 테이블에 따라 상기 현재 블록 바로 전에 판독된 이전 블록의 계수를 부호화하는 단계를 구비하며,
    상기 계수 정보를 발생하는 단계와 상기 계수를 부호화하는 단계는 동시에 수행되는 것을 특징으로 하는 내용 적응 가변 길이 부호화 방법.
  21. 제 20 항에 있어서,
    상기 계수 정보는 전체계수, 트레일링 1 값, 레벨 값, 런 값, 및 전체 0 값인 것을 특징으로 하는 내용 적응 가변 길이 부호화 방법.
  22. 제 20 항에 있어서, 상기 계수 정보를 발생하는 단계는,
    상기 계수 정보를 리셋하고 상기 현재 블록의 계수를 지그재그 방향의 역순으로 한 번만 판독하는 단계;
    판독된 순서대로 상기 판독된 데이터가 0인지 판단하는 단계;
    상기 판독된 계수가 0이면 런 값을 증가시키고, 상기 판독된 계수가 0이 아니면 상기 판독된 계수에 응답하여 상기 런 값을 제외한 계수 정보를 계산하는 단계; 및
    상기 현재 블록의 계수를 모두 판독하지 않았다면 상기 판독된 데이터 다음에 판독된 데이터에 대해 상기 0인지 판단하는 단계로 진행하고, 상기 현재 블록의 계수를 모두 판독하였다면 상기 전체계수, 트레일링 1 값, 레벨 값, 런 값, 및 전체 0 값을 저장하는 단계를 구비하는 것을 특징으로 하는 내용 적응 가변 길이 부호화 방법.
  23. 제 22 항에 있어서, 상기 런 값을 제외한 계수 정보를 계산하는 단계는,
    전체계수 값을 증가시킨 후 상기 판독된 계수의 절대값이 1인지 판단하는 단계;
    상기 절대값이 1이 아니면 트레일링 1 유효 플래그를 리셋 상태로 한 후 계수 유효 플래그가 셋 상태인지 판단하고, 상기 판독된 계수의 절대값이 1이면 트레일링 1 값을 연산한 후 상기 계수 유효 플래그가 셋 상태인지 판단하는 단계;
    상기 계수 유효 플래그가 셋 상태가 아니면 계수 유효 플래그를 셋 상태로 한 후 상기 레벨 값을 상기 판독된 계수로 갱신하고 상기 런 값을 리셋 하며, 상기 유효 플래그가 셋 상태이면 상기 레벨 값과 상기 런 값을 저장한 후 상기 레벨 값을 상기 판독된 계수로 갱신하고 상기 런 값을 리셋 하는 단계를 구비하며,
    상기 전체계수, 트레일링 1 값, 레벨 값, 런 값, 및 전체 0 값을 저장하는 단계는 상기 계수 유효 플래그를 리셋 상태로 하는 단계를 더 구비하는 것을 특징으로 하는 내용 적응 가변 길이 부호화 방법.
  24. 제 23 항에 있어서, 상기 트레일링 1 값을 연산하는 단계는,
    상기 계수를 판독하기 전에 절대값이 1인 계수가 판독되지 않았다면 트레일링 1 유효 플래그를 셋 상태로 하고 트레일링 1 값을 증가시키는 단계;
    상기 계수를 판독하기 전에 절대값이 1인 계수가 판독되었다면 상기 계수를 판독하기 바로 전에 판독된 계수의 절대값이 1인지 여부, 상기 트레일링 1 유효 플래그, 및 상기 트레일링 1 값에 응답하여 트레일링 1 값을 증가시키거나 유지하는 단계를 구비하며,
    상기 트레일링 1 값을 증가시키거나 유지하는 단계는,
    상기 바로 전에 판독된 계수의 절대값이 1이고 트레일링 1 유효 플래그가 셋 상태이고, 그리고 상기 트레일링 1 값이 3보다 작으면 상기 트레일링 1 값을 증가시키는 단계;
    상기 바로 전에 판독된 계수의 절대값이 1이 아니면 상기 트레일링 1 유효 플래그를 리셋 상태로 하고 상기 트레일링 1 값을 유지하는 단계; 및
    상기 바로 전에 판독된 계수의 절대값이 1이고 트레일링 1 유효 플래그가 셋 상태가 아니거나, 또는 상기 바로 전에 판독된 계수의 절대값이 1이고 트레일링 1 유효 플래그가 셋 상태이고 그리고 상기 트레일링 1 값이 3보다 작지 않으면 트레일링 1 값을 유지하는 단계를 구비하는 것을 특징으로 하는 내용 적응 가변 길이 부호화 방법.
  25. 제 22 항에 있어서, 상기 전체계수를 저장하는 단계는,
    상기 현재 블록이 상기 현재 블록이 포함된 매크로 블록의 첫 번째 블록인지 판단하는 단계;
    상기 현재 블록이 첫 번째 블록이 아니면 상기 현재 블록의 전체계수를 계산하고, 상기 현재 블록이 첫 번째이면 상기 현재 블록이 포함된 매크로 블록의 위쪽 매크로 블록에 포함된 소정의 블록의 전체계수를 판독하여 내부 메모리에 저장한 후 상기 현재 블록의 전체계수를 계산하는 단계;
    상기 계산된 현재 블록의 전체계수를 상기 내부 메모리에 갱신하여 저장하는 단계; 및
    상기 현재 블록이 상기 현재 블록이 포함된 매크로 블록에서의 마지막 블록이 아니면 상기 첫 번째 블록인지 판단하는 단계로 진행하고, 상기 현재 블록이 상기 현재 블록이 포함된 매크로 블록에서의 마지막 블록이면 상기 내부 메모리에 저장된 소정의 전체계수를 저장하는 단계를 구비하는 것을 특징으로 하는 내용 적응 가변 길이 부호화 방법.
  26. 제 20 항에 있어서, 상기 계수를 부호화하는 단계는,
    상기 이전 블록의 전체계수 및 상기 이전 블록의 왼쪽 및 위쪽 블록의 전체계수에 응답하여 선택되는 소정의 전체계수 테이블에 따라 상기 이전 블록의 전체계수를 부호화하는 단계;
    상기 이전 블록의 레벨 값에 따라 선택되는 소정의 레벨 테이블에 따라 상기 이전 블록의 레벨 값을 부호화하는 단계;
    상기 이전 블록의 전체계수에 응답하여 선택되는 소정의 테이블에 따라 상기 이전 블록의 전체 0 값을 부호화하는 단계; 및
    상기 이전 블록의 런 값을 부호화하는 단계를 구비하는 것을 특징으로 하는 내용 적응 가변 길이 부호화 방법.
KR20050003181A 2004-01-13 2005-01-13 내용 적응 가변 길이 부호화 장치 및 방법 KR100674941B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR20050003181A KR100674941B1 (ko) 2005-01-13 2005-01-13 내용 적응 가변 길이 부호화 장치 및 방법
US11/331,743 US20060156204A1 (en) 2004-01-13 2006-01-13 Context-adaptive variable length coding apparatus and methods
JP2006006503A JP2006197610A (ja) 2005-01-13 2006-01-13 内容適応可変長符号化装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20050003181A KR100674941B1 (ko) 2005-01-13 2005-01-13 내용 적응 가변 길이 부호화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20060082609A KR20060082609A (ko) 2006-07-19
KR100674941B1 true KR100674941B1 (ko) 2007-01-26

Family

ID=36654761

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20050003181A KR100674941B1 (ko) 2004-01-13 2005-01-13 내용 적응 가변 길이 부호화 장치 및 방법

Country Status (3)

Country Link
US (1) US20060156204A1 (ko)
JP (1) JP2006197610A (ko)
KR (1) KR100674941B1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100772870B1 (ko) * 2005-12-12 2007-11-02 삼성전자주식회사 Fgs 계층의 블록에 포함되는 계수의 특성에 따라 비디오신호를 부호화하고 복호화하는 방법 및 장치
KR100801967B1 (ko) * 2006-07-07 2008-02-12 광주과학기술원 문맥 기반 적응적 가변 길이 부호화 인코더 및 디코더,문맥 기반 적응성 가변 길이 부호화하는 방법과 복호화하는방법 및 이를 이용한 동영상 전송 시스템.
US8335261B2 (en) * 2007-01-08 2012-12-18 Qualcomm Incorporated Variable length coding techniques for coded block patterns
US8467449B2 (en) 2007-01-08 2013-06-18 Qualcomm Incorporated CAVLC enhancements for SVC CGS enhancement layer coding
KR101501568B1 (ko) * 2008-07-04 2015-03-12 에스케이 텔레콤주식회사 영상 부호화 및 복호화 장치 및, 방법
KR101362441B1 (ko) * 2010-07-16 2014-02-18 인텔렉추얼디스커버리 주식회사 쿼드트리 기반의 매크로블록을 위한 멀티 레벨의 양자화 파라미터 기록 방법 및 장치
JP2012182753A (ja) * 2011-03-02 2012-09-20 Sharp Corp 画像復号装置、画像符号化装置、および符号化データのデータ構造
WO2013175736A1 (ja) 2012-05-25 2013-11-28 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、動画像復号装置、および、動画像符号化復号装置
CN103650511B (zh) 2012-05-25 2017-12-15 太阳专利托管公司 运动图像解码方法及运动图像解码装置
BR112013032418B1 (pt) * 2012-06-04 2023-04-11 Sun Patent Trust Método e aparelho de codificação de imagem em movimento, método e aparelho de decodificação de imagem em movimento, e aparelho de codificação e decodificação de imagem em movimento
US10057599B2 (en) 2014-02-19 2018-08-21 Mediatek Inc. Method for performing image processing control with aid of predetermined tile packing, associated apparatus and associated non-transitory computer readable medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990060489A (ko) * 1997-12-31 1999-07-26 구자홍 에이치디티브이 비디오 디코더
KR19990068991A (ko) * 1998-02-03 1999-09-06 구자홍 비디오 디코딩 시스템
KR20000025296A (ko) * 1998-10-09 2000-05-06 김영환 블록 영상계수의 가변부호화 장치
KR20040073095A (ko) * 2003-02-13 2004-08-19 주식회사 하이닉스반도체 Mpeg/jpeg 인코딩 및 디코딩 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0698313A (ja) * 1992-09-14 1994-04-08 Sony Corp 動画像復号化装置
AU2003290536A1 (en) * 2002-10-23 2004-05-13 Divxnetworks, Inc. Method and system for supercompression of compressed digital video

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990060489A (ko) * 1997-12-31 1999-07-26 구자홍 에이치디티브이 비디오 디코더
KR19990068991A (ko) * 1998-02-03 1999-09-06 구자홍 비디오 디코딩 시스템
KR20000025296A (ko) * 1998-10-09 2000-05-06 김영환 블록 영상계수의 가변부호화 장치
KR20040073095A (ko) * 2003-02-13 2004-08-19 주식회사 하이닉스반도체 Mpeg/jpeg 인코딩 및 디코딩 장치

Also Published As

Publication number Publication date
US20060156204A1 (en) 2006-07-13
JP2006197610A (ja) 2006-07-27
KR20060082609A (ko) 2006-07-19

Similar Documents

Publication Publication Date Title
KR100674941B1 (ko) 내용 적응 가변 길이 부호화 장치 및 방법
JP6840779B2 (ja) 映像復号化方法
JP6626295B2 (ja) 画像符号化装置、画像処理装置、画像符号化方法
TWI232682B (en) Signal encoding method, signal decoding method, signal encoding device, signal decoding device, signal encoding program, and signal decoding program
US20140286417A1 (en) Data encoding and decoding
JP6023095B2 (ja) 画像の符号化および復号の方法、符号化および復号デバイス、ならびにそれに対応するコンピュータプログラム
TW201830972A (zh) 用於視訊寫碼之低複雜度符號預測
JP4495034B2 (ja) 可変長符号化方式および可変長符号化装置
US20140307778A1 (en) Coding of residual data in predictive compression
JP4442891B2 (ja) 可変長符号化装置及び可変長符号化方法
CN103621091A (zh) 管理参考图片列表的方法及使用该方法的装置
JP2010251946A (ja) 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
JP2007142637A (ja) 画像情報符号化装置
CN103918273A (zh) 确定用于变换系数的二进制码字的方法
CA2780711A1 (en) Method and system to reduce modelling overhead for data compression
CN105027560A (zh) 确定用于变换系数的二进制码字的方法
JP5529236B2 (ja) 区画選択を使用する有効性写像の符号化および復号
JP2013098988A (ja) 符号化および復号のためのマルチレベル有効性写像
JP2009021775A (ja) 符号化装置及び符号化方法
JP2005318296A (ja) 動画像符号化方法と装置及びプログラム
JP2016213527A (ja) 画像符号化装置、画像処理装置、画像符号化方法
JP4855417B2 (ja) 動画像符号化装置、動画像復号装置
JP3990392B2 (ja) 可変長復号化装置、可変長復号化方法および撮像システム
KR20110047700A (ko) 복호화 가속화를 위한 엔트로피 부호화 방법과 그 장치 및 엔트로피 복호화 방법과 그 장치
JP2008294669A (ja) 画像符号化装置

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: 20130102

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee