KR20080087866A - 컴퓨터 그래픽 이미지 압축 - Google Patents

컴퓨터 그래픽 이미지 압축 Download PDF

Info

Publication number
KR20080087866A
KR20080087866A KR1020087018145A KR20087018145A KR20080087866A KR 20080087866 A KR20080087866 A KR 20080087866A KR 1020087018145 A KR1020087018145 A KR 1020087018145A KR 20087018145 A KR20087018145 A KR 20087018145A KR 20080087866 A KR20080087866 A KR 20080087866A
Authority
KR
South Korea
Prior art keywords
image
pixel
block
pixels
blocks
Prior art date
Application number
KR1020087018145A
Other languages
English (en)
Other versions
KR100972401B1 (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 KR20080087866A publication Critical patent/KR20080087866A/ko
Application granted granted Critical
Publication of KR100972401B1 publication Critical patent/KR100972401B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • 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/182Methods 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 pixel
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

하이 다이내믹 영역의 한 값으로 나타낸 각 이미지 픽셀의 컬러 성분들을 가진 이미지를 인코딩하는 방법은, 이미지를 복수의 이미지 블록들로 분해하는 단계; 각 픽셀의 하이 다이내믹 영역으로부터, 이미지 블록들 내 픽셀들의 컬러 정보 및 강도 정보를 분리하는 단계; 및 이미지 블록들 내 픽셀들의 컬러 정보 및 이미지 블록들 내 픽셀들의 강도 정보를 서로 독립적으로 압축하여 압축(된) 이미지 데이터를 제공하는 단계를 포함한다.

Description

컴퓨터 그래픽 이미지 압축{Compression of images for computer graphics}
본 발명은 컴퓨터 그래픽에 관한 것으로서, 보다 구체적으로, 3차원 컴퓨터 그래픽에 보통 사용되는 텍스처들 및 기타 유사 이미지들의 압축에 관한 것이다.
3차원 (3D) 장면을 렌더링하여 보다 사실적인 보기가 되게 하는데 보통 사용되는 기술이, 3D 오브젝트들의 표면 위에 텍스처들을 인가하는 것이다. 텍스처는 사진과 같이 보통 2차원 이미지로 정의될 수 있고, 픽셀들 (또는 스크린 픽셀들과 구분하기 위한 텍셀들 (texels))의 어레이로서 메모리에 저장된다. 디스플레이 및 디스플레이 드라이버들의 품질뿐 아니라 컴퓨터에서 사용되는 그래픽 가속기 (accelerator)의 프로세싱 파워의 진보에 맞추어, 훨씬 더 나은 컴퓨터 그래픽 화질에 대한 수요 역시 지속 되고 있다. 일반적으로, 더 많은 메모리 공간과 대역폭이 텍스처들에 소비될수록, 최종 3D 장면에 있어 더 우수한 화질이 얻어질 수 있다.
텍스처들을 표현하는 전통적인 방식이, 각 픽셀의 컬러를 3 가지 기본 컬러들인 적색, 녹색 및 청색 (RGB)의 조합으로서 저장하는 것이다. 일반적으로 각 성분마다 8 비트씩 할당되므로, 픽셀 당 24 비트가 나오게 된다. 이것을 RGB 포맷이라 부른다. 다른 대중적 포맷들로는, 보다 적은 메모리 공간 사용을 선호하여 컬 러 영역 (gamut)을 희생하는 RGB4와 RGB565가 있다. 컬러들을 표현하는 전통적 포맷들에서의 문제는, 이들이, 가령 4 dB을 넘는 휘도 (luminance) (즉, 1:104=1: 10 000)를 동시에 인지할 수 있는 사람의 능력과 비교할 때, 컬러들에 대해 오히려 제한된 다이내믹 영역을 제공한다는 데 있다. 따라서, 이러한 전통적 방식들을 가지고 생성된 텍스처들은 보통 LDR (low dynamic range; 로 다이내믹 영역) 텍스처들로 불린다. LDR 텍스처들의 분야에 있어 사실상의 표준은 S3TC라고도 알려진 DXTC (DirectX Texture Compression)로, 이것은 US 6,658,146에 상세히 개시되어 있다. 다른 유사한 방법들에, FXT, FLXTC, 및 ETC (Ericsson Texture Compression)이 포함되며, 상기 마지막의 것은 WO05/059836에도 개시되어 있다.
보다 나은 컴퓨터 그래픽의 화질에 대한 요구를 충족하기 위해 실제 세계에서 휘도의 동적 영역 전체를 나타낼 수 있는 이미지 포맷들이 개발되어 왔다. 이 이미지 포맷들을 하이 다이내믹 영역 (HDR, high dynamic range) 포맷들이라 부른다. 하이 다이내믹 영역의 이미지들을 저장 및 처리하기 위해 나타난 사실상의 표준이 OpenEXR이며, 이것은 컬러 성분들에 대해 16 비트 또는 32 비트 유동 소수점 (floating-point) 표현을 이용한다. OpenEXR의 동적 범위는 16 비트 변수를 이용할 때 11 dB 이상이고 32 비트 변수를 이용할 때 76 dB에 이른다. 16 비트 포맷이 대부분의 용도에 충분하며, 48 bpp의 실질적 비트 레이트를 낸다.
HDR 텍스처들에서의 문제는 이들이 전통적 LDR 포맷들과 비교해 두 배의 메모리 량 및 버스 대역폭을 소비한다는 데 있다. 또, LDR 텍스처들에 대해서는, 오 리지널의 1/6로 비트 레이트를 다운시킬 수 있는 매우 효율적인 압축 포맷들이 존재한다. 따라서, HDR과 LDR 텍스처들의 차는, 메모리 및 버스 대역폭 소비 면에서 볼 때, 12 배 또는 그 이상이 된다.
OpenEXR 표준은 PIZ, ZIP, RLE 및 PXR24 같은 여러 압축 방법들을 지원하나, 이들 모두는 한가지 기술적 결함을 수반하는데, 그것은 이들 중 어떤 것도 압축 데이터로의 랜덤 액세스를 허용하지 않는다는 것으로, 이것은 3D 오브젝트들 상에 텍스처들을 매핑하는 데 있어 절대적으로 중요한 것이다. 그래픽 하드웨어는 전체 이미지를 압축해제 (decompress)하지 않고도, 이미지 내 어떤 주어진 픽셀을 압축해제할 수 있어야 한다. 또한, 현재의 하드웨어가 초당 수십억의 LDR 텍셀들을 가져와 압축해제할 수 있기 때문에, 그러한 압축해제는 매우 고속이어야 하며, 어떠한 의도된 HDR 텍스처 압축 방식이든 적어도 그것에 충분히 근접하는 성능을 내야 할 것이다.
JPEG 및 PNG 같이, 일반적인 HDR 이미지들에도 역시 적용될 수 있는 일반적인 이미지 압축 기술들은 개별 픽셀들로의 랜덤 액세스가 불가하다는 점에서 OpenEXR과 유사하다. 가령 JPEG 이미지 안에서 하나의 픽셀을 액세스하려면, 그 픽셀을 책임지는 전체 이미지가 압축해제되어야 한다. 3D 게임들 같은 현대의 컴퓨터 그래픽에서는 초당 수백만 혹은 수십억의 텍셀들이 액세스 되어야 하기 때문에, 이러한 것이 매우 느리다는 것은 분명하다.
따라서, 종래의 이미지 압축 기술들은 영구적 저장 및 네트워크를 통한 전송을 위한 텍스처들의 사이즈 감축에는 유용하나, 압축해제기 안에서 런-타임 (run- time) 메모리 공간 및 대역폭 소비를 감축하는 데에는 열악하게 응용될 수 있다.
본 출원인의 이전 특허 출원인 US 11/241,854는 이미지 압축 방법을 개시하고 있는데, 여기서 HDR 텍스처 이미지는 적절히 스케일링 되어, 기존의 LDR 기술들에 따라 이미지 데이터가 압축 및 압축해제될 수 있도록 되어 있다. 그러나, 일부의 경우들에서, 스케일링은 이미지 데이터에 지나치게 큰 부정확성을 가져온다. 따라서, 보다 정확한 이미지 압축 방법이 필요하게 된다.
본 발명은 HDR 텍스처들에 대해 효율적인 압축이 이뤄지면서 동시에 하드웨어 상에서 런-타임 픽셀당 압축해제를 보다 정확하게 가능하게 하는 개선된 방법 및 그러한 방법을 구현하는 기술적 수단에 관한 것이다. 본 발명의 다양한 양태들에 인코딩 및 디코딩 방법, 인코더, 디코더, 인코딩 시스템, 인코딩/디코딩 장치 및, 인코딩 및 디코딩을 수행하기 위한 컴퓨터 프로그램들이 포함되며, 이 양태들은 독립 청구항들에 기술된 바를 특징으로 한다. 본 발명의 다양한 실시예들은 종속 청구항들에 개시되어 있다.
제1양태에 따르면, 본 발명에 따른 방법은, 하이 다이내믹 영역 (high dynamic range)의 한 값으로 표현된 각 이미지 픽셀의 컬러 성분들을 포함하는 이미지를, 그 이미지가 우선 복수의 이미지 블록들로 분해되고; 각 픽셀의 하이 다이내믹 영역 값에서, 상기 이미지 블록들 안의 픽셀들의 컬러 정보 및 강도 (intensity) 정보가 분리되고; 상기 이미지 블록들 내 픽셀들의 컬러정보와 상기 이미지 블록들 내 픽셀들의 강도 정보가 서로에 대해 독자적으로 압축되어 압축 이미지 데이터를 제공하도록 인코딩한다는 개념에 기반한다.
일실시예에 따르면, 픽셀들의 강도 정보는 상기 이미지 블록들 안의 각 픽셀마다 별도로 압축된다.
일실시예에 따르면, 전체 이미지 블록 안에서 최소 강도가 식별되고, 그 최소 강도의 유동 소수점 지수 (floating-point exponent)가 압축 블록 데이터의 테이블 안에 바이어스 (bias) 값으로서 저장된다.
일실시예에 따르면, 상기 방법은, 이미지 블록 내 모든 강도 값들의 지수들에서 바이어스 값을 빼서 각 픽셀의 바이어스된 강도 값들을 제공하는 단계; 및 압축 블록 데이터의 테이블 안에서 최대 바이어스된 강도 값의 유동 소수점 비트 패턴의 리딩 제로 (leading zero) 개수를 저장하고 이때 리딩 제로 비트들의 개수로부터 부호 (sign) 비트는 제외되도록 하는 단계를 더 포함한다.
일실시예에 따르면, 상기 방법은, 각 픽셀의 바이어스된 강도 값들의 유동 소수점 비트 패턴의 리딩 제로 비트들에서, 최대 바이어스된 강도 값의 유동 소수점 비트 패턴의 리딩 제로 비트들의 개수만큼을 제거하는 단계; 및 그 결과에 따른 각 픽셀의 바이어스된 강도 값들의 유동 소수점 비트 패턴들에서 고정된 수의 리딩 비트들을 압축 블록 데이터의 테이블 안에 저장하는 단계를 더 포함한다.
일실시예에 따르면, 상기 방법은, 상기 이미지 블록들 안의 이미지 데이터를 서브 블록들로 분할하는 단계; 및 상기 서브 블록들 내 픽셀들의 컬러 정보를 평균하여 상기 서브 블록 내 각 픽셀이 동일한 평균 컬러 값을 갖도록 정해지게 하는 단계를 더 포함한다.
일실시예에 따르면, 상기 평균 컬러 정보는 그 정보를 그 컬러 성분들의 합으로 나눔으로써 정규화되고, 이때 정규화된 컬러 성분들 중 하나가 압축 프로세스로부터 제외될 수 있다.
일실시예에 따르면, 나머지 컬러 성분들은 7 비트 고정 소수점 넘버들로서 인코딩된다.
일실시예에 따르면, 이미지 블록의 사이즈는 4x4 픽셀들이고, 서브 블록의 사이즈는 2x2 픽셀들이다.
본 발명에 따른 인코딩 방법은 상당한 이점들을 제공한다. 주요한 이점은, HDR 텍스처들을 다룰 때, 저장 용량 및 필요 버스 대역폭 면에서 상당한 메모리 절감이 이뤄진다는 것이다. 예를 들어, 16 비트 OpenEXR 이미지 포맷을 이용하는 비압축 HDR 텍스처는 사실상 48 bpp 비트 레이트를 갖는다. 상술한 절차는 비트 레이트를 8 bpp로 변환 가능하게 하여, 16 비트 OpenEXR 비압축 HDR 텍스처들과 비교할 때 거의 85%의 메모리 절감을 가져온다. 또 다른 이점이, 디코딩 시, 일반 이미지들의 화질이 거의, 혹은 전혀 저하되지 않는다는데 있다. 또 다른 이점은, 기존의 하드웨어 구성에 최소한의 변경을 가하여 실시예들을 구현할 수 있다는 데 있다.
제2양태에 따르면, 인코딩된 이미지 데이터로부터 이미지를 디코딩하는 방법이 제공되며, 이 방법은, 인코딩된 이미지 데이터를 복수의 인코딩된 이미지 블록들로 분해하는 단계; 상기 이미지 블록들의 한 서브 블록 내 픽셀들의 평균 컬러 정보를 디코딩하는 단계; 상기 이미지 블록들 내 픽셀들의 강도 정보를 디코딩하는 단계; 각 픽셀의 강도 정보를 해당 픽셀의 평균 컬러 정보를 가지고 변조하는 단계; 및 디코딩된 이미지 블록들을 최초 다이내믹 영역을 갖는 이미지로 합성하는 단계를 포함한다.
일실시예에 따르면, 픽셀들의 컬러 성분들의 최초 다이내믹 영역 값들은 16 비트 또는 32 비트 유동 소수점 산술법으로 표현된다.
일실시예에 따르면, 상기 이미지 블록들 내 픽셀들의 강도 정보를 디코딩하는 단계는, 각 픽셀의 고정 개수의 강도 값 비트들을 디코딩하는 단계; 각 픽셀의 강도 값 비트들에 포함될 여러 리딩 제로 비트들을 디코딩하는 단계; 및 각 픽셀의 강도 값 비트들에 더해지는 바이어스 값을 디코딩하는 단계를 더 포함한다.
인코딩된 이미지 데이터의 어떤 픽셀을 디코딩하기 위한 일실시예에 따르면, 상기 방법은, 디코딩될 적어도 한 픽셀을 식별하는 단계; 인코딩된 이미지 데이터를 이미지 블록들로 분해한 뒤에, 디코딩될 적어도 한 픽셀을 포함하는 적어도 한 이미지 블록의 어드레스를 판단하는 단계; 디코딩하기 위한 그 적어도 한 픽셀을 포함한 적어도 한 이미지 블록만을 가져오는 단계; 및 상기 적어도 한 이미지 블록의 이미지 데이터를 디코딩하여 상기 적어도 한 픽셀의 디코딩된 이미지 데이터를 출력하는 단계를 더 포함한다.
본 발명에 따른 디코딩 방법이 주는 이점들은 이 분야의 당업자들에게 있어 명백한 것이다. 그래픽 서브 시스템의 텍스처링 (texturing) 하드웨어는 마치 디코딩된 이미지 데이터가 유동 소수점 텍스처로부터 바로 읽혀진 것처럼 그 디코딩된 이미지 데이터를 바람직하게 해석한다. 본 발명에 따른 디코딩 방법에 의해 주어지는 동적 영역 및 그 결과로서의 화질이 전통적인 LDR 포맷들에서보다 훨씬 더 우수하다. 또, 일실시예에 따른 랜덤 액세스 특성이, 이미지 블록의 어느 픽셀들이라도 무작위로 액세스될 수 있게 함으로써, 한 이미지의 필요한 부분들만을 디코딩하도록 유리하게 선택할 수 있다.
본 발명의 또 다른 양태들에, 상술한 방법들의 진보한 단계들을 수행하도록 구성된 다양한 장치들이 포함된다.
이하에서 본 발명의 다양한 실시예들은 첨부된 도면들을 참조하여 보다 상세하게 논의될 것이다.
도 1은 본 발명의 일실시예에 따른 인코딩/디코딩 장치를 간략화된 블록도로서 보인 것이다.
도 2는 일실시예에 따른 이미지 프로세싱 시스템을 간략화된 블록도로서 보인 것이다.
도 3은 일실시예에 따른 이미지 인코더 시스템을 간략화된 블록도로서 보인 것이다.
도 4는 일실시예에 따른 이미지 디코더 시스템을 간략화된 블록도로서 보인 것이다.
도 5는 일실시예에 따른 이미지 디코더 시스템의 랜덤 액세스 서브 시스템을 간략화된 블록도로서 보인 것이다.
본 발명의 바람직한 실시예에 따른 인코딩/디코딩 장치의 구조에 대해 지금부터 도 1을 참조해 설명할 것이다. 그 구조는 인코딩 장치에 대한 기능 블록들로서 설명될 것이다. 이 분야의 당업자라면, 하나의 물리적 장치를 통해 여러 기능들이 수행될 수 있다는 것을, 즉, 바람직한 경우 모든 계산 절차들이 하나의 프로세서 안에서 수행될 수 있다는 것을 알 수 있을 것이다. 도 1의 예에 따른 인코딩/디코딩 장치의 데이터 프로세싱 시스템은 프로세싱 유닛(100), 메모리(102), 저장 기기(104), 입력 기기(106), 출력 기기(108), 및 그래픽 서브 시스템(110)을 포함하고, 그들 모두는 데이터 버스(112)를 통해 서로 연결된다.
프로세싱 유닛(100)은 인텔 펜티엄 프로세서, 선 스파크 (Sun SPARC) 프로세서, 또는 AMD 애슬론 (Athlon) 프로세서 등과 같은 보편적 프로세싱 유닛이다. 프로세싱 유닛(100)은 데이터 프로세싱 시스템 안에서 데이터를 처리한다. 메모리(102), 저장 기기(104), 입력 기기(106), 및 출력 기기(108)는 이 분양의 당업자에 의해 인지되는 일반적인 구성요소들이다. 메모리(102) 및 저장 기기(104)는 데이터 프로세싱 시스템 내 데이터를 저장한다. 입력 기기(106)는 시스템 안으로 데이터를 입력시키고, 출력 기기(108)는 데이터 프로세싱 시스템으로부터 데이터를 수취한다. 데이터 버스(112)는 통상적인 데이터 버스로서, 하나의 라인으로 보여지고는 있으나 프로세서 버스, PCI 버스, 그래픽 버스, 및 ISA 버스의 조합이 될 수도 있다. 따라서, 이 분야의 당업자라면 인코딩/디코딩 장치가 컴퓨터 장치나 통신 시스템의 무선 단말 같이, 이하에서 더 설명할 실시예들에 따른 이미지 인코더 시스템 및/또는 이미지 디코더 시스템을 포함하는 임의의 보편적 데이터 프로세 싱 장치일 것이라는 것을 쉽게 인지할 수 있을 것이다.
일실시예에 따른 이미지 프로세싱 시스템(200)을 도 2의 블록도에서 더 예시하였다. 이미지 프로세싱 시스템(200)은 이미지 인코더 시스템(202) 및 이미지 디코더 시스템(204)을 포함한다. 이미지 인코더 시스템(202)은 이미지 소스(206)로부터 이미지를 수신하도록 연결되어 있다. 이미지 디코더 시스템(204)은, 처리된 이미지들이 저장 또는 추후 처리를 위해 전달되는 출력부(208)와 연결된다. 이미지 프로세싱 시스템(200)은 도 1의 데이터 프로세싱 시스템 안에서 실행될 수 있으며, 그에 따라 이미지 인코더 시스템(202)은 데이터 라인을 통해, 그리고 가령 저장 기기(104) 및/또는 메모리(102)를 통해 이미지 디코더 시스템(204)과 연결될 수 있다. 이미지 프로세싱 시스템(200)은 또한 별개의 유닛들로서 분산될 수 있는데, 이때 제1유닛은 이미지 인코더 시스템(202) 및, 통신 채널을 통해 인코딩된 데이터를 전송할 송신기를 포함하고, 제2유닛은 이미지 디코더 시스템(204) 및 인코딩된 이미지들을 수신할 수신기를 포함한다.
이미지 인코더 시스템(202) 안에서, 이미지는 개별 블록들로 분해되고 저장 기기(104) 등으로 보내지기 전에 압축 또는 인코딩된 이미지 데이터로서 처리된다. 인코딩된 이미지 데이터가 추가 데이터 처리를 위해 준비될 때, 인코딩된 이미지 데이터는 이미지 디코더 시스템(204)으로 보내진다. 이미지 디코더 시스템(204)은 인코딩된 이미지 데이터를 수신하고 그것을 디코딩하여 이미지 소스(206)로부터 수신되었던 오리지널 이미지의 표현인 출력을 생성한다.
종래 기술에 따르면, 각 픽셀의 컬러 성분들에 대한 16 비트 유동 소수점 표 현은 통상적으로 아래의 테이블 1에 따라 인코딩된다.
<테이블 1>
비트 # 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
데이터 부호 지수 (exponent) 가수 (mantissa)
유동 소수점 넘버들은 보통 테이블 1의 과학적 표기법에 기초해 인코딩되고, 여기서 최고 비트는 부호 (sign)이고, 차상위 비트들 (가령 16 비트 포맷에서 5 비트들)은, 최소 네거티브 값이 0으로 매핑되도록 바이어스된 지수 (exponent)를 나타내고, 비트 패턴의 최하위 부분 (8 비트 데시말 (decimal) 파트 마이너스 선두의 일 비트)는 가수가 된다. 각 컬러 성분 (RGB)에 대해 16 비트 표현이 생성되어, 실질적으로 48 bpp의 비트 레이트를 내게 된다. 많은 보완적 그래픽 하드웨어는 64 bpp의 비트 레이트를 가진 소위 "반 유동 (half-float)" 포맷 역시 지원하며, 여기서 각 픽셀은 픽셀의 투명도 (transparency)를 정하는 알파 값을 포함한다.
일실시예에 따른 이미지 인코더 시스템(202)이 도 3의 블록 다이어그램에 더 예시되어 있다. 이 실시예에 따른 이미지 인코더 시스템(202)의 동작은 상술한 16 비트 유동 소수점 표현으로부터 비롯된다. 인코딩의 기본 개념은, HDR 이미지를 적절한 블록들 (가령, 4x4 픽셀들)로 분할하는 단계, 이미지 데이터의 유동 소수점 포맷으로부터 컬러 및 강도 정보를 분리하는 단계, 및 손실(있는) 압축 방식들을 이용해 컬러 및 강도 정보를 따로 인코딩하는 단계를 포함한다. 그러한 인코딩을 통해, 48 bpp의 비트 레이트를 가진 HDR 이미지들이 8 bpp의 실질적 비트 레이트로 바이너리 인코딩될 수 있어, 비주얼 충실도 (fidelity)가 유지되고 하드웨어 구현을 위한 랜덤 액세스가 가능하게 된다.
그에 따라, 이미지 인코더 시스템은 이미지 분해기(300), 헤더 컨버터(302), 하나 이상의 블록 인코더들(304), 및 인코딩(된) 이미지 합성기(306)를 포함한다. HDR 이미지 처리를 위해, 이미지 분해기(300)는 이미지 소스(206) 같은 소스로부터 오리지널 HDR 이미지를 수신하기 위해 연결되어 있다. 이미지 분해기(300)는 오리지널 HDR 이미지의 헤더로부터의 정보를 헤더 컨버터(302)로 보내고, 헤더 컨버터는 그 오리지널 헤더를 변형하여 변형 헤더를 생성한다. 그런 다음 그 이미지 분해기(300)가 오리지널 HDR 이미지를 N 개의 이미지 블록들 IBN로 쪼개거나 분해하는데, 이때 N은 어떤 정수 값이다. 이미지는 각각의 이미지 블록이 4 픽셀 x 4 픽셀 (16 픽셀)이 되도록 분해됨이 바람직하다. 당업자라면 픽셀 수나 이미지 블록 사이즈는, m과 n이 양의 정수들인 m*n 픽셀들 등으로 가변 될 수 있다는 것을 예상할 수 있을 것이다.
이러한 이미지 블록들은 하나 이상의 블록 인코더들(304)로 제공되며, 이때 각 이미지 블록 IBN, 바람직하게는 4x4 픽셀 블록은 랜덤 액세스를 가능하게 하기 위해 독립적으로 인코딩된다. 한 이미지 블록을 인코딩하기 위해, 그 이미지 블록의 각 픽셀의 강도가 먼저, 오리지널 데이터의 적, 녹, 청 (RGB) 성분들의 합으로서 산출된다. 일실시예에 따르면, 그 강도는 수치 영역을 확장하기 위해 한 정수 값으로 나눠질 수도 있으나, 이것은 아래 하단 (lower end)에서의 정밀도를 희생시켜 이뤄진다. 이제 전체 블록 내 최소 강도, 즉, 최소 지수를 가진 블록 내 픽셀이 식별되고, 그 최소 강도의 유동 소수점 지수가 압축 블록 데이터의 한 테이블 안에 저장된다. 이 테이블은 이 최소 지수 값을 위해, 여기서 "expBias" 필드라고도 불리는 별도의 필드를 포함함이 바람직하다.
일단 바이어스가 정해지면, 그것이 이미지 블록 내 모든 강도 값들의 지수들에서 감산 된다. 이러한 감산의 결과로서 만들어진 유동 소수점 지수들로부터, 이제 가장 큰 값을 가진 블록 내 픽셀이 식별된다. 그런 다음, 그 최대 비트 값 내 불필요한 제로 (zero) 비트들, 즉, 부호 비트, 지수 비트들 및 가수 비트들을 포함해 비트 값 제로를 가진 리딩 (선두) 비트들의 개수가 식별된다. 불필요한 제로 비트들의 개수는 0과 7 사이에서 이미지 블록 데이터에 따라 가변 될 수 있다는 것을 알아야 한다. 최대 비트 값의 불필요한 제로 비트들의 개수 마이너스 1 (왜냐면 부호 비트는 항상 0이므로)이, 압축 블록 데이터의 테이블 안에 저장된다. 여기서 그 필드를 "bitShift" 필드라 부를 것이다. 이제 상기 개수의 불필요한 제로 비트들이 이미지 블록 내 각 픽셀의 리딩 비트들에서 제거된다.
일실시예에 따르면, 압축 블록 데이터의 테이블은 이미지 블록의 각 픽셀의 강도 정보에 단 4 비트의 필드들만을 포함한다. 따라서, 극단적인 경우들에서 오리지널 수치 영역의 블록을 인코딩한다는 것은 가능하지 않을 것이다. 일실시예에 따르면, 인코더는 이미지 블록 데이터가 매우 어두운 값들 (dark values)과 매우 밝은 값들 (bright values)을 모두 포함하는 경우들을 다루기 위한 소정 설정들 (settings)을 포함한다. 선택된 방식에 따라, 인코더는 이제 "expBias" 값을 조정할 수 있으며, 이것은 어두운 값들을 클리핑 (clipping)하거나, 지수 값들을 허용된 최대치로 고정시켜 (clamp), 밝기 값들이 클리핑되게 한다.
디-바이어스된 (de-biased) 픽셀 강도들을 인코딩하기 위해, 각 강도 값의 지수 필드의 최하위 비트들, 및/또는 가수 필드의 최상위 비트들, 모두 합해 4 비트들이 각 픽셀의 강도 필드 안에 저장된다. 일반적 유동 소수점 비트 레이아웃들에서 비트들은 오리지널 값 안에서 인접해 있어, 인코딩 및 디코딩 둘 모두를 바람직하게 단순화할 수 있게 된다는 것을 주지해야 할 것이다.
상술한 이미지 블록의 강도 값들을 인코딩하는 프로세스는, 단순함 및 명료함을 위해 인코딩이 단 4 픽셀들과 관련지어 기술되는 아래의 예를 통해 더 설명될 것이다. 테이블 2는 상기 4 픽셀 (P1-P4)의 컬러 성분들에 대한 16 비트 유동 소수점 표현을 보인 것이다.
<테이블 2>
Figure 112008052984695-PCT00001
픽셀 P4가 최소 지수 (00010)을 가진다; 따라서, 그것은 압축 블록 데이터 테이블의 "expBias" 필드 안에 저장되고 그런 다음 나머지 지수들로부터 감산 된다. 테이블 3은 이러한 감산 결과인 유동 소수점 지수들을 보인 것이다.
<테이블 3>
Figure 112008052984695-PCT00002
이제 픽셀 P1이 최대값을 가지며 MSB들 (최상위 비트들)에 4 개의 불필요한 제로 비트들을 포함한다. 그에 따라, 3 (4-1=3)이라는 값이 압축 블록 데이터 테이블의 "bitShift" 필드에 저장되고, 4 개의 불필요한 제로 비트들이 각 픽셀의 MSB들로부터 제거된다. 테이블 4는 이 제거의 결과를 보인 것이다.
<테이블 4>
Figure 112008052984695-PCT00003
남은 비트들에서, 각 픽셀의 4 개의 최상위 비트들이 압축 블록 데이터 테이블에 강도 값으로서 저장된다. 이 예에서, 각 픽셀의 두 비트들이 지수 비트들로부터 파생되고 두 비트들은 가수 비트들에서 파생된다. 픽셀 P1의 강도 비트 값들은 따라서 다음과 같이 된다: (1,1,1,0), 그리고 나머지 픽셀들의 강도 비트 값들은 P2 (0,1,0,0), P3 (0,1,0,0), P4 (0,0,0,1)이 된다. 당업자라면 이미지 블록 데이터에 따라 불필요한 제로 비트들의 수 ("bitShift")가 달라질 수 있고, 그에 따라 어떤 다른 경우에 있어서, 네 개의 비트들 전부가 각각 지수 비트들로부터 나오거나, 가수 비트들에서 나올 수 있다는 것을 알 수 있을 것이다.
결과적으로, 상기 절차들은 약간의 정확도를 손해 보더라도 HDR 이미지의 하이 다이내믹 영역은 보존되도록 이미지 데이터의 동적 형태 (dynamics)를 효율적으로 인코딩하기 위해 수행된다.
압축 효율은 주로 컬러 인코딩을 통해 달성된다. 컬러들을 인코딩하기 위 해, 각각의 이미지 블록 IBN (4x4 픽셀 블록)이 먼저 2x2 픽셀들의 서브 블록들로 분할되고, 그에 따라 각각의 4x4 이미지 블록 IBN은 4 개의 2x2 픽셀들의 서브 블록들을 포함한다. 다음으로 각 2x2 픽셀 서브 블록의 평균 컬러가 정해진다. 평균 컬러가 정해지도록 하는 방법은 중요한 것이 아니며, 그 평균은 가령 RGB 값들의 균일한 평균이거나, 픽셀 강도들에 의해 가중을 받은 평균이거나, 인코더가 그 서브 블록에 대해 최적이라고 본 어떤 다른 RGB 컬러일 수 있다.
각 평균 컬러는 그 R, G, B 성분들의 합으로 나누어 정규화됨으로써, 정규화된 컬러 성분들인 r', g', b'가 도출된다. 정규화된 성분들은 합해서 1이 되므로, 정규화된 컬러 성분들 r', g', b' 가운데 하나는 중복적인 것 (redundant)이 된다. 따라서, 예를 들어 g' 성분이 제외되고, r' 및 b' 성분들만이 각 2x2 서브 블록의 7 비트 고정 소수점 넘버들로서 인코딩될 수 있다. 이 7 비트 고정 소수점 넘버들은 압축 블록 데이터의 특정 필드들 안에 저장된다. 여기서는 그 필드들을 "colorR" 및 "colorB" 필드들로 부를 것이다.
따라서, 다음 세 단계를 통해 컬러 인코딩에 있어서 상당한 압축 효율성이 얻어지게 된다: 각 픽셀에 대해 컬러 값들을 구비하는 대신 2x2 픽셀 블록에 대한 컬러 값을 평균하는 단계; 컬러 성분들을 정규화하여, 인코딩시 한 컬러 성분을 무시할 수 있게 하는 단계; 및 단 7 비트의 고정 소수점 넘버들로서 나머지 컬러 성분들을 인코딩하는 단계. 전체 인코딩 방식의 결과로서, 4x4 픽셀 이미지 블록의 이미지 데이터는 128 비트를 가진 압축 블록 데이터의 테이블이 도출되게 하고, 8 bpp의 비트 레이트를 낼 것이다. 각 압축 이미지 블록에서의 128 비트들이 테이블 5에 보여진 것처럼 할당된다.
<테이블 5>
Figure 112008052984695-PCT00004
상술한 비트 할당은 적절한 인코딩 방식의 한 예일 뿐으로, 이 분야의 당업자라면 다른 비트 할당들 역시 활용될 수 있다는 것을 알 수 있을 것이다. 예를 들어, 보다 정확한 강도 값들을 가질 필요가 있다고 생각될 때, 픽셀 당 강도 비트의 수를 컬러 비트들을 줄이는 대신 증가시킬 수 있다. 그에 따라, 픽셀 당 다섯 개의 강도 비트들 및 2x2 픽셀 서브 블록당 두 컬러 성분에는 단 다섯 개의 컬러 비트들을 포함하는 다른 비트 할당 등이 활용될 수도 있다. 테이블 6은 이러한 다른 방식에서의 128 비트들의 할당을 보인다.
<테이블 6>
Figure 112008052984695-PCT00005
그런 다음 인코딩된 이미지 블록들은 인코딩 이미지 합성기(306)에 삽입되며, 이미지 합성기는 그 인코딩된 블록들을 데이터 파일 안에 정렬하는데, 이 데이터 파일은 헤더 변환기(302)로부터의 변형 헤더와 연결되어 인코딩 이미지 데이터 파일이 생성되게 된다. 헤더 변환기(302)에 의해 생성된 변형 헤더는 파일 타입, 오리지널 이미지의 픽셀 당 비트 수, 오리지널 이미지로의 어드레스, 기타 갖가지의 인코딩 파라미터들뿐 아니라 오리지널 이미지의 사이즈를 가리키는 폭과 높이 정보를 포함한다. 변형 헤더 및 인코딩된 이미지 블록들이 합쳐져서, 오리지널 이미지를 나타내지만 보다 고도 압축 포맷으로 된 인코딩 이미지 데이터를 형성한다.
이 분야의 당업자라면, 상술한 인코딩 방식이 개시된 4x4 및 2x2 블록들 이외의 어떤 다른 이미지 블록 및 서브 블록 사이즈들로도 구현될 수 있다는 것을 알 수 있을 것이다. 보다 큰 블록 사이즈들이 사용될 때, 훨씬 높은 압축 효율성을 얻을 수 있으나, 이는 당연히 비주얼 안정성 저하시키게 된다. 화질에 대한 저하가 아주 약간 일어나거나 아예 일어나지 않기를 바란다면, 2x2 픽셀들로 된 서브 블록들을 가진 4x4 픽셀들의 이미지 블록 사이즈를 이용하면 좋은 결과를 얻을 수 있다.
실시예들에 의해 주어지는 이점들을 이 분야의 당업자들이라면 잘 알 수 있을 것이다. 가장 큰 이점은, HDR 텍스처들을 처리함에 있어, 저장 용량 및 요구되는 버스 대역폭 둘 모두의 관점에 있어서 상당한 메모리 절감이 이뤄진다는 것이다. 예를 들어, 16 비트 OpenEXR 이미지 포맷을 사용하는 비압축 HDR 텍스처는 사실상 48 bpp의 비트 레이트를 가진다. 상술한 절차는 그 비트 레이트를 8 bpp로 변환시켜, 16 비트 OpenEXR 비압축 HDR 텍스처들과 비교할 때 거의 85%의 메모리 절감을 가져온다. 또 다른 이점은, 일반 이미지들의 화질이 디코딩시 아주 약간, 심지어 전혀 저하되지 않는다는 데 있다. 또 한가지 이점은, 기존의 하드웨어 구 성에 대한 최소한의 변형만으로도 실시예들이 구현될 수 있다는 것이다.
일실시예에 따른 이미지 디코더 시스템(204)이 도 4의 블록도에 더 예시되어 있다. 이미지 디코더 시스템(204)은 인코딩 이미지 분해 유닛(400), 헤더 변환기(402), 하나 이상의 블록 디코더들(404), 및 이미지 합성기(406)를 포함한다. 인코딩 이미지 데이터는 디코더 시스템(204)으로 입력된다. 인코딩 이미지 분해기(400)는 그 인코딩된 이미지 데이터를 자신의 헤더 및 인코딩 이미지 블록들 IBN 안에 분해, 또는 해체한다. 변형된 헤더는 헤더 변환기(402)로 전달된다. 개별 인코딩 이미지 블록들 IBN은 압축해제를 위해 하나 이상의 블록 디코더들(404)로 보내진다. 동시에, 헤더 변환기(402)가 그 변형 헤더를 출력 헤더로 변환한다.
블록 디코더들(404)이 먼저 각 2x2 서브 블록의 정규화된 컬러 성분들 (r', g', b')을 디코딩함으로써 압축해제를 시작한다. 이 프로세스에서, 각자의 "colorR" 및 "colorB" 필드들의 값들이 g'=1-(r'+b')인 정보와 함께 사용되고, 이때 결핍된 컬러 성분은 그 두 인코딩 컬러 성분들로부터 도출될 수 있다. 이제 블록 디코더들(404)은 지수 비트들 및/또는 가수 비트들을 포함하는 각각의 강도 필드로부터 "bitShift" 필드의 값과 4 비트를 추출함으로써 픽셀 당 강도 값들을 디코딩한다. 그런 다음, "bitShift" 필드의 값 플러스 1 (0인 부호 비트)로 나타낸 제로 비트 개수가 각 강도 필드의 상기 4 비트에, 최상위 비트들로서 포함되고, 그런 다음 부족한 최하위 비트들이 제로들로 세팅되어, 16 비트 표현이 만들어지도록 한다. 이어서, "expBias" 필드에 저장된 최소 강도 지수가 각각의 지수에 더해진 다. 이러한 것이, 각 픽셀의 오리지널 그레이-스케일 (gray-scale) 강도의 매우 양호한 근사화를 가져온다.
각 픽셀의 강도 값들과 관련한 디코딩 프로세스는 상술한 인코딩 예를 참조해 예시될 수 있다. 그 예에서, 픽셀들의 인코딩(된) 강도 비트 값들은 다음과 같다: P1 (1,1,1,0), P2 (0,1,0,0), P3 (0,1,0,0) 및 P4 (0,0,0,1). "bitShift" 필드의 값은 3이었고, 따라서 3+1=4가 되는 제로 비트들이 최상위 비트들로서 각각의 강도 비트 값 안에 포함되고, 결핍된 최하위 비트들은 제로들로 세팅된다. 테이블 7은 이 절차의 결과를 보인다.
<테이블 7>
Figure 112008052984695-PCT00006
또, 이 예에서 "expBias" 필드의 값은 00010이었고, 이것이 각각의 가수 필드에 가산된다. 테이블 8은 그 가산 결과를 보인다.
<테이블 8>
Figure 112008052984695-PCT00007
이제, 테이블 8의 각 픽셀에 대한 디코딩(된) 강도 값들의 결과들을, 테이블 2의 각 픽셀의 컬러 성분들에 대한 오리지널 16 비트 유동 소수점 표현들과 비교함 으로써, 지수 필드들이 그 두 테이블들에서 동일할 뿐 아니라, 가수 필드들의 두 MSB들 또한 동일하다는 것을 알 수 있다. 따라서, 유동 소수점 연산의 성질로 인해, 약간의 사소한 세부사항들은 잃을 수 있지만, 각 픽셀의 디코딩 강도 값들의 크기는 상당한 정도까지 정확하다.
각 픽셀의 그레이-스케일 강도 값들이 디코딩되었을 때, 각 픽셀의 그레이-스케일 강도는 그 픽셀이 속한 서브 블록의 (r', g', b') 컬러 성분들을 가지고 변조된다. 이 절차의 결과로서, 디코딩 이미지 블록 IBN에 상응하는 RGB 텍스처 샘플이 얻어지게 된다.
그런 다음 그 디코딩 이미지 블록들 IBN은 이미지 합성기(406)로 삽입되며, 이미지 합성기는 그들을 파일 안에 재정렬한다. 또, 이미지 합성기(406)는 헤더 변환기(402)로부터, 디코딩 이미지 블록들과 함께 놓인 변환된 헤더를 수신하여, 오리지널 HDR 이미지 데이터를 표현하는 출력 데이터를 생성하도록 한다.
따라서, 디코딩 프로세스는 매우 간단한 방식으로 구현될 수 있어, 디코딩에 필요한 하드웨어 로직을 단순화시킨다. 그래픽 서브 시스템의 텍스처링 하드웨어는 이미지 데이터를, 마치 그것이 유동 소수점 텍스처로부터 바로 읽혀진 것처럼 바람직하게 해석한다. 이 분야의 당업자는 상술한 이미지 데이터 압축 프로세스가 오리지널 HDR 이미지로부터 일부 세부사항들 (details)을 놓치게 한다는 것을 바로 알 수 있겠지만, 이러한 것은 모든 손실 있는 압축 방식들에서도 일어나는 일이다. 또, HDR 데이터에 사용되는 유동 소수점 연산의 성질로 인해, 일반적인 어플리케이 션들에 있어서 큰 값들이 보통 작은 세부사항들을 압도한다. 결과적으로, 바이어스 조정된 동적 형태 (dynamics)에 의해 야기된 세부사항의 상실 및 평균 컬러 인코딩이 반드시 그렇게 명백한 것은 아니다.
디코딩이 한번에 한 블록씩 텍스처 캐시로 수행되거나, 한 번에 한 픽셀씩 (이 경우 블록 데이터의 한 서브 세트 (부분 집합)만이 픽셀 단위로 액세스 되어야 함) 수행될 수 있음을 주지해야 할 것이다. 따라서, 일실시예에 따르면, 이미지 디코더 시스템(204)은 이미지 내 임의의 원하는 픽셀이나 이미지 블록에 대한 랜덤 액세스를 지원하는 서브 시스템을 추가로 포함한다. 도 5에 도시된 랜덤 액세스 서브 시스템은 도 4의 이미지 디코더 시스템에서 구현되고, 블록 어드레스 산출 모듈(408), 및 블록 가져오기 모듈(410)을 포함하며, 블록 가져오기 모듈은 하나 이상의 블록 디코더들(404)과 연결된다. 블록 어드레스 산출 모듈(408)은 인코딩 이미지 분해기(400)로부터 인코딩된 이미지 데이터의 헤더 정보를 수신한다. 블록 가져오기 모듈(410)은 인코딩된 이미지 데이터의 인코딩 이미지 블록 부분을 수신한다.
이미지 내 하나 이상의 픽셀들로의 랜덤 액세스 처리는 주로 디코딩될 특정 픽셀들을 식별함으로써 시작된다. 이미지 디코더 시스템이 인코딩(된) 이미지 데이터를 수신할 때, 그 인코딩 이미지 데이터의 변형 헤더가 블록 어드레스 산출 모듈(408)로 보내지고, 인코딩 이미지 데이터의 인코딩 이미지 블록 부분은 블록 가져오기 모듈(410)로 보내진다. 블록 어드레스 산출 모듈(408)은 원하는 픽셀들을 포함하는 인코딩 이미지 블록 부분의 어드레스 (즉, 픽셀 좌표들)을 유추하고, 블 록 가져오기 모듈(410)은 그 어드레스에 기초해 원하는 픽셀들을 포함하는 인코딩 이미지 블록을 식별한다. 그런 다음 그 식별된 인코딩 이미지 블록만이 디코딩되기 위해 블록 디코더들(404)로 보내진다. 다시, 블록 디코더들(404)이 각 2x2 서브 블록에 대한 정규화된 컬러 성분들 (r', g', b')를 디코딩하고, 그 다음, "bitShift" 필드의 값과 각 강도 필드로부터의 4 비트를 추출하여 픽셀 당 강도 값들이 디코딩된다. 필요로 되는 제로 비트들의 개수가 각 강도 필드의 상기 4 비트들에 최상위 비트들로서 포함되고, "expBias" 필드에 저장된 최소 강도 지수가 각 지수에 더해진다. 마지막으로, 각 픽셀의 그레이-스케일 강도가 해당 서브 블록 (r', g', b') 컬러 성분들을 가지고 변조되며, 그에 따라 하이 다이내믹 영역을 갖는 B 텍스처 샘플들이 각 이미지 블록 IBN마다 얻어지게 된다. 이제 원하는 픽셀들의 컬러들이 픽셀 값들에 따라 선택되고, 이미지 디코더 시스템으로부터 원하는 픽셀들이 출력된다.
일실시예에서, 이미지 디코더 시스템은 버퍼 메모리, 즉 텍스처 캐시를 포함하며, 가장 자주 사용되는 인코딩 이미지 블록들이 그 안에 일시적으로 저장될 수있고, 저장된 이미지 블록들의 원하는 픽셀들에 대해서만 랜덤 액세스 프로세스가 적용될 수 있다. 달리 말해, 전체 인코딩 이미지 데이터가 분해 유닛(400)으로 다 들어갈 필요가 없고, 원하는 인코딩 이미지 블록들만이 텍스처 캐시로부터 회수될 수 있다.
결국, 임의의 이미지 블록의 임의의 픽셀들이 무작위로 애겟스될 수 있으므 로, 필요로 되는 이미지 부분들만이 디코딩을 위해 바람직하게 선택될 수 있다. 랜덤 액세스는 또한 각종의 이미지가 임의의 원하는 순서로 디코딩될 수도 있게 하며, 이는 가령, 3차원 텍스처 매핑시 선호되는 것으로서, 이때는 텍스처의 어떤 부분들만이 필요로 되고 그 부분들은 어떤 비순차적 순서로서 추가로 필요로 될 수 있다.
실시예들에 따른 단계들은 인코딩 및/또는 디코딩 장치로서 동작하는 데이터 프로세싱 장치의 프로세싱 유닛 안에서 실행될 프로그램 명령들로서 주로 구현될 수 있다. 따라서, 상술한 방법을 실행하기 위한 상기 수단은 컴퓨터 소프트웨어 코드로서 구현될 수 있으나, 적어도 디코더 안에서는 하드웨어 솔루션이 더 바람직할 수도 있다. 컴퓨터 소프트웨어는 PC의 하드 디스크나 CD-ROM 디스크 같은 임의의 메모리 수단에 저장될 수 있고, 그로부터 데이터 프로세싱 장치의 메모리로 로드 될 수 있다. 컴퓨터 소프트웨어는 또한, 가령 TCP/IP 프로토콜 스택을 이용해 네트워크를 통해 로드될 수도 있다. 본 발명의 구성을 구현하기 위해 하드웨어 및 소프트웨어의 조합을 이용하는 것 역시 가능하다.
본 발명은 상기 제시된 실시예들에만 한정되는 것이 아니고, 첨부된 청구항들의 범위 안에서 변형될 수 있음이 당연하다.

Claims (32)

  1. 하이 다이내믹 영역 (high dynamic range)의 값으로 나타낸 각각의 이미지 픽셀의 컬러 성분들을 가진 이미지를 인코딩하는 방법에 있어서,
    이미지를 복수의 이미지 블록들로 분해하는 단계;
    각 픽셀의 상기 하이 다이내믹 영역으로부터, 상기 이미지 블록들 내 픽셀들의 컬러 정보 및 강도 정보를 분리하는 단계; 및
    상기 이미지 블록들 내 픽셀들의 컬러 정보 및 상기 이미지 블록들 내 픽셀들의 강도 정보를 서로 독립적으로 압축하여 압축(된) 이미지 데이터를 제공하는 단계를 포함함을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 이미지 블록들 내 각 픽셀마다, 픽셀들의 강도 정보를 별도로 압축하는 단계를 더 포함함을 특징으로 하는 방법.
  3. 제2항에 있어서,
    전체 이미지 블록 안에서 최소 강도를 식별하는 단계; 및
    압축 블록 데이터의 테이블 안에서 상기 최소 강도의 유동 소수점 지수 (floating-point exponent)를 바이어스 값으로서 저장하는 단계를 더 포함함을 특징으로 하는 방법.
  4. 제3항에 있어서,
    이미지 블록 내 모든 강도 값들의 지수들로부터 상기 바이어스 값을 빼서, 각 픽셀에 대해 바이어스(된) 강도 값들을 제공하는 단계; 및
    압축 블록 데이터의 테이블 안의 최대 바이어스 강도 값의 유동 소수점 비트 패턴의 리딩 제로 (leading zero) 비트들의 개수를 저장하고, 이때 부호 (sign) 비트는 리딩 제로 비트들의 상기 개수에서 제외되는 단계를 더 포함함을 특징으로 하는 방법.
  5. 제4항에 있어서,
    각 픽셀의 상기 바이어스 강도 값들의 유동 포인트 비트 패턴들의 리딩 제로 비트들에서, 최대 바이어스 강도 값의 유동 포인트 비트 패턴의 리딩 제로 비트들의 개수만큼을 제거하는 단계; 및
    상기 단계의 결과에 따른 각 픽셀의 바이어스 강도 값들의 유동 포인트 비트 패턴들로부터 고정 개수의 리딩 비트들을 압축 블록 데이터의 테이블 안에 저장하는 단계를 더 포함함을 특징으로 하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 이미지 블록들로 된 이미지 데이터를 서브 블록들로 나누는 단계;
    상기 서브 블록 내 각 픽셀이 동일한 평균 컬러 값을 갖는 것으로 정해지도 록, 상기 서브 블록들 내 픽셀들의 컬러 정보를 평균화하는 단계를 더 포함함을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 평균화된 컬러 정보를 그 컬러 성분들의 합으로 나눔으로써 상기 평균화된 컬러 정보를 정규화하는 단계; 및
    압축 프로세스에서 상기 정규화된 컬러 성분들 중 하나를 배제하는 단계를 더 포함함을 특징으로 하는 방법.
  8. 제7항에 있어서,
    나머지 컬러 성분들을 7 비트의 고정 소수점 개수들로서 인코딩하는 단계를 더 포함함을 특징으로 하는 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 이미지 블록의 사이즈는 4x4 픽셀임을 특징으로 하는 방법.
  10. 제6항 내지 제9항 중 어느 한 항에 있어서, 상기 서브 블록의 사이즈는 2x2 픽셀임을 특징으로 하는 방법.
  11. 인코딩(된) 이미지 데이터를 디코딩하는 방법에 있어서,
    인코딩 이미지 데이터를 복수의 인코딩 이미지 블록들로 분해하는 단계;
    상기 이미지 블록들의 서브 블록 내 픽셀들의 평균 컬러 정보를 디코딩하는 단계;
    상기 이미지 블록들의 서브 블록 내 픽셀들의 강도 정보를 디코딩하는 단계;
    각 픽셀의 강도 정보를 해당 픽셀의 평균 컬러 정보를 가지고 변조시키는 단계; 및
    디코딩(된) 이미지 블록들을 오리지널 다이내믹 영역을 갖는 이미지로 합성하는 단계를 포함함을 특징으로 하는 방법.
  12. 제11항에 있어서,
    픽셀들의 컬러 성분들의 오리지널 다이내믹 영역 값들을 16 비트 또는 32 비트 유동 소수점 산술방식으로 나타내는 단계를 더 포함함을 특징으로 하는 방법.
  13. 제11항 또는 제12항에 있어서, 상기 이미지 블록들 내 픽셀들의 강도 정보를 디코딩하는 단계는,
    각 픽셀의 고정된 수의 강도 값 비트들을 디코딩하는 단계;
    각 픽셀의 강도 값에 포함될 여러 리딩 제로 비트들을 디코딩하는 단계; 및
    각 픽셀의 상기 강도 값 비트들에 더해지는 바이어스 값을 디코딩하는 단계를 더 포함함을 특징으로 하는 방법.
  14. 제11항 내지 제13항 중 어느 한 항에 있어서, 상기 인코딩 이미지 데이터의 임의의 픽셀을 디코딩하는 단계는,
    디코딩될 적어도 한 픽셀을 식별하는 단계;
    상기 인코딩 이미지 데이터를 이미지 블록들로 분해한 뒤, 디코딩될 적어도 한 픽셀을 포함하는 적어도 한 이미지 블록의 어드레스를 정하는 단계;
    디코딩을 위해 적어도 한 픽셀을 포함하는 적어도 한 이미지 블록만을 가져오는 단계; 및
    상기 적어도 한 이미지 블록의 이미지 데이터를 디코딩하여, 상기 적어도 한 픽셀의 디코딩 이미지 데이터를 출력하도록 하는 단계를 포함함을 특징으로 하는 방법.
  15. 이미지 인코더에 있어서,
    하이 다이내믹 영역의 값으로 나타낸 각 이미지 픽셀의 컬러 성분들을 포함하는 이미지를 수신하고, 그 이미지를 복수의 이미지 블록들로 분해하기 위한 이미지 분해기;
    상기 각 픽셀의 하이 다이내믹 영역 값으로부터, 상기 이미지 블록들 내 픽셀들의 컬러 정보 및 강도 정보를 분리하고, 상기 이미지 블록들 내 픽셀들의 컬러 정보 및 상기 이미지 블록들 내 픽셀들의 강도 정보를 서로 독자적으로 압축하여 압축 이미지 데이터를 제공하도록 하는 적어도 한 블록 인코더; 및
    상기 복수의 인코딩 이미지 블록들의 상기 압축 이미지 데이터로부터 인코딩 이미지 파일을 합성하도록 하는 인코딩 이미지 합성기를 포함함을 특징으로 하는 이미지 인코더.
  16. 제15항에 있어서, 상기 적어도 한 블록 인코더는,
    상기 이미지 블록들 안의 각 픽셀마다, 픽셀들의 강도 정보를 따로 압축하도록 구성됨을 특징으로 하는 이미지 인코더.
  17. 제16항에 있어서, 상기 적어도 한 블록 인코더는,
    전체 이미지 블록 내 최소 강도를 식별하고,
    압축 블록 데이터의 테이블 안에 상기 최소 강도의 유동 소수점 지수를 바이어스 값으로서 저장하도록 구성됨을 특징으로 하는 이미지 인코더.
  18. 제17항에 있어서, 상기 적어도 한 블록 인코더는,
    이미지 블록 안의 모든 강도 값들의 지수들에서, 상기 바이어스 값을 빼서, 각 픽셀의 바이어스 강도 값들을 제공하고,
    상기 압축 블록 데이터의 테이블 안의 최대 바이어스 강도 값의 유동 소수점 비트 패턴의 리딩 제로 비트들의 개수를 저장하고, 이때 부호 비트는 그 리딩 제로 비트들의 수에서 제외되도록 구성됨을 특징으로 하는 이미지 인코더.
  19. 제18항에 있어서, 상기 적어도 한 블록 인코더는,
    각 픽셀의 상기 바이어스 강도 값들의 유동 포인트 비트 패턴들의 리딩 제로 비트들에서, 상기 최대 바이어스 강도 값의 유동 포인트 비트 패턴의 리딩 제로 비트들의 개수만큼을 제거하고,
    상기 제거 결과에 따른 각 픽셀의 바이어스 강도 값들의 유동 포인트 비트 패턴들로부터 고정 개수의 리딩 비트들을 압축 블록 데이터의 테이블 안에 저장하도록 구성됨을 특징으로 하는 이미지 인코더.
  20. 제15항 내지 제19항 중 어느 한 항에 있어서, 상기 적어도 한 블록 인코더는,
    상기 이미지 블록들로 된 이미지 데이터를 서브 블록들로 나누고,
    상기 서브 블록 내 각 픽셀이 동일한 평균 컬러 값을 갖는 것으로 정해지도록, 상기 서브 블록들 내 픽셀들의 컬러 정보를 평균화하도록 구성됨을 특징으로 하는 이미지 인코더.
  21. 제20항에 있어서, 상기 적어도 한 블록 인코더는,
    상기 평균화된 컬러 정보를 그 컬러 성분들의 합으로 나눔으로써 상기 평균화된 컬러 정보를 정규화하고,
    압축 프로세스에서 상기 정규화된 컬러 성분들 중 하나를 배제하도록 구성됨을 특징으로 하는 이미지 인코더.
  22. 제21항에 있어서, 상기 적어도 한 블록 인코더는,
    나머지 컬러 성분들을 7 비트의 고정 소수점 개수들로서 인코딩하도록 구성됨을 특징으로 하는 이미지 인코더.
  23. 제15항 내지 제22항 중 어느 한 항에 있어서, 상기 이미지 블록의 사이즈는 4x4 픽셀임을 특징으로 하는 이미지 인코더.
  24. 제20항 내지 제23항 중 어느 한 항에 있어서, 상기 서브 블록의 사이즈는 2x2 픽셀임을 특징으로 하는 이미지 인코더.
  25. 이미지 디코더에 있어서,
    인코딩 이미지 데이터를 수신하고, 상기 인코딩 이미지 데이터를 복수의 인코딩 이미지 블록들로 분해하도록 하는 이미지 분해기;
    상기 이미지 블록들의 서브 블록 내 픽셀들의 평균 컬러 정보를 디코딩하고, 상기 이미지 블록들 내 픽셀들의 강도 정보를 디코딩하고, 각 픽셀의 강도 정보를 해당 픽셀의 평균 컬러 정보를 가지고 변조시키는 적어도 한 블록 디코더; 및
    디코딩(된) 이미지 블록들을 오리지널 다이내믹 영역을 갖는 이미지로 합성하기 위한 이미지 합성기를 포함함을 특징으로 하는 이미지 디코더.
  26. 제25항에 있어서,
    픽셀들의 컬러 성분들의 오리지널 다이내믹 영역 값들을 16 비트 또는 32 비트 유동 소수점 산술방식으로 나타내도록 하는 수단을 더 포함함을 특징으로 하는 이미지 디코더.
  27. 제25항 또는 제26항에 있어서, 상기 적어도 한 블록 디코더는,
    각 픽셀의 고정된 수의 강도 값 비트들을 디코딩하고,
    각 픽셀의 강도 값에 포함될 여러 리딩 제로 비트들을 디코딩하고;
    바이어스 값을 디코딩하고, 상기 바이어스 값을 각 픽셀의 상기 강도 값 비트들에 더하도록 추가 구성됨을 특징으로 하는 이미지 디코더.
  28. 제25항 내지 제27항 중 어느 한 항에 있어서,
    디코딩될 적어도 한 픽셀을 식별하는 수단;
    상기 인코딩 이미지 데이터를 이미지 블록들로 분해한 뒤, 디코딩될 적어도 한 픽셀을 포함하는 적어도 한 이미지 블록의 어드레스를 정하는 블록 어드레스 산출 수단; 및
    디코딩을 위해 적어도 한 픽셀을 포함하는 적어도 한 이미지 블록만을 가져오는 블록 가져오기 수단을 더 포함하고,
    상기 적어도 한 블록 디코더는, 상기 적어도 한 이미지 블록의 이미지 데이터를 디코딩하여, 상기 적어도 한 픽셀의 디코딩 이미지 데이터를 출력하도록 구성됨을 특징으로 하는 이미지 디코더.
  29. 하이 다이내믹 영역의 값으로 나타낸 각 이미지 픽셀의 컬러 성분들을 가진 이미지를 인코딩하기 위한 이미지 프로세싱 장치에 있어서, 상기 장치는 이미지 인코더를 포함하고, 상기 이미지 인코더는,
    상기 이미지의 이미지 데이터를 수신하고, 그 이미지를 복수의 이미지 블록들로 분해하기 위한 이미지 분해기;
    각 픽셀의 하이 다이내믹 영역 값으로부터, 상기 이미지 블록들 내 픽셀들의 컬러 정보 및 강도 정보를 분리하고, 상기 이미지 블록들 내 픽셀들의 컬러 정보 및 상기 이미지 블록들 내 픽셀들의 강도 정보를 서로 독자적으로 압축하여 압축 이미지 데이터를 제공하도록 하는 적어도 한 블록 인코더; 및
    상기 복수의 인코딩 이미지 블록들의 상기 압축 이미지 데이터로부터 인코딩 이미지 파일을 합성하도록 하는 인코딩 이미지 합성기를 포함함을 특징으로 하는 이미지 프로세싱 장치.
  30. 인코딩 이미지 데이터를 디코딩하는 이미지 프로세싱 장치에 있어서, 이미지 디코더를 포함하고, 상기 이미지 디코더는,
    인코딩 이미지 데이터를 수신하고, 상기 인코딩 이미지 데이터를 복수의 인코딩 이미지 블록들로 분해하도록 하는 이미지 분해기;
    상기 이미지 블록들의 서브 블록 내 픽셀들의 평균 컬러 정보를 디코딩하고, 상기 이미지 블록들 내 픽셀들의 강도 정보를 디코딩하고, 각 픽셀의 강도 정보를 해당 픽셀의 평균 컬러 정보를 가지고 변조시키는 적어도 한 블록 디코더; 및
    디코딩(된) 이미지 블록들을 오리지널 다이내믹 영역을 갖는 이미지로 합성하기 위한 이미지 합성기를 포함함을 특징으로 하는 이미지 프로세싱 장치.
  31. 하이 다이내믹 영역 (high dynamic range)의 값으로 나타낸 각각의 이미지 픽셀의 컬러 성분들을 가진 이미지를 인코딩하기 위해, 컴퓨터 실행가능 매체 상에 저장되어 데이터 프로세싱 장치에서 실행되는 컴퓨터 프로그램 제품에 있어서,
    상기 이미지의 이미지 데이터를 수신하고, 그 이미지를 복수의 이미지 블록들로 분해하도록 하는 컴퓨터 프로그램 코드 섹션;
    각 픽셀의 상기 하이 다이내믹 영역으로부터, 상기 이미지 블록들 내 픽셀들의 컬러 정보 및 강도 정보를 분리하도록 하는 컴퓨터 프로그램 코드 섹션;
    상기 이미지 블록들 내 픽셀들의 컬러 정보 및 상기 이미지 블록들 내 픽셀들의 강도 정보를 서로 독립적으로 압축하여 압축(된) 이미지 데이터를 제공하도록 하는 컴퓨터 프로그램 코드 섹션; 및
    상기 복수의 인코딩 이미지 블록들의 압축 이미지 데이터로부터 인코딩 이미지 파일을 합성하도록 하는 컴퓨터 프로그램 코드 섹션을 포함함을 특징으로 하는 컴퓨터 프로그램 제품.
  32. 인코딩(된) 이미지 데이터를 디코딩하기 위해, 컴퓨터 실행가능 매체 상에 저장되어 데이터 프로세싱 장치에서 실행되는 컴퓨터 프로그램 제품에 있어서,
    인코딩 이미지 데이터를 복수의 인코딩 이미지 블록들로 분해하도록 하는 컴퓨터 프로그램 코드 섹션;
    상기 이미지 블록들의 서브 블록 내 픽셀들의 평균 컬러 정보를 디코딩하기 위한 컴퓨터 프로그램 코드 섹션;
    상기 이미지 블록들의 서브 블록 내 픽셀들의 강도 정보를 디코딩하기 위한 컴퓨터 프로그램 코드 섹션;
    각 픽셀의 강도 정보를 해당 픽셀의 평균 컬러 정보를 가지고 변조시키기 위한 컴퓨터 프로그램 코드 섹션; 및
    디코딩(된) 이미지 블록들을 오리지널 다이내믹 영역을 갖는 이미지로 합성하기 위한 컴퓨터 프로그램 코드 섹션을 포함함을 특징으로 하는 컴퓨터 프로그램 제품.
KR1020087018145A 2006-01-24 2007-01-23 컴퓨터 그래픽 이미지 압축 KR100972401B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/339,341 2006-01-24
US11/339,341 US7873212B2 (en) 2006-01-24 2006-01-24 Compression of images for computer graphics

Publications (2)

Publication Number Publication Date
KR20080087866A true KR20080087866A (ko) 2008-10-01
KR100972401B1 KR100972401B1 (ko) 2010-07-26

Family

ID=38285621

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087018145A KR100972401B1 (ko) 2006-01-24 2007-01-23 컴퓨터 그래픽 이미지 압축

Country Status (6)

Country Link
US (1) US7873212B2 (ko)
EP (1) EP1977394A4 (ko)
JP (1) JP4698739B2 (ko)
KR (1) KR100972401B1 (ko)
CN (1) CN101375313B (ko)
WO (1) WO2007085697A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007531078A (ja) * 2003-07-16 2007-11-01 ハンヤン ハク ウォン カンパニー,リミテッド 3次元メッシュ情報の符号化及び復号化方法並びにその装置
US9418450B2 (en) 2006-08-31 2016-08-16 Ati Technologies Ulc Texture compression techniques
US8013862B2 (en) * 2007-11-16 2011-09-06 Microsoft Corporation Texture codec
US8165393B2 (en) 2008-06-05 2012-04-24 Microsoft Corp. High dynamic range texture compression
US20090322777A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Unified texture compression framework
JP5367552B2 (ja) * 2009-12-15 2013-12-11 株式会社東芝 画像処理装置および画像処理プログラム
TW201300171A (zh) * 2011-06-27 2013-01-01 Lextar Electronics Corp 點膠量回饋方法
GB2503711B (en) * 2012-07-05 2014-10-15 Quixel Holdings Ltd Video data communication
CN103024300B (zh) * 2012-12-25 2015-11-25 华为技术有限公司 一种高动态范围图像显示方法及装置
JP5959479B2 (ja) * 2013-06-11 2016-08-02 株式会社ジオ技術研究所 3次元地図表示システム
CN103738266B (zh) * 2013-08-21 2017-07-18 深圳市辂元科技有限公司 移动终端与车机的互联方法及一种车机
CN108182672A (zh) * 2014-05-28 2018-06-19 皇家飞利浦有限公司 用于对hdr图像进行编码的方法和装置以及用于使用这样的编码图像的方法和装置
US10367525B2 (en) * 2015-05-29 2019-07-30 National Instruments Corporation Incremental loop modification for LDPC encoding
CN105761200A (zh) * 2016-03-15 2016-07-13 广州爱九游信息技术有限公司 用于纹理处理的方法、设备、模拟器和电子设备
US10304213B2 (en) * 2016-12-27 2019-05-28 Intel Corporation Near lossless compression scheme and system for processing high dynamic range (HDR) images
US10304155B2 (en) * 2017-02-24 2019-05-28 Advanced Micro Devices, Inc. Delta color compression application to video
CN107454469B (zh) * 2017-07-21 2019-11-22 北京奇艺世纪科技有限公司 一种视频图像处理方法及装置
WO2019028700A1 (zh) * 2017-08-09 2019-02-14 深圳市大疆创新科技有限公司 图像处理方法、设备及计算机可读存储介质
US11102488B2 (en) * 2019-05-31 2021-08-24 Ati Technologies Ulc Multi-scale metric-based encoding
CN113327303B (zh) * 2021-08-03 2021-10-29 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机设备及存储介质
CN113744282B (zh) * 2021-08-09 2023-04-25 深圳曦华科技有限公司 图像处理方法、装置及存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4887151A (en) * 1986-06-30 1989-12-12 Canon Kabushiki Kaisha Encoding apparatus for color image data with block-by-block individual quantizing or individual encoding of luminosity, structure, and color information
JPH0195672A (ja) 1987-10-08 1989-04-13 Sony Corp カラー画像のデータ圧縮方法
JP2861381B2 (ja) 1990-11-22 1999-02-24 ソニー株式会社 画像信号符号化装置およびその方法
JPH04291020A (ja) 1991-03-19 1992-10-15 Sony Corp ディジタル画像信号の磁気記録方法
US5467134A (en) * 1992-12-22 1995-11-14 Microsoft Corporation Method and system for compressing video data
EP0719421A1 (en) * 1993-09-17 1996-07-03 Proxima Corporation Compact projection illumination system and method of using same
US5870502A (en) * 1996-04-08 1999-02-09 The Trustees Of Columbia University In The City Of New York System and method for a multiresolution transform of digital image information
JP3687080B2 (ja) * 1996-07-17 2005-08-24 ソニー株式会社 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体
US6775417B2 (en) 1997-10-02 2004-08-10 S3 Graphics Co., Ltd. Fixed-rate block-based image compression with inferred pixel values
US6683978B1 (en) * 1997-10-02 2004-01-27 S3 Graphics Co., Ltd. Fixed-rate block-based image compression with inferred pixel values
US5956431A (en) * 1997-10-02 1999-09-21 S3 Incorporated System and method for fixed-rate block-based image compression with inferred pixel values
US6658146B1 (en) * 1997-10-02 2003-12-02 S3 Graphics Co., Ltd. Fixed-rate block-based image compression with inferred pixel values
JP3596863B2 (ja) 1999-11-26 2004-12-02 シャープ株式会社 画像圧縮装置および画像伸張装置、ならびに画像圧縮方法および画像伸張方法をコンピュータに実行させるためのプログラムをそれぞれ記録したコンピュータ読取可能な記録媒体
EP1172765A1 (en) * 2000-07-12 2002-01-16 Deutsche Thomson-Brandt Gmbh Method for processing video pictures and apparatus for processing video pictures
JP2002077723A (ja) * 2000-09-01 2002-03-15 Minolta Co Ltd 動画像処理装置、動画像処理方法および記録媒体
JP4086459B2 (ja) * 2000-11-13 2008-05-14 Necエレクトロニクス株式会社 固定小数点データ生成方法及び固定小数点データ生成回路
EP1393296A4 (en) * 2001-06-08 2008-09-03 Univ Southern California PICTURE EDITING WITH BIG DYNAMIC CIRCUMFERENCE
US7733345B2 (en) * 2001-11-27 2010-06-08 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding position interpolator
US6961736B1 (en) * 2002-05-31 2005-11-01 Adobe Systems Incorporated Compact color feature vector representation
JP4291020B2 (ja) 2003-03-13 2009-07-08 本田技研工業株式会社 燃料電池用セパレータ及びそれの製造方法
US7071947B1 (en) * 2003-07-24 2006-07-04 Nvidia Corporation Automatic adjustment of floating point output images
US7158668B2 (en) * 2003-08-01 2007-01-02 Microsoft Corporation Image processing using linear light values and other image processing improvements
SE526226C2 (sv) 2003-12-19 2005-08-02 Ericsson Telefon Ab L M Bildbehandling
KR100519780B1 (ko) * 2004-02-17 2005-10-07 삼성전자주식회사 3차원 체적 데이터 부호화/복호화 방법 및 장치
US7609882B2 (en) * 2005-05-25 2009-10-27 Himax Technologies Limited Image compression and decompression method capable of encoding and decoding pixel data based on a color conversion method

Also Published As

Publication number Publication date
JP4698739B2 (ja) 2011-06-08
EP1977394A4 (en) 2017-04-12
CN101375313B (zh) 2012-10-31
WO2007085697A1 (en) 2007-08-02
EP1977394A1 (en) 2008-10-08
JP2009524315A (ja) 2009-06-25
US7873212B2 (en) 2011-01-18
CN101375313A (zh) 2009-02-25
KR100972401B1 (ko) 2010-07-26
US20070172120A1 (en) 2007-07-26

Similar Documents

Publication Publication Date Title
KR100972401B1 (ko) 컴퓨터 그래픽 이미지 압축
US20070076971A1 (en) Compression of images for computer graphics
KR101161900B1 (ko) 멀티모드 이미지 처리
EP1697898B1 (en) Alpha image processing
RU2317587C1 (ru) Обработка изображений
JP4444970B2 (ja) マルチモード画像処理
US20070269115A1 (en) Encoded High Dynamic Range Textures
EP0969670B1 (en) Unequal compression of MSBs and LSBs using Hierarchical Vector Quantization (HVQ)
EP1579390A1 (en) Match msb digital image compression
US20220114761A1 (en) Decoding data arrays
EP0973339A2 (en) Compression by splitting each word and applying lossy compression to least significant bits
US11515961B2 (en) Encoding data arrays
US20230262210A1 (en) Visual lossless image/video fixed-rate compression
GB2616740A (en) Decoding data arrays

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140703

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150619

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160616

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170616

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee