KR20050098197A - Last non-zero 검출회로를 이용한 고속 영상압축장치 - Google Patents

Last non-zero 검출회로를 이용한 고속 영상압축장치 Download PDF

Info

Publication number
KR20050098197A
KR20050098197A KR1020040023537A KR20040023537A KR20050098197A KR 20050098197 A KR20050098197 A KR 20050098197A KR 1020040023537 A KR1020040023537 A KR 1020040023537A KR 20040023537 A KR20040023537 A KR 20040023537A KR 20050098197 A KR20050098197 A KR 20050098197A
Authority
KR
South Korea
Prior art keywords
zero
last non
last
result data
data
Prior art date
Application number
KR1020040023537A
Other languages
English (en)
Other versions
KR100579417B1 (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 KR1020040023537A priority Critical patent/KR100579417B1/ko
Priority to CNB2005100515973A priority patent/CN100399833C/zh
Priority to US11/074,335 priority patent/US20050232362A1/en
Publication of KR20050098197A publication Critical patent/KR20050098197A/ko
Application granted granted Critical
Publication of KR100579417B1 publication Critical patent/KR100579417B1/ko

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/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/18Methods 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 set of transform coefficients
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F21LIGHTING
    • F21VFUNCTIONAL FEATURES OR DETAILS OF LIGHTING DEVICES OR SYSTEMS THEREOF; STRUCTURAL COMBINATIONS OF LIGHTING DEVICES WITH OTHER ARTICLES, NOT OTHERWISE PROVIDED FOR
    • F21V3/00Globes; Bowls; Cover glasses
    • F21V3/02Globes; Bowls; Cover glasses characterised by the shape
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F21LIGHTING
    • F21VFUNCTIONAL FEATURES OR DETAILS OF LIGHTING DEVICES OR SYSTEMS THEREOF; STRUCTURAL COMBINATIONS OF LIGHTING DEVICES WITH OTHER ARTICLES, NOT OTHERWISE PROVIDED FOR
    • F21V3/00Globes; Bowls; Cover glasses
    • F21V3/04Globes; Bowls; Cover glasses characterised by materials, surface treatments or coatings
    • F21V3/049Patterns or structured surfaces for diffusing light, e.g. frosted surfaces
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Last non-zero 검출회로를 이용한 고속 영상압축장치에 대해 개시한다. 본 발명은 입력신호에 대해 양자화를 수행한 양자화 결과데이터를 저장하는 양자화 결과데이터 저장부; 상기 양자화 결과데이터 저장부에 접속되어 양자화 결과데이터 저장부에서 양자화 결과데이터가 쓰여지는 동안에 최종 “0”이 아닌 위치인 last non-zero 위치를 검색하여 last non-zero의 위치데이터를 출력시키는 last non-zero 검색부; 및 상기 last non-zero의 위치데이터 및 양자화 결과데이터에서 패턴을 검색하고, 이어서 상기 패턴에 따라 가변 길이 코드를 검색하며, 상기 가변 길이 코드를 워드 단위로 각 비트를 패킹시켜 압축된 스트림을 출력시키는 가변길이 부호화부(VLC)를 포함하여 이루어진 것을 특징으로 한다. 본 발명에 따르면, VLC 계산 시간의 단축으로 전체 압축 시스템이 빠르게 동작할 수 있으므로 처리 가능한 프레임 레이트(frame rate)를 높일 수 있다.

Description

Last non-zero 검출회로를 이용한 고속 영상압축장치{High speed image compression apparatus using Last non-zero detection circuit}
본 발명은 Last non-zero 검출회로를 이용한 고속 영상압축장치에 관한 것으로, 특히 영상 압축 시스템의 성능 향상을 위해 last none zero 를 검출하는 기능 블럭을 추가하여 고속의 VLC를 구현하는 Last non-zero 검출회로를 이용한 고속 영상압축장치에 관한 것이다.
가변길이 부호법(Variable Length Coding)이란 통계적 방법으로 데이터의 여분(redundancy)을 제거하는 무손실 압축방법으로 JPEG, MPEG, H.263등의 국제 표준 규격에서 영상 압축을 위해 채택하고 있는 방법이다.
영상 압축 시스템은 일반적으로 이산코사인변환부(Discrete Cosine Transformer ; 이하, DCT라 함), 양자화부(Quantization), 가변길이 부호화부(Variable Length Coder ; 이하, VLC라 함) 등의 기능 블록으로 구성되어 있다. DCT부는 공간 영역의 영상을 주파수 영역으로 변환하며, 양자화부는 손실압축방법으로 주파수영역 데이터를 줄이게 되며, 이 결과데이터를 VLC에서 무손실 압축을 수행하게 된다.
영상압축은 블록(block)으로 정의되는 64개의 픽셀(pixel)을 하나의 단위로 해서 이루어진다. 즉, 하나의 화면을 여러 개의 블록(block)으로 쪼개고 각각의 블록(block)에 대해 DCT, 양자화, VLC 연산을 반복 수행하여 전체 영상에 대한 압축된 데이터를 얻는다.
8×8 pixel의 주파수 영역 데이터는 영상의 특성상 저주파 영역에 0이 아닌 값이 집중되기 때문에 DC성분부터 시작하여 고주파영역으로 지그재그 스캔(zigzag scan)을 수행하여 순서를 재배열시키고, 이 순서에 따라 VLC를 수행한다. VLC는 위 순서대로 스캔(scan)하여 특정한 데이터의 패턴을 찾아서 이를 코드북(codebook)에 매핑시킨다. 이 과정에서 데이터의 패턴이란 스캔하면서 0 이 아닌 값(value)을 찾고, 그 값까지의 픽셀(pixel) 개수(run)를 구하며, 스캔에 의하여 블록(block)내에서 0이 아닌 마지막 값인지 여부(last)를 추출하여 이를 (run, value, last)의 세 항목을 가지는 집합으로 표현한 것이다.
도 1은 일반적인 영상압축 흐름을 나타낸 블록도이다. 도 1에 도시된 바와 같이, 일반적으로 영상의 압축을 위한 기능블록은, DCT(1), DCT 결과데이터 저장부(2), 양자화부(3), 양자화 결과데이터 저장부(4), VLC(5)로 이루어진다.
상기한 바와 같이, 전체 영상은 8×8 pixel의 블록(block)으로 나뉘어져서 각 블록(block) 별로 DCT(1), 양자화부(3), VLC(5)를 거쳐서 압축된 스트림이 된다. 하나의 블록(block)은 도 2와 같이 메모리에 저장되고, 도 1에서의 DCT 결과데이터 저장부(2) 및 양자화 결과데이터 저장부(4)는 상기한 구조로 되어 있다.
DCT(1)는 공간 영역의 영상을 주파수 영역으로 바꾼다. 일반적으로 영상은 저주파 성분이 많고 고주파 성분은 적기 때문에 공간영역보다는 주파수 영역으로 바꾸면 정보가 저주파쪽으로 모이기 때문에 압축하기가 쉬워진다. 상기 DCT 결과데이터는 DCT 결과데이터 저장부(2)에 저장되고, 이 DCT 결과데이터를 다시 각 픽셀(pixel) 별로 양자화를 수행한다. 양자화(Quantization)는 인간의 시각이 구별할 수 있을 정도만 남기고 나머지 데이터를 버리는 손실 압축 방법이다. 특히 시각은 고주파에서는 거의 차이점을 느낄 수 없기 때문에 고주파 성분은 많이 버리고 저주파 성분을 주로 남겨서 압축율을 높인다. 이 양자화 결과데이터를 VLC(5)에서 통계적 방법으로 무손실 압축을 수행하여 최종 압축된 스트림을 만든다.
도 3은 일반적인 VLC의 구성을 나타낸 도면이다. 도 3에 도시된 바와 같이, 일반적인 VLC(5)는, 패턴 파인더(pattern finder)(51), last non-zero 검색부(last non-zero searcher)(52), 코드북 검색부(codebook searcher)(53) 및 패킹부(packer)(54)로 이루어져 있다.
패턴 파인더(pattern finder)(51)에서는 (run, value, last)의 세가지 항목을 가지는 패턴(pattern)을 양자화 결과데이터에서 찾는다. 여기서 vaule은 현재 픽셀(pixel)의 값이고, run은 이전 픽셀(pixel)에서 연속된 0 의 값을 가지는 픽셀(pixel)의 개수이고, last는 현재 픽셀(pixel) 이후에는 0이 아닌 값이 없음을 각각 의미한다.
이 동작을 위하여 패턴 파인더(pattern finder)(51)는 양자화 결과데이터 저장부(4)에서 차례대로 값을 읽어서 그 값이 0이면 run을 증가시키고, 0이 아니면 그 값을 value에 넣고 이후 모든 값이 0이면 last에 1을 아니면 0을 넣어서 하나의 패턴(pattern)을 만드는 과정을 반복한다. 이렇게 만들어진 패턴은 코드북 검색부(codebook searcher)(53)로 입력되는데, 이 코드북 검색부(53)는 패턴에 따라 가변 길이 코드(Variable Length Code)를 찾는다. 가변 길이 코드는 각 영상압축 방식에 따라 미리 정해진 테이블이다. 이 테이블은 패턴(pattern)의 발생빈도가 높으면 짧은 길이의 코드를, 발생빈도가 낮으면 긴 코드로 되어 있어서 통계적 압축이 수행되도록 되어 있다. 이 과정을 거친 가변 길이 코드는 워드 단위로 각 비트가 패킹(packing)되는데, 이를 상기 패킹부(54)에서 수행하여 최종 압축된 스트림이 만들어진다.
패턴(pattern)을 찾는 과정에서 도 4에서와 같이 가로세로 교대로 코딩하는 지그재그 스캔(zigzag scan)으로 순서를 재배열하여 사용한다. 이렇게 함으로써 고주파 부분의 많은 부분이 0이 되도록 하여 적은 패턴(pattern)으로 블록(block)을 코딩하게 된다.
패턴(pattern)의 마지막 항목인 last는 위의 지그재그 스캔(zigzag scan)에서 마지막으로 0이 아닌 값을 가진다는 의미이고, 이 값이 1이면 그 뒤의 모든 픽셀(pixel)의 값이 0이라는 의미이다. 그러나 이 값은 현재 픽셀(pixel)의 값으로는 알 수 없고, 나머지 픽셀(pixel)을 검사해 봐야 알 수 있다. 이는 마지막 패턴(pattern)이 만들어지는 시점이 현재 픽셀(pixel)이 아니라 63 번째 마지막 픽셀(pixel)까지 가 봐야 알 수 있게 되어 효율적이지 못하다. 이를 해결하기 위해서 대부분의 종래기술에서 도 3에서와 같이 last non-zero 검색부(52)를 사용한다. 이 Last non-zero 검색부(52)는 도 5에서와 같이 지그재그 스캔(zigzag scan)의 역 순서인 63 번째 픽셀(pixel) 부터 scan 하여 0이 아닌 값이 나올 때까지 동작하여 last non-zero 인 픽셀(pixel)의 위치를 찾는 기능을 수행한다. 이렇게 미리 마지막 0이 아닌 값을 찾아서 패턴 파인더(51)로 값을 건네주면 패턴 파인더(51)는 그 위치에서 패턴(pattern) 찾는 것을 끝낼 수 있게 된다.
종래기술에서 스캔(scan) 순서의 역으로 VLC 입력이 되는 양자화 결과데이터 저장부(4)를 읽는 것은 단지 마지막으로 0 이 아닌 픽셀(pixel)의 위치를 알기 위함일 뿐이다. 마지막으로 0 이 아닌 픽셀(pixel)의 위치를 미리 알 수 있다면 이 과정은 생략되고 바로 scan 순서에 따라서 엔코딩(encoding)을 수행할 수 있다. 또한 영상의 성질상 DCT 과정을 거치면 대부분의 값들이 저주파 영역에 속하게 되고, 따라서 역 scan 순서로 0이 아닌 픽셀(pixel)을 찾는데 많은 시간을 소비하게 되어 VLC 동작이 오래 걸리게 된다.
도 6은 15번째 last none zero인 예를 나타낸 도면이다. 도 6에 도시된 바와 같이, 스캔(scan) 순서에서 마지막으로 0 이 아닌 픽셀(pixel)은 15 번째에 있다. 이럴 경우 이 위치를 찾기 위해서 맨 마지막 63번째 픽셀(pixel)부터 역으로 스캔(scan)하여 이 위치를 찾는데 50 번의 메모리 접근이 필요하고 이만큼의 시간이 소요된 후부터 실제로 첫 번째 픽셀(pixel)부터 scan 순서에 따라서 코딩이 이루어지게 된다. 실제 코딩에는 약 15 cycle이 걸리지만 준비 단계인 역 스캔(scan)에는 50 cycle이 걸리므로 비효율적이다.
도 7은 일반적인 영상에서 VLC 입력 데이터의 마지막으로 0 이 아닌 값을 가지는 픽셀(pixel)의 위치를 스캔 순서로 나타낸 것이다. 즉, last none zero 의 위치 빈도를 나타낸 그래프이다. 도 7을 참조하면, 대부분의 경우 전체 64 픽셀(pixel) 중에서 10 번째 이하에 집중되어 있음을 알 수 있다.
도 8은 이의 누적 값의 백분율을 나타낸 그래프이다. 도 8을 참조하면, 64 픽셀(pixel)의 절반인 32 픽셀(pixel) 이하에 80% 정도가 집중되어 있음을 알 수 있다. 이는 80% 정도의 블록에서 VLC 동작 중 last none zero를 찾는데 50% 이상의 시간을 소비함을 알 수 있다.
이와 같이 종래에는 엔코딩을 위한 준비 단계인 역 스캔(scan) 과정에서 발생하는 많은 시간 지연은, 보다 빠른 VLC 구현에 비효율적인 요소로 작용하는 문제점이 있었다.
따라서, 본 발명의 목적은 영상 압축 시스템의 전체적인 성능 향상을 위해 last none zero 를 검출하는 기능 블럭을 추가하여 고속의 VLC를 구현하는 Last non-zero 검출회로를 이용한 고속 영상압축장치를 제공하는데 있다.
상기한 본 발명의 목적을 달성하기 위한 Last non-zero 검출회로를 이용한 고속 영상압축장치는, 입력신호에 대해 양자화를 수행한 양자화 결과데이터를 저장하는 양자화 결과데이터 저장부; 상기 양자화 결과데이터 저장부에 접속되어 양자화 결과데이터 저장부에서 양자화 결과데이터가 쓰여지는 동안에 최종 “0”이 아닌 위치인 last non-zero 위치를 검색하여 last non-zero의 위치데이터를 출력시키는 last non-zero 검색부; 및 상기 last non-zero의 위치데이터 및 양자화 결과데이터에서 패턴을 검색하고, 이어서 상기 패턴에 따라 가변 길이 코드를 검색하며, 상기 가변 길이 코드를 워드 단위로 각 비트를 패킹시켜 압축된 스트림을 출력시키는 가변길이 부호화부(VLC)를 포함하여 이루어진 것을 특징으로 한다.
이 때, 상기 last non-zero 검색부는, 양자화 결과데이터 저장부의 접근 순서를 변환하기 위한 address 신호를 입력받아 지그재그 스캔(zigzag scan) 순서에 해당하는 주소로 바꿔 스캔 위치데이터를 출력시키는 스캔 순서 컨버터(Scan order converter); non-zero를 찾기 위한 data 신호를 입력받아 결과값을 출력시키는 non-zero 검출부; 상기 스캔 위치데이터를 입력받음과 동시에 후술하는 non-zero 위치 레지스터로부터 출력된 last non-zero 위치데이터를 입력받아 비교결과값을 출력시키는 비교기; 상기 non-zero 검출부에서 출력된 결과값, 상기 비교기에서 출력된 비교결과값, 상기 가변길이 부호화부에서 사용될 데이터만을 저장하는 신호(WR)를 입력받아 연산하는 논리연산소자; 상기 논리연산소자로부터 출력된 결과값, 상기 스캔 위치데이터 및 상기 non-zero 위치데이터를 입력받아 멀티플렉싱하는 다중화기; 및 상기 다중화기로부터 출력된 결과값을 입력받아 현재 저장되는 주소가 선택 갱신되어 last non-zero 위치데이터를 상기 비교기, 다중화기 및 가변길이 부호화부로 출력시키는 non-zero 위치 레지스터로 이루어진다.
또한, 상기 가변길이 부호화부는, 상기 last non-zero의 위치데이터 및 양자화 결과데이터에서 패턴을 검색하는 패턴 파인더(pattern finder); 상기 패턴에 대응하여 가변 길이 코드를 검색하는 코드북 검색부(codebook searcher); 및 상기 가변 길이 코드를 워드 단위로 각 비트를 패킹시켜 압축된 스트림을 출력시키는 패킹부(packer)로 이루어진다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 설명한다.
도 9는 본 발명의 시스템 구성을 나타낸 도면이다. 도 9에 도시된 바와 같이, 본 발명의 시스템은 크게 VLC(10), last non-zero 검색부(last non-zero searcher)(20), 및 양자화 결과데이터 저장부(30)로 이루어지게 된다.
VLC(10)는, 패턴 파인더(pattern finder)(101), 코드북 검색부(codebook searcher)(102) 및 패킹부(packer)(103)로 이루어져 있다. 기존의 VLC와 유사하지만 last non-zero 검색부(last non-zero searcher)(20)가 VLC(10)에서 별도로 분리되어 있음을 알 수 있다. 또한, 양자화된 결과데이터가 상기 last non-zero 검색부(20) 및 양자화 결과데이터 저장부(30)에 동시에 입력되고 있음을 알 수 있다.
즉, VLC(10) 기능블록에서 last non-zero 검색부(20)가 VLC(10) 외부로 나와서 양자화 결과데이터 저장부(30)의 입력부와 연결되어 있다.
본 발명에서는 VLC(10)의 입력으로 사용되는 양자화 결과데이터 저장부(30)에 데이터가 쓰여지는 동안에 last non-zero 위치를 찾아내고 이를 VLC(10)에서 사용함으로써 VLC(10)의 동작이 last non-zero search 없이 바로 패턴(pattern)을 만들고 엔코딩을 시작하여 VLC(10)의 시간을 줄일 수 있다.
이는 종래기술에서 VLC의 시작 후에 last non-zero의 위치를 찾는 것과 비교하여 VLC의 시간이 많이 단축된다. 즉, 양자화 결과데이터가 양자화 결과데이터 저장부(30)에 쓰여지는 동안에, 이와 동시에 last non-zero가 검출되고, 양자화가 끝나면 최종 last non-zero 위치가 검출되기 때문에 last non-zero 위치를 찾아내기 위해서 추가로 시간을 소비하지 않아도 된다.
이후, 양자화 결과데이터 저장이 끝남과 동시에 last non-zero 위치가 검출된 상태에서 패턴 파인더(pattern finder)(101)에 양자화 결과데이터 및 last non-zero 위치에 관련된 데이터를 전달한다.
도 10은 last non-zero 검출기의 구성을 나타낸 도면이다. 도 10에 도시된 바와 같이, 본 발명의 last non-zero 검출기(20)는 스캔 순서 컨버터(201), non-zero 검출부(202), 비교기(203), 논리곱(AND)소자(204), 멀티플렉서(205), 및 non-zero 위치 레지스터(206)로 이루어져 있다.
입력으로는 양자화 결과데이터 저장부(30)에 접근하기 위한 신호들인 address, data, WR(write signal)을 사용한다. Address는 일반적인 메모리 접근순서를 zigzag scan 순서로 바꾸기 위한 것이고, data는 non-zero를 찾기 위한 것이며, WR은 저장(write)되는 픽셀(pixel), 즉 VLC(10)에서 사용될 데이터만을 골라내기 위한 것이다.
상기 스캔 순서 컨버터(Scan order converter)(201)는 상기 address를 입력받아 지그재그 스캔(zigzag scan) 순서에 해당하는 주소로 바꿔 스캔 위치데이터를 출력시킨다. 이와 같이, 스캔 순서 컨버터(201)는 일반 메모리 주소를 지그재그 스캔 순서에 해당하는 주소로 바꿔준다.
상기 non-zero 검출부(202)는 data를 입력받아 이에 대응한 결과값을 출력시킨다. 여기서 non-zero 검출부(202)는 데이터가 0이 아니면 1을, 0이면 0을 출력시킨다.
상기 비교기(comparator)(203)는 상기 스캔 순서 컨버터(201)로부터 출력된 스캔 위치데이터를 입력받음과 동시에 상기 non-zero 위치 레지스터(206)의 출력값(last non-zero 위치)을 입력받아 비교결과값을 출력시킨다. 상기 비교기(203)는 두 값 a 와 b를 비교하여 (a>b) 이면 1을, 그렇지 않으면 0을 출력시킨다.
상기 논리곱소자(AND gate)(204)는, 상기 WR, 상기 non-zero 검출부(202)로부터 출력된 결과값, 및 상기 비교기(203)로부터 출력된 비교결과값을 입력받아 논리곱한 결과값을 출력시킨다. 즉 논리곱소자는 상기한 입력값들의 논리곱 연산을 수행하여 멀티플렉서(205)의 선택신호를 생성시킨다.
상기 멀티플렉서(205)는, 상기 선택신호, 상기 스캔 위치데이터, 및 상기 non-zero 위치 레지스터(206)의 출력값(last non-zero 위치)을 입력받아 멀티플렉싱하여 결과값을 출력시킨다.
상기 non-zero 위치 레지스터(206)는 멀티플렉서(205)로부터 출력된 last non-zero 위치를 출력시켜 상기 비교기(203), 멀티플렉서(205), 및 패턴 파인더(101)로 전달한다.
상기와 같이 구성된 last non-zero 검출기는 다음과 같이 동작한다.
초기에 non-zero 위치 레지스터(206)는 0으로 초기화되고, 이후 양자화 결과데이터 저장부(30)에 데이터가 쓰여질 때마다 갱신된다. 여기서 갱신되는 조건은 먼저 비교기(203) 출력이 1이 되어야 하는데, 이는 스캔(scan) 순서에서 현재값이 이전값보다 큰 값이 나와야 되며, non-zero 검출부(202)의 출력이 1인 데이터가 0이 아니어야 하며, WR 신호가 1인 저장(write) 시점이어야 한다. 이 세 조건이 모두 만족하면 논리곱소자(204)는 1을 출력하고 non-zero 위치 레지스터(206)는 멀티플렉서(205)에서 1인 현재 저장(write)되는 주소가 선택되어 갱신되며, 그렇지 않은 경우에는 이전 값을 계속 유지한다.
이런 과정을 거쳐 양자화 결과데이터 저장부(30)에 저장(write) 동작이 끝나면 non-zero 위치 레지스터(206) 값이 출력되고, 이 값은 종래기술에서 많은 시간을 들여서 VLC에서 찾는 값과 같게 되고, 이를 VLC에서는 입력으로 받아서 사용하게 된다.
이렇게 함으로써 VLC는 시작 전에 미리 last non-zero 위치를 알게 되어 빠른 엔코딩 동작이 가능하게 된다.
도 11a 및 도 11b는 본 발명과 종래의 압축 시간을 개념적으로 비교한 도면이다. 도 11a 및 도 11b를 참조하면, 종래기술에서는 양자화가 끝난 후에 VLC 시작시점에서 last non-zero 검색(search)을 수행하여 가변길이 부호화에 last non-zero search 시간이 필요하여 이 시간만큼의 지연이 이루어지는데 반해, 본 발명이 적용되었을 경우에는 last non-zero 검출(detect)이 양자화 동안에 이루어지게 되어 VLC에서는 바로 데이터를 엔코딩할 수 있어서 VLC 시간을 줄이게 되고, 결과적으로 압축 시스템 전체의 시간이 줄어들게 된다.
본 발명은 상술한 실시예에 한정되지 않으며, 본 발명의 기술적 사상 내에서 당 분야의 통상의 지식을 가진 자에 의하여 많은 변형이 가능함은 명백할 것이다.
상술한 바와 같이, 본 발명에 따른 Last non-zero 검출회로를 이용한 고속 영상압축장치는, VLC 계산 시간의 단축으로 전체 압축 시스템이 빠르게 동작할 수 있으므로 처리 가능한 프레임 레이트(frame rate)를 높일 수 있다.
또한, H.263이나 MPEG4, JPEG 와 같은 VLC 기반의 영상압축방식을 이용하는 저전력 이동 영상 단말기에 적용할 수 있다.
도 1은 일반적인 영상압축 흐름을 나타낸 블록도,
도 2는 8×8 block 메모리 구성을 나타낸 도면,
도 3은 일반적인 VLC의 구성을 나타낸 도면,
도 4는 8×8 block 메모리에 대해 지그재그 스캔하는 순서를 나타낸 도면,
도 5는 last non-zero search 에서의 역스캔하는 개념을 나타낸 도면,
도 6은 15번째 last none zero인 예,
도 7은 last none zero 의 위치 빈도를 나타낸 그래프,
도 8은 이의 누적 값의 백분율을 나타낸 그래프,
도 9는 본 발명의 일실시예에 의한 VLC의 구성을 나타낸 도면,
도 10은 last non-zero 검출기의 구성을 나타낸 도면,
도 11a 및 도 11b는 본 발명과 종래의 압축 시간을 개념적으로 비교한 도면이다.
* 도면의 주요 부분에 대한 부호의 설명 *
10 : VLC
20 : last non-zero 검출부
201 : 스캔 순서 컨버터 202 : non-zero 검출부
203 : 비교기 204 : 논리곱소자
205 : 멀티플렉서 206 : non-zero 위치 레지스터
30 : 양자화 결과데이터 저장부

Claims (3)

  1. 입력신호에 대해 양자화를 수행한 양자화 결과데이터를 저장하는 양자화 결과데이터 저장부;
    상기 양자화 결과데이터 저장부에 접속되어 양자화 결과데이터 저장부에서 양자화 결과데이터가 쓰여지는 동안에 최종 “0”이 아닌 위치인 last non-zero 위치를 검색하여 last non-zero의 위치데이터를 출력시키는 last non-zero 검색부; 및
    상기 last non-zero의 위치데이터 및 양자화 결과데이터에서 패턴을 검색하고, 이어서 상기 패턴에 따라 가변 길이 코드를 검색하며, 상기 가변 길이 코드를 워드 단위로 각 비트를 패킹시켜 압축된 스트림을 출력시키는 가변길이 부호화부(VLC)
    를 포함하여 이루어진 것을 특징으로 하는 Last non-zero 검출회로를 이용한 고속 영상압축장치.
  2. 제 1 항에 있어서, 상기 last non-zero 검색부는,
    양자화 결과데이터 저장부의 접근 순서를 변환하기 위한 address 신호를 입력받아 지그재그 스캔(zigzag scan) 순서에 해당하는 주소로 바꿔 스캔 위치데이터를 출력시키는 스캔 순서 컨버터(Scan order converter);
    non-zero를 찾기 위한 data 신호를 입력받아 결과값을 출력시키는 non-zero 검출부;
    상기 스캔 위치데이터를 입력받음과 동시에 후술하는 non-zero 위치 레지스터로부터 출력된 last non-zero 위치데이터를 입력받아 비교결과값을 출력시키는 비교기;
    상기 non-zero 검출부에서 출력된 결과값, 상기 비교기에서 출력된 비교결과값, 상기 가변길이 부호화부에서 사용될 데이터만을 저장하는 신호(WR)를 입력받아 연산하는 논리연산소자;
    상기 논리연산소자로부터 출력된 결과값, 상기 스캔 위치데이터 및 상기 non-zero 위치데이터를 입력받아 멀티플렉싱하는 다중화기; 및
    상기 다중화기로부터 출력된 결과값을 입력받아 현재 저장되는 주소가 선택 갱신되어 last non-zero 위치데이터를 상기 비교기, 다중화기 및 가변길이 부호화부로 출력시키는 non-zero 위치 레지스터
    로 이루어진 것을 특징으로 하는 Last non-zero 검출회로를 이용한 고속 영상압축장치.
  3. 제 1 항 또는 제 2 항에 있어서, 상기 가변길이 부호화부는,
    상기 last non-zero의 위치데이터 및 양자화 결과데이터에서 패턴을 검색하는 패턴 파인더(pattern finder);
    상기 패턴에 대응하여 가변 길이 코드를 검색하는 코드북 검색부(codebook searcher); 및
    상기 가변 길이 코드를 워드 단위로 각 비트를 패킹시켜 압축된 스트림을 출력시키는 패킹부(packer)
    로 이루어진 것을 특징으로 하는 Last non-zero 검출회로를 이용한 고속 영상압축장치.
KR1020040023537A 2004-04-06 2004-04-06 고속 영상압축장치 KR100579417B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020040023537A KR100579417B1 (ko) 2004-04-06 2004-04-06 고속 영상압축장치
CNB2005100515973A CN100399833C (zh) 2004-04-06 2005-03-07 使用最后非零检测电路的高速图像压缩设备
US11/074,335 US20050232362A1 (en) 2004-04-06 2005-03-07 High-speed image compression apparatus using last non-zero detection circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040023537A KR100579417B1 (ko) 2004-04-06 2004-04-06 고속 영상압축장치

Publications (2)

Publication Number Publication Date
KR20050098197A true KR20050098197A (ko) 2005-10-11
KR100579417B1 KR100579417B1 (ko) 2006-05-12

Family

ID=35067721

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040023537A KR100579417B1 (ko) 2004-04-06 2004-04-06 고속 영상압축장치

Country Status (3)

Country Link
US (1) US20050232362A1 (ko)
KR (1) KR100579417B1 (ko)
CN (1) CN100399833C (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10307358B3 (de) * 2003-02-21 2004-10-07 Leica Microsystems Semiconductor Gmbh Verfahren und Vorrichtung zum Scannen eines Halbleiter-Wafers
TWI442723B (zh) * 2010-03-15 2014-06-21 Toshiba Kk Echo cancellation circuit
US9955163B2 (en) * 2013-06-17 2018-04-24 Google Llc Two pass quantization of video data
CN103826136B (zh) * 2014-02-19 2017-10-17 华为软件技术有限公司 一种快速离散余弦反变换的方法和终端
US10536699B2 (en) * 2015-06-03 2020-01-14 Nec Corporation Moving image coding device, moving image coding method and recording medium for storing moving image coding program

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE454734B (sv) * 1987-02-20 1988-05-24 Harald Brusewitz Forfarande och anordning for sendning och mottagning vid variabel lengdkodning
JP3016456B2 (ja) * 1992-06-15 2000-03-06 日本電信電話株式会社 適応的可変長符号化方法
JPH07255053A (ja) * 1994-03-15 1995-10-03 Toshiba Corp ジグザグスキャン回路
US5748244A (en) * 1995-03-28 1998-05-05 Daewoo Electronics Co., Ltd. Adaptive runlength coding based on zero and non-zero subblocks
EP0873018B1 (en) * 1996-11-06 2002-09-25 Matsushita Electric Industrial Co., Ltd. Image decoding method
US6594398B1 (en) * 1998-03-06 2003-07-15 Divio, Inc. Method and apparatus for run-length encoding video data
US20020122483A1 (en) * 2001-03-02 2002-09-05 Matsushita Electric Industrial Co., Ltd. Encoding circuit and method
US20040202251A1 (en) * 2003-04-09 2004-10-14 Savekar Santosh Faster block processing structure for MPEG decoders

Also Published As

Publication number Publication date
CN100399833C (zh) 2008-07-02
CN1681326A (zh) 2005-10-12
US20050232362A1 (en) 2005-10-20
KR100579417B1 (ko) 2006-05-12

Similar Documents

Publication Publication Date Title
KR0180169B1 (ko) 가변길이 부호기
JP6049017B2 (ja) メモリ要求低減ビデオ送信システム
EP1203494A1 (en) Method and device for variable complexity decoding of motion-compensated block-based compressed digital video
US20070165959A1 (en) 2-Dimensional signal encoding/decoding method and device
CN103918272A (zh) 数据编码及译码
US8457428B2 (en) Image coding apparatus, control method thereof, and storage medium
CN101653004A (zh) 从编码比特流选择性地解码预定数据单元的解码器
JP4350342B2 (ja) 画像処理装置、画像記録装置、カメラシステム、プログラム、記憶媒体及び画像処理方法
JP2930092B2 (ja) 画像符号化装置
EP0925555B1 (en) Dual-speed variable length decoder and decoding architecture for mpeg-2 video data
US20100166328A1 (en) Image encoder and image encoding method
JP4181887B2 (ja) 可変長符号化装置、及びその方法
KR100579417B1 (ko) 고속 영상압축장치
KR100647192B1 (ko) 데이터의 복원 시간을 단축하는 데이터 압축 장치 및 그방법
KR20010083718A (ko) 영상 압축 부호화를 위한 변환 및 역변환 방법 및 장치
JP2011234363A (ja) 画像処理システム及び方法
JP4061104B2 (ja) コンテキストモデルによるラン・スキップカウントに基づくメモリアクセス及びスキッピング
US7177479B2 (en) Loss-less compression of still images at enhanced speed
JP2839389B2 (ja) 逆量子化方法および画像データ復元装置
JP2009232454A (ja) 高域係数用符号化ブロックパターン生成方法及び装置
JPH0556270A (ja) 逆量子化方法および画像データ復元装置
JP3065393B2 (ja) 画像データ復元方法および画像データ復元装置
KR100245037B1 (ko) 개선된 영상 부호화 및 복호화 시스템과 전송에러 복원 방법
CN117333559A (zh) 图像压缩方法、装置、电子设备及存储介质
KR100585637B1 (ko) 영상 압축회로

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

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140502

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150501

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160503

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170501

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180501

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190502

Year of fee payment: 14