KR100932412B1 - 구성가능한 패턴 옵티마이저 - Google Patents

구성가능한 패턴 옵티마이저 Download PDF

Info

Publication number
KR100932412B1
KR100932412B1 KR1020037016442A KR20037016442A KR100932412B1 KR 100932412 B1 KR100932412 B1 KR 100932412B1 KR 1020037016442 A KR1020037016442 A KR 1020037016442A KR 20037016442 A KR20037016442 A KR 20037016442A KR 100932412 B1 KR100932412 B1 KR 100932412B1
Authority
KR
South Korea
Prior art keywords
blocks
data
block
group
color components
Prior art date
Application number
KR1020037016442A
Other languages
English (en)
Other versions
KR20040010722A (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 KR20040010722A publication Critical patent/KR20040010722A/ko
Application granted granted Critical
Publication of KR100932412B1 publication Critical patent/KR100932412B1/ko

Links

Images

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/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/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/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/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/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (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)
  • Television Systems (AREA)

Abstract

본 발명은 디지털 시네마 시스템에서 주파수 기반 이미지 데이터를 직렬화하는 장치 및 방법을 설명한다. 데이터의 16 ×16 블록으로 표현될 수도 있는 데이터의 적어도 하나의 그룹을 컴파일한다. 선택적으로, 데이터의 프레임을 컴파일한다. 데이터의 그룹을 각각이 8 ×8 블록들로 표현될 수도 있는 4 개의 그룹들로 분할한다. 데이터의 4 개의 8 ×8 블록들 각각을 지그-재그 스캐닝, 수직 스캐닝, 및/또는 수평 스캐닝을 이용하여 직렬화한다.
지그재그 스캐닝

Description

구성가능한 패턴 옵티마이저 {CONFIGURABLE PATTERN OPTIMIZER}
발명의 배경
Ⅰ. 발명의 분야
본 발명은 이미지 프로세싱 및 압축에 관한 것이다. 더 상세하게는, 본 발명은 압축된 이미지들에 대하여 구성가능한 패턴 옵티마이저에 관한 것이다.
Ⅱ. 관련 기술의 설명
디지털 사진 프로세싱은 디지털 신호 프로세싱의 일반적인 원리에 있어서 주요한 위치를 차지한다. 인간 시각 인식의 중요성은 디지털 사진 프로세싱의 기술 및 과학에 있어서 커다란 흥미 및 발전을 촉진시켰다. 영화 또는 영화를 투사 (project) 하는데 사용되는 신호들과 같은, 비디오 신호들의 송수신의 분야에 있어서, 이미지 압축 기술에 대하여 다양한 개선이 행해지고 있다. 많은 현재의 비디오 시스템 및 제안된 비디오 시스템은 디지털 인코딩 기술들을 사용하고 있다. 이러한 분야의 양태들은 이미지 코딩, 이미지 복구, 및 이미지 특성 선택을 포함한다. 이미지 코딩은 요구되는 대역폭을 가능한한 최소화할 수 있을 만큼 작은 비트를 이용하면서 동시에 왜곡을 소정의 제한이내로 유지하는 효과적인 방식으로 디지털 통신 채널들의 사진들을 송신하려는 것을 나타낸다. 이미지 복구는 오브젝트(object)의 실제 이미지를 복구하고자 하는 것을 나타낸다. 통신 채널을 통하여 송신되는 코딩된 이미지는 다양한 인자들에 의해 왜곡되고 있다. 저하의 소스는 오브젝트로부터 이미지를 생성시에 원래 발생할 수도 있다. 특징 선택은 사진의 소정의 속성들의 선택을 지칭한다. 이러한 속성들은 더 넓은 컨텍스트에서 인식, 분류, 및 결정에 요구될 수도 있다.
디지털 시네마의 디지털 인코딩과 같은, 비디오의 디지털 인코딩은 개선된 이미지 압축 기술들로부터 이득을 얻는 영역이다. 일반적으로, 디지털 이미지 압축은 2 개의 카테고리 즉, 무손실 (loss-less) 방법 및 손실 (lossy) 방법으로 분류될 수도 있다. 무손실 이미지는 어떤 정보의 손실 없이 복구된다. 손실 방법은, 압축 비율, 압축 알고리즘의 품질, 알고리즘의 구현에 따라, 일부 정보의 회복불가능한 손실을 수반한다. 일반적으로, 손실 압축 접근방식들은 비용효율적인 디지털 시네마 접근방식에 대하여 소망하는 압축 비율을 획득하도록 고려되고 있다. 디지털 시네마 품질 레벨들을 달성하기 위하여, 압축 접근방식은 시각적 무손실 성능 레벨을 제공해야 한다. 이와 같이, 압축 프로세스의 결과로서 정보의 수학적 손실이 존재하더라도, 이러한 손실에 의해 발생되는 이미지 왜곡은 정상 보기 상태하에서 뷰어에 감지될 수 없어야 한다.
현존 디지털 이미지 압축 기술들은, 다른 애플리케이션들 즉, 텔레비전 시스템들에 대하여 발전되고 있다. 이러한 기술들은 의도된 애플리케이션에 대하여 적합한 설계 절충안을 생성하지만, 시네마 프레젠테이션에 필요한 품질 요구를 충족시키지는 못 한다.
디지털 시네마 압축 기술은, 영화 팬이 이전에 경험하였던 시각 품질을 제공하여야 한다. 이상적으로, 디지털 시네마의 시각 품질은 고 품질의 릴리즈 프 린트 필름의 시각 품질을 초과해야 한다. 동시에, 압축 기술은 실용적인 높은 코딩 효율을 가져야 한다. 여기에 정의된 바와 같이, 코딩 효율은 소정의 질적인 (qualitative) 레벨을 충족시키기 위하여 압축된 이미지 품질에 대하여 요구되는 비트 레이트를 지칭한다. 또한, 시스템 및 코딩 기술은 내재된 융통성을 가져 서로다른 포맷들을 수용해야 하고, 비용 효율적으로 되어야 하며, 즉 작은 크기의 효율적인 디코더 또는 인코더 프로세스이어야 한다.
이용가능한 많은 압축 기술들이 상당한 압축 레벨들을 제공하지만, 비디오 신호의 품질을 저하시킨다. 통상적으로, 압축된 정보를 전송하는 기술들은 일정한 비트 레이트로 전달되는 압축된 정보를 요구한다.
비디오 신호들의 소망의 품질 레벨을 보존하면서 상당한 압축 레벨들을 제공할 수 있는 하나의 압축 기술은, 인코딩된 DCT (Discrete Cosine Transform) 계수 데이터의 적응형 크기의 블록 및 서브-블록들을 이용한다. 이하에서는, 이 기술을 적응형 블록 크기의 이산 코사인 변환 (ABSDCT) 방법이라 한다. 이 기술은 명칭이 "Adaptive Block Size Image Compression Metheod And System"으로, 본 발명의 양수인에게 양도되며, 여기서 참조되는 미국 특허 제 5,021,891 호에 개시되어 있다. 또한, DCT 기술들은, 명칭이 "Adaptive Block Size Image Compression Method And System" 으로, 본 발명의 양수인에게 양도되고, 여기서 참조되는 미국 특허 제 5,107,345 호에 개시되어 있다. 또한, 차동 쿼드트리 변환 기술과 관련된 ABSDCT의 사용이, 명칭이 "Adaptive Block Size Image Compression Method And System"으로, 본 발명의 양수인에게 양도되며, 여기서 참 조되는 미국 특허 제 5,452,104 호에 개시되어 있다. 이러한 특허들에 개시된 시스템들은 "인트라 프레임" 인코딩으로 지칭되는 것을 이용하며, 여기서 이미지 데이터의 각 프레임은 임의의 다른 프레임의 컨텐츠와 관련되지 않고 인코딩된다. ABSDCT 기술을 이용하여, 달성가능한 데이터 레이트는 대략 초 당 15억 비트로부터 대략 초 당 5천만 비트로 감소될 수도 있다.
ABSDCT 기술은 흑백 또는 컬러 이미지 또는 그 이미지를 나타내는 신호 중 어느 하나를 압축하는데 사용될 수 도 있다. 컬러 입력 신호는 YIQ 포맷일 수도 있고, Y 는 휘도, 또는 밝기일 수 있고, I 및 Q 는 화소들의 각 4 ×4 블록에 대하여 크로미넌스 또는 컬러 샘플일 수 있다. 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 계수들에 집중시킬 수도 있다. 부가적인 변환에 있어서, 차동 쿼드트리 변환 (DQT) 를 사용하여 DCT 계수들 사이의 리던던시를 감소시킬 수도 있다.
16 ×16 블록 및 각 서브 블록에 대하여, DCT 계수 값들 및 DCT 값 (만일 DQT 가 사용되면) 을 분석하여 블록 또는 서브-블록을 인코딩하는데 요구되는 비트들의 개수를 결정한다. 그 후, 인코드할 최소 개수의 비트를 요구하는 블록 또는 서브-블록들의 결합을 선택하여 이미지 세그먼트를 나타낸다. 예를 들어, 2 개의 8 ×8 서브 블록, 6 개의 4 ×4 서브 블록, 및 8 개의 2 ×2 서브 블록을 선택하여 이미지 세그먼트를 나타낸다.
그 후, 선택된 블록 또는 서브 블록들의 결합을 16 ×16 블록으로 순서대로 적절히 배열한다. 그 후, 송신을 위하여 DCT/DQT 계수 값들을 주파수 웨이팅, 양자화, 및 코딩(가변 길이 코딩 등)시킬 수도 있다. 상술한 ABSDCT 기술이 현저하게 잘 수행되고 있지만, 이는 계산 집중적인 것이 된다. 따라서, 상기 기 술의 컴팩트한 하드웨어 구현은 어렵게 될 수도 있다.
가변 길이 코딩은 동작(run) 길이 및 크기의 형태로 달성되고 있다. JPEG (Joint Photographic Experts Group) 또는 MPEG (Moving Picture Experts Group)-2 와 같은 다른 압축 방법들은 프로세싱되는 전체 블록 크기에 걸쳐 표준 지그-재그 스캐닝법을 이용한다. 그러나, ABSDCT를 이용하여, 서로 다른 블록 크기들을 데이터의 블록들내의 편차에 기초하여 생성한다. 따라서, 표준 지그-재그 스캐닝법은 프로세싱되는 전체 블록 크기에 걸쳐 항상 최적이지는 않다. 또한, 각 블록 크기에 걸친 표준 지그-재그 스캐닝법을 하드웨어로 구현하는 것은 어려울 수도 있다. 또한, 지그-재그 패턴은 항상 소정의 블록 또는 프레임에 대하여 최적의 패턴이 아니다. 따라서, 최적의 패턴을 결정하는 방법 및 장치가 요구된다.
발명의 개요
본 발명의 실시형태들은 최적의 패턴 결정기의 장치 및 방법을 제공한다. 하나의 실시형태에서, 최적의 패턴은 프레임간 기초에 의해 구성될 수 있다. 또 다른 실시형태에서는, 적응형 블록 크기의 이산 코사인 변환 (ABSDCT) 기술에 의해 결정되는 실제 블록 크기에 상관없이, 소정의 블록 크기의 디폴트 패턴을 사용한다.
본 발명은 이산 코사인 변환 계수 데이터의 적응형 크기의 블록들 및 서브-블록들 및 품질 기반 양자화 스케일 인자를 이용하는 이미지 압축의 품질 기반 시스템 및 방법이다. 화소 데이터의 블록을 인코더로 입력한다. 인코더는 프 로세싱용 화소들의 입력 블록을 분할하는 블록 크기 할당 (BSA) 엘리먼트를 구비한다. 블록 크기 할당은 입력 블록의 편차에 기초하며, 추가적으로 블록들을 세분한다. 일반적으로, 블록 및 서브-블록 평균 값들이 서로 다른 소정의 범위내에 있는 경우, 더 큰 편차들을 가지는 영역들은 더 작은 블록들로 세분되고, 더 작은 편차들을 가지는 영역들은 세분되지 않는다. 따라서, 블록의 편차 임계값을 먼저 그 평균 값에 따라 그 공칭 값으로부터 변경시킨 후, 블록의 편차를 임계값과 비교하고, 그 편차가 그 임계값보다 더 큰 경우, 블록을 세분한다.
블록 크기 할당을 화소 데이터를 주파수 영역 데이터로 변환하는 변환 엘리먼트로 제공한다. 그 변환은 블록 크기 할당을 통하여 선택되는 블록 및 서브-블록들에 대해서만 수행된다. 그 후, 변환 데이터를 양자화 및 직렬화를 통하여 스케일링한다. 변환 데이터의 양자화는, 콘트라스트, 계수 카운트, 레이트 왜곡, 블록 크기 할당들의 밀도에 대하여 조정하는 스케일 인자 및/또는 과거의 스케일 인자들과 같은 이미지 품질 메트릭에 기초하여 양자화된다. 직렬화는 동일한 값의 가장 긴 허용가능한 동작 길이를 생성하는 것에 기초한다. 실시형태에서는, 블록 크기 할당에 상관없이, 고정된 블록 크기의 지그재그 스캐닝을 이용하여 데이터를 직렬화하여 데이터의 스트림을 생성한다. 또 다른 실시형태에서, 블록 크기는 8 ×8 이다. 데이터의 스트림은 송신을 위하여 가변 길이 코더에 의해 코딩될 수도 있다. 인코딩된 데이터를 송신 채널을 통하여 디코더로 전송하며, 여기서 화소 데이터는 디스플레이를 위하여 재구성된다.
또 다른 실시형태에서, 디지털 시네마 시스템에서 주파수 기반 이미지 데이 터를 직렬화하는 방법을 설명한다. 데이터의 16 ×16 블록으로 표현될 수도 있는 적어도 하나의 데이터의 그룹을 컴파일한다. 선택적으로, 데이터의 프레임을 컴파일한다. 데이터의 그룹을 각각 8 ×8 블록들로 표현될 수도 있는 4 개의 그룹들로 분할한다. 데이터의 4 개의 8 ×8 블록들 각각은 지그-재그 스캐닝, 수직 스캐닝, 및/또는 수평 스캐닝을 이용하여 직렬화된다.
따라서, 실시형태의 양태는, 실제 블록 크기 할당에 상관없이, 8 ×8 블록들로 스캐닝하기 위한 고정 패턴을 이용하여 데이터의 블록들을 프로세스하는 것이다.
실시형태의 또 다른 양태는 프레임간 기초에 의해 최적의 스캐닝 기술을 결정 및 구현하는 것이다.
실시형태의 또 다른 양태는 사용자에게 구성가능한 스캐닝 패턴들을 제공하는 것이다.
도면의 간단한 설명
본 발명의 특징 및 이점을 첨부된 도면을 참조하여 상세히 설명하며, 도면 중 동일한 참조부호는 동일한 구성요소를 나타낸다.
도 1 은 본 발명의 블록 크기 할당 시스템 및 방법에 기초한 편차를 포함하는 품질 기반 이미지 프로세싱 시스템의 인코더 부분에 대한 블록도이다.
도 2 는 본 발명의 블록 크기 할당 시스템 및 방법에 기초한 편차를 포함하는 품질 기반 이미지 프로세싱 시스템의 디코더 부분에 대한 블록도이다.
도 3 은 편차 기반 블록 크기 할당에 포함되는 프로세싱 단계들을 나타내는 흐름도이다.
도 4a 는 예시적인 블록 크기 할당을 나타낸다.
도 4b 는 16 ×16 블록 크기에 걸친 지그-재그 패턴을 나타낸다.
도 4c 는 각 가변 블록 크기내의 지그-재그 패턴을 나타낸다.
도 5a 는 실제 블록 크기와는 독립적인 8 ×8 블록의 지그-재그 스캔 패턴을 나타낸다.
도 5b 는 실제 블록 크기와는 독립적인 8 ×8 블록으로 구현되는 서로 다른 스캔 패턴들을 나타낸다.
도 6a 는 직렬화 프로세스의 실시형태를 나타낸다.
도 6b 는 직렬화 프로세스의 다른 실시형태를 나타낸다.
바람직한 실시형태의 상세한 설명
디지털 신호들의 디지털 송신을 용이하게 하고 대응하는 이점을 얻기 위하여, 통상적으로 일부 신호 압축의 형태를 사용할 필요가 있다. 최종적인 이미지에서 높은 압축을 달성하기 위하여, 이미지의 높은 품질을 유지하는 것이 또한 중요하다. 또한, 계산 효율이 많은 애플리케이션들에서 중요하게 되는 컴팩트한 하드웨어 구현에 대하여 요구된다.
본 발명의 하나의 실시형태를 상세히 설명하기 이전에, 본 발명은 그 애플리케이션에서 있어서 상세한 설명부에서 설명되거나 또는 도면에 예시되는 구성요소들의 구성 및 배열의 세부사항들로 제한되지 않음을 이해할 수 있다. 본 발명은 다른 실시형태들로 실행될 수 있고, 다양한 방식들로 수행될 수 있다. 또 한, 여기서 사용되는 용어 및 전문용어는 설명을 위한 것이며 제한적인 것으로 간주하여서는 안됨을 이해할 수 있다.
실시형태의 양태에 사용되는 이미지 압축은, 명칭이 "Contrast Sensitive Variance Based Adaptive Block Size DCT Image Compression" 으로, 1999년 11 월 8 일자로 출원되고, 본 발명의 양수인에게 양도되며 여기서 참조되는 계류중인 미국 특허 출원 제 09/436,085 호에 개시되어 있는 기술과 같은, 이산 코사인 변환 (DCT) 기술에 기초한다. 일반적으로, 디지털 영역에서 프로세싱되는 이미지는 크기가 N ×N 인 비중첩 블록의 어레이로 분할되는 화소 데이터로 구성된다. 각 블록에 대하여 2 차원 DCT를 수행할 수도 있다. 2 차원 DCT 는 아래의 관계에 의해 정의된다.
Figure 112003047882231-pct00001
여기서,
Figure 112003047882231-pct00002
, 및
x(m,n) 은 N ×M 블록내의 (m,n) 위치에서의 화소이고,
x(k,l) 은 대응하는 DCT 계수이다.
화소 값들이 난-네가티브이므로, DCT 성분 X(0,0) 은 항상 포지티브이고, 통상적으로 가장 많은 에너지를 가진다. 실제로, 통상적인 이미지들에 대하여, 대부분의 변환 에너지를 그 성분 X(0,0) 주위에 집중시킨다. 이 에너지 압축 특성은 이러한 매력적인 압축 방법과 같은 DCT 기술을 사용한다는 것이다.
이미지 압축 기술은 콘트라스트 적응 코딩을 이용하여 추가적인 비트 레이트 감소를 달성하는 것이다. 가장 많은 자연스런 이미지들은 비교적 느리게 변화하는 평탄한 영역들과 오브젝트 경계 및 높은 콘트라스트 텍스처와 같은 비지(busy) 영역들로 구성된다. 콘트라스트 적응 코딩 방식들은 비지 영역들에 더 많은 비트들을 할당하고, 보다 덜 비지한 영역들에는 적은 비트들을 할당함으로써 이러한 인자를 이용한다.
콘트라스트 적응 방법들은 인터프레임 코딩(시-공간 프로세싱) 대신에 인트라프레임 코딩 (공간 프로세싱) 을 이용한다. 인터프레임 코딩은 본래 더 많은 복잡한 프로세싱 회로들에 더하여 다수의 프레임 버퍼들을 요구한다. 많은 애플리케이션들에 있어서, 실제 실행에 대한 복잡성이 감소되어야 한다. 또한, 인트라프레임 코딩은, 시-공간 코딩 방식을 브레이크 다운시키고 불충분하게 수행하게 하는 상태에서 유용하게 된다. 예를 들어, 기계적인 셔터로 인한, 통합 시간이 비교적 짧기 때문에, 초 당 24 프레임의 영화는, 이 카테고리에 포함될 수 있다. 짧은 통합 시간은 시간 에일리어싱의 등급을 더 높게 한다. 프레임간 상관의 가정은 프레임이 갑자기 움직일 때 고속 움직임에 대하여 브레이크 다운된다는 것이다. 또한, 인트라프레임 코딩은 50 ㎐ 와 60 ㎐ 전력 라인 주파수들이 포함되는 경우에 표준화하기가 더 쉬워진다. 일반적으로, 텔레비전은 50 ㎐ 또는 60 ㎐ 중 어느 하나로 신호들을 송신한다. 디지털 접근 방식인 인트라프레임 방식을 사용하여 50 ㎐ 및 60 ㎐ 동작으로 적응시키거나, 또는 프레임 레이트 대 공간 해상도를 트레이트 오프시킴으로써 초 당 24 프레임 영화로도 적응시킬 수 있다.
이미지 프로세싱을 위하여, DCT 동작은 비중첩 블록들의 어레이로 분할되는 화소 데이터로 수행된다. 블록 크기들은 N ×N 크기로 여기서 설명되지만, 다양한 블록 크기들을 사용할 수도 있음을 알 수 있다. 예를 들어, M 이 N 보다 더 크거나 또는 N 보다 더 작은, N 과 M 모두가 정수인 경우에, N ×M 블록 크기를 이용할 수도 있다. 또 다른 중요한 양태는 블록이 적어도 하나의 레벨의 서브-블록들 즉, N/ixN/i, N/ixN/j, N/ixM/j (여기서, i 및 j 는 정수) 등으로 분할될 수 있다는 것이다. 또한, 여기서 설명한 바와 같이 예시적인 블록 크기는 DCT 계수들의 대응하는 블록 및 서브-블록들을 가진 16 ×16 블록이다. 또한, 예를 들어 9 ×9 인 짝수 또는 홀수 값과 같은 다양한 다른 정수들을 사용할 수도 있음을 알 수 있다.
도 1 및 도 2 는 구성가능한 직렬화기의 개념을 포함하는 이미지 프로세싱 시스템 (100) 을 나타낸다. 이미지 프로세싱 시스템 (100) 은 수신된 비디오 신호를 압축하는 인코더 (104) 를 구비한다. 그 압축된 신호를 송신 채널 또는 물리적 매체 (108) 를 이용하여 송신하고, 디코더 (112) 에 의해 수신한다. 디코더 (112) 는 수신된 인코딩 데이터를 이미지 샘플들로 디코드하며, 상기 이미지 샘플들은 이후에 나타낸다.
일반적으로, 이미지를 프로세싱용 화소들의 블록들로 분할한다. 컬러 신 호를 RGB/YC1C2 컨버터 (116) 를 이용하여 RGB 공간으로부터 YC1C2 공간으로 변환할 수도 있으며, 여기서 Y 는 휘도 또는 밝기 성분이며, C1 및 C2 는 크로미넌스 또는 컬러 성분이다. 컬러에 대한 눈의 공간 감도가 낮기 때문에, 많은 시스템들은 C1 및 C2 성분을 수평 및 수직 방향으로 4 개의 인자에 의해 서브샘플링한다. 그러나, 서브-샘플링이 반드시 필요하지는 않다. 4:4:4 포맷으로 알려진 풀(full) 해상도 이미지는, "디지털 시네마" 커버링으로 지칭되는 것과 같은 일부 애플리케이션들에 매우 유용하거나 또는 필요하게 될 수도 있다. 2 개의 허용가능한 YC1C2 표현은, YIQ 표현 및 YUV 표현이며, 이들 모두는 당해분야에 공지되어 있다. 또한, YCbCr 로 알려진 YUV 표현의 변형을 사용할 수도 있다. 이는 추가적으로 홀수 및 짝수 성분들로 분리될 수도 있다. 따라서, 실시형태에서는, Y-짝수, Y-홀수, Cb-짝수, Cb-홀수, Cr-짝수, Cr-홀수를 사용한다.
바람직한 실시형태에서는, 짝수 및 홀수의 Y, Cb 및 Cr 성분들 각각을 서브-샘플링없이 처리한다. 따라서, 화소들의 16 ×16 블록의 6 개의 성분들 각각의 입력을 인코더 (104) 로 제공한다. 예시를 위하여, Y-짝수 성분의 인코더 (104) 를 나타낸다. Y-홀수 성분, 그리고 짝수와 홀수의 Cb 및 Cr 성분들에 대하여 유사한 인코더들을 사용한다. 인코더 (104) 는 비디오 압축에 대비하여 블록 크기 할당을 수행하는 블록 크기 할당 엘리먼트 (120) 를 구비한다. 블록 크기 할당 엘리먼트 (120) 는 블록내의 이미지의 지각 특성들에 기초하여 16 ×16 블록의 블록 분해를 결정한다. 블록 크기 할당 엘리먼트는, 16 ×16 블록내의 활동도에 따라 쿼드-트리 방식으로 각각의 16 ×16 블록을 8 ×8, 4 ×4, 및 2 ×2 와 같은 더 작은 블록들로 세분한다. 블록 크기 할당 엘리먼트 (120) 는 길이가 1 과 21 비트 사이에 있는 PQR 데이터로 지칭되는 쿼드-트리 데이터를 생성한다. 따라서, 블록 크기 할당 엘리먼트가 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 112003047882231-pct00003
와 같이 계산된다.
여기서, N=16 이고, xi,j 는 N ×N 블록내의 i 번째 로우, j 번째 칼럼의 화소이다. 단계 206 에서, 블록의 평균값이 2 개의 소정의 값들 사이에 있는 경우, 먼저 편차 임계값 T16 을 변경하여 새로운 임계값 T'16을 제공한 후, 블록 편차를 새로운 임계값 T'16 과 비교한다.
편차 v16 이 임계값 T16 보다 더 크지 않은 경우, 그 후 단계 208 에서, 16 ×16 블록의 개시 어드레스를 임시 기억장치에 기록하고, PQR 데이터의 R 비트를 0 으로 설정하여 16 ×16 블록이 세분되지 않았음을 나타낸다. 그 후, 알고리즘은 화소들의 다음 16 ×16 블록을 판독한다. 편차 v16 이 임계값 T16 보다 더 큰 경우, 그 후 단계 210 에서, PQR 데이터의 R 비트를 1 로 설정하여 16 ×16 블록을 4 개의 8 ×8 블록으로 세분할 것임을 나타낸다.
4 개의 8 ×8 블록, i=1:4 는 단계 212 에 나타낸 바와 같이 추가적인 세분에 대하여 순차적으로 고려된다. 각 8 ×8 블록에 대하여, 편차 v8i 를 단계 214 에서 계산한다. 단계 216 에서, 블록의 평균값이 소정의 2 개의 값들 사이에 있는 경우, 먼저 편차 임계값 T8 을 변경하여 새로운 임계값 T'8을 제공한 후, 블록 편차를 새로운 임계값과 비교한다.
편차 v8i 가 임계값 T8 보다 더 크지 않은 경우, 그 후 단계 218 에서, 8 ×8 블록의 개시 어드레스를 임시 기억장치에 기록하고, 대응하는 Q 비트 Qi 를 0 으로 설정한다. 그 후, 다음 8 ×8 블록을 프로세싱한다. 만일 편차 v8i 가 임계값 T8 보다 더 큰 경우, 그 후 단계 220 에서, 대응하는 Q 비트 Qi 를 1 로 설정하여 8 ×8 블록을 4 개의 4 ×4 블록으로 세분할 것임을 나타낸다.
4 개의 4 ×4 블록, ji=1:4 은 단계 222 에 나타낸 바와 같이 추가적인 세분 을 위하여 순차적으로 고려된다. 각 4 ×4 블록에 대하여, 단계 224 에서, 편차 v4ij 를 계산한다. 단계 226 에서, 블록의 평균값이 소정의 2 개의 값들 사이에 있는 경우, 먼저 편차 임계값 T4 를 변경하여 새로운 임계값 T'4를 제공한 후, 블록 편차를 새로운 임계값과 비교한다.
편차 v4ij 가 임계값 T4 보다 더 크지 않은 경우, 그 후 단계 228 에서, 4 ×4 블록의 어드레스를 기록하고, 대응하는 P 비트 Pij 를 0 으로 설정한다. 그 후, 다음 4 ×4 블록을 프로세싱한다. 편차 vij 가 임계값 T4 보다 더 큰 경우, 그 후 단계 230 에서, 대응하는 P 비트 Pij 를 1 로 설정하여 4 ×4 블록을 4 개의 2 ×2 블록들로 세분할 것임을 나타낸다. 또한, 4 개의 2 ×2 블록들의 어드레스를 임시 기억장치에 기록한다.
임계값 T16, T8, 및 T4 는 소정의 상수일 수도 있다. 이는 하드 결정으로 공지되어 있다. 선택적으로, 적응 또는 소프트 결정이 실행될 수도 있다. 예를 들어, 소프트 결정은 2N ×2N 블록의 평균 화소값에 따라 편차들의 임계값들을 변경하며, 여기서 N 은 8, 4, 또는 2 일 수 있다. 따라서, 평균 화소 값들의 함수들을 임계값들로 사용할 수도 있다.
예시를 위하여, 이하의 예를 고려한다. Y 성분의 소정의 편차 임계값들을 각각 16 ×16, 8 ×8, 및 4 ×4 블록들에 대하여 50, 1100, 및 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 블록을 세분한다. 세분된 블록 크기 할당을 도 4a 에 나타낸다. 대응하는 쿼드-트리 분해를 도 4b 에 나타낸다. 또한, 이 데이터 크기 할당에 의해 생성된 PQR 데이터를 도 4c 에 나타낸다.
유사한 과정을 이용하여 컬러 성분 Y-odd, Cb-even, Cb-odd, Cr-even 및 Cr-odd 의 블록 크기를 할당한다. 컬러 성분들은 수평, 수직 또는 양쪽 모두로 십진화될 수도 있다.
또한, 블록 크기 할당을 탑 다운 접근방식으로 설명하였지만, 여기서는 가장 큰 블록(이 예에서는 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 블록들로 개시하여, 2-D DCT를 4 개의 DC 계수들로 수행한다. 이 2 ×2 DCT 를 4 개의 DC 계수들의 차동(differential) 쿼드-트리 변환 또는 DQT 라 한다. 다음으로, 8 ×8 블록 내의 3 개의 인접 DC 계수들과 함께 DQT 의 DC 계수를 이용하여 다음 레벨의 DQT를 계산한다. 최종적으로, 16 ×16 블록내의 4 개의 8 ×8 블록들의 DC 계수들을 사용하여 DQT 를 계산한다. 따라서, 16 ×16 블록에서, 하나의 실제 DC 계수가 존재하며, 나머지는 DCT 및 DQT 에 대응하는 AC 계수가 된다.
변환 계수들 (DCT 및 DQT) 을 양자화기에 제공하여 양자화한다. 바람직한 실시형태에서, 주파수 웨이팅 마스크 (FWM) 및 양자화 스케일 인자를 이용하여 DCT 계수들을 양자화한다. FWM 은 입력 DCT 계수들의 블록과 같은 크기의 주파 수 웨이트들의 테이블이다. 주파수 웨이트들은 다른 DCT 계수들의 다른 웨이트들을 제공한다. 웨이트들은 인간의 시각 또는 눈 시스템이 더욱 민감하게 되는 주파수 컨텐츠를 가지는 입력 샘플들을 강조하고, 그 시각 또는 눈 시스템이 덜 민감하게 되는 주파수 컨텐츠를 가지는 샘플들을 덜 강조하도록 설계된다. 또한, 웨이트들은 보이는 거리 등과 같은 인자들에 기초하여 설계될 수도 있다.
웨이트들은 경험적인 데이터에 기초하여 선택된다. 8 ×8 DCT 계수들의 웨이팅 마스크들을 설계하는 방법이, 여기서 참조되는 ISO/IEC JTC1 CD 10918, "연속적인-톤 스틸 이미지의 디지털 압축 및 인코딩 - 파트 1 : 필요물 및 가이드라인", 국제 표준 기구, 1994 에 개시되어 있다. 일반적으로, 2 개의 FWM 이 설계되며, 하나는 휘도 성분에 대한 것이고, 다른 하나는 크로미넌스 성분에 대한 것이다. 블록 크기 2 ×2, 4 ×4 의 FWM 테이블을 데시메이션에 의해 획득하고, 16 ×16 블록의 테이블은 8 ×8 블록에 대하여 보간하여 획득한다. 스케일 인자는 양자화된 계수들의 품질 및 비트 레이트를 제어한다.
따라서, 각 DCT 계수가,
Figure 112003047882231-pct00004
의 관계에 따라 양자화된다.
여기서, DCT(i,j)는 입력 DCT 계수이고, fwm(i,j)는 주파수 웨이팅 마스크이고, q 는 스케일 인자이고, 그리고 DCTq(i,j) 는 양자화된 계수이다. DCT 계수의 부호에 따라, 격자 내부의 제 1 항을 라운드 업 또는 라운드 다운시킨다. 또한, DQT 계수들을 적절한 웨이팅 마스크를 이용하여 양자화한다. 그러나, 다수의 테이블 또는 마스크를 이용하여, 이를 Y, Cb 및 Cr 성분들 각각에 적용할 수 있다.
그 후, 화소 데이터 및 주파수 웨이팅 마스크들의 블록을 양자화기 (130), 또는 스케일 인자 엘리먼트에 의해 스케일링한다. 바람직한 실시형태에서는, 평균 비트 레이트들에 대응하는 32 개의 스케일 인자들이 있다. MPEG2 와 같은 다른 압축 방법들과는 달리, 평균 비트 레이트는 목표 비트 레이트 및 버퍼 상태 대신에, 프로세스된 이미지의 품질에 기초하여 제어된다.
양자화된 계수들을 스캔 직렬화기 (152) 에 제공한다. 그 직렬화기 (152) 는 양자화된 계수들의 블록들을 스캔하여 양자화된 계수들의 직렬 스트림을 생성한다. 지그-재그 스캔, 칼럼 스캐닝, 또는 로우(row) 스캐닝을 사용할 수도 있다. 또한, 지그-재그 이외의 패턴들 뿐만 아니라 많은 서로 다른 지그재그 스캐닝 패턴들을 선택할 수도 있다. 다른 크기들을 사용할 수도 있지만, 바람직한 기술은 지그재그 스캐닝에 대하여 8 ×8 블록 크기를 사용한다.
여기에서는, 도 4 및 도 5 에 대하여 서로 다른 스캐닝 기술들을 설명한다. 도 4b 는 전체 16 ×16 블록 (400) 에 걸친 지그-재그 스캔을 나타낸다. DCT 와 같은 주파수 기반 블록에서, DC 값이 상단 좌측 코너에 있도록 값들을 인코딩하여 나타내며, AC 값들은 하단 우측 코너에 접근시에 그 값이 감소한다. 따라서, 16 ×16 블록 내의 블록 크기 할당에 상관없이, 전체 16 ×16 블록에 걸친 지그-재그 스캐닝의 스캐닝 기술은 코딩의 비효율을 야기한다. 즉, 이러한 방식 의 지그-재그 스캐닝은 동일한 값의 동작 길이들을 더 짧게 할 수 있다.
도 4c 는 계수들이 소정의 블록에 배열되는 순서를 이용한, 더욱 최적의 스캐닝 기술을 나타낸다. 각 블록 404, 406, 408, 410, 412, 414, 416, 418, 420, 422, 424, 426, 및 428 은 개별적인 지그-재그 스캔을 이용한다. 실시형태에서, 각 블록은 수직 또는 수평, 또는 역 지그-재그와 같은 서로 다른 스캐닝 패턴들을 사용할 수도 있다. 이 실시형태가 최대 동작 길이들을 유지하면서 크게 최적화되지만, 각 블록의 개별적인 지그-재그 스캔들의 계산은 더욱 계산 집중적으로 되며, 하드웨어로 구현하기가 더욱 어렵게 될 수도 있다.
따라서, 도 5a 및 도 5b 에서 설명한 것과 같은 스캐닝 실행은 하드웨어 구현으로 용이하게 균형잡힌 최대 동작 길이들의 최적화의 균형을 유지할 수 있도록 결정된다. 도 5a 는 블록 크기 할당에 의해 블록들 504, 506, 508, 510, 512, 514, 516, 518, 520, 522, 524, 526, 및 528 로 세분되는 16 ×16 블록 (500) 을 나타낸다. 실시형태에서, BSA 브레크다운에 상관없이, 16 ×16 블록의 각 8 ×8 쿼드런트에 대하여 지그-재그 스캐닝을 사용한다. 따라서, 블록들 504, 506, 508, 및 510 이 지그-재그 스캔에 의해 직렬화되며, 블록 512 는 지그-재그 스캔에 의해 직렬화되며, 블록 514 는 지그-재그 스캔에 의해 직렬화되며, 블록 516, 518, 520, 522, 524, 526, 및 528 은 지그-재그 스캔에 의해 직렬화된다.
도 5b 는 블록 크기 할당에 의해 블록 554, 556, 558, 560, 562, 564, 566, 568, 570, 572, 574, 576, 및 578 으로 세분되는 16 ×16 블록 (550) 을 나타낸다. 이 실시형태에서, 서로 다른 타입의 스캐닝을 16 ×16 블록의 각 8 ×8 쿼드런트에 대하여 사용한다. 사용된 스캐닝의 타입은 8 ×8 블록 내의 값들을 평가하고, 가장 효과적인 스캐닝 방법을 결정함으로써 결정된다. 예를 들어, 도 5b 에서, 블록들 554, 556, 558, 560 에 대하여 수평 스캐닝을 사용하고, 블록 562 를 지그-재그 스캔에 의해 직렬화하고, 블록 564 를 수직 스캔에 의해 직렬화하고, 블록 566, 568, 570, 572, 574, 576, 및 578 을 지그-재그 스캔에 의해 직렬화한다. 다른 실시형태에서는, 최적의 스캐닝 방법을 블록간 기초와 반대로 프레임간 기초에 의해 결정한다. 프레임간 기초에 의해 최적의 스캐닝 방법을 결정하는 것은 블록간 방법과는 반대로 덜 계산 집중적인 것이 된다.
도 6a 는 직렬화가 발생하는 프로세스 600 를 나타낸다. 단계 604 에서 데이터의 그룹을 판독한다. 판독되는 데이터가 가변 블록 크기에 기초하므로, 판독되는 데이터는 균일한 크기 또는 길이를 갖지 않는다. 단계 608 에서는, 데이터를 16 ×16 블록으로 나타낼 수 있는 형태로 컴파일하거나 또는 구성한다. 그 후, 단계 612 에서, 그 데이터를 4 개의 8 ×8 블록 크기로 분할한다. 그 후, 지그-재그 스캔을 각 8 ×8 블록에 대하여 수행한다. 그 후, 단계 620 에서 데이터를 버퍼로 라우팅한다.
도 6b 는 직렬화의 선택적인 실시형태 650 를 나타낸다. 단계 654에서, 데이터의 프레임을 판독한다. 단계 658 에서, 데이터의 프레임을 평가하여 최적의 직렬화 기술을 결정한다. 그 평가에 기초하여, 지그-재그 스캔 (662), 수직 스캔 (664), 또는 수평 스캔 (668) 을 사용한다. 스캐닝 방법들 중 하나에 기초하는 직렬화의 경우, 단계 672 에서 데이터를 버퍼로 라우팅한다.
도 1 을 다시 참조하면, 직렬화되고 양자화된 계수의 스트림을 가변 길이 코더 (156) 로 제공한다. 가변 길이 코더 (156) 는 제로의 동작-길이 인코딩에 후속하여 허프만 인코딩을 이용할 수도 있다. 이러한 기술은 여기서 참조되며 요약된 전술한 미국 특허 제 5,021,891 호, 제 5,107,345 호, 및 제 5,452,104 호에 상세히 개시되어 있다. 동작-길이 코더는 양자화된 계수들을 이용하고, 난-제로 계수들로부터 제로를 분리할 수 있다. 제로 값들은 동작-길이 값들로 지칭되며, 허프만 인코딩된다. 난-제로 값들은 개별적으로 허프만 인코딩된다.
양자화된 계수들의 변경된 허프만 코딩이 또한 가능하고, 바람직한 실시형태에서 사용된다. 여기서는, 지그재그 스캐닝 이후에, 동작-길이 코더는 각 8 ×8 블록내의 동작-길이/크기 쌍을 결정한다. 그 후, 이러한 동작-길이/크기 쌍을 허프만 인코딩한다.
허프만 코드들은 이미지의 측정된 통계값 또는 이론적인 통계값으로부터 설계된다. 가장 자연스러운 이미지는 평탄하거나 또는 비교적 느리게 변화하는 영역들 그리고 오브젝트 경계 및 높은-콘트라스트 텍스처와 같은 비지 영역으로 구성된다. DCT와 같은 주파수-영역 변환을 가지는 허프만 코더들은, 비지 영역들에 더 많은 비트들을 할당하고 평탄한 영역들에 더 적은 비트들을 할당함으로써 이러한 특징들을 이용한다. 일반적으로, 허프만 코더들은 룩-업 테이블들을 이용하여 동작-길이 및 난-제로 값들을 코딩한다. 바람직하기로는 1 또는 2 개의 테이블을 사용할 수 있지만, 일반적으로 다수의 테이블들이 사용되며, 본 발명에서는 3 개의 테이블이 사용된다.
인코더 (104) 에 의해 생성된, 압축 이미지 신호를 임시적으로 버퍼 (160) 를 이용하여 저장하고, 송신 채널 (108) 을 이용하여 디코더 (112) 로 송신할 수도 있다. 또한, 블록 크기 할당 정보를 포함하는 PQR 데이터를 디코더 (112) 에 제공한다. 디코더 (112) 는 버퍼 (164) 및 가변 길이 코더 (168) 를 구비하며, 상기 가변 길이 코더는 동작-길이 값들 및 난-제로 값들을 디코딩한다.
가변 길이 디코더 (168) 의 출력을 사용된 스캔 방식에 따라 계수들을 정렬하는 역 직렬화기 (172) 로 제공한다. 예를 들어, 지그-재그 스캐닝, 수직 스캐닝, 및 수평 스캐닝이 혼합된 것이 사용되는 경우, 역 직렬화기 (172) 는 사용된 스캐닝의 타입에 대한 정보를 이용하여 그 계수들을 적절히 재정렬한다. 역 직렬화기 (172) 는 PQR 데이터를 수신하여 계수들을 합성 계수 블록으로 적절히 정렬하는 것을 돕는다.
양자화기 스케일 인자 및 주파수 웨이팅 마스크의 사용으로 인해 프로세싱을 취소하기 위하여, 선택기 (174) 를 이용하여 합성 블록을 역 양자화기 (176) 로 제공한다.
그 후, 차동 쿼드-트리 변환이 제공되면, 계수 블록을 IDQT 엘리먼트 (186) 에 후속하여 IDCT 엘리먼트 (186) 로 제공한다. 다른 방법으로는, 계수 블록을 IDCT 엘리먼트 (190) 로 직접 제공한다. IDQT 엘리먼트 (186) 및 IDCT 엘리먼트 (190) 는 그 계수들을 역 변환하여 화소 데이터의 블록을 생성한다. 그 후, 화소 데이터를 보간, RGB 형태로 변환, 및 미래의 디스플레이를 위하여 저장할 수도 있다.
따라서, 화소 편차에 기초하여 블록 크기 할당을 수행하는 이미지 압축의 시스템 및 방법을 제공한다. 편차 기반 블록 크기 할당은 몇몇 이점을 제공한다. 블록 크기들이 결정된 이후에 이산 코사인 변환이 수행되므로, 효율적인 계산이 달성된다. 계산 집중적인 변환은 선택된 블록들에 대해서만 수행될 필요가 있다. 또한, 화소 값들의 편차가 수학적으로 계산하기가 간단하므로, 블록 선택 프로세스가 효율적이다. 블록 크기 할당에 기초한 편차의 또 다른 이점은 이것이 인식가능하게 기초된다는 점이다. 화소 편차는 블록내의 활동도의 측정값이고, 에지, 텍스처 등의 존재를 나타낸다. 이는 화소 값들의 평균값과 같은 측정값보다 더 좋은 블록의 세부사항들을 포착하는 경향이 있다. 따라서, 본 발명의 편차 기반 방식은 더 많은 에지들을 가지는 영역들에 더 작은 블록들을 그리고 더 평탄한 영역들에 더 큰 블록들을 할당한다. 그 결과, 재구성된 이미지들에서 현저한 품질을 달성할 수도 있다.
예를 들어, 여기서 개시되는 실시형태들과 관련하여 설명되는 다양한 예시적인 논리 블록, 흐름도, 및 단계들을, ASIC (application-specific integrated circuit), 프로그램가능한 로직 디바이스, 개별 게이트 또는 트랜지스터 로직, 예를 들어 레지스터 및 FIFO 와 같은 개별의 하드웨어 구성요소들, 펌웨어 명령들의 세트를 실행하는 프로세서, 임의의 종래의 프로그램가능한 소프트웨어 및 프로세서, 또는 이들의 임의의 결합을 이용하여 하드웨어 또는 소프트웨어로 실행 또는 수행될 수도 있다. 프로세서는 바람직하기로는 마이크로프로세서일 수도 있으나, 선택적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로콘트롤러, 또는 상태 머신일 수도 있다. 소프트웨어는 RAM 메모리, 플래시 메모리, ROM 메모리, 레지스터, 하드 디스크, 착탈식 디스크, CD-ROM, DVD-ROM 또는 당해 분야에 공지된 임의의 다른 형태의 저장 매체에 포함될 수도 있다.
이상과 같이, 당업자가 본 발명을 제조 또는 사용할 수 있도록 바람직한 실시형태들을 설명하였다. 당업자는 이러한 실시형태들을 다양하게 변경시킬 수 있음을 쉽게 알 수 있으며, 여기서 규정되는 일반 원리들을 본 발명의 창의력을 이용하지 않고 다른 실시형태들에 적용할 수도 있다. 따라서, 본 발명을 여기서 나타낸 실시형태들로 제한하는 것이 아니라, 여기서 개시되는 원리들 및 신규한 특징들과 부합하는 최광의 범위를 부여하는 것이다.
본 발명의 다른 특징들 및 이점을 이하의 청구범위에서 설명한다.

Claims (38)

  1. 디지털 시네마 시스템에서, 주파수 기반 이미지 데이터를 직렬화하는 방법으로서,
    16 ×16 블록으로 표현될 수 있는 적어도 하나의 데이터 그룹을 컴파일하는 단계;
    상기 데이터 그룹을 4 개의 8 ×8 블록으로 표현될 수 있는 그룹들로 분할하는 단계;
    직렬화에서의 가장 효과적인 스캐닝 방식을 결정하도록, 상기 8 ×8 블록내의 하나 이상의 값들을 평가하는 단계; 및
    결정된 상기 스캐닝 방식에 따라서, 상기 데이터의 4 개의 8 ×8 블록들 각각을 직렬화하는 단계를 포함하는, 주파수 기반 이미지 데이터의 직렬화 방법.
  2. 제 1 항에 있어서,
    상기 직렬화 단계는 상기 데이터의 4 개의 8 ×8 블록들 각각을 지그-재그 스캐닝하는 단계를 포함하는, 주파수 기반 이미지 데이터의 직렬화 방법.
  3. 제 1 항에 있어서,
    상기 직렬화 단계는 상기 데이터의 4 개의 8 ×8 블록들 각각을 수직 스캐닝하는 단계를 포함하는, 주파수 기반 이미지 데이터의 직렬화 방법.
  4. 제 1 항에 있어서,
    상기 직렬화 단계는 데이터의 4 개의 8 ×8 블록들 각각을 수평 스캐닝하는 단계를 포함하는, 주파수 기반 이미지 데이터의 직렬화 방법.
  5. 제 1 항에 있어서,
    적어도 하나의 그룹을 컴파일하는 단계는 복수의 16 ×16 블록들로 표현될 수 있는 데이터의 프레임을 컴파일하는 단계를 포함하는, 주파수 기반 이미지 데이터의 직렬화 방법.
  6. 제 1 항에 있어서,
    상기 주파수 기반 이미지 데이터는 Y, Cb 및 Cr 컬러 성분들로 분리되는, 주파수 기반 이미지 데이터의 직렬화 방법.
  7. 제 6 항에 있어서,
    상기 Y, Cb 및 Cr 컬러 성분들은 짝수 및 홀수 컬러 성분들로 추가적으로 분리되는, 주파수 기반 이미지 데이터의 직렬화 방법.
  8. 디지털 시네마 시스템에서, 컬러 성분들로 분리되는 화소 데이터를 구비하는 디지털 이미지를 압축하는 방법으로서,
    화소 데이터의 컬러 성분의 그룹을 판독하는 단계;
    화소의 컬러 성분의 상기 그룹을 화소 데이터의 서브-블록들로 분할하도록 블록 크기 할당을 생성하는 단계;
    상기 화소 데이터의 서브-블록들을 대응하는 주파수 영역 표현으로 변환하는 단계;
    상기 주파수 영역 표현을 데이터의 스트림으로 스케일링하는 단계로서, 상기 스케일링 단계는 상기 이미지의 품질과 상관되는 품질 메트릭에 기초하는, 상기 스케일링 단계;
    16 ×16 블록으로 표현될 수 있는 데이터의 스트림으로부터 적어도 하나의 데이터 그룹을 컴파일하는 단계;
    데이터의 16 ×16 그룹을 4 개의 8 ×8 블록들로 표현될 수 있는 그룹들로 분할하는 단계;
    직렬화에서의 가장 효과적인 스캐닝 방식을 결정하도록, 상기 8 ×8 블록내의 하나 이상의 값들을 평가하는 단계; 및
    결정된 상기 스캐닝 방식에 따라서, 데이터의 4 개의 8 ×8 블록들 각각을 직렬화하는 단계를 포함하는, 디지털 이미지의 압축 방법
  9. 제 8 항에 있어서,
    상기 스케일링 단계는, 주파수 웨이팅 마스크가 인간의 시각 시스템이 더욱 민감하게 되는 이미지의 부분들을 강조하고, 인간의 시각 시스템이 덜 민감하게 되는 이미지의 부분들을 덜 강조하도록, 주파수 웨이트된 마스크를 화소 데이터의 상기 서브-블록들에 제공하는 단계를 더 포함하는, 디지털 이미지의 압축 방법.
  10. 제 8 항에 있어서,
    상기 스케일링 단계는 이미지의 품질에 기초하여 화소 데이터의 서브-블록들을 양자화하는 단계를 더 포함하는, 디지털 이미지의 압축 방법.
  11. 제 8 항에 있어서,
    상기 품질 메트릭은 신호 대 잡음비인, 디지털 이미지의 압축 방법.
  12. 제 8 항에 있어서,
    상기 변환 단계는 이산 코사인 변환을 수행하는, 디지털 이미지의 압축 방법.
  13. 제 8 항에 있어서,
    상기 변환 단계는 이산 코사인 변환에 후속하여 차동 쿼드-트리 변환을 수행하는, 디지털 이미지의 압축 방법.
  14. 제 8 항에 있어서,
    상기 컬러 성분들은 Y, Cb, 및 Cr 컬러 성분인, 디지털 이미지의 압축 방법.
  15. 제 14 항에 있어서,
    상기 Y, Cb, 및 Cr 컬러 성분은 짝수 및 홀수 컬러 성분들로 분리되는, 디지털 이미지의 압축 방법.
  16. 디지털 시네마 시스템에서, 주파수 기반 이미지 데이터를 직렬화하는 장치로서,
    16 ×16 블록으로 표현될 수 있는 적어도 하나의 데이터 그룹을 컴파일하는 수단;
    상기 데이터 그룹을 4 개의 8 ×8 블록들로 표현될 수 있는 그룹들로 분할하는 수단;
    직렬화에서의 가장 효과적인 스캐닝 방식을 결정하도록, 상기 8 ×8 블록내의 하나 이상의 값들을 평가하는 수단; 및
    결정된 상기 스캐닝 방식에 따라서, 상기 데이터의 4 개의 8 ×8 블록들 각각을 직렬화하는 수단을 포함하는, 주파수 기반 이미지 데이터의 직렬화 장치.
  17. 제 16 항에 있어서,
    상기 직렬화 수단은 상기 데이터의 4 개의 8 ×8 블록들 각각을 지그-재그 스캐닝하는 수단을 구비하는, 주파수 기반 이미지 데이터의 직렬화 장치.
  18. 제 16 항에 있어서,
    상기 직렬화 수단은 상기 데이터의 4 개의 8 ×8 블록들 각각을 수직 스캐닝하는 수단을 구비하는, 주파수 기반 이미지 데이터의 직렬화 장치.
  19. 제 16 항에 있어서,
    상기 직렬화 수단은 상기 데이터의 4 개의 8 ×8 블록들 각각을 수평 스캐닝 하는 수단을 구비하는, 주파수 기반 이미지 데이터의 직렬화 장치.
  20. 제 16 항에 있어서,
    적어도 하나의 그룹을 컴파일하는 수단은 복수의 16 ×16 블록들로 표현될 수 있는 데이터의 프레임을 컴파일하는 수단을 구비하는, 주파수 기반 이미지 데이터의 직렬화 장치.
  21. 제 16 항에 있어서,
    상기 주파수 기반 이미지 데이터는 Y, Cb 및 Cr 컬러 성분들로 분리되는, 주파수 기반 이미지 데이터의 직렬화 장치.
  22. 제 21 항에 있어서,
    상기 Y, Cb 및 Cr 컬러 성분들은 짝수 및 홀수 컬러 성분들로 추가적으로 분리되는, 주파수 기반 이미지 데이터의 직렬화 장치.
  23. 디지털 시네마 시스템에서, 컬러 성분들로 분리되는 화소 데이터를 구비하는 디지털 이미지를 압축하는 장치로서,
    화소 데이터의 그룹을 판독하는 수단;
    상기 화소 그룹을 화소 데이터의 서브-블록들로 분할하도록 블록 크기 할당을 생성하는 수단;
    상기 화소 데이터의 서브-블록들을 대응하는 주파수 영역 표현들로 변환하는 수단; 및
    상기 주파수 영역 표현들을 데이터의 스트림으로 스케일링하는 수단으로서, 상기 스케일링 동작은 상기 이미지의 품질과 상관되는 품질 메트릭에 기초하는, 상기 스케일링 수단;
    16 ×16 블록으로 표현될 수 있는 상기 데이터의 스트림으로부터 데이터의 적어도 하나의 그룹을 컴파일하는 수단;
    데이터의 16 ×16 그룹을 4 개의 8 ×8 블록들로 표현될 수 있는 그룹들로 분할하는 수단;
    직렬화에서의 가장 효과적인 스캐닝 방식을 결정하도록, 상기 8 ×8 블록내의 하나 이상의 값들을 평가하는 수단; 및
    결정된 상기 스캐닝 방식에 따라서, 상기 데이터의 4 개의 8 ×8 블록들 각각을 직렬화하는 수단을 구비하는, 디지털 이미지의 압축 장치.
  24. 제 23 항에 있어서,
    변환 동작은 이산 코사인 변환을 수행하는, 디지털 이미지의 압축 장치
  25. 제 23 항에 있어서,
    변환 동작은 이산 코사인 변환에 후속하여 차동 쿼드-트리 변환을 수행하는, 디지털 이미지의 압축 장치.
  26. 제 23 항에 있어서,
    상기 컬러 성분들은 Y, Cb 및 Cr 컬러 성분인, 디지털 이미지의 압축 장치.
  27. 제 26 항에 있어서,
    상기 Y, Cb 및 Cr 컬러 성분들은 짝수 및 홀수 컬러 성분들로 분리되는, 디지털 이미지의 압축 장치.
  28. 디지털 시네마 시스템에서, 주파수 기반 이미지 데이터를 직렬화하도록 구성되는 장치로서,
    16 ×16 블록으로 표현될 수 있는 적어도 하나의 데이터 그룹을 컴파일하도록 구성되는 컴파일러;
    상기 데이터 그룹을 4 개의 8 ×8 블록들로 표현될 수 있는 그룹들로 분할하도록 구성되는 분할기;
    직렬화에서의 가장 효과적인 스캐닝 방식을 결정하기 위해, 상기 8 ×8 블록내의 하나 이상의 값들을 평가하도록 구성되는 평가기; 및
    결정된 상기 스캐닝 방식에 따라서, 상기 데이터의 4 개의 8 ×8 블록들 각각을 직렬화하도록 구성되는 직렬화기를 구비하는, 주파수 기반 이미지 데이터의 직렬화 장치.
  29. 제 28 항에 있어서,
    상기 직렬화기는 상기 데이터의 4 개의 8 ×8 블록들 각각을 지그-재그 스캔하도록 구성되는 지그-재그 스캐너를 더 구비하는, 주파수 기반 이미지 데이터의 직렬화 장치.
  30. 제 28 항에 있어서,
    상기 직렬화기는 상기 데이터의 4 개의 8 ×8 블록들 각각을 수직 스캔하도록 구성되는 수직 스캐너를 더 구비하는, 주파수 기반 이미지 데이터의 직렬화 장치.
  31. 제 28 항에 있어서,
    상기 직렬화기는 상기 데이터의 4 개의 8 ×8 블록들 각각을 수평 스캔하도록 구성되는 수평 스캐너를 더 구비하는, 주파수 기반 이미지 데이터의 직렬화 장치.
  32. 제 28 항에 있어서,
    상기 컴파일러는 복수의 16 ×16 블록들로 표현될 수 있는 데이터의 프레임을 컴파일하도록 구성되는, 주파수 기반 이미지 데이터의 직렬화 장치.
  33. 제 28 항에 있어서,
    상기 주파수 기반 이미지 데이터는 Y, Cb 및 Cr 컬러 성분들로 분리되는, 주파수 기반 이미지 데이터의 직렬화 장치.
  34. 제 33 항에 있어서,
    상기 Y, Cb 및 Cr 컬러 성분들은 짝수 및 홀수 컬러 성분들로 추가적으로 분 리되는, 주파수 기반 이미지 데이터의 직렬화 장치.
  35. 디지털 시네마 시스템에서, 화소 데이터를 구비하는 디지털 이미지를 압축하도록 구성되는 장치로서,
    화소 데이터의 그룹을 판독하도록 구성되는 판독기;
    상기 화소의 그룹을 화소 데이터의 서브-블록들로 분할하기 위하여 블록 크기 할당을 생성하도록 구성되는 생성기;
    화소 데이터의 상기 서브-블록들을 대응하는 주파수 영역 표현들로 변환하도록 구성되는 변환기;
    상기 주파수 영역 표현들을 데이터의 스트림으로 스케일링하도록 구성되는 스케일러로서, 상기 스케일링 동작은 상기 이미지의 품질과 상관되는 품질 메트릭에 기초하는, 상기 스케일러;
    16 ×16 블록으로 표현될 수 있는 데이터의 스트림으로부터 데이터의 적어도 하나의 그룹을 컴파일하도록 구성되는 컴파일러;
    데이터의 상기 16 ×16 그룹을 4 개의 8 ×8 블록들로 표현될 수 있는 그룹들로 분할하도록 구성되는 분할기;
    직렬화에서의 가장 효과적인 스캐닝 방식을 결정하기 위해, 상기 8 ×8 블록내의 하나 이상의 값들을 평가하도록 구성되는 평가기; 및
    결정된 상기 스캐닝 방식에 따라서, 데이터의 상기 4 개의 8 ×8 블록들 각각을 직렬화하도록 구성되는 직렬화기를 구비하는, 디지털 이미지의 압축 장치.
  36. 제 1 항에 있어서,
    상기 데이터 그룹을, 상기 8 ×8 블록들보다 작은 블록들로 표현될 수 있는 그룹들로 분할하는 단계; 및
    결정된 상기 스캐닝 방식에 따라서, 상기 8 ×8 블록들보다 작은 블록들을 포함하는 상기 8 ×8 블록들을 직렬화하는 단계를 더 포함하는, 주파수 기반 이미지 데이터의 직렬화 방법.
  37. 제 16 항에 있어서,
    상기 데이터 그룹을, 상기 8 ×8 블록들보다 작은 블록들로 표현될 수 있는 그룹들로 분할하는 수단; 및
    결정된 상기 스캐닝 방식에 따라서, 상기 8 ×8 블록들보다 작은 블록들을 포함하는 상기 8 ×8 블록들을 직렬화하는 수단을 더 포함하는, 주파수 기반 이미지 데이터의 직렬화 장치.
  38. 제 28 항에 있어서,
    상기 분할기는, 상기 데이터 그룹을 상기 8 ×8 블록들보다 작은 블록들로 표현될 수 있는 그룹들로 분할하도록 구성되고,
    상기 직렬화기는, 결정된 상기 스캐닝 방식에 따라서, 상기 8 ×8 블록들보다 작은 블록들을 포함하는 상기 8 ×8 블록들을 직렬화하도록 구성되는, 주파수 기반 이미지 데이터의 직렬화 장치.
KR1020037016442A 2001-06-15 2002-06-13 구성가능한 패턴 옵티마이저 KR100932412B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/882,753 2001-06-15
US09/882,753 US6870963B2 (en) 2001-06-15 2001-06-15 Configurable pattern optimizer
PCT/US2002/018962 WO2002104039A1 (en) 2001-06-15 2002-06-13 Configurable pattern optimizer

Publications (2)

Publication Number Publication Date
KR20040010722A KR20040010722A (ko) 2004-01-31
KR100932412B1 true KR100932412B1 (ko) 2009-12-17

Family

ID=25381264

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037016442A KR100932412B1 (ko) 2001-06-15 2002-06-13 구성가능한 패턴 옵티마이저

Country Status (12)

Country Link
US (1) US6870963B2 (ko)
EP (2) EP2405657B1 (ko)
JP (1) JP2005517316A (ko)
KR (1) KR100932412B1 (ko)
CN (2) CN1593064A (ko)
AU (1) AU2002315160C1 (ko)
BR (1) BR0210418A (ko)
CA (1) CA2450733C (ko)
ES (1) ES2584035T3 (ko)
HK (1) HK1166429A1 (ko)
MX (1) MXPA03011623A (ko)
WO (1) WO2002104039A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101088375B1 (ko) 2005-07-21 2011-12-01 삼성전자주식회사 가변 블록 변환 장치 및 방법 및 이를 이용한 영상부호화/복호화 장치 및 방법

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US7190840B2 (en) * 2002-01-07 2007-03-13 Hewlett-Packard Development Company, L.P. Transform coefficient compression using multiple scans
KR100510137B1 (ko) * 2003-04-30 2005-08-26 삼성전자주식회사 고속 움직임 추정을 위한 참조 픽쳐 및 블록 모드 결정방법, 그 장치, 블록 모드 결정 방법 및 그 장치
JP4066882B2 (ja) * 2003-05-22 2008-03-26 トヨタ自動車株式会社 車載燃料電池発電システムの制御装置および制御方法
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
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
US20060227865A1 (en) * 2005-03-29 2006-10-12 Bhaskar Sherigar Unified architecture for inverse scanning for plurality of scanning scheme
US20070025345A1 (en) * 2005-07-27 2007-02-01 Bachl Rainer W Method of increasing the capacity of enhanced data channel on uplink in a wireless communications systems
EP1958453B1 (en) 2005-11-30 2017-08-09 Koninklijke Philips N.V. Encoding method and apparatus applying coefficient reordering
US8595281B2 (en) 2006-01-11 2013-11-26 Qualcomm Incorporated Transforms with common factors
US8849884B2 (en) 2006-03-29 2014-09-30 Qualcom Incorporate Transform design with scaled and non-scaled interfaces
KR100882949B1 (ko) 2006-08-17 2009-02-10 한국전자통신연구원 화소 유사성에 따라 적응적인 이산 코사인 변환 계수스캐닝을 이용한 부호화/복호화 장치 및 그 방법
KR100927733B1 (ko) * 2006-09-20 2009-11-18 한국전자통신연구원 잔여계수의 상관성에 따라 변환기를 선택적으로 이용한부호화/복호화 장치 및 그 방법
US8542726B2 (en) * 2006-10-17 2013-09-24 Microsoft Corporation Directional and motion-compensated discrete cosine transformation
KR20090097013A (ko) * 2008-03-10 2009-09-15 삼성전자주식회사 영상 부호화장치 및 영상 복호화장치
KR20090129926A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
KR101619972B1 (ko) 2008-10-02 2016-05-11 한국전자통신연구원 이산 여현 변환/이산 정현 변환을 선택적으로 이용하는 부호화/복호화 장치 및 방법
US9497472B2 (en) 2010-11-16 2016-11-15 Qualcomm Incorporated Parallel context calculation in video coding
US8976861B2 (en) * 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
JP5741076B2 (ja) 2010-12-09 2015-07-01 ソニー株式会社 画像処理装置及び画像処理方法
CN107105280B (zh) * 2010-12-14 2020-01-03 M&K控股株式会社 用于编码运动画面的设备
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US9049444B2 (en) * 2010-12-22 2015-06-02 Qualcomm Incorporated Mode dependent scanning of coefficients of a block of video data
EP2727355A1 (en) * 2011-06-29 2014-05-07 Motorola Mobility LLC Methods and system for using a scan coding pattern during intra coding
US9756360B2 (en) 2011-07-19 2017-09-05 Qualcomm Incorporated Coefficient scanning in video coding
US9013760B1 (en) 2012-02-15 2015-04-21 Marvell International Ltd. Method and apparatus for using data compression techniques to increase a speed at which documents are scanned through a scanning device
US10304217B2 (en) * 2012-07-30 2019-05-28 Toshiba Medical Systems Corporation Method and system for generating image using filtered backprojection with noise weighting and or prior in
US9826229B2 (en) 2012-09-29 2017-11-21 Google Technology Holdings LLC Scan pattern determination from base layer pixel information for scalable extension
US9350988B1 (en) 2012-11-20 2016-05-24 Google Inc. Prediction mode-based block ordering in video coding
US9681128B1 (en) 2013-01-31 2017-06-13 Google Inc. Adaptive pre-transform scanning patterns for video and image compression
US10630985B2 (en) * 2016-05-27 2020-04-21 Samsung Electronics Co., Ltd. Method for scanning coding blocks inside a video frame by video codecs
WO2018008678A1 (ja) * 2016-07-08 2018-01-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 復号装置、符号化装置、復号方法及び符号化方法
US10887589B2 (en) * 2019-04-12 2021-01-05 Realnetworks, Inc. Block size determination for video coding systems and methods

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001035673A1 (en) 1999-11-08 2001-05-17 Qualcomm Incorporated Variance based adaptive block size dct image compression

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4821119A (en) * 1988-05-04 1989-04-11 Bell Communications Research, Inc. Method and apparatus for low bit-rate interframe video coding
US5241395A (en) * 1989-08-07 1993-08-31 Bell Communications Research, Inc. Adaptive transform coding using variable block size
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
ATE159396T1 (de) * 1991-06-04 1997-11-15 Qualcomm Inc System zur adaptiven kompression der blockgrössen eines bildes
KR960013055A (ko) * 1994-09-27 1996-04-20 김광호 조건부 퀴드트리 분할방식의 화상압축방법 및 장치
JPH08205140A (ja) * 1995-01-31 1996-08-09 Canon Inc 画像圧縮装置
US5812788A (en) * 1995-07-21 1998-09-22 Intel Corporation Encoding/decoding video signals using quantization tables based on explicitly encoded base and scale matrices
US6028635A (en) * 1996-12-03 2000-02-22 Stmicroelectronics, Inc. Reducing the memory required for decompression by storing compressed information using DCT based techniques
JP3901287B2 (ja) 1997-02-27 2007-04-04 松下電器産業株式会社 映像信号変換装置、映像信号変換方法及び映像提供システム
US6600836B1 (en) 2000-01-28 2003-07-29 Qualcomm, Incorporated Quality based image compression

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001035673A1 (en) 1999-11-08 2001-05-17 Qualcomm Incorporated Variance based adaptive block size dct image compression

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101088375B1 (ko) 2005-07-21 2011-12-01 삼성전자주식회사 가변 블록 변환 장치 및 방법 및 이를 이용한 영상부호화/복호화 장치 및 방법

Also Published As

Publication number Publication date
EP2405657A1 (en) 2012-01-11
EP1405524A1 (en) 2004-04-07
CN102238389A (zh) 2011-11-09
HK1166429A1 (zh) 2012-10-26
KR20040010722A (ko) 2004-01-31
MXPA03011623A (es) 2004-07-01
EP1405524B1 (en) 2013-03-27
CA2450733A1 (en) 2002-12-27
CN1593064A (zh) 2005-03-09
BR0210418A (pt) 2006-11-14
US20030007698A1 (en) 2003-01-09
EP2405657B1 (en) 2016-06-01
ES2584035T3 (es) 2016-09-23
AU2002315160B2 (en) 2007-11-15
WO2002104039A1 (en) 2002-12-27
AU2002315160C1 (en) 2008-07-03
JP2005517316A (ja) 2005-06-09
CA2450733C (en) 2012-12-11
US6870963B2 (en) 2005-03-22

Similar Documents

Publication Publication Date Title
KR100932412B1 (ko) 구성가능한 패턴 옵티마이저
KR100926381B1 (ko) Golomb-rice 코딩을 사용한 dct 압축
JP5384696B2 (ja) 分散に基づいた適応性ブロックサイズdct画像圧縮
KR100788220B1 (ko) 품질기반 영상압축
JP4927888B2 (ja) ゴロム・ライスを使用する無損失フレーム内符号化
JP4800571B2 (ja) 損失の無い方法でディジタル画像を符号化するための装置および方法
AU2002315160A1 (en) Configurable pattern optimizer
KR101084512B1 (ko) 디지털 이미지에 대한 선택적 색도 데시메이션
CA2449709A1 (en) Interframe encoding method and apparatus

Legal Events

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

Payment date: 20121129

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141128

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150930

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161125

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