KR101634134B1 - 블록 압축 이미지들의 압축 해제를 위한 시스템, 방법, 및 컴퓨터 프로그램 제품 - Google Patents

블록 압축 이미지들의 압축 해제를 위한 시스템, 방법, 및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR101634134B1
KR101634134B1 KR1020147026677A KR20147026677A KR101634134B1 KR 101634134 B1 KR101634134 B1 KR 101634134B1 KR 1020147026677 A KR1020147026677 A KR 1020147026677A KR 20147026677 A KR20147026677 A KR 20147026677A KR 101634134 B1 KR101634134 B1 KR 101634134B1
Authority
KR
South Korea
Prior art keywords
compressed block
key
data
image data
block
Prior art date
Application number
KR1020147026677A
Other languages
English (en)
Other versions
KR20140130196A (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
Priority to US13/434,030 priority Critical
Priority to US13/434,030 priority patent/US8687902B2/en
Application filed by 인텔 코포레이션 filed Critical 인텔 코포레이션
Priority to PCT/US2013/033718 priority patent/WO2013148582A1/en
Publication of KR20140130196A publication Critical patent/KR20140130196A/ko
Application granted granted Critical
Publication of KR101634134B1 publication Critical patent/KR101634134B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • 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/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Abstract

블록 압축 이미지 데이터의 압축 해제 시에 캐시를 이용할 수 있는 시스템, 방법 및 컴퓨터 프로그램 제품이 개시된다. 캐시 내의 각각의 데이터 엔트리는 이미지의 압축된 블록에 대응하는 압축 해제된 이미지 데이터를 나타낼 수 있다. 캐시의 인덱스들은 키들일 수 있으며, 여기서, 각각의 키는 대응한 압축 블록에 대해 수행되는 해시 프로세스의 출력이다. 압축 블록의 압축 해제는 압축 블록을 해싱하여 키를 생성함으로써 수행될 수 있다. 키는 캐시에 액세스하는 데 사용될 수 있다. 키에 의해 인덱싱된 압축 해제 데이터는 압축 블록의 압축 해제 버전으로서 판독되고 사용될 수 있다. 어떠한 데이터도 키에 대응하지 않는 경우, 또는 이 키에 의해 인덱싱된 캐싱된 데이터가 유효하지 않은 경우, 전통적인 압축 해제 프로세스를 압축 블록에 적용하여, 압축 해제 데이터를 산출할 수 있다. 이어서, 이러한 압축 해제 데이터는 캐시에서 키에 대응하는 위치에 기록될 수 있다.

Description

블록 압축 이미지들의 압축 해제를 위한 시스템, 방법, 및 컴퓨터 프로그램 제품{SYSTEM, METHOD, AND COMPUTER PROGRAM PRODUCT FOR DECOMPRESSION OF BLOCK COMPRESSED IMAGES}

이미지의 디지털 표현은 통상적으로 컬러, 텍스처, 불투명도 등을 캡처하기 위해 상당한 양의 데이터를 포함한다. 결과적으로, 이미지의 처리 및 송신은 시간이 걸릴 수 있다. 결과적으로, 이미지가 처리 또는 통신되는 속도는 해결이 필요한 시스템 설계 문제를 나타낸다. 이미지를 표현하는 데이터의 빠른 컴퓨팅 및 송신에 대한 필요가 존재하므로, 종종 데이터 압축이 이용된다. 이것은 계산 속도 문제들 중 일부의 해결, 대역폭 보존 및 메모리 용량의 보존을 용이하게 한다.

그러나, 압축 및 압축 해제의 프로세스들은 그들 자신의 문제들을 생성할 수 있다. 그러한 프로세스들은 사소한 것이 아니라, 적시의 이미지 처리 또는 출력을 가능하게 하기 위해 빠르게 수행되는 것이 필요할 수 있다. 특히, 전통적인 압축 해제 프로세스들은 하드웨어에서 또는 소프트웨어에서 수행되는지에 관계없이 느리고 계산적으로 비용이 많이 들 수 있다. 때때로, 예를 들어, 압축 해제는 그래픽 처리 유닛(GPU) 내의 전용 하드웨어를 이용하여 수행될 수 있다. 그럼에도, 특히 실시간 처리가 요구될 때 속도 문제가 남는다.

도 1은 비압축 이미지 블록을 나타낸다.
도 2는 블록 압축 프로세스를 나타내는 흐름도이다.
도 3은 압축된 블록을 나타내는 도면이다.
도 4는 블록 압축 해제 프로세스를 나타내는 흐름도이다.
도 5는 일 실시예에 따른 블록 압축 해제 프로세스를 나타내는 흐름도이다.
도 6은 일 실시예에 따른 블록 압축 해제를 나타내는 데이터 흐름도이다.
도 7은 일 실시예의 소정 특징들의 소프트웨어 또는 펌웨어 구현을 나타내는 블록도이다.
도 8은 일 실시예를 포함할 수 있는 시스템을 나타낸다.
도 9는 일 실시예를 구현할 수 있는 이동 장치를 나타낸다.
도면들에서, 참조 번호의 가장 좌측의 숫자(들)는 그 참조 번호가 처음 나오는 도면을 식별한다.

이하, 도면들을 참조하여 일 실시예가 설명되며, 도면들에서 동일한 참조 번호들은 동일하거나 기능적으로 유사한 요소들을 지시한다. 특정 구성들 및 배열들이 설명되지만, 이것은 단지 예시의 목적을 위해 행해진다는 것을 이해해야 한다. 관련 분야의 기술자는 본 설명의 사상 및 범위로부터 벗어나지 않고서 다른 구성들 및 배열들이 사용될 수 있다는 것을 인식할 것이다. 이것은 또한 본 명세서에서 설명되는 것과 다른 다양한 다른 시스템들 및 애플리케이션들에서 이용될 수 있다는 것이 관련 분야의 기술자에게 명백할 것이다.

본 명세서에서 개시되는 시스템 및 방법은 블록 압축 이미지 데이터의 압축 해제 시에 캐시를 이용할 수 있다. 캐시 내의 각각의 데이터 엔트리는 이미지의 압축된 블록에 대응하는 압축 해제된 이미지 데이터를 나타낼 수 있다. 캐시의 인덱스들은 키들일 수 있으며, 각각의 키는 대응한 압축 블록에 대해 수행되는 해시 프로세스의 출력일 수 있다. 압축 블록의 압축 해제는 압축 블록을 해싱하여 키를 생성함으로써 수행될 수 있다. 키는 캐시에 액세스하는 데 사용될 수 있다. 키에 의해 인덱싱된 압축 해제 데이터는 압축 블록의 압축 해제 버전으로서 판독되고 사용될 수 있다. 어떠한 데이터도 키에 대응하지 않는 경우, 또는 이 키에 의해 인덱싱된 캐싱된 데이터가 유효하지 않은 경우, 전통적인 압축 해제 프로세스를 압축 블록에 적용하여, 압축 해제 데이터를 산출할 수 있다. 이어서, 이러한 압축 해제 데이터는 캐시에서 키에 대응하는 위치에 기록될 수 있다.

이미지의 압축 및 압축 해제보다 이미지의 이미지 데이터의 블록들로의 압축 해제가 선행할 수 있으며, 이들 각각은 디지털 방식으로 표현될 수 있다. 소정의 블록이 블록 내에 나타나는 컬러들의 어레이로서 모델링될 수 있다. 이것은 도 1에 도시된다. 블록(100)은 개별적인 수의 컬러를 갖는 것으로 모델링될 수 있으며, 블록(100)은 여기서 a, b, c 및 d로 표시되는 4개의 컬러를 갖는 것으로 도시된다. 이 도면에서는 4개의 컬러가 도시되지만, 다른 이미지들 또는 다른 압축/압축 해제 프로세스들에서는 이미지 데이터의 블록들이 상이한 수의 컬러를 갖는 것으로 모델링될 수 있다는 것을 이해해야 한다. 블록에 대해 컬러들의 세트가 정의되면, 블록에 대해 블록 압축 프로세스가 수행될 수 있다.

블록 압축 프로세스가 도 2에 도시된다. 도시된 프로세스는 블록의 컬러들의 디지털 표현을 압축한다. 210에서, 블록이 수신될 수 있다. 220에서, 2개의 엔드포인트 컬러가 결정될 수 있다. 이러한 엔드포인트 컬러들은 컬러들을 모델링하는 데 사용되는 삼차원 컬러 공간 내의 (블록 내의 컬러들의) 가장 극단의 포인트들에 존재하는 컬러들을 나타낼 수 있다. 230에서, 압축 형태로 코딩될 추가적인 컬러들이 존재하는지에 관한 결정이 행해질 수 있다. 예를 들어 블록 내에 4개의 컬러가 존재하는 경우, 엔드포인트 컬러들 외에 2개의 추가적인 코딩될 컬러가 존재할 것이다. 240에서, 나머지 컬러들 중 하나가 삼차원 컬러 공간에서 엔드포인트 컬러들 사이의 라인 세그먼트 상의 위치를 표현할 수 있는 코드를 할당받는다. 라인 세그먼트 상의 위치는 코딩될 컬러의 공간 내의 실제 위치에 가장 가까운 세그먼트 상의 포인트를 나타낼 수 있다. 라인 세그먼트 상의 위치는 엔드포인트 컬러들 중 하나로부터의 거리로서 표현되거나 코딩될 수 있다. 이와 같이, 컬러는 3개의 컬러 좌표로서 명확히 표현되는 것이 아니라, 라인 세그먼트의 단부로부터의 거리로서 표현된다. 이 거리는 컬러에 대한 코드로서 간주될 수 있다. 결과적으로, 컬러는 더 적은 비트를 이용하여 표현(즉, 코딩)된다. 이어서, 프로세스는 230으로 복귀하여, 블록 내에 코딩될 추가 컬러가 존재하는지에 관한 다른 결정이 행해질 수 있다.

코딩될 컬러가 더 이상 존재하지 않는 경우, 250에서, 코딩된 컬러들을 엔드포인트 컬러들의 표현들과 연관시켜, 압축 블록을 형성한다. 이것은 도 3에 도시된다. 2개의 엔드포인트 컬러는 하나 이상의 필드에서 명확히 정의될 수 있다. 이러한 필드들은 310 및 320으로 도시된다. 필드(330)는 사전 정의된 순서로 제시되는 컬러들에 대한 코드들을 포함할 수 있다. 포맷팅된 데이터(300)는 이미지 데이터의 압축 블록을 나타낼 수 있다.

압축 해제 프로세스를 위한 방법이 도 4에 도시된다. 410에서, 이미지 데이터의 압축 블록이 수신되며, 블록은 전술한 바와 같이 압축되었을 수 있다. 420에서, 아직 처리되지 않은 컬러 코드들이 존재하는지에 관한 결정이 행해질 수 있다. 그러한 경우, 430에서, 코드가 컬러로 변환된다. 삼차원 컬러 공간에서 정의된 엔드포인트 컬러들 및 그들 간의 라인 세그먼트가 주어지면, 코드는 엔드포인트들 중 하나로부터의 거리로서 사용된다. 그 위치에서의 결과적인 컬러는 오리지널 컬러의 근사치로서 사용되며, 압축 해제된 컬러를 나타낸다. 이어서, 프로세스는 420으로 복귀하여, 압축 해제된 컬러들로 변환될 필요가 있는 추가적인 컬러들이 남아 있는지에 관한 다른 결정이 행해질 수 있다. 미처리 코드가 남지 않은 경우, 440에서, 압축 블록의 압축 해제가 완료되었을 것이다.

일 실시예에 따른 압축 해제를 위한 방법이 도 5에 도시된다. 510에서, 이미지 데이터의 압축 블록이 수신될 수 있다. 520에서, 블록에 대해 해시 프로세스를 수행할 수 있다. 이 분야의 통상의 기술자들에게 알려진 임의의 결정론적 해시 동작이 사용될 수 있다. 일 실시예에서, 해시 동작은 모듈러 감소(modular reduction)를 포함할 수 있다. 예를 들어, 압축 블록의 이진 값이 255의 모듈러스로 감소될 수 있다.

530에서, 결과적인 해시 출력이 특정 캐시 위치에 대한 키로서 사용될 수 있으며, 캐시는 압축 블록에 대응하는 압축 해제 블록들을 저장할 수 있다. 540에서, 키에 대응하는 위치에 캐싱된 데이터가 압축 블록에 대응하는 압축 해제 데이터로서 유효한지에 관한 결정이 행해질 수 있다. 일 실시예에서, 이러한 검사는 이러한 캐시 위치가 압축 해제 블록을 유지하고 있는 것으로 가정할 때 압축 블록의 적절한 필드들에서 표현되는 바와 같은 엔드포인트 컬러들이 엔드포인트 컬러들을 정상적으로 유지하는 캐싱된 데이터 내의 필드들과 매칭되는지에 대한 결정일 수 있다. 그렇지 않은 겨우, 550에서, 압축 블록에 대해 전통적인 압축 해제가 수행될 수 있다. 그러한 압축 해제 프로세스의 일례가 도 4에 도시된다. 560에서, 이러한 전통적인 압축 해제로부터 생성된 압축 해제 블록이 캐시 내에서 키(즉, 해시 출력)에 의해 지정되는 위치에 로딩될 수 있다. 이것은 캐시를 채우기 위한 메커니즘으로 사용될 수 있다는 점에 유의한다. 키가 캐시 내에서 빈 위치로 유도되는 경우, 540에서의 검증 시도는 실패할 것이며, 550에서 전통적인 압축 해제가 수행될 수 있다. 이어서, 560에서, 이러한 압축 해제의 결과가 캐시 내에 로딩될 수 있다.

540에서 결정되는 바와 같이, 키에 의해 지정된 위치의 데이터가 유효한 것으로 입증되면, 570에서, 이 데이터는 최초 수신된 압축 블록에 대응하는 압축 해제 이미지 데이터의 블록으로서 판독될 수 있다.

압축 해제 프로세스는 도 6에 데이터 흐름도로서 도시된다. 압축 블록(610)이 해싱 로직(620)에 입력될 수 있다. 전술한 바와 같이, 이 분야의 통상의 기술자들에게 알려진 임의의 결정론적 해시 동작이 이용될 수 있다. 일 실시예에서, 해시 동작은 모듈러 감소를 포함할 수 있다. 예를 들어, 압축 블록의 이진 값은 255의 모듈러스로 감소될 수 있다. 대안 실시예들에서, 상이한 모듈러스를 이용하는 모듈러 감소가 적용될 수 있다. 해싱 로직(620)의 결과적인 출력은 키(630)일 수 있다.

키(630)는 캐시(635) 내의 특정 위치에 액세스하는 데 사용될 수 있다. 이 위치에 저장된 캐싱된 데이터는 압축 해제된 데이터(640i)일 수 있다. 이러한 캐싱된 데이터는 검증 로직(650)에 입력될 수 있다. 전술한 바와 같이, 이 모듈의 처리는 압축 해제 데이터(640i)가 압축 블록(610)의 엔드포인트 컬러 필드들에서 표현되는 것들과 매칭되는 엔드포인트 컬러들을 포함하는지에 관한 결정을 포함할 수 있다. 이러한 검사는 비트 단위의 비교로서 구현될 수 있다. 이러한 유효성 검사에 통과하면, 캐시 판독 로직(660)이 인에이블될 수 있고, 압축 해제 데이터(640i)가 캐시로부터 판독되고, 압축 블록(610)에 대응하는 압축 해제 이미지 데이터(670)의 블록으로서 처리될 수 있다.

로직(650)의 유효성 검사가 실패하는 경우, 압축 해제 로직(680)이 인에이블될 수 있다. 이어서, 압축 블록(610)이 압축 해제 로직(680)에 의해 압축 해제되어, 압축 해제 데이터(690)를 산출할 수 있다. 일 실시예에서, 압축 해제 로직(680)은 도 4에 도시된 것과 같은 프로세스를 포함할 수 있다. 이어서, 결과적인 압축 해제 데이터(690)가 캐시(635)의 키(630)에 의해 식별된 위치에 기록될 수 있다.

해싱 로직(620), 검증 로직(650), 캐시 판독 로직(660) 및 압축 해제 로직(680) 중 임의의 로직은 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의 조합에서 구현될 수 있다. 캐시(635)는 이 분야의 통상의 기술자들에게 알려진 임의의 데이터 구조 및 메모리 매체를 이용하여 구현될 수 있다. 캐시(635)는 예를 들어 랜덤 액세스 메모리 내에 저장되거나, 임의의 공지된 휘발성 또는 비휘발성 메모리 기술, 예로서 하드 디스크, 플래시 메모리 등에서 구현될 수 있다.

위의 설명은 오리지널 압축 프로세스가 2개의 엔드포인트 컬러와 함께, 소정의 블록에 대한 컬러 공간 내의 단일 라인 세그먼트를 이용하는 것으로 가정한다는 점에 유의한다. 대안 시스템들에서는, 둘 이상의 라인 세그먼트가 사용될 수 있으며, 따라서 추가의 엔드포인트 컬러가 존재할 수 있다. 그러한 경우, 압축은 추가 데이터를 이용하여 특정 라인 세그먼트를 지정하는 코딩을 필요로 할 것이다. 이 경우, 압축 해제는 또한 일 실시예에 따르면 캐시를 채울 압축 해제 데이터를 생성할 때 이러한 추가 데이터의 수용을 필요로 할 것이다. 더욱이, 압축은 컬러 공간 내의 라인 세그먼트들의 사용으로 한정되지 않을 수 있다. 이 분야의 통상의 기술자들이 이해하듯이, 컬러들을 코딩하고 압축을 달성하는 목적을 위해 대안적인 기하 구조들이 사용될 수 있다.

다양한 실시예들은 하드웨어 요소들, 소프트웨어 요소들 또는 이들 양자의 조합을 이용하여 구현될 수 있다. 하드웨어 요소들의 예들은 프로세서, 마이크로프로세서, 회로, 회로 요소(예로서, 트랜지스터, 저항기, 커패시터, 인덕터 등), 집적 회로, 주문형 집적 회로(ASIC), 프로그래밍 가능 로직 장치(PLD), 디지털 신호 프로세서(DSP), 필드 프로그래머블 게이트 어레이(FPGA), 로직 게이트, 레지스터, 반도체 장치, 칩, 마이크로칩, 칩셋 등을 포함할 수 있다. 소프트웨어의 예들은 소프트웨어 컴포넌트, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 기계 프로그램, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 함수, 메소드, 프로시져, 소프트웨어 인터페이스, 애플리케이션 프로그램 인터페이스(API), 명령어 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 워드, 값, 심벌 또는 이들의 임의 조합을 포함할 수 있다. 실시예를 하드웨어 요소들 및/또는 소프트웨어 요소들을 이용하여 구현할지에 대한 결정은 원하는 계산 레이트, 전력 레벨, 열 허용 한계, 처리 사이클 예산, 입력 데이터 레이트, 출력 데이터 레이트, 메모리 자원, 데이터 버스 속도 및 다른 설계 또는 성능 제약들과 같은 임의 수의 팩터에 따라 변할 수 있다.

본 명세서에서 사용되는 바와 같은 소프트웨어라는 용어는 컴퓨터 시스템으로 하여금 본 명세서에서 개시되는 하나 이상의 특징 및/또는 특징들의 조합들을 수행하게 하기 위한 컴퓨터 프로그램 로직을 저장하는 컴퓨터 판독 가능 매체를 포함하는 컴퓨터 프로그램 제품을 지칭할 수 있다. 컴퓨터 판독 가능 매체는 일시적이거나 비일시적일 수 있다. 일시적 컴퓨터 판독 가능 매체의 일례는 무선 주파수를 통해 또는 전기 도체를 통해, 근거리 또는 광역 네트워크를 통해, 또는 인터넷과 같은 네트워크를 통해 전송되는 디지털 신호일 수 있다. 비일시적 컴퓨터 판독 가능 매체의 일례는 컴팩트 디스크, 플래시 메모리, 랜덤 액세스 메모리, 판독 전용 메모리, 또는 다른 데이터 저장 장치일 수 있다.

일 실시예에 따른, 그러한 소프트웨어 펌웨어를 실행하는 컴퓨팅 시스템이 도 7에 도시된다. 도시된 시스템(700)은 하나 이상의 프로세서(들)(720)를 포함할 수 있으며, 메모리(710)의 본체를 더 포함할 수 있다. 프로세서(들)(720)는 하나 이상의 중앙 처리 유닛 코어 및/또는 하나 이상의 GPU 코어를 갖는 그래픽 처리 유닛을 포함할 수 있다. 메모리(710)는 컴퓨터 프로그램 로직(740)을 저장할 수 있는 하나 이상의 컴퓨터 판독 가능 매체를 포함할 수 있다. 메모리(710)는 예를 들어 하드 디스크 및 드라이브, 컴팩트 디스크와 같은 이동식 매체, 판독 전용 메모리(ROM) 또는 랜덤 액세스 메모리(RAM) 장치 또는 이들의 소정 조합으로서 구현될 수 있다. 프로세서(들)(730)와 메모리(710)는 이 분야의 통상의 기술자에게 알려진 여러 기술 중 임의의 기술, 예를 들어 버스를 이용하여 통신할 수 있다. 메모리(710)에 포함된 컴퓨터 프로그램 로직(740)은 프로세서(들)(730)에 의해 판독 및 실행될 수 있다. 공동으로 I/O(760)로서 도시된 하나 이상의 I/O 포트 및/또는 I/O 장치도 프로세서(들)(730) 및 메모리(710)에 접속될 수 있다.

컴퓨터 프로그램 로직(740)은 전술한 처리를 구현하는 로직을 포함할 수 있다. 도시된 실시예에서, 컴퓨터 프로그램 로직(740)은 도 6의 해싱 로직(620)을 구현할 수 있는 해싱 모듈(720)을 포함할 수 있다. 전술한 바와 같이, 해싱 프로세스는 이 분야의 통상의 기술자들에게 알려진 임의의 결정론적 해싱 프로세스, 예컨대 모듈러 감소일 수 있다. 컴퓨터 로직(740)은 도 6의 검증 로직(650)을 구현할 수 있는 검증 모듈(750)도 포함할 수 있다. 전술한 바와 같이, 이 모듈에 의해 구현되는 프로세스는 압축 블록으로부터의 엔드포인트 컬러들과 해시 출력에 의해 액세스되는 압축 해제 데이터 내의 엔드포인트 컬러들의 비교를 포함할 수 있다. 대안 실시예들에서, 압축 해제 로직(680) 및/또는 캐시 판독 로직(660)도 메모리(710) 내의 컴퓨터 프로그램 로직으로서 부분적으로 또는 완전히 구현될 수 있다. 게다가, 메모리(710)는 (도 7에 도시되지 않은) 캐시(635)와 같은 캐시도 포함할 수 있다.

본 명세서에서 설명되는 시스템은 더 큰 정보 시스템의 일부일 수 있다. 도 8은 후자의 일 실시예를 나타낸다. 실시예들에서, 시스템(800)은 미디어 시스템일 수 있지만, 시스템(800)은 이와 관련하여 한정되지 않는다. 예를 들어, 시스템(800)은 개인용 컴퓨터(PC), 랩탑 컴퓨터, 울트라-랩탑 컴퓨터, 태블릿, 터치 패드, 휴대용 컴퓨터, 핸드헬드 컴퓨터, 팜탑 컴퓨터, 개인용 휴대 단말기(PDA), 셀룰러 전화, 콤비네이션 셀룰러 전화/PDA, 텔레비전, 스마트 장치(예로서, 스마트폰, 스마트 태블릿 또는 스마트 텔레비전), 이동 인터넷 장치(MID), 메시징 장치, 데이터 통신 장치 등 내에 통합될 수 있다.

실시예들에서, 시스템(800)은 디스플레이(820)에 결합되는 플랫폼(802)을 포함한다. 플랫폼(802)은 콘텐츠 서비스 장치(들)(830) 또는 콘텐츠 배포 장치(들)(840) 또는 다른 유사한 콘텐츠 소스들과 같은 콘텐츠 장치로부터 콘텐츠를 수신할 수 있다. 하나 이상의 내비게이션 특징들을 포함하는 내비게이션 제어기(850)를 이용하여, 예를 들어 플랫폼(802) 및/또는 디스플레이(820)와 상호작용할 수 있다. 이러한 컴포넌트들 각각은 아래에서 더 상세히 설명된다.

실시예들에서, 플랫폼(802)은 칩셋(805), 프로세서(810), 메모리(812), 저장 장치(814), 그래픽 서브시스템(815), 애플리케이션들(816) 및/또는 라디오(818)의 임의 조합을 포함할 수 있다. 칩셋(805)은 프로세서(810), 메모리(812), 저장 장치(814), 그래픽 서브시스템(815), 애플리케이션(816) 및/또는 라디오(818) 사이의 통신을 제공할 수 있다. 예를 들어, 칩셋(805)은 저장 장치(814)와의 통신을 제공할 수 있는 저장 장치 어댑터(도시되지 않음)를 포함할 수 있다.

프로세서(810)는 복합 명령어 세트 컴퓨터(CISC) 또는 축소 명령어 세트 컴퓨터(RISC) 프로세서들, x86 명령어 세트 호환 프로세서들, 멀티코어 또는 임의의 다른 마이크로프로세서 또는 중앙 처리 유닛(CPU)으로서 구현될 수 있다. 실시예들에서, 프로세서(810)는 듀얼코어 프로세서(들), 듀얼코어 이동 프로세서(들) 등을 포함할 수 있다. 일 실시예에서, 프로세서(810)는 도 7의 프로세서(730)에 대응할 수 있다.

메모리(812)는 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM) 또는 정적 RAM(SRAM)과 같은, 그러나 이에 한정되지 않는 휘발성 메모리 장치로서 구현될 수 있다.

저장 장치(814)는 자기 디스크 드라이브, 광 디스크 드라이브, 테이프 드라이브, 내부 저장 장치, 부착형 저장 장치, 플래시 메모리, 배터리 백업형 SDRAM(동기 DRAM) 및/또는 네트워크 액세스 가능 저장 장치와 같은, 그러나 이에 한정되지 않는 비휘발성 저장 장치로서 구현될 수 있다. 실시예들에서, 저장 장치(814)는 예를 들어 다수의 하드 드라이브가 포함될 때 귀중한 디지털 미디어에 대한 저장 성능 향상 보호를 증대시키기 위한 기술을 포함할 수 있다.

그래픽 서브시스템(815)은 표시할 스틸 또는 비디오와 같은 이미지들의 처리를 수행할 수 있다. 그래픽 서브시스템(815)은 예를 들어 그래픽 처리 유닛(GPU) 또는 비주얼 처리 유닛(VPU)일 수 있다. 아날로그 또는 디지털 인터페이스를 이용하여 그래픽 서브시스템(815)과 디스플레이(820)를 통신 결합할 수 있다. 예를 들어, 인터페이스는 임의의 고화질 멀티미디어 인터페이스, 디스플레이 포트, 무선 HDMI 및/또는 무선 HD 준수 기술들일 수 있다. 그래픽 서브시스템(815)은 프로세서(810) 또는 칩셋(805) 내에 통합될 수 있다. 그래픽 서브시스템(815)은 칩셋(805)에 통신 결합되는 독립형 카드일 수 있다.

본 명세서에서 설명되는 그래픽 및/또는 비디오 처리 기술들은 다양한 하드웨어 아키텍처들에서 구현될 수 있다. 예를 들어, 그래픽 및/또는 비디오 기능이 칩셋 내에 통합될 수 있다. 대안으로서, 개별 그래픽 및/또는 비디오 프로세서가 사용될 수 있다. 또 다른 실시예로서, 그래픽 및/또는 비디오 기능들은 멀티코어 프로세서를 포함하는 범용 프로세서에 의해 구현될 수 있다. 추가 실시예에서, 기능들은 소비자 전자 장치에서 구현될 수 있다.

라디오(818)는 다양한 적절한 무선 통신 기술들을 이용하여 신호들을 송신 및 수신할 수 있는 하나 이상의 라디오를 포함할 수 있다. 그러한 기술들은 하나 이상의 무선 네트워크를 통한 통신을 포함할 수 있다. 예시적인 무선 네트워크들은 무선 근거리 네트워크(WLAN), 무선 개인 영역 네트워크(WPAN), 무선 도시 영역 네트워크(WMAN), 셀룰러 네트워크 및 위성 네트워크를 포함한다(그러나 이에 한정되지 않는다). 그러한 네트워크들을 통한 통신에서, 라디오(818)는 임의 버전의 하나 이상의 적용 가능 표준에 따라 동작할 수 있다.

실시예들에서, 디스플레이(820)는 임의의 모니터 또는 디스플레이를 포함할 수 있다. 디스플레이(820)는 예를 들어 컴퓨터 디스플레이 스크린, 터치스크린 디스플레이, 비디오 모니터, 텔레비전형 장치 및/또는 텔레비전을 포함할 수 있다. 디스플레이(820)는 디지털 및/또는 아날로그일 수 있다. 실시예들에서, 디스플레이(820)는 홀로그래픽 디스플레이일 수 있다. 또한, 디스플레이(820)는 시각적 투영을 수신할 수 있는 투명한 표면일 수 있다. 그러한 투영들은 다양한 형태의 정보, 이미지 및/또는 객체를 전달할 수 있다. 예를 들어, 그러한 투영들은 이동 증대 현실(MAR) 애플리케이션을 위한 비주얼 오버레이일 수 있다. 하나 이상의 소프트웨어 애플리케이션(816)의 제어하에, 플랫폼(802)은 디스플레이(820) 상에 사용자 인터페이스(822)를 표시할 수 있다.

실시예들에서, 콘텐츠 서비스 장치(들)(830)는 임의의 국내, 국제 및/또는 독립 서비스에 의해 호스트되며, 따라서 예를 들어 인터넷을 통해 플랫폼(802)에 의해 액세스될 수 있다. 콘텐츠 서비스 장치(들)(830)는 플랫폼(802) 및/또는 디스플레이(820)에 결합될 수 있다. 플랫폼(802) 및/또는 콘텐츠 서비스 장치(들)(830)는 네트워크(860)에 결합되어, 네트워크(860)로 그리고 네트워크로부터 미디어 정보를 통신(예로서, 송신 및/또는 수신)할 수 있다. 콘텐츠 배포 장치(들)(840)도 플랫폼(802) 및/또는 디스플레이(820)에 결합될 수 있다.

실시예들에서, 콘텐츠 서비스 장치(들)(830)는 케이블 텔레비전 박스, 개인용 컴퓨터, 네트워크, 전화, 디지털 정보 및/또는 콘텐츠를 배포할 수 있는 인터넷 인에이블드 장치들 또는 기구, 및 콘텐츠 제공자들과 플랫폼(802) 및/또는 디스플레이(820) 사이에서 네트워크(860)를 통해 또는 직접 콘텐츠를 단방향 또는 양방향으로 통신할 수 있는 임의의 다른 유사한 장치를 포함할 수 있다. 콘텐츠는 네트워크(860)를 통해 시스템(800) 내의 컴포넌트들 중 어느 하나 및 콘텐츠 제공자로 그리고 그들로부터 단방향 및/또는 양방향으로 통신될 수 있다. 콘텐츠의 예들은 예를 들어 비디오, 음악, 의료 및 게임 정보 등을 포함하는 임의의 미디어 정보를 포함할 수 있다.

콘텐츠 서비스 장치(들)(830)는 미디어 정보, 디지털 정보 및/또는 다른 콘텐츠를 포함하는 케이블 텔레비전 프로그래밍과 같은 콘텐츠를 수신한다. 콘텐츠 제공자들의 예들은 임의의 케이블 또는 위성 텔레비전 또는 라디오 또는 인터넷 콘텐츠 제공자들을 포함할 수 있다. 제공되는 예들은 본 발명의 실시예들을 한정하는 것을 의도하지 않는다.

실시예들에서, 플랫폼(802)은 하나 이상의 내비게이션 특징을 갖는 내비게이션 제어기(850)로부터 제어 신호들을 수신할 수 있다. 제어기(850)의 내비게이션 특징들은 예를 들어 사용자 인터페이스(822)와 상호작용하는 데 사용될 수 있다. 실시예들에서, 내비게이션 제어기(850)는 사용자가 공간(예로서, 연속적이고 다차원적인) 데이터를 컴퓨터에 입력하는 것을 가능하게 하는 컴퓨터 하드웨어 컴포넌트(구체적으로 사람 인터페이스 장치)일 수 있는 포인팅 장치일 수 있다. 그래픽 사용자 인터페이스(GUI), 및 텔레비전 및 모니터와 같은 많은 시스템은 사용자가 물리 제스처들을 이용하여 컴퓨터 또는 텔레비전을 제어하고 그들에 데이터를 제공하는 것을 가능하게 한다.

제어기(850)의 내비게이션 특징들의 이동들은 디스플레이 상에 표시된 포인터, 커서, 포커스 링 또는 기타 시각적 지시자들의 이동들에 의해 디스플레이(예로서, 디스플레이(820)) 상에 반영될 수 있다. 예를 들어, 소프트웨어 애플리케이션들(816)의 제어하에, 내비게이션 제어기(850) 상에 위치하는 내비게이션 특징들은 예를 들어 사용자 인터페이스(822) 상에 표시된 가상 내비게이션 특징들에 맵핑될 수 있다. 실시예들에서, 제어기(850)는 개별 컴포넌트가 아니라 플랫폼(802) 및/또는 디스플레이(820) 내에 통합될 수 있다. 그러나, 실시예들은 그러한 요소들로 또는 본 명세서에서 도시되거나 설명되는 상황으로 한정되지 않는다.

실시예들에서, 드라이버들(도시되지 않음)은 예를 들어 가능할 때 사용자들이 최초 부트-업 후에 버튼의 터치를 이용하여 텔레비전과 같은 플랫폼(802)을 즉시 턴온 및 턴오프하는 것을 가능하게 하기 위한 기술을 포함할 수 있다. 프로그램 로직은 플랫폼(802)으로 하여금 플랫폼이 턴 "오프"될 때 콘텐츠를 미디어 어댑터들 또는 다른 콘텐츠 서비스 장치(들)(830) 또는 콘텐츠 배포 장치(들)(840)로 스트리밍하는 것을 가능하게 할 수 있다. 게다가, 칩셋(805)은 예를 들어 5.1 서라운드 사운드 오디오 및/또는 고화질 7.1 서라운드 사운드 오디오에 대한 하드웨어 및/또는 소프트웨어 지원을 포함할 수 있다. 드라이버들은 통합 그래픽 플랫폼을 위한 그래픽 드라이버를 포함할 수 있다. 실시예들에서, 그래픽 드라이버는 주변 컴포넌트 상호접속(PCI) 익스프레스 그래픽 카드를 포함할 수 있다.

다양한 실시예들에서, 시스템(800) 내에 도시된 컴포넌트들 중 어느 하나 이상이 통합될 수 있다. 예를 들어, 플랫폼(802)과 콘텐츠 서비스 장치(들)(830)가 통합될 수 있거나, 플랫폼(802)과 콘텐츠 배포 장치(들)(840)가 통합될 수 있거나, 플랫폼(802), 콘텐츠 서비스 장치(들)(830) 및 콘텐츠 배포 장치(들)(840)가 통합될 수 있다. 다양한 실시예들에서, 플랫폼(802)과 디스플레이(820)는 통합 유닛일 수 있다. 예를 들어, 디스플레이(820)와 콘텐츠 서비스 장치(들)(830)가 통합될 수 있거나, 디스플레이(820)와 콘텐츠 배포 장치(들)(840)가 통합될 수 있다. 이러한 예들은 본 발명을 한정하는 것을 의도하지 않는다.

다양한 실시예들에서, 시스템(800)은 무선 시스템, 유선 시스템 또는 이들 양자의 조합으로서 구현될 수 있다. 무선 시스템으로 구현될 때, 시스템(800)은 하나 이상의 안테나, 송신기, 수신기, 송수신기, 증폭기, 필터, 제어 로직 등과 같이 무선 공유 매체를 통해 통신하기에 적합한 컴포넌트들 및 인터페이스들을 포함할 수 있다. 무선 공유 매체의 일례는 RF 스펙트럼 등과 같은 무선 스펙트럼의 부분들을 포함할 수 있다. 유선 시스템으로 구현될 때, 시스템(800)은 입출력(I/O) 어댑터, I/O 어댑터를 대응하는 유선 통신 매체와 접속하기 위한 물리 커넥터, 네트워크 인터페이스 카드(NIC), 디스크 제어기, 비디오 제어기, 오디오 제어기 등과 같이 유선 통신 매체를 통해 통신하기에 적합한 컴포넌트들 및 인터페이스들을 포함할 수 있다. 유선 통신 매체의 예들은 와이어, 케이블, 금속 도선, 인쇄 회로 보드(PCB), 백플레인, 스위치 패브릭, 반도체 재료, 트위스트 쌍 와이어, 동축 케이블, 광섬유 등을 포함할 수 있다.

플랫폼(802)은 정보를 통신하기 위한 하나 이상의 로직 또는 물리 채널을 설정할 수 있다. 정보는 미디어 정보 및 제어 정보를 포함할 수 있다. 미디어 정보는 사용자를 향하는 콘텐츠를 표현하는 임의의 데이터를 지칭할 수 있다. 콘텐츠의 예들은 예를 들어 음성 대화, 화상 회의로부터의 데이터, 스트리밍 비디오, 전자 메일("이메일") 메시지, 음성 메일 메시지, 영숫자 심벌, 그래픽, 이미지, 비디오, 텍스트 등을 포함할 수 있다. 음성 대화로부터의 데이터는 예를 들어 이야기 정보, 침묵 기간, 배경 잡음, 안정 잡음, 톤 등일 수 있다. 제어 정보는 자동화된 시스템을 향하는 명령, 명령어 또는 제어 워드를 표현하는 임의의 데이터를 지칭할 수 있다. 예를 들어, 제어 정보는 미디어 정보를 시스템을 통해 라우팅하거나, 사전 결정된 방식으로 미디어 정보를 처리하도록 노드에 지시하는 데 사용될 수 있다. 그러나, 실시예들은 그러한 요소들로 또는 도 8에 도시되거나 설명된 상황으로 한정되지 않는다.

전술한 바와 같이, 시스템(800)은 다양한 물리 스타일 또는 폼 팩터로 구현될 수 있다. 도 9는 시스템(800)이 구현될 수 있는 작은 폼 팩터의 장치(900)의 실시예들을 나타낸다. 실시예들에서, 예를 들어, 장치(900)는 무선 능력을 갖는 이동 컴퓨팅 장치로서 구현될 수 있다. 이동 컴퓨팅 장치는 예를 들어 처리 시스템 및 이동 전원 또는 전력 공급 장치, 예를 들어 하나 이상의 배터리를 갖는 임의의 장치를 지칭할 수 있다.

전술한 바와 같이, 이동 컴퓨팅 장치의 예들은 개인용 컴퓨터(PC), 랩탑 컴퓨터, 울트라-랩탑 컴퓨터, 태블릿, 터치 패드, 휴대용 컴퓨터, 핸드헬드 컴퓨터, 팜탑 컴퓨터, 개인용 휴대 단말기(PDA), 셀룰러 전화, 콤비네이션 셀룰러 전화/PDA, 텔레비전, 스마트 장치(예로서, 스마트폰, 스마트 태블릿 또는 스마트 텔레비전), 이동 인터넷 장치(MID), 메시징 장치, 데이터 통신 장치 등을 포함할 수 있다.

이동 컴퓨팅 장치의 예들은 또한 사람이 착용하도록 배열되는 컴퓨터들을 포함할 수 있다. 실시예들에서, 예를 들어, 이동 컴퓨팅 장치는 컴퓨터 애플리케이션들은 물론, 음성 통신 및/또는 데이터 통신을 실행할 수 있는 스마트폰으로서 구현될 수 있다. 일부 실시예들은 예를 들어 스마트폰으로서 구현되는 이동 컴퓨팅 장치와 관련하여 설명될 수 있지만, 다른 실시예들은 다른 무선 이동 컴퓨팅 장치를 이용하여 구현될 수도 있다는 것을 알 것이다. 실시예들은 이와 관련하여 한정되지 않는다.

도 9에 도시된 바와 같이, 장치(900)는 하우징(902), 디스플레이(904), 입출력(I/O) 장치(906) 및 안테나(908)를 포함할 수 있다. 장치(900)는 또한 내비게이션 특징들(912)을 포함할 수 있다. 디스플레이(904)는 이동 컴퓨팅 장치에 적합한 정보를 표시하기 위한 임의의 적절한 디스플레이 유닛을 포함할 수 있다. I/O 장치(906)는 이동 컴퓨팅 장치에 정보를 입력하기 위한 임의의 적절한 I/O 장치를 포함할 수 있다. I/O 장치(906)의 예들은 영숫자 키보드, 숫자 키패드, 터치 패드, 입력 키들, 버튼들, 스위치들, 로커 스위치들, 마이크들, 스피커들, 음성 인식 장치 및 소프트웨어 등을 포함할 수 있다. 정보는 또한 마이크를 통해 장치(900)에 입력될 수 있다. 그러한 정보는 음성 인식 장치에 의해 디지털화될 수 있다. 실시예들은 이와 관련하여 한정되지 않는다.

적어도 일 실시예의 하나 이상의 양태는 기계에 의해 판독될 때 기계로 하여금 본 명세서에서 설명되는 기술들을 수행하기 위한 로직을 생성하게 하는, 프로세서 내의 다양한 로직을 표현하는 기계 판독 가능 매체 상에 저장되는 대표적인 명령어들에 의해 구현될 수 있다. "IP 코어들"로 알려진 그러한 표현들은 유형의 기계 판독 가능 매체에 저장되고, 다양한 고객 또는 제조 설비들에 공급되어, 로직 또는 프로세서를 실제로 생성하는 제조 기계들 내에 로딩될 수 있다.

본 명세서에서는 기능들, 특징들 및 이들의 관계들을 설명하는 기능 빌딩 블록들을 이용하여 방법들 및 시스템들이 개시된다. 본 명세서에서 이러한 기능 빌딩 블록들의 경계들 중 적어도 일부는 설명의 편의를 위해 임의의 정의되었다. 지정된 기능들 및 이들의 관계들이 적절히 수행되는 한, 대안적인 경계들이 정의될 수 있다.

본 명세서에서 다양한 실시예들이 개시되지만, 이들은 한정이 아니라 예시적으로 제공되었다는 것을 이해해야 한다. 본 명세서에서 개시되는 방법들 및 시스템들의 사상 및 범위로부터 벗어나지 않고서 형태 및 상세에서 다양한 변경들이 이루어질 수 있다는 것이 관련 분야의 기술자들에게 명백할 것이다. 따라서, 청구항들의 넓이 및 범위는 본 명세서에서 개시되는 임의의 실시예에 의해 한정되지 않아야 한다.

Claims (23)

  1. 이미지 데이터를 압축 해제하기 위한 방법으로서,
    이미지 데이터의 압축 블록을 수신하는 단계 - 상기 블록은 이미지의 적어도 일부를 나타냄 -;
    상기 압축 블록을 해싱(hashing)하여 키를 획득하는 단계;
    상기 키를 인덱스로서 사용하여 캐시 내에 캐싱된 데이터에 액세스하는 단계; 및
    상기 압축 블록 내의 엔드포인트 컬러들이 상기 키에 의해 인덱싱되는 상기 캐싱된 데이터 내의 대응하는 필드들과 매칭되는지를 결정하는 상기 캐싱된 데이터의 유효성 검사를 수행하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 캐싱된 데이터가 상기 유효성 검사를 통과할 때, 상기 캐싱된 데이터를, 이미지 데이터의 상기 압축 블록에 대응하는 압축 해제 이미지 데이터로서 사용하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 캐싱된 데이터가 상기 유효성 검사에 실패할 때, 상기 압축 블록을 압축 해제하여 상기 압축 블록에 대응하는 이미지 데이터를 생성하는 단계를 더 포함하는 방법.
  4. 제3항에 있어서,
    상기 압축 해제 후에, 상기 이미지 데이터를 상기 캐시에서 상기 키에 대응하는 위치에 기록하는 단계를 더 포함하는 방법.
  5. 제1항에 있어서,
    상기 해싱은 상기 압축 블록의 모듈러 감소(modular reduction)를 포함하는 방법.
  6. 제5항에 있어서,
    상기 모듈러 감소의 모듈러스(modulus)는 255인 방법.
  7. 삭제
  8. 삭제
  9. 이미지 데이터를 압축 해제하기 위한 시스템으로서,
    프로세서;
    이미지 데이터의 압축 블록을 수신하기 위한 로직 - 상기 블록은 이미지의 적어도 일부를 나타냄 -;
    상기 압축 블록을 해싱하여 키를 획득하기 위한 로직;
    상기 키를 캐시 내에 캐싱된 데이터에 대한 인덱스로서 사용하여 상기 캐싱된 데이터에 액세스하기 위한 로직; 및
    상기 압축 블록 내의 엔드포인트 컬러들이 상기 키에 의해 인덱싱되는 상기 캐싱된 데이터 내의 대응하는 필드들과 매칭되는지를 결정하는 상기 캐싱된 데이터의 유효성 검사를 수행하기 위한 로직
    을 포함하는 시스템.
  10. 제9항에 있어서,
    상기 캐싱된 데이터가 상기 유효성 검사를 통과할 때, 상기 캐싱된 데이터를 이미지 데이터의 상기 압축 블록에 대응하는 압축 해제 이미지 데이터로서 사용하기 위한 로직을 더 포함하는 시스템.
  11. 제9항에 있어서,
    상기 캐싱된 데이터가 상기 유효성 검사에 실패할 때, 상기 압축 블록을 압축 해제하여 상기 압축 블록에 대응하는 이미지 데이터를 생성하기 위한 로직을 더 포함하는 시스템.
  12. 제11항에 있어서,
    상기 압축 해제 후에, 상기 이미지 데이터를 상기 캐시에서 상기 키에 대응하는 위치에 기록하기 위한 로직을 더 포함하는 시스템.
  13. 제9항에 있어서,
    상기 해싱은 상기 압축 블록의 모듈러 감소를 포함하는 시스템.
  14. 제13항에 있어서,
    상기 모듈러 감소의 모듈러스는 255인 시스템.
  15. 삭제
  16. 이미지 데이터를 압축 해제하기 위한 시스템으로서,
    이미지 데이터의 압축 블록을 수신하는 수단 - 상기 블록은 이미지의 적어도 일부를 나타냄 -;
    상기 압축 블록을 해싱하여 키를 획득하는 수단;
    상기 키를 인덱스로서 사용하여 캐시 내에 캐싱된 데이터에 액세스하는 수단; 및
    상기 압축 블록 내의 엔드포인트 컬러들이 상기 키에 의해 인덱싱되는 상기 캐싱된 데이터 내의 대응하는 필드들과 매칭되는지를 결정하는 상기 캐싱된 데이터의 유효성 검사를 수행하는 수단
    을 포함하는 시스템.
  17. 제16항에 있어서,
    상기 캐싱된 데이터가 상기 유효성 검사를 통과할 때, 상기 캐싱된 데이터를 이미지 데이터의 상기 압축 블록에 대응하는 압축 해제 이미지 데이터로서 사용하는 수단을 더 포함하는 시스템.
  18. 제16항에 있어서,
    상기 캐싱된 데이터가 상기 유효성 검사에 실패할 때, 상기 압축 블록을 압축 해제하여 상기 압축 블록에 대응하는 이미지 데이터를 생성하는 수단을 더 포함하는 시스템.
  19. 제18항에 있어서,
    상기 압축 해제 후에 상기 이미지 데이터를 상기 캐시에서 상기 키에 대응하는 위치에 기록하는 수단을 더 포함하는 시스템.
  20. 제16항에 있어서,
    상기 해싱하는 수단은 상기 압축 블록의 모듈러 감소를 위한 수단을 포함하는 시스템.
  21. 제20항에 있어서,
    상기 모듈러 감소의 모듈러스는 255인 시스템.
  22. 삭제
  23. 컴퓨팅 디바이스 상에서 실행되는 것에 응답하여, 상기 컴퓨팅 디바이스가 제1항 내지 제6항 중 어느 한 항에 따른 방법을 수행하게 하는 복수의 명령어를 포함하는 적어도 하나의 머신 판독 가능 저장 매체.
KR1020147026677A 2012-03-29 2013-03-25 블록 압축 이미지들의 압축 해제를 위한 시스템, 방법, 및 컴퓨터 프로그램 제품 KR101634134B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/434,030 2012-03-29
US13/434,030 US8687902B2 (en) 2012-03-29 2012-03-29 System, method, and computer program product for decompression of block compressed images
PCT/US2013/033718 WO2013148582A1 (en) 2012-03-29 2013-03-25 System, method, and computer program product for decompression of block compressed images

Publications (2)

Publication Number Publication Date
KR20140130196A KR20140130196A (ko) 2014-11-07
KR101634134B1 true KR101634134B1 (ko) 2016-06-28

Family

ID=49235128

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147026677A KR101634134B1 (ko) 2012-03-29 2013-03-25 블록 압축 이미지들의 압축 해제를 위한 시스템, 방법, 및 컴퓨터 프로그램 제품

Country Status (6)

Country Link
US (2) US8687902B2 (ko)
EP (1) EP2831838B1 (ko)
JP (1) JP6005834B2 (ko)
KR (1) KR101634134B1 (ko)
CN (1) CN104205161B (ko)
WO (1) WO2013148582A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9990298B2 (en) * 2014-05-12 2018-06-05 Western Digital Technologies, Inc System and method for caching solid state device read request results
US20150379682A1 (en) * 2014-06-27 2015-12-31 Samsung Electronics Co., Ltd. Vertex attribute data compression with random access using hardware
US9434381B2 (en) * 2014-10-31 2016-09-06 Fca Us Llc Collision avoidance method including determining height of an object fixed to a vehicle
US9916251B2 (en) 2014-12-01 2018-03-13 Samsung Electronics Co., Ltd. Display driving apparatus and cache managing method thereof
CN104778689B (zh) * 2015-03-30 2018-01-05 广西师范大学 一种基于均值二次图像和局部保持投影的图像摘要方法
US9457632B1 (en) * 2015-06-11 2016-10-04 Fca Us Llc Collision avoidance method including determining height of an object fixed to a vehicle
CN106952211B (zh) * 2016-01-06 2020-03-31 河南理工大学 基于特征点投影的紧凑型图像哈希方法
CN106056525B (zh) * 2016-05-25 2019-07-26 金陵科技学院 融合波段感知特征的多光谱遥感影像认证方法及系统
US10242654B2 (en) 2017-01-25 2019-03-26 Microsoft Technology Licensing, Llc No miss cache structure for real-time image transformations
US9978118B1 (en) 2017-01-25 2018-05-22 Microsoft Technology Licensing, Llc No miss cache structure for real-time image transformations with data compression
US10410349B2 (en) 2017-03-27 2019-09-10 Microsoft Technology Licensing, Llc Selective application of reprojection processing on layer sub-regions for optimizing late stage reprojection power
US10514753B2 (en) 2017-03-27 2019-12-24 Microsoft Technology Licensing, Llc Selectively applying reprojection processing to multi-layer scenes for optimizing late stage reprojection power
US20180293758A1 (en) * 2017-04-08 2018-10-11 Intel Corporation Low rank matrix compression
US10255891B2 (en) 2017-04-12 2019-04-09 Microsoft Technology Licensing, Llc No miss cache structure for real-time image transformations with multiple LSR processing engines

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4652996A (en) * 1982-09-27 1987-03-24 Data General Corporation Encachment apparatus using multiple frames and responding to a key to obtain data therefrom
US5047853A (en) * 1990-03-16 1991-09-10 Apple Computer, Inc. Method for compresssing and decompressing color video data that uses luminance partitioning
US5450562A (en) * 1992-10-19 1995-09-12 Hewlett-Packard Company Cache-based data compression/decompression
US5414772A (en) * 1993-06-23 1995-05-09 Gemplus Development System for improving the digital signature algorithm
FR2733379B1 (fr) * 1995-04-20 1997-06-20 Gemplus Card Int Procede de generation de signatures electroniques, notamment pour cartes a puces
US5943421A (en) * 1995-09-11 1999-08-24 Norand Corporation Processor having compression and encryption circuitry
US5898779A (en) * 1997-04-14 1999-04-27 Eastman Kodak Company Photograhic system with selected area image authentication
US6151025A (en) 1997-05-07 2000-11-21 Hewlett-Packard Company Method and apparatus for complexity reduction on two-dimensional convolutions for image processing
JPH11196392A (ja) * 1998-01-06 1999-07-21 Ntt Data Corp 電子画像の改竄検出方法及び改竄検出システム
US7627761B2 (en) * 2002-07-22 2009-12-01 Xerox Corporation System for authentication of JPEG image data
US7360093B2 (en) * 2002-07-22 2008-04-15 Xerox Corporation System and method for authentication of JPEG image data
US20060047967A1 (en) 2004-08-31 2006-03-02 Akhan Mehmet B Method and system for data authentication for use with computer systems
US7577848B2 (en) * 2005-01-18 2009-08-18 Microsoft Corporation Systems and methods for validating executable file integrity using partial image hashes
JP4642697B2 (ja) * 2006-05-24 2011-03-02 Necディスプレイソリューションズ株式会社 画像キャッシュメモリを有する画像表示装置
KR20080026772A (ko) 2006-09-21 2008-03-26 인하대학교 산학협력단 Lempel-Ziv 압축 방법의 복원 속도를 보완한압축 방법
US8316238B2 (en) * 2006-10-25 2012-11-20 Verizon Patent And Licensing Inc. Method and system for providing image processing to track digital information
EP1921858A1 (en) * 2006-11-09 2008-05-14 Thomson Licensing Method and device for managing a transmission of keys
JP2009130726A (ja) * 2007-11-26 2009-06-11 Kyocera Mita Corp 画像読取装置、及び画像形成装置
US20090249222A1 (en) * 2008-03-25 2009-10-01 Square Products Corporation System and method for simultaneous media presentation
GB2459662B (en) * 2008-04-29 2012-05-23 Cryptomathic Ltd Secure data cache
US8261067B2 (en) 2008-08-07 2012-09-04 Asteris, Inc. Devices, methods, and systems for sending and receiving case study files
CN101499097B (zh) * 2009-03-16 2011-03-23 浙江工商大学 基于散列表的数据流频繁模式内存压缩存储方法

Also Published As

Publication number Publication date
WO2013148582A1 (en) 2013-10-03
US8687902B2 (en) 2014-04-01
JP6005834B2 (ja) 2016-10-12
CN104205161B (zh) 2017-07-14
EP2831838A1 (en) 2015-02-04
EP2831838A4 (en) 2015-12-02
KR20140130196A (ko) 2014-11-07
US20140177959A1 (en) 2014-06-26
CN104205161A (zh) 2014-12-10
US20130259394A1 (en) 2013-10-03
JP2015518301A (ja) 2015-06-25
EP2831838B1 (en) 2018-04-25

Similar Documents

Publication Publication Date Title
JP6746645B2 (ja) 共有仮想メモリ
US20190182487A1 (en) Backward-compatible video capture and distribution
JP6391077B2 (ja) コンピューティングデバイス、コンピューティングシステム、方法、データ処理システム、非一時的な機械可読媒体、およびプログラム
TWI528787B (zh) 用於管理視訊串流之技術
US9686504B2 (en) Remote resource access interface apparatus
JP2016105641A (ja) カメラによるオーディオ空間化
JP2016505968A (ja) 深度マッピング及び光源合成を用いる3d画像の向上のための装置
TWI538479B (zh) 交叉頻道殘差預測之技術
JP6495377B2 (ja) 選択的ラスタライゼーション
US20190066735A1 (en) Embedding Thumbnail Information Into Video Streams
KR101685866B1 (ko) 가변 해상도 깊이 표현
CN103959200B (zh) 自适应图像子系统功率和性能管理
CN103416002B (zh) 视频位流中的渲染定向信息
CN104541308A (zh) 使用多边形的3d网格和对应纹理对图像进行编码
US10257510B2 (en) Media encoding using changed regions
KR101731335B1 (ko) 스케일러블 비디오 코딩의 층 간 예측을 위한 리파이닝 필터
US10404769B2 (en) Remote desktop video streaming alpha-channel
TW201507440A (zh) 用於視窗內容編碼之視窗圖與基於標準的漸進式編解碼器
CN107079192B (zh) 使用压缩视频流的动态屏幕上显示
JP5639144B2 (ja) 動き補償と画面リフレッシュにおける電力消費を削減するdram圧縮スキームに係る方法、システム、および、メモリーコントローラー
US20150278981A1 (en) Avoiding Sending Unchanged Regions to Display
US20140139524A1 (en) Depth Buffering
TWI566202B (zh) 於中段排序架構中利用訊框對訊框之同調性的技術(二)
TWI514314B (zh) 丟棄過濾器分接點之紋理位址模式
CN104782124B (zh) 利用编码器硬件对视频内容进行预处理

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

Year of fee payment: 4