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

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

Info

Publication number
KR100926381B1
KR100926381B1 KR1020037017099A KR20037017099A KR100926381B1 KR 100926381 B1 KR100926381 B1 KR 100926381B1 KR 1020037017099 A KR1020037017099 A KR 1020037017099A KR 20037017099 A KR20037017099 A KR 20037017099A KR 100926381 B1 KR100926381 B1 KR 100926381B1
Authority
KR
South Korea
Prior art keywords
data
zero
length
encoding
block
Prior art date
Application number
KR1020037017099A
Other languages
English (en)
Other versions
KR20040018400A (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

Images

Classifications

    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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}
본 발명은 영상(image) 처리 및 압축에 관한 것이다. 특히, 본 발명은 Golomb-Rice를 사용한 DCT 계수 코딩에 관한 것이다.
디지털 화상(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 기술이 매우 잘 작동하더라도, 이는 계산 집약적이다. 따라서 이러한 기술로 조밀한 하드웨어를 구현하기는 어려울 수 있다.
가변 길이의 코딩은 런-길이(run length) 및 크기 형태로 달성되었다. JPEG(Joint Photographic Experts Group) 또는 MPEG-2(Moving Picture Expert Group)과 같은 다른 압축 방법은 전체 처리된 블록 크기에 대해 표준 지그재그 스캔 방법을 사용한다. 하지만, ABSDCT를 사용하면, 데이터 블록 내의 분산에 기초하여 다른 블록 크기가 생성된다. Huffman 코드와 같은 몇몇 코딩 방법은 비제로 계수에 의한 제로 런으로 구성된다. 하지만, Huffman 코드는 소스 심벌의 확률이 2의 음의 거듭제곱일 때 더욱 적합하다. 하지만, 런-길이/크기 쌍들의 경우, 심벌 확률은 거의 2의 음의 거듭제곱이 아니다.
더욱이, Huffman 코딩은 저장된 사전-계산된 코드 워드의 코드북을 필요로 한다. 코드북의 크기는 커서는 안 된다. 또한, 최장 코드 워드 또한 길어서는 안 된다. 따라서, 런-길이/크기 쌍 심벌에 대한 Huffman 코딩의 사용은 효율적이지 않다.
압축을 달성하기 위해 비손실 방식으로 양자화된 DCT 계수의 런-길이 및 진폭을 인코딩하는 장치 및 방법이 개시된다. 특히, 양자화 후 DCT 계수의 제로 런 및 비제로 진폭을 인코딩하기 위해 Golomb-Rice 코딩이 사용된다. Golomb-Rice 코딩과 같은 데이터의 지수 함수 분포를 사용하는 방식을 사용하는 것은 대안적인 방식보다 높은 코딩 효율을 허용한다.
본 발명은 DCT 계수 데이터의 적응 가능한 크기의 블록들 및 서브-블록들과, 품질 기반 양자화 스케일 인자를 이용하는 품질 기반 영상 압축 시스템 및 방법에 관한 것이다. 화소 데이터의 블록을 인코더에 입력한다. 인코더는 처리용 화소들의 입력 블록을 분할하는 블록 크기 할당(BSA) 엘리먼트를 구비한다. 블록 크기 할당은 입력 블록의 분산들에 기초하며, 추가적으로 블록들을 세분한다. 통상, 블록 및 서브-블록의 평균값들이 서로 다른 소정의 범위에 있는 경우에, 더 큰 분산들을 갖는 영역들을 더 작은 블록들로 세분하며, 더 작은 분산들을 갖는 영역들은 세분하지 않는다. 따라서, 먼저 블록의 분산 임계값을 그 평균값에 따라 공칭값으로부터 변경시킨 후, 블록의 분산을 임계값과 비교하고, 그 분산이 임계값보다 더 큰 경우에, 그 블록을 세분한다.
블록 크기 할당은 변환 엘리먼트에 제공되며, 이는 화소 데이터를 주파수 영역 데이터로 변환한다. 블록 크기 할당을 통하여 선택된 블록 및 서브-블록들에서만 변환이 수행된다. 그 후, 변환 데이터는 양자화 및 직렬화를 통하여 스케일링한다. 변환 데이터의 양자화는 콘트라스트, 계수 합계, 레이트 왜곡, 블록 크기 할당의 밀도에 대하여 조종 가능한 스케일 인자, 및/또는 이전의 스케일 인자들과 같은 영상 품질 메트릭에 기초하여 양자화된다. 지그재그 스캔과 같은 직렬화가 동일한 값의 가능한 최장 런-길이를 생성하는 것에 기초한다. 데이터 스트림은 전송을 위해 준비된 가변 길이 코더에 의해 코딩된다. Golomb-Rice 인코딩되는 것과 같은 지수 함수에 기초한 코딩이 사용된다. 특히, 제로로 표현된 데이터에 대해, 제로 런-길이가 결정된다. Golomb 파라미터가 제로 런-길이의 함수로서 결정된다. 몫은 제로 런-길이 및 Golomb 파라미터의 함수로서 인코딩된다. 나머지는 제로 런-길이, Golomb 파라미터 및 몫의 함수로서 인코딩된다. 코딩된 몫과 코딩된 나머지는 연결된다. 비제로로 표현된 데이터에 대해, 비제로 데이터는 비제로 데이터 값 및 비제로 데이터 값의 부호의 함수로서 인코딩된다. 인코딩된 데이터는 전송 채널을 통해 디코더로 전송되고, 여기서 화소 데이터가 디스플레이를 준비하기 위해 재구성된다.
이와 같이, 일 실시예의 특징은 선험적인 코드 생성을 요구하지 않는다.
일 실시예의 다른 특징은 저장된 광범위한 코드북의 사용을 요구하지 않는다.
일 실시예의 또 다른 특징은 하드웨어 구현에 필요한 크기를 감소시킨다.
일 실시예의 또 다른 특징은 높은 코딩 효율을 달성하는 것이다.
일 실시예의 또 다른 특징은 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 인코딩을 위한 장치를 도시하는 도면.
디지털 신호들의 디지털 전송을 용이하게 하고, 이에 따른 이득들을 얻기 위하여, 통상적으로 몇몇의 신호 압축 형태를 사용할 필요가 있다. 결과적인 영상에서 고압축을 성취하기 위하여, 고품질의 영상이 유지되는 것도 중요하다. 또한, 조밀한 하드웨어 구현을 위해 계산상 효율적인 것이 바람직하며, 이는 많은 애플리케이션에 있어서 중요하다.
본 발명의 일 실시예를 상세히 설명하기 전에, 본 발명은 다음의 상세한 설명부에 설명되거나 도면에 예시되는 구성요소들의 배열 및 구조의 세부사항들로 본 발명의 애플리케이션이 한정되지 않음을 이해해야 한다. 본 발명은 다른 실시예들로 구현될 수 있고, 다양한 방식들로 수행될 수 있다. 또한, 여기에서 사용되는 문구 및 용어는 설명을 위한 것이며, 제한적인 것으로 간주해서는 안 된다.
본 발명의 영상 압축 기술은, 명칭이 '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는 다음의 관계식에 의해 정의된다.
Figure 112003050231996-pct00001
여기서,
Figure 112003050231996-pct00002
x(m,n)은 N×M 블록 내의 (m,n) 위치에서의 화소이며,
X(k,l)은 대응하는 DCT 계수이다.
화소 값들이 음이 아니므로, DCT 성분 X(0,0)은 항상 양이며, 통상적으로 최대에너지를 가진다. 실제로, 통상의 영상들에 있어서, 대부분의 변환에너지는 X(0,0) 성분 주변에 집중된다. 이러한 에너지 밀집 특성이 DCT 기술을 매력적인 압축 방법으로 만드는 것이다.
영상 압축 기술은 콘트라스트 적응형 코딩을 이용하여 추가적인 비트 레이트 감소를 달성한다. 대부분의 원본 영상들은 비교적 느리게 변화하는 단조(flat) 영역들, 및 오브젝트 경계 및 높은 콘트라스트 텍스처와 같이 복잡한(busy) 영역들로 구성되는 것으로 관찰되었다. 콘트라스트 적응형 코딩 방식들은 복잡한 영역들에는 더 많은 비트를 할당하고, 덜 복잡한 영역들에는 더 적은 비트를 할당함으로써 상기와 같은 팩터(factor)를 이용한다.
콘트라스트 적응형 방식들은 인터프레임 코딩(시간 및 공간 처리) 대신 인트라프레임 코딩(공간 처리)을 이용한다. 인터프레임 코딩은 본질적으로 더 많은 복잡한 처리 회로들 이외에 다수의 프레임 버퍼들을 필요로 한다. 많은 애플리케이션들에 있어서, 실제 구현을 위해서는 복잡성을 감소시켜야 한다. 또한, 인트라프레임 코딩은 시공간 코딩 방식을 브레이크 다운시키거나 불완전하게 수행하게 하는 상황에서 유용하다. 예를 들어, 기계적인 셔터로 인한 인티그레이션 타임(integration time)은 비교적 짧기 때문에, 초당 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을 계산한다. 그 분산은 다음의 수학식에 의해 계산된다.
Figure 112003050231996-pct00003
여기서, 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-even, Cr-odd)에 대한 블록 크기들을 할당하기 위해 유사한 처리가 사용한다. 컬러 성분들을 수평으로, 수직으로, 또는 수평 및 수직으로 데시메이트(decimate)할 수 있다.
또한, 블록 크기 할당을, 가장 큰 블록(본 실시예에서는 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)들 및 양자화 스케일 인자를 이용하여 양자화한다. 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 테이블은 데시메이트에 의해 얻어지며, 16×16 블록 크기의 FWM 테이블은 8×8 블록 값들을 보간함으로써 얻어진다. 스케일 인자는 양자화된 계수들의 비트 레이트 및 품질을 제어한다.
따라서, 각각의 DCT 계수는 다음 식에 따라 양자화된다.
Figure 112003050231996-pct00004
여기서 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의 일진 코드 몫으로 표현되며, 이는 나머지가
Figure 112009021436571-pct00005
보다 적을 때는
Figure 112009021436571-pct00006
비트 길이이고, 그렇지 않을 경우에는
Figure 112009021436571-pct00007
비트 길이이다. Golomb-Rice 코딩은 파라미터가 m=2k로 표현되는 Golomb 코딩의 특수한 경우이다. 이러한 경우에, n/m의 몫은 정수 n의 이진 표현을 k비트만큼 우측으로 이동함으로써 얻어지며, n/m의 나머지는 n의 최하위 k 비트에 의해 표현된다. 따라서, Golomb-Rice 코드는 2의 연결이다. Golomb-Rice 코딩은 이하와 같이 주어진 2-측면 기하학 (지수 함수) 분포를 가진 양의 정수와 음의 정수를 모두 인코딩하는데 사용될 수 있다.
Figure 112003050231996-pct00008
(1)
식(1)에서, α는 x의 확률 감소를 나타내는 파라미터이며, c는 정규화 상수이다. pα(x)가 단조 함수이므로, 정수값들의 시퀀스는 이하를 충족시켜야 하는 것으로 알 수 있다:
Figure 112003050231996-pct00009
(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)에 적합하다:
Figure 112003050231996-pct00010
(3)
식(3)에서,
Figure 112009021436571-pct00011
는 각각 수평 및 수직 크기의 주파수 k 및 l에 해당하는 DCT 계수를 나타내며, 평균은
Figure 112009021436571-pct00012
, 분산은
Figure 112009021436571-pct00013
이다. 따라서, 상술한 방식에서 Golomb-Rice 코딩의 사용은 DCT에서 데이터를 처리하는데 더욱 적합하다.
이하의 설명은 영상 데이터의 압축에 관하여 설명되지만, 실시예들은 오디오 데이터를 압축하는 실시예에도 동일하게 적용될 수 있다. 영상 데이터를 압축할 때, 영상 또는 비디오 신호는, 예를 들면 선형 또는 로그 인코딩된 화소 값을 가진 RGB 또는 YIQ, YUV, Y Cb Cr 성분일 수 있다.
도 6은 제로 및 비제로 계수를 인코딩하는 프로세스(600)를 도시한다. DCT 행렬이 스캔될 때, 제로 및 비제로 계수가 개별적으로 처리되어 분리된다(604). 제로 데이터에 대해, 제로 런의 길이가 결정된다(608). 런-길이는 양의 정수이다. 예를 들어, 만일 런-길이가 n이라면, Golomb 파라미터 m이 결정된다(612). 일 실시예에서, Golomb 파라미터는 런-길이의 함수로서 결정된다. 다른 실시예에서, Golomb 파라미터(m)는 이하의 식(4)에 의해 결정된다:
Figure 112003050231996-pct00014
(4)
선택적으로, 런-길이의 길이 및 관련 Golomb 파라미터가 카운터 또는 레지스터에 의해 카운트된다(616). 제로의 런-길이 n을 인코딩하기 위해, 몫이 인코딩된다(620). 이 실시예에서, 몫은 제로의 런-길이 및 Golomb 파라미터의 함수로서 결정된다. 다른 실시예에서, 몫(Q)은 이하의 식(5)에 의해 결정된다:
Figure 112003050231996-pct00015
(5)
일 실시예에서, 몫(Q)은 일진 코드로 인코딩되며, 이는 Q+1 비트를 필요로 한다. 다음으로, 나머지가 인코딩(624)된다. 일 실시예에서, 나머지가 런-길이 및 몫의 함수로서 인코딩된다. 다른 실시예에서, 나머지(R)가 이하의 식(6)을 사용하여 결정된다:
Figure 112003050231996-pct00016
(6)
일 실시예에서, 나머지(R)는 m-비트 이진 코드로 인코딩된다. 다음으로, 몫(Q) 및 나머지(R)가 결정되고, Q 및 R에 대한 코드가 연결되어 제로의 런-길이 n에 대한 모든 코드를 표현한다(628).
비제로 계수가 Golomb-Rice를 사용하여 인코딩된다. 계수 진폭이 양수 또는 음수일 수 있기 때문에, 부호 비트를 사용하고 소정 진폭의 절대값을 인코딩하는 것이 필요하다. 비제로 계수의 진폭이 x로 주어질 때, 진폭은 진폭의 절대값 및 부호의 함수로서 표현될 수 있다. 따라서, 진폭은 이하의 식(7)을 사용하여 y로서 표현된다:
Figure 112003050231996-pct00017
(7)
이에 따라, 비제로 계수의 값이 카운터 또는 레지스터(632)에 의해 선택적으로 카운트된다. 다음으로, 진폭이 제로와 같거나 큰지가 결정된다(636). 만일 그렇다면, 값이 주어진 값의 두 배로 인코딩된다(640). 그렇지 않다면, 값은 절대값의 두 배 이하로 인코딩된다(644). 다른 맵핑 방식이 사용될 수도 있다. 핵심은 값의 부호를 구별하기 위해 여분의 비트가 필요하지 않다는 것이다.
식(7)에 의해 표현된 바와 같이 진폭의 인코딩은 양의 x 값들은 짝수 정수, 음의 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 파라미터로서 사용된다:
Figure 112003050231996-pct00018
(6)
유사한 과정이 진폭에 대해 사용될 수도 있다.
도 1을 다시 참조하면, 인코더(104)에 의해 발생한 압축된 영상 신호가 버퍼(142)에 의해 일시적으로 저장되고, 다음으로 전송 채널(108)을 사용하여 디코더로 전송된다. 전송 채널(108)은 자기 또는 광학 저장 장치 또는 유선 및 무선 전송 처리 또는 장치와 같은 물리적 매체이다. 블록 크기 할당 정보를 포함하는 PQR 데이터가 디코더(112)(도 2 참조)에 제공된다. 디코더(112)는 버퍼(164) 및 가변 길이 디코더(168)를 포함하며, 이들은 런-길이 값 및 비제로 값을 디코딩한다. 가변 길이 디코더(168)는 도 6에 도시된 바와 유사하지만 반대되는 방식으로 동작한다.
가변 길이 디코더(168)의 출력은 사용된 스캔 방식에 따라 계수를 정렬하는 반전 직렬화기(172)에 제공된다. 예를 들면, 지그재그 스캔, 수직 스캔 및 수평 스캔의 혼합이 사용되었다면, 반전 직렬화기(172)는 사용된 스캔의 형태를 알려주는 계수를 적절하게 재정렬한다. 반전 직렬화기(172)는 복합 계수 블록으로의 계수의 적정 정렬을 보조하기 위해 PQR 데이터를 수신한다.
양자화 인수 및 주파수 가중 마스크를 사용으로 인한 처리를 되돌리기 위해 합성 블록이 반전 직렬화기(174)에 제공된다.
다음으로, 계수 블록이 IDQT 엘리먼트(186)에 제공되고, 차분 4진 변환이 적용되었다면 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. 양자화된(quantized) 주파수로 표현된 데이터- 상기 데이터는 제로(zero) 및 비제로(non-zero) 데이터를 포함함 -를 인코딩하는 방법으로서,
    제로 데이터에 대해,
    제로 런(run)-길이(n)를 결정하는 단계;
    상기 제로 런-길이의 함수로서 Golomb 파라미터(m)를 결정하는 단계 - 상기 Golomb 파라미터(m)는 식
    Figure 112009021436571-pct00048
    을 사용하여 결정됨 -;
    상기 제로 런-길이 및 상기 Golomb 파라미터의 함수로서 몫(Q)을 인코딩하는 단계;
    상기 제로 런-길이, 상기 Golomb 파라미터 및 상기 몫의 함수로서 나머지(R)를 인코딩하는 단계; 및
    상기 인코딩된 몫 및 상기 인코딩된 나머지를 연결하는(concatenate) 단계를 포함하고,
    비제로 데이터에 대해,
    상기 비제로 데이터의 값 및 상기 비제로 데이터의 부호의 함수로서 상기 비제로 데이터를 인코딩하는 단계를 포함하는, 양자화된 주파수로 표현된 데이터를 인코딩하는 방법.
  2. 제1항에 있어서,
    상기 몫(Q)은 식
    Figure 112009021436571-pct00020
    을 사용하여 결정되는, 양자화된 주파수로 표현된 데이터를 인코딩하는 방법.
  3. 제1항에 있어서,
    상기 나머지(R)는 식
    Figure 112009021436571-pct00021
    을 사용하여 결정되는, 양자화된 주파수로 표현된 데이터를 인코딩하는 방법.
  4. 제1항에 있어서,
    상기 비제로 데이터의 인코딩은 이하의 식을 사용하여 y의 값으로 결정되며,
    Figure 112009021436571-pct00022
    여기서, x는 인코딩될 비제로 데이터의 진폭인, 양자화된 주파수로 표현된 데이터를 인코딩하는 방법.
  5. 양자화된 주파수로 표현된 데이터- 상기 데이터는 제로 및 비제로 데이터를 포함함 -를 인코딩하는 장치로서,
    제로 데이터에 대해,
    제로 런-길이(n)를 결정하는 수단;
    상기 제로 런-길이의 함수로서 Golomb 파라미터(m)를 결정하는 수단 - 상기 Golomb 파라미터(m)는 식
    Figure 112009021436571-pct00049
    을 사용하여 결정됨 -;
    상기 제로 런-길이 및 상기 Golomb 파라미터의 함수로서 몫(Q)을 인코딩하는 수단;
    상기 제로 런-길이, 상기 Golomb 파라미터 및 상기 몫의 함수로서 나머지(R)를 인코딩하는 수단; 및
    상기 인코딩된 몫 및 상기 인코딩된 나머지를 연결하는 수단을 포함하고,
    비제로 데이터에 대해,
    상기 비제로 데이터의 값 및 상기 비제로 데이터의 부호의 함수로서 상기 비제로 데이터를 인코딩하는 수단을 포함하는, 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  6. 제5항에 있어서,
    상기 몫(Q)은 식
    Figure 112009021436571-pct00025
    을 사용하여 결정되는, 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  7. 제5항에 있어서,
    상기 나머지(R)는 식
    Figure 112009021436571-pct00026
    을 사용하여 결정되는, 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  8. 제5항에 있어서,
    상기 비제로 데이터의 인코딩은 이하의 식을 사용하여 y의 값으로 결정되며,
    Figure 112009021436571-pct00027
    여기서, x는 인코딩될 비제로 데이터의 진폭인, 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  9. 제5항에 있어서,
    상기 제로 런-길이, 비제로 데이터의 진폭 값, 및 상기 제로 런-길이 및 상기 비제로 데이터의 진폭 값이 각각 발생하는 해당 회수를 카운팅하는 수단을 더 포함하는, 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  10. 양자화된 주파수로 표현된 데이터- 상기 데이터는 제로 및 비제로 데이터를 포함함 -를 인코딩하는 장치로서,
    제로 데이터에 대해,
    제로 런-길이(n)를 결정하도록 구성된 제 1 결정기;
    상기 제로 런-길이의 함수로서 Golomb 파라미터(m)를 결정하도록 구성된 제 2 결정기 - 상기 Golomb 파라미터(m)는 식
    Figure 112009021436571-pct00050
    을 사용하여 결정됨 -;
    상기 제로 런-길이 및 상기 Golomb 파라미터의 함수로서 몫(Q)을 인코딩하고, 상기 제로 런-길이, 상기 Golomb 파라미터 및 상기 몫의 함수로서 나머지(R)를 인코딩하도록 구성되며, 비제로 데이터에 대해서는 상기 비제로 데이터의 값 및 상기 비제로 데이터의 부호의 함수로서 상기 비제로 데이터를 인코딩하도록 구성된 인코더; 및
    상기 인코딩된 몫과 상기 인코딩된 나머지를 연결하도록 구성된 연결 기를 포함하는, 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  11. 제10항에 있어서,
    상기 몫(Q)은 식
    Figure 112009021436571-pct00047
    을 사용하여 결정되는, 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  12. 제10항에 있어서,
    상기 나머지(R)는 식
    Figure 112009021436571-pct00031
    을 사용하여 결정되는, 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  13. 제10항에 있어서,
    상기 비제로 데이터의 인코딩은 이하의 식을 사용하여 y의 값으로 결정되며,
    Figure 112009021436571-pct00032
    여기서, x는 인코딩될 비제로 데이터의 진폭인, 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  14. 제10항에 있어서,
    상기 제로 런-길이, 비제로 데이터의 진폭 값, 및 상기 제로 런-길이 및 상기 비제로 데이터의 진폭 값이 각각 발생하는 해당 회수를 카운팅하는 수단을 더 포함하는, 양자화된 주파수로 표현된 데이터를 인코딩하는 장치.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
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 KR20040018400A (ko) 2004-03-03
KR100926381B1 true KR100926381B1 (ko) 2009-11-11

Family

ID=25404771

Family Applications (2)

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

Family Applications After (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) KR100926381B1 (ko)
CN (3) CN100518295C (ko)
BR (1) BR0210582A (ko)
CA (1) CA2451604C (ko)
HK (2) HK1095003A1 (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 삼성전자주식회사 무손실 오디오 부호화/복호화 방법 및 장치
US6987468B1 (en) * 2004-10-29 2006-01-17 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
KR20060051157A (ko) * 2004-10-29 2006-05-19 마이크로소프트 코포레이션 정수 데이터의 무손실 적응 인코딩 및 디코딩을 위한시스템 및 방법
US7015837B1 (en) * 2004-10-29 2006-03-21 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
US7580585B2 (en) 2004-10-29 2009-08-25 Microsoft Corporation Lossless adaptive Golomb/Rice encoding and decoding of integer data using backward-adaptive rules
KR100586026B1 (ko) * 2005-03-25 2006-06-02 한국전자통신연구원 디지털 홀로그램 부호화 또는/및 복호화 장치 및 그 방법
KR101088375B1 (ko) * 2005-07-21 2011-12-01 삼성전자주식회사 가변 블록 변환 장치 및 방법 및 이를 이용한 영상부호화/복호화 장치 및 방법
JP4732203B2 (ja) * 2006-03-17 2011-07-27 キヤノン株式会社 画像符号化装置及び復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US9161048B2 (en) * 2006-06-30 2015-10-13 Telecom Italia S.P.A. Method, apparatus and system for robust video transmission with auxiliary information channel
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
CN102171752B (zh) * 2008-10-10 2013-05-08 日本电信电话株式会社 编码方法、编码装置、解码方法、解码装置
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 ソニー株式会社 画像処理装置及び画像処理方法
US9560347B2 (en) 2011-08-23 2017-01-31 Hfi Innovation Inc. Method and system of transform block processing according to quantization matrix in video coding
WO2013067435A1 (en) * 2011-11-04 2013-05-10 Huawei Technologies Co., Ltd. Differential pulse code modulation intra prediction for high efficiency video coding
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
KR101818102B1 (ko) 2012-04-13 2018-01-12 캐논 가부시끼가이샤 인코딩된 비디오 데이터의 변환 유닛의 서브세트를 인코딩 및 디코딩하는 방법, 장치 및 시스템
DK3416292T3 (da) 2012-04-15 2020-03-09 Samsung Electronics Co Ltd Videoafkodningsapparat ved anvendelse af parameteropdatering til de-binærisering af en entropikodet transformationskoefficient og indkodnings-fremgangsmåde anvendende det samme til binærisering
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 成都华日通讯技术有限公司 无线电频谱信号的时域压缩方法
CA2880458A1 (en) 2014-01-29 2015-07-29 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
WO2016119046A1 (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
PT3874492T (pt) * 2018-10-31 2024-01-09 Nokia Technologies Oy Determinação de codificação de parâmetro de áudio espacial e descodificação associada
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 安徽中科大国祯信息科技有限责任公司 基于云边协同的水务数据快速传输方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000031178A (ko) * 1998-11-04 2000-06-05 구자홍 무손실 부호화 방법 및 장치

Family Cites Families (19)

* 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
US5021891A (en) 1990-02-27 1991-06-04 Qualcomm, Inc. Adaptive block size image compression method and system
US5107345A (en) 1990-02-27 1992-04-21 Qualcomm Incorporated 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
US5784631A (en) 1992-06-30 1998-07-21 Discovision Associates Huffman decoder
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 符号化装置及び方法及び記憶媒体
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000031178A (ko) * 1998-11-04 2000-06-05 구자홍 무손실 부호화 방법 및 장치

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100926381B1 (ko) Golomb-rice 코딩을 사용한 dct 압축
JP4927888B2 (ja) ゴロム・ライスを使用する無損失フレーム内符号化
KR100946600B1 (ko) 무손실 방식으로 디지털 이미지 데이터를 인코딩하기 위한 장치 및 방법
KR100932412B1 (ko) 구성가능한 패턴 옵티마이저
JP2004531995A5 (ko)
JP2015039176A (ja) ディジタル画像および音声データを無損失に復号化するためのシステムおよび方法
AU2002316546A1 (en) Lossless intraframe encoding using golomb-rice
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