KR100399932B1 - 메모리의 양을 감소시키기 위한 비디오 프레임의압축/역압축 하드웨어 시스템 - Google Patents

메모리의 양을 감소시키기 위한 비디오 프레임의압축/역압축 하드웨어 시스템 Download PDF

Info

Publication number
KR100399932B1
KR100399932B1 KR10-2001-0024613A KR20010024613A KR100399932B1 KR 100399932 B1 KR100399932 B1 KR 100399932B1 KR 20010024613 A KR20010024613 A KR 20010024613A KR 100399932 B1 KR100399932 B1 KR 100399932B1
Authority
KR
South Korea
Prior art keywords
inverse
data
compression
frequency
quantization
Prior art date
Application number
KR10-2001-0024613A
Other languages
English (en)
Other versions
KR20020085217A (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 KR10-2001-0024613A priority Critical patent/KR100399932B1/ko
Priority to US09/938,855 priority patent/US6798833B2/en
Priority to DE2002115350 priority patent/DE10215350A1/de
Priority to JP2002130807A priority patent/JP2003023635A/ja
Publication of KR20020085217A publication Critical patent/KR20020085217A/ko
Application granted granted Critical
Publication of KR100399932B1 publication Critical patent/KR100399932B1/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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
    • 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

Landscapes

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

Abstract

본 발명은 비디오 프레임의 압축/역압축을 위한 알고리즘의 연산 플로우에 대하여 패킹 등을 수행하는 압축 하드웨어와 언패킹 등을 수행하는 역압축 하드웨어를 구현하고, 양자화 및 라이스 매핑을 동일한 절대값영역에서 수행시키며, 역라이스매핑 및 역양자화 또한 동일한 절대값영역에서 수행하도록 함으로써 집적회로의 면적을 축소시키고 처리시간을 획기적으로 단축시키는 하드웨어 시스템을 제공하기 위하여, 비디오 프레임의 압축을 수행하는 하드웨어 시스템에 있어서, 압축될 데이터들을 입력받아 정렬하는 압축기입력제어수단; 정렬된 데이터들에 대하여 1차원 주파수변환을 수행하고, 압축률에 따라 2차원 주파수변환을 선택적으로 수행하는 주파수변환수단; 주파수 변환된 데이터들을 양자화하는 양자화수단; 양자화된 결과값들을 골롬 라이스 코딩하고, 골롬 라이스 코딩된 값들과 DC값을 압축 세그먼트에 패킹하는 엔코딩수단; 및 패킹된 값들을 출력하는 압축출력제어수단을 포함하는 것을 특징으로 한다.

Description

메모리의 양을 감소시키기 위한 비디오 프레임의 압축/역압축 하드웨어 시스템{Video frame compression/decompression hardware system for reducing amount of memory}
본 발명은 비디오 프레임의 압축/역압축에 관한 것으로서, 구체적으로는 MPEG(Moving Picture Experts Group) 표준을 이용한 비디오 압축/역압축 시스템, 비디오 영상 처리 시스템 등 비디오 프레임을 다루는 분야에서 영상 프레임을 외부 또는 내부 메모리에 저장할 필요가 있는 경우에 비디오 프레임을 50퍼센트 혹은 75퍼센트의 압축율로 압축/역압축함으로써 사용하는 메모리의 양을 감소시키기 위한 비디오 프레임의 압축/역압축 하드웨어 구조에 관한 것이다.
종래기술인 미국특허공보 US 제5,838,597호는 적응차분 펄스부호변조(ADPCM : Adaptive Differential Pulse Code Modulation)기법을 사용하여 MPEG-2 복호기의 스태틱 메모리의 필요량을 최적화하도록 메모리를 저감시키기 위하여, 제어 버스와 데이터 버스를 개입시켜 비디오 복호기의 '코어' 밖에 있는 각각의 램 버퍼 안에 읽기/쓰기 제어 버스와 데이터 버스를 인터페이스하는 MPEG-2 비디오 복호기이고, 상기 '코어'는 데이터 획득과 외부 DRAM 메모리의 제1의 버퍼(비트 버퍼)에의 기입을 위한 "제1의 선입선출"(FIFO)버퍼와, 제어기에 의해 동기된 시작 코드 검출회로와, ounce cleanness display data(OSD)를 위한 쌍방향 버퍼(I/O UNIT)와, 압축된데이터 입력 스트림(BIT STREAM)의 가변장복호기(VDL)와, 줄 길이(run length)복호기, 역양자화회로, 역이산여현변환프로세서, '예측기'발생회로, 디스플레이 유닛 상류의 현재 B-화상을 위한 '래스터 주사로의 매크로 블럭 주사'변환회로를 갖고, 가변장복호기에 의해 복호화된 데이터의 MPEG 신장 블럭(파이프라인-RLD, I_QUANT, I_DCT, 예측기구조)를 갖는 복호기에 있어서, 신장된 I 및 P 화상을 재압축할 수 있고, 상기 외부메모리 각각의 버퍼 속에 격납되는 관련 데이터를 코드화할 수가 있는 차분형의 적응차분 펄스부호변조에 의한 부호화 및 재압축회로(ADPCM encoder)와, I 및 P 화상에 관련되는 복합화되어 신장된 데이터의 스트림을 발생시킬 수 있는 상기 외부메모리 각각의 버퍼로부터 읽혀진 상기 재압축 I 및 P 화상에 관련되는 격납 데이터의 복호화 및 신장시키는 복호화회로(ADPCM decoder)와, B-화상의 움직임 보상 및 '래스터 주사에의 매크로 블럭'변환의 수단을 갖고 있다.
도 1은 종래기술인 US 5838597호의 재압축 및 부호화회로도(ADPCM encoder)로서, MPEG-2 신장의 상기 파이프라인에 의해서 생성된 신장 I_ DCT 데이터 블럭의 획득을 위한 버퍼(BLOCK BUFFER)와, 상기 버퍼(BLOCK BUFFER)의 에너지 내용을 추정할 수 있는 상기 메모리 각각의 버퍼속에 격납되는 I_ DCT 데이터 블럭 화소치의 상기 분산 디지털치를 발생할 수가 있는 회로(VARIANCE ESTIMATOR:분산추정기)와, 상기 메모리로부터 읽혀진 분산의 상기 디지털치에 의해서 선택된 복수의 미리 확립된 디지털치 롬(PLA)을 격납하기 위한 프로그램가능(programmable)수단과, 분산의 현재치에 의해서 선택된 디지털치에 의해 시종일관해서 조건부의 다중 레벨 퀀타이저(QUANTIZER)와, 상기 I_ DCT 신장 데이터 블럭의 스트림을 제1의 입력을 통해 받을 수 있고, 예측기의 값을 제2의 입력을 통해 받을 수 있으며, 상기 다중레벨 퀀타이저(QUANTIZER)에 입력되는 데이터의 스트림을 출력할 수 있는 미분회로(-)와, 상기 퀀타이저의 출력 스트림을 입력으로 하여 받을 수 있는 각각의 메모리 버퍼 중의 ADPCM 재압축 데이터의 쓰기코드화회로(CODER)와, 신장된 I_ DCT 데이터 스트림을 제1의 입력을 통해 받고, 상기 회로에 의해서 발생되며 예측기의 값을 제2의 입력을 통해 받는 멀티플렉서(MUX), 상기 양자화회로의 출력을 제1의 입력을 통해 받고, 상기 멀티플렉서(MUX)의 출력을 제2의 입력을 통해 받으며, 합계된 데이터의 스트림을 출력하는 가산기(+),그 출력이 상기 미분회로(-) 및 상기 멀티플렉서(MUX)의 제2의 입력에 공급되어, 상기 예측기의 값(COEFF)를 발생하는 회로가 직렬로 후속됨과 동시에, 상기 가산기(+)에 의해서 생성된 합계된 데이터의 상기 스트림을 입력을 통해 받는 제한회로(LIM 0-255)을 갖는 상기 예측기 값의 발생회로를 갖고 있다.
그러나, 이와 같은 종래기술에서는 가변 길이의 7개 코드를 고정 길이의 세그먼트에 패킹하는 블록과 언패킹하는 블록의 하드웨어에 대하여 전연 개시된 바가 없고, 75퍼센트 압축율을 갖는 기술도 개시되어 있지 않으며, 양자화 및 라이스매핑을 동시에 수행하는 기술에 대해서도 개시된 바가 없어 집적회로의 면적을 최적화시킬 수 없을 뿐 아니라 처리시간도 매우 길어질 수 있는 심각한 문제점을 갖고 있다.
또한, 본원 출원인이 본원 출원전에 AP-ASIC 2000에 "A Low Complexity Frame Memory Compression Algorithm And Its Implementation For MPEG-2 VideoDecoder"라는 제목으로 50퍼센트 압축율을 갖는 비디오 압축/역압축 하드웨어를 제안한 기술에 있어서도, 75퍼센트 압축율을 갖는 기술은 전연 개시한 바가 없고, 양자화 및 라이스 매핑을 각기 별도로 구성 및 순서에 의해 수행하고 역라이스매핑 및 역양자화를 별도로 수행하여 집적회로의 면적과 처리속도측면에서 비효율적이었다.
도 2는 상기 종래기술의 50퍼센트 압축율을 갖는 비디오 압축/역압축 하드웨어에 따른 양자화부 구성도로서, 이 구성에 따른 동작을 설명하면 다음과 같다.
즉, 제1변환부(210)에서는 주파수변환부의 출력값을 모두 양수화하는 것으로서, 상기 제1변환부(210)의 입력값이 양수(최상위 비트가 "0")이면 상기 제1변환부(210) 내의 멀티플렉서(211)는 포지티브측에 입력된 값을 선택하고, 상기 제1변환부(210)의 입력값이 음수(최상위 비트가 "1")이면 상기 제1변환부(210) 내의 멀티플렉서(211)는 상기 제1변환부(210) 내의 부호변환부(213)을 통과하면서 부호변환된 네거티브측에 입력된 값을 선택한다. 상기 제1변환부(210)를 거쳐 모두 양수화된 값들은 퀀타이저(220)에서 양자화되고, 이들은 제2변환부(230)를 거치면서 역변환되어 상기 제1변환부(210)에 입력되기 전의 부호로 환원된다.
도 3은 상기 종래기술의 50퍼센트 압축율을 갖는 비디오 압축/역압축 하드웨어에 따른 라이스매핑부 구성도로서, 상기 양자화유닛의 상기 제2변환부(230)의 출력측에 환원되어 출력되는 정수값들이 라이스 매핑된다. 즉, 상기 제2변환부(230)내 멀티플렉서(231)에서 출력된 값이 쉬프트 레프트되어 소프트웨어적으로 2배 승산되는 것과 같은 기능을 한다. 그리고 상기 양자화유닛에 입력되기 전 이 값들이양수이었으면 포지티브측에 직접 입력되고, 음수였다면 1의 보수로 되어 네거티브측에 입력된다.
결국, 상기 종래기술은 양자화와 라이스매핑이 절대값 영역에서 동시에 수행하지 못하고 별도의 순서에 따라 수행함으로써 하드웨어 뿐만 아니라 계산속도에 있어서도 불리한 문제점이 있었다.
상기와 같은 문제점을 해결하기 위하여 본 발명은 비디오 프레임의 압축/역압축을 위한 알고리즘의 연산 플로우에 대하여 패킹 등을 수행하는 압축 하드웨어와 언패킹 등을 수행하는 역압축 하드웨어를 구현하고, 양자화 및 라이스 매핑을 동일한 절대값영역에서 수행시키며, 역라이스매핑 및 역양자화 또한 동일한 절대값영역에서 수행하도록 함으로써 집적회로의 면적을 축소시키고 처리시간을 획기적으로 단축시키는 하드웨어 시스템을 제공하고자 함에 목적이 있다.
도 1은 종래기술인 US5838597호의 재압축 및 부호화회로도,
도 2는 종래기술의 50퍼센트 압축율을 갖는 비디오 압축/역압축 하드웨어에 따른 양자화부 구성도,
도 3은 종래기술의 50퍼센트 압축율을 갖는 비디오 압축/역압축 하드웨어에 따른 라이스매핑부 구성도,
도 4는 본 발명에 따른 비디오 프레임 압축 알고리즘에 따라 구현된 압축 하드웨어 블록도,
도 5는 본 발명에 따른 도 4의 압축 하드웨어 블록도 중 주파수변환부의 일실시예 구성도,
도 6은 본 발명에 따른 도 4의 압축 하드웨어 블록도 중 양자화및라이스매핑 부에 대한 개념도,
도 7은 도 6의 개념도에 따른 양자화및라이스매핑부의 일실시예 구성도,
도 8은 본 발명에 따른 도 4의 압축 하드웨어 블록도 중 비트카운트컴비네이션부의 일실시예 구성도,
도 9는 도 8 중 공용비트카운터의 일실시예 구성도,
도 10은 본 발명에 따른 도 4의 압축 하드웨어 블록도 중 엔코딩부의 일실시예 구성도,
도 11은 본 발명에 따른 비디오 프레임 역압축 알고리즘에 따라 구현된 역압축 하드웨어 블록도,
도 12는 본 발명에 따른 도 11의 역압축 하드웨어 블록도 중 디코딩부의 일실시예 구성도,
도 13은 본 발명에 따른 골롬 라이스 디코딩을 설명하기 위하여 필요로 하는 신호를 정의하는 설명도,
도 14는 본 발명에 따른 도 12의 디코딩부 중 AC언패킹부의 일실시예 구성도,
도 15는 본 발명에 따른 도 11의 역압축 하드웨어 블록도 중 역양자화및역라이스매핑부의 일실시예 구성도,
도 16은 본 발명에 따른 도 11의 역압축 하드웨어 블록도 중 주파수역변환부의 일실시예 구성도.
*도면의 주요 부분에 대한 부호의 설명*
420: 주파수변환부 430: 양자화및라이스매핑부
440: 비트카운트컴비네이션부 450: 엔코딩부
1120: 디코딩부 1130: 역양자화및역라이스매핑부
1140: 주파수역변환부
상기와 같은 목적을 달성하기 위하여 본 발명의 비디오 프레임의 압축 하드웨어 시스템은 비디오 프레임의 압축/역압축을 수행하는 하드웨어 시스템에 있어서, 압축될 데이터들을 입력받아 정렬하는 압축기입력제어수단; 정렬된 데이터들에 대하여 1차원 주파수변환을 수행하고, 압축률에 따라 2차원 주파수변환을 선택적으로 수행하는 주파수변환수단; 주파수 변환된 데이터들을 양자화하는 양자화수단; 양자화된 결과값들을 골롬 라이스 코딩하고, 골롬 라이스 코딩된 값들과 DC값을 압축 세그먼트에 패킹하는 엔코딩수단; 및 패킹된 값들을 출력하는 압축출력제어수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 비디오 프레임의 압축 하드웨어 시스템은 비디오 프레임의 압축/역압축을 수행하는 하드웨어 시스템에 있어서, 압축될 데이터들을 입력받아 정렬하는 압축기입력제어수단; 정렬된 데이터들에 대하여 주파수변환을 수행하는 주파수변환수단; 주파수 변환된 데이터들에 대한 양자화와 라이스매핑을 동일한 절대값 영역에서 수행하는 양자화수단; 양자화된 결과값들을 골롬 라이스 코딩하고, 골롬 라이스 코딩된 값들과 DC값을 압축 세그먼트에 패킹하는 엔코딩수단; 및 패킹된 값들을 출력하는 압축출력제어수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 비디오 프레임의 압축 하드웨어 시스템은 비디오 프레임의 압축/역압축을 수행하는 하드웨어 시스템에 있어서, 압축될 데이터를 입력받아 정렬하는 압축기입력제어수단; 정렬된 데이터에 대하여 1차원 및 2차원의 주파수 변환을 수행하는 주파수변환수단; 주파수 변환된 데이터를 양자화하는 양자화수단; 양자화된 결과값을 골롬 라이스 코딩하고, 골롬 라이스 코딩된 값과 DC값을 압축 세그먼트에 패킹하는 엔코딩수단; 및 패킹된 값을 출력하는 압축출력제어수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 비디오 프레임의 압축 하드웨어 시스템은 비디오 프레임의 압축/역압축을 수행하는 하드웨어 시스템에 있어서, 압축될 데이터들을 입력받아 정렬하는 압축기입력제어수단; 정렬된 데이터들에 대하여 1차원 주파수변환을 수행하고, 압축률에 따라 2차원 주파수변환을 선택적으로 수행하는 주파수변환수단; 주파수 변환된 데이터들에 대한 양자화와 라이스매핑을 동일한 절대값 영역에서 수행하는 양자화수단; 양자화된 결과값들을 골롬 라이스 코딩하고, 골롬 라이스 코딩된 값들과 DC값을 압축 세그먼트에 패킹하는 엔코딩수단; 및 패킹된 값들을 출력하는 압축출력제어수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 비디오 프레임의 압축 하드웨어 시스템은 비디오 프레임의 압축/역압축을 수행하는 하드웨어 시스템에 있어서, 압축될 데이터를 입력받아 정렬하는 압축기입력제어수단; 정렬된 데이터에 대하여 1차원 및 2차원의 주파수 변환을 수행하는 주파수변환수단; 주파수 변환된 데이터들에 대한 양자화와 라이스매핑을 동일한 절대값 영역에서 수행하는 양자화수단; 양자화된 결과값을 골롬 라이스 코딩하고, 골롬 라이스 코딩된 값과 DC값을 압축 세그먼트에 패킹하는 엔코딩수단; 및 패킹된 값을 출력하는 압축출력제어수단을 포함하는 것을 특징으로 한다.
본 발명의 상기 주파수변환수단은 정렬된 데이터들을 구분하여 가감산을 병렬처리하는 복수개의 1차원주파수변환수단을 포함하는 것을 특징으로 한다.
본 발명의 상기 양자화수단은 주파수 변환된 데이터들에 대하여 병렬적으로 양자화를 수행하는 것을 특징으로 한다.
본 발명의 상기 양자화수단은 하위 4비트의 연산 결과값과 상기 하위 4비트 이외의 나머지 상위 비트를 비트와이즈 논리합하는 비트 카운터 수단을 포함하는 것을 특징으로 한다.
본 발명의 상기 엔코딩수단은 골롬 라이스 코딩을 위하여 입력되는 데이터들에 코머(구분자)를 삽입시키는 코머삽입수단; 코머가 삽입된 데이터들에 대하여 쉬프트 라이트 함으로써 패킹 가능하도록 정렬하는 배럴쉬프터수단; 및 정렬된 데이터들을 비트와이즈 논리합하는 비트와이즈 논리합수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 비디오 프레임의 역압축 하드웨어 시스템은 비디오 프레임의 압축/역압축을 수행하는 하드웨어 시스템에 있어서, 역압축될 데이터들을 입력받아 정렬하는 역압축기입력제어수단; 정렬된 데이터들에 대하여 언패킹하고 골롬 라이스 디코딩을 수행하는 디코딩수단; 디코딩된 데이터들을 역양자화하는 역양자화수단; 역양자화 및 역라이스매핑된 데이터들에 대하여 압축률에 따라 2차원 주파수 역변환을 선택적으로 수행하고, 1차원 주파수역변환을 수행하는 주파수역변환수단; 및 주파수 역변환되어 얻어진 최종 역압축된 픽셀로 부터 원하는 픽셀을 선택하여 출력시키는 역압축기출력제어수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 비디오 프레임의 역압축 하드웨어 시스템은 비디오 프레임의 압축/역압축을 수행하는 하드웨어 시스템에 있어서, 역압축될 데이터들을 입력받아 정렬하는 역압축기입력제어수단; 정렬된 데이터들에 대하여 언패킹하고 골롬 라이스 디코딩을 수행하는 디코딩수단; 디코딩된 데이터들에 대하여 역양자화와 역라이스매핑을 동일한 절대값 영역에서 수행하는 역양자화수단; 역양자화 및 역라이스매핑된 데이터들에 대하여 주파수 역변환을 수행하는 주파수역변환수단; 및 주파수 역변환되어 얻어진 최종 역압축된 픽셀로 부터 원하는 픽셀을 선택하여 출력시키는 역압축기출력제어수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 비디오 프레임의 역압축 하드웨어 시스템은 비디오 프레임의 압축/역압축을 수행하는 하드웨어 시스템에 있어서, 역압축될 데이터들을 입력받아 정렬하는 역압축기입력제어수단; 정렬된 데이터들에 대하여 언패킹하고 골롬 라이스 디코딩을 수행하는 디코딩수단; 디코딩된 데이터들을 역양자화하는 역양자화수단; 역양자화 및 역라이스매핑된 데이터들에 대하여 1차원 및 2차원 주파수 역변환을 수행하는 주파수역변환수단; 주파수 역변환되어 얻어진 최종 역압축된 픽셀로 부터 원하는 픽셀을 선택하여 출력시키는 역압축기출력제어수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 비디오 프레임의 역압축 하드웨어 시스템은 비디오 프레임의 압축/역압축을 수행하는 하드웨어 시스템에 있어서, 역압축될 데이터들을 입력받아 정렬하는 역압축기입력제어수단; 정렬된 데이터들에 대하여 언패킹하고 골롬 라이스 디코딩을 수행하는 디코딩수단; 디코딩된 데이터들에 대하여 역양자화와 역라이스매핑을 동일한 절대값 영역에서 수행하는 역양자화수단; 역양자화 및 역라이스매핑된 데이터들에 대하여 압축률에 따라 2차원 주파수 역변환을 선택적으로 수행하고, 1차원 주파수역변환을 수행하는 주파수역변환수단; 주파수 역변환되어 얻어진 최종 역압축된 픽셀로 부터 원하는 픽셀을 선택하여 출력시키는 역압축기출력제어수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 비디오 프레임의 역압축 하드웨어 시스템은 비디오 프레임의 압축/역압축을 수행하는 하드웨어 시스템에 있어서, 역압축될 데이터들을 입력받아 정렬하는 역압축기입력제어수단; 정렬된 데이터들에 대하여 언패킹하고 골롬라이스 디코딩을 수행하는 디코딩수단; 디코딩된 데이터들에 대하여 역양자화와 역라이스매핑을 동일한 절대값 영역에서 수행하는 역양자화수단; 역양자화 및 역라이스매핑된 데이터들에 대하여 2차원 및 1차원의 주파수 역변환을 수행하는 주파수역변환수단; 및 주파수 역변환되어 얻어진 최종 역압축된 픽셀로 부터 원하는 픽셀을 선택하여 출력시키는 역압축기출력제어수단을 포함하는 것을 특징으로 한다.
본 발명의 상기 주파수역변환수단은, 복수개의 1차원 주파수 역변환수단을 포함하는 것을 특징으로 한다.
본 발명의 상기 디코딩수단은 골롬 라이스 코드를 병렬적으로 분리하는 구조를 갖는 것을 특징으로 한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.
도 4는 본 발명에 따른 비디오 프레임 압축 알고리즘에 따라 구현된 압축 하드웨어 블록도로서, 상기 압축 하드웨어 블록 내의 각 구성요소간의 동작을 설명하면 다음과 같다.
압축기입력제어부(410)에서는 압축될 데이터를 입력받아 정렬하고, 상기 정렬된 데이터를 주파수 변환부(420)에서 1차원 및 2차원 주파수 변환을 수행하며, 양자화및라이스매핑부(430)와 비트카운트컴비네이션부(440)는 주파수 변환된 데이터에 대하여 양자화를 수행하여 양자화값을 구하고, 엔코딩부(450)는 양자화된 결과값을 엔트로피 코딩의 일종인 골롬라이스 코딩(Golomb-Rice encoding)하여 그 결과값과 DC값을 32비트의 압축 세그먼트에 패킹하고, 압축기출력제어부(460)는 상기 32비트의 패킹된 값을 64비트 단위로 만들어 출력한다.
도 5는 본 발명에 따른 도 4의 압축 하드웨어 블록도 중 주파수변환부(420)의 일실시예 구성도로서, 1 ×8 혹은 2 ×8 픽셀 입력에 대한 주파수 변환을 수행한다. 여기서, 2 ×8 픽셀 입력 주파수 변환에 대하여 설명하면 다음과 같다.
먼저 상위 1 ×8 변환부(510)에서 변환을 수행한 후 하위 1 ×8 변환부(520)에서 변환을 수행하며, 이들의 결과를 서로 가감함으로써 2 ×8 변환에 대한 결과를 최종적으로 얻는다. 도 5에서 실선은 가산을, 점선은 감산을 의미하며, SR은 오른쪽으로 1비트 쉬프트 함으로써 소프트웨어적으로 계산될 값을 2로 나누는 제산기능과 동일한 기능을 수행한다. 한편, 여기서 수행되는 쉬프트 라이트와 쉬프트 레프트는 고정되어 있으므로 하드웨어적으로는 와이어링을 통하여 구현되어질 것이다.
상기 상위 1 ×8 변환부(510)는 8개의 모든 결과를 얻도록 설계하나, 상기 하위 1 ×8 변환부(520)는 저주파 4개만을 얻도록 설계한다. 즉, 50퍼센트의 1차원 압축만을 행하는 1 ×8 변환인 경우에는 상위 1 ×8 변환부(510)의 결과값만이 압축률선택부(540)를 거쳐 주파수 변환 출력부(550)로 출력된다. 이 때 상기 압축률선택부(540)는 50퍼센트 압축을 수행하도록 압축률이 세팅되어 있다.
한편, 75퍼센트의 2차원 압축을 행하는 2 ×8 변환인 경우에는 상위 1 ×8 변환부(510)의 결과값 4개와 하위 1 ×8 변환부(520)의 결과값 4개가 2 ×8 변환부(530)에 입력되어 상호 가감되고, 그 결과값이 압축률선택부(540)를 거쳐 주파수 변환 출력부(550)로 출력된다. 이 때 상기 압축률선택부(540)가 75퍼센트 압축을 수행하도록 압축률이 세팅되는 것은 당연하다.
한편, 상기 도 2와 도 3에서 개시된 바와 같은 종래기술에 따른 구성은 모든 양자화 값을 병렬적으로 처리하는 구조에서 하드웨어를 구현하는 경우 많은 배선(Wiring)과 멀티플렉서를 필요로 하여 소요면적과 처리속도 측면에서 불리하기 때문에, 본 발명에서는 다음과 같은 동일한 절대값 영역에서 양자화와 라이스매핑을 수행하는 구성을 제공한다.
도 6은 본 발명에 따른 도 4의 압축 하드웨어 블록도 중 양자화및라이스매핑부(430)에 대한 개념도이다.
즉, 상기 주파수변환부(420)로부터 출력된 7개(kmht_out1-7)의 AC값들을 양자화하기 위하여 절대값변환부(610)에서 양수는 그대로, 음수는 상기 절대값변환부(610)내 부호변환부(613)를 거치면서 부호변환되어 상기 절대값변환부(610)내 멀티플렉서(611)의 입력측에 입력되고, 퀀타이저(620)에서는 상기 멀티플렉서(611)의 출력을 양자화시키며, 양자화된 절대값들을 라이스매핑부(630)내 2배기(631)에서는 쉬프트 레프트되도록 회로적으로 와이어링함으로써 라이스매핑시킨다.
여기서 상기 주파수변환부(420)의 출력은 8개이지만 상기 양자화및라이스매핑부(430)에 입력되는 입력은 7개로서 입출력부의 갯수가 상호간에 불일치한다. 그 이유는 상기 주파수변환부(420)의 출력측에서는 DC와 AC가 모두 출력되지만, 상기 양자화및라이스매핑부(430)에서는 상기 주파수변환부(420)의 출력값 중 DC값을 뺀나머지 AC값만을 양자화 및 라이스매핑하기 때문에 입력이 7개로 줄어든다. 또한, DC값을 양자화하지 않는 이유는 DC값이 압축부에 있어서 가장 중요한 정보를 갖고 있기 때문이다.
도 7은 도 6의 개념도에 따른 상기 양자화및라이스매핑부 (430)의 일실시예 구성도로서, 양자화를 신속히 수행하기 위하여 모든 입력되는 값에 대하여 양자화를 병렬적으로 수행한다.
상기 양자화및라이스매핑부(430) 중 절대값변환부(710)는 입력값이 양수이면 그대로, 음수이면 2의 보수를 취하여 abs1-abs7으로 출력한다. 이 과정에서 얻을 수 있는 7개의 계수에 대한 부호 정보(sign info)는 라이스 매핑시 사용되므로 양자화및라이스매핑어레이부(730)에 입력된다. 양자화는 양자화 갯수(50퍼센트 압축인 경우 8개, 75퍼센트 압축인 경우 16개)에 따라 이미 양자화 레벨이 정해져 있고 양자화 결과가 병렬적으로 구해지므로 7개의 계수에 대한 모든 가능한 양자화 결과값, 즉 62개의 값을 구하게 된다.
구해진 양자화 값에 대하여는 라이스 매핑이 적용되는데, 라이스 매핑은 기본적으로 1비트 쉬프트 레프트를 수행한 후 부호가 음수인 경우 구해진 양자화값에서 1을 감산하는 기능을 추가적으로 수행한다. 따라서 양자화시 쉬프트 라이트와 라이스매핑시 쉬프트 레프트를 한번에 동시에 수행할 수 있다. 예를들어, 양자화를 위한 쉬프트 라이트가 3비트이면 양자화(쉬프트 라이트 3비트)와 라이스매핑(쉬프트 레프트 1비트)을 동시에 수행하여 쉬프트 라이트 2비트로 가능하다.
이와 같이 양자화와 라이스 매핑이 동시에 수행된 62개 결과값의 부호가 음수일 경우에는 상기 결과값에서 1을 감산하는 기능을 추가적으로 수행하고, 양수인 경우에는 상기 결과값대로 출력한다(abs_M1, ......, abs_M7). 여기서 Mi는 i번째 계수에 대한 양자화 레벨을 나타낸다. 예를 들어 M7은 0-8, 10의 값을 가지므로 abs1_M7은 10개의 서로 다른 양자화/라이스 매핑 결과를 동시에 출력하게 된다.
양자화와 매핑이 끝나면 골롬 라이스 코딩을 하기 전에 비트 카운트를 구하여 모든 양자화 값 중 압축 데이터가 32 비트 압축 세그먼트 안에 들어가는 양자화값(q_value)을 구한다. 여기서, 비트 카운트란 각 계수에 따라 정해지는 고정 길이값(코마와 2진 부분)과 1진 부분에 의한 가변 길이값의 합으로서, 고정 길이값은 이미 알려져 있기 때문에 비트의 카운트시에 이를 제외하고 가변 길이만을 이용하여 양자화값(q_value)의 결정을 위한 비트 카운트를 수행한다. 따라서, 1진 부분만을 상기 비트카운트컴비네이션부(440)에 입력한다(bc1_M1, bc2_M2, ..., bc7_M7).
상수 옵셋값(const_offset)은 비트 카운트를 계산할 때 결과가 32비트 세그먼트에서 넘치는지를 검사하는 부분을 간략하게 하기 위한 상수로서, 50퍼센트 압축인 경우 9를 출력하고, 75퍼센트 압축인 경우 5를 출력한게 된다. 그 이유는 도 9를 설명하면서 언급하기로 한다.
상기 비트카운트컴비네이션부(440)에서 양자화값(q_value)을 정하면 이진부선택기(750)에서는 이를 이용하여 골롬 라이스 코딩에 필요한 2진부를 선택하여 골롬 라이스 코딩 입력값(gr_input1∼gr_input5)으로 출력한다. 이 때 6번째와 7번째 계수는 2진부가 존재하지 않으므로 출력할 필요가 없다.
도 8은 본 발명에 따른 도 4의 압축 하드웨어 블록 중 비트카운트컴비네이션부 (440)의 일실시예 구성도이다.
상기 비트카운트컴비네이션부(440)는 62개의 양자화 및 라이스 매핑된 1진 부분값을 받아 양자화 값(50퍼센트 압축시 8개, 75퍼센트 압축시 16개)에 따라 조합을 만들어 비트 카운트를 구하고(b_cnter, b_cnter_qt), 그 결과에 따라 양자화값 (q_value)을 선택한다. 또한, 비트 카운트를 구하는 동시에 1진부에 따라 골롬 라이스 코드를 패킹할 때 각 코드가 쉬프트될 양(sh_l1∼sh_l7)을 구하여 출력한다.
즉, 62개의 양자화 및 라이스 매핑된 1진 부분은 양자화계수결합부(810)에 의하여 q0부터 q15까지의 양자화 값에 따라 각각 7개씩 묶여 비트카운터부(820)의 공용비트카운터(b_cnter q0 ∼ b_cnter q7)와 75퍼센트비트카운터(b_cnter_qt q8 ∼ b_cnter_qt q15)에 입력된다. 예를 들어, 75퍼센트 압축에서 양자화 값이 15인 경우 각 계수에 대한 양자화 레벨이 각각 7, 7, 8, 7, 8, 9, 10 이므로 상기 75퍼센트비트카운터(b_cnter_qt) q15에 bc1_7, bc2_7, bc3_8, bc4_7, bc5_8, bc6_9, bc7_10이 입력된다. 즉, bc1_7은 q15_c1, bc2_7은 q15_c2 등으로 각각 대응된다. 도 7에서는 이 값들을 q15_cN으로 표현하였다. 한편, 50퍼센트 압축인 경우에는 q0∼q7까지만 입력된다.
상기 비트카운트컴비네이션부(440)는 현재 양자화 값에 따른 비트 발생량을 계산한다. 여기서, 상기 비트 발생량을 구하기 위하여 다음의 사항을 우선적으로 고려한다. 공용비트카운터는 q0∼q7에 대한 상기 비트카운터부(820)로서 50퍼센트 및 75퍼센트 압축 모두에 대하여 카운트를 구하고, 75퍼센트비트카운터는 75퍼센트압축인 경우에만 q8∼q15에 대하여 카운트를 구한다. 발생량 계산 결과는 오버플로우 비트(q0_ovf∼q15_ovf)로 표현되는데 이 결과에 따라 양자화값선택기(830)에서 양자화값(q_value)이 결정된다. 상기 비트카운터부(820)는 오버플로우비트 외에 1진부를 고려하여 골롬 라이스 코딩시 1진수를 표현하기 위하여 필요한 누적 쉬프트 길이(q0_lN∼q15_lN)를 비트 카운트하여 쉬프트길이선택기(840)로 출력한다.
상기 누적 쉬프트 길이는 모든 양자화 값에 대하여 출력되는데 이 값들은 상기 비트카운트컴비네이션부(440)에서 양자화값(q_value)으로 선택되어 최종적으로 상기 쉬프트길이선택기(840)에서 sh_l1∼sh_l7 신호로서 출력된다. 골롬 라이스 코드의 비트 발생량은 다음의 수학식 1에 따라 구한다.
계수 c의 비트 발생량 = k + 1 + (c>>2k
여기서, k는 골롬 라이스 코드에서 정의되는 변수로서, 생성되는 골롬 라이스 코드의 2진부의 비트 크기를 나타낸다. 즉, k 비트 크기의 2진부를 의미한다. 그리고, 1은 코머(구분자)를 나타내며, c>>2k는 계수 c에서 k비트의 하위 2진수 부분을 제거한 부분으로 이 값이 1진수 부분으로 표현되는 것이다.
예를 들어 k=2인 경우 10011을 골롬 라이스 코딩하면 다음과 같다. 우선 k가 2이므로 하위 2비트 11은 2진수 그대로 코딩된다. 하위 2비트를 제외한 부분은 100으로 이는 십진수 4를 의미한다. 4를 1진수로 표현하면 0000이다. 따라서, 최종 골롬 라이스 코드는 코머를 포함하여 0000111을 얻게 된다. 1진수를 1111로 표현하면코머는 0이 되고, 0000으로 표현하면 코머는 1이 된다. 따라서 발생 비트는 7비트로서, 2+1+19>>22= 2+1+4 = 7와 동일하다.
원래 k값은 발생 심볼의 확률에 의하여 적응적으로 구해지므로 골롬 라이스 코딩은 일종의 적응 엔트로피 코딩이라 할 수 있으나, 본 발명에 따른 하드웨어 구현시에는 영상 데이터에 대한 시뮬레이션을 통해 각 계수 위치에 대한 k값을 미리 구하여 고정한다.
도 9는 도 8의 공용비트카운터(821)의 일실시예 구성도로서, 압축된 결과는 32비트의 세그먼트에 채워진다.
50% 압축은 32비트 중 양자화값(q_value)으로 3비트(양자화 값이 8가지로서, 3비트가 소요됨), DC값으로 8비트를 사용하므로 남은 21비트에 골롬 라이스 코드 7개(AC값)를 넣어야 한다. 한편, 75% 압축은 32비트 중 양자화값(q_value)으로 4비트(양자화 값이 16가지로서, 4비트가 소요됨), DC값으로 8비트를 사용하므로 남은 20비트에 골롬 라이스 코드를 넣어야 한다.
따라서, 7개의 골롬 라이스 코드의 길이의 합이 50% 압축인 경우에는 21보다 작거나 같아야 하며, 75퍼센트 압축인 경우에는 20보다 작거나 같아야 한다. 그런데, 21 혹은 20과 비교하기 위해서는 하드웨어적으로 복잡한 감산기를 사용하는 문제가 존재하므로, 본 발명에서는 다음과 같은 방법을 사용하여 하드웨어적으로 비교를 간단하게 구현한다.
골롬 라이스 코드의 길이는 수학식 1과 같이 변수 k와 코머 1 그리고 나머지1진수 부분으로 구성된다. 본 발명에서는 변수 k값이 이미 시뮬레이션에 의해서 고정되어 있기 때문에, 7개의 골롬 라이스 코드에서 1진수 부분을 제외한 나머지 부분의 합은 이미 결정되어 있다. 즉, 50%의 경우 15이며, 75%의 경우 10이다.
결국, 각 압축율에 따른 비교 식은 다음과 같다.
50% 압축의 경우,
15 + (7개 GR코드의 1진수 부분 길이 합) > 21
75% 압축의 경우,
10 + (7개 GR코드의 1진수 부분 길이 합) > 20
상기 수학식2 및 수학식3에서 양변에 적절한 수, 예를들어 수학식2의 양변에 6, 수학식3의 양변에 5를 감하면 비교해야 할 값 21 혹은 20을 모두 15로 만들 수 있고, 이를 다시 정리하면 다음과 같다.
50% 압축의 경우,
9 + (7개 GR코드의 1진수 부분 길이 합) > 15
75% 압축의 경우,
5 + (7개 GR코드의 1진수 부분 길이 합) > 15
즉, 비트 카운터의 상수 입력을 50% 압축인 경우에는 9, 75% 압축인 경우에는 5로 조정하면 항상 15보다 큰 경우를 검출하면 된다. 즉, 16보다 크거나 같은지를 검출하면 된다.
16보다 크거나 같은지에 대한 판단을 하드웨어적으로 구현하는 것은, 비트 카운트의 합 결과에서 하위 4비트를 제외한 나머지 상위 비트 부분에 1이 하나이상 있는지를 검출하는 것으로 가능하다. 따라서, 비트 카운트 가산 결과는 하위 4비트의 실제 연산 결과 값과 나머지 상위 비트를 비트와이즈 논리합(bitwise OR)한 결과를 갖는 것으로 가능하다.
결국, 비트 카운터의 내부 연산은 4비트 가산기만으로 충분하고, 나머지 상위 비트는 비트와이즈 논리합된 오버플로우 비트로서만 존재한다.
여기서는 50% 압축을 가정하여 예를 들기로 한다.
상기 공용비트카운터(821)는 우선 1진 부분과(q0_cN)과 상수(const_offset) 입력을 병렬적으로 가산한다. 입력(bc1∼bc7, const_offset)과 중간 결과(res0, res1, res2, res3, res4, res5, res6, res7)는 모두 4비트의 데이터 폭을 가지며 각각에 대한 나머지 상위 비트의 비트와이즈 논리합(bitwise OR)이 되어 최종 오버플로우 결과 비트를 얻는다. 즉, 오버플로우가 1이면 16보다 크거나 같으므로 현재의 양자화값은 세그먼트를 넘치게 된다.
또한, 오버플로우를 발생시키는 동시에 비트 카운터는 골롬 라이스 코드를 패킹할 때 필요한 누적 쉬프트 양을 계산한다. 현재 계수의 누적 쉬프트 양은 이전 계수에 대한 골롬 라이스 코드 전체 길이의 합과 현재 계수의 1진 부분에 의한 길이의 합으로 구해진다. 여기서, 하드웨어 자원을 줄이기 위하여 비트 카운트에 사용되는 중간 결과 값과 누적 쉬프트 양을 구하기 위한 중간 결과 값을 서로 공유(res0, res2, res4)하고, 병렬적인 가산 방식을 사용한다. 즉, 누적 쉬프트 양은 변수 bcN과 상수의 합으로 구해지며, 상수는 상기 비트카운터부(820) 내부에서 c_temp0, c_temp1, c_temp2, c_temp3, c_temp4, c_temp5로 표현된다.
도 10은 본 발명에 따른 도 4의 압축 하드웨어 블록도 중 엔코딩부(450)의 일실시예 구성도로서, 양자화된 결과값의 골롬 라이스 코딩과 패킹 기능을 수행한다.
원래 패킹 알고리즘은 한 번에 하나의 골롬 라이스 코드를 붙이고 그 길이만큼 쉬프트하여 구하게 되므로 하드웨어 구현시 7사이클의 처리 지연을 유발하게 된다.
즉, 도 10과 같이 2진 부분인 gr_input1∼gr_input5가 코머 삽입부(1010)에 입력되면 코머를 붙이고, 이 값들이 다시 배럴쉬프터부(1020)에 들어가 쉬프트 길이(sh_11∼sh_17)에 의해 쉬프트 라이트 함으로써 패킹이 가능한 정렬된 형태의 결과를 얻는다(align1∼align7). 이 7개의 결과(align1∼align7)에 대하여 비트와이즈논리합부(1030)에서 비트와이즈 논리합(bitwise OR)의 기능을 수행함으로써 교류성분의 골롬 라이스 코드를 패킹한다. 이 결과를 하드웨어로 용이하게 구현하기 위하여 비트리버스부(1040)에서 비트리버스시킨 후 양자화값(q_value), DC 값(kmht_out0) 등을 사용하여 32비트세그먼트발생부(1050)에서는 최종적인 32 비트 압축 세크먼트를 얻는다.
한편, gr_input6와 gr_input7에는 2 진 부분이 존재하지 않으므로 상기 엔코딩부(450)에서는 이들을 내부적으로 만들어낸다. 그리고, 패킹된 교류값과 양자화값 (q_value), 주파수변환출력부(550)의 DC값(kmht_out0)을 세크먼트로 만들 때 비트 리버스는 멀티플렉서 회로를 줄이기 위하여 필요하다. 즉, 이는 압축 모드에 따라 유효한 양자화값(q_value)의 비트가 바뀌기 때문이다.
쉬프트 라이트 시에는 0이 입력되며, 0은 1진수를 나타낼 뿐만 아니라 현재 처리되는 계수 이외의 영역에서는 비트와이즈 논리합(bitwise OR)의 경우 다른 코드가 자연스럽게 연결될 수 있도록 한다. 각 계수에 대한 쉬프트 길이는 k 값과 코마 비트의 존재에 의해서 최소 쉬프트값과 최대 쉬프트 값에 한계가 있다. 따라서, 도 10의 BS(barrel shifter)는 일반적인 배럴 쉬프터와는 달리 간단한 구조를 갖는다.
도 11은 본 발명에 따른 비디오 프레임 역압축 알고리즘에 따라 구현된 역압축 하드웨어 블록도이다. 압축 알고리즘의 역 순서로 행해지는 역압축 알고리즘은 골롬 라이스 디코딩, 역 라이스 매핑, 역 양자화, 주파수 역변환의 순으로 진행되는 바, 상기 역압축 하드웨어 블록 내의 각 구성요소간의 동작을 설명하면 다음과 같다.
역압축기입력제어부(1110)가 역압축될 데이터를 받아 다음 단으로 넘겨주면, 디코딩부(1120)는 32비트 압축 세크먼트로부터 데이터를 언패킹하고 골롬 라이스 디코딩을 수행한다. 그 결과는 다시 역양자화및역라이스매핑부(1130)가 역양자화 및 역 라이스 매핑을 수행하고, 주파수역변환부(1140)에서 주파수 역변환을 통해 최종 역압축된 픽셀값(ipix0∼15)을 얻고, 최종적으로 역압축기출력제어부(1150)에서 원하는 픽셀을 거른 후 출력한다. 상기 역압축기입력제어부(1110)와 역압축기출력제어부(1150)는 인터페이스 상황에 따라 변경될 수 있는 블록이므로 여기서는 더 이상 언급하지 않기로 한다.
도 12는 본 발명에 따른 도 11의 역압축 하드웨어 블록도 중 디코딩부(1120)의 일실시예 구성도이다.
상기 디코딩부(1120)는 압축된 세그먼트(icomp_seg[31:0])로부터 DC값 (ikmht_out0_temp)과 q_value_temp값을 골라내고, 패킹된 나머지 비트(50% 압축이면 21비트, 75% 압축이면 20비트)로부터 골롬 라이스 코딩되어 있는 교류 계수(gr_dec_tempN)를 디코딩하여 역양자화및역라이스매핑부(1130)로 전달하는 기능을 한다.
골롬 라이스 코드를 압축된 세그먼트로 분리하여 디코딩하기 위하여 패킹된 골롬 라이스 코드를 언패킹하고 그 결과값에 대하여 디코딩을 수행한다. 여기서, 골롬 라이스 코드는 가변 길이를 갖는 코드이기 때문에 디코딩을 수행하기 전에는 상기 골롬 라이스 코드 각각의 길이를 알 수 없다. 따라서, 7개의 골롬 라이스 코드를 디코딩하기 위해서는 7 개의 종속적인 단계가 필요하고, 이에 따라 소프트웨어의 알고리즘을 하드웨어로 구현하는 경우 최소 7 사이클의 처리 지연 사이클을 가져야만 한다. 그러나, 본 발명에서는 리딩 제로 카운터를 사용하여 7개의 골롬 라이스 코드를 병렬적으로 분리함으로써 1 사이클 내에 수행하도록 한다.
즉, 리딩 제로 카운터를 통해 역패킹할 세그먼트의 모든 비트 위에서의 연속된 0의 비트스트링의 길이를 구하여 골롬 라이스 코드의 1진 부분을 모든 경우에대하여 미리 구하고, 멀티플렉서로 선택하면 디코딩이 된다. 그리고, 언패킹과 골롬 라이스 디코딩은 하드웨어 구조상 시간 지연이 크므로 위의 출력은 레지스터에 저장(ikmht_out0, iq_value, gr_deeN)되어 다음 블록으로 전달된다.
한편, 도 12의 리딩제로카운터어레이(1210)는 패킹되어 있는 비트열의 각 위치에서 시작하는 0의 길이를 리딩 제로 카운터(leading zero counter)로 구하는 부분으로서, 이 값을 이용하여 1진 부분의 2진수 표현 값을 구하고 각 교류 계수의 시작 위치를 알아낸다. 이는 선두 0 카운트 값이 0으로 표현된 1진수의 2진수 값이기 때문이다.
도 13은 본 발명에 따른 골롬 라이스 디코딩을 설명하기 위하여 필요로 하는 신호를 정의하는 설명도이다.
즉, 패킹된 비트스트링으로부터 유도되는 새로운 변수 값인 lz(n)은 패킹된 비트스트링(igr_packed_reverse[20:0])의 n번째 비트에서부터 오른쪽으로 연속되는 0의 비트열의 길이를 나타내며, bs(n)의 n번째 비트부터 시작되는 비트스트링을 의미한다.
비트는 가장 왼쪽부터 0번째이며 오른쪽으로 가면서 1씩 증가한다. 거의 모든 위치에서 선행하는 0의 값을 구하는 것은 각 골롬 라이스 코드가 어디에서 시작되는지 미리 알 수가 없기 때문이다.
도 14는 본 발명에 따른 도 12의 디코딩부(1120) 중 AC 언패킹부(1220)의 일실시예 구성도이다.
상기 리딩제로카운터어레이(1210)의 결과 값으로부터 골롬 라이스 코드의 1진 부분과 2진 부분을 디코딩하게 되는데, 이는 첫번째 코드의 1진 부분인 lz(0)의 길이 값을 알고난 후 코마 비트와 2진 부분을 고려하여 두번째 코드의 시작 위치를 알 수 있기 때문이다.
따라서, 예를 들어 50% 역압축하는 경우, 두번째 코드의 1 진 부분은 lz(0)의 값에 따라 lz(3)부터 lz(9)까지의 값 중 선택하여 얻게 되고, 세번째 코드는 lz(0)의 값과 상기 두번째 코드에서 선택된 lz값을 더하여 lz(6)부터 lz(12)까지의 값 중 선택하게 된다. 이와 같은 방법으로 7개의 AC 계수의 1진 부분에 대한 디코딩을 수행한다.
디코딩된 AC 계수의 1진 부분은 2진 부분과 연결되며, 2진 부분은 골롬 라이스 코드에 2진수 그대로 코딩되어 있으므로 비트스트링에서 선택하는 것으로 충분하다. 즉, 첫번째 코드의 2진 부분은 1진 부분의 값(lz(0))에 따라 코마 비트를 제외하고 bs(1)부터 bs(7)까지의 값중 선택한다. 2진 부분도 1진 부분과 마찬가지로 누적된 lz값을 이용하여 선택하게 함으로써 각 코드의 2진 부분을 얻어낸다. 골롬 라이스 디코딩은 50% 및 75% 등의 압축 모드에 따라 멀티플렉서의 선택 영역이 상이하므로 2가지 회로를 만들지만 코딩을 적절히 하여 가능한 한 하드웨어를 공유하도록 한다.
도 15는 본 발명에 따른 도 11의 역압축 하드웨어 블록도 중 역양자화및역라이스매핑부(1130)의 일실시예 구성도로서, 골롬 라이스 디코딩된 AC 계수(gr_decN)를 입력받아 역라이스 매핑과 역양자화를 수행한다.
역라이스매핑은 양수 또는 음수의 원래 AC 계수값을 얻는 과정으로서, 역라이스매핑과 역양자화를 개별적으로 수행하도록 한다면, 역라이스매핑으로 인하여 양수 또는 음수로 변환된 원래 AC 계수값을 역양자화시에는 다시 양수로 변환할 필요가 있다. 따라서, 여기서는 양자화와 라이스매핑시에 중간의 부호 변환 과정을 생략하기 위해 절대값으로 처리하는 방식을 역으로 적용하여, 역라이스매핑시 원래 AC 계수의 절대 값(iabsN)만을 구한 뒤 역양자화가 끝나면 최종적으로 양수와 음수로 변환하도록 한다.
즉, 라이스매핑시 음수인 경우 절대값의 두배를 만든 뒤 -1을 수행하므로(최하위 비트가 1), 역라이스매핑부(1510)에서는 역라이스매핑시 절대값만을 구하기 위해서 상기 골롬 라이스 디코딩된 AC 계수(gr_decN)를 1/2한 뒤 음수인 경우 +1을 수행하고, 양수인 경우 라이스매핑시 두배를 하므로(최하위 비트가 0) 1/2만을 수행하는 것으로써 충분하다. 상기 골롬 라이스 디코딩된 AC 계수(gr_decN)의 음수 양수 여부는 최하위 비트로부터 알 수 있는 바, 1인 경우 음수, 0인 경우 양수이다.
이와 같이 상기 역라이스매핑부(1510)에서 출력되는 값(iabsN)은 압축률선택신호(is_qt)와 역양자화값(iq_value)에 따라 인버스 퀀타이저(1520)는 역양자화를 수행한다. 즉, 압축모드와 양자화 값에 따라서 쉬프트 레프트할 양을 각 계수에 대하여 구한다. 쉬프트해야 할 양이 결정되면 쉬프트 레프트시킴으로써 2의 승수를 곱한 것과 같은 결과를 얻으며, 이 때 오른쪽으로 입력되는 비트는 01111...(최초 비트는 0, 나머지 비트들은 1)과 같은 형태를 취한다. 이렇게 하위로 입력되는 값이 0이 아닌 1/2(0111...을 소수값이라고 생각하면 0.0111...이므로 1/2에 가까운값이다)에 가까운 값인 것은 역양자시 양자화 에러를 평균적으로 보상하기 위함이다. 여기에서 입력되는 값이 비트폭으로 나타낼 수 있는 값의 중간값(여기에서는 1/2)에 가깝기 때문에 센터로이드(centeroid)라 한다.
역양자화된 절대값(iq_absN)이 상기 인버스퀀타이저(1520)에서 출력되면 원래 부호의 값으로 변환하기 위해 부호 정보를 이용하여 2의보수변환부(1530)는 2의 보수 변환을 수행한다(ikmht_outN). 이 값은 상기 주파수역변환부(1140)로 입력되어 주파수 역변환을 수행한다. 한편, 부호수집부(1540)의 부호는 상기 디코딩부(1120)에서 출력되는 신호인 gr_decN의 최하위 비트로 이루어진다.
결국, 상기 역양자화및역라이스매핑부(1130)는 역라이스매핑된 값들(iabsN)에 대하여 011...을 오른쪽에 붙인 후 역양자화 쉬프트양(cntN)을 구하여 쉬프트 레프트함으로써 상기 역양자화된 절대값(iq_absN)을 구한다.
도 16은 본 발명에 따른 도 11의 역압축 하드웨어 블록도 중 주파수역변환부(1140)의 일실시예 구성도로서, 상기 압축 하드웨어 블록도의 주파수변환부(420)에서 수행되는 과정의 역과정을 수행한다.
상기 디코딩부(1120)의 DC계수(ikmht_out0)와 상기 역양자화및역라이스매핑부(1130)의 AC계수(ikmht_out1 ∼ ikmht_out7)등의 전체 8개 주파수 계수를 받아 역변환을 통해 다시 공간 영역의 픽셀값(ipix0∼ipixl5)을 만들어 낸다. 즉, 50% 역압축인 경우에는 8개의 주파수 계수로부터 8개의 픽셀값이 얻어지며, 75% 역압축인 경우 4개의 주파수 계수에 4개의 0을 붙인 후 역변환을 수행하여 8개의 픽셀값을 얻으므로, 8개의 주파수 계수에 대하여 총 16개의 픽셀값을 얻는다. 여기서,주파수 계수를 4개를 선택할 지 또는 8개를 선택할 지의 여부는 상기 압축률선택신호(is_qt)에 의해 주파수 변환 전에 선택하게 된다.
75% 역압축인 경우, 2 ×8역변환을 한번 수행한 후 이 값을 2개의 1 ×8 역변환부에 입력하게 된다. 이 때 2개의 1 ×8 역변환부 중 하위의 1 ×8 역변환부는 0을 입력하는 대신 회로를 최적화하여 일부 가감산기를 제거함으로써 하드웨어으로 구성요소를 줄인다. 정변환에서와 마찬가지로 도 16에서의 실선은 가산을, 점선은 감산을, SR은 1 비트 쉬프트 라이트(즉, 1/2 연산)를 각각 의미한다.
여기서, 주파수역변환시의 가산에 있어서는 2 종류의 가산을 사용한다. 즉, 자리수가 같은 수끼리의 가산(빗금치지 않은 가산부호)은 일반적인 가산과 동일한 방식으로 가산하지만, 자리수가 1 비트씩 다른 두 수의 가산(빗금친 가산부호)은 자리수를 맞추기 위해 자리수가 큰 수에 대하여 한번의 쉬프트 라이트를 수행한 후 가산한다. 이 때, 쉬프트 라이트에 의해 버려진 최하위 비트로 인하여 오차가 발생되므로 이 오차를 줄이기 위해 라운딩을 수행한다. 라운딩을 수행하는 방법은, 최하위 비트의 값이 1이면 1을 캐리 입력으로, 0이면 0을 캐리 입력으로 처리하여 평균 오차가 0이 되도록 한다.
주파수역변환된 값은 양자화 오차에 의해 원래 픽셀값의 범위인 0∼255를 벗어날 수 있다. 그러므로, 주파수역변환된 픽셀값에 포화(saturation)과정을 적용함으로써 최종의 픽셀값 (ipix0∼ipix15)를 얻을 수 있다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러가지로치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.
본 발명은 양자화와 라이스 매핑 단계를 통합함으로써 하드웨어의 구현에 필요한 소자수를 감소시킬 뿐만 아니라 패킹과 언패킹을 보다 빠르게 수행할 수 있어 비디오 프레임을 압축/역압축하는 데에 소요되는 속도가 획기적으로 개선된다.
또한, 본 발명을 실제 하드웨어로 구현시에, 적은 면적으로 빠르게 동작할 수 있는 하드웨어이므로 경제적으로 저비용을 구현할 수 있고, 더불어 이를 채용한 영상 처리 시스템의 소요 메모리 양도 1/2 혹은 1/4로 줄임으로써 시스템 비용을 감소 시킬 수 있다.
본 발명에 따른 또 다른 효과는 빠른 하드웨어 구조로 인해 압축과 역압축 과정의 처리 지연 시간이 줄어들어 기존 영상 처리 시스템에 본 압축/역압축 하드웨어를 응용하는데 있어 별다른 수정없이 바로 적용할 수 있는 유리한 점이 있다.

Claims (16)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 비디오 프레임의 압축/역압축을 수행하는 하드웨어 시스템에 있어서,
    압축될 데이터들을 입력받아 정렬하는 압축기입력제어수단;
    정렬된 데이터들에 대하여 1차원 주파수변환을 수행하고, 압축률에 따라 2차원 주파수변환을 선택적으로 수행하는 주파수변환수단;
    주파수 변환된 데이터들을 양자화하는 양자화수단;
    양자화된 결과값들을 골롬 라이스 코딩하고, 골롬 라이스 코딩된 값들과 DC값을 압축 세그먼트에 패킹하는 엔코딩수단; 및
    패킹된 값들을 출력하는 압축기출력제어수단을 포함하며,
    상기 주파수변환수단은
    정렬된 데이터들을 구분하여 가감산을 병렬처리하는 복수개의 1차원주파수변환수단을 포함하는 것을 특징으로 하는 비디오 프레임의 압축 하드웨어 시스템.
  7. 비디오 프레임의 압축/역압축을 수행하는 하드웨어 시스템에 있어서,
    압축될 데이터들을 입력받아 정렬하는 압축기입력제어수단;
    정렬된 데이터들에 대하여 1차원 주파수변환을 수행하고, 압축률에 따라 2차원 주파수변환을 선택적으로 수행하는 주파수변환수단;
    주파수 변환된 데이터들을 양자화하는 양자화수단;
    양자화된 결과값들을 골롬 라이스 코딩하고, 골롬 라이스 코딩된 값들과 DC값을 압축 세그먼트에 패킹하는 엔코딩수단; 및
    패킹된 값들을 출력하는 압축기출력제어수단을 포함하며,
    상기 양자화수단은
    주파수 변환된 데이터들에 대하여 병렬적으로 양자화를 수행하는 것을 특징으로 하는 비디오 프레임의 압축 하드웨어 시스템.
  8. 비디오 프레임의 압축/역압축을 수행하는 하드웨어 시스템에 있어서,
    압축될 데이터들을 입력받아 정렬하는 압축기입력제어수단;
    정렬된 데이터들에 대하여 1차원 주파수변환을 수행하고, 압축률에 따라 2차원 주파수변환을 선택적으로 수행하는 주파수변환수단;
    주파수 변환된 데이터들을 양자화하는 양자화수단;
    양자화된 결과값들을 골롬 라이스 코딩하고, 골롬 라이스 코딩된 값들과 DC값을 압축 세그먼트에 패킹하는 엔코딩수단; 및
    패킹된 값들을 출력하는 압축기출력제어수단을 포함하며,
    상기 양자화수단은
    하위 4비트의 연산 결과값과 상기 하위 4비트 이외의 나머지 상위 비트를 비트와이즈 논리합하는 비트 카운터 수단을 포함하는 것을 특징으로 하는 비디오 프레임의 압축 하드웨어 시스템.
  9. 비디오 프레임의 압축/역압축을 수행하는 하드웨어 시스템에 있어서,
    압축될 데이터들을 입력받아 정렬하는 압축기입력제어수단;
    정렬된 데이터들에 대하여 1차원 주파수변환을 수행하고, 압축률에 따라 2차원 주파수변환을 선택적으로 수행하는 주파수변환수단;
    주파수 변환된 데이터들을 양자화하는 양자화수단;
    양자화된 결과값들을 골롬 라이스 코딩하고, 골롬 라이스 코딩된 값들과 DC값을 압축 세그먼트에 패킹하는 엔코딩수단; 및
    패킹된 값들을 출력하는 압축기출력제어수단을 포함하며,
    상기 엔코딩수단은
    골롬 라이스 코딩을 위하여 입력되는 데이터들에 코머(구분자)를 삽입시키는 코머삽입수단;
    상기 코머가 삽입된 데이터들에 대하여 쉬프트 라이트 함으로써 패킹 가능하도록 정렬하는 배럴쉬프터수단; 및
    정렬된 데이터들을 비트와이즈 논리합하는 비트와이즈 논리합수단
    을 포함하는 것을 특징으로 하는 비디오 프레임의 압축 하드웨어 시스템.
  10. 비디오 프레임의 압축/역압축을 수행하는 하드웨어 시스템에 있어서,
    역압축될 데이터들을 입력받아 정렬하는 역압축기입력제어수단;
    정렬된 데이터들에 대하여 언패킹하고 골롬 라이스 디코딩을 수행하는 디코딩수단;
    디코딩된 데이터들을 역양자화하는 역양자화수단;
    역양자화 및 역라이스매핑된 데이터들에 대하여 압축률에 따라 2차원 주파수 역변환을 선택적으로 수행하고, 1차원 주파수역변환을 수행하는 주파수역변환수단; 및
    주파수 역변환되어 얻어진 최종 역압축된 픽셀로 부터 원하는 픽셀을 선택하여 출력시키는 역압축기출력제어수단
    을 포함하는 것을 특징으로 하는 비디오 프레임의 역압축 하드웨어 시스템.
  11. 비디오 프레임의 압축/역압축을 수행하는 하드웨어 시스템에 있어서,
    역압축될 데이터들을 입력받아 정렬하는 역압축기입력제어수단;
    정렬된 데이터들에 대하여 언패킹하고 골롬 라이스 디코딩을 수행하는 디코딩수단;
    디코딩된 데이터들에 대하여 역양자화와 역라이스매핑을 동일한 절대값 영역에서 수행하는 역양자화수단;
    역양자화 및 역라이스매핑된 데이터들에 대하여 주파수 역변환을 수행하는 주파수역변환수단; 및
    주파수 역변환되어 얻어진 최종 역압축된 픽셀로 부터 원하는 픽셀을 선택하여 출력시키는 역압축기출력제어수단
    을 포함하는 것을 특징으로 하는 비디오 프레임의 역압축 하드웨어 시스템.
  12. 비디오 프레임의 압축/역압축을 수행하는 하드웨어 시스템에 있어서,
    역압축될 데이터들을 입력받아 정렬하는 역압축기입력제어수단;
    정렬된 데이터들에 대하여 언패킹하고 골롬 라이스 디코딩을 수행하는 디코딩수단;
    디코딩된 데이터들을 역양자화하는 역양자화수단;
    역양자화 및 역라이스매핑된 데이터들에 대하여 1차원 및 2차원 주파수 역변환을 수행하는 주파수역변환수단;
    주파수 역변환되어 얻어진 최종 역압축된 픽셀로 부터 원하는 픽셀을 선택하여 출력시키는 역압축기출력제어수단
    을 포함하는 것을 특징으로 하는 비디오 프레임의 역압축 하드웨어 시스템.
  13. 비디오 프레임의 압축/역압축을 수행하는 하드웨어 시스템에 있어서,
    역압축될 데이터들을 입력받아 정렬하는 역압축기입력제어수단;
    정렬된 데이터들에 대하여 언패킹하고 골롬 라이스 디코딩을 수행하는 디코딩수단;
    디코딩된 데이터들에 대하여 역양자화와 역라이스매핑을 동일한 절대값 영역에서 수행하는 역양자화수단;
    역양자화 및 역라이스매핑된 데이터들에 대하여 압축률에 따라 2차원 주파수 역변환을 선택적으로 수행하고, 1차원 주파수역변환을 수행하는 주파수역변환수단;
    주파수 역변환되어 얻어진 최종 역압축된 픽셀로 부터 원하는 픽셀을 선택하여 출력시키는 역압축기출력제어수단
    을 포함하는 것을 특징으로 하는 비디오 프레임의 역압축 하드웨어 시스템.
  14. 비디오 프레임의 압축/역압축을 수행하는 하드웨어 시스템에 있어서,
    역압축될 데이터들을 입력받아 정렬하는 역압축기입력제어수단;
    정렬된 데이터들에 대하여 언패킹하고 골롬 라이스 디코딩을 수행하는 디코딩수단;
    디코딩된 데이터들에 대하여 역양자화와 역라이스매핑을 동일한 절대값 영역에서 수행하는 역양자화수단;
    역양자화 및 역라이스매핑된 데이터들에 대하여 2차원 및 1차원의 주파수 역변환을 수행하는 주파수역변환수단; 및
    주파수 역변환되어 얻어진 최종 역압축된 픽셀로 부터 원하는 픽셀을 선택하여 출력시키는 역압축기출력제어수단
    을 포함하는 것을 특징으로 하는 비디오 프레임의 역압축 하드웨어 시스템.
  15. 제10항 내지 제14항 중 어느 한 항에 있어서, 상기 주파수역변환수단은,
    복수개의 1차원 주파수 역변환수단을 포함하는 것을 특징으로 하는 비디오 프레임의 역압축 하드웨어 시스템.
  16. 제10항 내지 제14항 중 어느 한 항에 있어서, 상기 디코딩수단은
    리딩 제로 카운터를 이용하여 골롬 라이스 코드를 병렬적으로 분리하는 것을 특징으로 하는 비디오 프레임의 역압축 하드웨어 시스템.
KR10-2001-0024613A 2001-05-07 2001-05-07 메모리의 양을 감소시키기 위한 비디오 프레임의압축/역압축 하드웨어 시스템 KR100399932B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR10-2001-0024613A KR100399932B1 (ko) 2001-05-07 2001-05-07 메모리의 양을 감소시키기 위한 비디오 프레임의압축/역압축 하드웨어 시스템
US09/938,855 US6798833B2 (en) 2001-05-07 2001-08-27 Video frame compression/decompression hardware system
DE2002115350 DE10215350A1 (de) 2001-05-07 2002-04-08 Videobild-Komprimierungs/Dekomprimierungs-Hard ware System
JP2002130807A JP2003023635A (ja) 2001-05-07 2002-05-02 ビデオフレームの圧縮及び伸張ハードウェアシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0024613A KR100399932B1 (ko) 2001-05-07 2001-05-07 메모리의 양을 감소시키기 위한 비디오 프레임의압축/역압축 하드웨어 시스템

Publications (2)

Publication Number Publication Date
KR20020085217A KR20020085217A (ko) 2002-11-16
KR100399932B1 true KR100399932B1 (ko) 2003-09-29

Family

ID=19709128

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0024613A KR100399932B1 (ko) 2001-05-07 2001-05-07 메모리의 양을 감소시키기 위한 비디오 프레임의압축/역압축 하드웨어 시스템

Country Status (4)

Country Link
US (1) US6798833B2 (ko)
JP (1) JP2003023635A (ko)
KR (1) KR100399932B1 (ko)
DE (1) DE10215350A1 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990150B2 (en) * 2002-05-14 2006-01-24 Enseo, Inc. System and method for using a High-Definition MPEG decoder to extract multiple Standard Definition frames from a High-Definition frame
JP4375305B2 (ja) * 2004-10-26 2009-12-02 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
US20060256854A1 (en) * 2005-05-16 2006-11-16 Hong Jiang Parallel execution of media encoding using multi-threaded single instruction multiple data processing
US20070110151A1 (en) * 2005-11-14 2007-05-17 Ess Technology, Inc. System and method for video frame buffer compression
TW200727197A (en) * 2006-01-13 2007-07-16 Sunplus Technology Co Ltd Real-time compressing and decompressing graphic system
US7555514B2 (en) * 2006-02-13 2009-06-30 Atmel Corportation Packed add-subtract operation in a microprocessor
CA2666622A1 (en) * 2006-10-20 2008-04-24 Nokia Corporation Generic indication of adaptation paths for scalable multimedia
KR101010938B1 (ko) * 2006-11-14 2011-01-25 니폰덴신뎅와 가부시키가이샤 화상 신호 부호화 방법 및 복호 방법, 정보원 부호화 및 복호 방법, 이들의 장치 및 이들의 프로그램을 기록한 기억 매체
US8406296B2 (en) 2008-04-07 2013-03-26 Qualcomm Incorporated Video refresh adaptation algorithms responsive to error feedback
US8005152B2 (en) 2008-05-21 2011-08-23 Samplify Systems, Inc. Compression of baseband signals in base transceiver systems
TWI387314B (zh) * 2009-03-10 2013-02-21 Univ Nat Central Image processing apparatus and method thereof
TWI385597B (zh) * 2009-11-03 2013-02-11 Teco Elec & Machinery Co Ltd 影像處理方法以及影像處理系統
TWI454150B (zh) * 2011-05-06 2014-09-21 Altek Corp 影像檔案的處理方法
US9445093B2 (en) * 2011-06-29 2016-09-13 Qualcomm Incorporated Multiple zone scanning order for video coding
TWI493977B (zh) * 2011-09-20 2015-07-21 Hannstar Display Corp 影像搜尋模組及其方法
TWI478587B (zh) * 2011-09-30 2015-03-21 Nat Univ Chung Cheng A Fast Method for Predicting Modular Multimedia Video Coding
KR102007050B1 (ko) * 2011-11-03 2019-10-01 선 페이턴트 트러스트 펄스 코드 변조 모드에서 부호화된 블록의 필터링
WO2013067435A1 (en) * 2011-11-04 2013-05-10 Huawei Technologies Co., Ltd. Differential pulse code modulation intra prediction for high efficiency video coding
JP5871628B2 (ja) 2011-11-07 2016-03-01 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP2013102297A (ja) * 2011-11-07 2013-05-23 Canon Inc 画像符号化方法、画像符号化装置及びプログラム、画像復号方法、画像復号装置及びプログラム
TWI482501B (zh) * 2012-01-05 2015-04-21 Ambarella Taiwan Ltd 可調性視訊多層編碼控制快速決策模式演算法
WO2013153820A1 (en) * 2012-04-11 2013-10-17 Sharp Kabushiki Kaisha Golomb-rice/eg coding technique for cabac in hevc
PL2838261T3 (pl) * 2012-04-12 2020-11-30 JVC Kenwood Corporation Urządzenie do dekodowania wideo, sposób dekodowania wideo, program dekodujący wideo
US9215296B1 (en) 2012-05-03 2015-12-15 Integrated Device Technology, Inc. Method and apparatus for efficient radio unit processing in a communication system
CN103428486B (zh) * 2012-05-24 2017-06-09 富士通株式会社 图像压缩方法和装置
CN103581674A (zh) * 2012-08-07 2014-02-12 上海算芯微电子有限公司 视频数据的压缩/解压缩方法及***
US9372692B2 (en) * 2012-12-29 2016-06-21 Intel Corporation Methods, apparatus, instructions, and logic to provide permute controls with leading zero count functionality
US9203933B1 (en) * 2013-08-28 2015-12-01 Integrated Device Technology, Inc. Method and apparatus for efficient data compression in a communication system
US9553954B1 (en) 2013-10-01 2017-01-24 Integrated Device Technology, Inc. Method and apparatus utilizing packet segment compression parameters for compression in a communication system
US9485688B1 (en) 2013-10-09 2016-11-01 Integrated Device Technology, Inc. Method and apparatus for controlling error and identifying bursts in a data compression system
US9398489B1 (en) 2013-10-09 2016-07-19 Integrated Device Technology Method and apparatus for context based data compression in a communication system
US9313300B2 (en) 2013-11-07 2016-04-12 Integrated Device Technology, Inc. Methods and apparatuses for a unified compression framework of baseband signals
CN103686173B (zh) * 2014-01-09 2017-03-01 英特尔公司 变换与反变换电路
KR102099626B1 (ko) 2014-08-20 2020-04-10 한국전자통신연구원 부호화 장치 및 방법
WO2019005165A1 (en) 2017-06-30 2019-01-03 Intel Corporation METHOD AND APPARATUS FOR VECTORIZING INDIRECT UPDATING BUCKLES

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0147758B1 (ko) 1995-09-25 1998-12-01 이준 Mpeg-2 오디오 복호화기의 합성 필터
US5960116A (en) * 1995-11-02 1999-09-28 Canon Kabushiki Kaisha Image processing apparatus and method for performing prediction data encoding
EP0778709B1 (en) 1995-12-04 2001-05-23 STMicroelectronics S.r.l. MPEG-2 decoding with a reduced RAM requisite by ADPCM recompression before storing MPEG decompressed data
DE69614500T2 (de) 1996-02-27 2001-11-22 St Microelectronics Srl Speicherverminderung für das Grundprofil und die Hauptebene eines MPEG-2-Dekoders
US6002438A (en) 1996-10-25 1999-12-14 Texas Instruments Incorporated Method and apparatus for storing decoded video information
US5929911A (en) 1997-10-27 1999-07-27 International Business Machines Corporation Multiformat reduced memory MPEG-2 compliant decoder
JP2000115783A (ja) * 1998-10-06 2000-04-21 Canon Inc 復号化装置及び方法
US6704718B2 (en) * 2001-06-05 2004-03-09 Microsoft Corporation System and method for trainable nonlinear prediction of transform coefficients in data compression

Also Published As

Publication number Publication date
US20020163965A1 (en) 2002-11-07
DE10215350A1 (de) 2002-11-14
US6798833B2 (en) 2004-09-28
KR20020085217A (ko) 2002-11-16
JP2003023635A (ja) 2003-01-24

Similar Documents

Publication Publication Date Title
KR100399932B1 (ko) 메모리의 양을 감소시키기 위한 비디오 프레임의압축/역압축 하드웨어 시스템
US6219457B1 (en) Method and system for decoding data encoded in a variable length code word
US6014095A (en) Variable length encoding system
Lee A new frame-recompression algorithm and its hardware design for MPEG-2 video decoders
KR100801364B1 (ko) 산술부호의 복호기 또는 부호화기와 역2치화 변환기 또는2치화 변환기의 사이에 중간 버퍼가 삽입된 복호장치 또는부호화 장치
US6285796B1 (en) Pseudo-fixed length image compression scheme
JP3888597B2 (ja) 動き補償符号化装置、及び動き補償符号化復号化方法
JPH07262175A (ja) 関数変換演算装置
WO1995014350A1 (en) Quadtree-structured walsh transform coding
GB2542511A (en) Data compression
US7953285B2 (en) Method and circuit of high performance variable length coding and decoding for image compression
WO2007066121A2 (en) Decoding data
KR102123620B1 (ko) 대용량 병렬 처리를 위해 비디오 신호를 엔트로피 인코딩 또는 엔트로피 디코딩하는 방법 및 장치
JP2000503512A (ja) 可変長復号化
CN110896483A (zh) 压缩和解压缩图像数据的方法
Pastuszak Multisymbol architecture of the entropy coder for H. 265/HEVC video encoders
Lee et al. An effective algorithm and architecture for the high-throughput lossless compression of high-resolution images
KR20050012763A (ko) 비스케일러블 대 스케일러블 비디오 전환 방법,스케일러블 대 비스케일러블 비디오 전환 방법
US5966470A (en) Coding apparatus for image compression
JP2000114974A (ja) 符号化装置
KR100191318B1 (ko) 고속의 동벡터 복호회로
US6594398B1 (en) Method and apparatus for run-length encoding video data
KR0154011B1 (ko) 가변길이 복호화 장치
US6339614B1 (en) Method and apparatus for quantizing and run length encoding transform coefficients in a video coder
KR0178746B1 (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
LAPS Lapse due to unpaid annual fee