KR20040018400A - Golomb-rice 코딩을 사용한 dct 압축 - Google Patents

Golomb-rice 코딩을 사용한 dct 압축 Download PDF

Info

Publication number
KR20040018400A
KR20040018400A KR10-2003-7017099A KR20037017099A KR20040018400A KR 20040018400 A KR20040018400 A KR 20040018400A KR 20037017099 A KR20037017099 A KR 20037017099A KR 20040018400 A KR20040018400 A KR 20040018400A
Authority
KR
South Korea
Prior art keywords
data
zero
encoding
function
value
Prior art date
Application number
KR10-2003-7017099A
Other languages
English (en)
Other versions
KR100926381B1 (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 콸콤 인코포레이티드
Publication of KR20040018400A publication Critical patent/KR20040018400A/ko
Application granted granted Critical
Publication of KR100926381B1 publication Critical patent/KR100926381B1/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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • 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/124Quantisation
    • 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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
    • 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/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 양자화된 주파수로 표현된 데이터를 인코딩하기 위한 장치 및 방법에 관한 것으로, 상기 데이터는 제로 및 비제로로 표현된 데이터이다. 제로로 표현된 데이터에 대해, 제로 런 랭스가 결정된다. Golomb 파라미터가 제로 런 랭스의 함수로서 결정된다. 몫이 제로 런 랭스 및 Golomb 파라미터의 함수로서 인코딩된다. 나머지가 제로 런 랭스, Golomb 파라미터 및 몫의 함수로서 인코딩된다. 코딩된 몫 및 코딩된 나머지가 연관된다. 비제로로 표현된 데이터에 대해, 비제로 데이터는 비제로 데이터 값 및 비제로 데이터 값의 부호의 함수로서 인코딩된다.

Description

GOLOMB-RICE 코딩을 사용한 DCT 압축 {DCT COMPRESSION USING GOLOMB-RICE CODING}
디지털 화상(picture) 처리는 디지털 신호 처리의 일반적 분야에서 독보적인 위치를 차지하고 있다. 인간의 시각 지각력의 중요성이 디지털 화상 처리 분야 및 학문에서 지대한 관심과 발전을 이끌어왔다. 영화를 투사하는데 사용되는 것과 같은 비디오 신호의 전송 및 수신 분야에서, 영상 압축 기술에 대한 여로 개선이 있어왔다. 많은 현재의 제안된 비디오 시스템은 디지털 인코딩 기술을 사용하게 하였다. 이러한 분야의 특징으로 영상 코딩, 영상 복원 및 영상 특징부(feature) 선택이 있다. 영상 코딩은 효율적인 방식으로 디지털 통신 채널의 화상을 전송하고 하며, 요구된 대역폭을 최소화할 수 있을 만큼 적은 비트를 사용하지만 동시에 특정 제한내에서의 왜곡을 유지한다. 영상 복원은 물체의 실상을 복원하고자 하는 것이다. 통신 채널을 통해 전송된 코딩된 영상은 여러 요인에 의해 왜곡된다. 저하의 원인은 물체로부터 영상을 형성하는데 본질적으로 발생한다. 특징부 선택은 화상의 특정 특성(attribute)을 선택하는 것을 일컫는다. 이러한 특성은 광범위한영역에서 인식, 분류, 및 결정을 필요로 한다.
디지털 카메라에서와 같이 비디오의 디지털 인코딩은 개선된 영상 압축 기술로부터 이점을 얻게 된다. 디지털 영상 압축은 일반적으로 두 카테고리: 저손실성 및 손실성 방법으로 분류된다. 저손실성 영상은 정보에 대한 어떠한 손실없이 복원된다. 손실성 방법은 압출비율, 압축 알고리즘의 품질 및 알고리즘의 구현에 따라 몇몇 정보에 대한 복원불가능한 손실을 가진다. 일반적으로, 손실성 압축 방법은 비용효율적인 디지털 시네마 방법에서 요구되는 압축비율을 달성하기 위해 고려된다. 디지털 시네마 품질 레벨을 달성하기 위해, 압축 방법은 가시적으로 저손실 레벨의 성능을 제공하여야 한다. 이와 같이, 압축 과정의 결과로 인해 정보에 수학적 손실이 있지만, 이러한 손실로 인한 영상 왜곡은 정상적인 시청 조건하의 시청자에게는 지각되지 않아야 한다.
현존하는 디지털 영상 압축 기술은 다른 응용 즉, 텔레비전 시스템에 대해서도 개발되어 왔다. 이러한 기술은 원하는 응용에 적절하도록 설계상 절충되어 왔지만, 시네마 표현에서 요구되는 품질 요구에는 충족되지 않는다.
디지털 시네마 압축 기술은 영화관람객이 이전에 경험했던 가시적 품질을 제공해야 한다. 이상적으로, 디지털 시네마의 가시적 품질은 고품질 개봉영화 필름의 가시적 품질을 초과하여야 한다. 동시에, 압축 기술은 실행시 높은 코딩 효율성을 가져야만 한다. 여기서 설명된 바와 같이, 코딩 효율성은 특정 정성적 레벨을 충족시키기 위해 압축된 영상 품질에 대해 필요한 비트율을 일컫는다. 더욱이, 시스템 및 코딩 기술은 다른 포맷을 수용할 수 있도록 내재적 융통성을 가져야 하며 비용효율성을 가져야 한다; 즉, 소형 및 효율적인 디코더 또는 인코더 처리.
많은 압축기술들을 이용하여 상당한 레벨로 압축할 수 있지만, 비디오 신호의 품질을 저하시키게 된다. 통상, 압축된 정보를 전송하는 기술들은 압축된 정보를 일정한 비트율로 전송하여야 한다.
비디오 신호들의 소망의 품질 레벨을 유지하면서 상당한 레벨들로 압축할 수 있는 하나의 압축 기술은 인코딩된 DCT (Discrete Cosine Transform) 계수 데이터의 적응형 크기의 블록들 및 서브블록들을 이용한다. 이하, 이러한 기술을 ABSDCT (Adaptive Block Size Discrete Cosine Transform) 방식이라 지칭한다. 이러한 기술은 발명의 명칭이 'Adaptive Block Size Image Compression Method And System'으로, 본 발명의 양수인에게 양도되며 여기서 참조되는 미국 특허 제 5,021,891 호에 기재되어 있다. 또한, DCT 기술들은 발명의 명칭이 'Adaptive Block Size Image Compression Method And System' 으로 본 발명의 양수인에게 양도되며 여기서 참조되는 미국 특허 제 5,107,345 호에 기재되어 있다. 또한, 차분 4진 트리 변환 기술과 함께 ABSDCT 기술을 사용한다는 내용은 발명의 명칭이 'Adaptive Block Size Image Compression Method And System' 으로 본 발명의 양수인에게 양도되며 여기서 참조되는 미국 특허 제 5,452,104 호에 기재되어 있다. 이러한 특허들에 기재되어 있는 시스템들은 '인트라-프레임' 인코딩으로 지칭되는 것을 이용하며, 각각의 프레임의 영상 데이터는 임의의 다른 프레임의 내용에 상관없이 인코딩된다. ABSDCT 기술을 이용하여, 영상 품질의 저하를 인식함 없이 성취가능한 데이터율을 대략 초당 15 억 비트에서 부터 대략 초당 5 천만비트로 감소시킬 수 있다.
흑백 또는 컬러 영상 또는 그 영상을 나타내는 신호 중 어느 하나를 압축하는데 ABSDCT 기술을 사용할 수도 있다. 컬러 입력 신호는 YIQ 포맷으로 존재하며, 각각의 4 ×4 블록의 화소들에 대하여 Y 는 광도 즉, 휘도 샘플이고, I 및 Q 는 색도 즉, 칼라 샘플들을 나타낸다. 또한, YUV, YCbCy 또는 RGB 포맷들과 같은 다른 공지의 포맷들을 사용할 수도 있다. 칼라에 대한 눈의 공간 감도가 낮기 때문에, 대부분의 연구에서는 4 개의 인자에 의해 수평 및 수직 방향들로 칼라 성분들을 서브-샘플링하는 것이 적절하다는 사실을 나타내고 있다. 따라서, 비디오 신호는 4 개의 휘도 성분 및 2 개의 색도 성분에 의해 표현될 수도 있다.
ABSDCT 기술을 이용하여, 비디오 신호를 일반적으로 처리용 화소들의 블록들로 분할할 수 있다. 각 블록에 대하여, 휘도 및 색도 성분을 블록 인터리버로 전달한다. 예를 들어, 16 ×16 (화소) 블록을 블록 인터리버로 제공할 수 있고, 이는 각각의 16 ×16 블록내의 영상 샘플들을 정렬하거나 조직화하여 DCT 분석을 위한 데이터의 블록들 및 합성 서브-블록들을 생성한다. DCT 오퍼레이터는 시간 및 공간 샘플화된 신호를 동일한 신호의 주파수 표현으로 변환하는 하나의 방식이다. 주파수 표현으로 변환함으로써, 영상의 주파수 분배 특성들을 이용하여 양자화기들을 설계할 수 있으므로, 매우 높은 레벨들로 압축할 수 있는 DCT 기술들을 제공할 수 있다. 바람직한 실시예에서, 하나의 16 ×16 DCT 를 제 1 순위로 적용하고, 4 개의 8 ×8 DCT 를 제 2 순위로 적용하고, 16 개의 4 ×4 DCT 를 제 3 순위로 적용하고, 그리고 64 개의 2 ×2 DCT 를 제 4 순위로 적용한다.
DCT 동작은 비디오 소스에 내재된 공간 리던던시를 감소시킨다. DCT 를 수행한 후, 대부분의 비디오 신호 에너지를 소수의 DCT 계수들로 집중시킬 수 있다. DCT 계수들 사이의 리던던시를 감소시키는데 부가적인 변환 즉, DQT (Differential Quad-Tree Transform) 를 이용할 수 있다.
16 ×16 블록 및 각각의 서브-블록에 대하여, DCT 계수값들 및 DQT 값 (만일 DQT 를 사용하는 경우에) 을 분석하여 블록 또는 서브-블록을 인코딩하는데 필요한 비트수를 결정한다. 그 후, 인코딩하기 위한 최소 개수의 비트를 필요로 하는 블록 또는 서브-블록들의 결합체를 선택하여 영상 세그먼트를 나타낸다. 예를 들어, 2 개의 8 ×8 블록, 6 개의 4 ×4 서브-블록들, 및 8 개의 2 ×2 서브-블록들을 선택하여 영상 세그먼트를 나타낸다.
그 후, 선택된 블록 또는 서브-블록들의 결합체를 16 ×16 블록으로 적절히 순서대로 배열한다. 그 후, DCT/DQT 계수 값들을 전송에 대비하여 주파수 가중화, 양자화, 및 인코딩 (가변 랭스 인코딩 등) 처리할 수 있다. 상술한 ABSDCT 기술을 매우 잘 수행하더라도, 이는 계산 집중적인 것으로 된다. 따라서, 이러한 기술로 조밀한 하드웨어를 구현하기는 어렵게 된다.
가변 랭스의 코딩이 런 랭스 및 크기 형태로 달성되었다. JPEG(Joint Photographic Experts Group) 또는 MPEG-2(Moving Picture Expert Group)과 같은 다른 압축 방법은 전체 처리된 블록 크기에 대해 표준 지그재그 스캔 방법을 사용한다. 하지만, ABSDCT를 사용하면, 데이터 블록내 분산에 기초하여 다른 블록 크기가 생성된다. Huffman 코드와 같은 몇몇 코딩 방법은 비제로 계수에 의한 제로런(run)으로 구성된다. 하지만, Huffman 코드는 소스 심볼의 확률이 2의 음의 거듭제곱일 때 더욱 적합하다. 하지만, 런-랭스/크기의 경우, 심볼 확률은 2의 음의 거듭제곱일 수 없다.
더욱이, Huffman 코딩은 저장된 사전-계산된 코드 워드의 코드북을 필요로 한다. 코드북의 크기는 커서는 안된다. 또한, 최장 코드 워드 또한 길어서는 안된다. 따라서, 런-랭스/크기 쌍 심볼에 대한 Huffman 코딩의 사용은 효율적이지 않다.
본 발명은 영상(image) 처리 및 압축에 관한 것이다. 특히, 본 발명은 Golomb-Rice를 사용한 DCT 계수 코딩에 관한 것이다.
도 1은 영상 압축 및 처리 시스템의 인코더 부분의 블록도.
도 2는 영상 압축 및 처리 시스템의 디코더 부분의 블록도.
도 3은 분산 기반 블록 크기 할당과 관련된 처리 단계를 도시하는 순서도.
도 4a는 DCT 계수 행렬내 제로 런-랭스의 Y 성분의 지수함수 분포를 도시하는 도면.
도 4b는 DCT 계수 행렬내 제로 런-랭스의 Cb의 지수함수 분포를 도시하는 도면.
도 4c는 DCT 계수 행렬내 제로 런-랭스의 Cr의 지수함수 분포를 도시하는 도면.
도 5a는 DCT 게수 행렬내 Y 성분의 지수함수 분포를 도시하는 도면.
도 5b는 DCT 계수 행렬내 진폭 크기의 Cb의 지수함수 분포를 도시하는 도면.
도 5c는 DCT 계수 행렬내 진폭 크기의 Cr의 지수함수 분포를 도시하는 도면.
도 6은 Golomb-Rice 인코딩 처리를 도시하는 도면.
도 7은 Golomb-Rice 인코딩을 위한 장치를 도시하는 도면.
압축을 달성하기 위해 저손실성 방식으로 양자화된 DCT 계수의 런-랭스 및 진폭을 인코딩하는 장치 및 방법이 개시된다. 특히, Golomb-Rice 코딩이 양자화 이후 DCT 계수의 제로 런 및 비제로 진폭을 인코딩하는데 사용된다. Golomb-Rice 코딩과 같은 데이터의 지수함수 분포를 사용하는 방식을 사용하는 것은 대안적인 방식보다 높은 코딩 효율을 허용한다.
본 발명은 DCT 계수 데이터의 적응가능한 크기의 블록들 및 서브-블록들과, 품질 기반 양자화 스케일 인자를 이용하는 품질 기반 영상 압축 시스템 및 방법에 관한 것이다. 화소 데이터의 블록을 인코더에 입력한다. 인코더는 처리용 화소들의 입력 블록을 분할하는 BSA (block size assignment) 엘리먼트를 구비한다. BSA 는 입력 블록의 분산들에 기초하며, 추가적으로 블록들을 세분한다. 통상, 블록 및 서브-블록의 평균값들이 서로 다른 소정의 범위에 있는 경우에, 더 큰 분산들을 가지는 영역들을 더 작은 블록들로 세분하며, 더 작은 분산들을 가지는 영역들은 세분하지 않는다. 따라서, 먼저 블록의 분산 임계값을 그 평균값에 따라 공칭값으로부터 변경시킨 후, 블록의 분산을 임계값과 비교하고, 그 분산이 임계값보다 더 큰 경우에, 그 블록을 세분한다.
BSA 엘리먼트에는 변환 엘리먼트가 제공되며, 이는 화소 데이터를 주파수 영역 데이터로 변환한다. BSA 엘리먼트를 통하여 선택된 블록 및 서브-블록들에서만 변환을 수행한다. 그 후, 변환 데이터를 양자화 및 직렬화를 통하여 스케일링한다. 변환 데이터의 양자화는 콘트라스트, 계수 합계, 레이트 왜곡, 블록 크기 할당의 밀도에 대하여 조종가능한 스케일 인자, 및/또는 이전의 스케일 인자들과 같은 영상 품질 메트릭에 기초하여 양자화된다. 지그재그 스캐닝과 같은 직렬화가 동일한 값의 가능한 최장 런 랭스를 생성하는 것에 기초한다. 데이터 스트림은 전송을 위해 준비된 가변 랭스 코더에 의해 코딩된다. Golomb-Rice 인코딩되는 것과 같은 지수함수에 기초한 코딩이 사용된다. 특히, 제로로 표현된 데이터에 대해, 제로 런 랭스가 결정된다. Golomb 파라미터가 제로 런 랭스의 함수로서 결정된다. 몫은 제로 런 랭스 및 Golomb 파라미터의 함수로서 인코딩된다. 나머지는 제로 런 랭스, Golomb 파라미터 및 몫의 함수로서 인코딩된다. 코딩된 몫과 코딩된 나머지는 연관된다. 비제로로 표현된 데이터에 대해, 비제로 데이터는 비제로 데이터 값 및 비제로 데이터 값의 부호의 함수로서 인코딩된다. 인코딩된 데이터는 전송 채널을 통해 디코더로 전송되고, 여기서 화소 데이터가 디스플레이를 준비하기 위해 재구성된다.
따라서, 일 실시예의 특징은 선험적인 코드 생성을 요구하지 않는다.
일 실시예의 다른 특징은 저장된 광범위한 코드북의 사용을 요구하지 않는다.
일 실시예의 또다른 특징은 하드웨어 구현에 필요한 크기를 감소시킨다.
일 실시예의 또다른 특징은 높은 코딩 효율을 달성하는 것이다.
일 실시예의 또다른 특징은 DCT 데이터의 지수함수 분포를 사용한다.
이하, 본 발명의 특징 및 이점들을 첨부 도면을 통하여 상세히 설명하며, 도면 중 동일한 도면부호들은 동일한 구성요소를 나타낸다.
디지털 신호들의 디지털 전송을 용이하게 하고, 해당 이점들을 얻기 위하여, 통상적으로 몇몇의 신호 압축 형태를 사용할 필요가 있다. 결과적인 영상에서 고압축을 성취하기 위하여, 영상의 품질을 높게 유지하는 것도 또한 중요하다. 또한, 조밀한 하드웨어를 구현하기 위한 계산을 효율적으로 해야 하며, 이는 많은 애플리케이션들에 있어서 중요하다.
본 발명의 일 실시예를 상세히 설명하기 전에, 본 발명은 다음의 상세한 설명부에 설명되거나 도면에 예시되는 구성요소들의 배열 및 구조의 세부사항들로 본 발명의 애플리케이션이 한정되지 않음을 이해하여야 한다. 본 발명은 다른 실시예들로 구현될 수 있고, 다양한 방식들로 수행될 수 있다. 또한, 여기에서 사용되는 문구 및 용어는 설명을 위한 것이며, 제한적인 것으로 간주해서는 안된다.
본 발명의 영상 압축 기술은, 명칭이 'Contrast Sensitive Variance Based Adaptive Block Size DCT Image Compression' 으로 1999 년 11월 8 일에 출원되어 본 발명의 양수인에게 양도되며, 여기에 참조되는 공동계류중인 미국 특허 출원 제 09/436,085 호에 기재되는 DCT 기술들에 기초한다. DCT를 사용하는 영상 압축 및 압축해제 시스템은 명칭이 "Quality Based Image Compression"으로 2000년 1월 28일 출원되어 본 발명의 양수인에게 양도되며, 여기서 참조되는 공동계류중인 미국 특허 출원 제 09/494,192호에 기재되어 있다. 통상, 디지털 영역에서 처리될 영상은 N ×N 크기의 오버래핑되지 않은 블록들의 어레이로 분할되는 화소 데이터로 이루어 진다. 각각의 블록에 대하여 2 차원 DCT를 수행할 수 있다. 2 차원 DCT 는 다음의 관계식에 의해 규정된다.
여기서,
x(m,n) 은 N ×M 블록내의 위치 (m,n) 에서의 화소이며, 그리고
X(k,l) 은 대응하는 DCT 계수이다.
화소 값들이 음이 아니므로, DCT 성분 X(0,0) 은 항상 양이며, 통상적으로 최대 에너지를 가진다. 실제로, 대표적인 영상들에 있어서, 대부분의 변환 에너지는 X(0,0) 성분 주변에 집중된다. 이러한 에너지 밀집 특성으로 인해 매력적인 압축 방법으로 DCT 기술을 사용한다.
영상 압축 기술은 콘트라스트 적응형 코딩을 이용하여 추가적으로 비트율을 감소시킨다. 대부분의 자연 영상들은 비교적 느리게 변화하는 사용빈도가 낮은 영역들, 및 오브젝트 경계 및 높은 콘트라스트 텍스쳐와 같은 사용빈도가 높은 영역들로 구성된다고 관찰하였다. 콘트라스트 적응형 코딩 방식들은 사용빈도가 높은 영역들에는 더 많은 비트들을 할당하고, 사용빈도가 낮은 영역들에는 적은 비트들을 할당함으로써 이러한 인자를 이용한다.
콘트라스트 적응형 방식들은 인터프레임 코딩 (시간 및 공간 처리) 대신에 인트라프레임 코딩 (공간 처리) 을 이용한다. 인터프레임 코딩은 본질적으로 더 많은 복잡한 처리 회로들 이외에 다수의 프레임 버퍼들을 필요로 한다. 많은 애플리케이션들에 있어서, 실제로 구현하기 위해서는 복잡성을 감소시켜야 한다. 또한, 인트라프레임 코딩은 시공간 코딩 방식을 브레이크 다운시키거나 불완전하게 수행하게 하는 상황에서 유용하게 된다. 예를 들어, 기계적인 셔터에 의해 통합 시간이 비교적 짧게 되므로, 초 당 24 프레임의 영화가 이러한 카테고리에 들어간다. 짧은 통합 시간은 일시적인 에일리어싱의 정도를 더 높게 한다. 프레임간의 상관 관계로는 저키(jerky) 가 되는 빠른 움직임을 브레이크 다운시킨다고 가정한다. 또한, 50 ㎐ 및 60 ㎐ 의 전력선 주파수를 포함하는 경우에, 인트라프레임 코딩을 표준화하기가 더 쉬워진다. 일반적으로, 텔레비젼은 50 ㎐ 또는 60 ㎐ 로 신호들을 전송한다. 디지털 접근방식인, 인트라프레임 방식을 사용하면 프레임율 대 공간 해상도를 트레이드 오프시킴에 의해 50 ㎐ 및 60 ㎐ 의 동작으로 적응시키거나, 초당 24 프레임의 영화로도 적응시킬 수 있다.
영상 처리를 위하여, 오버래핑되지 않은 블록들의 어레이로 분할되는 화소 데이터상에 DCT 동작을 수행한다. 여기에서 블록 크기들이 N ×N 의 크기로 설명되지만, 다양한 블록 크기들을 사용할 수 있음을 알 수 있다. 예를 들어, N ×M 블록 크기를 이용할 수 있으며, 여기서 N 및 M 은 정수이며, M 은 N 보다 더 크거나 N 보다 작다. 또 다른 중요한 특징은 블록이 N/i×N/i, N/i×N/j, N/i×M/j 등과 같이 적어도 하나의 서브-블록 레벨로 분할될 수 있다는 것이다. 또한, 여기서 설명되는 바와 같은 예시적인 블록 크기는 DCT 계수들의 해당 블록 및 서브-블록들의 가지는 16 ×16 화소 블록이다. 또한, 우수 또는 기수의 정수값들과 같은 다양한 다른 정수값들을 예를 들어 9 × 9 화소 블록에서 사용할 수 있음을 알 수 있다.
도 1 및 도 2는 구성가능한 직렬화기의 개념과 통합된 영상 처리 시스템(100)을 도시한다. 영상 압축 시스템(100)은 수신된 비디오 신호를 포함하는 인코더(104)를 포함한다. 압축된 신호는 전송 채널 (108) 을 통하여 전송되어, 디코더 (112) 에 의해 수신된다. 디코더 (112) 는 수신된 신호를 영상 샘플들로 디코딩한 후, 이를 디스플레이 한다.
통상, 영상은 처리용 화소 블록들로 분할된다. 칼라 신호는 RGB/YC1C2변환기 (116) 를 이용하여 RGB 공간으로부터 YC1C2공간으로 변환될 수 있으며, 여기서 Y 는 광도 즉, 휘도 성분이며, C1및 C2는 색도 즉, 칼라 성분이다. 칼라에 대한 눈의 공간 감도가 낮기 때문에, 많은 시스템들은 4 개의 인자에 의해 수직 및 수평 방향들로 C1및 C2성분들을 서브-샘플링한다. 그러나, 서브-샘플링을 반드시 할 필요는 없다. 4:4:4 포맷으로 알려진 풀 해상도 영상은 '디지털 영화'를 커버링하는 것으로 지칭되는 것과 같은 일부 애플리케이션들에서 매우 유용하게 되거나 필수적인 것이 될 수 있다. 실행가능한 2 개의 YC1C2표현은 YIQ 표현과 YUV 표현이며, 이들 모두는 당해분야에 공지되어 있다. 또한, YCbCr 로 공지된 YUV 표현의 분산을 이용할 수도 있다. 이는 홀수 및 짝수 성분으로 분해된다. 따라서, 일 실시예에서, Y-짝수, Y-홀수, Cb-짝수, Cb-홀수, Cr-짝수, Cr-홀수의 표현이 사용된다.
바람직한 실시예에서, 짝수 및 홀수 Y, Cb, 및 Cr 성분들 각각은 서브-샘플링없이 처리된다. 따라서, 16 ×16 블록의 화소들의 각 성분이 인코더 (104) 에 입력된다. 예시를 위하여, Y 성분에 대한 인코더 (104) 를 나타내었다. 유사한 인코더들을 Cb 및 Cr 성분들에 사용할 수 있다. 인코더 (104) 는 비디오 압축에 대비하여 블록 크기 할당을 수행하는 블록 크기 할당 엘리먼트 (120) 를 구비한다. 이 블록 크기 할당 엘리먼트 (120) 는 블록내의 영상의 지각 특성들에 기초하여 16 ×16 블록을 분해할 것인지를 결정한다. 블록 크기 할당 엘리먼트는 16 ×16 블록내의 활동에 따라 각각의 16 ×16 블록을 4 진 트리 방식의 더 작은 블록들로 세분한다. 블록 크기 할당 엘리먼트 (120) 는 PQR 데이터로 지칭되는 4 진 트리 데이터를 생성하며, 이는 1 과 21 비트 사이의 랭스를 갖는다. 따라서, 16 ×16 블록을 분할하는 것으로 블록 크기 할당을 하기로 하면, PQR 데이터의 R 비트가 설정되고, 4 개로 분할된 8 ×8 블록에 대응하여 Q 데이터의 4 개의 부가적인 비트들이 후속한다. 임의의 8 ×8 블록들을 세분하는 것으로 블록 크기 할당을 하기로 하면, 세분된 각각의 8 ×8 블록에 대하여 P 데이터의 4 개의 부가적인 비트들이 부가된다.
도 3 을 참조하면, 블록 크기 할당 엘리먼트 (120) 의 동작의 세부사항들을나타내는 흐름도가 제공된다. 블록을 세분하기 위한 결정에 있어서 블록의 분산을 메트릭으로서 사용한다. 단계 202 에서 시작하여, 16 ×16 블록의 화소들을 판독한다. 단계 204 에서, 16 ×16 블록의 분산 즉, v16 을 계산한다. 그 분산은 다음의 수학식에 의해 계산된다.
여기서, N = 16 이고, xi,j는 N ×N 블록내의 i 번째 행, j 번째 열에 있는 화소이다. 단계 206 에서, 블록의 평균값이 2 개의 소정값들내에 있는 경우에, 먼저 분산 임계값 T16 을 변경하여 새로운 임계값 T'16 을 제공한 후, 블록 분산을 새로운 임계값 T'16 과 비교한다.
분산 v16 이 임계값 T16 보다 작은 경우에, 단계 208에서, 16 ×16 블록의 개시 어드레스를 임시 저장장치에 기록하고, 16 ×16 블록을 세분하지 않을 것을 나타내기 위하여 PQR 데이터의 R 비트를 0 으로 설정한다. 그 후, 알고리즘은 다음의 16 ×16 블록의 화소들을 판독한다. 분산 v16 이 임계값 T16 보다 더 큰 경우에, 단계 210 에서, 16 ×16 블록을 4 개의 8 ×8 블록들로 세분할 것임을 나타내기 위하여 PQR 데이터의 R 비트를 1 로 설정한다.
단계 212 에 나타낸 바와 같이, i=1:4 인 4 개의 8 ×8 블록은 순차적으로 더 세분되는 것으로 간주된다. 단계 214 에서, 각 8 ×8 블록에 대하여, 분산 v8i를 계산한다. 단계 216 에서, 블록의 평균값이 2 개의 소정값들내에 있는 경우에,먼저 분산 임계값 T8 를 변경하여 새로운 임계값 T'8 을 제공한 후, 블록 분산을 이 새로운 임계값과 비교한다.
분산 v8i이 임계값 T8 보다 작은 경우에, 단계 218 에서, 8 ×8 블록의 개시 어드레스를 임시 저장장치에 기록하고, 대응하는 Q 비트 즉, Qi 를 0 으로 설정한다. 그 후, 다음의 8 ×8 블록을 처리한다. 분산 v8i이 임계값 T8 보다 더 큰 경우에, 단계 220 에서, 8 ×8 블록을 4 개의 4 ×4 블록들로 세분할 것임을 나타내기 위하여 대응하는 Q 비트 즉, Qi를 1 로 설정한다.
단계 222 에 나타낸 바와 같이, i=1:4 인 4 개의 4 ×4 블록은 순차적으로 더 세분되는 것으로 간주된다. 단계 224에서, 각 4 ×4 블록에 대하여, 분산 v4ij를 계산한다. 단계 226 에서, 블록의 평균값이 2 개의 소정값들 내에 있는 경우에, 먼저 분산 임계값 T4 를 변경하여 새로운 임계값 T'4 를 제공한 후, 블록 분산을 이 새로운 임계값과 비교한다.
분산 v4ij가 임계값 T4 보다 작은 경우에, 단계 228 에서, 4 ×4 블록의 어드레스를 기록하고, 대응하는 P 비트 즉, Pij를 0 으로 설정한다. 그 후, 다음 4 ×4 블록을 처리한다. 분산 v4ij가 임계값 T4 보다 더 큰 경우에, 단계 230 에서, 4 ×4 블록을 4 개의 2 ×2 블록들로 세분할 것임을 나타내기 위하여 대응하는 P 비트 즉, Pij를 1 로 설정한다. 또한, 4 개의 2 ×2 블록들의 어드레스를 임시 저장장치에 기록한다.
임계값 T26, T8, 및 T4 는 소정의 상수일 수 있다. 이는 고정된 것으로 이해해야 한다. 선택적으로, 적응형 또는 소프트 결정을 구현할 수도 있다. 예를 들어, 소프트 결정이 2N ×2N 블록들의 평균 화소값에 따라 분산들에 대한 임계값을 변경시키며, 여기서 N 은 8, 4, 또는 2 일 수 있다. 따라서, 평균 화소값들의 함수를 임계값들로 사용할 수 있다.
예시를 위하여, 다음의 예를 생각해 보자. Y 성분에 대한 소정의 분산 임계값들을 각각 16 ×16, 8 ×8, 및 4 ×4 블록들에 대하여 50, 110, 및 880 으로 설정한다. 즉, T16 = 50, T8 = 1100, 및 T4 = 880 이다. 평균 값들의 범위는 80 내지 100 으로 한다. 16 ×16 블록에 대하여 계산된 분산은 60 이라고 가정한다. 평균값 60 은 T16 보다 더 크고, 평균값 90 은 80 과 100 사이에 있기 때문에, 16 ×16 블록을 4 개의 8 ×8 서브-블록들로 세분한다. 8 ×8 블록들에 대하여 계산된 분산을 1180, 935, 980,및 1210 으로 가정한다. 2 개의 8 ×8 블록들은 T8 을 초과하는 분산들을 가지므로, 이러한 2 개의 블록들을 추가적으로 세분하여 전체적으로는 8 개의 4 ×4 서브-블록들을 생성한다. 마지막으로, 대응하는 평균값들 90. 120, 110, 115 에 대하여, 8 개의 4 ×4 블록들의 분산들은 620, 630, 670, 610, 590, 525, 930, 및 690 으로 가정한다. 첫 번째 4 ×4 블록의 평균값이 (80, 100) 범위내에 있으므로, 그 임계값을 880 보다 작은 T'4 = 200 으로 낮춘다. 따라서, 7 번째 4 ×4 블록을 포함하여 이러한 4 ×4 블록을 세분한다.
유사한 처리를 휘도 성분 Y-홀수 및 칼라 성분 Cb-even및 Cb-odd및Cr-odd에 대한 블록 크기들을 할당하는데 사용한다. 칼라 성분들을 수평으로, 수직으로, 또는 수평 및 수직으로 10 진화할 수 있다.
또한, 블록 크기 할당을, 가장 큰 블록 (본 실시예에서는 16 ×16블록) 을 먼저 평가하는 톱다운 접근방식으로 설명하였지만, 그 대신에 보텀업 방식을 사용할 수도 있다. 보텀업 접근방식은 가장 작은 블록 (본 실시예에서는 2 ×2 블록) 을 먼저 평가한다.
도 1 을 다시 참조하면, 선택된 블록들의 어드레스들에 따라 PQR 데이터를 DCT 엘리먼트 (124) 에 제공한다. DCT 엘리먼트 (124) 는 PQR 데이터를 사용하여 선택된 블록상에서 적절한 크기의 이산 코사인 변환들을 수행한다. 단지 선택된 블록들만을 DCT 처리해야 한다.
영상 처리 시스템 (100) 은 DCT들의 DC 계수들내의 리던던시를 감소시키기 위하여 선택적으로 DQT 엘리먼트 (128) 를 구비할 수도 있다. DC 계수는 각 DCT 블록의 상부 좌측 코너에서 만나게 된다. 통상, DC 계수들은 AC 계수들과 비교하여 크다. 또한, 크기가 불일치하여 효과적인 가변 랭스 코더를 설계하기가 어렵게 된다. 따라서, DC 계수들내의 리던던시를 감소시키는 것이 유리하다.
DQT 엘리먼트 (128) 는 한 번에 2 ×2 블록을 취하여, DC 계수들에 대하여 2-D DCT를 수행한다. 4 ×4 블록들 내의 2 ×2 블록으로 부터 개시하여, 4 개의 DC 계수들에 대하여 2-D DCT를 수행한다. 이러한 2 ×2 DCT 를 4 개의 DC 계수들에 대한 차분 4 진 트리 변환 즉, DQT 라 한다. 다음으로, 8 ×8 블록 내의 3 개의 인접 DC 계수들에 따른 DQT의 DC 계수를 사용하여 다음 레벨의 DQT 를 계산한다. 마지막으로, 16 ×16 블록내의 4 개의 8 ×8 블록들의 DC 계수들을 사용하여 DQT 를 계산한다. 따라서, 16 ×16 블록에 있어서, 하나의 실제 DC 계수가 존재하고, 그 나머지는 DCT 및 DQT 에 대응하는 AC 계수들이다.
양자화를 위하여 변환 계수들 (DCT 및 DQT) 을 양자화기에 제공한다. 바람직한 실시예에서, DCT 계수들을 FWM (frequency weighting mask) 들 및 양자화 스케일 인자를 이용하여 양자화 한다. FWM 은 입력 DCT 계수들의 블록과 동일한 치수의 주파수 가중값들의 테이블이다. 주파수 가중값 테이블은 서로 다른 DCT 계수들에 대하여 서로 다른 가중값들을 인가한다. 상기 가중값들은 인간의 시각 또는 광학 시스템에 더욱 민감한 주파수량을 가지는 입력 샘플들을 엠퍼크기 하도록 그리고 상기 시각 또는 광학 시스템에 덜 민감한 주파수량을 가지는 샘플들을 디-엠퍼크기 하도록 설계된다. 또한, 가중값들을 가시 거리 등과 같은 인자들에 기초하여 설계할 수도 있다.
가중값들을 경험 데이터에 기초하여 선택한다. 8 ×8 DCT 계수들에 대한 가중 마스크들을 설계하는 방법이, 여기에 참조되는 ISO/IEC JTC1 CD 10918, 'Digital compression and encoding of continuous-tone still images - part 1 : Requirements and guidelines', International Standards Organization, 1994 에 기재되어 있다. 통상, 2 개의 FWM을 설계하며, 하나는 휘도 성분, 나머지 하나는 색도 성분에 관한 것이다. 2 ×2, 4 ×4 블록 크기의 FWM 테이블은 10 진화함으로써 얻어지며, 16 ×16 블록 크기의 FWM 테이블은 8 ×8 블록 값들을 보간함으로써 얻어진다. 스케일 인자는 양자화된 계수들의 비트율 및 품질을 제어한다.
따라서, 각각의 DCT 계수는 다음 식에 따라 양자화된다.
여기서 DCT(i,j) 는 입력 DCT 계수이며, fwm(i,j) 는 주파수 가중 마스크, q 는 스케일 인자, 및 DCT q(i,j) 는 양자화된 계수이다. DCT 계수의 부호에 따라, 각괄호 (brace) 내부의 첫 번째 항을 라운드 업 또는 라운드 다운시킨다. 또한, DQT 계수들을 적절한 가중 마스크를 이용하여 양자화한다. 그러나, 다수의 테이블 또는 마스크들을 사용할 수 있고, 이를 Y, Cb, 및 Cr 성분들 각각에 적용할 수도 있다.
화소 데이터의 블록 및 주파수 가중 마스크가 양자화기(130) 또는 스케일 인자 엘리먼트에 의해 스케일링된다. DCT 계수의 양자화는 자신들의 다수를 제로로 감소시켜 압축을 이끈다. 바람직한 실시예에서, 평균 비트율에 해당하는 32개의 스케일 인자가 있다. MPEG2와 같은 다른 압축 방법과는 달리, 평균 비트율은 타겟 비트율 및 버퍼 상태 대신에 처리된 영상의 품질에 기초하여 제어된다.
압축을 더욱 증가시키기 위해, 양자화된 계수가 스캔 직렬화기(134)에 제공된다. 직렬화기(134)는 양자화된 계수의 직렬화된 스트림을 생성하기 위해 양자화된 계수의 블록을 스캔한다. 지그재그 스캔, 컬럼 스캐닝 또는 로우 스캐닝이 사용된다 다수의 다른 지그재그 스캐닝 패턴 및 지그재그를 제외한 패턴이 선택될 수 있다. 바람직한 기술은 지그재그 스캐닝를 위해 8×8 블록 크기를 사용한다. 양자화된 계수의 지그재그 스캐닝은 제로 값의 긴 런을 만날 경우를 개선한다. 이러한 제로 런은 고유하게 감소되는 확률을 가지며, Huffman 코드를 사용하여 효율적으로 인코딩된다.
직렬화되고 양자화된 계수의 스트림은 가변 랭스 코더(138)에 제공된다. 런-랭스 코더는 비제로 계수로부터 제로 사이의 양자화된 계수를 분리하며, 도 6에 대해 상세히 설명된다. 일 실시예에서, Golomb-Rice 코딩이 사용된다. Golomb-Rice 인코딩은 지수함수 분포를 가진 비음수 정수를 코딩하는데 효과적이다. Golomb-Rice 코드는 지수함수적으로 분포된 변수에 대해 짧은 랭스 코드를 제공하기 위해 압축되는데 더욱 적합하다.
Golomb 인코딩 런-랭스에서, Golomb 코드는 비음수 정수 m에 의해 파라미터화된다. 예를 들면, 파라미터 m이 주어질 때, 양의 정수 n의 Golomb 코딩은 변조된 이진 코드로 표현된 나머지가 후속하는 n/m의 일진 코드 몫으로 표현되며, 이는 나머지가보다 적을 때는비트 랭스이고, 그렇지 않을 경우에는비트 랭스이다. Golomb-Rice 코딩은 파라미터가 m=2k로 표현되는 Golomb 코딩의 특정 경우이다. 이러한 경우에, n/m의 몫은 정수 n의 이진 표현을 k비트만큼 우측으로 이동함으로써 얻어지며, n/m의 나머지는 n의 최하위 k 비트에 의해 표현된다. 따라서, Golomb-Rice 코드는 2의 연결이다. Golomb-Rice 코딩은 이하와 같이 주어진 2-측면 기하학 (지수함수) 분포를 가진 양 및 음의 정수를 인코딩하는데 사용될 수 있다
(1)
식 (1)에서, α는 x의 확률의 붕괴를 나타내는 파라미터이며, c는 정규화 상수이다. pα(x) 가 단조함수이므로, 정수값의 시퀀스는 이하를 충족시켜야만 하는 것으로 판명된다
(2)
도 4a, 4b, 4c 및 5a, 5b, 5c에 도시된 바와 같이, 양자화된 DCT 계수 행렬내 제로-런 및 진폭은 지수함수 분포를 가진다. 이러한 도면에 도시된 분포는 실상으로부터의 데이터에 기초한다. 도 4a는 상대 주파수에 대한 제로 런-랭스의 Y 성분 분포(400)를 도시한다. 유사하게, 도 4b 및 도 4c는 각각 상대 주파수(410, 420)에 대한 제로 런-랭스의 Cb 및 Cr 성분 분포를 도시한다. 도 5a는 상대 주파수재 진폭 크기의 Y 성분 분포(500)를 도시한다. 유사하게, 도 5b 및 5c는 각각 상대 주파수 대 진폭 크기의 Cb 및 Cr 성분 분포를 도시한다. 도 5a, 5b 및 5c에서, 도표는 DCT 계수의 크기의 분포를 도시한다. 각각의 크기는 계수값의 범위를 나타낸다. 예를 들어, 4의 크기값은 범위 {-15,-14,...,-8,8,...,14,15}를 가지며 총 16의 값을 가진다. 유사하게, 10의 크기값은 범위 {-1023,-1022,...,-512,512,...,1022,1023}을 가지며, 총 1024 값을 갖는다. 도 4a, 4b, 4c, 5a, 5b 및 5c로부터 런-랭스와 진폭 크기가 지수함수 분포를 가짐을 알 수 있다. 진폭의 실제 분포는 이하의 식 (3)에 적합하다:
(3)
식 (3)에서,는 각각 수평 및 수직 크기의 주파수 k 및 l에 해당하는 DCT 계수를 표현하며, 평균, 분산이다. 따라서, 상술된 방식에서 Golomb-Rice 코딩의 사용은 DCT내 데이터를 처리하는데 더욱 적합하다.
이하의 설명이 영상 데이터의 압축에 관하여 설명되지만, 실시예들은 오디오 데이터를 압축하는 실시예에도 동일하게 적용될 수 있다. 영상 데이터를 압축할 때, 영상 또는 비디오 신호는 예를 들면, 선형 또는 로그 인코딩된 화소 값을 가진 RGB 또는 YIQ, YUV, Y Cb Cr 성분일 수 있다.
도 6은 제로 및 비제로 계수를 인코딩하는 프로세스(600)를 도시한다. DCT 행렬이 스캐닝됨에 따라, 제로 및 비제로 계수가 분리되어 처리되고 분리된다(604). 제로 데이터에 대해, 제로 런의 랭스가 결정된다(608). 런-랭스는 양의 정수이다. 예를 들어, 만일 런-랭스가 n이라면, Golomb 파라미터 m이 결정된다(612). 일 실시예에서, Golomb 파라미터는 런 랭스의 함수로서 결정된다. 다른 실시예에서, Golomb 파라미터(m)는 이하의 식 (4)에 의해 결정된다:
(4)
선택적으로, 런-랭스의 랭스 및 관련 Golomb 파라미터가 카운터 또는 레지스터에 의해 카운트된다(616). 제로의 런 랭스 n을 인코딩하기 위해, 몫이 인코딩된다(620). 이 실시예에서, 몫은 제로의 런 랭스 및 Golomb 파라미터의 함수로서 결정된다. 다른 실시예에서, 몫(Q)은 이하의 식 (5)에 의해 결정된다:
(5)
일 실시예에서, 몫(Q)은 일진 코드로 인코딩되며, 이는 Q+1비트를 필요로 한다. 다음으로, 나머지가 인코딩(624)된다. 일 실시예에서, 나머지가 런 랭스 및 몫의 함수로서 인코딩된다. 다른 실시예에서, 나머지(R)가 이하의 식 (6)을 사용하여 결정된다:
(6)
일 실시예에서, 나머지(R)는 m-비트 이진 코드로 인코딩된다. 다음으로, 몫(Q) 및 나머지(R)가 결정되고, Q 및 R에 대한 코드가 제로의 런 랭스 n에 대한 모든 코드를 표현하기 위해 연관된다(628).
비제로 계수가 Golomb-Rice를 사용하여 인코딩된다. 계수 진폭이 양수 또는 음수일 수 있기 때문에, 부호 비트를 사용하고 주어진 진폭의 절대값을 인코딩하는 것이 필요하다. 비제로 계수의 진폭이 x로 주어질 때, 진폭은 진폭의 절대값 및 부호의 함수로서 표현될 수 있다. 따라서, 진폭은 이하의 식 (7)을 사용하여 y로서 표현된다:
(7)
따라서, 비제로 계수의 값은 카운터 또는 레지스터(632)에 의해 선택적으로 카운트된다. 다음으로 진폭이 제로와 같거나 큰지가 결정된다(636). 만일 그렇다면, 값이 주어진 값의 두 배로 인코딩된다(640). 그렇지 않다면, 값은 절대값의 두 배 이하로 인코딩된다(644). 다른 맵핑 방식이 사용될 수도 있다. 핵심은 값의 부호를 구별하기 위해 여분의 비트가 필요하지 않다는 것이다.
식 (7)에 의해 표현된 바와 같이 진폭을 인코딩하는 것은 짝수인 정수 및 음수 값인 양의 값 x가 홀수인 정수가 되도록 한다. 더욱이, 이러한 맵핑은 식 (2)에서와 같이 x의 확률 할당을 보조한다. 식 (7)에 도시된 바와 같은 인코딩의 장점은 양수 및 음수를 나타내기 위해 부호 비트를 사용하는 것을 방지하도록 하도록 한다. 맵핑이 완결된 이후, y는 제로-런에 대해 수행된 바와 동일한 방식으로 인코딩된다. 과정은 모든 계수가 현재의 블록에서 스캐닝될 때까지 계속된다.
비록 본 발명의 실시예가 식 (1)-(7)의 함수와 같이 계수와 런 랭스의 값을 결정하지만 정확한 식 (1)-(7)은 사용되지 않는다는 것을 알 수 있을 것이다. Golomb-Rice 및 DCT 계수의 지수함수 분포의 사용은 영상 및 오디오 데이터에 대한 더욱 효율적인 압축을 허용한다.
인코딩 이후 제로-런이 비제로 진폭과 구별되지 않기 때문에, 제 1 의 제로-런의 발생을 마크하기 위해 고정된 랭스의 특정 프리픽스 코드를 사용하는 것이 필요하다. 비제로 진폭이 발견된 이후 블록내 모든 제로가 발견되는 것이 일반적이다. 이러한 경우, Golomb-Rice 코드 대신 엔드-오브-블록(EOB) 코드를 참조하는 코드를 사용하는 것이 더욱 효율적이다. EOB 코드는 선택적으로 다시 특정 고정 랭스 코드가 된다.
식 (1) 또는 (3)에 따라, DCT 계수 행렬내 진폭 또는 런-랭스의 확률 분포가α 또는 λ에 의해 파라미터화된다. 특정 DCT 계수 블록이 발생되는 환경하에서 코딩 효율이 개선될 것으로 추론된다. 원하는 품질을 인코딩하기 위한 적정 Golomb-Rice 파라미터가 사용된다. 일 실시예에서, 개별 축적값 및 이러한 값이 발생하는 해당 수의 시간을 계산하기 위해 카운터 또는 레지스터가 각각의 런-랭스 및 진폭 값에 대해 사용된다. 예를 들면, 만일 축적값 및 축적된 엘리먼트의 수를 저장하기 위한 레지스터가 각각 Rrl및 Nrl이라면, 이하의 식 (6)은 런-랭스를 인코딩하기 위한 Rice-Golomb 파라미터로서 사용된다:
(6)
유사한 과정이 진폭에 대해서 사용된다.
도 1을 다시 참조하면, 인코더(104)에 의해 발생된 합축된 영상 신호가 버퍼(142)에 의해 일시적으로 저장되고, 다음으로 전송 채널(108)을 사용하여 디코더로 전송된다. 전송 채널(108)은 자기 또는 광학 저장 장치 또는 유선 및 무선 전송 처리 또는 장치와 같은 물리적 매체이다. 블록 크기 할당 정보를 포함하는 PQR 데이터가 디코더(112)(도 2 참조)에 제공된다. 디코더(112)는 버퍼(164) 및 가변 랭스 디코더(168)를 포함하며, 이들은 런-랭스 값 및 비제로 값을 디코딩한다. 가변 랭스 디코더(168)는 도 6에 도시된 바와 유사하지만 반대되는 방식으로 동작한다.
가변 랭스 디코더(168)의 출력은 사용된 스캔 방식에 따라 계수를 정렬하는반전 직렬화기(172)에 제공된다. 예를 들면, 만일 지그재그 스캐닝, 수직 스캐닝 및 수평 스캐닝의 혼합이 사용되었다면, 반전 직렬화기(172)가 사용된 스캐닝의 형태를 알려주는 계수를 적절하게 재정렬한다. 반전 직렬화기(172)는 복합 계수 블록으로의 계수의 적정 정렬을 보조하기 위해 PQR 데이터를 수신한다.
양자화 인수 및 주파수 가중 마스크를 사용하기 때문에 처리를 해제하기 위해 복합 블록은 반전 직렬화기(174)에 제공된다.
다음으로 계수 블록이 IDQT 엘리먼트(186)에 제공되고, 후속하여 차동 쿼드-트리 변환이 적용되었다면 IDCT 엘리먼트(190)가 후속한다. 그렇지 않을 경우, 계수 블록은 IDCT 엘리먼트(190)에 직접 제공된다. IDCT 엘리먼트(186) 및 IDCT 엘리먼트(190)는 화소 데이터의 블록을 생성하기 위해 계수를 반전 변환한다. 화소 데이터는 이후 디스플레이를 위해 보간되고, RGB 형태로 변환되며 저장되어야 한다.
도 7은 Golomb-Rice 인코딩(700)을 위한 장치를 도시한다. 도 7의 장치는 도 6에 대해 설명된 바와 같이 바람직하게 처리한다. 결정기(704)는 런 랭스(n)와 Golomb 파라미터(m)를 결정한다. 선택적으로, 카운터 또는 레지스터(708)는 이러한 값이 발생하는 해당 수의 시간 및 개별 축적 값을 계산하기 위해 각각의 런-랭스 및 진폭 크기에 대해 사용된다. 인코더(712)는 런 랭스 및 Golomb 파라미터의 함수로서 몫(Q)을 인코딩한다. 인코더(712)는 또한 런 랭스, Golomb 파라미터 및 몫의 함수로서 나머지(R)를 인코딩한다. 선택적인 실시예에서, 인코더(712)는 비제로 데이터 값 및 비제로 데이터 값의 부호의 함수로서 비제로 데이터를 인코딩한다. 연관기(716)가 R 값과 Q 값을 연관시키는데 사용된다.
예로서, 여기서 설명된 실시예와 관련된 여러 도시된 논리 블록, 순서도, 및 단계가 응용주문형 집적회로(ASIC), 프로그램가능 논리소자, 이산 게이트 혹은 트랜지스터 논리, 이산 하드웨어 소자 예를 들면, 레지스터와 FIFO, 펌웨어 명령 세트을 수행하는 프로세서, 임의의 통상적인 프로그램가능 소프트웨어와 프로세서 또는 이들의 조합인 하드웨어 또는 소프트웨어에서 구현 또는 수행된다. 프로세서는 바람직하게는 마이크로프로세서이지만 선택적으로 프로세서는 임의의 통상적인 프로세서, 제어기, 마이크로콘트롤러 또는 상태기계이다. 소프트웨어는 RAM 메모리, 플래시 메모리, ROM 메모리, 레지스터, 하드 디스크, 제거가능 디스크, CD-ROM 또는 공지된 임의의 다른 형태의 저장 매체내에 상주할 수 있다.
당업자가 본 발명을 제작하거나 사용할 수 있도록 바람직한 실시예들을 상술하였다. 당업자라면 이러한 실시예들을 다양하게 변경시킬 수 있음을 알 수 있고, 여기서 규정된 일반 원리들은 본 발명의 창의력을 사용하지 않고도 다른 실시예들에 적용할 수 있다. 따라서, 본 발명은 여기에 나타내는 실시예들로 한정되는 것이 아니라, 여기에 개시된 원리 및 신규한 특징들과 일치하는 가장 넓은 범위를 부여하는 것이다.
본 발명의 다른 특징 및 이점을 다음의 청구범위에서 설명한다.

Claims (30)

  1. 양자화된 주파수로 표현된 데이터 - 상기 데이터는 제로 및 비제로로 표현된 데이터임 - 를 인코딩하는 방법으로서,
    상기 제로로 표현된 데이터에 대해,
    제로 런 랭스(n)를 결정하는 단계;
    상기 제로 런 랭스의 함수로서 Golomb 파라미터(m)를 결정하는 단계;
    상기 제로 런 랭스 및 상기 Golomb 파라미터의 함수로서 몫(Q)을 인코딩하는 단계;
    상기 제로 런 랭스, 상기 Golomb 파라미터 및 상기 몫의 함수로서 나머지(R)를 인코딩하는 단계; 및
    상기 코딩된 몫 및 상기 코딩된 나머지를 연관시키는 단계; 및
    상기 비제로로 표현된 데이터에 대해,
    상기 비제로 데이터 값 및 상기 비제로 데이터 값의 부호의 함수로서 상기 비제로 데이터를 인코딩하는 단계를 포함하는 양자화된 주파수로 표현된 데이터를 인코딩하는 방법.
  2. 제1항에 있어서, 상기 Golomb 파라미터(m)는 식을 사용하여 결정되는 양자화된 주파수로 표현된 데이터를 인코딩하는 방법.
  3. 제1항에 있어서, 상기 몫(Q)은 식을 사용하여 결정되는 양자화된 주파수로 표현된 데이터를 인코딩하는 방법.
  4. 제1항에 있어서, 상기 나머지(R)는 식을 사용하여 결정되는 양자화된 주파수로 표현된 데이터를 인코딩하는 방법.
  5. 제1항에 있어서, 상기 비제로 데이터의 인코딩은 이하의 식을 사용하여 y의 값으로 결정되며,
    여기서, x는 상기 인코딩될 비제로 데이터의 진폭인 양자화된 주파수로 표현된 데이터를 인코딩하는 방법.
  6. 디지털 시네마 시스템에서, 컬러 성분으로 분리되는 화소 데이터를 가진 디지털 영상을 압축하는 방법으로서,
    상기 화소 데이터의 컬러 성분 그룹을 판독하는 단계;
    상기 화소의 컬러 성분 그룹을 화소 데이터의 서브 블록으로 분할하기 위하여 블록 크기 할당을 생성하는 단계;
    상기 화소 데이터의 서브 블록을 해당 주파수 영역 표현으로 변환하는 단계; 및
    상기 주파수 영역 표현을 데이터 스트림으로 스케일링하는 단계 - 상기 스케일링 단계는 상기 영상의 품질과 상관하는 품질 메트릭에 기초함-;
    하나의 16×16 블록으로 표현되는 스트림 데이터로부터 적어도 하나의 데이터 그룹을 컴파일링하는 단계;
    상기 하나의 16×16 데이터 그룹을 4개의 8×8 블록으로 표현된 그룹으로 분할하는 단계;
    상기 4개의 8×8 데이터 블록 각각을 직렬화하는 단계; 및
    상기 직렬화된 데이터를 지수함수 분포를 사용하여 런-랭스 코딩하는 단계를 포함하는 디지털 영상을 압축하는 방법.
  7. 제6항에 있어서, 상기 런-랭스 코딩은 누적값 및 특정 값이 발생하는 해당 수의 시간의 함수인 디지털 영상을 압축하는 방법.
  8. 제6항에 있어서, 상기 런-랭스 코드는 이하의 식을 사용하여 결정되며
    여기서, Rrl은 엘리먼트의 누적값이며 Nrl은 상기 특정값이 발생하는 해당 수의 시간인 디지털 영상을 압축하는 방법.
  9. 제6항에 있어서, 상기 스케일링 단계는 상기 화소 데이터의 서브블록에 주파수 가중 마스크를 제공하는 단계를 포함하며, 상기 주파수 가중 마스크는 인간 시각 시스템이 더 민감한 영상의 일부에는 많은 강조를 제공하며 상기 인간 시각 시스템이 덜 민감한 영상 부분에는 적은 강조를 제공하는 디지털 영상을 압축하는 방법.
  10. 제6항에 있어서, 상기 변환하는 단계는 이산 코사인 변환을 수행하는 디지털 영상을 압축하는 방법.
  11. 제6항에 있어서, 상기 변환하는 단계는 이산 코사인 변환에 후속하여 차동 쿼드-트리 변환을 수행하는 디지털 영상을 압축하는 방법.
  12. 양자화된 주파수로 표현된 데이터 - 상기 데이터는 제로 및 비제로로 표현된 데이터임 - 를 인코딩하는 장치로서,
    상기 제로로 표현된 데이터에 대해,
    제로 런-랭스(n)를 결정하는 수단;
    상기 제로 런 랭스의 함수로서 Golomb 파라미터(m)를 결정하는 수단;
    상기 제로 런 랭스 및 상기 Golomb 파라미터의 함수로서 몫(Q)을 결정하는 수단;
    상기 제로 런 랭스, 상기 Golomb 파라미터 및 상기 몫의 함수로서 나머지(R)를 인코딩하는 수단; 및
    상기 코딩된 몫 및 상기 코딩된 나머지를 연관시키는 수단; 및
    상기 비제로로 표현된 데이터에 대해,
    비제로 데이터 값 및 상기 비제로 데이터 값의 부호의 함수로서 상기 비제로 데이터를 인코딩하는 수단을 포함하는 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  13. 제12항에 있어서, 상기 Golomb 파라미터(m)는 식을 사용하여 결정되는 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  14. 제12항에 있어서, 상기 몫(Q)은 식을 사용하여 결정되는 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  15. 제12항에 있어서, 상기 나머지(R)는 식을 사용하여 결정되는 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  16. 제12항에 있어서, 상기 비제로 데이터의 인코딩은 이하의 식을 사용하여 y의값으로 결정되며,
    여기서, x는 상기 인코딩될 비제로 데이터의 진폭인 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  17. 제12항에 있어서, 상기 제로 런 랭스, 상기 비제로 진폭 값 및 상기 값들이 발생하는 해당 수의 시간을 카운팅하는 수단을 더 포함하는 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  18. 디지털 시네마 시스템에서, 컬러 성분으로 분리되는 화소 데이터를 가진 디지털 영상을 압축하는 장치로서,
    상기 화소 데이터의 컬러 성분 그룹을 판독하는 수단;
    상기 화소의 컬러 성분 그룹을 화소 데이터의 서브 블록으로 분할하기 위하여 블록 크기 할당을 생성하는 수단;
    상기 화소 데이터의 서브 블록을 해당 주파수 영역 표현으로 변환하는 수단; 및
    상기 주파수 영역 표현을 데이터 스트림으로 스케일링하는 수단 - 상기 스케일링은 상기 영상의 품질과 상관하는 품질 메트릭에 기초함-;
    하나의 16×16 블록으로 표현되는 스트림 데이터로부터 적어도 하나의 데이터 그룹을 컴파일링하는 수단;
    상기 하나의 16×16 데이터 그룹을 4개의 8×8 블록으로 표현된 그룹으로 분할하는 수단;
    상기 4개의 8×8 데이터 블록 각각을 직렬화하는 수단; 및
    상기 직렬화된 데이터를 지수함수 분포를 사용하여 런-랭스 코딩하는 수단을 포함하는 디지털 영상을 압축하는 장치.
  19. 제18항에 있어서, 상기 런-랭스 코딩은 누적값 및 특정 값이 발생하는 해당 수의 시간의 함수인 디지털 영상을 압축하는 장치,
  20. 제18항에 있어서, 상기 런-랭스 코드는 이하의 식을 사용하여 결정되며
    여기서, Rrl은 엘리먼트의 누적값이며 Nrl은 상기 특정값이 발생하는 해당 수의 시간인 디지털 영상을 압축하는 장치.
  21. 제18항에 있어서, 상기 스케일링 수단은 상기 화소 데이터의 서브블록에 주파수 가중 마스크를 제공하는 수단을 포함하며, 상기 주파수 가중 마스크는 인간 시각 시스템이 더 민감한 영상의 일부에는 많은 강조를 제공하며 상기 인간 시각 시스템이 덜 민감한 영상 부분에는 적은 강조를 제공하는 디지털 영상을 압축하는장치.
  22. 제18항에 있어서, 상기 변환하는 수단은 이산 코사인 변환을 수행하는 디지털 영상을 압축하는 장치.
  23. 제18항에 있어서, 상기 변환하는 수단은 이산 코사인 변환에 후속하여 차동 쿼드-트리 변환을 수행하는 디지털 영상을 압축하는 장치.
  24. 제18항에 있어서, 크기 값 및 상기 직렬화된 데이터내에서 이러한 값이 발생하는 해당 수의 시간을 카운팅하는 수단을 더 포함하는 디지털 영상을 압축하는 장치.
  25. 양자화된 주파수로 표현된 데이터 - 상기 데이터는 제로 및 비제로로 표현된 데이터임 - 를 인코딩하는 장치로서,
    상기 제로로 표현된 데이터에 대해,
    제로 런-랭스(n)를 결정하도록 구성된 제 1 결정기;
    상기 제로 런 랭스의 함수로서 Golomb 파라미터(m)를 결정하도록 구성된 제 2 결정기;
    상기 제로 런 랭스 및 상기 Golomb 파라미터의 함수로서 몫(Q)을 결정하도록 구성되며, 상기 제로 런 랭스, 상기 Golomb 파라미터 및 상기 몫의 함수로서 나머지(R)를 인코딩하도록 구성되며, 상기 비제로로 표현된 데이터에 대해 비제로 데이터 값 및 상기 비제로 데이터 값의 부호의 함수로서 상기 비제로 데이터를 인코딩하는 인코더; 및
    상기 코딩된 몫과 상기 코딩된 나머지를 연관시키도록 구성된 연관기를 포함하는 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  26. 제25항에 있어서, 상기 Golomb 파라미터(m)는 식을 사용하여 결정되는 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  27. 제25항에 있어서, 상기 나머지(R)는 식을 사용하여 결정되는 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  28. 제25항에 있어서, 상기 나머지(R)는 식을 사용하여 결정되는 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  29. 제25항에 있어서, 상기 비제로 데이터의 인코딩은 이하의 식을 사용하여 y의 값으로 결정되며,
    여기서, x는 상기 인코딩될 비제로 데이터의 진폭인 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  30. 제25항에 있어서, 상기 제로 런 랭스, 상기 비제로 진폭 값 및 상기 값들이 발생하는 해당 수의 시간을 카운팅하는 수단을 더 포함하는 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
KR1020037017099A 2001-06-29 2002-06-17 Golomb-rice 코딩을 사용한 dct 압축 KR100926381B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/895,618 US6735254B2 (en) 2001-06-29 2001-06-29 DCT compression using Golomb-Rice coding
US09/895,618 2001-06-29
PCT/US2002/019407 WO2003003738A2 (en) 2001-06-29 2002-06-17 Dct compression using golomb-rice coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020097007306A Division KR100944282B1 (ko) 2001-06-29 2002-06-17 Golomb-rice 코딩을 사용한 dct 압축

Publications (2)

Publication Number Publication Date
KR20040018400A true KR20040018400A (ko) 2004-03-03
KR100926381B1 KR100926381B1 (ko) 2009-11-11

Family

ID=25404771

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020097007306A KR100944282B1 (ko) 2001-06-29 2002-06-17 Golomb-rice 코딩을 사용한 dct 압축
KR1020037017099A KR100926381B1 (ko) 2001-06-29 2002-06-17 Golomb-rice 코딩을 사용한 dct 압축

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020097007306A KR100944282B1 (ko) 2001-06-29 2002-06-17 Golomb-rice 코딩을 사용한 dct 압축

Country Status (11)

Country Link
US (5) US6735254B2 (ko)
EP (2) EP1407603B1 (ko)
JP (1) JP4113114B2 (ko)
KR (2) KR100944282B1 (ko)
CN (3) CN101588502B (ko)
BR (1) BR0210582A (ko)
CA (1) CA2451604C (ko)
HK (2) HK1068200A1 (ko)
MX (1) MXPA03012053A (ko)
SG (2) SG170613A1 (ko)
WO (1) WO2003003738A2 (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0648928U (ja) * 1992-12-09 1994-07-05 アイワ株式会社 成形装置
US6735254B2 (en) * 2001-06-29 2004-05-11 Qualcomm, Inc. DCT compression using Golomb-Rice coding
US7251372B2 (en) * 2004-01-14 2007-07-31 Nec Solutions (America) Inc. Method and system for compressing digitized fingerprint images by a uniform degree of compression
KR100561869B1 (ko) * 2004-03-10 2006-03-17 삼성전자주식회사 무손실 오디오 부호화/복호화 방법 및 장치
KR20060051157A (ko) * 2004-10-29 2006-05-19 마이크로소프트 코포레이션 정수 데이터의 무손실 적응 인코딩 및 디코딩을 위한시스템 및 방법
US7580585B2 (en) 2004-10-29 2009-08-25 Microsoft Corporation Lossless adaptive Golomb/Rice encoding and decoding of integer data using backward-adaptive rules
US7015837B1 (en) * 2004-10-29 2006-03-21 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
US6987468B1 (en) * 2004-10-29 2006-01-17 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
KR100586026B1 (ko) * 2005-03-25 2006-06-02 한국전자통신연구원 디지털 홀로그램 부호화 또는/및 복호화 장치 및 그 방법
KR101088375B1 (ko) * 2005-07-21 2011-12-01 삼성전자주식회사 가변 블록 변환 장치 및 방법 및 이를 이용한 영상부호화/복호화 장치 및 방법
JP4732203B2 (ja) * 2006-03-17 2011-07-27 キヤノン株式会社 画像符号化装置及び復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
WO2008000292A1 (en) * 2006-06-30 2008-01-03 Telecom Italia S.P.A. Method, apparatus and system for robust video transmission
US8116378B2 (en) * 2006-12-15 2012-02-14 Arcsoft, Inc. Variable length decoding method
US20100166053A1 (en) * 2007-01-31 2010-07-01 Sony Corporation Information processing device and method
KR101539240B1 (ko) * 2007-06-14 2015-07-30 삼성전자주식회사 영상 데이터의 엔트로피 부호화, 복호화 방법 및 장치
US20090238259A1 (en) * 2008-03-19 2009-09-24 Sung-Hung Yeh Method of rate control for video frame compression and encoder thereof
US7733245B2 (en) * 2008-06-25 2010-06-08 Aclara Power-Line Systems Inc. Compression scheme for interval data
EP2141815A1 (en) * 2008-07-01 2010-01-06 Deutsche Thomson OHG Method for a hybrid Golomb-Elias gamma coding
JP5236005B2 (ja) * 2008-10-10 2013-07-17 日本電信電話株式会社 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体
US8761268B2 (en) * 2009-04-06 2014-06-24 Intel Corporation Selective local adaptive wiener filter for video coding and decoding
CN101729900B (zh) * 2009-11-17 2014-03-26 北京中星微电子有限公司 离散余弦变换系数的量化控制方法和量化装置
JP5741076B2 (ja) * 2010-12-09 2015-07-01 ソニー株式会社 画像処理装置及び画像処理方法
CN103765788B (zh) * 2011-08-23 2015-08-05 联发科技(新加坡)私人有限公司 在视频编码中依据量化矩阵处理变换区块的方法与系统
EP2774360B1 (en) 2011-11-04 2017-08-02 Huawei Technologies Co., Ltd. Differential pulse code modulation intra prediction for high efficiency video coding
KR20130050149A (ko) 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
BR112014021436B1 (pt) * 2012-04-13 2023-03-07 Canon Kabushiki Kaisha Método e aparelho para codificar e decodificar um subconjunto de unidades de transformação de dados de vídeo codificados
SG10201707023VA (en) 2012-04-15 2017-10-30 Samsung Electronics Co Ltd Parameter update method for entropy coding and decoding of conversion coefficient level, and entropy coding device and entropy decoding device of conversion coefficient level using same
US10021419B2 (en) * 2013-07-12 2018-07-10 Qualcomm Incorported Rice parameter initialization for coefficient level coding in video coding process
CN103731155A (zh) * 2013-12-31 2014-04-16 成都华日通讯技术有限公司 无线电频谱信号的时域压缩方法
US10009626B2 (en) * 2014-01-29 2018-06-26 Ecole De Technologie Superieure Method and system for rate-constrained search ordering
US10142636B2 (en) * 2014-06-09 2018-11-27 Sony Corporation Communication system with coding mechanism and method of operation thereof
CA2958254A1 (en) 2015-01-29 2016-08-04 Ecole De Technologie Superieure Methods and systems for determining motion vectors in a motion estimation process of a video encoder
US10432972B2 (en) * 2016-10-19 2019-10-01 Google Llc Guided offset correction for loop restoration in video coding
US10595033B2 (en) 2017-02-15 2020-03-17 Sony Corporation Variable length coding of header data for image compression
US10950251B2 (en) * 2018-03-05 2021-03-16 Dts, Inc. Coding of harmonic signals in transform-based audio codecs
DE102018122295A1 (de) * 2018-09-12 2020-03-12 Arnold & Richter Cine Technik Gmbh & Co. Betriebs Kg Verfahren zur Kompression von Bilddaten
FI3874492T3 (fi) 2018-10-31 2024-01-08 Nokia Technologies Oy Spatiaalisten äänten parametrikoodauksen ja siihen liittyvän dekoodauksen määrittäminen
GB2582749A (en) * 2019-03-28 2020-10-07 Nokia Technologies Oy Determination of the significance of spatial audio parameters and associated encoding
KR20210136476A (ko) 2020-05-07 2021-11-17 삼성전자주식회사 쿼드 트리 방법의 파라미터들을 이용하여 압축하는 장치 및 방법
CN113143284B (zh) * 2021-04-13 2022-10-21 浙江大学 基于小波变换和双模预测的心电信号压缩方法
CN117411947B (zh) * 2023-12-15 2024-02-23 安徽中科大国祯信息科技有限责任公司 基于云边协同的水务数据快速传输方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5036457A (en) 1987-09-24 1991-07-30 Nucleus International Corporation Bit string compressor with boolean operation processing capability
US5532694A (en) 1989-01-13 1996-07-02 Stac Electronics, Inc. Data compression apparatus and method using matching string searching and Huffman encoding
US5107345A (en) 1990-02-27 1992-04-21 Qualcomm Incorporated Adaptive block size image compression method and system
US5021891A (en) 1990-02-27 1991-06-04 Qualcomm, Inc. Adaptive block size image compression method and system
US5079621A (en) * 1990-06-29 1992-01-07 Eastman Kodak Company Dct transform compression, transmission and recovery of digital color using virtual filtering mechanism
ATE159396T1 (de) * 1991-06-04 1997-11-15 Qualcomm Inc System zur adaptiven kompression der blockgrössen eines bildes
US5842033A (en) 1992-06-30 1998-11-24 Discovision Associates Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system
US5379070A (en) * 1992-10-02 1995-01-03 Zoran Corporation Parallel encoding/decoding of DCT compression/decompression algorithms
US5583500A (en) * 1993-02-10 1996-12-10 Ricoh Corporation Method and apparatus for parallel encoding and decoding of data
US5764374A (en) * 1996-02-05 1998-06-09 Hewlett-Packard Company System and method for lossless image compression having improved sequential determination of golomb parameter
US5832135A (en) * 1996-03-06 1998-11-03 Hewlett-Packard Company Fast method and apparatus for filtering compressed images in the DCT domain
US6111991A (en) * 1998-01-16 2000-08-29 Sharp Laboratories Of America Method and apparatus for optimizing quantizer values in an image encoder
US6101281A (en) * 1997-06-09 2000-08-08 At&T Corp. Method for improving data encoding and decoding efficiency
EP0940994B1 (en) * 1998-03-06 2014-04-16 Canon Kabushiki Kaisha Image processing apparatus and method and storage medium storing steps realizing such method
EP0986026A1 (en) * 1998-09-07 2000-03-15 STMicroelectronics S.r.l. Fractal coding of data in the DCT domain
JP2000115782A (ja) * 1998-10-06 2000-04-21 Canon Inc 符号化装置及び方法及び記憶媒体
KR100317279B1 (ko) * 1998-11-04 2002-01-15 구자홍 무손실부호화방법및장치
US6529634B1 (en) 1999-11-08 2003-03-04 Qualcomm, Inc. Contrast sensitive variance based adaptive block size DCT image compression
US6600836B1 (en) 2000-01-28 2003-07-29 Qualcomm, Incorporated Quality based image compression
US6735254B2 (en) * 2001-06-29 2004-05-11 Qualcomm, Inc. DCT compression using Golomb-Rice coding

Also Published As

Publication number Publication date
CN100518295C (zh) 2009-07-22
JP2004531995A (ja) 2004-10-14
US7031390B2 (en) 2006-04-18
CA2451604C (en) 2012-01-03
CN100518326C (zh) 2009-07-22
US6735254B2 (en) 2004-05-11
JP4113114B2 (ja) 2008-07-09
KR100944282B1 (ko) 2010-02-24
CN101588502B (zh) 2013-04-24
BR0210582A (pt) 2004-10-05
US7782960B2 (en) 2010-08-24
HK1068200A1 (en) 2005-04-22
WO2003003738A3 (en) 2003-04-03
EP1407603A2 (en) 2004-04-14
US20040184545A1 (en) 2004-09-23
WO2003003738A2 (en) 2003-01-09
EP1407603B1 (en) 2013-01-09
US20130170748A1 (en) 2013-07-04
US20030026335A1 (en) 2003-02-06
CN1893659A (zh) 2007-01-10
EP2509308A1 (en) 2012-10-10
US20060171465A1 (en) 2006-08-03
CN1550104A (zh) 2004-11-24
SG157954A1 (en) 2010-01-29
KR100926381B1 (ko) 2009-11-11
HK1095003A1 (en) 2007-04-20
MXPA03012053A (es) 2004-06-03
US20100322307A1 (en) 2010-12-23
SG170613A1 (en) 2011-05-30
EP1407603A4 (en) 2010-06-02
KR20090042872A (ko) 2009-04-30
CA2451604A1 (en) 2003-01-09
CN101588502A (zh) 2009-11-25

Similar Documents

Publication Publication Date Title
KR100926381B1 (ko) Golomb-rice 코딩을 사용한 dct 압축
JP4927888B2 (ja) ゴロム・ライスを使用する無損失フレーム内符号化
JP4800571B2 (ja) 損失の無い方法でディジタル画像を符号化するための装置および方法
JP2004531995A5 (ko)
AU2002316546A1 (en) Lossless intraframe encoding using golomb-rice
JP2015039176A (ja) ディジタル画像および音声データを無損失に復号化するためのシステムおよび方法
AU2002318196A1 (en) An apparatus and method for encoding digital image data in a lossless manner

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121030

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141030

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150930

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 11