KR20050085931A - 매치 msb 디지털 이미지 압축 - Google Patents
매치 msb 디지털 이미지 압축 Download PDFInfo
- Publication number
- KR20050085931A KR20050085931A KR1020057012322A KR20057012322A KR20050085931A KR 20050085931 A KR20050085931 A KR 20050085931A KR 1020057012322 A KR1020057012322 A KR 1020057012322A KR 20057012322 A KR20057012322 A KR 20057012322A KR 20050085931 A KR20050085931 A KR 20050085931A
- Authority
- KR
- South Korea
- Prior art keywords
- channel
- pel
- quantized
- channels
- error
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/184—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Color Television Systems (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
Abstract
손실없는 또는 손실있는 방식으로 디지털 이미지를 압축 및/또는 압축해제하는 방법, 장치, 및 컴퓨터 판독가능 매체가 설명된다. 소정의 실시예들에서, 디스플레이 콘트롤러는 디지털 이미지의 각 펠에 대해 심볼을 생성함으로써 디지털 이미지를 압축할 수 있다. 특히, 심볼은 매치 벡터 및 채널 에러 벡터를 통해 펠을 나타낼 수 있다. 매치 벡터는 펠의 양자화된 채널들중 어느 것이 이전 펠의 양자화된 채널들과 매치하였는지를 나타낼 수 있다. 또한, 채널 에러 벡터는 이전 펠의 대응하는 양자화된 채널과 매치하지 않는 펠의 양자화된 채널 각각에 대해 손실없는 또는 손실있는 채널을 포함할 수 있다. 채널 에러는 또한 이전 펠의 대응하는 양자화된 채널과 매치하는 펠의 양자화된 채널 각각에 대해 손실없는 또는 손실있는 채널을 포함할 수 있다.
Description
컴퓨팅 디바이스들은 전형적으로 디지털 이미지들을 렌더링하기 위해, 그리고 컴퓨터 모니터 또는 플랫 패널 디스플레이 등과 같은 디스플레이 디바이스 상에 렌더링된 디지털 이미지들을 디스플레이하기 위한 디스플레이 콘트롤러를 포함한다. 디스플레이 콘트롤러는 디지털 이미지를 렌더링할 수 있고 렌더링된 디지털 이미지를 프레임 버퍼 내에 저장할 수 있다. 프레임 버퍼는 공유 시스템 메모리 내에 배치될 수 있거나 혹은 저용 비디오 메모리 내에 배치될 수 있다. 렌더링된 디지털 이미지를 디스플레이할 때가 되면, 디스플레이 콘트롤러는 프레임 버퍼로부터 디지털 이미지를 검색할 수 있고 검색된 디지털 이미지를 디스플레이 디바이스 상에 디스플레이하기 위해 신서를 생성할 수 있다. 프레임 버퍼로부터의 디지털 이미지들을 저장하고 검색하는 프로세스는 상당한 양의 메모리 대역폭을 소모할 수 있다. 프레임 버퍼가 공유 시스템 메모리 내에 배치되면, 컴퓨팅 디바이스의 성능은, 다른 태스크들에 대하여 가용의 메모리 대역폭을 상당히 감소시키는 디스플레이 콘트롤러 때문에 대단히 저하될 수 있다. 또한, 프레임 버퍼가 전용 비디오 메모리 내에 배치되면, 비디오 메모리 서브시스템은 충분한 메모리 대역폭을 제공하기 위해 비싼 메모리 기술로 구현될 수 있다.
본 명세서에 기술된 발명은 첨부 도면들에 예시적으로 설명된 것이며, 제한적인 것으로 설명된 것이 아니다. 설명의 간단 명료함을 위해, 도면들에 도시된 구성 요소들은 반드시 정확한 축척으로 그려진 것은 아니다. 예를 들어, 일부 구성 요소들의 디멘젼들은 명확성을 위해 다른 구성 요소들부다 상대적으로 확대될 수 있다. 또한, 도면들 중에, 정당하다고 여겨지는 경우에는, 대응하거나 유사한 구성 요소들을 지시하기 위해 참조 부호들이 반복되었다.
도 1은 일체형 디스플레이 콘트롤러를 갖는 칩셋을 포함한 컴퓨팅 디바이스의 실시예를 도시한다.
도 2는 디지털 이미지의 실시예를 도시한다.
도 3은 칩셋으로부터 분리된 비일체형 디스플레이 콘트롤러를 갖는 컴퓨팅 디바이스의 실시예를 도시한다.
도 4A, 4B, 및 4C는 도 1 및 도 3의 디스플레이 콘트롤러가 디지털 이미지 유닛을 압축 또는 인코드하기 위해 이용할 수 있는 방법을 예시한다.
도 5A, 5B, 및 5C는 도 1 및 도 3의 디스플레이 콘트롤러가 디지털 이미지 유닛을 압축해제 또는 디코드하기 위해 이용할 수 있는 방법을 예시한다.
다음의 설명은 디지털 이미지 유닛을 압축 및 압축해제하기 위한 기술들을 설명한다. 다음의 설명에서, 본 발명의 보다 완전한 이해를 제공하기 위해 로직 구현, 연산코드, 피연산자들을 지정하기 위한 수단, 자원 분배/공유/중복 구현, 시스템 구성 요소들의 타입 및 상호 관계, 로직 분할/통합 선택 등과 같은 많은 구체적인 설명들이 기술된다. 그러나, 당업자는 본 발명이 그러한 구체적인 사항들 없이실시될 수 있다는 것을 알 것이다. 다른 경우에 있어서, 본 발명을 불명료하게 하지 않기 위해 제어 구조, 게이트 레벨 회로 및 전체 소프트웨어 명령 시퀀스들은 도시되지 않았다. 당업자들은, 포함된 설명을 이용하여, 불필요한 실험없이 적당한 기능을 구현할 수 있을 것이다.
명세서에서 "일 실시예", "실시예" 등의 인용은, 실시예가 특별한 특징, 구조 또는 특성을 포함할 수 있다는 것을 나타내지만, 모든 실시예가 반드시 특별한 특징, 구조 또는 특성을 포함할 필요는 없다. 또한, 그러한 문구는 반드시 동일한 실시예를 인용하는 것은 아니다. 또한, 특별한 특징, 구조 또는 특성이 실시예와 관련하여 설명될 때, 명시적으로 기술되지 않더라도 그러한 특별한 특징, 구조 또는 특성을 다른 실시예들과 관련하여 실시하는 것은 당업자의 지식 범위 내이라고 여겨진다.
컴퓨팅 디바이스(100)의 실시예가 도 1에 도시된다. 컴퓨팅 디바이스(100)는 프로세서 버스(106)를 통해 칩셋(104)에 연결된 하나 이상의 프로세서들(102)을 포함할 수 있다. 칩셋(104)은 프로세서들(102)을 시스템 메모리(108), 펌웨어(110) 및/또는 다른 디바이스들(112)(예를 들면, 마우스, 키보드, 디스크 드라이브, 스캐너, 카메라 등)에 연결하는 하나 이상의 집적 회로 패키지 또는 칩셋을 포함할 수 있다. 펌웨어(110)는 프로세서들(102)이 시스템 스타트업(start-up) 동안 컴퓨팅 디바이스(100)의 컴포넌트들을 초기화하고 운영 시스템의 실행을 시작하기 위해 실행할 수 있는 BIOS(Basic Input/Output System) 루틴을 포함할 수 있다.
일 실시예에서, 칩셋(104)은 메모리 콘트롤러(114)를 포함할 수 있다. 그러나, 다른 실시예들에서, 프로세서들(102)은 메모리 콘트롤러(114)의 모든 또는 일부분을 포함할 수 있다. 메모리 콘트롤러(114)는 일체형 디스플레이 콘트롤러(116)에 대한 인터페이스와 시스템 메모리(108)를 액세스하기 위한 컴퓨팅 디바이스(100)의 다른 컴포넌트들을 제공할 수 있다. 칩셋(104)은 PCI(Peripheral Component Interconnect) 버스, PCI-Express 버스, 가속 그래픽 포트(Accelerated Graphic Port:AGP) 버스, USB(Universal Serial Bus) 버스, LPC(Low Pin Count) 버스 등과 같은 I/O 버스들, 또는 다른 임의의 종류의 I/O 버스(도시되지 않음) 상의 I/O 동작들을 지원할 수도 있다.
칩셋(104)은 예를 들면 컴퓨터 모니터, 플랫 패널, 또는 텔레비전 등과 같은 디스플레이 디바이스(118) 상에 디지털 이미지를 디스플레이하기 위해 일체형 디스플레이 콘트롤러(116)를 더 포함할 수 있다. 일체형 디스플레이 콘트롤러(116)는 컴퓨팅 디바이스(100)로부터 명령 및/또는 데이터를 수신하거나 획득하기 위한 컴퓨터 인터페이스(120)를 포함할 수 있다. 컴퓨터 인터페이스(120)는 시스템 메모리(108)로부터 그래픽 명령들을 검색하기 위해 메모리 콘트롤러(114)와 상호작용할 수 있다. 또한, 컴퓨터 인터페이스(120)는, 컴퓨터 임너페이스(120)가 프로세서들(102)로부터 데이터 및/또는 명령들을 수신할 수 있는, 예를 들면 AGP 포트, PCI 포트, 또는 PCI-Express 포트 등과 같은 하나 이상의 비디오 포트들을 제공할 수 있다. 일체형 디스플레이 콘트롤러(116)는 또한 비디오 메모리(124)로부터 펠(pels), 존(zones), 프레임, 타일(tiles) 등을 획득하기 위해 메모리 인터페이스(122)를 더 포함할 수 있다. 도시된 바와 같이, 시스템 메모리(108)와 비디오 메모리(124)는 동일한 물리적 메모리 디바이스들을 공유하거나 그들과 함께 구현될 수 있다. 그러한 실시예에서, 메모리 디바이스들의 일부들은 정적으로 또는 동적으로 시스템 메모리(108) 또는 비디오 메모리(124)에 할당된다. 따라서, 일체형 디스플레이 콘트롤러(116)의 메모리 인터페이스(122)는 비디오 메모리(124)에서 펠, 존, 프레임, 타일 등을 판독 또는 기록하기 위해 칩셋(102)의 메모리 콘트롤러(114)와 상호작용할 수 있다.
일체형 디스플레이 콘트롤러(116)의 렌더 엔진(126)은 디스플레이용 디지털 이미지를 생성하기 위한 그래픽 명령들을 실행할 수 있다. 도 2에 도시된 바와 같이, 디지털 이미지는 하나 이상의 직사각형의 비중첩 존들을 포함할 수 있다. 또한, 각각의 존은 화소들 또는 펠들의 하나 이상의 라인들을 포함할 수 있고, 각각의 펠은 디지털 이미지의 특정 포인트에서 디지털 이미지의 가시적인 외형(예를 들면, 컬러, 명암, 색조, 투명성 등)을 정의할 수 있다. 예를 들어, 펠은 예를 들면 RGB 포맷, YUV 포맷, RGBA 포맷, 또는 소정의 다른 포맷 등과 같은 특정 비디오 포맷에 따라 외형을 정의하는 하나 이상의 채널들을 포함할 수 있다. RGB 포맷에서, 각각의 펠은 레드(R) 채널, 그린(G) 채널, 블루(B) 채널을 포함한다. 유사하게, RGBA 포맷에서, 각각의 펠은 레드(R) 채널, 그린(G) 채널, 블루(B) 채널, 및 투명성 정도를 나타내기 위한 알파(A) 채널을 포함한다. 예를 들면, 일체형 디스플레이 콘트롤러(116)는 각각의 펠에 8-비트 레드 채널, 8-비트 그린 채널, 및 8-비트 블루 채널을 할당함으로써 24-비트 컬러를 구현할 수 있다. YUV 포맷에서, 각각의 펠은 루마(luma)(Y) 채널, 제1 크로미넌스(chrominance)(U) 채널, 제2 크로미넌스(V) 채널을 포함할 수 있다. 유사하게, 일체형 디스플레이 콘트롤러(116)는 각각의 펠에 YUV 채널들 각각을 위한 8-비트값을 함당함으로써 24-비트 컬러를 구현할 수 있다. 그러나, 일체형 디스플레이 콘트롤러(116)는 루마(Y) 채널을 더 정확하게 표현하도록 선택할 수 있다. 이에 따라, 일체형 디스플레이 콘트롤러(116)는 각각의 펠에 12-비트 루마(Y) 채널, 6-비트 제1 크로미넌스(U) 채널, 6-비트 제2 크로미넌스(V) 채널을 할당함으로써 24-비트 YUV 컬러를 구현할 수 있다. 또한, YUV 포맷으로 인코드된 디지털 이미지는 또한 4:1:1 포맷과 같은 공간적으로 감소된 크로미넌스 포맷을 이용할 수 있다. 4:1:4 포맷에서, 매크로-펠은 매크로-펠의 부분들의 가시적인 외형을 정의하는 4개의 루마 채널(Y), 하나의 제1 크로미넌스(U) 채널, 하나의 제2 크로미넌스(V) 채널을 포함할 수 있다.
렌더 엔진(126)은 명령/데이터 유닛(128)에 의해 시스템 메모리(108)로부터 검색된 그래픽 명령들을 실행할 수 있고, 일체형 디스플레이 콘트롤러(116)의 존 캐시(130) 내에 저장된 하나 이상의 존들을 갱신할 수 있다. 디지털 이미지의 하나 이상의 존들을 렌더링한 후, 렌더 엔진(126)은 렌더링된 디지털 이미지의 존들이 캐시(130)로부터 퇴거되고 프레임 버퍼(132)에 기록되도록 야기할수 있다. 프레임 버퍼 압축기/압축해제기(codec)(134)는 퇴거된 존들을 포함하고 프레임 버퍼(132)에의 스토리지를 위한 압축된 존들을 메모리 인터페이스(122)에 제공할 수 있다. 디스플레이 엔진(136)은 적당한 때에 디지털 이미지를 디스플레이하기 위해 프레임 버퍼(132)로부터 렌더링된 디지털 이미지를 나중에 검색할 수 있다. 특히, 디스플레이 엔진(136)은 프레임 버퍼(132)로부터 압축된 존들을 검색할 수 있고 코덱(134)은 검색된 존들을 압축해제할 수 있다. 디스플레이 엔진(134)은 압축해제된 디지털 이미지의 존들을 예를 들면 오버레이, 하드웨어 커서 등과 같은 다른 비디오 소스들과 믹스할 수 있으며, 디스플레이 인터페이스(138)에 합성된 비디오 신호를 제공할 수 있다. 디스플레이 인터페이스(138)는 디스플레이 엔진(136)으로부터 수신된 디지털 비디오 신호를 디스플레이 디바이스(118)에 적합한 아날로그 또는 디지털 신호로 변환할 수 있다.
이제 도 3을 참조하면, 컴퓨팅 디바이스(100)의 다른 실시예가 도시되어 있다. 도 3에 도시된 바와 같이, 컴퓨팅 디바이스(100)는 칩셋(104)로부터 분리된 비일체형 디스플레이 콘트롤러(140)를 포함할 수 있다. 일체형 디스플레이 콘트롤러(116)와 마찬가지로, 비일체형 디스플레이 콘트롤러(140)는 컴퓨터 인터페이스(120), 메모리 인터페이스(122), 렌더 엔진(126), 명령/데이터 유닛(128), 존 캐시(130), 코덱(134), 디스플레이 엔진(136), 및 디스플레이 인터페이스(138)를 포함할 수 있다. 또한, 비일체형 디스플레이 콘트롤러(140)는 온-보드(on-board) 비디오 메모리(124)를 포함할 수 있다. 비일체형 디스플레이 콘트롤러(140)는 도 1의 일체형 디스플레이 콘트롤러(116)와 유사한 방식으로 작동할 수 있다. 그러나, 비일체형 디스플레이 콘트롤러(140)의 컴퓨터 인터페이스(120)는, AGP 포트, PCI 포트, PCI-Express 포트, 또는 소정의 다른 디바이스 인터페이스를 역시 포함할 수 있는 칩셋(104)의 대응하는 그래픽 인터페이스(142)와 명령 및/또는 데이터를 전송하기 위해 AGP 포트, PCI 포트, PCI-Express 포트, 또는 소정의 다른 디바이스 인터페이스를 포함할 수 있다. 또한, 비일체형 디스플레이 콘트롤러(140)의 메모리 인터페이스(122)는 비디오 메모리(124)를 액세스할 수 있어서, 메모리 콘트롤러(114) 및 시스템 메모리(108)의 상당한 대역폭을 소모하지 않고서 비디오 메모리(124)와 펠, 존, 타일, 프레임 등을 전송할 수 있다.
이제 도 4A, 4B, 및 4C를 참조하면, 존 라인, 존, 프레임 라인, 프레임 필드, 프레임, 또는 소정의 다른 디지털 이미지 유닛을 프레임 버퍼(132)에 전송되기 전에 압축하기 위해 코덱(134)에 의해 이용될 수 있는 방법이 도시되어 있다. 특히, 이 방법은 디지털 이미지 유닛의 각각의 펠을 가변 비트 길이의 심볼로 대체함으로써 디지털 이미지 유닛을 압축할 수 있다. 도시된 바와 같이, 코덱(134)은 블럭 200에서 현재의 펠을 디지털 이미지 유닛의 제1 펠과 같게 설정할 수 있고 양자화된 현재의 펠을 획득하기 위해 현재의 펠의 하나 이상의 채널들을 양자화할 수 있다. 각각의 양자화된 채널은 각 채널의 하나 이상의 최상위 비트들(MSBs)을 포함할 수 있고 각 채널로부터 하나 이상의 최하위 비트들(LSBs)을 버릴 수 있다. 예를 들어, 코덱(134)은 세개의 6-비트 양자화된 채널들을 포함하는 양자화된 현재의 펠(예를 들면, 100101-111110-011100)을 획득하기 위해 24-비트 RGB 펠(예를 들면, 10010101-11111001-01110001)을 18-비트 양자화 렐벨로 양자화할 수 있다. 특히, 코덱(134)은 8-비트 채널의 여섯개의 MSBs를 보유하고 그 채널의 두개의 LSBs를 버림으로써 6-비트 양자화된 채널을 획득할 수 있다. 코덱(134)은 양자화된 펠을 구하기 위해 다양한 다른 기술들을 이용할 수 있다. 일 실시예에서, 코덱(134)은 채널들의 마스크와의 비트-와이즈 AND를 수행하고 그리고/또는 펠들의 채널들 상에서 적당한 비트 시프트 연간을 수행함으로써 양자화된 펠들을 구할 수 있다. 또한, 코덱(134)은 펠의 각 채널을 다른 레벨로 양자화할 수 있다. 예를 들면, 24-비트 YUV 펠에 대한 코덱(134)은 Y 채널의 7 MSBs와, U 채널의 6MSBs와, V 채널의 5 MSBs를 보유할 수 있다.
블럭 202에서, 코덱(134)은 이전 펠을, 이전 펠의 각각의 양자화된 채널이 현재 펠의 대응하는 양자화된 채널과 다르게 설정할 수 있다. 이를 위해, 코덱(134)은 이전의 펠을 현재의 펠과 같도록 설정할 수 있고, 이전 펠과 현재 펠의 양자화된 채널들이 다르도록 보장하기 위해 각각의 채널의 MSB를 토글할 수 있다. 일 실시예에서, 이전 펠의 그와 같은 설정은 코덱(134)이 현재 펠에 대한 인트라-펠 심볼을 생성하도록 야기한다. 일 실시예에서, 코덱(134)은 다른 심볼을 참조하지 않고서 인트라-펠 심볼을 획득하기 위해, 인트라-펠 심볼을 디코드할 수 있다. 그러나, 인터-펠 심볼의 펠을 구하기 위해, 코덱(134)은 하나 이상의 이전 심볼들을 필요로할 수 있다.
그런 다음 코덱(134)은 현재 펠의 각각의 양자화된 패널에 대한 매치 플래그를 생성할 수 있다. 각각의 매치 플래그는 현재의 펠의 양자화된 채널이 이전 펠의 대응하는 양자화된 채널과 같은지 혹은 매치하는지의 여부를 나타낼 수 있다. 이를 위해 코덱(134)은 블럭 204에서 현재 펠의 양자화된 채널과 이전 펠의 대응하는 양자화된 채널을 선택할 수 있다. 블럭 206에서, 코덱(134)은 현재 펠의 선택된 양자화된 채널이 이전 펠의 선택된 양자화된 채널과 매치하는지의 여부를 판정할 수 있다. 선택된 양자화된 채널들이 매치한다는 판정에 응답하여, 코덱(134)은 단계 208에서 현재 펠의 선택된 양자화된 채널이 이전 펠의 대응하는 양자화된 채널과 매치한다는 것을 나타내기 위해 선택된 양자화된 채널에 대한 매치 플래그를 활성화(예를 들면, 1로 세트)할 수 있다. 그렇지 않으면, 코덱(134)은 블럭 210에서 현재 펠의 선택된 양자화된 채널이 이전 펠의 대응하는 양자화된 채널과 매치하지 않는 것을 나타내기 위해 선택된 양자화된 채널에 대한 매치 플래그를 비활성화(예를 들면, 0으로 클리어)할 수 있다. 블럭 212에서, 코덱(134)은 매치 플래그가 현재 펠의 모든 양자화된 채널들에 대해 생성되었는지를 판정할 수 있다. 많은 매치 플래그들이 생성될 것이라는 판정에 응답하여, 코덱(134)은 다른 채널을 선택하고 선택된 채널에 대해 매치 플래그를 생성하기 위해 블럭 204로 돌아갈 수 있다. 그렇지 않다면, 코덱(134)은 현재의 펠에 대해 손실의 또는 손실없는 심볼이 생성될지를 판정하기 위해 블럭 214로 진행할 수 있다.
코덱(134)은 블럭 214에서 현재의 펠에 대해 손실있는 심볼 또는 손실없는 심볼을 생성할지를 결정할 수 있다. 일 실시예에서, 코덱(134)은 칩셋(104) 또는 디스플레이 콘트롤러(116, 140)의 하나 이상의 컨피그레이션 레지스터들(도시되지 않음)의 상태를 기초로 손실있는 심볼을 생성할지 손실없는 심볼을 생성할지를 결정할 수 있다. 다른 실시예들에서, 코덱(134)은 컴퓨팅 디바이스(100)의 부하에 기초하여 손실있는 또는 손실없는 심볼을 생성할지 여부를 결정할 수 있다. 예를 들어, 코덱(134)은 메모리 시스템, 프로세서 및/또는 컴퓨팅 디바이스(100)의 소정의 다른 서브시스템의 임계 레벨 위로 상승하는 부하에 응답하여 손실있는 심볼을 생성할 것을 결정할 수 있다. 특히, 코덱(134)은 시스템 메모리(108)에 대한 가용의 메모리 대역폭이 특정 레벨 이하로 떨어진다는 판정에 응답하여 심볼의 손실성을 증가시키도록 결정할 수 있다. 코덱(134)은 생성된 심볼들의 손실성을 나중에 감소시킬 수 있으며, 또는 가용 메모리 대역폭이 특정 레벨 이상으로 상승하였다는 판정에 응답하여 손실없는 심볼들을 나중에 생성할 수 있다.
손실없는 심볼이 생성될 것이라는 결정에 응답하여, 코덱(134)은 현재 펠과 이전 펠 사이의 채널 차이를 기본적으로 나타내는 손실없는 채널들 및/또는 손실없는 채널 에러를 포함하는 손실없는 에러 벡터를 생성할 수 있다. 이를 위해, 코덱(134)은 블럭 216에서(도 4B) 현재 펠의 채널, 및 대응하는 양자화된 채널을 선택하고 이전 펠의 채널, 및 대응하는 양자화된 채널을 선택할 수 있다. 블럭 218에서, 코덱(134)은 현재 펠의 선택된 양자화된 채널이 이전 펠의 선택된 양자화된 채널과 매치하는지를 판정할 수 있다. 일 실시예에서, 코덱(134)은 매치 벡터의 대응하는 매치 플래그에 기초하여 선택된 양자화된 채널들이 매치하는지의 여부를 판정할 수 있다. 다른 실시예에서, 코덱(134)은 선택된 양자화된 채널들의 비교에 기초하여 결정할 수 있다.
선택된 양자화된 채널들이 매치하지 않는다는 결정에 응답하여, 코덱(134)은 블럭 220에서 현재 펠의 선택된 채널과 동일한 현재 펠에 대한 손실없는 채널을 손실없는 채널 벡터에 제공할 수 있다. 예를 들어, 각 24-비트 RGB 펠이 채널당 6-비트로 양자화되고, 현재 펠의 R 채널은 10010101이고 이전 펠의 R 채널은 10000000이라면, 현재 펠에 대한 양자화된 R 채널 100101은 이전 펠에 대한 양자화된 R 채널 100000과 매치하지 않는다. 따라서, 코덱(134)은 현재 펠에 대한 R 채널 값 10010101과 같은 손실없는 채널을 손실없는 에러 벡터에 제공할 수 있다. 선택된 양자화된 채널들이 매치한다는 판정에 응답하여, 코덱(134)은 블럭 222에서 현재 펠의 양자화 동안 선택된 채널로부터 버려진 비트들과 같은 선택된 채널에 대한 손실없는 채널 에러를 손실없는 에러 벡터에 제공할 수 있다. 예를 들어, 각 24-비트 RGB 펠이 채널당 6-비트로 양자화되고, 현재 펠의 R 채널이 10010101이고 이전 펠의 R 채널이 10010100이면, 현재 펠에 대한 양자화된 R 채널 100101은 이전 펠에 대한 양자화된 R 채널 100101과 매치한다. 따라서, 코덱(134)은 양자화 동안 현재 펠의 R 채널로부터 버려진 2개의 최하위 비트(LSBs)인 01과 동일한 손실없는 채널 에러를 손실없는 에러 벡터에 제공할 수 있다.
코덱(134)은 블럭 224에서 현재 펠의 각 채널에 대해 손실없는 에러 벡터가 손실없는 채널 또는 손실없는 채널 에러로 갱신되었는지를 판정할 수 있다. 추가적인 갱신이 수행될 것이라는 결정에 응답하여, 코덱(134)은 현재 펠의 다른 채널을 선택하기 위해 블럭 216으로 되돌아가고, 선택된 채널에 대한 적당한 값을 손실없는 에러 벡터에 제공할 수 있다. 그렇지 않다면, 코덱(134)은 현재 펠을 나타내는 손실없는 심볼을 출력할 수 있다. 일 실시예에서, 코덱(134)은 현재 펠에 대한 매치 벡터와 후속되는 현재 펠에 대한 손실없는 에러 벡터를 출력 버퍼에 기록함으로써 손실없는 심볼을 출력할 수 있다. 다른 실시예에서, 코덱(134)은 심볼이 손실없다는 것을 나타내는 압축 모드를 출력 버퍼에 더 기입함으로써 손실없는 심볼을 출력할 수 있다. 심볼은 전형적으로 원래 펠 표현보다 더 적은 비트들을 포함한다. 그러나, 일 실시예에서, 손실없는 심볼은 원래 펠 표현보다 더 많은 비트들을 실제로 포함할 수 있다. 예를 들어, 일 실시예에서, 현재 펠의 양자화된 채널들 중의 어느 것도 이전 펠의 양자화된 채널들과 매치하지 않는다면, 단일의 24-비트 RGB 펠을 나타내거나 혹은 인코드한 손실없는 심볼은 3-비트 매치 벡터와 24-비트 손실없는 에러 벡터를 포함할 수 있다.
블럭 228에서, 코덱(134)은 디지털 이미지 유닛의 모든 펠들이 인코드되었는지 여부를 판정할 수 있다. 디지털 이미지 유닛의 모든 펠들이 인코드되었다면, 디지털 이미지 유닛의 인코딩은 완료되고 코덱(134)은 엑시트할 수 있다. 그렇지 않다면, 코덱(134)은 블럭 230에서 이전의 펠을 현재의 펠과 같게 설정할 수 있고, 현재의 펠을 디지털 이미지 유닛의 다른 펠과 같게 설정할 수 있다. 그런 다음 코덱(134)은 블럭 204로 돌아가서 새로운 현재 펠을 양자화하고 새로운 현재 펠에 대한 심볼을 생성할 수 있다.
손실있는 심볼이 생성될 것이라는 판정에 응답하여, 코덱(134)은 현재 펠과 이전 펠의 채널 차이를 기본적으로 나타내는 손실있는 채널 및/또는 손실있는 채널 에러를 포함하는 손실있는 에러 벡터를 생성할 수 있다. 이를 위해, 코덱(134)은 블럭 232에서(도 4C) 현재 펠의 채널, 및 대응하는 양자화된 채널을 선택할 수 있고, 이전 펠의 채널, 및 대응하는 양자화된 채널을 선택할 수 있다. 블럭 234에서, 코덱(134)은 현재 펠의 선택된 양자화된 채널이 이전 펠의 선택된 양자화된 채널과 매치하는지의 여부를 판정할 수 있다. 일 실시예에서, 코덱(134)은 매치 벡터의 대응하는 매치 플래그에 기초하여 선택된 양자화된 채널들이 매치하는지의 여부를 판정할 수 있다. 다른 실시예에서, 코덱(134)은 선택된 양자화된 채널들의 비교에 기초하여 판정할 수 있다.
선택된 양자화된 채널들이 매치하지 않는다는 판정에 응답하여, 코덱(134)은 블럭 236에서 현재 펠의 대응하는 채널의 MSB 서브세트와 동일한 손실있는 채널을 손실있는 에러 벡터에 제공할 수 있다. 예를 들어, 24-비트 RGB 펠이 채널당 6-비트로 양자화되고, 현재 펠의 R 채널이 10010101이고 이전 펠의 R 채널이 10000000이면, 현재 펠에 대한 양자화된 R 채널 100101은 이전 펠에 대한 양자화된 R 채널 100000과 매치하지 않는다. 따라서, 코덱(134)은 현재 펠에 대한 R 채널의 7 MSBs인 1001010과 동이한 손실있는 채널을 손실있는 에러 벡터에 제공할 수 있다. 선택된 양자화된 채널들이 매치한다는 판정에 응답하여, 코덱(134)은 블럭 238에서 현재 펠의 양자화 동안 선택된 채널로부터 버려진 비트들의 MSB 서브세트와 동일한 손실있는 채널 에러를 손실있는 에러 벡터에 제공할 수 있다. 예를 들어, 각 24-비트 RGB 펠이 채널당 6-비트로 양자화되고, 현재 펠의 R 채널이 10010101이고 이전 펠의 R 채널이 10010100이면, 현재 펠에 대한 양자화된 R 채널 100101은 이전 펠에 대한 양자화된 R 채널 100101과 매치한다. 따라서, 코덱(134)은 양자화 동안 현재 펠의 R 채널로부터 버려진 2개의 LSBs 중의 MSB인 0과 동일한 손실있는 채널 에러를 손실있는 에러 벡터에 제공할 수 있다.
일 실시예에서, 코덱(134)은 하나 이상의 손실있는 레벨들을 지원할 수 있다. 특히, 코덱(134)은 채널당 1, 2, 또는 3 비트의 손실성을 지원할 수 있다. 예를 들어, 양자화 동안 채널로부터 4-비트가 버려진다면, 코덱(134)은 각 손실있는 채널로부터 및 각 손실있는 채널 에러로부터의 LSB를 버리는 제1 손실성 레벨과, 각 손실있는 채널로부터 및 각 손실있는 채널 에러로부터의 2 LSBs를 버리는 제2 손실성 레벨과, 각 손실있는 채널로부터 및 각 손실있는 채널 에러로부터의 3 LSBs를 버리는 제3 손실성 레벨과, 각 손실있는 채널로부터 및 각 손실있는 채널 에러로부터의 4 LSBs를 버리는 제4 손실성 레벨을 지원할 수 있다. 따라서, 양자화 동안 각 채널로부터 4-비트가 버려지고 코덱(134)이 상기 제4 손실성 레벨에서 작동한다면, 채널에 대한 손실있는 채널 에러는 제로 비트를 포함할 수 있다. 상이한 손실성 레벨들을 지원하는 것 외에, 코덱(134)은 채널당 손실성 레벨을 정의하는 것을 지원할 수 있다. 예를 들어, 24-비트 YUV 펠에 대해 코덱(134)은 Y 채널의 LSB, U 채널의 2 LSBs, V 채널의 3 LSBs를 버릴 수 있다.
코덱(134)은 블럭 240에서, 손실있는 에러 벡터가 현재 펠의 각 채널에 대한 손실있는 채널 또는 손실있는 채널 에러로 갱신되었는지를 판정할 수 있다. 추가적인 갱신이 수행될 것이라는 결정에 응답하여, 코덱(134)은 현재 펠의 다른 채널을 선택하기 위해 블럭 216으로 돌아갈 수 있고, 선택된 채널에 대한 적당한 값을 손실없는 에러 벡터에 제공할 수 있다. 그렇지 않다면, 코덱(134)은 블럭 242로 진행할 수 있다. 블럭 242에서, 코덱(134)은 현재 펠을 나타내는 손실있는 심볼을 출력할 수 있다. 일 실시예에서, 코덱(134)은 현재 펠에 대한 매치 벡터와 그에 후속되는 현재 펠에 대한 손실있는 에러 벡터를 출력 버퍼에 기록함으로써 손실있는 심볼을 출력할 수 있다. 다른 실시예에서, 코덱(134)은 심볼이 손실있다는 것을 나타내는 압축 모드를 출력 버퍼에 더 기입함으로써 손실있는 심볼을 출력할 수 있다.
블럭 244에서, 코덱(134)은 디지털 이미지 유닛의 모든 펠들이 인코드되었는지 여부를 판정할 수 있다. 디지털 이미지 유닛의 모든 펠들이 인코드되었다면, 디지털 이미지 유닛의 인코딩은 완료되고 코덱(134)은 엑시트할 수 있다. 그렇지 않다면, 코덱(134)은 블럭 246에서 이전의 펠을 현재의 펠과 같게 설정할 수 있고, 현재의 펠을 디지털 이미지 유닛의 다른 펠과 같게 설정할 수 있다. 그런 다음 코덱(134)은 블럭 204로 돌아가서 새로운 현재 펠을 양자화하고 새로운 현재 펠에 대한 심볼을 생성할 수 있다.
이제 도 5A, 5B, 및 5C를 참조하면, 존 라인, 존, 프레임 라인, 프레임 필드, 프레임, 또는 소정의 다른 디지털 이미지 유닛을 복수의 심볼들로부터 재구성하기 위해 코덱(134)에 의해 이용될 수 있는 방법이 도시되어 있다. 코덱(134)은 블럭 300에서 현재의 심볼을 디지털 이미지 유닛의 제1 심볼로 설정할 수 있다. 블럭 302에서, 코덱(134)은 현재 심볼로부터 매치 벡터를 획득할 수 있다. 일 실시예에서, 코덱(134)은 매치 벡터를 현재 심볼의 처음 3 비트와 동일하게 선택할 수 있고 이 매치 벡터로부터 선택된 채널에 대한 매치 플래그를 획득할 수 있다. 코덱(134)은 블럭 304에서 현재 펠의 채널을 선택할 수 있고 선택된 채널에 대해 매치 플래그를 매치 벡터로부터 획득할 수 있다.
블럭 306에서, 코덱(134)은 손실있는 또는 손실없는 압축해제를 수행할지를 결정할 수 있다. 일 실시예에서, 코덱(134)은 칩셋(104) 및/또는 디스플레이 콘트롤러(116, 140)의 하나 이상의 레지스터들에 기초하여 손실없는 또는 손실있는 압축해제를 수행할지를 결정할 수 있다. 다른 실시예들에서, 코덱(134)은 심볼로부터 획득된 압축 모드에 기초하여 손실없는 또는 손실있는 압축해제를 수행할지를 결정할 수 있다.
손실없는 압축해제를 수행할 것이라는 결정에 응답하여, 코덱(134)은 블럭 308에서(도 5B) 획득된 매치 플래그에 기초하여 현재 펠의 양자화된 채널이 이전 펠의 대응하는 양자화된 채널과 매치하는지를 판정할 수 있다. 양자화된 채널들이 매치하지 않는다는 판정에 응답하여, 코덱(134)은 블럭 310에서 현재 심볼의 손실없는 에러 벡터로부터 그 다음 손실없는 채널을 획득할 수 있다. 일 실시예에서, 코덱(134)은 디지털 이미지 유닛의 제1 펠에 대한 인트라-펠 심볼을 생성한다. 따라서, 디지털 이미지 유닛의 제1 심볼의 매치 벡터는 제1 펠의 양자화된 채널들중 어느 것도 이전 펠의 양자화된 채널들과 동일하지 않다는 것을 나타낸다. 이에 따라, 제1 펠은 존재하지 않을 수도 있는 이전 펠에 대한 참조없이 디지털 이미지 유닛의 제1 심볼로부터 획득될 수 있다. 블럭 312에서, 코덱(134)은 채널을 손실없는 에러 벡터로부터 획득된 손실없는 채널과 동일하게 설정함으로써 현재 펠의 채널을 재구성할 수 있다. 현재 펠의 양자화된 채널이 이전 펠의 양자화된 채널과 매치된다는 판정에 응답하여, 코덱(134)은 블럭 314에서 현재 심볼의 손실없는 에러 벡터로부터 그 다음의 손실없는 채널 에러를 획득할 수 있다. 코덱(134)은 블럭 316에서, 채널을 이전 펠의 양자화된 채널에 상기 획득된 손실없는 채널 에러를 첨부한 결과와 동일하게 설정함으로써 현재 펠의 채널을 재구성할 수 있다.
코덱(134)은 블럭 318에서, 펠의 모든 채널들이 디코드되었는지 여부를 판정할 수 있다. 추가의 채널들이 디코드될 것이라는 판정에 응답하여, 코덱(134)은 현재 펠의 다음 채널과 매치 벡터로부터의 대응하는 매치 플래그를 선택하기 위해 블럭 304로 돌아갈 수 있다. 그렇지 않다면, 코덱(134)은 블럭 320에서 현재 펠의 재구성된 채널들을 출력 버퍼에 출력할 수 있다. 블럭 322에서, 코덱(134)은 코덱(134)이 디지털 이미지의 마지막 심볼을 디코드하였는지를 판정할 수 있다. 디지털 이미지의 마지막 심볼을 디코드되었다면, 코덱(134)은 디지털 이미지 유닛의 디코딩을 완료하였고 엑시트할 수 있다. 그렇지 않다면, 코덱(134)은 블럭 324에서 이전 펠을 재구성된 현재 펠과 동일하게 설정할 수 있고 현재 심볼을 디지털 이미지 유닛의 그 다음 심볼과 같게 설정할 수 있다. 또한, 코덱(134)은 블럭 324에서 새로운 현재 심볼로부터 매치 벡터를 획득할 수 있다. 그런 다음 코덱(134)은 새롭게 획득된 현재 심볼을 디코드하기 위해 블럭 304로 돌아갈 수 있다.
손실있는 압축해제를 수행할 것이라는 판정에 응답하여, 코덱(134)은 블럭 326에서(도 5C) 획득된 매치 플래그에 기초하여 현재 펠의 양자화된 채널이 이전 펠의 대응하는 양자화된 채널과 매치하는지를 판정할 수 있다. 양자화된 채널들이 매치하지 않는다는 판정에 응답하여, 코덱(134)은 블럭 328에서 현재 심볼의 손실있는 에러 벡터로부터 그 다음 손실있는 채널을 획득할 수 있다. 블럭 330에서, 코덱(134)은 채널을 손실있는 에러 벡터로부터 획득된 손실있는 채널에 하나 이상의 대체 비트들을 첨부한 결과와 동일하게 설정함으로써 현재 펠의 채널을 재구성할 수 있다. 일 실시예에서, 코덱(134)은 압축 동안 상실된 비트들을 대체하기 위해 이용되는 대체 비트들에 대해 고정된 미리결정된 값(예를 들어, 0, 10, 또는 100)을 이용할 수 있다. 다른 실시예에서, 코덱(134)은 상실된 비트들을 디서링(dithering)하기 위해 대체 비트들을 동적으로 변경할 수 있다. 예를 들어, 코덱(134)은 각 새로운 심볼에 대해 싱글 대체 비트를 0과 1 사이에서 토글할 수 있다. 싱글 비트보다 많은 비트들을 버리는 실시예에 대해, 코덱(134)은 두개의 중심 값들 간에서 토글할 수 있다. 특히, 코덱(134)은 10과 10 간의 토글에 의해 두개의 대체 비트들을 생성할 수 있고, 011과 100 간의 토글에 의해 세개의 대체 비트들을 생성할 수 있고, 0111과 10000 간의 토글에 의해 네개의 대체 비트들을 생성할 수 있다. 상기 기술은 단지 예시적인 것이며 코덱(134)은 손실있는 채널의 상실된 비트들을 대체하기 위해 다른 기술을 이용할 수 있다.
현재 펠의 양자화된 채널이 이전 펠의 양자화된 채널과 매치한다는 판정에 응답하여, 코덱(!34)은 블럭 332에서 현재 심볼의 손실있는 에러 벡터로부터 그 다음 손실있는 채널 에러를 획득할 수 있다. 블럭 334에서, 코덱(134)은 재구성된 채널 에러를 획득하기 위해 하나 이상의 대체 비트들을 손실있는 채널 에러에 첨부할 수 있다. 코덱(134)은 블럭 330과 관련하여 상술한 바와 같은 방식으로 대체 비트들을 생성할 수 있다. 블럭 336에서, 코덱(134)은 채널을 재구성된 채널 에러가 첨부된 이전 펠의 양자화된 채널과 동일하게 설정함으로써 현재 펠의 채널을 재구성할 수 있다.
코덱(134)은 블럭 338에서, 펠의 모든 채널들이 디코드되었는지를 판정할 수 있다. 추가의 채널들이 디코드될 것이라는 판정에 응답하여, 코덱(134)은 현재 펠의 다음 채널, 및 매치 벡터로부터의 대응하는 매치 플래그를 선택하기 위해 블럭 304로 돌아갈 수 있다. 그렇지 않다면, 코덱(134)은 블럭 340에서 현재 펠의 재구성된 채널들을 출력 버퍼에 출력할 수 있다. 블럭 342에서, 코덱(134)은 코덱(134)이 디지털 이미지의 마지막 심볼을 디코드하였는지를 판정할 수 있다. 디지털 이미지의 마지막 심볼을 디코드되었다면, 코덱(134)은 디지털 이미지 유닛의 디코딩을 완료하였고 엑시트할 수 있다. 그렇지 않다면, 코덱(134)은 블럭 344에서 이전 펠을 재구성된 현재 펠과 동일하게 설정할 수 있고 현재 심볼을 디지털 이미지 유닛의 그 다음 심볼과 같게 설정할 수 있다. 또한, 코덱(134)은 블럭 344에서 새로운 현재 심볼로부터 매치 벡터를 획득할 수 있다. 그런 다음 코덱(134)은 새롭게 획득된 현재 심볼을 디코드하기 위해 블럭 304로 돌아갈 수 있다.
컴퓨팅 디바이스(100)는 예를 들면 ROM(Read Only Memory), RAM(Random Access Memory), 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 디바이스 등과 같은 머신 판독 가능 매체 및/또는 캐리어파, 적외선 신호, 디지털 신호, 아나로그 신호 등과 같은 전기, 광, 음향, 또는 다른 형태의 신호들의 명령들을 실행하는 것에 응답하여 도 4A, 4B, 및 4C의 예시적 방법과 도 5A, 5B, 및 5C의 예시적 방법 모두나 또는 서브세트를 수행할 수 있다. 또한, 도 4A, 4B, 4C, 도 5A, 5B, 및 5C는 동작 시퀀스들로서 예시된 것이나, 동일한 실시예들에서 컴퓨팅 디바이스(100)는 다양한 예시된 방법들의 동작들을 병렬로 또는 다른 수서로 수행할 수 있다.
손실없는 압축/압축해제의 예와 손실있는 압축/압축해제의 예가 다음의 표 1-7에 도시된다. 특히, 표 1은 4개의 24-비트 RGB 펠들을 갖는 존 라인을 나타낸다. 표 1의 각 펠은 손실없는 8-비트 R 채널, 손실없는 8-비트 G 채널, 손실없는 8-비트 B 채널을 포함한다. 표 2는 채널당 6-비트를 이용하는 18-비트 양자화 레벨로 양자화된 후 4개의 24-비트 RGB 펠들을 나타낸다. 도시된 바와 같이, 코덱은 각 손실없는 채널의 2 LSBs를 간단히 버림으로써 18-비트 양자화된 펠들을 생성할 수 있다. 또한, 표 3은 표 1의 펠들에 대한 7-비트 손실있는 채널들을 나타낸다.
위치 | R 채널 | G 채널 | B 채널 |
0 | 10010101 | 11111001 | 01110000 |
1 | 10010100 | 11111011 | 01110001 |
2 | 10010111 | 11111011 | 01110010 |
3 | 10000000 | 11111011 | 01110001 |
표 1: 4개의 24-비트 RGB 펠들의 존 라인 |
위치 | R 채널 | G 채널 | B 채널 |
0 | 100101 | 111110 | 011100 |
1 | 100101 | 111110 | 011100 |
2 | 100101 | 111110 | 011100 |
3 | 100000 | 111110 | 011100 |
표 2: 존 라인의 18-비트 양자화된 펠들 |
위치 | R 채널 | G 채널 | B 채널 |
0 | 1001010 | 1111100 | 0111000 |
1 | 1001010 | 1111101 | 0111000 |
2 | 1001011 | 1111101 | 0111001 |
3 | 1000000 | 1111101 | 0111000 |
표 3: 존 라인의 펠들에 대한 손실있는 채널들 |
표 4는 표 2의 각 6비트 양자화된 채널에 대한 손실없는 2-비트 채널 에러를 더 나타낸다. 표 4에서 알 수 있는 바와 같이, 코덱은 펠 양자화 동안 각 8-비트 손실없는 채널로부터 떨어진 2 LSBs를 간단히 보유함으로써 2-비트 손실없는 채널 에러를 생성할 수 있다. 이제 표 5를 참조하면, 표 2의 각 6-비트 양자화된 채널에 대한 1-비트 손실있는 채널 에러들이 도시된다. 코덱은 펠 양자화 동안 각 채널로부터 떨어진 LSB를 간단히 보유함으로써 1-비트 손실있는 채널 에러를 생성할 수 있다.
위치 | R 채널 에러 | G 채널 에러 | B 채널 에러 |
0 | 01 | 01 | 00 |
1 | 00 | 11 | 01 |
2 | 11 | 11 | 10 |
3 | 00 | 11 | 01 |
표 4: 6-비트 양자화된 채널들에 대한 손실없는 채널 에러들 |
위치 | R 채널 에러 | G 채널 에러 | B 채널 에러 |
0 | 0 | 0 | 0 |
1 | 0 | 1 | 0 |
2 | 1 | 1 | 1 |
3 | 0 | 1 | 0 |
표 5: 6-비트 양자화된 채널들에 대한 손실있는 채널 에러들 |
위치 | R 채널 에러 | G 채널 에러 | B 채널 에러 |
0 | 01 | 01 | 00 |
1 | 00 | 11 | 01 |
2 | 11 | 11 | 10 |
3 | 00 | 11 | 01 |
표 6: 6-존 라인의 손실없는 심볼들 |
이제 표 6을 참조하면, 표 1의 4개의 24-비트 RGB 펠들의 손실없는 인코딩이 예시되어 있다. 도시된 바와 같이, 손실없는 인코딩은 표 1의 각 펠에 대한 심볼을 포함한다. 특히, 심볼 0은 펠 0의 양자화된 채널들중 어느 것도 이전 펠의 양자화된 채널들과 매치하지 않는다는 것을 나타내는 3-비트 매치 벡터를 포함한다. 따라서, 심볼 0은 그의 손실없는 에러 벡터 내에 펠 0의 각 8-비트 손실없는 채널을 포함한다. 심볼 1은 펠 1의 양자화된 채널들 모두가 펠 0의 대응하는 양자화된 채널들과 매치한다는 것을 나타내는 3-비트 매치 벡터를 포함한다. 따라서, 심볼 1은 그의 손실없는 에러 벡터 내에 펠 1에 대한 표 4에 도시된 각 2-비트 손실없는 채널 에러를 포함한다. 유사하게, 심볼 2는 펠 2의 양자화된 채널들 모두가 펠 1의 대응하는 양자화된 채널들과 매치한다는 것을 나타내는 3-비트 매치 벡터를 포함한다. 따라서, 심볼 2는 그의 손실없는 에러 벡터 내에 펠 2에 대한 표 4에 도시된 각 2-비트 손실없는 채널 에러를 포함한다. 심볼 3은 펠 3의 양자화된 G와 B 채널들이 펠 2의 양자화된 G와 B 채널들과 매치한다는 것을 나타내고 또한 펠 3의 양자화된 R 채널이 펠 2의 양자화된 R 채널과 매치하지 않는다는 것을 나타내는 3-비트 매치 벡터를 포함한다. 따라서, 심볼 3은 그의 손실없는 에러 벡터 내에 펠 3에 대한 8-비트 손실없는 R 채널, 펠 3에 대한 2-비트 손실없는 G 채널 에러, 및 펠 3에 대한 2-비트 손실없는 B 채널 에러를 포함한다. 표 6에 도시된 바와 같이, 심볼 0-3은 96 비트의 펠 데이터를 단지 60 비트로 나타냄으로써 펠 0, 1, 2, 및 3의 압축된 표현을 제공한다. 코덱은 60 비트의 심볼 0-3을 디코드하여 데이터 손실없이 펠 0-3을 획득할 수 있다.
심볼 | 매치 벡터 | 손실없는 에러 벡터 | 비인코딩 비트들 | 인코딩 비트들 |
0 | 000 | 10010101-11111001-01110000 | 24 | 27 |
1 | 111 | 00-11-01 | 24 | 9 |
2 | 111 | 11-11-10 | 24 | 9 |
3 | 011 | 10000000-11-01 | 24 | 15 |
표 6: 존 라인에 대한 손실없는 심볼들 |
이제 표 7을 참조하면, 표 1의 4개의 24-비트 RGB 펠들의 손실있는 인코딩이 도시되어 있다. 도시된 바와 같이, 손실있는 인코딩은 표 1의 각 펠에 대한 심볼을 포함한다. 특히, 심볼 0은 펠 0의 양자화된 채널들의 어느 것도 이전 펠의 양자화된 채널들과 매치하지 않는다는 것을 나타내는 3-비트 매치 벡터를 포함한다. 따라서, 심볼 0은 그의 손실있는 에러 벡터 내에 펠 0에 대한 표 3에 도시된 각 손실있는 7-비트 채널을 포함한다. 심볼 1은 펠 1의 양자화된 채널들 모두가 펠 0의 대응하는 양자화된 채널들과 매치한다는 것을 나타내는 3-비트 매치 벡터를 포함한다. 따라서, 심볼 1은 그의 손실있는 에러 벡터 내에 펠 1에 대한 표 5에 도시된 각 1-비트 손실있는 채널 에러를 포함한다. 유사하게, 심볼 2는 펠 2의 양자화된 채널들 모두가 펠 1의 대응하는 양자화된 채널들과 매치한다는 것을 나타내는 3-비트 매치 벡터를 포함한다. 따라서, 심볼 2는 그의 손실있는 에러 벡터 내에 펠 2에 대한 표 5에 도시된 각 1-비트 손실있는 채널 에러를 포함한다. 심볼 3은 펠 3의 양자화된 G와 B 채널들이 펠 2의 양자화된 G와 B 채널들과 매치하지만, 펠 3의 양자화된 R 채널이 펠 2의 양자화된 R 채널과 매치하지 않는다는 것을 나타내는 3-비트 매치 벡터를 포함한다. 따라서, 심볼 3은 그의 손실없는 에러 벡터 내에 펠 3에 대한 7-비트 손실있는 R 채널, 펠 3에 대한 2-비트 손실있는 G 채널 에러, 및 펠 3에 대한 2-비트 손실있는 B 채널 에러를 포함한다. 표 7에 도시된 바와 같이, 심볼 0-3은 96 비트의 펠 데이터를 단지 48 비트로 나타냄으로써 펠 0, 1, 2, 및 3의 압축된 표현을 제공한다.
심볼 | 매치 벡터 | 손실있는 에러 벡터 | 비인코딩 비트들 | 인코딩 비트들 |
0 | 000 | 1001010-1111100-0111000 | 24 | 24 |
1 | 111 | 0-1-0 | 24 | 6 |
2 | 111 | 1-1-1 | 24 | 6 |
3 | 011 | 1000000-1-0 | 24 | 12 |
표 7: 존 라인에 대한 손실있는 심볼들 |
매치 플래그가 현재 펠의 양자화된 채널이 이전 펠의 대응하는 양자화된 채널과 매치하지 않는다는 것을 나타내면, 코덱은 1 대체 비트를 심볼의 7-비트 손실있는 채널에 첨부함으로써 나중에 채널을 재구성할 수 있다. 그러나, 매치 플래그가 현재 펠의 양자화된 채널이 이전 펠의 대응하는 양자화된 채널과 매치한다는 것을 나타내면, 코덱은 재구성된 채널 에러를 획득하기 위해 심볼의 1-비트 손실있는 채널 에러에 1 대체 비트를 첨부하고, 이전 펠의 6-비트 양자화된 채널에 재구성된 채널 에러를 첨부함으로써 채널을 나중에 재구성할 수 있다. 표 8은 표 7의 손실있는 심볼들로부터 획득될 수 있는 4개의 24-비트 펠들의 하나의 가능한 세트를 도시한다. 특히, 표 7의 4개의 펠들은 펠 0에 대한 대체 비트를 0으로 설정하고 그 후 각 펠에 대한 대체 비트를 토글링함으로써 획득될 수 있다. 표 8의 재구성된 펠들을 표 1의 원래의 펠들과 비교함으로써 알 수 있는 바와 같이, 각 채널의 LSB는 가끔 정확하고 가끔 부정확하지만, 일반적으로 재구성된 채널들은 원래의 채널들과 동일하지 않으면 매우 근사하다. 대부분의 경우들에서, 사용자는 원래의 디지털 이미지와 손실있는 심볼들로부터 재구성된 디지털 이미지를 분별할 수 없을 것이다.
위치 | R 채널 | G 채널 | B 채널 |
0 | 10010100 | 11111000 | 01110000 |
1 | 10010101 | 11111011 | 01110001 |
2 | 10010110 | 11111010 | 01110010 |
3 | 10000001 | 11111011 | 01110001 |
표 8: 디서링을 이용하여 손실있는 심볼들로부터 재구성된 존 라인 |
본원 발명의 특정한 특징들이 실시예들을 참조하여 설명되었으나, 이 설정은 제한하는 의미로 의도된 것이 아니다. 본 발명이 속하는 기술 분야의 숙련된 기술자에게 자명한 본 발명의 실시예들의 다양한 변형들과 다른 실시예들은 본 발명의 사상 및 범위 내에 들어 오는 것으로 여겨진다.
Claims (37)
- 제1 펠(pel)의 복수의 제1 채널들을 양자화하여 복수의 제1 양자화된 채널을 획득하는 단계;제2 펠의 복수의 제2 채널들을 양자화하여 복수의 제2 양자화된 채널을 획득하는 단계;상기 복수의 제1 양자화된 채널들 중 어느 것이 상기 복수의 제2 양자화된 채널들과 매치하는지를 나타내는 매치 벡터를 생성하는 단계; 및상기 제1 펠과 상기 제2 펠 사이의 차이를 나타내는 에러 벡터를 생성하는 단계를 포함하는 방법.
- 제1항에 있어서,상기 매치 벡터와 에러 벡터를 포함하는 상기 제1 펠을 나타내기 위한 심볼을 생성하는 단계를 더 포함하는 방법.
- 제1항에 있어서,상기 복수의 제1 채널을 양자화하는 단계는 상기 복수의 제1 채널 중 하나 이상의 최하위 비트들을 버리는 단계를 포함하고,상기 복수의 제2 채널을 양자화하는 단계는 상기 복수의 제2 채널 중 하나 이상의 최하위 비트들을 버리는 단계를 포함하는 방법.
- 제3항에 있어서,상기 복수의 제2 양자화된 채널들 중의 대응하는 제2 양자화된 채널과 매치하는 상기 복수의 제1 양자화된 채널들 중 각각의 제1 양자화된 채널에 대해, 상기 각각의 제1 양자화된 채널로부터 버려진 상기 하나 이상의 최하위 비트들을 포함하는 손실없는 채널 에러를 상기 에러 벡터에 제공하는 단계를 더 포함하는 방법.
- 제3항에 있어서,상기 복수의 제2 양자화된 채널들 중의 대응하는 제2 양자화된 채널과 매치하는 상기 복수의 제1 양자화된 채널들 중 각각의 제1 양자화된 채널에 대해, 상기 각각의 제1 양자화된 채널로부터 버려진 상기 하나 이상의 최하위 비트들의 서브세트를 포함하는 손실있는 채널 에러를 상기 에러 벡터에 제공하는 단계를 더 포함하는 방법.
- 제5항에 있어서,상기 손실있는 채널 에러의 손실성을 컴퓨팅 디바이스의 부하에 기초하여 조정하는 단계를 더 포함하는 방법.
- 제1항에 있어서,상기 복수의 제2 양자화된 채널들 중의 대응하는 제2 양자화된 채널과 매치하지 않는 상기 복수의 제1 양자화된 채널들 중 각각의 제1 양자화된 채널에 대해, 대응하는 상기 제1 채널의 모든 비트들을 포함하는 손실없는 채널을 상기 에러 벡터에 제공하는 단계를 더 포함하는 방법.
- 제1항에 있어서,상기 복수의 제2 양자화된 채널들 중의 대응하는 제2 양자화된 채널과 매치하지 않는 상기 복수의 제1 양자화된 채널들 중 제1 양자화된 채널 각각에 대해, 대응하는 상기 제1 채널의 최상위 비트들의 서브세트를 포함하는 손실있는 채널을 상기 에러 벡터에 제공하는 단계를 더 포함하는 방법.
- 제8항에 있어서,상기 손실있는 채널의 손실성을 컴퓨팅 디바이스의 부하에 기초하여 조정하는 단계를 더 포함하는 방법.
- 복수의 채널들을 포함하는 현재 펠을 나타내는 심볼을 획득하는 단계;현재 펠의 양자화된 채널들 중 어느 것이 이전 펠의 대응하는 양자화된 채널들과 매치하는지를 나타내는 마스크 벡터를 상기 심볼로부터 획득하는 단계;상기 현재 펠과 상기 이전 펠 사이의 차이를 나타내는 에러 벡터를 상기 심볼로부터 획득하는 단계; 및상기 마스크 벡터, 상기 에러 벡터, 및 상기 이전 펠에 기초하여 상기 현재 펠을 재구성하는 단계를 포함하는 방법.
- 제10항에 있어서,상기 매치 벡터가 상기 이전 펠의 대응하는 양자화된 채널과 매치한다고 나타내는 상기 현재 펠의 각각의 양자화된 채널에 대해, 상기 에러 벡터의 손실없는 채널 에러, 상기 이전 펠의 상기 대응하는 양자화된 채널에 기초하여 상기 현재 펠의 채널을 재구성하는 단계를 더 포함하는 방법.
- 제10항에 있어서,상기 매치 벡터가 상기 이전 펠의 대응하는 양자화된 채널과 매치한다고 나타내는 상기 현재 펠의 각각의 양자화된 채널에 대해, 상기 에러 벡터의 손실있는 채널 에러, 상기 이전 펠의 상기 대응하는 양자화된 채널, 및 하나 이상의 대체 비트들에 기초하여 상기 현재 펠의 채널을 재구성하는 단계를 더 포함하는 방법.
- 제11항에 있어서,상기 하나 이상의 대체 비트들을 디서링(dithering)하는 단계를 더 포함하는 방법.
- 제10항에 있어서,상기 매치 벡터가 상기 이전 펠의 대응하는 양자화된 채널과 매치하지 않는다고 나타내는 상기 현재 펠의 각각의 양자화된 채널에 대해, 상기 에러 벡터의 손실없는 채널 에러에 기초하여 상기 현재 펠의 채널을 재구성하는 단계를 더 포함하는 방법.
- 제10항에 있어서,상기 매치 벡터가 상기 이전 펠의 대응하는 양자화된 채널과 매치하지 않는다고 나타내는 상기 현재 펠의 각각의 양자화된 채널에 대해, 상기 에러 벡터의 손실있는 채널, 및 하나 이상의 대체 비트들에 기초하여 상기 현재 펠의 상기 대응하는 채널을 재구성하는 단계를 더 포함하는 방법.
- 제15항에 있어서,상기 하나 이상의 대체 비트들을 디서링(dithering)하는 단계를 더 포함하는 방법.
- 제1 펠의 복수의 제1 채널들을 양자화하여 복수의 제1 양자화된 채널을 획득하고, 제2 펠의 복수의 제2 채널들을 양자화하여 복수의 제2 양자화된 채널을 획득하고, 상기 복수의 제1 양자화된 채널들 중 어느 것이 상기 복수의 제2 양자화된 채널들과 매치하는지를 나타내는 매치 벡터를 생성하고, 상기 제1 펠의 각각의 매칭하지 않는 양자화된 채널에 대한 채널, 및 상기 제1 펠의 각각의 매칭하는 양자화된 채널에 대한 채널 에러를 포함하는 에러 벡터를 생성하고, 상기 매치 벡터와 상기 에러 벡터를 포함하는 심볼을 출력하는 압축기; 및상기 심볼을 프레임 버퍼에 전송하는 메모리 인터페이스를 포함하는 디스플레이 콘트롤러.
- 제17항에 있어서,상기 프레임 버퍼를 저장하기 위한 비디오 메모리를 더 포함하는 디스플레이 콘트롤러.
- 제17항에 있어서,상기 압축기는 상기 제1 펠의 상기 복수의 제1 채널들로부터 하나 이상의 최하위 비트들을 버리고, 상기 제2 펠의 복수의 제2 채널들로부터 하나 이상의 최하위 비트들을 버리는 디스플레이 콘트롤러.
- 제19항에 있어서,상기 압축기는 상기 에러 벡터의 각 채널 에러를 생성하되, 상기 채널 에러는 대응하는 제1 양자화된 채널로부터 버려진 상기 하나 이상의 최하위 비트들을 포함하도록 상기 에러 벡터의 각 채널 에러를 생성하는 디스플레이 콘트롤러.
- 제19항에 있어서,상기 압축기는 상기 에러 벡터의 각 채널 에러를 생성하되, 상기 채널 에러는 대응하는 제1 양자화된 채널로부터 버려진 상기 하나 이상의 최하위 비트들의 서브세트를 포함하도록 상기 에러 벡터의 각 채널 에러를 생성하는 디스플레이 콘트롤러.
- 제17항에 있어서,상기 압축기는 상기 에러 벡터의 각 채널을 생성하되, 상기 채널은 대응하는 제1 채널의 모든 비트들을 포함하도록 상기 에러 벡터의 각 채널을 생성하는 디스플레이 콘트롤러.
- 제17항에 있어서,상기 압축기는 상기 에러 벡터의 각 채널을 생성하되, 상기 채널은 대응하는 제1 채널의 모든 비트들의 서브세트를 포함하도록 상기 에러 벡터의 각 채널을 생성하는 디스플레이 콘트롤러.
- 실행되는 것에 응답하여 컴퓨팅 디바이스가,복수의 채널들을 포함하는 현재 펠을 나타내는 심볼을 획득하고;현재 펠의 양자화된 채널들 중 어느 것이 이전 펠의 대응하는 양자화된 채널들과 매치하는지를 나타내는 마스크 벡터를 상기 심볼로부터 획득하고;상기 현재 펠과 상기 이전 펠 사이의 차이를 나타내는 에러 벡터를 상기 심볼로부터 획득하고;상기 마스크 벡터, 상기 에러 벡터, 및 상기 이전 펠에 기초하여 상기 현재 펠을 재구성하도록야기하는 복수의 명령들을 포함하는 머신 판독가능 매체.
- 제24항에 있어서, 상기 복수의 명령들은 실행되는 것에 응답하여 상기 컴퓨팅 디바이스가,상기 매치 벡터의 매치 플래그에 기초하여, 상기 현재 펠의 양자화된 채널이 상기 이전 펠의 대응하는 양자화된 채널과 매치하는지 여부를 판정하고,상기 현재 펠과 상기 이전 펠의 양자화된 채널들이 매치한다는 판정에 응답하여 상기 에러 벡터의 손실없는 채널 에러와 상기 이전 펠의 상기 대응하는 양자화된 채널에 기초하여 상기 현재 펠의 채널을 재구성하도록야기하는 머신 판독가능 매체.
- 제24항에 있어서, 상기 복수의 명령들은 실행되는 것에 응답하여 상기 컴퓨팅 디바이스가,상기 매치 벡터의 매치 플래그에 기초하여, 상기 현재 펠의 양자화된 채널이 상기 이전 펠의 대응하는 양자화된 채널과 매치하는지 여부를 판정하고,상기 현재 펠과 상기 이전 펠의 양자화된 채널들이 매치한다는 판정에 응답하여 상기 에러 벡터의 손실있는 채널 에러와 상기 이전 펠의 상기 대응하는 양자화된 채널과 하나 이상의 대체 비트들에 기초하여 상기 현재 펠의 채널을 재구성하도록야기하는 머신 판독가능 매체.
- 제26항에 있어서, 상기 복수의 명령들은 실행되는 것에 응답하여 상기 컴퓨팅 디바이스가 상기 하나 이상의 대체 비트들을 디서링하도록 또한 야기하는 머신 판독가능 매체.
- 제24항에 있어서, 상기 복수의 명령들은 실행되는 것에 응답하여 상기 컴퓨팅 디바이스가,상기 매치 벡터의 매치 플래그에 기초하여, 상기 현재 펠의 양자화된 채널이 상기 이전 펠의 대응하는 양자화된 채널과 매치하는지 여부를 판정하고,상기 현재 펠과 상기 이전 펠의 양자화된 채널들이 매치하지 않는다는 판정에 응답하여 상기 에러 벡터의 손실없는 채널에 기초하여 상기 현재 펠의 채널을 재구성하도록또한 야기하는 머신 판독가능 매체.
- 제24항에 있어서, 상기 복수의 명령들은 실행되는 것에 응답하여 상기 컴퓨팅 디바이스가,상기 매치 벡터의 매치 플래그에 기초하여, 상기 현재 펠의 양자화된 채널이 상기 이전 펠의 대응하는 양자화된 채널과 매치하는지 여부를 판정하고,상기 현재 펠과 상기 이전 펠의 양자화된 채널들이 매치하지 않는다는 판정에 응답하여 상기 에러 벡터의 손실있는 채널과 하나 이상의 대체 비트들에 기초하여 상기 현재 펠의 채널을 재구성하도록또한 야기하는 머신 판독가능 매체.
- 제29항에 있어서, 상기 복수의 명령들은 실행되는 것에 응답하여 상기 컴퓨팅 디바이스가 상기 하나 이상의 대체 비트들을 디서링하도록 또한 야기하는 머신 판독가능 매체.
- 프레임 버퍼를 저장하는 시스템 메모리; 및상기 프레임 버퍼로부터 심볼을 획득하고, 상기 심볼로부터 마스크 벡터와 에러 벡터를 획득하고, 상기 마스크 벡터, 상기 에러 벡터, 및 이전 펠에 기초하여 현재 펠을 재구성하는 일체형 디스플레이 콘트롤러를 포함하는 컴퓨팅 디바이스.
- 제31항에 있어서,상기 일체형 디스플레이 콘트롤러는 상기 에러 벡터로부터 손실없는 채널을 획득하고, 상기 손실없는 채널에 기초하여 상기 현재 펠의 채널을 구성하는 컴퓨팅 디바이스.
- 제31항에 있어서,상기 일체형 디스플레이 콘트롤러는 상기 에러 벡터로부터 손실있는 채널을 획득하고, 상기 손실있는 채널과 하나 이상의 대체 비트들에 기초하여 상기 현재 펠의 채널을 구성하는 컴퓨팅 디바이스.
- 제33항에 있어서,상기 일체형 디스플레이 콘트롤러는 상기 하나 이상의 대체 비트들의 디서링에 또한 기초하여 상기 현재 펠의 채널을 구성하는 컴퓨팅 디바이스.
- 제31항에 있어서,상기 일체형 디스플레이 콘트롤러는 상기 에러 벡터로부터 손실없는 채널 에러를 획득하고, 상기 손실없는 채널 에러와 상기 이전 펠의 양자화된 채널에 기초하여 상기 현재 펠의 채널을 구성하는 컴퓨팅 디바이스.
- 제31항에 있어서,상기 일체형 디스플레이 콘트롤러는 상기 에러 벡터로부터 손실있는 채널 에러를 획득하고, 상기 손실없는 채널 에러와 상기 이전 펠의 양자화된 채널과 하나 이상의 대체 비트들에 기초하여 상기 현재 펠의 채널을 구성하는 컴퓨팅 디바이스.
- 제36항에 있어서,상기 일체형 디스플레이 콘트롤러는 상기 하나 이상의 대체 비트들의 디서링에 또한 기초하여 상기 현재 펠의 채널을 구성하는 컴퓨팅 디바이스.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/335,423 US7212676B2 (en) | 2002-12-30 | 2002-12-30 | Match MSB digital image compression |
US10/335,423 | 2002-12-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050085931A true KR20050085931A (ko) | 2005-08-29 |
KR100869191B1 KR100869191B1 (ko) | 2008-11-18 |
Family
ID=32655347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057012322A KR100869191B1 (ko) | 2002-12-30 | 2003-11-13 | 매치 msb 디지털 이미지 압축을 위한 방법, 장치 및 머신 판독가능 매체 |
Country Status (9)
Country | Link |
---|---|
US (2) | US7212676B2 (ko) |
EP (1) | EP1579390B1 (ko) |
KR (1) | KR100869191B1 (ko) |
CN (1) | CN1224267C (ko) |
AT (1) | ATE361509T1 (ko) |
AU (1) | AU2003298645A1 (ko) |
DE (1) | DE60313664T2 (ko) |
TW (1) | TWI254260B (ko) |
WO (1) | WO2004061772A1 (ko) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040227963A1 (en) * | 2003-05-14 | 2004-11-18 | Jacobsen Dana A. | Introducing loss directly on display list data |
EP1538844A3 (en) * | 2003-11-26 | 2006-05-31 | Samsung Electronics Co., Ltd. | Color image residue transformation and encoding method |
KR100647294B1 (ko) | 2004-11-09 | 2006-11-23 | 삼성전자주식회사 | 화상 데이터 부호화 및 복호화 방법 및 장치 |
EP1917642A2 (en) * | 2005-08-17 | 2008-05-07 | Nxp B.V. | Video processing method and device for depth extraction |
JP4173505B2 (ja) * | 2005-12-26 | 2008-10-29 | 富士フイルム株式会社 | データ圧縮装置およびデータ圧縮プログラム |
US20070223823A1 (en) * | 2006-03-21 | 2007-09-27 | Nokia Corporation | Method, apparatus, system and computer program product for providing compression of image files |
US8000541B2 (en) * | 2008-10-28 | 2011-08-16 | Gregory James Gosian | Quantization differencing compression algorithm |
WO2011021319A1 (ja) * | 2009-08-21 | 2011-02-24 | 日本電気株式会社 | 動画像符号化装置 |
US8711760B2 (en) * | 2010-03-26 | 2014-04-29 | Intel Corporation | Method and apparatus to adjust received signal |
US20120254588A1 (en) * | 2011-04-01 | 2012-10-04 | Jesus Corbal San Adrian | Systems, apparatuses, and methods for blending two source operands into a single destination using a writemask |
US20120254592A1 (en) * | 2011-04-01 | 2012-10-04 | Jesus Corbal San Adrian | Systems, apparatuses, and methods for expanding a memory source into a destination register and compressing a source register into a destination memory location |
US8811756B2 (en) | 2011-07-11 | 2014-08-19 | International Business Machines Corporation | Image compression |
EP2798480B1 (en) * | 2011-12-30 | 2018-09-26 | Intel Corporation | Vector frequency compress instruction |
DE102018122297A1 (de) * | 2018-09-12 | 2020-03-12 | Arnold & Richter Cine Technik Gmbh & Co. Betriebs Kg | Verfahren zur Kompression und Dekompression von Bilddaten |
GB2611864B (en) | 2019-08-23 | 2023-12-06 | Imagination Tech Ltd | Random accessible image data compression |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2554995B1 (fr) * | 1983-11-15 | 1989-05-05 | Thomson Cgr | Procede de compression d'une succession d'informations numeriques et dispositif mettant en oeuvre ce procede |
EP0482180B1 (en) * | 1990-05-14 | 1997-07-23 | Eastman Kodak Company | Block adaptive linear predictive coding with adaptive gain and bias |
US5113256A (en) * | 1991-02-08 | 1992-05-12 | Zenith Electronics Corporation | Method of perceptually modeling a video image signal |
US5212742A (en) * | 1991-05-24 | 1993-05-18 | Apple Computer, Inc. | Method and apparatus for encoding/decoding image data |
DE69409048T2 (de) | 1993-08-18 | 1998-09-03 | Philips Electronics Nv | Anordnung und Verfahren für die Erzeugung eines Farbbildes |
JP3385077B2 (ja) * | 1993-10-28 | 2003-03-10 | 松下電器産業株式会社 | 動きベクトル検出装置 |
AU698055B2 (en) * | 1994-07-14 | 1998-10-22 | Johnson-Grace Company | Method and apparatus for compressing images |
US6301299B1 (en) | 1994-10-28 | 2001-10-09 | Matsushita Electric Industrial Co., Ltd. | Memory controller for an ATSC video decoder |
US5740345A (en) * | 1995-03-28 | 1998-04-14 | Compaq Computer Corporation | Method and apparatus for displaying computer graphics data stored in a compressed format with an efficient color indexing system |
JP3748088B2 (ja) * | 1996-07-17 | 2006-02-22 | ソニー株式会社 | 画像処理装置および方法、並びに学習装置および方法 |
US5903673A (en) * | 1997-03-14 | 1999-05-11 | Microsoft Corporation | Digital video signal encoder and encoding method |
JP3087835B2 (ja) * | 1997-04-22 | 2000-09-11 | 富士ゼロックス株式会社 | 画像符号化方法および装置ならびに画像復号方法および装置 |
US6125201A (en) * | 1997-06-25 | 2000-09-26 | Andrew Michael Zador | Method, apparatus and system for compressing data |
US5990864A (en) * | 1998-01-12 | 1999-11-23 | Autodesk, Inc. | Converting color images to an arbitrary palette |
US6611620B1 (en) * | 1998-08-28 | 2003-08-26 | Matsushita Electric Industrial Co. Ltd. | Reversible coding method, reversible coding apparatus, and memory medium used therein |
US6347155B1 (en) | 1998-10-01 | 2002-02-12 | Sharewave, Inc. | Method and apparatus for digital data compression |
JP2000175053A (ja) * | 1998-12-07 | 2000-06-23 | Xerox Corp | 文書の圧縮ピクセルマップ表現を表す混合ラスタコンテントプレ―ンの処理方法 |
US6983074B1 (en) * | 2000-06-14 | 2006-01-03 | Adobe Systems Incorporated | Data compression system and technique |
US6748116B1 (en) * | 2000-08-22 | 2004-06-08 | Airzip, Inc. | Apparatus and method for compressing and decompressing image files |
JP4214440B2 (ja) * | 2000-10-19 | 2009-01-28 | ソニー株式会社 | データ処理装置およびデータ処理方法、並びに記録媒体 |
US6898323B2 (en) * | 2001-02-15 | 2005-05-24 | Ricoh Company, Ltd. | Memory usage scheme for performing wavelet processing |
US6950469B2 (en) * | 2001-09-17 | 2005-09-27 | Nokia Corporation | Method for sub-pixel value interpolation |
-
2002
- 2002-12-30 US US10/335,423 patent/US7212676B2/en not_active Expired - Fee Related
-
2003
- 2003-11-13 AU AU2003298645A patent/AU2003298645A1/en not_active Abandoned
- 2003-11-13 KR KR1020057012322A patent/KR100869191B1/ko not_active IP Right Cessation
- 2003-11-13 DE DE60313664T patent/DE60313664T2/de not_active Expired - Lifetime
- 2003-11-13 TW TW092131849A patent/TWI254260B/zh not_active IP Right Cessation
- 2003-11-13 WO PCT/US2003/036344 patent/WO2004061772A1/en active IP Right Grant
- 2003-11-13 AT AT03796397T patent/ATE361509T1/de not_active IP Right Cessation
- 2003-11-13 EP EP03796397A patent/EP1579390B1/en not_active Expired - Lifetime
- 2003-12-17 CN CNB2003101214550A patent/CN1224267C/zh not_active Expired - Fee Related
-
2007
- 2007-02-27 US US11/712,046 patent/US7526124B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20040126032A1 (en) | 2004-07-01 |
US20070147692A1 (en) | 2007-06-28 |
CN1512784A (zh) | 2004-07-14 |
TW200424955A (en) | 2004-11-16 |
US7526124B2 (en) | 2009-04-28 |
DE60313664T2 (de) | 2007-08-16 |
DE60313664D1 (de) | 2007-06-14 |
US7212676B2 (en) | 2007-05-01 |
AU2003298645A1 (en) | 2004-07-29 |
KR100869191B1 (ko) | 2008-11-18 |
WO2004061772A1 (en) | 2004-07-22 |
ATE361509T1 (de) | 2007-05-15 |
CN1224267C (zh) | 2005-10-19 |
TWI254260B (en) | 2006-05-01 |
EP1579390B1 (en) | 2007-05-02 |
EP1579390A1 (en) | 2005-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7526124B2 (en) | Match MSB digital image compression | |
US6771830B2 (en) | Differential pulse code modulation image compression with varying levels of quantizers | |
US7873212B2 (en) | Compression of images for computer graphics | |
US10395394B2 (en) | Encoding and decoding arrays of data elements | |
US8599214B1 (en) | Image compression method using dynamic color index | |
US20070076971A1 (en) | Compression of images for computer graphics | |
US8929674B2 (en) | Compression of high bit-depth images | |
CN113170140A (zh) | 数据阵列的位平面编码 | |
US10609382B2 (en) | Method and apparatus for compressing video data | |
KR100803402B1 (ko) | 양자화된 디지털 화상의 런 길이 인코딩을 위한 방법, 장치 및 컴퓨터 판독가능 매체 | |
US20200374523A1 (en) | Differential prefix coding for high throughput entropy coder in display compression | |
US6470052B1 (en) | HVQ compression combined with orthogonal rotation | |
US8737750B2 (en) | Pixel block compression and decompression | |
CN113115049A (zh) | 对图像内容进行编码和解码的方法及传输图像内容的*** | |
CN113497939B (zh) | 用于对数据进行编码的方法和编码器 | |
KR20240029439A (ko) | 이미지 처리 장치 및 이미지 처리 장치의 동작 방법 | |
JPH05153400A (ja) | 画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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: 20121019 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20131101 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20141031 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |