KR101843942B1 - 데이터 압축 방법, 데이터 처리 자동 수행 방법, 비인과적 동조 가능한 압축 회로, 영상 데이터 처리 시스템, 영상 데이터 처리 시스템에서의 기계 구현 방법, 및 영상 데이터 처리 시스템에서의 기계 지원 동조 방법 - Google Patents

데이터 압축 방법, 데이터 처리 자동 수행 방법, 비인과적 동조 가능한 압축 회로, 영상 데이터 처리 시스템, 영상 데이터 처리 시스템에서의 기계 구현 방법, 및 영상 데이터 처리 시스템에서의 기계 지원 동조 방법 Download PDF

Info

Publication number
KR101843942B1
KR101843942B1 KR1020120032061A KR20120032061A KR101843942B1 KR 101843942 B1 KR101843942 B1 KR 101843942B1 KR 1020120032061 A KR1020120032061 A KR 1020120032061A KR 20120032061 A KR20120032061 A KR 20120032061A KR 101843942 B1 KR101843942 B1 KR 101843942B1
Authority
KR
South Korea
Prior art keywords
bit
signal
data
delete delete
value
Prior art date
Application number
KR1020120032061A
Other languages
English (en)
Other versions
KR20120128090A (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 KR20120128090A publication Critical patent/KR20120128090A/ko
Application granted granted Critical
Publication of KR101843942B1 publication Critical patent/KR101843942B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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
    • H04N19/426Methods 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 using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]

Abstract

고정밀 영상 데이터(예를 들어, 서브픽셀 당 12비트수)의 비선형적 압축에는 대규모의 룩업 테이블(LUT)이 필요하다. 구간별 선형적 압축 구간을 이용해 압축을 수행하는, 보다 작고 동조 가능한 회로가 개시된다. 구간별 선형적 데이터 압축 과정은, 복수의 사용된 고정밀 값 지점들이 하나의 대응되는 저정밀 데이터 값 지점으로 중복되는 것을 최소화하도록 구성된다. 압축된 데이터는, 합성 영상이 어셈블링 되는 프레임 버퍼의 다른 영상 데이터에 인접하게 저장될 수 있는, 비전형 표시 화면 상에 표시하기 위해 처리되는 영상 정의 데이터를 포함한다.

Description

데이터 압축 방법, 데이터 처리 자동 수행 방법, 비인과적 동조 가능한 압축 회로, 영상 데이터 처리 시스템, 영상 데이터 처리 시스템에서의 기계 구현 방법, 및 영상 데이터 처리 시스템에서의 기계 지원 동조 방법{Data compression method, Automatically implementing method, Non-casual and tunable compression circuit, Image data processing system, Machine-implemented method, and Machine-assisted tuning method}
본 발명은 처리 전후에 자동화된 재양자화(re-quantization) 과정을 거치는 디지털 인코딩되며 값을 표현하는 데이터의 자동 처리 기술에 관한 것이다. 보다 구체적으로는, 데이터 처리 과정간에 이뤄지는 데이터의 재양자화를 통해, 값을 표현하는 데이터가, 저정밀 인코딩 도메인(low precision encoding domain; LowPeRD, 유일하게 표현되는 값마다 적은 비트수를 사용하는 도메인)으로부터 고정밀 표현 도메인(higher precision representative domain; HiPvRD, 유일하게 표현되는 값마다 많은 비트 수를 사용하는 도메인)으로 변환(이하, 업매핑, up-mapping이라 한다)되어, 업매핑된 데이터가 고정밀 표현 도메인(HiPvRD)에서 변환적으로 처리(예를 들어, 덧셈, 크기 측정 등)되며, 상기 변환적 처리의 결과 데이터가 저정밀 인코딩 도메인(LowPeRD)으로 압축(이하, 다운매핑, down-mapping이라 한다)되는 데이터의 자동 처리 기술에 관한 것이다.
본 발명은 보다 구체적으로는, 데이터 복원(업매핑) 및 데이터 압축(다운매핑) 동작 중 적어도 어느 하나의 동작을 자동으로 수행하기 위하여, 회로의 크기 및 복잡도를 감소시키는 방법에 관한 것이다.
본 발명은 보다 구체적으로는, 작은 양자화 에러도 허용되지 않는 데이터 처리 과정에 적용할 수 있는 데이터 자동 처리 기술에 관한 것이다. 예를 들면, 미세한 양자화 에러도 두드러지게 나타날 수 있는 낮은 공간 주파수를 가진 영상 부분을 포함하는 표시 영상을 표현하는 데이터를 업매핑, 다운매핑, 및 중간 처리하는 데이터 자동 처리 기술에 관한 것이다. 본 발명은, 후술하는 바와 같이, 비디오 데이터의 반복된 작업 흐름 처리에 사용될 수 있다.
이상에 언급된 고정밀 표현 도메인(HiPvRD, High Precision Value-Representative Domain) 및 저정밀 인코딩 도메인(LowPeRD, Low Precision encoded Representation Domain)의 의미를 보다 자세히 살펴보기에 앞서, 영상 처리 기술분야에 관련된 기술용어 및 감마 함수에 대하여 확인할 필요가 있다.
다만, 본 배경기술 항목에 기재되는 설명은, 본 발명을 보다 용이하게 이해시키기 위한 것으로서, 본 발명의 출원 당시 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 결코 인지하지 못하거나, 착상하지 못하는 기술내용을 포함할 수 있다. 즉, 본 배경기술 항목에 기재된 기술내용이라고 하여, 곧바로 선행기술로 인정될 수는 없음을 미리 밝혀둔다.
영상 처리 기술 분야에서는 감마 전환 이나 감마 보정의 용어를 쉽게 접할 수 있다. 그러나 안타깝게도, 디지털-아날로그 영상 신호의 자동 처리 기술분야에서 고도로 숙련된 기술자조차 이들 용어를 혼용하거나 잘못 사용하여, 혼동을 일으키는 경우가 많다. 이렇게 혼동이 발생하게 된 원인은 이 분야의 기술이 발전해온 역사로부터 비롯된다. 대개 구형 TV에 사용되던 음극선관(CRT)에서는 그리드 전극에 입력되는 아날로그 전압과, 양극을 띠는 스크린 상의 인광물질로부터 방출되는 광선의 휘도(Y) 또는 광도의 사이에 비선형 특성이 나타났다. 이러한 비선형 관계는 Y=K×Vgamma 와 같이 단순한 멱승 함수 형태로 표현되었다. 이때, K는 변환 상수를, V는 그리드 전극에 입력되는 아날로그 전압을, Y는 어느 한 지점의 인광물질(백색광 또는 다른 색광을 방출하는 인광물질)에서 방출되는 빛의 휘도를 나타내며, 감마(gamma 또는 λ)는 각 지점의 인광물질마다 서로 다른 값이 대응될 수 있는 상수를 나타낸다. 거듭된 연구를 통해, 영상 처리 기술분야의 기술자들은 λ=2.2의 감마 값을 일반적인 준-표준 값(quasi-standard value)으로 받아들이기 시작했다.
그러나 이러한 준-표준 값은 그리 오래 가지 못했는데, 새로운 음극선관(CRT)이나, 또는 그보다 나중에 개발된 LCD(Liquid Crystal Display), 플라즈마 TV 등 다른 영상 표시 장치에서는, 아날로그 입력 전압과 휘도 간의 비선형 관계가 전통적인 표준 특성(Y=V2.2)을 벗어났기 때문이었다. 다만 그와 동시에, 여전히 남아 있던 종래의 CRT 표시 장치에서는 출력단에서 표준 특성(Y=V2.2)을 따를 필요가 있었다. 이렇게, 현대적인 영상 처리 기술과 과거의 전형적인 CRT 표시 기술이 혼재함으로 인해, 일부 기술자들은 LCD 등 새로운 표시 장치에 대하여 특정한 보정용 전기 신호를 인가하기 시작했다. 즉, LCD와 같은 새로운 표시 장치가 이상적인 표준 특성(Y=V2.2)에서 벗어날 때, 기술자들은 보정 회로를 삽입함으로써, LCD 장치로 하여금 여전히 준-표준 특성을 만족하도록 만들었고, 이렇게 회로에 변화를 준 것을 일컬어 감마 보정이라 불렀다. 그리고 이때부터, 감마라는 용어가 둘 이상의 의미로 혼용되기 시작했다. 즉, 하나는 전형적인 CRT의 특성을, 다른 하나는 LCD 등 새로운 표시 장치로 하여금 CRT가 나타내는 준-표준 특성을 따르도록 보정하기 위해 표시 장치에 삽입하는 회로를 뜻하는 것을 의미했다.
그러나 감마를 혼동하게 된 원인은 이에 그치지 않는다. 우연한 계기로, 인간의 시각계(visual system) 또한 광도(light intensity)에 따라 비선형 반응을 보이는 것이 밝혀졌는데, 이때, 단일 광원(예를 들면, CRT 상의 어느 하나의 인광물질)에 대해 사람이 인지하는 빛의 밝기(Bp, perceived Brightness)는, 대략 CRT 에서의 전압-휘도 관계(Y=Vgamma)의 역으로 나타나는 것으로 알려졌다. 따라서, 사람이 시각계에 의해 감지하는 빛의 밝기(Bp)는 Bp=Y(1/gamma), 특히, CRT에서의 준-표준 값인 λ=2.2를 대입할 경우 Bp= Y(0.455)의 관계를 만족하게 된다. 기술자들은 종종, CRT의 특성이 아닌, 인간의 시각계와 관련된 이 식(Bp= Y(0.455))을 역 감마 전환 방정식(reverse gamma conversion equation)이라 부른다. 그러므로, 영상 표시 기술 문헌에서 감마라는 용어가 등장할 때에는, 그것이 CRT의 특성에 기반한 원래의 감마 함수인지, 사람의 눈에 관계된 역 감마 전환 함수인지, 또는 준-표준 감마 함수에 맞추어 LCD 등과 같은 새로운 표시 장치의 특성을 보정하는 것인지 명확히 구분할 필요가 있다. 이는, 감마가 함수(funtion), 전환(conversion), 보정(correction), 변환(transformation), 인코딩(encoding), 디코딩(decoding) 등의 용어와 함께 사용될 때에도 마찬가지다.
데이터의 재양자화(requantization) 변환이 모두 감마 변환일 필요는 없다. 따라서 이하에서는 혼동을 피하기 위해, 감마와 관련된 매핑 동작을 포함할 수 있는 신호 매핑 동작에 대하여, 종종, 표현 다운-매핑(R-DowMing, Representation down-mapping) 또는 표현 업-매핑(R-UpMing, Representation up-mapping)과 같은 용어를 사용할 것이다.
용어 혼동이 이것으로 모두 해결되면 다행이겠지만, 디지털화 과정을 고려하면 더 명확히 할 내용들이 있다. 그것은 바로, 디지털화 과정에서 문제되는 양자화 정밀도(quantization precision) 및 양자화 에러(quantization error)이다. 어느 특정한 값(예를 들어, 11112 = Fhex = 15base10)을 표현하는 디지털 신호의 산술 처리(덧셈, 크기 측정, 등) 과정 동안에는 종종, 물리적 파라미터(예를 들어, 휘도 등)의 유일한 값에 대응하면서도, 상기 표현된 물리량(예를 들어, 표시 장치의 적색 화소에서 출사되는 휘도 Y)의 크기를 산술적으로 나타내는 디지털 인코딩된 신호를 사용할 필요가 있다. 그러나 이와 달리, 물리적인 대응 부분의 크기를 산술적으로 나타내지 못하는 디지털 인코딩된 신호도 있는데, 그 일례로서, 200볼트 전압을 11012에, 500볼트 전압을 11002에 대응시키는 이진 인코딩 신호를 생각할 수 있다. 이 경우, 산술적으로는 11012= 13base10 및 11002= 12base10로서, 500 볼트에서 200 볼트를 빼면, 300볼트를 표현하는 데이터가 대응해야 하겠지만, 예로 든 가상적 이진 인코딩 도메인에서는, 의도된 결과에 무관하게 1Fhex가 출력될 수 있다(예를 들어, 500V-200V는 음수로 나타날 수도 있다). 이처럼, 산술적으로 선형화되지 않은(not-arithmetically-linearized) 인코딩 도메인에서의 덧셈, 뺄셈, 곱셈 등은 무의미한 결과를 만들어내므로, 디지털 인코딩된 표현들이 산술적으로 처리되어야 할 경우에는 이를 피해야 한다.
이러한 이유로 인해, 영상 데이터의 자동화된 처리(예를 들어, 산술 덧셈 등)가 이뤄지는 경우, 먼저 데이터를 산술적으로 선형화된 표현 도메인으로 매핑하는 것이 일반적이다. 이때 보통, 산술적으로 선형화된 표현 도메인으로의 매핑은, 저정밀 인코딩 도메인(LowPeRD)으로부터 고정밀 표현 도메인(HiPvRD)으로 매핑되는, 업매핑이다. 이러한 업매핑 과정은 이하에서 종종, 입력측 감마 전환(input side gamma conversion)으로서 참조될 수 있다. 이와 같이 산술적으로 선형화된 표현 도메인으로의 업매핑을 수행하는 이유는, 인간의 시각계가, 표시 장치에 인가되는 전압, 전류와 같은 전기적 신호의 크기를 표현하는 서로 다르게 인코딩된 크기에 반응하는 것이 아니라, 표시 장치에서 출력되는 빛의 합해진 휘도에 반응하기 때문이다. 따라서, 표시 장치에 있어서, 이미지 블렌딩(image blending), 색상 변환(hue shifting) 등과 같은, 전기적으로 매개되는 다양한 효과들이, 영상 처리 시스템의 내에서 신호로 정의되는 영상들에 적용될 경우, 조작된 신호들이 물리적인 반응 양(R, G, B 색상대의 광도 또는 휘도)의 크기에 선형적으로 대응하도록 매핑할 필요가 있다. 다시 말해, 그 산술적인 합이, 대응되는 휘도들 또는 대응되는 다른 물리적 결과의 크기들의 합으로 인코딩되는 것과 같이, 산술적으로 더해질 수 있는 디지털 인코딩 신호(DES, digitally encoded signal)를 사용할 필요가 있다. 즉, k로 명명된 물리량을 표현하는 대응되는 디지털 인코딩 신호 DESk에 대하여, Y3=Y1+Y2 이면, DESY3=DESY1+DESY2 도 마찬가지로 성립해야 한다.
한편, 변환적 처리(덧셈, 크기 측정 등) 동안에는 선형화된 업매핑된 데이터가 바람직하게 사용되나, 이들의 신호를 저장하거나 전송하는 경우에는, 업매핑된 데이터 신호들이 상대적으로 더 많은 메모리와 더 넓은 전송 대역폭을 차지하므로 오히려 번거롭다. 따라서 이를 반복적으로 처리하는 과정은, (1) 입력 데이터를 압축(다운매핑)된 형태로 저장하는 단계; (2) 상기 저장된 입력 데이터를 산술적으로 선형화된 인코딩 도메인으로 자동적으로 업매핑하는 단계; (3) 상기 선형적 인코딩된 데이터를 처리하는 단계; (4) 상기 단계 (2)에서 사용된 업매핑 함수의 정확한 역함수를 사용하여, 상기 처리된 결과 데이터를 자동적으로 다운매핑하는 단계; (5) 상기 다운매핑된 결과 데이터를 저장 및/또는 전송하는 단계; 및 (6) 상기 저장 및/또는 전송된 결과 데이터를, 다시 상기 단계 (1)의 입력 데이터로 하는 단계를 포함하며, 주어진 어플리케이션 환경에 따라 적절하게, 상기 단계 (2) 내지 (6)이 반복될 수 있다. 이하에서는, 상기 단계 (1) 내지 단계 (6)의 반복을 종종, 작업 흐름 처리로 명명하였다.
한편, 상기 단계 (3)에서는, 상기 단계 (2)에서 사용된 업매핑 함수의 정확한 역함수가 필요하다는 점에 주목해야 한다. 통상적으로 상기 단계 (2)의 업매핑 함수의 정확한 역함수를 사용하는 단계 (3)의 자동화된 다운매핑 동작에서는 대개, 비교적 크고 복잡한 회로(예를 들어, 다운매핑 LUT 등)가 필요했다. 고정밀 표현 도메인(HiPvRD)에서 사용되는 정밀도(precision level)를 예기치 않게 변경하는 경우, 이러한 회로를 수정하는 것은 어렵다. 이러한 문제점들은 이하에서 더욱 상세하게 설명된다. 또한, 이하에서는 이에 대한 유일한 해결 방안들이 개시된다. 나아가, 이하에서는 본 발명을 잘 이해하기 위하여 그와 관련성 있는, 다운매핑 및 업매핑된 영상 데이터에 대한 인간 시각계의 반응이 언급된다.
본 발명의 기술적 과제는 데이터를 구간별 선형적으로 압축하는 데이터 자동 처리 방법을 제공하는 것이다.
본 발명의 다른 기술적 과제는 데이터의 구간별 선형적 압축 기능을 수행하되, 크기가 작고, 변경 가능한 회로를 제공하는 것이다.
상기한 본 발명의 목적을 달성하기 위한 일 실시예에 따른 데이터 압축 방법은, 데이터 압축 모듈의 입력 신호로서 가상의 고정밀 수직선 상에서 사용되지 않는 고정밀 수 지점에 인접하게 위치하는 사용된 고정밀 수 지점에 대응되는 제1 셋트를 표현하는 보다 넓은 비트 폭의 다중 비트 신호의 제1 셋트를, 상기 사용된 고정밀 수 지점에 대응되는 제1 셋트와 상기 사용된 고정밀 수 지점이 동일하지만 보다 좁은 비트 폭의 다중 비트 신호의 제2 셋트로 전환하는 데이터 압축 방법에 있어서, 상기 보다 넓은 비트 폭의 다중 비트 신호가 고정밀 수 영역의 미리 설정되고 선형변환함수를 갖는 하나 또는 그 이상의 그룹의 영역 내에 속하는지 판단하여, 상기 영역을 식별하는 단계; 및 상기 식별된 영역에서 상기 선형변환함수를 식별하고, 상기 식별된 선형변환함수를 이용하여, 상기 보다 넓은 비트 폭의 다중 비트 신호의 상기 고정밀 수 지점을 표현하는 보다 좁은 비트 폭의 대응되는 다중 비트 신호를 생성하는 단계를 포함하되, 각각의 상기 선형변환함수는, 동조 가능한 선형변환 기울기를 식별하는 계수와, 시작점 또는 끝점을 식별하는 계수를 가지며, 상기 계수들은, 둘 이상의 사용된 고정밀 수 지점들이, 보다 좁은 비트 폭의 다중 비트 신호로 정의되는 하나의 동일한 저정밀 수 지점으로 압축되는 것을 최소화하도록 설정될 수 있다.
본 발명의 일 실시예에 있어서, 상기 식별된 선형 변환 함수를 이용하는 단계는, 상기 식별된 영역에서 미리 설정된 크기변환 값을 식별하여, 상기 보다 넓은 비트 폭의 다중 비트 신호의 값 및 상기 식별된 크기변환 값의 차이를 표현하는 차 신호(difference signal)를 생성하는 단계; 상기 식별된 영역에서 미리 설정된 기울기 값을 식별하여, 상기 차 신호의 값 및 상기 식별된 기울기 값의 곱으로 표현되는 곱 신호를 생성하는 단계; 및 상기 식별된 영역에서 미리 설정된 교점 값 또는 교점등가 값을 식별하여, 상기 곱 신호의 값과 상기 식별된 교점 값 또는 교점등가 값의 합으로 표현되는 구간별 변환 신호를 생성하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 선형변환함수를 상기 보다 넓은 비트 폭의 다중 비트 신호의 신호당 비트 수보다 더 적은 수의 입력 단말을 포함한 작은 룩업 테이블(LUT)에 의해 정의되는 비선형 변환함수로 선택적 및 자동적으로 대체하며, 상기 작은 룩업 테이블(LUT)을 사용하여 상기 보다 넓은 비트 폭의 다중 비트 신호의 고정밀 수 지점을 표현하는 상기 대응되는 보다 좁은 비트 폭의 다중 비트 신호를 생성하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 보다 넓은 비트 폭의 다중 비트 신호는 10 또는 그 이상의 비트 수를 갖고, 상기 보다 좁은 비트 폭의 다중 비트 신호는 1 이상 및 8 이하의 비트 수를 가지며, 상기 작은 룩업 테이블의 입력 단말의 수는 1 이상 및 8 이하일 수 있다.
본 발명의 일 실시예에 있어서, 상기 보다 넓은 비트 폭의 다중 비트 신호는 12 또는 그 이상의 비트 수를 가지며, 상기 작은 룩업 테이블의 입력 단말의 수는 1 이상 및 6 이하일 수 있다.
본 발명의 일 실시예에 있어서, 상기 보다 넓은 비트 폭의 다중 비트 신호는 10 또는 그 이상의 비트 수를 가지며, 상기 보다 좁은 비트 폭의 다중 비트 신호는 1 이상 및 8 이하일 수 있다.
본 발명의 일 실시예에 있어서, 상기 보다 넓은 비트 폭의 다중 비트 신호는 12 또는 그 이상의 비트 수를 가질 수 있다.
본 발명의 일 실시예에 있어서, 상기 선형변환함수는, 상기 보다 좁은 비트 폭의 다중 비트 신호와 동일한 비트 폭의 영상 데이터 신호가 저장되는 영상 데이터 저장 파일에 미리 설정된 출력측 감마 함수의 구간별 선형 근사를 정의하기 위하여 결합될 수 있다.
본 발명의 일 실시예에 있어서, 상기 생성된 대응되는 보다 좁은 비트 폭의 다중 비트 신호를 영상 표시 시스템의 프레임 버퍼에 저장하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 보다 넓은 비트 폭의 다중 비트 신호는, 서브픽셀 렌더링 과정을 수행하여 상기 보다 넓은 비트 폭의 다중 비트 신호를 생성하는 영상 데이터 전처리부로부터 수신될 수 있다.
상기한 본 발명의 다른 목적을 달성하기 위한 일 실시예에 따른 데이터 처리 자동 수행 방법은, 데이터 워드를 개별적인 어드레스가 가능한(individually addressable) 제1 비트수로 구성된 데이터 아이템으로 저장하는 프레임 버퍼의 어셈블링 데이터를 표시 시스템에 합성 영상으로 표현하는 데이터 처리 자동 수행 방법에 있어서, 타겟 표시 장치 상에 동시에 표시될 서로 다른 오브젝트를 표현하는 영상 데이터 신호들을 수신하는 단계; 물리적인 크기 값을 선형적으로 표현하는데 사용되고 상기 제1 비트수보다 더 큰 제2 비트수로 구성되며 적어도 하나의 상기 수신된 영상 데이터 신호들의 서브셋트로부터 유도되는 데이터 아이템의 신호들을 처리하는 제1 전처리 과정을 사용하여, 상기 적어도 하나의 수신된 영상 데이터 신호들의 서브셋트를 전처리하는 단계; 비인과적 동조 가능한 압축 알고리즘을 사용하여, 상기 데이터 아이템당 제2 비트수의 전처리된 데이터 신호들을 인코딩함으로써, 상기 전처리된 영상 데이터 신호들이 상기 데이터 아이템당 제1 비트수의 전처리된 데이터 신호들로 대응하여 인코딩되도록 압축하는 단계; 상기 인코딩된 전처리된 영상 데이터 신호들을 상기 프레임 버퍼에 저장하는 단계; 및 상기 프레임 버퍼에서 상기 제1 전처리 과정에 의해 전처리된 상기 데이터 신호들에 인접한 어드레스에 저장될 상기 데이터 아이템당 제1 비트수의, 상기 제1 전처리 과정에 의해 전처리되지 않는 다른 영상 데이터 신호를 입력받는 단계를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 전처리된 데이터 신호들을 압축하는 단계는, 각각의 인코딩될 전처리된 데이터 신호가 고정밀 수 영역의 미리 설정되고 선형변환함수를 갖는 어느 하나의 그룹의 영역 내에 속하는지 판단하여, 상기 영역을 식별하는 단계; 및 상기 식별된 영역에서 상기 선형변환함수를 식별하고, 상기 식별된 선형변환함수를 이용하여, 보다 넓은 비트 폭의 상기 전처리된 데이터 신호의 상기 고정밀 수 지점을 표현하는 상기 제1 비트수의 대응되는 인코딩된 전처리된 데이터 신호를 생성하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 선형 변환 함수는, 압축되는 동안, 둘 이상의 사용된 고정밀 수 지점들이, 대응하는 인코딩된 전처리된 데이터 신호로 정의되는 하나의 동일한 저정밀 수 지점으로 중복되는 것을 방지하기 위한 기울기 및 영역끝 지점들(end-of-range points)을 가질 수 있다.
본 발명의 일 실시예에 있어서, 상기 식별된 선형 변환 함수를 이용하는 단계는, 상기 식별된 영역에서 미리 설정된 변환 값을 식별하여, 상기 인코딩될 전처리된 데이터 신호의 값과 상기 변환 값의 차이를 표현하는 차 신호(difference signal)를 생성하는 단계; 상기 식별된 영역에서 미리 설정된 기울기 값을 식별하여, 상기 차 신호의 값 및 상기 식별된 기울기 값의 곱으로 표현되는 곱 신호를 생성하는 단계; 및 상기 식별된 영역에서 미리 설정된 교점 값을 식별하여, 상기 곱 신호의 값과 상기 식별된 교점 값의 합으로 표현되는 구간별 변환 신호를 생성하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 데이터 아이템당 제1 비트 수는 1 이상 및 8 이하이고, 상기 데이터 아이템당 제2 비트 수는 10 또는 그 이상일 수 있다.
본 발명의 일 실시예에 있어서, 상기 데이터 아이템당 제1 비트 수는, 상기 데이터 아이템당 제2 비트 수에 비해 적어도 2비트 더 작을 수 있다.
본 발명의 일 실시예에 있어서, 상기 데이터 아이템당 제1 비트 수는, 상기 데이터 아이템당 제2 비트 수에 비해 적어도 4비트 더 작을 수 있다.
본 발명의 일 실시예에 있어서, 상기 데이터 아이템당 제1 비트 수는, 상기 데이터 아이템당 제2 비트 수에 비해 적어도 4비트 더 작을 수 있다.
상기한 본 발명의 또 다른 목적을 달성하기 위한 일 실시예에 따른 비인과적 동조 가능한 압축 회로는, 가상의 고정밀 수직선 상에서 사용되지 않는 고정밀 수 지점에 인접하게 위치하는 사용된 고정밀 수 지점에 대응되는 제1 셋트를 표현하는 보다 넓은 비트 폭의 다중 비트 신호의 제1 셋트를, 상기 사용된 고정밀 수 지점에 대응되는 제1 셋트와 상기 사용된 고정밀 수 지점이 동일하지만 보다 좁은 비트 폭의 다중 비트 신호의 제2 셋트로 전환하는 비인과적 동조 가능한 압축 회로에 있어서, 상기 보다 넓은 비트 폭의 다중 비트 신호가 고정밀 수 영역의 미리 설정되고 선형변환함수를 갖는 어느 하나의 그룹의 영역 내에 속하는지 판단하여, 상기 영역을 식별하는 영역 식별 신호를 생성하는 동조 가능한 영역 판단부; 및 상기 영역 식별 신호에 반응하고, 상기 영역에서의 선형변환함수를 상기 보다 넓은 비트 폭의 다중 비트 신호에 인가하여, 상기 보다 넓은 비트 폭의 다중 비트 신호의 상기 고정밀 수 지점을 표현하는 보다 좁은 비트 폭의 대응하는 다중 비트 신호를 생성하는 선형 변환부를 포함하며, 상기 선형 변환부에 의해 인가되는 상기 선형변환함수는, 압축되는 동안 둘 이상의 상기 사용된 고정밀 수 지점들이 상기 선형 변환부에 의해 생성된 보다 좁은 비트 폭의 다중 비트 신호로 정의되는 하나의 동일한 저정밀 수 지점으로 중복되는 것을 최소화하기 위해 설정되는, 기울기를 표현하는 계수 및 하나 이상의 영역끝 지점들(end-of-range points)을 표현하는 계수를 가질 수 있다.
본 발명의 일 실시예에 있어서, 상기 선형 변환부는, 복수의 미리 설정된 변환 값들을 저장하는 제1 스토리지(storage), 및 상기 제1 스토리지에 연결되어 상기 식별된 영역에서 상기 저장된 변환 값을 식별하도록 설정된 제1 식별부를 포함하는 제1 룩업 구조; 상기 제1 룩업 구조에 연결되어, 상기 제1 룩업 구조에 의해 식별된 상기 변환 값 및 상기 보다 넓은 비트폭의 다중 비트 신호의 값의 차이를 표현하는 차 신호(difference signal)를 생성하는 제1 결합부; 상기 식별된 영역에서 미리 설정된 복수의 기울기 값들을 저장하는 제2 스토리지, 및 상기 제2 스토리지에 연결되어 상기 식별된 영역에서 상기 저장된 기울기 값을 식별하도록 설정된 제2 식별부를 포함하는 제2 룩업 구조; 상기 제2 룩업 구조에 연결되어, 상기 제2 룩업 구조에 의해 식별된 기울기 값 및 상기 차 신호의 곱을 표현하는 곱 신호를 생성하는 제2 결합부; 상기 식별된 영역에서 미리 설정된 복수의 교점 값들을 저장하는 제3 스토리지, 및 상기 제3 스토리지에 연결되어 상기 식별된 영역에서 상기 저장된 교점 값을 식별하도록 설정된 제3 식별부를 포함하는 제3 룩업 구조; 및 상기 제3 룩업 구조에 연결되어, 상기 곱 신호의 값 및 상기 식별된 교점 값의 합을 표현하는 구간별 변환 신호를 생성하는 제3 결합부를 포함할 수 있다.
상기한 본 발명의 또 다른 목적을 달성하기 위한 일 실시예에 따른 영상 데이터 처리 시스템은, 저정밀 영상 정의 신호들 및 대응하는 데이터 값을 정의하는데 상기 저정밀 영상 정의 신호들에 사용되는 비트수보다 더 큰 비트수를 사용하는 고정밀 영상 정의 신호들을 포함하는, 영상 정의 신호들을 사용하는 영상 데이터 처리 시스템에 있어서, 상기 고정밀 영상 정의 신호들의 제1 그룹을 처리하여, 사용된 고정밀 값을 정의하는 상기 고정밀 영상 정의 신호들의 대응하는 제2 그룹을 생성하는 제1 영상 데이터 처리부; 상기 제1 영상 데이터 처리부에 연결되어, 상기 제1 영상 데이터 처리부에 의해 생성된 상기 고정밀 영상 정의 신호들의 제2 그룹을, 상기 사용된 고정밀 데이터 값들 및 대응하는 저정밀 데이터 값들에 대한 실질적 일대일 매핑에 기초하여, 저정밀 데이터 신호들의 대응하는 제3 셋트로 전환하는 구간별 선형적 동조 가능한 데이터 압축 모듈; 상기 구간별 선형적 데이터 압축 모듈에 의해 생성된 상기 저정밀 데이터 신호들의 제3 셋트를 수신하며 저정밀 데이터 신호들의 제4 셋트로서 상기 수신된 저정밀 데이터 신호들의 전부 또는 서브셋트를 출력하도록 연결되는 데이터 스토리지 및 전송 장치; 및 상기 데이터 스토리지 및 전송 장치에 연결되어 상기 저정밀 데이터 신호들의 제4 셋트를 수신하며, 상기 저정밀 데이터 신호들의 제4 셋트를 실질적 일대일 매핑에 기초하여 고정밀 데이터 신호들의 대응되는 제5 셋트로 전환하도록 구성된 데이터 복원 모듈을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 데이터 스토리지 및 전송 장치는 상기 저정밀 영상 정의 신호들에 사용된 워드당 비트수를 갖는 표시 가능한 데이터 워드를 저장하며, 상기 제1 데이터 처리부가 아닌 다른 데이터 처리부에 반응하여 기록될 수 있는 프레임 버퍼를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 데이터 복원 모듈은 구간별 선형적 데이터 복원 모듈을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 구간별 선형적 데이터 압축 모듈은 하나 또는 그 이상의 동조 가능한 구분점을 가질 수 있다.
본 발명의 일 실시예에 있어서, 상기 구간별 선형적 데이터 압축 모듈은 구분점 저장 메모리; 기울기 저장 룩업 테이블; 교점 저장 룩업 테이블; 및 상기 구분점 저장 메모리에 연결되며, 고정밀 데이터 신호를 수신하도록 연결되어, 상기 수신된 고정밀 데이터 신호가 상기 구분점 저장 메모리에 저장된 구분점 신호들로 정의되는 복수의 값 영역들 중 어느 영역에 속하는지 판단하는 영역 판단 회로를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 구간별 선형적 데이터 압축 모듈은, 입력으로서, 상기 영역 판단 회로에서 수신된 상기 고정밀 데이터 신호, 및 상기 영역 판단 회로로부터 출력된 영역 지시 신호(range-indicating signal)에 반응하여 상기 구분점 저장 메모리에서 출력되는 오프셋 신호를 수신하도록 연결되며, 상기 오프셋 신호 및 상기 수신된 고정밀 데이터 신호의 차이를 표현하는 변환 값 신호를 생성하도록 구성되는 감산부; 입력으로서, 상기 변환 값 신호, 및 상기 영역 지시 신호에 반응하여 상기 기울기 저장 룩업 테이블에서 출력되는 기울기 신호를 수신하도록 연결되며, 상기 변환 값 신호 및 상기 기울기 신호의 곱을 표현하는 곱 신호를 생성하는 곱셈부; 및 입력으로서, 상기 곱 신호, 및 상기 영역 지시 신호에 반응하여 상기 교점 저장 룩업 테이블에서 출력되는 교점 신호를 수신하도록 연결되며, 상기 곱 신호 및 상기 교점 신호의 합을 표현하는 결과 신호를 생성하는 가산부를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 변환 값 신호에 사용된 비트수는 상기 영역 판단 회로에서 수신된 상기 고정밀 데이터 신호에 사용된 비트수보다 작을 수 있다.
본 발명의 일 실시예에 있어서, 상기 영역 지시 신호에 반응하여 상기 구분점 저장 메모리에서 출력되는 상기 오프셋 신호는 상기 구분점 저장 메모리에 저장된 구분점들 중 어느 하나일 수 있다.
본 발명의 일 실시예에 있어서, 상기 제1 영상 데이터 처리부는 비RGB 스트라이프(non-RGB stripe) 포맷으로 배열된 서브픽셀들을 가진 표시 화면에 직접적으로 표시될 수 있는 표시 가능한 영상 데이터를 생성하기 위한 영역 리샘플링 동작을 수행할 수 있다.
본 발명의 일 실시예에 있어서, 상기 비RGB 스트라이프 포맷은 펜타일(Pentile) 포맷일 수 있다.
본 발명의 일 실시예에 있어서, 상기 비RGB 스트라이프 포맷은 RGBW 포맷일 수 있다.
본 발명의 일 실시예에 있어서, 상기 데이터 복원 모듈에서 출력된 고정밀 데이터 신호들을 처리하는 제2 영상 데이터 처리부를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 제2 영상 데이터 처리부는 표시 백라이팅의 동적 변화에 맞추기 위해 상기 제2 영상 데이터 처리부에서 처리되는 상기 고정밀 데이터 신호들을 조절할 수 있다.
상기한 본 발명의 또 다른 목적을 달성하기 위한 일 실시예에 따른 영상 데이터 처리 시스템에서의 기계 구현 방법은, 저정밀 영상 정의 신호들 및 대응하는 데이터 값을 정의하는데 상기 저정밀 영상 정의 신호들에 사용되는 비트수보다 더 큰 비트수를 사용하는 고정밀 영상 정의 신호들을 포함하는, 영상 정의 신호들을 사용하는 영상 데이터 처리 시스템에서 수행되는 기계 구현 방법에 있어서, 사용된 고정밀 값들을 정의하는 상기 고정밀 영상 정의 신호들의 대응하는 제2 그룹을 생성하기 위하여, 제1 영상 데이터 처리부에서 상기 고정밀 영상 정의 신호들의 제1 그룹을 처리하는 단계; 상기 제1 영상 데이터 처리부에 연결되며, 입력된 고정밀 데이터 값들 및 대응되는 저정밀 데이터 값들에 대한 실질적 일대일 매핑에 기초하여 상기 고정밀 값 정의 신호들을 상기 대응되는 저정밀 값 정의 데이터 신호들로 전환하도록 구성되는 구간별 선형적 동조 가능한 데이터 압축 모듈을 사용하여, 상기 제1 영상 데이터 처리부에서 생성된 상기 고정밀 영상 정의 신호들의 상기 제2 그룹을 저정밀 데이터 신호들의 대응되는 제3 셋트로 전환하는 단계; 및 저정밀 데이터 신호들의 제3 셋트의 적어도 하나의 서브셋트를, 실질적 일대일 매핑에 기초하여 입력된 저정밀 값 정의 신호들을 대응되는 고정밀 값 정의 신호들로 전환하도록 구성된 데이터 복원 모듈에 연결하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 데이터 복원 모듈에 연결하는 단계는, 상기 저정밀 데이터 신호들의 상기 제3 셋트의 적어도 어느 하나의 서브셋트를 상기 데이터 복원 모듈에 포워딩하기 전에 상기 저정밀 데이터 신호들의 제3 셋트를 메모리 장치에 저장하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 메모리 장치는 상기 제1 영상 데이터 처리부가 아닌 다른 데이터 처리부에 의해 생성되는 표시된 영상 데이터를 포함한, 표시된 영상 데이터를 저장하는 프레임 버퍼로 기능할 수 있다.
본 발명의 일 실시예에 있어서, 상기 데이터 복원 모듈에 연결하는 단계는, 상기 저정밀 데이터 신호들의 상기 제3 셋트의 적어도 어느 하나의 서브셋트를 상기 데이터 복원 모듈에 포워딩하기 전에 상기 저정밀 데이터 신호들의 제3셋트를 신호 전송 채널을 통하여 전송하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 데이터 복원 모듈은 구간별 선형적 데이터 복원 모듈을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 구간별 선형적 데이터 압축 모듈은 하나 또는 그 이상의 동조 가능한 구분점을 가지며, 상기 기계 구현 방법은 적어도 어느 하나의 상기 동조 가능한 구분점을 동조하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 제1 영상 데이터 처리부는, 비 RGB 스트라이프 포맷으로 배열된 서브픽셀들을 가진 표시 화면에 표시하기 위하여, 상기 고정밀 영상 정의 신호들의 상기 제1 셋트를 리포맷(reformat)할 수 있다.
본 발명의 일 실시예에 있어서, 상기 비RGB 스트라이프 포맷은 펜타일 포맷일 수 있다.
본 발명의 일 실시예에 있어서, 상기 비RGB 스트라이프 포맷은 RGBW 포맷일 수 있다.
상기한 본 발명의 또 다른 목적을 달성하기 위한 일 실시예에 따른 영상 데이터 처리 시스템에서의 기계 지원 동조 방법은, 저정밀 영상 정의 신호들 및 대응하는 데이터 값을 정의하는데 상기 저정밀 영상 정의 신호들에 사용되는 비트수보다 더 큰 비트수를 사용하는 고정밀 영상 정의 신호들을 포함하는, 영상 정의 신호들을 사용하는 영상 데이터 처리 시스템에서 수행되는 기계 지원 동조 방법에 있어서, 고정밀 영상 정의 신호들의 대응되는 제1 셋트를 생성하기 위하여, 입력측 감마 전환 모듈에 저정밀 영상 정의 테스트 신호들로서 제1 컬러 채널의 모든 가능한 그레이 스케일 레벨들을 제공하는 단계; 제1 영상 데이터 처리 엔진 또는 그의 컴퓨터 모사가 사용되는 경우, 상기 제1 영상 데이터 처리 엔진 또는 그의 컴퓨터 모사에서 출력되며 사용된 고정밀 값들을 정의하는 고정밀 영상 정의 신호들의 대응되는 제2 셋트를 생성하기 위하여, 상기 제1 영상 데이터 처리 엔진 또는 그의 컴퓨터 모사에 고정밀 영상 정의 테스트 신호들의 제1 셋트를 선택적으로 제공하는 단계; 상기 사용된 고정밀 값들에 대응되는 일대일 매핑된 저정밀 영상 정의 신호들의 셋트를 생성하기 위하여 동조 가능한 구분점들을 가진 구간별 선형적 데이터 압축 모듈에, 사용된 고정밀 값들을 정의하는 고정밀 영상 신호들의 셋트를 제공하는 단계; 상기 저정밀 영상 정의 테스트 신호들이 상기 제1 컬러 채널의 모든 가능한 그레이 스케일 레벨들에 실장되는 것과 같이, 상기 동조 가능한 구간별 선형적 데이터 압축 모듈에서 생성된 상기 일대일 매핑된 저정밀 영상 정의 신호들이 상기 제1 컬러 채널의 모든 가능한 그레이 스케일 레벨들에 실장(populate)되는지 감지하는 단계; 및 상기 감지하는 단계가 상기 일대일 매핑된 저정밀 영상 정의 신호들의 셋트에 의해 상기 제1 컬러 채널의 모든 가능한 그레이 스케일 레벨들이 실장되지는 않은 것으로 지시하는 경우, 상기 동조 가능한 구간별 선형적 데이터 압축 모듈의 상기 동조 가능한 구분점들 중 적어도 어느 하나에서 변경하여, 상기 제공하는 단계 내지 감지하는 단계를 반복하는 단계를 포함할 수 있다.
본 발명의 특징 중 하나는, 새로 입력된 데이터를 산술적으로 선형화된 인코딩 도메인으로 최초 업매핑한 후에는, 후속되는 다운 매핑, 및 쌍을 이루며 이어지는 재 업매핑(re-up-mapping)에서 상기 최초 업매핑 함수의 정확한 역함수의 사용을 포함할 필요가 없다는 것이다.
보다 구체적으로, 비록 상기 최초 업매핑 함수가, 감마 입력 변환 등과 같은 단조 평활 복원 함수(monotonically smooth decompression function)에 의존하더라도, 상기 후속되는 다운매핑 및 대응하여 쌍을 이루며 이어지는 재 업매핑 동작들은, 대응되는 수 공간에서 실제로 사용된 수 지점(number point)들의 특이성을 보상하기 위하여 구분점(breakpoint) 설정들이 달라질 수 있는, 구간별 선형적(PWL, PieceWise Linear) 함수들에 기초해 이루어질 수 있다. 즉, 상기 구간별 선형적 다운매핑 및 쌍을 이루는 업매핑 동작들의 설정된 구분점들은, 상기 대응되는 수 공간의 모든 가능한 수 지점들(사용된, 사용되지 않은 수 지점들)의 이론적 필요를 만족하지 않아도 되며, 단순히 상기 실제로 사용된 수 지점들의 필요를 만족하도록 조절될 수 있다. 사용된 및 사용되지 않은의 명확한 의미는 후술할 실시예를 통해 설명하기로 한다.
본 발명의 일 실시예에서, 제1 회로의 구간별 선형적 다운매핑 동작에 사용되는 구분점 설정들 및/또는 기울기(slope)와 런 길이(run length) 설정들은, 쌍을 이루며 이어지고, 상기 수신된 다운매핑 동작 파라미터, 및 고정밀 표현 도메인(HiPvRD)에서 사용되는 정밀도를 가리키는 제공된 정밀 지시 신호에 따라 스스로를 자동적으로 재구성하는, 재 업매핑 제2 회로에 자동적으로 전송된다. 상기 다운매핑 파라미터들을 전송하는 단계를 포함하는 후자의 과정은 특히, 작업 흐름 데이터가 어느 한 워크센터(work center)로부터 원격의 다른 워크센터로 제한된 대역폭의 전송 채널들을 통해 전송되어야 하거나, 제한된 용량의 메모리 수단에 저장되어야 할 때 유용할 수 있다.
본 발명에서는, 다운매핑 동작들 및 재 업매핑 동작들의 구간별 선형적 쌍들을 제공하는 구조 및 방법이 개시된다. 이때, 예를 들어, 상기 다운매핑은 워드 도메인당 12비트수로부터 워드(또는 서브픽셀) 도메인당 8비트수로 이루어질 수 있으며, 후속되는 재 업매핑은 워드 도메인당 13비트수로 이루어진다. 또한, 본 발명에서는, 12 또는 그 이상의 어드레스 입력 비트수를 가진 룩업 테이블(LUT) 회로 없이, 12 비트에서 8 비트로의 다운매핑 동작을 자동적으로 수행하는 과정이 개시된다. 나아가, 본 발명에서는, 13 또는 그 이상의 어드레스 입력 비트수를 가진 룩업 테이블(LUT) 회로 없이, 13비트에서 8비트로의 다운매핑 동작을 자동적으로 수행하는 과정이 개시된다.
본 발명의 일 실시예에 따르면, 입력 수 공간(number space)에서 제1 선형적 압축 알고리즘이 종료하고 또 다른 선형적(반드시 모두 선형적일 필요는 없다) 압축 알고리즘이 시작하는 위치를 가리키는 구분점 값들을 저장하는 프로그램 가능한(programmable) 구분점 레지스터들과 함께 구간별 선형적(PWL) 압축부(compressor)가 제공된다. 또 다른 레지스터들의 셋트는 상기 서로 다른 선형 압축 알고리즘들에 대한 계수들(예를 들어, 기울기 및 y축 교점 등)을 저장한다. 압축 알고리즘들(또한, 대응되는 복원 알고리즘들)의 구분점 값들 및 계수들을 조절하는 것이 유용한 이유는 많이 있으나, 본 명세서에 즉시 설명하기에는 너무 복잡하다.
이하에서는, 고정밀 수 직선(또는 정밀 수 도메인) 상에서 사용된 및 사용되지 않은 수 지점들(또는 수 값들)에 대한 개념이 등장한다. 이하에서는, 이러한 사용된 및 사용되지 않은 지점(또는 값)들이, 동일한 어드레스 입력 비트 수를 가진(예를 들어, 휘도 값 도메인당 12비트수로부터 8비트수의 휘도 레벨 인코딩 도메인으로 다운매핑할 경우, 12비트수를 가진) 비교 가능한 룩업 테이블(LUT)보다 실질적으로 크기는 더 작고 복잡도는 덜한, 기능적으로 사용 가능한(functionally usable) 압축 회로를 제공하기 위하여, 상기 설정된 구분점 값들 및 상기 선택된 압축 알고리즘 계수들(예를 들어, 기울기 등)과 상호작용하는 과정이 개시된다.
본 발명의 다른 실시예에 따르면, 고정밀 데이터가 저장 및/또는 전송되는(그러나, 내부에서 산술적으로 처리되지는 않는) 동작의 전후에, 기계 구현되는 PWL 압축 및 PWL 복원 동작들의 쌍을 이룬 셋트가, 자동화된 기계 수단에 의해 각각 수행된다. 상기 사용된 PWL 압축 및 PWL 복원 알고리즘들은 고정밀 표현 도메인(HiPvRD)의 실제로 사용된 데이터 지점들의 클러스터링들에 대응되도록 조절된다. 영상 처리 시스템의 일례에서는, 산술적으로 전처리된, 그리고 이후에 동일한 정밀 휘도 데이터 워드들(예를 들어, 서브픽셀당 12비트수)로서 판독될 때에 더 산술적으로 처리될 수 있도록 재구성될 수 있는 휘도 데이터 워드들을 압축된 형태로 저장하기 위해, 표준 크기의 프레임 버퍼(예를 들어, 저장된 워드 당 8비트수)가 사용된다. 상기 표준 크기의 프레임 버퍼(예를 들어, 저장된 워드당 8비트수)는 압축된 서브픽셀 값들 및 압축되지 않은 서브픽셀 값들을 어드레스 공간에 나란히 저장할 수 있다. 일 실시예에서, 상기 구간별 선형적(PWL) 압축 알고리즘은 대략적으로 산업에서 통상적인 sRGB 출력측 감마 함수와 같은, 출력측 감마 함수를 모방(mimic)한다. 이로 인해, LCD 로컬 백라이트 디밍 제어는 그 입력으로서, 압축된 프레임 버퍼 데이터와 함께 작용할 수 있다.
본 발명의 일 실시예에 있어서, 비인과적(noncasual) 및 실질적으로 구간별 선형적(substantially piece-wise linear) 디지털 데이터 압축부(compressor) 회로는, 대략적으로 이른바 sRGB 인코딩된 영상 데이터를 생성하는데 사용되는 상기 출력측 감마 전환 함수 회로를 모방한다. 상기 구간별 선형적 압축부는, 압축된 데이터를, 서브픽셀당 8비트수의 포맷으로 영상 데이터를 저장하는 시스템 프레임 버퍼에 출력한다. 일 실시예에서, 상기 시스템 프레임 버퍼는 프레임 버퍼 메모리로서 기능하도록 설계된 하나 또는 그 이상의 모노리식(monolithic) IC(Integrated Circuit)로 구성되어, 데이터 워드당 8비트수에서 영상 데이터의 고속, 고밀도 스토리지(storage)를 제공한다. 상기 구간별 선형 압축부는 상기 모노리식 IC 중 어느 하나의 내에, 또는 상기 시스템 프레임 버퍼에 연결된 또 다른 IC의 내에, 콤팩트하게 집적될 수 있다. 또한, 필요할 경우, 데이터 복원은, 입력측 감마 전환 함수를 대략적으로 모방한 구간별 선형적 데이터 복원부 설계를 사용하여 구현될 수 있다. 상기 구간별 선형적 데이터 복원부는 상기 감마 모방(gamma mimicking) PWL 압축부에 의해 개입될 수 있는 압축 양자화 에러를 카운트(count)하도록 구성될 수 있다. 상기 에러 카운터링(error-countering) 압축부는, 일시적으로 압축 및 저장된 영상 데이터가, 일시적으로 비선형적으로 압축되어 상기 시스템 프레임 버퍼에 저장된 후, 다시 부풀려지는(re-inflate) 고정밀 영상 선형화된 데이터의 처리에서 사용될 수 있도록, 상기 일시적으로 압축 및 저장된 영상 데이터를 상기 선형화된 고정밀 포맷(예를 들어, 서브픽셀당 12 비트수의 포맷)으로 다시 부풀린다(re-inflate). 실시예에 따라, 상기 프레임 버퍼 후처리(post-frame-buffer) 단계에는 로컬 백라이트 디밍 제어 신호들의 동적 형성이 포함될 수 있다. 본 발명의 다른 관점들은 이하 상세한 설명에 의해 명확해질 것이다.
본 발명의 실시예들에 따르면, 데이터를 구간별 선형 압축하는 데이터 처리 방법을 구현할 수 있다.
또한, 데이터의 구간별 선형 압축 기능을 수행하되, 크기가 작고, 수정 가능한 회로를 구현할 수 있다.
도 1a는 전형적인 CRT 감마 전환의 몇 가지 기본 원리를 설명하기 위한 블록도이다.
도 1b는 디지털 양자화 효과 및 시간적 디더링 효과의 몇 가지 기본 원리를 설명하기 위한 블록도이다.
도 1c는 시스템 프레임 버퍼, 및 하나 또는 그 이상의 프리스토리지(pre-storage) 영상 데이터 재처리부와 포스트스토리지(post-storage) 영상 데이터 재처리부들을 포함하는 보다 복잡한 표시 시스템의 블록도이다.
도 2는 sRGB 소스 데이터가 표시되기 전에 재처리될 수 있는 과정 및 상기 sRGB 소스 데이터가 생성되는 과정을 도시한 데이터 흐름도이다.
도 3은 재처리된 영상 데이터의 비트폭보다 더 작은 비트폭의 시스템 프레임 버퍼에, 상기 재처리된 영상 데이터가 일시적으로 저장되는 과정을 도시한, 도 2와 결합되어 이어질 수 있는 데이터 흐름도이다.
도 4는 구간별로 실질적으로 선형적인(PWSL, piece-wise substantially linear) 데이터 변환 매퍼(mapper)의 일 실시예를 도시한 블록도이다.
도 5a는 정보 손실 간극을 최소화하도록 도 4에서와 같은 PWSL 압축 매퍼를 동조하는 시스템을 도시한 데이터 흐름도이다.
도 5b는 상기 도 5a의 동조 시스템에서 사용 가능한 동조 알고리즘을 도시한 순서도이다.
도 6a는 도 4에서와 같은 PWSL 압축부와 함께 동작하는, 역 복원부의 에러를 감소시키는 시스템을 도시한 데이터 흐름도이다.
도 6b는 상기 도 6a의 감소 시스템에서 사용 가능한 에러 감소 알고리즘을 도시한 순서도이다.
이하, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 1a는 이상에서 언급된 몇 가지 개념들을 시각적으로 나타낸 블록도이다. 통상적인 영상 처리 시스템(50)에서는, 통상적인 영상 정의(image-defining) 데이터 파일(60)이 적색(R), 녹색(G), 및 청색(B)의 서브픽셀 데이터를, 각각의 서브픽셀에 대하여 개별적인 어드레스가 가능한(individually addressable) 8비트 워드의 형태로, 또는 각각의 RGB 화소에 대하여 개별적인 어드레스가 가능한 24비트 워드의 형태로 저장한다. 그러므로, 각각의 통상적인 화소는 각각 24비트수의 저장된 데이터에 의해 정의된다. 상기 정의된 영상(도시되지 않음)은 화소당 24비트의 해상도의 특성을 넘어선 특성을 가질 수 있다. 예를 들어, 하늘 영역(60a)에서의 오직 파란 색상 등과 같은, 어느 영상 영역의 대응되는 영역 부분에서의 디지털 시퀀스 패턴들의 공간적 분포 또는 클러스터링은, 상기 영상 영역의 상기 영역 부분에서 다른 디지털 시퀀스 패턴들이 사용되지 않게 할 수 있다. 만일 한 양자화 에러가 어느 영역에서 미사용 패턴으로 하여금 갑자기 나타나도록 하는 경우(예를 들어, 오직 파란 필드에서 하나의 노란 화소가 나타나는 경우), 상기 양자화 에러는 비록 양자화 또는 재양자화가 잘못 처리된 수천 개의 화소들 중 단 하나에 불과할지라도 쉽게 눈에 띄는 에러로서 나타날 수 있다(한편, 모두 오로지 파란 색상 또는 특정한 반복된 컬러 패턴의 영상 영역은 공간 주파수가 낮은 영상 영역이라 부를 수 있다). 만일 상기 영상 정의 데이터 파일(60)로부터 추출된 데이터가 이하 설명할 D/A 컨버터(62a)에 제공되기 전에, 어떻게든 압축되고, 이어서 복원되는 경우, 상기 영상 정의 데이터 파일(60)의 이러한 공간 영역(60a)에 특별한 주의(무손실 처리의 확인에 대한 주의)가 필요한 이유는 이하 후술될 것이다.
도 1a의 상기 영상 처리 시스템(50)에서, 상기 영상 정의 데이터 파일(60)에 저장된 화소당 24 비트수의 데이터는 일련의 화소 데이터(61)로서 디지털-아날로그(D/A) 컨버터(62a)에 순차적으로 전송된다. 상기 D/A 컨버터(62a)의 출력은 사무실이나 집 등 주변 환경에 배치된 전형적인 CRT(63)를 구동하는 아날로그 CRT 구동 회로(예를 들어, 앰프 등)(62b)에 연결된다. 상기 전형적인 CRT(63)는 준-표준 감마 함수(Y=V2.2)에 이상적으로 매치되는 입력 대비 출력 반응 곡선(64)을 갖는다. 여기서, V는 입력 그리드 전압이고, Y는 출력 휘도(luminance)이다. 관찰자(70)는 상기 전형적인 CRT(63)의 인광물질로부터 방출되는 각각의 RGB 휘도들(Yrgb)을 가진 광선(65)을 관측한다. 또한, 상기 관찰자(70)는 주변 배경으로부터 방출되는 다른 광선(66)에 노출될 수도 있다. 어느 특정한 이론에 얽매이려는 의도 없이, 인간 시각계는 상기 관찰자(70)로 하여금 상기 CRT 화면 상의 각각의 빛나는 인광 점과 관련된 어느 특정한 밝기를 감지하게 하는 것으로 알려져 있다. 연구자들에 의해 수행된 실험들은, 휘도 증가에 따른 상기 인간의 눈에 의한 반응(74)이 비선형적이고, 휘도의 크기(Yrgb)가 증가함에 따라 반응의 감지도가 감소하는 것을 나타내는 것으로 보인다. 이 인간 시각계의 반응 곡선(74)은 대략(정확히는 아니다) 상기 전형적인 CRT(63)에 의해 제공되는 상기 준-표준 감마 함수 반응 곡선(64)의 역함수와 같다. 그러므로, 휘도 코드 값들(그래프 54의 x축)의 일련의 셋트가 상기 언급된 순서에 따라 반응 곡선들(64, 74)에 의해 제공되는 상기 변환 함수들을 통해 순차적으로 통과될 때, 상기 관측자는 대개, 인지 출력 곡선(76)에 도시된 휘도 코드 값들의 셋트 당 선형적으로 증가하는 휘도들의 시퀀스를 인지한다(본 예시에서는, 적색 서브픽셀에 대해 도시했으나, 다른 색들도 그 자체의, 유사한 그러나 구분되는 변환 곡선들을 가질 수 있다). 물론, 인지된 밝기(75)는 시간적 및 공간적 조합들을 포함하는 다양한 변수들의 복잡한 함수일 수 있다. 보다 구체적으로, 영상 서브영역(60a)에 관하여 위에 언급된 상기 공간 주파수 측면은 상기 복잡한 함수의 부분으로서 포함된다. 도 1a는 상기 전체적인 인간 시각계가 동작하는 과정에 대한 명확한 이론을 도시하려는 것은 아니다. 도 1a는 단지, 상기 보다 단순한 기본적인 몇 가지 개념들의 단순화된 시각적 내용을 제공한다. 이러한 개념들에 익숙하지 않은 사람들은 상기 기본적 원리들의 보다 복잡한 확장으로 상기 논의가 진행될 때에 도 1a를 유용하게 다시 참조할 수 있다.
다음으로 도 1b를 참조하면, 도 1b에는 도 1a의 개념들이 보다 확장되어 시각적으로 도시되었다. 도 1b에 도시된 영상 처리 시스템(80)에서, 표시 장치(63)는 디지털적으로 구동되는 LCD이다. 상기 구동 회로(62a-62b)는, 입력 영상 데이터를 저장하는 RGB 메모리(60)로부터 24비트 RGB 데이터 워드들의 시퀀스(61a)를 수신할 뿐 아니라, 또 다른 소스(이하 상세히 설명됨)로부터 서브픽셀당 2 비트수의 서브픽셀 증강 데이터(61b)를 수신한다. 본 예시에서, 상기 여분의 서브픽셀당 2비트수의 증강 데이터(61b)의 목적은, 각각의 R, G, B 색중심면(color plane) 내에서 상기 관찰자(70)가 인지하는 유일한 그레이 스케일(gray scale)의 수를 증가시키기 위함이다. 상기 2개의 여분의 비트(61b)는 각각의 색중심면에 대하여 인지되는 휘도 해상도를 4배(22=4) 더 증가시킬 수 있다. 보통, R, G, B 서브픽셀당 단지 8 비트수만 있는 경우, 상기 색중심면에서 유일하게 표시 가능한 그레이 스케일의 수는 서브픽셀당 단 256개의 이산적 레벨들로 제한된다(이러한 이산적 그레이 스케일 크기들은 첫 번째 그래프 54에서 0부터 255의 코드 값들로 식별된다). 그러나, 상기 인간 시각계의 시간적 및 공간적 영상 조합 특성들을 이용함으로써, 이산적 그레이 스케일들의 보다 세밀한 셋트가 인지되도록 발생할 수 있다. 본 실시예에서, 9 개의 8비트 레벨들의 대칭적인 3×3 패턴들(67)은 연속된 빠른 시간에 따라 화면 상의 동일한 스폿(spot)에서 순차적으로 표시된다. 상기 3×3 패턴은 서브픽셀들의 상기 3×3 어레이의 중앙 서브픽셀 주위에서 회전하는 것처럼 보일 수 있다. 상기 인간 시각계는 인지된 휘도 지점의 중앙으로서, 또한, 상기 3×3 어레이의 상기 단지 9 개의 서브픽셀 셀들에 의해 제공되는 상기 256 개의 양자화된 단계에서 제공되는 것보다 더 정밀한 그레이 스케일 값 및 더 높은 공간 해상도를 가지는 것으로서, 상기 중앙 서브픽셀을 인지함으로써, 이 회전에 대하여 반응할 수 있다. 이러한 시공간적 처리 과정, 또는, 디더링(dithering)은, LCD 패널(63)로 하여금 통상적인 R, G, B 서브픽셀된 도메인에 대해 제공되는 단 8비트수의 데이터를 갖고 가능할 수 있는 것보다, 훨씬 정밀한 범위(range)의 사용된 그레이 스케일 레벨들 및 더 높은 공간 해상도를 갖도록 나타나게 하는 데에 적용될 수 있는, 많은 가능한 기술들 중 단 하나의 예이다. 로컬 백라이트 디밍 제어(도 1b에는 미도시됨)도 또한, 상기 LCD(63)의 상기 제한된 수의 서브픽셀들이 시간적, 공간적 교차 조합(cross-integration) 요인들 없이 서브픽셀당 8비트수에 기초하여 구동될 경우 제공될 수 있는 것보다 더 높은 해상도 영상들의 최종 인지(75)를 생성하는데 적용될 수 있다.
본 발명의 일 실시예에서, 도 1b의 데이터 흐름선(61b)을 통해 부가된 상기 서브픽셀당 2개의 증강 비트수는, 영상 파일(60)의 상기 디지털적으로 인코딩된 서브픽셀당 8비트수의 원래 값들을 서브픽셀당 12비트수의 선형화된 휘도 값들(Y)로 변환하고, 상기 선형화된 값들을 공간적 및/또는 시간적으로 확장된 공간(시간적으로 확장된 경우는 메모리 버퍼 60에 저장된 복수의 프레임들을 전제로 한다)에서 분석하며, 데이터 흐름선(61b)으로 출력을 내보내는 데이터 전처리 모듈(82)를 사용하여 상기 서브픽셀당 2개의 증강 비트들을 생성함으로써 얻어진다. 영상 파일(60)의 상기 서브픽셀당 8비트수의 데이터를 서브픽셀당 12비트수의 휘도 값들(Y)로 변환하는 단계는 압축 동작이 아니라 복원 동작(81), 즉, 업매핑 동작을 필요로 한다는 점에 주목해야한다. 그러나, 전처리 모듈(82)의 제2 출력(61c)은 압축되어 다시 메모리 유닛(60)에 저장될 필요가 있을 수 있다. 한편, 메모리 유닛(60)에 다시 저장된 상기 데이터의 일부는, 어느 특별한 공간적 영역(60)(도 1a의 60a와 유사한 영역)에서의 손실 발생 압축(lossly compression) 처리로 인해 쉽게 눈에 띄는 의도치 않은 양자화 에러 결점이 만들어질 수 있기 때문에, 오로지 무손실 복원(81) 및 무손실 재압축(83)을 거쳐야만 하는 상기 특별한 공간적 영역(60)을 정의할 수 있다.
복원 동작에서는, 입력 샘플당 보다 적은 입력 비트수(예를 들어, 서브픽셀당 8비트수)를 갖고 동작이 시작되며, 샘플 지점당 더 큰 비트수를 출력하기 때문에, 압축(83)은 복원(81)(또는 데이터 인플레이션)과는 상당히 다르다. 상기 보다 적은 입력 비트수는 통상적으로 비교적 작은 크기의 복원 룩업 테이블(LUT)(81)의 어드레스 입력 포트에 인가될 수 있다. 상기 복원 LUT(81)는 이어서, 전처리 모듈(82)에 의해 산술적으로 처리될 수 있는, 더 높은 정밀도를 갖는 더 넓은 비트폭의 출력 워드들(예를 들어, 출력 워드 당 12비트수)를 생성할 수 있다.
반면에, 도 1b의 재압축 LUT(83)에 의해 수행되는 것과 같은 데이터의 압축 또는 재압축은, 전처리 모듈(82)로부터 출력된 더 큰 비트수(예를 들어, 서브픽셀당 12비트수)의 데이터를 수신하며, 상기 데이터를 다시 서브픽셀당 8비트수의 포맷으로 재압축하는 단계를 포함한다. 비록, 8 비트수와 12 비트수의 차이는 4 비트에 불과하지만, 보다 정밀한(서브픽셀 당 12 비트수) 입력 신호들을 처리하기 위해 필요한 룩업 테이블(LUT)의 크기는 대략 24=16배 더 크다. 즉, 상기 전처리 모듈(82)에서 처리되어 생성된 상기 서브픽셀당 12비트수의 데이터를 다시 압축된 데이터(메모리 유닛 60으로 다시 입력하기 위한 3×8비트수)로 전환하기 위하여 상기 제안된 이어지는 압축 LUT(83)의 사용은, 차지하는 다이 공간에 있어서, 처음의 상기 8 입력 비트수(61a)를 색중심면 데이터당 12비트수로 디코딩하는 상기 복원 LUT(81)에 비해, 색중심면당 대략 16배 더 크다 이렇듯 회로 크기가 16배 더 증가하는 것은, 집적회로(IC) 상의 회로 공간이 부족해진다는 점에서 상당히 문제될 수 있다. 뿐만 아니라, 회로의 크기가 클수록 회로에 공급해야 하는 소비 전력도 크게 증가하게 된다. 도 1B에 도시된 바와 같이, RGB 영상 처리 시스템에서 R, G, B 각각의 주요색마다 하나씩, 총 3개(만일, RGB에 더하여 백색 등의 주요색이 더 추가될 경우에는 그 개수가 더 증가한다)의 재압축 LUT 회로(83)가 필요한 것을 생각해보면, 이는 상당히 문제점된다.
잠시, 도 1b의 상기 영상 데이터 전처리 모듈(82)이 데이터 버스(61c) 상의 상기 예시된 서브픽셀당 12비트수가 아니라 서브픽셀당 13비트수를 출력하도록 수정되는 것으로 가정해보자. 그러나 상기 메모리 버퍼(60)의 워드당 스토리지 크기는 변하지 않고 유지된다. 그 경우, 실리콘에 하드와이어(hardwire)된 회로로서, 심지어 더 큰 압축 LUT(83)이 필요할 것이다. 각각의 색중심면당 복원 유닛(81)보다 소모되는 회로 면적이 대략 32배 클 것이다. 이는 큰 문제가 될 것인데, 본 발명에서는 하나의 해결 방안을 개시한다.
상기 해결 방안을 개시하기에 앞서, 도 1c에 도시된 또 다른 영상 시스템(100)의 설명이 제공된다. 도 1c의 영상 시스템(100)에서는, 서로 다르게 컬러 처리된 서브픽셀들에 의해 실장(populate)되는 표시 화면(111)을 가지는 것으로서, 평판 영상 표시 장치(110)(예를 들어, LCD 등)가 제공된다. 상기 서브픽셀들은 통상적인 RGB 스트라이프(stripe)(R, G, B 발광 서브픽셀들의 수직 영역들), 또는 이른바 RGBRG PenTile 배열을 포함하는 다른 배열이나 RGBW 배열들의 다른 버전들을 따라, 배열될 수 있다. 상기 서브픽셀들의 밝기 레벨들은, 상기 표시 장치(110)가 동적 백라이트 액정표시장치(dyb-LCD)인 경우, 동적으로 변화하는 로컬 백라이트 디밍 기술들을 사용함으로써 보충될 수 있다. 보다 구체적으로, 일 실시예에서, 상기 표시 패널(110)은 전면(적절한 컬러필터 내지 백색광 통과 커버가 덮고 있는 전면)에서 액정 광 밸브의 형태로 수행되는 서브픽셀 셔터들의 제1 레이어(110a), 및 후면의 백라이트 디밍 유닛(예를 들어, 개별적인 제어가 가능한 LED 백색 광원들)의 제2 레이어(110b)가 포함될 수 있다. 일 실시예에서, 후면 레이어(110b)에서 각각의 개별적인 제어가 가능한 백라이트 유닛 또는 블록은 상기 제1 또는 상부 레이어(110a)의 미리 설정된 대응되는 복수의 화소들의 아래에 배열된다. 그러한 다중 레이어 표시 패널(110a/110b)에 인가되는 구동 신호들은, 효과들의 결합이 상기 영상 시스템(100)의 사용자에게 인지되는 표시 영상을 정의하는, 상기 전면 셔터들(시간적 및 공간적 조합 기술들을 선택적으로 사용하여)을 구동하는 제1 제어 신호들(120a) 및 상기 동적으로 변화 가능한 백라이트 디밍 유닛들을 구동하는 제2 제어 신호들(120b)을 포함한다.
전면 레이어(110a)의 표시 영역(112)에 예시된 것은 서로 다르게 제어 가능하고 개별적인 어드레스가 가능한 서브픽셀 셔터들에 의해 실장(populate)된 제1 사각(또는 다른 형상의) 영역의 표현이다. 더 작은 영역(114)은 더 큰 영역(112) 내부의 서브셋트 영역(예를 들어, 정사각 영역)을 표현한다. 서브셋트 영역(114)은 하나 또는 그 이상의 영상 데이터 처리 장치들(예를 들어, 도 1c에서의 150-140-132, 또는 도 1b에서의 전처리부 82)에 의해 프레임 버퍼 데이터가 현재 수정되고 있는 영역일 수 있다. 한편, 도 1c에서는, 상기 표시 화면 상에 나타나지 않는 도면 부호에 대하여 좌우에 하이픈(-)이 사용되었다. 상기 표시 화면(111)은, 그 위에 표시되는 개별적인 수정이 가능한(individually-modifiable) 다양한 영상 오브젝트들을 가질 수 있다. 예를 들어, 인접 영역(115)은 CPU(150)에서 실행되고 영상 윈도우 또는 프레임(115)의 콘텐츠를 제어하도록 할당된 제1 실행 컴퓨터 프로그램에 의해 내부의 영상 오브젝트들이 결정되는 부상 윈도우(floating window) 또는 부상 프레임을 표현할 수 있다. 동시에, 동시에 실행되는 또 다른 컴퓨터 프로그램 또는 쓰레드(thread)는 또 다른 윈도우나 프레임의 콘텐츠를 정의할 수 있다. 예를 들어, 태스크바(taskbar)(116)는 사용자 및/또는 프로그램의 명령에 따라 콘텐츠가 변경될 수 있는 그러한 또 다른 부상 영상 프레임을 표현할 수 있다. 예를 들어, 상기 컴퓨터의 사용자가 커서(화면 상의 커서는 도시되지 않음)를 상기 태스크바 아이템들의 어느 하나 위(예를 들어, 파일(F) 등)로 갖다놓는 경우, 서브메뉴가 상기 메인 태스크바(116)로부터 부가적인 표시 아이템들(예를 들어, 저장(S), 다른 이름으로 저장(A) 등)을 표현하기 위하여 나타날 수 있다. 이렇게 나타나는 서브메뉴가 태스크바(116)의 아래에 발생하는 시점에, 상기 인접 윈도우 또는 프레임(115)의 내부는 변경되지 않게 유지될 수 있다. 따라서, 상기 표시 화면(111)의 서로 다른 영역들은, 상기 표시 화면의 다른 영역들이 정적(static)으로 유지되는 동안 서로 다른 시간에 영상 오브젝트들을 변경하여 다시 페인트(repaint)하거나 또는 변경되지 않게 할 필요가 있을 수 있다. 동적 로컬 백라이트 디밍은 상기 표시 패널의 상기 전면 레이어 (110a) 상에 표현되는 영상 오브젝트들의 합성에 의존하기 때문에, 종종 백라이트 제어 신호들(120b)의 형성이 발생하기 전에 상기 전체 합성 영상을 형성하여 프레임 버퍼(130)에 저장할 필요가 있다.
도 1c에서, 가상의 돋보기 형상(113)은 현재 수정되어지는 서브셋트 영역(114) 및 상기 표시 패널의 전면 레이어(110a)의 상기 포함하는 더 큰 영역(112) 사이의 더 넓은 영역에 초점을 맞추기 위해 사용된다. 앞서 설명한 바와 같이, 하나 또는 그 이상의 특정한 영상 데이터 처리부(예를 들어, 132)는, 상기 포함하는 더 큰 영역(112)의 남아있는 서브픽셀들을 변경하지 않는 동안 서브셋트 영역(114)에 대응되는 상기 프레임 버퍼 영역 내부의 서브픽셀 밝기 레벨들을 현재 수정할 수 있다. 이를 위해서는, 비인과적(non-casual) 압축 처리가 필요하다. 상기 개념은, 변수 작업 영역 경계(114a)에 의해 서로 가상적으로 분리되어 있는, 변경되지 않는 서브픽셀(113a)과 공간적으로 그에 바로 인접하여 위치한 현재 수정되어지는 서브픽셀(113b)을 도시한 확대도(113)에 의해 더 설명된다. 이동 가능한 경계선(114a)은 서브영역(114)을 상기 포함하는 영역(112)의 정적인(static) 주위 부분으로부터 분리한다. 표시 화면(111) 상에서는, 서브픽셀 유닛(113b)의 상기 휘도 데이터의 상기 수정(modification)이, 인접 서브픽셀(113a)로부터 출사된 광도가 변경되지 않는 동안, 표시된 서브픽셀 밝기의 변화로서 나타날 수 있다. 물론, 거의 동시에, 상기 시스템 메모리의 어딘가에서는, 대응되는 메모리 영역들이, 상기 각각의 영역들(113a, 113b)의 상기 표시된 서브픽셀 밝기 구동 레벨들을 정의하기 위한 변경된 서브픽셀 구동 값들(휘도 코드들) 및 변경되지 않는 서브픽셀 구동 값들(휘도 코드들)을 각각 저장할 수 있다. 이렇게 저장된, 변경된 서브픽셀 값들 및 변경되지 않는 서브픽셀 값들은 도 1c의 인접 영역들(113a, 113b)에 의해 표현되는 것으로 이해될 수 있다. 여기서 요점은, 상기 서브픽셀 구동 값(113b)이 하나 또는 그 이상의 상기 영상 처리부(예를 들어, 150, 140, 및/또는 132, 139)의 작동에 의해 현재 수정되어지는 동안, 인접 영역(113a)에 대한 상기 저장된 서브픽셀 구동 값은 변경되지 않는다는 점이다. 그러므로, 상기 서브픽셀(113a)의 의도된 밝기를 표현하는 상기 프레임 버퍼(130)에 저장된 상기 서브픽셀 값은, 상기 인접 서브픽셀(113b)의 밝기를 표현하기 위해 상기 프레임 버퍼에 저장된 값에 의존할 수 없다. 다시 말해, 상기 프레임 버퍼(130)의 인접 메모리 위치들에 저장된 상기 서브픽셀 표현 값들은 서로 인과적으로 의존할 수 없다. 각각의 저장된 데이터 값은 독립적으로 복원되고, 수정되며, 재압축되고, 다시 저장될 수 있어야 한다.
서브픽셀들(113a, 113b)은 현재 상기 표시 화면(111) 상에 표시되기 때문에, 이렇게 표시된 서브픽셀들(113a, 113b)을 표현하는 상기 데이터 값들은 상기 시스템 프레임 버퍼(130)의 래스터 주사된(raster-scanned) 영역(135)에 저장된다. 래스터 주사된 영역(135)은, 여기서, 표시 패널을 구동하는 영상 페인터(painter) 회로(120)(즉, 타이밍 제어부 또는 래스터부)가, 상기 화면(111)의 각각의 열에 걸쳐 좌에서 우로, 이어서는 상기 래스터된 영역(135)에 의해 표현되는 영상 데이터의 열을 상에서 하로 쓸어내리고, 화면(111) 상에 현재 상기 표시 영상을 그리기 위하여, 대응되는 판독 어드레스 구동 버스(AinB)(137)를 사용하여 상기 래스터된 영역(135)의 상기 메모리 위치들을 주기적으로 판독하는 영역을 의미한다. 일 실시예에서, 상기 래스터 주사된 영역(135) 내의 상기 데이터는, 하드 드라이브 또는 다른 시스템 메모리에 저장될 수 있는, 대응되는 sRGB 영상 파일(160)로부터 원래 얻어지는, sRGB 데이터의 직접 복사본일 수 있다. 또 다른 실시예에서, 상기 래스터 주사된 영역(135) 내의 상기 데이터는 하나 또는 그 이상의 복원 및 재압축 동작들을 거친, 전처리 및 재처리된 영상 데이터를 포함할 수 있다.
상기 파일(160)의 데이터는 도 1a의 파일(60)의 상기 RGB 데이터와 대략 동일할 수 있다. 즉, 도 1c의 복잡한 도식에도 불구하고, 영상 시스템(100)은 여전히, 표시 패널(110)에 대응되는 영상을 생성하기 위하여, 파일(160)로부터 상기 sRGB 데이터를 인출하여 이를 변경시키지 않고 패널 구동부(120)에 순차적으로 인가하는 것과 같은 단순한 동작을 수행할 수 있다. 이 경우, CPU(150)는 상기 파일(160)로부터 상기 원래의 데이터를 직접 복사하여, 포함된 MIPI(Mobile Industry Processor Interface) 장치(140)로 하여금 프레임 버퍼(130)의 특정한 영역(135)에 상기 복사된 데이터를 저장하도록 명령할 수 있고, 그리하여 상기 자동화된 영상 페인터(120)는 이를 픽업하여 각각의 프레임 갱신 클럭과 함께 상기 표시 화면(110) 상에 상기 프레임 버퍼(130)에 있는 데이터를 페인트(paint)할 수 있다. 도 1a의 상기 표준 CRT 반응 동작(64)은 상기 구동부(120)와 표시 패널(110)의 결합에 의해 본질적으로 수행되는 것으로 전제될 수 있다. 도 1a의 상기 인간 시각계 반응 동작은 상기 표시 화면(110)을 관찰하는 관찰자(미도시됨)에 의해 본질적으로 수행되는 것으로 전제될 수 있다.
이러한 영상 데이터의 직접 복사 및 표시가 의도대로 발생하게 하기 위하여, 다음 둘 중 하나가 참이어야 한다. 즉, 상기 구동된 표시 패널(110)이 상기 sRGB 표준 파일 포맷에 의해 전제되는 통상적인 RGB 스트라이프 배열에 따라 배열된 전면 레이어 서브픽셀들(112)를 가지거나, 또는, 상기 파일(160)의 데이터가 상기 표시 화면(111) 상의 서브픽셀들의 독특한 배열에 매치되도록 재배열되어야 한다. 그리고 물론, 이 경우, 상기 표시 장치(110)는 후면 레이어(110b)에 의해 가능해질 수 있는 선택적 백라이트 디밍을 사용하지 않는다는 것을 전제로 한다. 그러나, 이와 달리, 표시 패널(110)의 서브픽셀들이 상기 전형적인 RGB 스트라이프 배열에 따라 배열되지 않으며, 상기 파일(160)의 데이터 또한 그렇게 구성되는 경우, 입력 파일(160)의 상기 데이터는, 상기 프레임 버퍼(130)에 저장되고 나아가, 상기 비전형적으로 구성된 화면 상에 표시되도록 상기 화면 페인터(120)에 의해 자동적으로 픽업되기 전에, 그때 그때 재구성되어야 한다. 비표준 서브픽셀 배열들의 예들은, 상기 언급된 RGBRG Pentile 배열, RGBW 반복 그룹 배열, 또는 다른 비RGB 스트라이프(non-RGB stripes) 배열을 포함한다. 상기 표시 화면(111) 상에 이러한 서브픽셀들의 비전형 배열들 중 하나가 존재하는 경우, 상기 sRGB 영상 파일(160)로부터 얻어진 상기 영상 데이터는, 상기 프레임 버퍼(130)에 적절하게 놓이고 이어서 상기 비전형 표시 패널(110a/110b) 상에 표시되기 전에, 종종 수정(전처리)되어야 한다. 따라서, 도 1c에 도시된 것처럼, 상기 sRGB 영상 파일(160)로부터 인출된 데이터에 대한 가능한 데이터 흐름 경로들 중 하나는, 상기 데이터가 상기 프레임 버퍼(130)에 저장되기 전에, 상기 MIPI 장치(140) 및 전처리 파이프라인부(pipeline engine)(132)를 거치는 것이다. 상기 파이프라인부(132)에서 수행되는 전처리 단계는, 종종 상기 파일(160)의 상기 sRGB 영상 밝기 데이터(예를 들어, 서브픽셀당 8비트수)를 고정밀(예를 들어, 서브픽셀당 12비트수) 휘도 값들로 복원한 결과를 선형화하는 단계를 필요로 할 수 있다. 상기 전처리 단계(132)가 완료된 후, 상기 전처리된 데이터는 압축되어 프레임 버퍼(130)의 적절한 영역에 저장되며, 곧 상기 화면 페인터(120)에 의해 검색(retrieve)된다. 몇몇 실시예에서, 상기 재처리되고, 재압축되며, 저장되어 검색된 데이터는, 다시 복원된 후, 상기 복원되고 선형화된 영상 데이터를 적절하게 사용하는 후처리 파이프라인부(139)를 통과한다. 상기 2차 복원된 데이터를 사용하는 단계의 예는, 상기 부가적인 디더링 비트들(예를 들어, 도 1b의 61b)이 상기 표시 영상 내의 작은 영역들의 시간적 및/또는 공간적 디더링을 수행하기 위하여 생성되고 사용되는 단계이다.
도 1c는 단지 영상 데이터(예를 들어, sRGB 영상 파일 160로부터 나온 데이터)가 서로 다른 이유로 서로 다른 시각에 복수의 데이터 처리부에 의해 처리되는 단계를 거칠 수 있는 그때 그때 처리되는 데이터의 흐름을 필요로 할 수 있는 과정의 일례를 도시한 것으로 이해해야 한다. 보다 상세한 예에 있어서, 서브픽셀당 8비트수의 RGB 데이터의 어느 주어진 열 또는 블록은, CPU(150)에 의해 인출되어, 상기 CPU에 의해 식별된 데이터가 상기 프레임 버퍼에서 위치해야 하는 곳(예를 들어, 화면 블록 114에 대응되는 영역)을 가리키는 명령(142)과 함께 상기 MIPI 장치(140)에 보내질 수 있다. 이 식별된 데이터의 블록은, 이어서, 기록을 위해 프레임 버퍼(130)의 데이터 입력 포트DinA에 직접 포워딩(forward)되거나, 또는, 먼저 상기 프레임 버퍼에 저장되기 전에 전처리 파이프라인부(132)를 통해 다시 방향설정(redirect)될 수 있다. 상기 전처리 파이프라인부(132)를 통한 선택적 경로 동안, 상기 서브픽셀당 8비트수의 sRGB 데이터의 상기 스트리밍 블록은, 선형화된 서브픽셀당 12 비트수의 포맷으로 복원되어, 상기 포맷으로 처리된 다음, 다시 서브픽셀당 8비트수의 포맷으로 재압축되어야 할 수 있다. 그 이후에는, 일단 변환된 데이터라도, 다시 복원되어 또 다른 처리부(139)에 의해 처리되며, 나아가 다시 압축되어야 할 수 있다. 즉, 작업 흐름 동안, 영상 데이터는 반복적으로 복원되고, 처리되며(예를 들어, 산술적으로 처리되며), 재압축된다. 상기 압축 및 재압축 단계에서는 위에서 설명한 문제가 존재한다.
도 1c의 영상 신호들의 상기 예시적 흐름은, 실시간 데이터 인출 및 저장 동작 동안, 상기 영상 데이터가 그때 그때 복원되어, 복원된 형태로 처리되며, 나아가 상기 워드당 8비트수의 프레임 버퍼(130)과 같이 제한된 워드 크기의 메모리에 저장되기 앞서 재압축되어야 할 수 있는, 그리고 이 모든 단계들이 상기 표시 시스템의 연직 프레임 리프레쉬(refresh) 주기에서 빠르게 발생해야 할 수 있는, 보다 일반적인 개념을 예시하기 위하여 제공된다. 일 실시예에서, 상기 재압축된 데이터는 상기 표시 시스템(100)의 시간적/공간적 디더링 및/또는 동적 백라이트 디밍 동작들을 제어하기 위한 정보를 제공하기 위하여 그때 그때 여러 번 복원되어야 할 수 있다. 가능한 다양한 실시예들에서, 상기 sRGB 영상 파일 데이터(160)는 DRAM 메인 메모리나 이를 둘러싼 컴퓨터 장치의 하드 드라이브에 저장될 수 있으며, 상기 다양한 데이터 움직임들은 공유된 데이터 버스들(도시되지 않음)을 통해 멀티플렉스(multiplex)될 수 있다. 비록 도 1c는 상기 프레임 버퍼의 래스터 주사된 영역(135)에 대하여 모든 데이터 흐름을 도시하고 있으나, 다른 실시예에서, 몇몇 파이프라인 처리된 데이터는, 상기 메인 프레임 버퍼의 상기 래스터 주사된 영역(135)에 저장되어 궁극적으로 상기 영상 페인터 메커니즘(120)에 의해 상기 표시 화면(111) 상에 페인트(paint)되기 전에 먼저, 프레임 버퍼의 비래스터 주사된(non-raster-scanned) 영역(도시되지 않음)으로 흘러 들어간 다음, 제2 전처리부(132와 유사한 처리부)로 보내질 수 있다. 그 밖의 다른 실시예들도 가능하다.
일 실시예에서, 선형화된 휘도 표현(luminance-representing) 영상 데이터가 항상 서브픽셀당 12비트수의 포맷으로 제공되는 동안, 상기 영상 유닛당 12비트수의 정밀도에 대해서는 특별한 이유가 없다. 다른 실시예들에서, 하나 또는 그 이상의 R, G, B 또는 다른 색 휘도(예를 들어, 백색 휘도) 정보를 데이터 아이템들당 10 비트수로서 충분히 표현할 수도 있다. 또 다른 실시예들에서, 서브픽셀당 12비트수로는 부족하여, 하나 또는 그 이상의 R, G, B 또는 다른 색(예를 들어, 청록색) 휘도 정보는, 더 넓은 13비트폭의 데이터 아이템들로서 표현되어야 할 수 있다(상기 서브픽셀당 12 비트폭은 일례로, 헐리우드의 디지털 시네마(Digital Cinema) 표준에 필요한 것이다).
서브픽셀당 더 많거나 적은 비트수(디지털 데이터 워드당 고정밀 및 저정밀)를 희망하는 이유는 여러 가지일 수 있고, 그 중에는 불필요하게 너무 높은 정밀도를 사용하여 메모리나 다른 시스템 리소스들을 낭비하지 않기 위한 이유, 및 트렁케이션(truncation) 내지 다른 양자화 에러들 때문에 필수 정보를 잃거나 눈에 띄는 영상 아티팩트(artifacts)를 발생시키지 않기 위한 이유가 포함될 수 있다. 또한 휘도 값들에 대하여 선형적 산술 동작들을 수행할 때에는, 휘도 또는 다른 물리적 파라미터의 2개의 서로 다른 레벨들의 합(addition)이 오버플로우(overflow)되지 않도록, 이들을 구분되게 표현하는 것이 중요할 수 있다(만일 구분하기에 충분한 비트수가 없는 경우, 의도와는 달리, 2개의 서로 다른 휘도 레벨들이 1과 0들로 표현되는 하나의 패턴으로 함께 중복되어, 그들의 구분이 손실될 것이다). 몇몇 실시예에서, 서브픽셀당 더 많은 비트수(디지털 데이터 워드당 고정밀)에 대한 필요성은, 영역 리샘플링(area resampling) 동작 및 서브픽셀 샤프닝/스무딩 필터 동작들에서 발생할 수 있는 서로 다른 화소 영역들의 분수들을 합하는 것으로부터 야기될 수 있다.
도 2를 참조하면, 도식적으로 표현된 데이터 흐름(200)을 통해, 본 발명에서 개시된 몇 가지 개념들이 더 상세히 설명된다. 위에서 언급한 바와 같이, 인간 시각계는 인간의 눈에 자연스럽게 나타나는 장면에 적응하여 반응한다. 상기 장면은 특정한 휘도들(Y 값들), 공간적 분포 및 시간적 분포를 가진 광선으로서 인간의 눈에 들어오고, 인간의 시각계는 그에 대하여 반응하게 된다.
한편, 도 2의 sRGB 영상 파일(260) 내의 영상 데이터는 종종, 휘도들(Y 값들)을 선형적으로 표현하는 산술 처리가 가능한(arithmetically-processable) 코드가 아닌, 인코딩된 전압 구동 값들로서 저장된다. 상기 인코딩된 전압 구동 값들은, 종종 특정한 타입의 전형적 표시 장치(예를 들어, 도 1a의 CRT 63)를 구동하기 위한 것이고, 그러므로 상기 인코딩된 전압 구동 값들은 다른 종류의 표시 장치들(예를 들어, 도 1c의 표시 화면 111)에 대하여 직접적으로 사용 가능한 것은 아니다. 비전형 표시 장치(예를 들어, RGBRG Pentile 표시 장치)에서 사용하도록 변환하기 위해서는 종종, 산술적 처리가 가능한 휘도 코드들(Y 값들)(도 2의 전환 함수 230을 참조)을 표현하는 포맷으로 다시 비선형적으로 전환할 필요가 있다. 상기 선형화된 코드 신호들은 휘도 값들로서 처리된다(도 2의 처리부 252를 참조). 그리고나서 상기 결과들은 전압 구동 값들의 새로운 인코딩으로, 비선형적으로 압축된다. 휘도 값들을 처리 및 재처리하는 단계는 종종, 고정밀 이진수들(예를 들어, 서브픽셀당 12비트수 또는 그 이상)을 필요로 한다. 그 결과, 상기 비선형적 압축 회로(도 2에는 미도시됨, 도 3의 구간별 선형적 압축부 320를 참조할 것)는 비교적 큰 수의 어드레스 입력 비트들(일반적으로 12비트 또는 그 이상)에 반응하며, 이는 상기 비선형적 압축 회로(만일, 통상적인 LUT로서 수행된다면)로 하여금 의도하지 않게 커지는 결과를 야기한다.
여기서 몇 가지 새로운 개념들이 제안된다. 하나는, 데이터의 초기 선형화에 이은 상기 압축은, 상기 선형화된 데이터를 생성하는데 사용된 상기 복원 단계의 역 변환일 필요가 없다는 것이고, 또 다른 하나는, 고정밀 수직선을 따라 사용된 또는 및 사용되지 않은 고정밀 수 지점들의 개념이다.
상기 사용된 또는 사용되지 않은 고정밀 수 지점들의 개념은 단순히 추상적인 개념이 아니라, 도 2의 상기 데이터 흐름에서 증명되는 바와 같이, 물리적인 실제 세계 구현으로부터 발생하는 개념이다. 비록 영상 데이터는 종종 컴퓨터 표시 시스템에서 단순히 데이터 파일(260)로서 나타나지만, 시간을 거슬러 그 전 단계로 돌아가 sRGB 영상 파일의 상기 영상 데이터가, 비록 실제 발생된 것은 아니지만 자연 경관의 디지털 카메라 스냅샷으로부터 기인한 것으로 전제하는 것이 유용하다.
그에 따라, 도 2의 상기 예시적 데이터 흐름(200)당, 광학-디지털(optical-to-digital) 영상 획득 카메라(205)는, 서로 다른 색도(chrominance) 및 휘도(luminance) 레벨들(Y 들)의 색 스폿(color spot)들이 포함된 자연 경관(201)에 노출되었다. 설명을 위해, 상기 자연 경관(201)의 상반부는 모두 청색인 하늘 영역(도 1의 60a를 참조)이 포함되는 것으로 전제될 것이다. 또한, 우연히도 상기 경관(210)의 어느 한 영역에는, 선형적으로 증가하는 밝기들(Bp)(휘도와 혼동하지 말 것)의 선형적으로 이격된 영역들을 가진 순 적색의 컬러바(colored bar)가 있는 것으로 전제될 것이다. 또 다른 영역에는 동일한 구성의 순 녹색의 컬러바 및 순 청색의 컬러바가 있다. 상기 카메라가 상기 순 적색의 컬러바에 초점이 맞춰질 때 상기 카메라의 적색(R) 화소 센서들에 의해 감지될 수 있는 상기 서로 다른 휘도 레벨들은, 제1 그래프(204)의 연직축(Y)(202)에 따른 수 지점들로서 도시된다. 이론적으로, 상기 수직선(202)은 무수히 많은 수의 유일하게 나열되는(enumerated) 아날로그 수 지점들을 가진다. 그러나, 상기 카메라(205)의 설계자는 단지 매우 적은 유한한 상기 수 지점들의 서브셋트, 즉, 단 256개의 상기 수 지점들(다른 실시예에서는, 또 다른 매우 작은 2의 멱승 개일 수 있다)만을 사용하기로 결정했다. 비선형적 곡선(204)은 대략적으로, 상기 사용된 휘도 값 지점들, 및 디지털화된 수평축(203)의 대응되는 인간 시각계에 인지되는 밝기 값들(Bp들) 간의 매핑을 나타낸다. 상기 비선형적 매핑 곡선(204)은 상기 수직 Y 축의 더 높이 위치한, 더 밝은 사용된 휘도 레벨들이, 그들 간에 보다 더 큰 델타(Δ)를 가지며 상기 X 축에 매핑되도록 구성된다. 반대로, 상기 Y 축(202)의 더 낮게 위치한, 더 어두운 휘도 레벨들은 상기 매핑 곡선(204)를 통해 그들 간에 점진적으로 보다 더 작은 델타(Δ)를 갖도록 상기 X 축에 매핑된다. 이는 대략적으로, 인간의 시각계가 서로 다른 휘도 레벨들에 반응하여, 그 휘도 레벨들을 대응되는 밝기 레벨들로서 인지하는 과정에 대응된다.
보다 구체적으로, 상기 인간 시각계는 일반적으로, 상기 관측된 휘도 영역(202)의 더 높이 위치한, 밝은 쪽에서 매우 큰 변화량 또는 델타(예를 들어, Δ3 보다 더 큰 변화량)만을 인식할 수 있는 반면에, 상기 사용된 휘도 값들의 더 낮게 위치한, 어두운 쪽에서의 작은 델타(Δ)는 상당히 잘 인식한다. 도 2에 도시된 바와 같이, 상기 인식 가능한 델타들(Δ3, Δ2, Δ1 등)은, 상기 Y 축(202)을 따라 위에서 아래로 갈수록 점진적으로 더 작아진다. 만일 2 개의 매우 밝은 휘도 샘플들 간의 휘도 차이가 미리 설정된 값, 예를 들어, Δ3 보다 작은 경우, 평균적인 인간의 눈은 그것들을 서로 구분할 수 없을 것이므로, 효율성 측면에서, 상기 2개의 매우 밝은 휘도 샘플들을 디지털화된 직선(203) 상에 제공되는 구별 가능한 디지털 신호 인코딩들로 표현하는 것은 무의미할 것이다. 대신에, 상기 동일하게 인지되는 2개의 휘도 값들은 동일한 밝기 값으로 인코딩(양자화)되어야 한다. 보다 구체적으로, 어느 하나의 단일한 디지털 신호 패턴(예를 들어, FFhex)은 상기 윗쪽 끝에서 상기 구별 불가능한 휘도 값들을 표현하는 데에 충분하다. 상기 수직선(202) 상의 가까운 휘도 값들 간의 구별 불가능성(non-distinguishability) 및 상기 휘도 값들이 모두 중복되어(lumped together) 동일한 8비트폭의 이진 값(예를 들어, FFhex)으로 디지털적으로 인코딩될 때 발생하는 상기 양자화 효과의 결과는, 아날로그 수직선(202)에 따른 많은 수의 상기 고정밀 수 지점(number point)들이 사용되지 않음을 의미한다. 훨씬 더 적은 수의 서로 다른 휘도 값들, 즉, 선택된 256 개의 값들만이 상기 사용된 수 지점들이 된다. 상기 사용된 수 지점들은, 훨씬 더 많은 수의 사용되지 않은 수 지점들의 사이에 산재(intersperse)된다. 일 실시예에서, 각각의 사용된 휘도 값은 유일하고 산술적으로 표현되는, 12비트 수로 할당된다. 이론적으로, 가용한 12비트수를 가지면, 212 개의 12비트 수들이 있을 수 있다. 그러나, 그들 대부분은 상기 가상적 카메라(205)의 설계자에 의해 선택된 상기 양자화 과정 때문에, 사용되지 않게된다. 상기 212 개의 가능한 수들 중 단 256 개만이 사용된다. 상기 사용된 및 사용되지 않는의 개념은 이하 더 상세히 다뤄질 것이다.
비선형적 곡선(204)은 평균적인 인간의 눈이 반응하는 과정을 표현할지 모르지만, 카메라(205)의 설계자는 상기 곡선(204)을 정확히 복사하여 그것의 완벽한 역함수를 만들 필요는 없고, 약간 다른 곡선, 예를 들어, 변환 그래프(220)의 곡선(224)을 선택할 수 있다. 상기 제2 곡선(224)은, 수평축(222) 상의 감지된 휘도 크기들 및 수직축(223) 상의 대응되는 밝기 인코딩(brightness-encoding) 디지털 값들 간의 매핑을 제공한다. 상기 휘도크기-디지털코드 매핑 곡선(224)은 종종, 출력단에 아날로그-디지털(A/D) 컨버터를 가진 아날로그 가중 회로(206)을 사용하여 구현된다. 상기 A/D 출력단은 대개, 각각의 R, G, B 색중심면마다 상기 매핑 곡선(224)의 상기 Y 입력축(222) 상의 사용된 휘도 값에 대응되는 8비트 인코딩들을 출력한다. 상기 색중심면들은 R, G, B에 한정되지는 않으며, 일 실시예에서, 만일 RGBX 구성이 사용되는 경우, X로서 W(백색) 또는 C(청록색)의 색중심면을 더 포함할 수 있다.
영상 처리 기술에서 유용한 것으로 알려진 하나의 특정한 매핑 곡선(224)은 이른바 sRGB 곡선이다. 산업 표준 기관에 의하여 공식적으로 인정되지는 않을 수 있으나, 상기 sRGB 곡선(224)(제2 그래프 전체 220가 아닌, 곡선 224만 해당함)은 주요 영상 처리 회사들(예를 들어, 마이크로소프트, 휴렛패커드가 1966년경에 도입했다)에 의해 사용된다. 상기 sRGB 매핑 곡선(224)은 부드럽게 비선형적 상단(223a)로 이어지는, 선형적 하단(223d)을 갖는다.
이하 설명은 상기 sRGB 매핑 곡선(224)에 대한 통상의 기술자에 의해 일반적으로 알려져 있는 사항이 아니고, 본 발명의 개시 내용과 상기 사용된 및 사용되지 않은 고정밀 수 지점들의 개념을 보다 잘 이해하게 하기 위함이다. 첫째, 감마 유사(gamma-like) 함수들에 주어진 많은 수의 혼동스런 명칭들을 구별하기 위하여, 본 명세서는, 압축 곡선(compression curve)으로서, 파라미터 입력축(예를 들어, 수평축 222)을 따라 좌에서 우로 이동할 때에 기울기들이 점진적으로 감소하는, 실질적으로 비선형적인 매핑 곡선들을 언급할 것이다. 상기 sRGB 매핑 곡선이 포함되는 경우에는, 상기 실질적으로 비선형적인 매핑 곡선은 출력측 감마 매핑 함수로 언급될 것이다.
둘째, 본 명세서는, 복원 곡선(decompression curve)으로서, 파라미터 입력축을 따라 좌에서 우로 이동할 때에 기울기들이 점진적으로 증가하는, 실질적으로 비선형적인 매핑 곡선들(예를 들어, 235)을 언급할 것이다. sRGB 인코딩된 영상 파일이 다시 선형화되거나 복원될 경우, 상기 곡선들(235 등)은 입력측 감마 매핑 함수로 언급될 것이다. 즉, 곧 설명하게 될 상기 매핑 곡선(235)은 입력측 감마 매핑 함수의 일례이다(엄밀히 말하면, 상기 제1 곡선 204은 입력 파라미터가 휘도 값들 202이고, 그 출력은 서브픽셀당 8비트수의 신호들로서 제공되는 인지된 밝기 값들 203이므로 출력측 감마 함수이다. 그러나, 도 2의 방향은, 잘못하여 이를 입력 곡선으로 간주하게 할 수 있다. 제1 곡선 204 및 제 2 곡선 224의 결합은, 밝기 값들로 하여금 디지털 영상 파일 260에 나타나는 상기 8비트 디지털 인코딩 값들에 대략, 선형적으로 매핑되게 한다).
본 발명의 세 번째 측면은, 상기 출력측 매핑 곡선(224)은 몇 가지 다른 관점에서 정보 압축 및 양자화 곡선으로서 생각되어질 수 있다. 제1 관점에서, 상기 Y 수평축(222)은, 그를 따라 분포된 무수히 많은 수의 아날로그 수 지점들(각각의 수 지점은 무한한 정밀도를 가짐)을 가진 아날로그 수직선으로서 생각되어질 수 있다. 또는, 제2 관점에서, 상기 Y 수평축(222)은 이산적(discrete) 입력 지점당 H비트수의 정밀도를 가진 디지털화된 수직선으로서 생각되어질 수 있다. H는 8보다 클 수 있으며, 일 실시예에서, H는 12이다. 상기 디지털화된 수직선(222)의 이산적 지점들 중에서, 몇몇 지점들은 사용되고, 다른 지점들은 사용되지 않는다. 이상적으로는, 상기 디지털화된 수직선(222)의 둘 이상도 아닌, 단 하나의 사용된 H비트 표현된 이산적 지점이, 수직 출력축(Gout1 축)(223)의 대응되는 L비트 표현된 이산적 지점으로 매핑된다. 일 실시예에서, 각각의 Gout1 지점은 출력 지점당 8비트수의 디지털 정밀도를 갖는다. 상기 디지털화된 수직선(222)의 둘 이상의 사용된 H비트 표현된 이산 지점들이, 아무 문제 없이, 수직 출력축(223)의 대응되는 L비트 표현된 이산 지점으로 매핑될 수 있다. 디지털화된 수직선(222) 상의 상기 사용된 지점들만이 문제가 될 수 있다. 이러한 상기 Y 수평축(222)에 대한 제2 관점은 이하 보다 상세히 설명될 것이다.
원하는 정밀도를 표현하는 데에 비교적 높은(H), 그러나, 유한한 비트수가 주어진 경우, 상기 고정밀 디지털화된 수직선(222) 상에는, 상기 수직 출력축(Gout1) 상에서 발견되는, 이산적 출력 지점당 보다 적은 L비트수의 어떠한 정수 값도 쉽게 표현될 수 있다. 여기에서는 H=12, L=8인 경우를 예로 든다. 그러나 많은 변형들이 그와 비슷한 결과를 가질 수 있다(예를 들어, L=8이지만, H=10, 13, 또는 16인 경우). H=12로 가정하면, 수직축(223) 상에서 출발하여 거꾸로 상기 고정밀 수평축(222)으로 내려오는 경우, 수평축(222) 상의 12비트 표현된 가능한 4096개의 디지털 수 지점들 중 단지 256개만이 일대일 매핑될 것이다. 원래의, 또는 정방향 매핑(forward mapping)은 상기 고정밀 수평 입력 파라미터 축(222)으로부터 상기 저정밀 수직 출력축(223)으로 진행되기 때문에, 위와 같은 매핑은 여기서 역방향 매핑(back-mapping)으로 언급된다. 상기 수평축(222) 상에서 상기 256개의 역방향 매핑된 이산적 지점들(지점당 12비트수)은 본 실시예(H=12, L=8)에서, 사용된 고정밀 입력 지점들로 언급된다. 상기 4096개의 지점들 중 나머지 3840개의 지점들은 본 실시예에서, 사용되지 않는 고정밀 지점들로 언급된다.
이제, 내포된(implied) 정방향 매핑 처리에서 발생하는 것에 대해 보다 상세히 설명된다. 본질적으로, 상기 Y 수평축(222) 상에서 상기 드물게 사용된 256 개의 수 지점들의 상기 입력 데이터 지점당 12비트수는 상기 Y 수평축(222)으로부터 상기 곡선(224) 상의 교점에 대하여 연직 정방향(상??항)으로 추적(tracing)되며, 상기 교점으로부터 실질적으로 좌측으로 추적되어, 상기 수직 출력축(Gout1) 상에서 수직으로 가장 가까이 있는 이산적 8비트 출력 지점으로 매핑 및 압축된다. 또한, 디지털 양자화로 인해 이러한 정방향 매핑 처리에서, 사용되지 않는 고정밀 지점들은 수직으로 가장 가까운 상기 동일한 이산적 8비트 출력 지점으로 쓸어진다(get swept). 그러나 상기 사용되지 않는 고정밀 지점들의 상기 쓸어지는(sweeping in) 단계는 문제되지 않는데, 역방향 매핑(출력측 223으로부터 매핑 곡선 224으로 우측으로, 그리고 이어서 입력축 222으로 곧게 아래로 매핑) 동안, 각각의 상기 256개의 사용된 12비트 수 지점들이 재생되기 때문이다. 따라서, 상기 256개의 사용된 수 지점들의 어떠한 정보도, 수평축(222)으로부터 매핑 곡선(224)을 거쳐 수직축(223)으로 추적되는 정방향 매핑의 결합된 처리에서는 손실되지 않으며, 그 후, 수직축 상(223)의 동일한 8비트 표현된 지점에서 시작하여 매핑 곡선(224)을 거쳐 수평축(222) 상의 대응되는 12비트 표현된 지점으로 추적함으로써 역방향 매핑 처리가 수행된다.
도 2의 확대도(225)는 정방향 매핑 동안 발생하는 보다 상세히 상세한 처리를 도시하였다. 어느 주어진 매핑 교점에서의 상기 매핑 곡선(224)의 기울기는 제1 기울기(224a)로 언급될 것이다. 상기 sRGB 곡선(224)를 포함하는 예시된 제2 그래프(220)에서 상기 사용된 12비트 휘도 값들(Y)은 상기 수평축(222)을 따라 훨씬 많은 수(3840개)의 사용되지 않는, 그러나, 또한 12비트수로써 유일하게 디지털적으로 표현될 수 있는, 이산적 수 지점들 사이에 드물게 분포된다. 상기 매핑 곡선(224)은 하단의 밝기 서브영역(223d)에서 45° 각도의 기울기를 가진 비압축적 선형적 구간을 가진다. 상기 sRGB 매핑 곡선(224)의 나머지 비선형적 구간들은 상기 선형적 베이스 구간(223d 영역의 구간)으로부터 부드럽게(구부러짐 없이) 결합되도록 설계된다. 그림에서는 크기가 정확히 맞추어지지 않고, 따라서, 선형적 베이스 구간(223d 영역의 구간)이 의도하는 45° 각도의 기울기보다 더 큰 기울기를 갖는 것처럼 보이는 것에 주의해야 한다. 상기 밝기 서브영역(223d)의 상기 선형적 베이스 구간은 45° 기울기를 가지므로, 상기 선형적 베이스 구간은, 상기 수평 Y 입력축(222)의 좌단에서 나타나는 사용된 휘도 값들 및 상기 서브픽셀당 8비트수의 디지털 출력축(223)의 하단(223d) 근처의 대응하여 표현되는 이산적 밝기 값 지점들 간에 일대일 매핑을 제공한다.
상기 매핑곡선(224)를 따라, 상기 기울기(224a)는 점진적으로 0으로 감소한다. 각각의 기울기가 점진적으로 감소함에 따라, 상기 수평축(222) 상의 사용되지 않는 H-정밀 이산적 지점들이 상기 수직 출력축(223) 상의 상기 하나의 L-정밀 출력 지점으로 쓸어진다(swept). 상기 확대도(225)는 상기 8비트 출력 지점(223b) 및 사용된 12비트 입력 지점(222b)을 고려한다. 12비트 입력 지점(222c)은 인접하여 위치한, 사용된 지점이다. 그러나, 상기 사용된 이산적 입력 지점들 간에는, 많은 수의 사용되지 않는 이산적 입력 지점들이 있다. 상기 사용되지 않는 이산적 입력 지점들의 개수는, 상기 기울기(224a)가 점진적으로 0으로 감소할 때에, 증가한다. 상기 쓸어진(swept-in) 지점들의 상기 개수의 증가는 압축 동작에 대응한다. 상기 하나의 사용된 입력 지점(222b) 및 그 주변의 사용되지 않는 지점들의 상기 하나의 8비트 출력 지점(223b)으로의 중복(lumping together)은, 디지털 양자화 동작에 대응한다.
상기 정방향 매핑되어 출력된 상기 수직축(223)을 따른 상기 256개의 사용된 이상적 수 지점들이, 상기 수 지점을 표현하는 데에 단지 유일한 8비트 패턴을 가질 경우, 만일 상기 256개의 서브픽셀당 8비트수의 인코딩된 수들의 진정한 산술적 휘도 값들 또는 광도 레벨들을 디지털적으로 표현하기 원한다면, 상기 8비트 패턴의 수들을, 예컨대 상기 매핑 곡선(224)를 통해 상기 수평축(222)으로 역방향 매핑함으로써 상기 Y 직선으로 재변환할 필요가 있을 것이다. 상기 역방향 매핑은 반드시 12비트 결과들을 만들 필요는 없다. 몇몇 경우, 13비트 결과들을 만들기 원할 수도 있다. 다른 경우, 상기 역방향 매핑으로부터 10비트 결과들을 만들기 원할 수도 있다. 상기 서브픽셀당 12비트수에는 특별한 의미가 없다. 상기 비트수의 선택은 상기 시스템의 설계자의 마음대로, 그리고 상기 설계자가 상기 역방향 매핑된 표현들을 갖고 이루려 하는 목적들에 따라 결정된다. 본 실시예에서, 상기 수 지점당 12비트 도메인으로 역방향 매핑할 경우, 상기 12비트수를 갖고, 이론적으로는 상기 단 256개의 사용된 및 구별된 값들보다 더 많이 표현하는 것이 가능해진다. 그러나, 상기 카메라 내 회로의 A/D 컨버터(206)가 동작하는 과정으로부터, 상기 256개를 초과하는 고정밀 수 지점들은 상기 A/D 회로(206)에 의해 출력된 상기 256개의 이산적 출력 값들 중 대응하는 부분을 갖지 않음이 상기(recall)되어야 한다. 상기 초과된 고정밀 수 지점들은 사용되지 않는 수 지점들이다.
상기 수직축(Gout1)(223)의 8비트 이산적 지점들 및 상기 입력 수직선(222) 상의 수들의 연속체(continuum) 간에 발생하는 처리 과정을 보다 상세히 살펴보면, 상기 정방향 매핑(상기 수평축222으로부터 상향으로, 이어서, 상기 수직축223으로 좌향으로 이뤄지는 매핑)동안, 하나의 출력 지점(예컨대, 223b)으로 상기 사용된 및 사용되지 않는 지점들이 쓸어지며(sweeping in) 중복되는(lumping-together) 단계는, 상기 매핑 곡선(224)이 비선형적인 곳들에 있어서 대칭적 처리가 아니다. 보다 구체적으로, 상기 매핑 곡선(224a)은 상기 사용된 입력 지점(222b)의 우측에서 보다 상기 사용된 입력 지점(222b)의 좌측에서 더 급하기 때문에, 상기 좌측에서보다 상기 우측에서 더 많은 사용되지 않는 지점들이 쓸어진다(swept in). 각각의 이산적 8비트수 표현(예컨대, 수 지점 223b)은 상기 이산적 지점에 할당되는 상기 지점 주변의, 대칭적으로 분포되는 대략 1/256 번째의 대응되는 수직축 영역을 갖는 반면(여기서, 상기 지점223b은 본질적으로 상기 양자화 영역의 중심에 있다고 전제한다), 상기 정방향 매핑에 의해 쓸어지는 상기 사용되지 않는 H-정밀 수 지점들은 대칭적으로 분포되지 않는다. 상기 입력축(222) 상의 얼마나 많은 상기 수 지점들이, 그리고 어느 수 지점들이, 상기 정방향 매핑 동작 동안 상기 이산적 지점(223b)으로 매핑되어 구간별 양자화되고 중복될 것인지를 결정하는 것은 상기 수 지점(222b)의 상기 좌측과 우측에서 서로 다른 기울기(224a) 및 상기 이산적 지점(223b)의 상기 양자화 영역의 크기(reach)의 결합이다. 비대칭적 쓸어지며 중복되어 양자화되는 단계를 고려한 이 개념은, 상기 확대도(225)에서, 상기 사용된 지점(222b)의 상기 우측에서보다 상기 좌측에서 더 많은 사용되지 않는 지점들이 상기 이산적 지점(223b)의 상기 양자화 영역으로 중복되는 것에 의해 도식적으로 나타나 있다. 이하에서 보다 명확해지겠지만, 의도치 않게 너무 많은 지점들을 쓸어서 중복시키는 단계는 문제가 될 수 있다(상기 sRGB 매핑 곡선224의 영역에서는 문제로 인식되지 않으나, 후술할, 비평활 함수 등 비sRGB 압축 함수들의 구현에서는 잠재적인 문제가 발생한다).
상기 정방향 매핑 처리에서 쓸어지는(sweeping in) 단계의 비대칭성 및 범위에 관한 이상의 상세한 설명은 뚜렷한 쓸모가 없는 것처럼 보일 수 있지만, 이하 도 3의 확대 영역(225)에서 상기 압축 함수가 임의의 비평활 함수일 때에, 상기 비대칭성 및 범위에 대한 쓸모가 명확히 보여질 것이다. 도 2의 실시예에서, 상기 매핑 곡선(224)은 상기 예시된 사용된 지점(222b)의 정확히 위에 위치되는 구분점(breakpoint) 위치에서 상기 기울기가 급하게 불연속적으로 감소(평탄화)하도록 수정되었다고 가정하자. 이 경우, 상기 구분점 너머의 기울기가 0으로 감소함에 따라 상기 사용된 지점(222b)의 상기 우측에서의 더 많은 사용되지 않은 수 지점들은 상기 수직축 상의 상기 정방향 매핑된 지점(223b)으로 쓸어지며 양자화되어 중복될 것이다. 만일 상기 우측에서의 상기 불연속적이며 감소된 기울기의 크기가 충분히 큰 경우, 상기 수직선(222) 상의 그 다음 사용된 지점(222c)은 의도치 않게 상기 사용된 지점(222b)과 함께, 상기 정방향 매핑된 지점(223b)으로 쓸어질 것이다. 상기 이산적 지점(223b)의 상기 수직선(222)의 디지털화된 포맷으로의 후속되는 역방향 매핑 단계에서 상기 사용된 지점들(222b, 222c) 간의 구별이 손실될 것이므로, 이와 같은 결과는 바람직하지 않다. 상기 지점들은 함께, 동일한 역방향 매핑된 지점(약간의 양자화 에러를 갖는 사용된 지점222b의 근처 지점에서)으로서 다시 나타날 것이다. 상기 바람직하지 않은 결과는 상기 예시된 sRGB 매핑 곡선(224)과 같은 평활(smooth)이고 잘 행동되는(well behaved) 감마 보정 곡선이 사용될 때에는 일반적으로 발생하지 않을 수 있지만, 만일 그에 대체한, 항상 평활하거나 잘 행동되지는 않는 매핑 곡선(도 3의 320을 참조)이 사용될 경우, 상기 바람직하지 않은 결과가 발생할 수 있다. 본 발명의 목적 중의 하나는, 상기 정방향 매핑 동안 상기 양자화되어 중복되는 단계에 의해 손실될 수 있는 상기 사용된 지점들의 수를 감소 또는 제거하는 것이다. 보다 구체적으로, 입력 수직선(예컨대, 222)의 일부에서만 무손실 압축 단계가 제공될 수 있는 경우의 선택적 상황에서, 본 발명에 따르면, 먼저, 무손실 압축 단계가 가장 요구되는 상기 입력 공간 내의 영역들(예컨대, 도 1b의 60a)을 식별하고, 다음으로, 상기 입력 공간 내의 상기 식별된 영역들에 속하는 수 지점들의 무손실 압축이 확실히 발생하도록 상기 압축 함수를 조절한다.
여기서, 비대칭적 한데 중복되는 값들(lumping-together-of-values)을 제외하고, 상기 감마 보정 곡선(224)의 부가적인 상세한 측면이 다시 주목될 가치가 있다. 기울기가 점진적으로 감소하기 때문에, 상기 매핑 곡선(224)은 적어도 비선형적 구간들에서는 데이터 압축의 어느 형태를 제공하는 것으로서 보여질 수 있다. 예컨대, 상기 사용된 수 지점들(222b 및 222c) 간 델타(차이)의 크기를 정확히 표현하기 위하여, 지점당 12비트수가 필요할 수 있는 반면, 상기 수평 수직선(222)으로부터 상기 수직축(디지털 Gout1 축)으로 정방향 매핑되는 상기 256개의 사용된 지점들을 구별적으로 표현하는 데에는 보다 적은 수의 비트수(예컨대, 지점당 8비트수)가 충분하다. 그러므로, 상기 제2 그래프(220)에 도시된 상기 출력측 감마 함수는, 표현된 지점 도메인(수평축222)당 12비트수로부터 표현된 지점 도메인(수직축223)당 8비트수로 전환함으로써, 데이터 압축 단계의 한 형태를 제공하고 있다. 상기 정방향 매핑에 의해 수직축(223) 상의 대응되는 이산적 지점으로 중복되는 상기 수직축(222) 상의 상기 사용되지 않는 수 지점들의 수는, 상기 수직축(223)의 하단으로부터 상단으로 이동함에 따라 점진적으로 더 많아진다. 보다 구체적으로, 상기 매핑은 상기 선형적 구간(45° 기울어진 구간)(223d)의 영역에서는 일대일 매핑이다. 그러나, 상부 수직 구간(223a)의 영역으로 진행함에 따라, 상기 정방향 매핑 및 압축 함수는 16 대 1 보다 높은 압축비를 제공한다. 가능한 212개의 입력 값들로부터, 구별되는 단 28개의 출력 패턴들로 진행되는 평균적인 압축비는 24대1, 즉, 16 대 1이다. 상기 평균적인 압축비는, 상기 선형적 구간(223d)에서 제공되는 상기 일대일 비압축(non-compressing) 비율 및 상기 매핑 곡선(224)의 우측 먼 곳에서 제공되는 상기 16 대 1 보다 큰 압축비를 포함한다. 언급한 바와 같이, 상기 제2 그래프(220)의 그림은 개략적인 것이고, 크기가 맞추어져 있지 않다(not to scale). 실제로는, 상기 매핑 곡선(224)은 우측 영역에서 기울기 0으로 평탄화될 수 없다. 이는 상기 영역에서 무한대 대 1의 압축비를 내포할 것이기 때문이다. 따라서, 실제로, 상기 매핑 곡선(224)의 기울기(실용화되는 도메인에서의 기울기)는 본질적으로 0보다 항상 크다(그러나, 상기 압축 단계가 포화된 최대 값을 허용하는 경우, 이론적으로 상기 매핑 곡선은 0으로 수렴하는 기울기를 가진 최종 곡선 구간을 포함할 수 있다).
도 2의 상기 카메라(205)의 동작으로 간단히 돌아오면, 상기 카메라의 상기 A/D 컨버터(206)는 메모리 장치(260)로 전송되는(카메라 I/O 회로에 의해 더 수정될 지 모르는) 출력 신호(261)를 생성한다(도 2의 260은 도 1a의 60에 대응됨에 주목하라). 상기 카메라 출력 신호(261)는 각각의 R, G, B 주요 색중심면에 대한 서브픽셀당 8비트수의 신호 스트림으로서 보여질 수 있다. 상기 신호들(261)은 도 2에 도시된 암시적인 데이터 흐름선(261)에 의해 지시되는 바와 같이, 상기 sRGB 영상 파일(260)의 대응되는 부분들에 순차적으로 기록된다.
단순히, sRGB 영상 파일(260)이 존재하는 것이 카메라(205)가 실제로 상기 영상 파일을 만들기 위해 사용되는 것을 의미하지는 않는다. 상기 카메라의 사용은 sRGB 영상 파일이 얻어질 수 있는 많은 가능한 방법들 중 단 하나일 뿐이다. 또한, sRGB 영상 파일(260)을 생성하기 위한 상기 카메라(205) 또는 다른 수단의 사용은, 표시 장치(예컨대, 도 1a의 CRT 63, 도 1b의 LCD 63, 도 1c의 로컬 백라이트 디밍되는 LCD 패널 110 등)가 상기 생성된 영상 파일(260)로부터 표시 영상을 생성하려는 동작과 동시에 또는 같은 위치에서 발생했을 필요는 없다. 일 실시예에서, 상기 파일(260)은 상기 파일의 데이터가 처리되며 상기 표시 장치에 의해 형상이 표시되기 전에, 원거리에 걸쳐 전송되며 오랜 시간동안 저장될 수 있다. 상기 파일(260)에서 서브픽셀당 8비트수의 형태로서 표현되는 서브픽셀들을 갖는 것의 장점은 고정밀 포맷(예컨대, 서브픽셀당 12비트수)으로 데이터를 저장하는 단계에 비해 전송 대역폭 요구량 및 스토리지 요구량이 감소된다는 것이다.
도 2에는 하나의 내포된 출력측 감마 함수(224)가 도시되어 있지만, 상기 sRGB 영상 파일의 각각의 R, G, B 컬러 채널은 각각의 서브픽셀 값들에 대해 적용되는 약간 상이한 감마 전환 곡선(224와 유사한 곡선)을 가질 수 있는 것으로 이해되어야 한다. 상기 제2 그래프(220)에 도시된 선형적 베이스 구간(223d) 및 나머지 비선형 평활 곡선(224)의 결합은, 영상 파일(260)을 생성할 때에 각각의 3개의 주요색들(R, G, B)에 대해 내포적으로 또는 실제로 사용될 수 있는, 많은 잠재적인 상이한 출력측 감마 보정 곡선들의 표현인 것으로 이해되어야 한다. 일반적으로, 상기 곡선들은 평활(smooth)하다. 상기 곡선들은 기울기의 급격한 변화가 없다.
상기 sRGB 영상 파일(260)에 저장된 상기 영상 데이터가 통상적인 sRGB 부응(compliant) 표시 유닛 상에 대응되는 영상을 생성하는데 사용되는 경우, 상기 파일(260)의 상기 이미 8비트 인코딩된 서브픽셀 데이터는 단순히 도 1c의 시스템 프레임 버퍼(130)의 래스터 주사된 영역(135)에 복사되며, 이어서, 통상적인 화면 페인터(도시된 유닛 120을 대신하는 페인터)는 상기 영역(135)을 스캔하고, 이후의 통상적인 처리 단계 및 상기 대응되는 영상의 궁극적인 표시를 위해, 전형적인 CRT 부응 표시 유닛(도 1a의 62, 63 참조)에 상기 이미 8비트 인코딩된 서브픽셀 구동 신호들을 직접 포워딩한다.
그러나, 상기 sRGB 영상 파일(260)에 저장된 상기 데이터가 비전형 표시 화면(예컨대, RGBRG 펜타일 배열된 화면) 상에 표시되는 경우, 상기 파일(260)로부터 얻어진 각각의 서브픽셀당 8비트수의 출력 데이터 신호들(262)은 일반적으로 상기 비전형 표시 수단에 맞도록 변경(재처리)될 필요가 있다. 예를 들어, 표시전 처리(pre-display processing)를 위해, 상기 R, G, B 채널 스트림들을, 도 1b의 82, 도 1c의 132, 또는 도 2의 252와 같은, 각 컬러 채널의 전처리 파이프라인부에 인가할 필요가 있을 수 있다. 상기 전처리 파이프라인부의 개수는 상기 3개의 입력 컬러 채널들에 대하여 3개가 아닐 수 있다. 예를 들어, 타겟 표시 화면(110)이 RGBW 서브픽셀 배열을 사용하는 경우, RGBW 출력 컬러 채널들에 대하여 적어도 4개의 전처리 파이프라인부가 있어야 할 수 있다. 그러나, 상기 영상 데이터 전처리 단계가 정확하게 발생하기 전에, 상기 sRGB 파일 또는 메모리(예컨대, 도 1b의 메모리 60 ,도 1c의 파일 160, 또는 도 2의 파일 260)로부터 출력되는 상기 서브픽셀당 8비트수 인코딩된 표시 구동 값들은, 각각의 상기 색중심면들에서 적절한 휘도 크기들(Y)을 산술적으로 표현하는 디지털 신호들을 생성하기 위하여 적절한 역방향 매핑 동작을 사용하는 단계에 의해 디코딩되어야 할 것이다. 즉, 상기 데이터는, 예컨대, 입력측 전환 그래프(230)의 수직축(233) 상의 상기 서브픽셀당 12비트 표현들을 재구성하기 위하여, 입력측 감마 함수에 의해 복원될 필요가 있을 것이다. 이는 루틴하게(routinely) 이루어진다. 예를 들어, 상기 복원 단계는 8개의 어드레스 입력 라인 및 12개의 데이터 출력 단말을 갖는 디지털-디지털(digital-to-digital) 룩업 테이블(LUT)을 사용하여 이루어진다. 만일 3개의 입력 컬러 채널들(예컨대, RGB)이 이와 같이 나란히 복원되어야 할 경우, 회로에는 3개(반드시 동일할 필요는 없다)의 상기 8-to-12 복원 LUT들이 요구될 것이다. 이상에 언급한 바와 같이, 각각의 8-to-12 복원 LUT는 회로 공간을 소모한다. 그러나, 이는 12-to-8 재압축 LUT에서 만큼 크지는 않다(각각의 12-to-8 재압축 LUT는 대략 16배 더 클 것이다).
상기 데이터 전처리부(예컨대, 82, 132, 252)의 동작에서 더 나아가, 상기 전처리된 데이터 신호들은 재압축되어야 할 수 있다(예컨대, 도 1b의 경우, 재압축 LUT 83에 의해서). 그러나, 앞서 언급한 바와 같이, 12-to-8 재압축 LUT들의 사용은 문제가 된다. 각각의 12-to-8 재압축 LUT는 소모되는 다이 공간(die space)의 면에서, 대응되는 8-to-12 복원 LUT보다 훨씬 더 큰 경향이 있다. 그리고, RGBW 또는 RGBCW(C는 청록색) 등 다중색 표시 시스템에서의 출력 컬러 채널의 수는 3보다 크기 때문에, 상기 다중색 표시 시스템이 사용되는 경우, 상기 다이 공간 소모는 훨씬 더 큰 문제가 될 것이다.
상기 도 2의 예에서, 12-to-8 재압축 기능을 갖기 위한 바람(desire)은 사실, 상기 전처리부(252)가 데이터 전처리 동작을 수행한 후에 곧 발생한다. 그러나, 먼저, 도 2에서 12-to-8 재압축이 발생할 필요가 없는 경우가 고려될 것이다. 도 2의 파이프라인부(252)는 도 1c의 전처리부(132)에 대응된다. 도 2의 후처리 파이프라인부(259)는 도 1c의 후처리부(139)의 내부에 대응된다. 도 2에서는 전처리부(252) 및 후처리부(259)의 사이의 중간에 상기 워드당 8비트수의 프레임 버퍼(130)를 도시하지 않고, 서브픽셀당 12비트수의 버퍼 메모리(253)를 위치시키는 것이 일시적인 해결 방안(이후 곧 폐기될 방안)으로서 도시되었다. 몇몇 실시예에서 버퍼 메모리(253)가 필요할 수 있는 한 가지 이유는, 서브영역 베이시스(basis)에 의한 서브영역 상의 로컬 백라이트 디밍 등과 같은 동적 제어가 동작할 때, 상기 후처리부(259)는 영상 오브젝트들의 합성 모음(collection) 상에서 동작할 필요가 있는데, 상기 버퍼 메모리(253)가 상기 합성 영상의 고정밀 형태(예컨대, 서브픽셀당 12비트수)가 형성되는 곳에 있기 때문이다. 도시되지는 않았지만, 다른 데이터 처리부들 및 심지어 외부의 CPU(150)(도 1c의 인터페이스 140을 통해 동작하는 CPU)는, 상기 합성 영상의 형성에 기여하기 위하여 상기 버퍼 메모리(253)에 부가적인 영상 데이터를 동시적으로 기록할 수 있다. 따라서, 상기 전처리부(252)만이 상기 버퍼 메모리(253)에 배타적인 기록 접근(write access)을 갖는 것으로 전제될 필요는 없다.
고정밀 영상 버퍼(253)(예컨대, 서브픽셀당 12비트수를 저장하는 버퍼)로 교환하는 데에 따른 문제의 일부는, 현대적인 표시 패널(도 1c의 110 등)이 매우 높은 화소 정밀도(화소 열 내지 서브픽셀 열당 많은 수의 개별적으로 제어되는 화소 내지 서브픽셀들, 그리고, 프레임당 많은 수의 화소 열들)를 갖는 경향이 있다는 것이다. 그러므로 서브픽셀당 12비트수의 프레임 버퍼(253)으로 교환하는 것은 일반적으로 상기 화면 상의 서브픽셀들을 표현하는 데이터를 저장하기 위해 많은 양의 시스템 프레임 버퍼 메모리를 필요로 할 것이다. 그러나, 더 큰 문제는 상기 개수가 12로 고정되지 않는다는 것이다. 시스템 설계자들은 마음을 바꿔, 하나 또는 그 이상의 상기 전처리부(252) 및/또는 후처리부(259)가 예컨대, 서브픽셀당 13비트수 또는 서브픽셀당 11비트수의 정밀도를 갖고 동작하도록 결정할 수 있다. 전자의 경우(즉, 서브픽셀당 13비트수의 정밀도를 갖고 동작하게 하는 경우), 상기 가상화된 서브픽셀당 12비트수의 프레임 버퍼(253)는 너무 작아서 사용이 불가능하게 된다. 후자의 경우(즉, 서브픽셀당 11비트수의 정밀도를 갖고 동작하게 하는 경우), 상기 스토리지 용량의 일부가 낭비된다. 그러나 상기 서브픽셀당 12비트수의 포맷에 저장하는 것의 또 다른 문제는, 130과 같은 시스템 프레임 버퍼들에 대해 가용한 이미 존재하는 설계들은, 상기 서브픽셀당 8비트수의 포맷에서, 효율적으로 구성되는 많은 수의 고밀, 고속 액세스 가능한 메모리 워드들을 갖도록 설정되어 왔다는 것이다. 이와 같이, 서브픽셀당 8비트수에서 영상 관련 데이터를 저장하기 위하여 이미 설계된 효율적으로 집적된 메모리 설계들의 장점을 이용하지 않는 것은 낭비일 것이다.
그럼에도 불구하고, 일시적으로 제안된 큰 버퍼(253)의 해결 방안이 존재한다고 전제하면, 도 2에서 상기 입력측 감마 함수 모듈(230)에 의해 생성된 출력 데이터(251)는 각각의 서브픽셀의 휘도가 12비트 크기로서 산술적으로 표현되는, 상기 신호(261)의 복원된 형태인 것으로 보여질 수 있다. 상기 선형화된 데이터 신호(251)는 하나 또는 그 이상의 영상 데이터 변환 동작들에 의한 변환을 위하여 전처리 모듈(252)에 입력된다. 예를 들어, 상기 영상 데이터 전처리 파이프라인부(252)는 하나 또는 그 이상의 입력 컬러 채널들(RGB)로부터 상기 선형화된 출력 데이터(251)를 픽업하여, 상기 선형화된 입력 데이터(251)의 흐름 상에서 하나 또는 그 이상의 산술적 처리들을 수행할 수 있다. 상기 산술적 처리들은 인접한 일부분의 같은 색의 서브픽셀 휘도 값들이 함께 더해져 상기 표시 화면(111)에 상기 서브픽셀 구성(예컨대, 펜타일, RGBW 등)에 대응되는 영역 리샘플링된 값들을 생성하는 이른바 영역 리샘플링(area-resampling) 단계를 포함할 수 있다. 동시에, 또는 그 이후에 영상 샤프닝 필터(image-sharpening filter) 동작들이 상기 서브픽셀 데이터에 적용될 수 있다. 또는, 화질을 개선하기 위하여, 컬러 리밸런싱 필터(color rebalancing filter) 동작들이 상기 서브픽셀 데이터에 적용될 수 있다.
상기 영상 데이터 전처리부(252)에 의해 생성된 상기 산술적으로 또는 그밖의 디지털적으로 재처리된 데이터 신호들은, 일시적인 저장을 위해, 12비트폭의 출력 버스(261)를 따라 상기 가상의 서브픽셀당 12비트수의 메모리 버퍼(253)에 출력된다. 즉, 상기 영상 데이터 전처리부(252)에 의해 출력된 상기 변환된 고정밀 데이터 아이템들은 서브픽셀당 12비트수의 데이터 오브젝트들로서 상기 가상적 메모리 버퍼(253)에 가상적으로 저장된다(이하 곧 설명되겠지만, 본 발명에 따르면, 상기 가상적 메모리 버퍼 253는, 8비트 프레임 버퍼에 이어지며 그 뒤 이어서 도 3에 도시된 320-130-330 시리즈와 같은 복원 모듈에 이어지는, 실제의 재압축 모듈로 대체될 것이다).
상기 후처리부(255)로부터 출력되어 출력 선(264)을 따르는 후처리된 영상 데이터는, 그 다음, 선택적으로(optionally) 출력측 감마 전환 함수 또는 또 다른 데이터 재압축 모듈(270)에 제공될 수 있으며, 그 뒤 상기 압축된 데이터는 대응되는 표시 유닛 또는 또 다른 데이터 신호 수신 장치에 전송될 수 있다. 또는, 상기 영상 데이터 후처리부(259)로부터 출력된 상기 서브픽셀당 12비트수(또는 고정밀)의 데이터는 표시 장치(도 1c의 110)의 전면 셔터들 및 백라이트 디밍 블록에 인가될 수 있다. 또는, 상기 출력된 데이터는 시간적/공간적 디더링(도 1b의 67 참조)을 제어하는 데에 사용될 수 있다.
도 2의 모듈들(230, 252, 259)에 있어서, 상기 표시 장치를 구동하는 각각의 출력 컬러 채널들(예컨대, RGBW)에는 서로 다른 입력측 및 출력측 감마 전환 함수들(220, 230)과 서로 다른 중간(in between) 처리 단계들(252, 259)이 적용될 수 있다. 상기 출력 컬러 채널들은 상기 입력 컬러 채널들과 그 개수 또는 색이 같을 필요가 없다. 예를 들어, 상기 출력 컬러 채널들은 단순한 RGB가 아니라, RGBCW 타입의 것일 수 있다.
도 3에는, 도 2의 상기 가상적 버퍼 메모리(253)를 대체하여 사용될 수 있으며, 모듈들(320, 130, 330)을 갖는 대체적 메모리 시스템이 도시되었다. 보다 구체적으로, 도 3에 도시된 상기 대체적 메모리 시스템은 비인과적 데이터 압축(본 실시예에서, 서브픽셀당 12비트수로부터 서브픽셀당 8비트수로 압축)을 제공하기 위하여, PWL 함수(325)로 정의되는 실질적으로 구간별 선형적(PWL)인 제1 데이터 변환을 구현하는 출력측 의사감마(pseudo-gamma) 함수 전환 모듈(320)을 포함한다. 또한, 상기 대체적 메모리 시스템은 상기 시스템 프레임 버퍼(130)(서브픽셀당 8비트에서 데이터를 저장하는 버퍼), 및 데이터 아이템당 8비트수의 도메인으로부터 다시 상기 서브픽셀당 12비트수의 산술적 표현 도메인으로 전환하기 위하여 구간별 선형적(PWL) 데이터 변환 함수(335)에 의존할 수 있는 입력측 의사감마(pseudo-gamma) 전환 함수 모듈(330)을 포함한다(또는, 단지 8 입력 어드레스 비트를 갖는 복원 LUT는 12 입력 어드레스 비트를 갖는 압축 LUT 에 비해, 대략 16배 더 작고 16배 덜 복잡하기 때문에, 모듈330에는 데이터 변환 LUT가 사용될 수도 있다). 이 대체적 메모리 유닛(320-130-330)이 상기 도 1c 및 도 2의 시스템에 포함되는 과정을 보다 잘 이해하기 위하여, 도 3에는 상기 시스템의 다운스트림(downstream)부가 도시되었다. 상기 다운스트림부(259)는 상기 입력측 의사감마 함수 전환 모듈(330)에서 생성된 상기 서브픽셀당 12비트수의 출력 신호(263)를 수신하는 영상 데이터 후처리부(259)를 포함하는 것으로 도시되었다.
도 3에서 또한, 상기 제1 PWL 데이터 전환 모듈(320)은 서로 이어지는(attached) 구간별 선형적 매핑 구간들로 실질적으로(substantially) 구성되는 점을 제외하면, 상기 출력측 감마 전환 함수를 대략 모방한다. 상기 선형적 매핑 구간들 중 하나는, 도면 부호 325m으로 식별되는 선형 구간이다. 각각의 선형 구간(예컨대, 325m)은, 도 3의 제1 그래프(320)의 좌표 공간에 위치된 시작하는 구분점(BkPt)(325o), 상기 구간으로 하여금 상기 시작하는 구분점으로부터 우측으로 연장되게 하는 상수 기울기 m, 그 다음 구분점(이 구분점은 없을 수 있다), 및 상기 구간별 선형적 구간(325m)이 상기 시작하는 구분점(325o)으로부터 확장되는 제한된 확장 거리 내지 적용가능 영역(R)을 갖는 것으로서 정의될 수 있다.
확대경(225)에 의한 확대도(326)를 참조하면, 어느 주어진 매핑 곡선 구간의 압축비는 상기 구간에서의 기울기와 관계된다는 것을 상기해야 한다. 수직축 상의 어느 주어진 이산적 지점(예컨대, 323b)의 압축 쓸어짐(sweep)은 또한, 그 지점의 양자화 영역에 관계된다. 보다 구체적으로, 예시된 확대도(326)에서, 각각의 8비트수의 이산적 출력 지점(예컨대, 323b)의 양자화 영역으로서, 상기 수직축의 사용된 영역의 약 1/256번째가 할당된다. PWL 함수(325)를 통한 역방향 매핑에 대한 기울기 및 상기 양자화 영역의 결합은 가상적 정방향 매핑 동안 상기 수평축(322) 상의 얼마나 많은, 어느 수 지점들이 상기 이산적 지점(예컨대, 323b)으로 양자화되어 중복될 것인지를 결정한다. 또한, 상기 결합은 상기 정방향 매핑 동안 어느 사용된 고정밀 수 지점들(예컨대, 322b, 322c)이 손실되거나 손실되지 않을지 결정한다. 이상에서 설명한 바와 같이, 상기 정방향 매핑 처리 동안, 특히, 손실적(lossy) 압축 및/또는 후속된 손실적 복원이 허용될 수 없는 도메인들(예컨대, 도 1b의 60a)에 대해서, 고정밀 수 지점들(예컨대, 322b, 322c)의 손실을 제거하는 것이 바람직하다. 이상에서 설명한 바와 같이, 상기 정방향 매핑 함수의 기울기가 0에 가까울수록, 상기 정방향 매핑 함수에 의해 상기 수직축(323)의 대응되는 이산적 지점(예컨대, 323b)으로 쓸어지며(swept-in) 양자화되어 중복되는(lumped together) 사용된 및/또는 사용되지 않는 수 지점들의 개수가 더 많다.
보다 구체적으로, PWL 압축 함수의 어느 주어진 구분점(325b)에서 우측 선형적 구간(325c)이 좌측 선형적 구간(325a)에서 보다 실질적으로 더 작은 기울기를 갖는 경우, 상기 우측 선형적 구간(325c)의 압축비는 상기 좌측 선형적 구간(325a)에서 보다 실질적으로 더 클 것이고, 상기 정방향 매핑 동안 더 많은 수의 사용된 또는 사용되지 않는 수 지점들을 이산적 양자화 지점(323b)으로 쓸어지게 할 것이다. 어느 주어진 선형적 매핑 구간(325c)의 쓸림 범위는, 둘 또는 그 이상의 사용된 수 지점들(322b, 322c)이 하나의 동일한 이산적 지점(323b)으로 쓸어지는 범위일 수 있다. 이 경우, 하나 또는 그 이상의 상기 사용된 수 지점들(322b, 322c)는 상기 역방향 매핑 동작(복원 알고리즘에 상관 없이) 동안 손실될 것이다. 즉, 상기 동작은 손실적(lossy) 압축 처리일 것이다. 상기 손실적 압축 처리는 상기 사용된 수 지점들(322b, 322c)이 하나의 디지털 이산적 지점(323b)으로 양자화될 때에, 상기 사용된 수 지점들(322b, 322c) 간의 구별이 훼손되기 때문에 발생한다. 상기 손실적 압축 처리는 압축 모듈(320)을 사용하여 영상 데이터 신호들을 얻는 표시 시스템에서 왜곡된 표시 영상을 야기할 수 있기 때문에, 일반적으로 상기 사용된 수 지점들의 손실을 갖는 것은 바람직하지 않다. 그러나, 상기 손실이 피할 수 없는 경우, 상기 양자화로 인해 야기된 손실이 가장 두드러지게 인지될 수 있는 상기 입력 도메인의 부분들(예컨대, 도 1b의 60a)에서 상기 손실이 발생하는 것은 바람직하지 않다.
본 발명의 일 측면에 따르면, 상기 사용되는 구간별 실질적 선형적(PWSL, Piece-Wise Substantially Linear) 압축 곡선(325)은, 상기 정방향 매핑 동안 사용된 수 지점들이 바람직하지 않게 양자화되어 중복(lumping together)되는 것을 피하기 위하여, 또는 적어도 상기 바람직하지 않은 중복이 미리 설정된 허용 가능한 양으로 감소되어 상기 양자화로 인해 야기되는 손실이 허용될 수 없는 식별된 영역들(예컨대 도 1b의 60a)에서는 상기 양자화로 인해 야기되는 손실을 피하기 위하여, 상기 그래프(320)의 좌표 공간에서 어느 주어진 구분점(예컨대, 325b)의 위치, 및 상기 구분점에서 만나는 대응되는 하나 또는 그 이상의 선형적 매핑 구간들(예컨대, 325a, 325c)의 기울기들이, 수정 가능한(adjustable) 구분점들(적어도, 상기 압축 모듈 320의 설계 동안에는 수정 가능한 구분점들)과 함께 제공된다. 또는, 상기 사용된 수 지점들의 바람직하지 않은 중복이 반드시 발생하는 경우, 본 발명에 따르면, 인간 시각계의 인지 특성 때문에, 상기 양자화로 인해 야기되는 손실이 가장 좋게 허용될 수 있는 휘도 도메인들(예컨대, 가장 밝은 영역 323a)로, 상기 중복이 선택적으로 이동될(pushed into) 수 있다(보다 구체적으로, 도 5a에서는 상기 바람직하지 않은 중복 및 그 결과 양자화로 인해 야기되는 손실의 위치가 확인될 수 있다).
이하 사용되는 바와 같이, 구간별 실질적 선형적(PWSL)의 용어는 매핑 곡선(예컨대, 325)의 모든 구간들이 선형적인 구간별 선형적(PWL) 변환들을 포함하는 것으로 이해되어야 한다. 그러나, PWSL의 용어는 또한, 전체 매핑 곡선의 특정한 서브도메인(예컨대, 323c)에서는 작은 양의 비선형적 매핑이 필요한 경우, 변환 공간의 선택된 영역들에서는 상기 작은 양의 비선형적 매핑이 포함되는 것을 허용하는 것으로 이해되어야 한다. 다시 말해, 상기 그래프(320)에 도시된 상기 선형적 매핑 구간들(예컨대, 325a, 325b, 325m) 중 하나 또는 소수를 본질적으로 비선형적인 매핑 구간들로 대체하는 것도, 본 발명의 범위에 포함된다. 상기 대체하는 방법은 도 4에서 도면 부호 470을 설명할 때에 설명될 것인데, 그 목적은, 상기 PWSL 매핑 회로(예컨대, 320)가 대체하려고 하는 주로 비선형적인 매핑 곡선(예컨대, 324) 보다, 그 크기(예컨대, 다이 면적) 및/또는 복잡도가 실질적으로 작은 PWSL 매핑 회로를 제공하는 것이다. 후술할 도 4에서는, 대부분의 상기 고정밀 수직선(322)은 선형적 매핑 구간들에 의해 저정밀 디지털화된 수직선(323)으로 매핑되는 반면, 필요한 경우, 상기 고정밀 수직선의 작은 구간에 대해서는 비선형적 매핑을 제공하기 위하여, 상기 고정밀 수직선의 상기 작은 구간에서의 사용을 위해 선택적으로 활성화될 수 있는 비교적 작은 LUT(470)가 설명된다.
도 3의 상기 PWSL 압축 곡선(325)은 도 2의 대응되는 감마 함수(224)를 모방하려고 할 필요가 없다. 그러나, 몇몇 경우에는, 상기 PWSL 압축 곡선(325)으로 하여금 도 2의 특정한 출력측 감마 함수(224)에 가깝도록 근사하게 하는 것이 좋은 이유가 있을 수 있다.
그러나, 상기 PWSL 압축 곡선(325)의 상기 장점은 상기 카메라 회로(206)의 A/D 압축 함수(224)를 대체하는 데에 있지 않다. 대신에, 상기 PWSL 압축 곡선(325)의 장점은, 도 2의 가상적 버퍼 메모리(253)를, 입력측의 PWSL 압축 함수 모듈(320) 및 출력측의 대응되는 복원 함수 모듈(330)의 사이에 위치한 메모리(130)로 대체하는 데에 있다. 상기 대응되는 복원 함수 모듈(330)은 PWSL 복원 모듈일 필요는 없다. 상기 대응되는 복원 함수 모듈(330)은 크기가 작은 LUT일 수 있다.
도 3의 서브픽셀당 고정된 비트수의 메모리(130)의 상기 입력측에 적절하게 동조된(tuned) PWSL 압축 모듈(320)을 갖는 것이 중요한 이유는 여러 가지이다. 첫째, 그리고 가장 중요한 이유로서, 상기 PWSL 압축 모듈은 비교 가능한 LUT(예컨대, 도 1b의 83) 보다, 다이 면적(die-area)을 소비하는 크기가 실질적으로 더 작게 만들어질 수 있다.
둘째로, 제공되는 구분점 위치들 및 선형적 기울기들을 적절하게 동조함으로써, 상기 PWSL 압축 모듈(320)은 상기 둘 또는 그 이상의 사용된 수 지점들(예컨대, 322b, 322c)이 정방향 매핑 동안 하나의 지점(323b)으로 양자화되는 중복되는 것을 방지하도록 설정될 수 있다.
셋째로, 비교적 적은 수의 구분점 레지스터들이 필요하기 때문에(도 4의 411을 참조), 상기 구분점 레지스터들은 각각, 상기 레지스터가 커버하는 구분점에 대하여 비교적 큰 비트수와 함께 제공될 수 있다(예를 들어, 서브픽셀당 16비트수 또는 서브픽셀 입력 스트림당 20비트수를 복원하기 위하여 제공될 수 있다). 그러므로 상기 PWSL 압축 모듈(320)은, IC 다이 공간의 소모되는 유닛당 효율성의 상당한 감소 없이도, 다양한 비트수의 복원 동작들을 처리하도록 구성될 수 있다. 즉, 만일 상기 회로 설계자가 서브픽셀당 12비트수의 산술적 표현을 서브픽셀 산술 표현당 13 또는 14비트수로 바꾸기로 결정한 경우, 상기 PWSL 압축 모듈(320)은, 예컨대, 16비트수의 구분점 레지스터로써, 이를 처리할 수 있다. 한편, 상기 회로 설계자가 서브픽셀 산술 표현당 12비트수를 서브픽셀 산술 표현당 11 또는 10비트수로 바꾸기로 결정한 경우, 상기 PWSL 압축 모듈(320)은 필요 이상의 소모되는 IC 다이 공간을 차지하지 않음으로 인해, 큰 문제를 야기하지 않는다.
넷째로, 상기 PWSL 압축 모듈(320)의 상기 구분점의 특징들(specifications)은 비교적 컴팩트하게 만들어질 수 있으며, 복원이 시작되어야 할 원격 위치로 전송될 수 있다. 그러므로 상기 PWSL 압축 모듈(320)은 큰 다이 공간을 소모함 없이 제한된 대역폭의 전송 채널을 통해 데이터를 적응적으로(adaptively) 압축하는 데에 사용될 수 있다.
도 3의 디지털 모듈(320)의 상기 PWSL 함수(325)를 다시 참조하면, sRGB에서와 같이(영상 파일 260의 헤더에 의해 전환 타입이 지시될 수 있는), A/D 전환 처리가 알려진 경우, 상기 알려진 A/D 전환 처리의 어느 특성들에 정확히 매치하기 위하여 어느 구분점들을 고정하는 것이 유용할 수 있다. 보다 구체적으로, sRGB의 경우, 상기 sRGB 다운매핑 함수(224)의 가장 어두운 구간(323d)은 45°의 기울기를 가져야(즉, 일대일 매핑되어야) 한다. 따라서, 상기 모방되는 PWSL 압축 모듈의 설계는, 만일 sRGB 등과 같은 전환 함수를 모방하려 할 경우, 어느 필수적인 기울기(예컨대, 45도 각도)가 미리 설정된 영역에서 유지되어야 하는 특성을 포함할 수 있다. 또한, sRGB의 경우, R, G, B의 특정한 휘도 값들에서는 백색 점이 정확하게 위치해야 한다는 것이 알려져 있다. 따라서, 상기 모방되는 PWSL 압축 모듈의 설계는 어느 필수적인 고정 지점이 대응되는 구분점(필수 구분점)에 의해 유지되는 특성을 포함할 수 있다. 상기 설계 특성은 나머지 다른 구분점들의 위치 이동을 허용할 수 있고, 상기 구분점들 사이에 제공되는 상기 선형적 구간들의 상기 기울기들의 동조를 허용할 수도 있으며, 상기 PWSL 압축 모듈(320)에 사용되는 상기 구분점들의 개수의 변경을 허용할 수도 있다.
도 3에서, 상기 PWSL 압축 모듈(320)에 의해 생성된 상기 서브픽셀당 8비트수의 출력 데이터 신호들은 상기 시스템 프레임 버퍼(130)의 래스터 주사된 영역(135) 중 AinA 포트(134) 상에 입력되는 어드레스 신호들에 의해 지정되는 위치들에 저장될 수 있다. 전처리부(252)뿐만 아니라 다른 장치들(예컨대, 150/140)이 상기 프레임 버퍼에 데이터를 기록하는 동안 적절한 시점에 상기 프레임 버퍼의 상기 데이터 입력 포트(131)의 버스 마스터를 대체할 수 있는 것으로 이해해야 한다. 그러므로 상기 전처리부(252)의 기록 활동을 넘는 결과인 합성 영상이 상기 프레임 버퍼에 형성될 수 있다. 상기 타이밍 제어부(120)는 도 3의 상기 프레임 버퍼(130)의 상기 AinB 포트(137)에 인가되어 판독된 어드레스 신호들의 타이밍 및 어드레스 값들을 결정한다. 출력 신호들(138)에는 후처리 단계가 적용될 수 있으며, 이 경우, 상기 출력 신호들(138)이 후처리부(259)에 의해 처리되기 앞서, 서브픽셀당 12비트수의 도메인으로 재확장되기 위하여 상기 출력 신호들(138)은 상기 PWSL 모듈(330)과 같은 복원 모듈로 인가될 수 있다(그러나 서브픽셀당 8비트수로부터 서브픽셀당 12비트수 또는 다른 비트수로 복원하는 단계는 12-to-8 압축부 만큼 큰 LUT를 필요로 하지 않음을 상기하라. 그러므로 330은 예시된 8-to-12의 PWSL 복원부 대신에 8-to-12 전환 LUT로 쉽게 대체될 수 있다).
일 실시예에서, 상기 DoutB 포트에서 출력되는 상기 서브픽셀당 8비트수의 압축된 데이터(138)는 직렬 또는 병렬 데이터 전송 매체를 통해 이격된(예컨대, 원격의) 수신부에 전송된다. 상기 압축된 데이터를 전송하는 단계의 장점은 물론, 상기 압축된 신호들에 대하여 더 적은 전송 대역폭이 필요하다는 것이다. 상기 PWSL 압축 모듈(320)을 사용하는 것의 장점은 12-to-8 압축 LUT에 비해 더 작은 풋프린트(footprint) 및/또는 소비 전력을 갖도록 설계될 수 있다는 것이다. 나아가, 후술하겠지만, 상기 PWSL 압축 모듈(320)의 프로그램 가능한 다양한 버전(programmably variable version)은 상기 원격의 수신부(대응되는, 역 관계의 프로그램 가능한 다양한 버전의 PWSL 복원 모듈 330이 제공되는 수신부)에 보내지는, 적응적으로 변경된 구분점 특성들을 가질 수 있다. 따라서, PWSL 압축 모듈(320) 및 PWSL 복원 모듈(330)을 사용하는 데이터 압축 및 전송 시스템의 결합은 크기가 더 작게, 더 저렴하게, 그리고, 더 적은 전력을 소비하며 더 적은 전송 대역폭을 소비하도록 제조될 수 있다.
도 3의 출력 데이터 신호들이 후처리부(259)에 의해 후처리되는 것으로 가정하면, 상기 데이터는 이어서, 서브픽셀당 8비트수의 데이터로서 상기 프레임 버퍼(130)의 데이터 출력 포트 DoutB로부터 읽혀나오며, PWSL복원(예컨대, PWL 매핑 335에 따라 상기 데이터를 복원하는)이 사용될 수 있는 복원 모듈(330)에 인가된다. 그러나, 복원을 수행하는 단계, 예컨대, 서브픽셀당 8비트수로부터 서브픽셀당 12비트수로 진행되는 단계에서는 언제든지 회로 크기가 더 작은 경향이 있으므로, 이상에 언급한 바와 같이, 그 대신에, 복원 LUT가 사용될 수 있다. 도 3에 도시된 바와 같이, 일 실시예에서, 상기 PWL 곡선(335)은 상기 PWSL 모듈(320)에 의해 제공되는 상기 전환 함수(325)의 역함수인 전환 함수(335)를 구현한다. 상기 PWL 곡선(335)의 선형적 구간들은 상기 모듈(320)의 상기 PWL 압축 곡선(325)에 의해 개입되는 에러들을 정정(counter-correct)하기 위하여 동조될 수 있다(상기 동조하는 방법의 한가지는 도 6a, 도 6b에서 제공된다). 상기 모듈(330)의 상기 서브픽셀당 12비트수의 출력 데이터(263)는 그 후, 영상 데이터 후처리부(259)에 전달된다.
비록 도 3에는 sRGB 파일로부터 비롯된 영상 데이터를 저장하는 프레임 버퍼(130)의 상기 데이터 입력 포트(131) 및 상기 데이터 출력 포트(138)에 PWL 압축 함수(320) 및 PWL 복원 함수(330)가 적용되는 것으로 도시되었으나, 8비트폭(또는 그보다 좁은 폭)의 데이터 전송 채널을 통해 8비트 또는 그 이하의 비트폭의 데이터를 일시적으로 전송하는 동안 PWSL 압축 및 PWSL 복원 접근들을 유사하게 적용하는 것도, 본 발명의 범위에 포함된다. 그러나 상기 압축 및 복원 곡선들은 상이할 수 있으며, 주어진 어플리케이션의 고정밀 수직선을 따라 상기 고정밀 사용된 수 값들이 분포되는 방법에 따라 다를 수 있다. 상기 압축된 데이터를 전송하는 상기 전송 채널은, 상기 압축 덕분에 더 적은 수의 병렬 전송 라인들을 사용하거나, 상기 압축된 데이터가 공간적 및/또는 시간적으로 멀티플렉스 되는 방법에 따라 달라지는, 더 적은 수의 또는 더 짧은 멀티플렉스 타임 슬롯을 사용할 수 있다. 또한, 도 2에서는 비록 서브픽셀당 8비트수의 sRGB 포맷의 영상 데이터가 파일(260)에 저장되고 서브픽셀당 12비트수의 데이터가 상기 영상 데이터 처리부(252, 259)에 의해 처리되는 것으로 전제되지만, sRGB가 아닌 다른 데이터 인코딩 포맷을 사용하거나, 데이터 신호들(예컨대, 262, 251)을 표현하는 저정밀 및 고정밀 값으로 서브픽셀당 다른 값의 비트수를 사용하는 것도 본 발명의 범위에 해당한다. 나아가, 이상의 실시예에서는, 고정밀도가 각각의 RGB 컬러 채널들에 대하여 서브픽셀당 12비트 형태로 설명되었지만, 정의되는 고정밀 값들에 대해 서브픽셀당 다른 비트수를 사용하는 것도 본 발명의 범위에 해당한다. 예를 들어, RGBW 출력 채널들을 사용하는 일 실시예에서, 백색 채널 출력을 표현하는 선형화된 고정밀 데이터는 서브픽셀당 11비트수일 수 있다. 다른 실시예에서, 하나 또는 그 이상의 컬러 출력 채널들(예컨대, 녹색)은 서브픽셀당 14비트수의 선형화된 형태로 표현되는 고정밀 영상 데이터를 가질 수 있다.
이제 도 4를 참조하면, 본 발명에 따라 제공될 수 있는 구간별 실질적으로 선형적인(PWSL) 매핑 모듈(400)이 도시되었다. 일 실시예에서, 상기 모듈(400)은 프로그램 가능하게 재동조될 수(programmably re-tunable) 있고, 또 다른 실시예에서, 상기 모듈은 본질적으로, 단 한번, 예컨대, 설계 동안에만 동조되어 그 이후에는 실질적으로 고정되도록(예를 들어, 거의 드물게 재 프로그램되는 플래쉬 EPROM 에 계수들을 저장함으로써) 프로그램된다. 상기 프로그램 가능하게 재동조되는 모듈은 도 4에 도시되어 있으며, 상기 모듈(400)은 동조 회로(405)를 포함한다. 상기 동조 회로(405)는 상기 실질적으로 고정되도록 프로그램된 모듈에서는 필요하지 않으나, 그럼에도 불구하고, 상기 모듈(400)의 설계 동안 시뮬레이트 될 수 있다. 상기 모듈(400)은 구분점 저장 메모리 모듈(410), 기울기 룩업 테이블(LUT)(420), 및 교점 룩업 테이블(LUT)(430)을 포함한다.
비록 도 4에는 고정밀 입력 샘플 신호(Y)와 함께 사용되기 적절한 수 영역으로서, 수 영역들 R1, R2, , RN 중 어느 수 영역을 식별하는 단계에 대하여 하나의 특정한 영역 식별 기법이 도시되어 있지만, 상기 예시된 기법은 상기 적절한 수 영역(R1, R2, , RN)을 자동적으로 식별하는 단계의 개념을 전달하기 위한 목적인 것으로 이해되어야 한다. 다른 실시예에서, 이진트리 디코딩 등과 같은 보다 효율적인 기법들이 사용될 수 있다. 상기 특정한 영역 디코딩 기법은, 상기 디코더 회로가 상기 영역 식별 신호(예컨대, LUT 420 및 430 에 인가되는 Ain 신호 418)를 얼마나 빠르게 생성해야 하는지 등을 포함한 수 설계 기준(number design criteria)에 따라 결정될 수 있다.
상기 예시된 구분점 저장 메모리 모듈(410) 내에는, 복수의 구분점 저장 레지스터들 또는 메모리 위치들(411, 412 등)이 있다. 상기 구분점 저장 메모리 모듈 내에는 또한, 구분점 선택 멀티플렉서(413), 및 구분점 오버라이트(overwrite) (어드레스 디코딩 신호+ 기록 가능 Write-Enable 신호) 회로(414)가 제공된다. 일 실시예에서, 각각의 상기 구분점 저장 레지스터들 또는 메모리 위치들(411, 412 등)은 적어도 12비트수의 길이를 갖는다. 다른 실시예에서, 각각의 상기 구분점 저장 레지스터들 또는 메모리 위치들(411, 412 등)은 적어도 16, 18, 20, 또는 24비트수의 길이를 갖는다.
상기 모듈(400)의 설계 또는 재동조 단계 동안, 서로 다른 구분점 값들이, 예컨대 상기 구분점 오버라이트 회로(414)를 사용하여, 상기 개별적인 어드레스가 가능한(individually addressable) 레지스터들 또는 메모리 위치들(411, 412 등)에 저장된다. 상기 오버라이트 회로(414)는, 제공되는 어드레스 입력 신호 Ain(418)가, 레지스터 오버라이트 동작 동안 대응되는 유일한 레지스터 식별에 매치되는 경우(WE가 1일 때) 각각 로직 하이(logic high, 즉, 1)를 출력하는 복수의 어드레스 디코더(AD)들을 포함한다. 상기 어드레스 입력 신호 Ain(418)는 보통, 트라이스테이트(tristate) 출력들을 갖는 영역 식별 회로(419)에 의해 생성된다. 그러나 상기 Ain 버스(418)는 상기 레지스터 오버라이트 동작 동안(WE가 로직 하이일 때) 레지스터 식별 소스 회로(명확히 도시되지는 않음)에 의해 마스터될 수 있다. 이 경우, 상기 Ain 신호(418)는 기록되어야 할 구분점 레지스터를 식별한다. 또한, 상기 데이터 입력 포트 Din는, 대응되는 어드레스 디코더 회로(AD)에 의해 상기 레지스터 오버라이트 동작의 대응되는 페이즈(phase) 동안 기록되어야 할 유일하게 식별되는 레지스터(411, 412 등)에 저장하기 위한 새로운 구분점 정의 신호(401)를 제공한다. 상기 구분점 좌표들의 설정 또는 재설정하는 단계 동안, 동조 회로(405)는 상기 영역 식별 회로(419)를 제어하여, Ain 신호(418)가 무엇으로 출력될 것인지를 나타낸다. 단순화를 위해, 상기 회로의 모든 구성이 도시되지는 않았다.
적절한 구분점 값들이 상기 레지스터 오버라이트 동작 동안 어드레스 가능한 레지스터들 또는 메모리 위치들(411, 412 등)에 기록되고, 대응되는 기울기 값들 및 교점 값들이 LUT(420 및 430)들의 어드레스 가능한 위치들에 더 기록된 이후, 상기 예시된 PWSL 모듈(400)은 실질적으로 현장(in-field) 복원 동작 페이즈에 입력될 준비가 된다(작은 LUT 470의 프로그래밍 및 사용은 선택적인 것으로서 이하 설명될 것이다).
현장 복원 동작들 동안, 비교부(416)는, 곧 상세히 설명하는 바와 같이, 상기 적절한 영역(R1, R2, ... , RN)을 판단한다. 일 실시예에서, 각각의 어드레스된 레지스터들(411, 412 등)에 기록되는 상기 새로운 구분점 정의 신호(401)는, 대응되는 구분점의 값을 표현하는 비트수(예컨대, 구분점당 12비트수 또는 그 이상 또는 그 이하)보다 더 많은 비트수를 포함한다. 또한, 상기 새로운 구분점 정의 신호(401)는 하나 또는 그 이상의 LUT 대입 가능 비트(LUTen bit)들을 포함한다. 상기 LUTen bit는, 나중에 설명하는 바와 같이, 하나 또는 그 이상의 작은 비선형적 매핑 LUT들(예컨대, 도 4의 470에는 단 하나만 도시됨)로 하여금 어느 하나의 구간별 선형적 매핑 구간을 대신하여 대입되도록 한다. 어느 선형적 구간을 대신하여 작은 LUT(470)를 완전히 대입하는 것을 제외하고, 이하 설명하는 바와 같이, 구간별 선형적 출력 신호(462)에 부가되는 정정값(corrective value)을 제공하기 위하여, 상기 압축부 출력 비트의 덜 중요한 비트들(LSBs, Lesser Significant Bits) 또는 선택적으로 활성화된 상기 작은 LUT(470)에 대하여 상기 LUT(470)를 대입하는 것은 본 발명의 범위에 해당한다.
상기 각각의 구분점 레지스터들(411, 412 등)의 출력 신호들은 각각, 대응되는 값 비교부(416 등)에 연결된다. 각각의 값 비교부(416 등)는, 현재의 고정밀 입력 신호 Y(441)(일 실시예에서, 12비트수 또는 그 이상의 비트수를 가짐)가 상기 대응되는 구분점 레지스터(411, 412 등)에 저장된 상기 구분점 값과 같거나 또는 그보다 큰 지 판단한다. 그 다음, 부가적인 논리 회로(419)는, 복수의 수 영역들(R1, R2, ... , RN) 중 상기 현재의 고정밀 입력 신호(Y)(411)가 속하는 영역을 판단한다. 상기 식별된 영역(R1, R2, ... , RN)은, 이상에서 언급한 바와 같이, 상기 Ain 신호(418)에 의해 설정(specified)된다. 논리 회로(419)는 상기 Ain 신호를 트라이스테이트 버스(418)로 출력한다. 상기 유닛(410) 내의 멀티플렉서(413)는 상기 Ain 신호(418)에 의해 구동되는 입력 선택 판단 포트를 갖는다. 그러므로 상기 멀티플렉서(413)는, 오프셋 감산 회로(440)에 의한 처리 단계 동안, 상기 Dout 라인(439)을 따라 상기 현재 식별된 영역(R1, 또는 R2, 또는 )에 대해 시작하는 구분점 값을 출력한다.
다시 한번, 이상에서 설명한 바와 같이, 상기 도 4의 예시된 회로의 설계는 상기 동작 원리를 설명하기 위한 목적을 위해 개시된 것으로 이해해야 한다. 물론, 디지털 회로 기술의 통상의 기술자는 상기 설명된 원리들이 이해된 경우, 동등한 결과를 생성하기 위하여 이진트리 디코딩 회로와 같이 보다 효율적인 회로를 고안할 수 있다. 보다 구체적으로, 상기 값 비교부(416 등)는 독립적으로 병렬되며 완전한 비교를 수행하도록 구성될 필요는 없고, 상기 영역들(R1 내지 RN) 중 상기 현재 활성화된 영역의 조합된 이진트리 구동 판단을 위하여 구성될 수 있다. 예를 들어, 제1 감산부(도시되지 않음)는 상기 Y 마이너스 BkPt_m 동작을 수행한다(BkPt_m은 모든 영역들 R1 내지 RN에 대한 중앙 median 레지스터로서 지시되는 어느 하나의 레지스터에 저장되는 중앙 구분점이다). 만일 그 결과가 0 이상인 경우, 상기 Y는 영역들의 상부 셋트(upper set)(Rm 내지 RN)에 속하는 것으로 판단되며, 만일 상기 결과가 음수인 경우, 상기 Y는 영역들의 하부 셋트(lower set)(R1 내지 Rm-1)에 속하는 것으로 판단된다. 그 후, 다음 회로는 상기 Y 마이너스 상기 상부 또는 하부 셋트의 중앙 구분점 값을 계산하며, 이후 그런 식으로 반복된다. 상기 Y 마이너스 상기 현재 영역의 상기 구분점 값은, 일 실시예에서, 상기 감산부(440)의 출력(445)으로서 의도되기 때문에, Y 마이너스 구분점 값이 상기 영역 식별 로직에서 어떤 식으로든 판단되는 보다 효율적인 설계에서는, 상기 부가적인 감산부(440)가 생략될 수 있다. 따라서 다시 반복하지만, 상기 도 4의 목적은 상기 동작 원리들을 예시하기 위한 것이다. 그러므로 통상의 기술자는 의도하는 가능한 변형 중 어느 하나를 선택하여 보다 효율적인 회로를 고안할 수 있을 것이다(예를 들어, 구분점 레지스터들은 저장되는 비트수를 줄이고 현재의 입력 신호 Y 가 속하는 영역에 대한 판단을 빠르게 하기 위하여, 상기 중앙값이 아닌, 델타 값(BkPti 마이너스 BkPtj)들을 저장할 수 있다).
이미 언급한 바와 같이, 상기 구분점 저장 메모리 모듈(410) 및 상기 영역 식별 논리 회로(419)를 제외하면, 상기 모듈(400)은 기울기 LUT(420) 및 교점 LUT(430)를 더 포함한다. 상기 모듈(400)의 재 프로그램 가능한 버전에서, 상기 동조 회로(405)는 데이터 기록 및 제어 라인들(401, 402, 403)을 통해, 상기 메모리 장치들(410, 420, 430)의 메모리 위치들에 저장된 데이터 지점들 또는 값들을 변경하기 위하여, 상기 구분점 메모리 모듈(410), 상기 기울기 LUT(420), 및 상기 교점 LUT(430)에 동작적으로 연결된다. 상기 동조 회로(405)는, 의도된 메모리 위치들 또는 레지스터들을 선택적으로 어드레스 및 기록할 수 있도록, 상기 메모리 장치들(410, 420, 430)을 동조할 때에 상기 어드레스 버스 Ain(418)에 대한 버스 마스터 제어를 수행하는 회로(404)를 더 포함한다. 일 실시예에서, 선택적 LUT(470)가 포함되는 경우, 상기 동조 회로(405)는 상기 LUT(470)를 프로그래밍하기 위한 회로(409)를 더 포함한다. 일 실시예에서, 상기 동조 회로(405)는, 부트업(boot-up) 계수들을 저장하기 위한, 그리고, 외부 조건들에 따라 상기 PWSL 매핑 곡선의 교환을 수행할 수 있는 PWSL 교환 알고리즘을 저장하기 위한 비휘발성 메모리(406), 및 마이크로 제어부(또는 다른 지시 가능한 데이터 처리 기계)를 포함한다. 즉, 상기 시스템(400)은 많은 서로 다른 PWSL 함수들 중 외부 조건들의 변화에 따라 자동적으로 선택되는 PWSL 함수에 따라 동작할 수 있다. 상기 외부 조건들, 상기 파워업 부트 계수 내지 다른 계수들, 또는 상기 PWSL 교환 알고리즘을 표현하는 신호들은 인터페이스 라인(407)을 통해 상기 동조 모듈(405)에 입력될 수 있다. 상기 입력되는 계수들 및 지시 신호들(예컨대, 컴퓨터 프로그램)은 하드디스크, CDROM, 또는 플래쉬 메모리 등과 같은 컴퓨터 판독 가능 매체로부터 제공될 수 있다. 상기 매핑 모듈(400)의 동조 가능한 버전의 일 실시예에서, 상기 동조 모듈(405)은, 사용되는 표시 패널의 변화 및/또는 도 2의 상기 영상 데이터 처리부(252, 259)에서 사용되는 상기 영상 처리 알고리즘의 변화 등과 같은 변경된 외부 조건들에 따라, 계수들의 일 셋트를 또 다른 셋트(상기 메모리 406으로부터 인출되는 계수들의 셋트)로 자동적으로 교환한다.
상기 PWSL 매핑 모듈(400)의 매핑 동작들(예컨대, 데이터 압축 동작) 동안, 상기 입력 신호(Y)의 상기 현재 동작하는 영역(R1 내지 RN)을 식별하는 상기 Ain 버스(418)는 또한, 상기 기울기 LUT(420) 및 상기 교점 LUT(430)의 어드레스 입력 포트들을 구동한다. 어느 영역이 참인지에 따라, 상기 구분점 메모리(410)는 상기 Dout 포트로부터 출력 라인(439) 상으로, 영역을 개시하는 구분점 값을 출력할 것이다(또 다른 실시예에서, 상기 Dout 포트는, 어드레스 신호 418의 함수이며 상기 12 또는 그 이상의 비트수를 갖는 입력 신호 Y의 간접 함수인, Yo 변환값을 생성한다). 상기 12 또는 그 이상(이하, 12+로 표시되기도 한다) 비트수의 구분점 값(439)은, 그 뒤, 감산부(440)에서, 상기 제공된 12+ 비트수의 입력 신호(Y)(441)와 결합된다. 한편, 상기 입력 값 Y(441)는 또한, 상기 12+ 비트수의 값 비교부(416) 또는 그 이진트리 등가 회로의 양의 입력 단말들에 인가된다. 도 4에 도시된 바와 같이, 상기 비교부(416)는 상기 현재의 Y 신호(441)가 구분점 BkPt_1, BkPt_2, ... 등과 같거나 또는 그보다 큰 값을 표현하는지 지시하는 결과 신호들을 생성한다(BkPt_1, BkPt_2, ... 등은 상기 메모리 410에 저장되어 출력된 구분점 값들이다). 또 다른 실시예에서, 비교부(416)는 워드당 12비트수보다 더 큰, 예컨대, 워드당 14비트수 이상의 고정밀 비교 데이터 워드들을 비교하도록 만들어질 수 있다. 이 경우, 상기 시스템은 상기 고정밀의 압축되어질 디지털 신호들의 크기로서, 도 2의 수평축 상의 서브픽셀당 12비트가 아닌 14비트수를 사용하도록 선택하거나, 또는 서브픽셀당 11비트수를 선택하는 것과 같은 서로 다른 설계 선택들에 맞추어질 수 있다.
상기 감산부(440)에 의해 전자적으로 수행되는 산술 동작으로 인해, 상기 감산부(440)의 출력 신호(445)는 상기 입력 신호 값 Y 마이너스 상기 출력된 구분점 값(439)을 표현한다. 상기 출력 신호(445)는, 상기 주어진 영역(R1 내지 RN)에 대해 선택된 상기 구분점 값(439)가 일반적으로 상기 입력 신호 값 Y와 가까운 값이기 때문에, 상기 12+ 비트수의 신호(439)보다 더 작은 비트수를 가질 수 있다. 따라서, 이어지는 곱셈부(450)에서는 상기 원래의 12+ 비트수보다 작은 비트들이, m*(Y-BkPt(y))를 표현하는 신호(451)를 생성하기 위하여, 상기 기울기 LUT(420)에서 생성되는 상기 출력된 기울기(m)와 곱해져야 한다. 여기서, Y와 y는 모두 현재의 입력된 고정밀 신호(441)를 표현한다. 소문자 y는 그보다 더 중요한 상기 BkPt() 함수의 의미를 압도하지 않도록 소문자로 표시되었다. 상기 곱셈부(450)에는 더 적은 비트들이 입력되기 때문에, 상기 곱셈부(450)는 12+ 비트수의 곱셈 동작에 필요한 것보다 더 적은 수의 게이트들을 갖도록 구성될 수 있다.
일 실시예에서, 상기 기울기 LUT(420)에서 생성되는 Dout2 신호는 또한, 12비트수보다 적은 비트수를 갖는다. 또 다른 실시예에서는, 상기 곱셈부(450)에 필요한 비트수를 줄이기 위하여, 상기 12+ 비트수의 BkPt(y) 신호 대신에, 또 다른 변환값 Yo (예컨대, 12비트수보다 작은 비트수의 값)이 사용된다. 이 경우, 상기 신호(451)는 m*(Y-Yo(y))를 표현한다. 상기 곱셈부(450)로부터 출력된 상기 기울기 곱의 값 신호(451)는 상기 가산부(460)에 의해 전자적으로 더해지는 대응되는 교점 값 신호를 갖는다. 상기 더해지는 교점 값은, 상기 현재의 Y 영역(상기 Ain 어드레스 버스 418 상에 지시되는 영역)에 따라 상기 교점 LUT(430) 내에서 선택되어 출력된다. 상기 PWSL 회로(400)가 압축부로서 기능하는 경우, 상기 가산부(460)의 출력은 PWL 출력 신호(462)를 표현하는 8비트수의 데이터 신호일 수 있다. 상기 PWSL 회로(400)가 복원부로서 기능하는 경우, 상기 12비트수 및 상기 8비트수의 표시는 적절하게 서로 바뀌어지며, 상기 가산부(460)의 PWL 출력은 12비트수의 데이터 신호가 된다. 상기 동조 회로(405)는 상기 메모리 장치들(410, 420, 430)에 다양한 계수 신호들을 로드할 수 있기 때문에, 상기 동조 가능한 매핑 모듈(400)을 사용하여 많은 수의 구간별 선형적인 매핑 함수들이 구현될 수 있다. 또한, 상기 동조 가능한 매핑 모듈(400)은, 도 3의 출력축(323) 상의 어느 하나의 동일한 서브픽셀당 8비트수의 값 지점으로 바람직하지 않게 중복되는 상기 사용된 고정밀 입력 값들(모듈 320의 축 322 상의 Y)의 개수를 줄이기 위하여, 적은 수의 구분점들의 값들을 가질 수 있다(확대도 225 및 그에 대하여 제공되는 설명을 참조).
몇몇 실시예에서, 도 3의 압축 곡선(324), 또는 복원 곡선(334)의 단순한 PWL 근사는 충분히 정확하지 않을 수 있다. R1 내지 RN 영역 중 나머지 영역들은 구간별 선형적 매핑에 의해 계속하여 제공될 수 있는 반면, R1 내지 RN 영역 중 어느 하나의 선택 가능한 영역은 작은 LUT(470)을 통한 비선형적 매핑에 의해 더 잘 제공될 수 있다. 따라서, 일 실시예에서, 하나 또는 그 이상의 LUT 가능 비트들(LUTen bits)이 각각의 구분점 레지스터들(411, 412 등)에 저장된다. 예를 들어, 만일 2개의 LUTen bit들이 각각의 구분점 레지스터에 저장되는 경우, 최대 3개의 서로 다른 작은 LUT들이 정정값의 대입 또는 삽입을 위해 선택될 수 있다. 01, 10, 11은 상기 대응되는 영역(R1 내지 RN)에 사용하기 위한 3개의 작은 LUT들(도 4의 470에는 하나만 도시됨) 중 어느 특정한 하나의 작은 LUT를 선택할 수 있는 반면, 00 디폴트 시퀀스는 상기 대응되는 영역에 대해 대입 또는 정정 LUT(470)를 사용할 수 없음을 지시할 수 있다. 상기 실시예에서, 상기 작은 비선형적 LUT(470)는 상기 입력 버스(441) 상에 사용되는 Y 데이터 워드당 상기 12+ 비트수보다 실질적으로 더 적은 입력 비트수(예컨대, 6 LSBs 또는 그 이하)를 갖는다. 그러므로 상기 작은 비선형적 LUT(470)는, 상기 Y-입력 버스(441)에 의해 허용되는 정밀도에 따른 어드레스 입력을 위한 12+ 비트수를 갖는 매핑 LUT보다 크기가 상당히 작다.
상기 선택적인(optional) LUTen bit들이 각각의 구분점 레지스터에 포함되는 경우, 영역 가능 LUT 가능/선택 비트(RenLUTen bit)들을 생성하기 위하여, 부가적인 로직(417)(도 4에는 하나만 도시됨)이 상기 영역 판단 회로(419)에 포함된다. 여기서 만일 영역들(R1 내지 RN) 중 어느 하나의 주어진 영역이 활성화된 것으로 판단되고, 상기 대응되는 LUTen bit들이 모두 0이지는 않은 경우(예컨대, 00), 상기 0이 아닌 RenLUTen bit들은 MUX(475)로 하여금 상기 PWL 출력 신호(462)를 수신하는 디폴트(00) 입력이 아닌 입력을 선택하게 하도록, MUX(475)에 인가된다. 그러므로, 다른 모든 영역들에 대해서는 상기 MUX(475)에 의하여 상기 PWL 출력 신호(462)가 선택되는 반면, 상기 선택된 영역이 활성화된 경우에는 PWSL 출력 신호(480)으로서 사용되기 위하여 8비트수의 LUT 출력 신호(471)가 선택될 수 있다. 물론, 상기 작은 LUT 대입 기법은 영역들(R1 내지 RN) 중 하나가 아닌 2개 또는 3개의 선택된 영역들에 대하여 구현될 수 있다. 이는 어플리케이션에 따라 다를 것이다. 또는, 상기 작은 LUT(470)는 상기 영역들(R1 내지 RN) 중 어느 하나의 영역이 현재 참인 경우, 상기 PWSL 출력 신호(480)의 LSB를 표현하는 8비트수보다 작은 출력(471)을 가질 수 있다. 또는, 상기 작은 LUT(470)는 상기 영역들(R1 내지 RN) 중 어느 하나의 영역이 현재 참인 경우 상기 PWL 출력 신호(462)의 정정값으로서 더해지는(도시되지 않음) 선택적으로 8비트수보다 작은 출력 신호(471)를 가질 수 있다. 상기 모듈(400)의 재동조 가능한 버전에서, 동조 회로(405)는 상기 작은 LUT(470)에 저장되는 상기 출력 데이터 값들을 선택적으로 재 프로그래밍하기 위하여 상기 작은 LUT(470)에 동작적으로 연결되는 프로그래밍 회로(409)를 포함한다. 일 실시예에서, 상기 Y 신호(441)의 선택된 작은 비트들(LSB의 가장 낮은 비트일 필요는 없다)에 반응하여 어느 주어진 영역에서 상기 Dout2 및/또는 Dout3 신호들에 정밀한 동조 정정값들을 더하기 위하여, 하나 또는 그 이상의 작은 LUT들(470 등)이 사용된다. 일단 도 4의 개념들이 이해되면, 통상의 기술자는 이상 설명된 기본 개념들의 여러 가지 다양한 변형을 고안할 수 있을 것이다. 물론, 상기 변형들도 본 발명의 범위에 해당되는 것으로 간주되어야 한다.
상기 하나의 변형에 따르면, 상기 모듈(400)의 재동조 가능한 버전의 상기 고안된 구분점들 및/또는 다른 설정들은 무선으로 또는 기타 방법으로(예컨대, 보안된 또는 보안되지 않은 네트워크 연결을 통해) 원격의 수신부에 전송되며, 상기 수신된 구분점들 및/또는 다른 설정들은, 리버싱(reversing) 복원 알고리즘을 구현하기 위하여 상기 구분점 및 기울기들이 일반적으로 다를 것이라는 점을 제외하고는, 상기 압축부의 송신측과 유사한 특성의 대응되는 복원부를 자동적으로 구현하는 데에 사용된다. 상기 또 다른 변형에 따르면, 상기 모듈(400)의 재동조 가능한 버전의 상기 고안된 구분점들 및/또는 다른 설정들은 무선으로 또는 기타 방법으로 원격의 수신부에 전송되기 전에 순서가 서로 섞이며 암호화된다. 상기 수신된 암호화된 구분점들 및/또는 다른 설정들은, 생성될 대응되는 압축부를 위하여 올바른 재처리 및 로딩 순서로 복호화되며, 그에 따라 상기 대응되는 압축부가 생성된다.
이제 도 5a를 참조하면, 제공되는 고정밀 데이터 스트림을 재매핑(예컨대, 압축)하는 데에 동작적으로 적용 가능한(operatively acceptable) PWL 또는 PWSL 함수를 제공하기 위하여 도 4의 모듈(400)이 설계 또는 재동조될 수 있는 과정이 설명될 것이다. 260과 같이 말미에 프라임()을 갖는 도면 부호들은 도 2 내지 도 4에서 앞서 표현된 구성요소들과 유사한, 반드시 동일할 필요는 없는, 구성요소들에 대하여 사용된다. 따라서, 상기 구성요소들에 대한 상세한 설명은 이하 생략된다.
도 5a의 동조 시스템(500)에서 요구되는 동작들은, 상기 모듈(400)의 실제 하드웨어의 사용과 함께 구현되는 것이 아니라, 컴퓨터로 구현되는 시뮬레이션에서 수행될 수 있으며, 그 후, 상기 시뮬레이션된 동조 결과들이 상기 모듈(400)의 물리적인 실제에 사용될 수 있는 것으로 이해되어야 한다. 상기 동조 동작들은 오프라인 시뮬레이션에서 수행될 수 있기 때문에, 즉, 압축된 처리중(in-process) 영상 데이터를 프레임 버퍼(예컨대, 도 3의 130)에 실시간 저장하는 데에는 상기 동조된 PWL 또는 PWSL 유닛(320)이 사용되지 않기 때문에, 비교적 긴 시간(예컨대, 수 시간, 수 일) 소모로부터 상기 동조 처리를 방지하는 데이터 처리 대역폭 문제들 또는 시간 제한들은 존재하지 않는다. 상기 동조 시스템(500)의 경우, 이상적 또는 실제적인 테스트 패턴의 RGB 영상 데이터 파일(260)이 제공된다(그러나 반드시 영상 파일일 필요는 없으며, 대응되는 저정밀 데이터 워드들로 전부 또는 부분적으로 압축되어야 할 고정밀 데이터 워드들의 셋트일 수 있다). 상기 테스트 패턴 데이터 파일(260)이 영상 파일인 경우, 상기 영상 파일(260)은, 각각의 컬러 채널(예컨대, RGBW)이 모든 가능한 그레이 스케일 레벨들(예컨대, 주어진 어플리케이션에 대하여 0 내지 255)을 가질, 영상 데이터들로 채워져야 한다. 상기 테스트 패턴 파일(260)은 sRGB 파일일 필요가 없다. 상기 테스트 패턴 파일(260)은 그와 다른 내포된 감마 함수에 따라 저장되어진 영상 데이터를 표현할 수 있다. 일 실시예에서, 상기 내포된 출력측 감마 함수(예컨대, 도 2의 220)의 아이덴티티(identity)는 상기 모듈들(410, 420, 430) 및 상기 선택적인 작은 LUT(470)에 로드되어야 할 상기 동조 계수들을 상기 메모리(406)으로부터 선택할 때에 도 4의 상기 동조 회로(405)가 반응하는 입력 요소이다. 상기 테스트 패턴 파일(260)의 일례에서, 상기 파일(260)에 의도적으로 형성되는 영상 데이터는, R=0일 때에 10 인스턴스(instances)를, R=1 일 때 11 인스턴스를, R=2 일 때 12를, ... , G=1일 때 11을, B=1일 때 11을, ... , B=255일 때 5 등과 같은 미리 설정된 패턴을 가질 수 있다. 즉, 각각의 모든 가능한 그레이 스케일 레벨들(0 내지 255)은 적어도 한 번 발생하며, 각각의 인스턴스의 수는 경우에 따라서는(비록 예컨대, R=1일 때 뿐 아니라, R=251일 때에도 11 인스턴스가 있을 수 있지만), 유일하다. 상기 아이디어는 상기 동조된 PW(S)L 모듈(320)의 출력(132)에서 기대되는 데이터의 히스토그램을 정의하기 위함이다. 만일 모듈들(230, 252, 320)을 통해 상기 시뮬레이션되는 데이터 흐름 내에서 모든 구성들이 적절하게 동작하는 경우, 서브픽셀당 8비트수의 상기 출력(132)은 상기 히스토그램과 동일한 히스토그램, 또는 입력 스트림(262)으로서 상기 시스템(500)에 입력되는 각각의 그레이 레벨의 미리 설정된 발생 빈도를 나타내야 한다. 그리고, 상기 출력(510)에서는 어떠한 간극(gap)들도 없어야 한다. 각각의 상기 사용된 256개의 수 지점 슬롯들은 상기 수 지점 슬롯들의 기대되는 사용 횟수로 채워져야 한다. 이상에서 설명한 바와 같이, 본 발명은 영상 파일들의 압축으로 한정되지는 않으며, 그 대신, 다른 데이터 셋트들이 상기 데이터 셋트의 도메인의 전부 또는 일부의 압축을 위해 제공될 수 있다. 일 실시예에서, 상기 도메인의 상기 압축된 부분은, 제한된 대역폭의 통신 채널을 통한 부호/문자들의 셋트인 상기 도메인의 다른 멤버들인, 보다 빈번하게 전송되는 원격통신 부호들로 구성될 수 있다. 상기 채널 상의 대역폭 제한은, 더 자주 사용되는 부호/문자들을 압축된 형태로 전송하는 단계 및 그 후 수신단에서 상기 압축된 형태를 복원하는 단계에 의해 감소될 수 있다.
다시 도 5a를 참조하면, 상기 특별하게 채워진 테스트 패턴 파일(260)의 출력(262)은 대응되는 컬러 채널의 모든 인스턴스들을 입력측 감마 전환부(230)(여기서, 230은 선형화 후 출력 신호들 251에 대하여 서브픽셀당 12+ 비트수를 출력하는 고정확 LUT로서 구현될 수 있다)로 연속적으로 제공한다. 또한, 선택적으로, 상기 출력(262)은, 256개의 모든 카운터 스테이지(stage)들에서 0으로 초기화되어 각각의 그레이 레벨의 상기 수신된 인스턴스들의 수(예컨대, R=0일 때 10 인스턴스, ... 등) 또는 휘도 표현 부호들이 아닌 다른 종류의 부호들의 각각의 인스턴스들의 수를 카운팅함으로써 히스토그램을 생성하는, 부호 사용 카운터 내지 제1 사용 카운터(503)에 연결된다. 서브픽셀당 8비트수의 시스템의 경우, 256개의 모든 그레이 스케일 레벨들이 사용될 것이다. 만일 서브픽셀당 7비트수의 시스템인 경우, 128개의 모든 그레이 스케일 레벨들이 사용될 것이다.
상기 테스트 패턴 입력 파일(260) 전부가 상기 입력측 감마 전환부(230)를 통과되는 경우, 상기 사용 카운터(503)에서 모든 카운터 위치들은 0이 아니어야 한다. 그러므로 상기 동조 처리의 본 단계에서, 256개의 모든 수 지점들이 사용된다. 상기 전체 사용(full-usage) 상태의 모습은 도 5a에서 (곧 설명할, 부분적으로 빗금이 채워진 그 다음 사용 카운터 505에 사용되는 도식적 표현에 반하여) 빗금으로 채워진 전체 영역을 갖는 카운터(503)에 의해 표현된다.
상기 테스트 파일로 구동되는 입력측 감마 전환부(230)의 출력 신호 스트림(251)은, 도 2에서 사용된 상기 영상 데이터 전처리부(252)의 컴퓨터 시뮬레이션된 버전(252)으로, 12비트폭(또는 더 넓거나 좁은 비트폭)의 모든 데이터 샘플들을 연속적으로 제공한다(또는, 상기 252는 실제의 하드웨어 처리부일 수 있다). 그러나, 상기 시스템(500)의 일 실시예에서, 상기 영상 데이터 전처리부(252)는, 데이터 출력(261)과 데이터 입력(251)이 같은, 항등 변환(252a)으로서 시뮬레이션될 수 있다. 이는, 입력측(251)의 상기 사용된 12비트폭의 수 값들(본 실시예에서는, 256개의 수 값들이 있을 것이다)이 상기 시뮬레이션된 모듈(252)의 출력측(261)에서 정확하게 동일한 대응되는 사용된 12비트폭의 수 값들을 가질 것을 의미한다.
상기 특별하게 구동되는 영상 데이터 전처리부(252)의 출력 신호 스트림은, 212개의 카운터 스테이지들에서 모두 0으로 초기화된 다음 각각의 12비트 표현된 그레이 레벨의 상기 수신된 인스턴스들의 수(예컨대, R=0000일 때 10 인스턴스, R=0001일 때 11인스턴스, ... 등)를 카운트하는, 히스토그램 생성부 내지 제2 사용 카운터(505)에 연결될 수 있다. 다른 실시예에서, 상기 제2 사용 카운터(505)는 각각의 고정밀 그레이 레벨의 모든 인스턴스들을 카운트하지 않고, 대신에, 상기 사용 카운터(505)에서 제공되는 각각의 212 인스턴스 발생 감지 셀(occurrence detecting cell)들에 대하여, 하나의 사용 비트(usage bit)를 한 방향으로(예컨대, 0을 1로) 뒤집는다. 일 실시예에서, 상기 제2 사용 카운터(505)는 실재하지 않고 가상적이다. 만일 상기 모듈(252)의 입력측에서 상기 사용된 256개의 모든 수 지점들이 상기 모듈(252)의 출력측(261)에서 256개의 사용된 수 지점들로서 정확하게 일대일로 다시 나타날 것이 알려진 경우, 상기 제2 사용 카운터(505)는 구현되지 않을 수 있다. 그럼에도 불구하고 여기에서는, 이상에서 언급된 사용된 및 사용되지 않는 데이터 값들에 대한 개념을 보다 잘 이해하기 위하여, 상기 카운터(505)의 가상적 배치가 설명된다. 상기 제2 사용 카운터(505)가 실재하든 가상적이든, 그리고 상기 제2 사용 카운터(505)가 인스턴스들을 카운트하든 단순히 한 방향으로 뒤집든, 어느 경우에서든지, 상기 시뮬레이션된 영상 데이터 전처리부(252)의 상기 모든 반응 출력들(261)이 상기 제2 사용 카운터(505)에 의해 기록되어진 후에는, 하나 또는 그 이상 또는 모든 상기 그레이 레벨들에 대하여, 상기 제2 사용 카운터(505)는 사용된 및 사용되지 않는 데이터 값들의 패턴을 제공해야 한다. 사용되지 않는 데이터 값들은 상기 제2 사용 카운터(505)에서 엔트리들이 여전히 0인 것으로 식별된다. 상기 영상 데이터 전처리부(252)에 의해 각각 출력된 또는 출력되지 않는 상기 사용된 및 사용되지 않는 12비트폭(또는 그보다 넓거나 더 좁은 비트폭)의 데이터 값들은, 상기 입력측 감마 전환부(230)에 의해 각각 출력된 또는 출력되지 않는 상기 사용된 및 사용되지 않는 12비트폭의 데이터 값들(고정밀 값들)과 동일할 필요가 없다. 예를 들어, 상기 영상 데이터 전처리부(252)는, 상기 사용 히스토그램(505)이 상기 입력측 감마 전환부(230)의 Y축(233) 상의 상기 사용된 수 지점들과 정확히 매치되지는 않게 하기 위해, 상기 입력측 감마 전환부(230)로부터 수신된 상기 사용된 12비트폭의 입력 데이터 값들의 일부에 대하여 값들을 변경할 수 있다. 물론, 항등 변환(252a)이 사용되는 경우, 사용 히스토그램(505)는 상기 Y축(233) 상의 상기 사용된 수 지점들과 정확히 매치되어야 한다.
상기 특별하게 구동되는 영상 데이터 전처리부(252)의 출력 신호 스트림(261)은 다음으로, 도 3의 상기 구간별 선형적인(PWL) 또는 구간별 실질적으로 선형적인(PWSL)(이하, 이들을 통칭하여 PW(S)L이라 한다) 압축 모듈의 동조된 버전(320)에 연결된다. 만일 상기 PW(S)L 압축 모듈(320)이 꺾임(예컨대, 구분점들)으로 인해 바람직하지 않은 아티팩트(artifacts)들이 생성되지 않도록 동조된 경우, 상기 8비트폭의 출력 포트(132)에 의해 구동되고 256개의 사용 카운트 내지 발생 감지 셀들을 갖는 제3 사용 카운터(510)는, 본질적으로 모두 채워져야 하며(즉, 사용되지 않는 슬롯이 없거나 또는 소수, 예컨대, 3 이하이어야 한다), 그 히스토그램(510)은 실질적으로 상기 제1 사용 카운터(503)의 히스토그램과 매치되어야 한다. 간극 및/또는 사용 결손 감지부(520)는 동작적으로 상기 제3 사용 카운터(510)에 연결되며, 상기 파일(260)의 처리 단계가 완료된 후, 상기 감지부(520)는 상기 영역(0 내지 255)에서 상기 기대되는 그레이 레벨 값들의 특정한 레벨 값들에 대하여 바람직하지 않은 간극, 또는, 바람직하지 않은 결손 카운트 내지 오버 카운트가 존재하는지 확인하기 위하여, 상기 제3 사용 카운터(510)를 스캔한다. 일 실시예에서, 만일 상기 히스토그램(510)에 간극들(도면 부호 510에는 하나의 간극이 도시됨)이 존재해야 할 경우, 인간의 시각계는 그레이 스케일 스펙트럼의 덜 밝은 쪽에서보다는 가장 밝은 쪽에서의 아티팩트에 대하여, 또는, 실질적으로 하나의 색으로 구성되는 부자연스러운 영역 내지 비교적 낮은 공간 변형 주파수를 갖는 영역에서보다는 다양한 색들의 자연스러운 혼합을 갖는 영역에서의 아티팩트에 대하여, 보다 덜 민감하기 때문에, 상기 간극들로 하여금, 상기 서브픽셀당 8비트수의 수직선의 가장 밝은 쪽에서, 또는 여러 색들의 자연스러운 혼합 부분의 색들에 대하여, 나타나게 하는 것이 바람직하다. 상기 제3 사용 카운터(510)에 저장된 상기 결과들은 동조 컴퓨터(530) 내지 컴퓨터에 의해 도 4의 상기 시스템(400)을 설계하는 설계자에 제공된다. 만일 상기 동조 컴퓨터(530) 또는 설계자가, 상기 PW(S)L 압축 모듈(320)의 동조된 버전이 더 동조될 필요가 있는 것(제3 사용 카운터 510의 간극들이 너무 많거나 상기 그레이 스케일 스펙트럼의 잘못된 쪽에 위치하기 때문에, 또는, 비교적 낮은 공간 변형 주파수를 갖는 영상 영역에 따라서)으로 판단하는 경우, 상기 동조 컴퓨터(530) 또는 설계자는, 상기 PW(S)L 모듈(320)의 부트 메모리(406)에 저장된 하나 또는 그 이상의 상기 계수들을 변경하여, 상기 사용 카운터들(503, 505, 510)을 모두 0으로 리셋한 후 (시행착오를 통해) 보다 더 나은 결과들을 얻기를 바라며 상기 유닛들(230, 252, 320)을 통해 상기 파일(260)의 반복 복사(repeat copy)를 실행함으로써, 상기 처리를 재실행할 것이다. 여기서, 상기 제3 사용 카운터(510)에서 더 나은 결과들을 얻는다는 것은, 간극들이 더 적은 것을 의미하거나, 또는, 만일 간극들이 존재해야 하는 경우 상기 간극들이 상기 제2 사용 카운터(505)에 의해 커버되는 상기 수직선의 더 밝은 쪽(더 상단), 내지 비교적 낮은 공간 변형 주파수를 갖는 영상 영역 내에 나타나지 않는 수 도메인으로, 밀어지는(pushed) 것을 의미한다.
도 5B는 상기 동조 컴퓨터(530)에 의해 자동적으로 실행될 수 있는 하나의 기계 구현(machine-implemented) 알고리즘(550)을 도시한다. 일 실시예에서, 상기 동조된 PW(S)L(320)의 하나 또는 그 이상의 상기 구분점들은 변경되지 않고 도 3의 좌표 공간(320)에서 특정한 미리 설정된 위치를 유지해야 하는 필수 구분점(예컨대, 백색 점)으로 정의된다. 또한, 상기 PW(S)L 곡선(325)의 선 구간들(예컨대, 영역 323d의 구간)은 대응되는 필수 영역에 대하여 필수 기울기로 지시되는 특정한 미리 설정된 기울기를 필요로 하는 것으로 지시될 수 있다. 예를 들어, 상기 영상 데이터 입력 파일이 sRGB 포맷의 입력 파일인 경우, 산업 표준마다, 상기 sRGB 입력측 감마 전환 함수의 하단은, 미리 설정된 기울기(예컨대, 비압축을 의미하는 기울기 1) 및 선형변환이 유지되어야 하는 미리 설정된 영역을 가지며, 따라서, 상기 동일한 영역에 대해서는 적어도 상기 기울기를 정확히 복제하는 것이 바람직할 수 있다. 이와 같이, 단계 S551에서는, 상기 필수 구분점들 및/또는 필수 기울기들이 식별되어 변경 불가한(non-modifiable) 데이터 아이템들로서 논리적으로 지시된다. 그 뒤, 단계 S553에서는, 상기 감지부(520)에 의해 감지된 간극들의 수를 줄이거나, 간극들을 더 밝은 쪽으로 밀거나, 또는, 상기 제1 사용 카운터(503)에 비교되는 상기 제3 사용 카운터(510)의 발생 카운트들 간의 히스토그램 패턴 불일치(mismatch)의 양을 줄여서, 에러를 최소화하는 계수들의 셋트로 수렴하도록, 하나 또는 그 이상의 나머지 수정 가능한 구분점들이 이동(shift)된다. 상기 동조 컴퓨터(530)는, 어느 한 구분점이 한 쪽으로 이동되거나, 어느 하나의 비선형적 작은 LUT(예컨대, 470)가 주어진 영역(R1 내지 RN)에서 대체될 때에, 몇 개의 간극들 및/또는 얼마의 패턴 불일치들이 발생했는지를 나타내는 시행착오 히스토리 로그(도시되지 않음)를 가질 수 있다. 다양한 방향 및 양(amounts)으로 상기 PW(S)L 설계를 이동시킴으로써, 상기 구분점 위치들 및 다른 계수들(예컨대, 기울기, y-교점)은, 감지된 에러의 최소화를 제공하는 셋트(예컨대, 가장 적은 간극들 및/또는 상기 히스토그램 510과 503 간의 가장 잘 일치된 히스토그램 패턴 매치)로 수렴될 수 있다.
단계 S555에서는, 에러 최소화 조건이 이미 로그되었는지(logged), 그리고 더 이상의 시행착오 노력들이 상기 찾아진 에러 최소화 조건을 실질적으로 개선하고 있는지 판단된다. 만일 에러 최소화 조건이 이미 로그된 경우, 종료 단계 S559는 상기 찾아진 계수들의 최소화 셋트를 상기 모듈(400)의 동조 가능한 버전의 메모리(406)로 로드한다. 만일 에러 최소화 조건이 로그되지 않은 경우, 제어가 단계 S555내지 단계 S553까지 되돌려지며, 또 다른 구분점 이동이 시도된다.
도 6a를 참조하면, 상기 동조된 모듈(400)에서 생성된 상기 미리 압축된 데이터를 복원하기 위한 동작적인 역 PW(S)L 함수 내지 비선형적 함수를 제공하기 위하여, 도 4의 상기 동조 가능한 모듈(400)의 복원 버전 또는 8-to-12 비트 전환 LUT(330)가 동조될 수 있는 과정이 설명될 것이다. 도 6a에서 말미에 더블 프라임()을 갖는 도면 부호들은, 이상에서 설명된 도 2 내지 도 4, 및 도 5a 에서 유사한 부호로써 표현되는 구성요소들에 대응되는(그러나 반드시 동일할 필요는 없는) 구성요소들에 사용된다. 따라서, 상기 구성요소들에 대한 상세한 설명은 이하 생략된다. 예시적인 클러터(clutter)를 피하기 위하여, 소스 파일(260) 및 감마 전환부(230)를 포함한 전체 데이터 경로는 도시되지 않는다. 입력 라인(251)은 상기 선택된(상기 입력 데이터 파일의 상기 내포된 전환을 매치하기 위하여 선택된) 입력측 감마 전환부(230)로부터 12비트폭(또는 그보다 더 넓거나 좁은 비트폭)의 데이터를 수신할 수 있는 것으로 이해되어야 한다.
도 6a의 상황은 도 5a의 상황과는 다르다. 만일 서로 다른 값의 사용된 고정밀 수 지점들이 압축 모듈(320)에 의해 바람직하지 않게 하나의 동일한 8비트폭으로 표현되는 코드로 중복되는 경우, 상기 사용된 고정밀 수 지점들은 복원 모듈(330)에 의해 분리(de-lumped)될 수 없다. 상기 둘 또는 그 이상의 중복된 사용된 고정밀 수 지점들 간의 구별은 손실된다. 복원 모듈(330)에 의해 대응되는 12비트폭(또는 그보다 더 넓거나 좁은 비트폭)의 새로운 코드로 확장될 코드는 8비트폭으로 표현되는 상기 단 하나의 코드이다. 도 6a의 시스템의 설계자의 질문은 사용된 고정밀 수 지점들이 중복되는 경우, 무엇을 할 것인가 이다. 부수적인 질문은 최초에 상기 바람직하지 않은 중복의 발생을 어떻게 감지할 것인가 이다. 후자의 경우, 동조 시스템(600)은 상기 시스템의 사용자에게, 압축 모듈(320)의 동작에 의해 다른 고정밀 수 지점과 함께 하나의 8비트 코드로 중복되는 제1 사용된 고정밀 수 지점을 식별하기 위한 자동화된 툴을 제공한다. 제2 사용 카운터(505)가 선택적이었던 도 5a의 경우와 달리, 도 6a의 상기 동조/설계지원(design-assisting) 시스템(600)에서는, 대응되는 제2 사용 카운터(605)가 선택적이지 않아야 한다. 상기 제2 사용 카운터(605)는, 사용된 및 사용되지 않는 고정밀 수 지점들(예컨대, 0 내지 212-1의 이산적 수 지점들 도메인에서의 수 지점들)을 식별하는 목적의 상기 선택적인 제2 사용 카운터(505)에 설명된 것과 적어도 동일한 방식으로 동작한다. 그러므로 상기 제2 사용 카운터(605)의 동작은 이하 다시 반복하여 설명되지 않을 것이다.
상기 테스트 패턴으로 구동되는 영상 데이터 전처리부(252)(또는 상기 항등 변환 252a)의 출력(261)은 상기 PW(S)L 압축 모듈의 이미 동조된 최적화된 버전(320)으로 연결된다. 상기 PW(S)L 모듈(320)의 메모리(406)에 저장된 상기 계수들로부터, 역생성(inverse-producing) 컴퓨터(630) 또는 실행되는 컴퓨터 프로그램은 먼저 역PW(S)L 함수 내지 역LUT 함수에 대한 대응되는 계수들을 계산하여, 상기 계수들을, 여전히 동조되어야 할(still-to-be-tuned) 복원 PW(S)L 또는 복원 LUT(330)의 메모리에 저장했다. 복원 모듈(330)은 상기 압축 모듈(320)보다 실질적으로 더 적은 수의 입력 단말들(예컨대, 12 가 아닌 8)을 갖기 때문에, 실제의 압축/복원 하드웨어가 구현될 경우, 상기 복원 모듈(330)은 비교적 작은 크기의 LUT로서 구현될 수 있으며 따라서, 상기 복원 과정(330)에 대하여 PWL 모방이 일반적으로 필요하지 않게 할 수 있다. 그럼에도 불구하고, 회로의 크기가 최적화되었거나(at a premium), 또는 계속적인 재동조가 바람직한 경우 등 몇몇 특별한 실시예에서는, 동조 가능한 PW(S)L 복원 모듈로서 상기 복원 모듈(330)을 구현하는 것이 바람직할 수 있다.
상기 이미 동조되고 최적화된 PWL 압축부(320)의 출력 신호 스트림(132)은 상기 여전히 동조되어야 할 PW(S)L 복원부(330)의 입력에 제공된다. 상기 출력 스트림(132)은 선택적으로, 사용 발생들(예컨대, 상기 0 내지 255의 값 도메인에서)을 지속적으로 추적하는 선택적인 사용 카운터(610)에 인가될 수 있다. 그 히스토그램(610)에서 사용 간극의 존재는 상기 설계자에게, 중복이 발생했으며, 상기 사용되지 않는 8비트 코드에 할당되어야 할 제1 고정밀 수 지점이, 서로 다른 제2 고정밀 수 지점에 할당되는 사용된 8비트 코드로 중복되었음을 지시할 수 있다. 항상 그런 것은 아니나, 이러한 가능성이 있다.
상기 여전히 동조되어야할 PW(S)L 내지 LUT 복원부(330)의 출력 신호 스트림(263)은, 상기 0내지 212-1의 고정밀 값들 도메인에서의 사용 발생들(usage occurrences) 및 비사용 발생들(non-usage occurrences)을 지속적으로 추적하는 또 다른 사용 카운터(640)에 연결된다. 상기 복원 모듈(330)의 상기 12비트폭(±)의 출력 신호들(263)은 상기 압축 모듈(320)에 제공되는 상기 고정밀 입력 신호들(261)과 동일한 비트폭을 가질 필요가 없다. 만일 상기 복원 출력(263)이 더 높은 정밀도(예컨대, 13비트, 14비트 등) 또는 더 낮은 정밀도(예컨대, 10비트, 11비트 등)인 경우, 상기 설계자는, 상기 더 높은 또는 낮은 정밀도의 출력 신호들(263)의 LSB들은 상기 자동화된 역생성부(630)에 의해 완전히 카운트되지는 않을 수 있기 때문에, 상기 복원 PW(S)L 내지 LUT를 조절함으로써 상기 LSB들을 조절하기 원할 수 있다.
만일 상기 PW(S)L 내지 LUT 복원부(330)가 상기 압축 모듈(320)에 의해 수행되는 동작들의 완벽한 역동작을 제공하고, 상기 출력 정밀도가 상기 압축 모듈(320)의 입력 정밀도와 동일(예컨대, 서브픽셀당 12비트)한 경우, 입력 파일의 모든 테스트 패턴 신호들이 통과한 후 상기 사용 카운터(640)에 정의되는 간극 위치들(사용되지 않는 수 지점들)은, 상기 제2 사용 카운터(605)의 간극 위치들과 매치되어야 한다. 상기 사용 카운터(640)의 비어있지 않은 값 슬롯들의 발생 수들(occurrence numbers)(히스토그램 수들을 의미)은 상기 제2 사용 카운터(605)에서 찾아진 발생 수들과 매치되어야 한다. 미스매치(mismatch) 감지부(645)는 상기 제2 사용 카운터(640) 및 사용 카운터(605)에 동작적으로 연결되어, 상기 간극 위치들이 매치되는 정도(상기 발생 수들의 패턴이 매치되는 정도)를 자동적으로 판단한다. 매치 또는 미스매치 정도는 수학적 상관관계 함수 등을 사용하여 측정될 수 있다. 미스매치가 존재하는 경우, 이는 설계자에게, 상기 압축 모듈(320)에 의해 입력 데이터(261)에 의해 표현되는 둘 또는 그 이상의 사용된 고정밀 수 지점들이 바람직하지 않게 중복되었음을 지시할 수 있다. 일단 상기 사용된 고정밀 수 지점들의 상기 중복이 식별된 경우, 상기 설계자에게 남겨진 질문은 이 상황에 대하여 무엇을 할 것인가 이다. 즉, 상기 압축 모듈(320)을 재동조하는 것이다. 상기 설계자는 상기 중복된 입력 지점들 사이의 중간에서의 어느 한 고정밀 수 지점을 선택하기로 타협할 수 있다. 또는, 상기 타협은, 상기 제2 사용 카운터(605)에 의해 제공되는 상기 히스토그램 정보에 기초하여 어느 하나의 상기 사용된 고정밀 수 지점에 더 가깝게 가중(weighted)될 수 있다.
더 높은 또는 더 낮은 정밀도의 출력 신호들(263)을 정밀하게 동조하는 단계 내지 2개의 중복된 사용된 고정밀 수 지점들을 표현하는 하나의 8비트 코드에 반응하여 새로운 타협적인 고정밀 출력 신호에 도달하는 단계는, 양자화 에러 감소 컴퓨터(650) 또는 그 설계자에 의해 수행되는 것으로 도시된다. 상기 컴퓨터(650) 및/또는 설계자는 상기 미스매치 감지부(645)로부터 상기 매치 및 미스매치 정보를, 그리고 상기 제2 사용 카운터(605)로부터 상기 입력 사용 히스토그램을 수신한다. 그 뒤, 상기 컴퓨터(650) 및/또는 설계자는 주어진 어플리케이션에 적절하게 고안되는 상기 복원 PW(S)L 모듈 내지 복원 LUT(330)을 정밀하게 동조함으로써, 각각의 상황을 처리하는 과정을 결정한다. 어느 한 어플리케이션에 적절한 처리 과정은, 또 다른 어플리케이션에는 적절하지 않을 수 있다.
도 6b는 상기 복원 PW(S)L 모듈 내지 LUT(330)의 설계자에 의해 수동으로 실행되거나, 양자화 에러 감소 컴퓨터/프로그램(650)에 의해 자동적으로 실행될 수 있는 알고리즘(660)을 도시한다. 일 실시예에서, 상기 동조되는 복원 PW(S)L 모듈(330)의 하나 또는 그 이상의 상기 구분점들은 도 3의 좌표 공간(330)에서 변경될 수 없고 어느 특정한 미리 설정된 위치(예컨대, 백색 점)를 유지해야 하는 필수 구분점으로 정의될 수 있다. 또한, 상기 PW(S)L 복원 곡선의 하나 또는 그 이상의 선 구간들은 필수 기울기로 지시되는 어느 특정한 미리 설정된 기울기를 필요로 하는 것으로 지시될 수 있다. 이상의 정의 내지 지시는, LUT 출력 값들에 대하여도 동일할 수 있다. 그러므로, 단계 S661에서는, 상기 필수 구분점들 및/또는 필수 기울기들이 식별되어, 변경 불가능한(non-modifiable) 데이터 아이템들로서 논리적으로 지시된다. 그 다음, 단계 S663에서는, 상기 유닛(320)으로부터 제공되는 상기 8비트 코드들에 반응하여 상기 복원 모듈(330)에서 출력된 상기 출력 신호들(263)의 양자화 에러들을 감소하기 위한 목적으로 시행착오 접근에 의해 하나 또는 그 이상의 나머지 변경 가능한 구분점들이 이동된다.
단계 S665에서는, 상기 복원 PW(S)L 내지 LUT(330)에서 생성된 상기 변경 가능한 출력들 모두가 고려되어 조정되었는지 판단된다. 만일 상기 변경 가능한 출력들 모두 고려되어 조정된 경우, 종료 단계 S669는 상기 찾아진 양자화 에러를 최소화하는 계수들 또는 LUT 출력 값들의 셋트를 상기 모듈(330)의 상기 구현되는 버전의 메모리(406)에 로드한다. 만일 상기 변경 가능한 출력들 모두가 고려되어 조정되지는 않은 경우, 제어가 단계 S665 내지 단계 S663까지 되돌려지며, 또 다른 값들의 변경이 고려된다.
이상에서는, 서브픽셀당 12비트 도메인으로부터 서브픽셀당 8비트 도메인으로 변환할 때와 같이 영상 데이터에 대하여 PW(S)L 구현되는 압축에 초점을 맞추었지만, 이상에 제공된 본 발명의 개시는 보다 넓은 적용가능성을 가질 수 있다. 특히, 상기 고정밀 도메인에 대해 사용되는 비트수(예컨대, 12비트수)가 변경될 때에, 만일 초기 PW(S)L 변환이 상기 데이터 압축 처리 동안 사용된 고정밀 수 지점들의 중복의 발생을 제거하거나 그 수를 줄이기 위하여 반복하여 정밀하게 동조되지 않는 경우, 사용된 및 사용되지 않는 고정밀 수 지점들의 아이덴티티(identities)들은 시간에 따라 이동되며, 사용된 수 지점들의 바람직하지 않은 중복이 발생한다. 이상에 언급한 바와 같이, PW(S)L 압축 기술은 고정밀 데이터가, 예컨대, 제한된 대역폭을 갖는 통신 채널을 통해 원격의 수신부에 전송되기 전, 고정밀 데이터의 압축에 대하여 적용될 수 있다. 일 실시예에서, 상기 고정밀 수직선은, 가장 자주 사용된 고정밀 수 값들(전송 스트림에서 가장 빈번하게 발견되는 문자들 또는 부호들)로 구성되는 제1 셋트, 나머지 덜 자주 사용된 고정밀 수 값들로 구성되는 제2 셋트, 및 사용되지 않는 고정밀 수 값들로 구성되는 제3 셋트를 포함할 수 있다. 그 뒤, 압축 곡선(예컨대, PW(S)L 곡선)은 상기 가장 자주 사용된 고정밀 수 값들의 제1 셋트에 대하여 어떠한 2개의 상기 수들도 압축 매핑 동안 중복되지 않도록 주의하여 설계된다. 그 후, 상기 가장 자주 사용된 고정밀 수 값들은, 상기 나머지 덜 자주 사용된 고정밀 수 값들이 압축되지 않은 포맷(예컨대, 거짓으로 설정된 압축지시 비트가 연결되어)으로 전송되는 것과는 달리, 압축된 포맷(예컨대, 참으로 설정된 압축지시 비트가 연결되어)으로 전송될 수 있다. 만일 복수의 압축지시 비트들(compression indicating bits)이 각각의 전송된 워드 또는 패킷에 연결되는 경우, 상기 압축지시 비트들이 상기 전송 채널의 수신단에서 사용될(또는 전혀 사용되지 않을) 올바른 복원 곡선을 식별함과 함께, 복수의 압축 곡선들이 사용될 수 있다. 일 실시예에서, 상기 압축지시 비트를 거짓으로 설정할지 말지에 대한 자동화된 판단은 다음과 같이 구성된다. 고정밀 수 지점을 표현하는 신호가 도 4의 PW(S)L 압축 모듈과 같은 동조된 PW(S)L로 구현되는 압축부에 입력된다. 상기 동조된 PW(S)L 구현 압축부의 출력은 대응되는 동조된 PW(S)L 구현 복원부에 제공된다. 상기 복원부로부터 얻어진 출력 신호는 상기 동조된 PW(S)L 구현 압축부에 원래 입력되었던 고정밀 수 지점과 비교된다. 만일 상기 원래 입력된 고정밀 수 지점과 상기 복원부로부터 얻어진 출력 신호가 동일한 경우, 상기 압축지시 비트는 참으로 설정되어, 상기 대응되는 신호의 압축된 버전(저정밀 버전)과 함께 상기 원격의 수신 장치에 전송된다. 반면, 상기 원래 입력된 고정밀 수 지점과 상기 복원부로부터 얻어진 출력 신호가 동일한 경우, 상기 압축지시 비트는 거짓으로 설정되어, 상기 대응되는 신호의 압축되지 않은 버전(고정밀 버전)과 함께 상기 원격의 수신 장치에 전송된다. 상기 수신단에서는, 상기 압축지시 비트에 동반된 상기 데이터 워드가 압축된 데이터 워드인지 압축되지 않은 데이터 워드인지 자동적으로 판단하기 위하여, 상기 압축지시 비트가 사용된다. 만일 상기 압축지시 비트에 동반된 상기 데이터 워드가 압축된 데이터 워드인 경우, 상기 압축된 데이터 워드는 더 높은 정밀도의 대응부분(counterpart)을 얻기 위하여 적절한 복원 처리에 통과된다.
이상에서 설명한 바와 같이, 본 발명에 따른 데이터 처리 방법에 의하면, 데이터를 구간별 선형 압축할 수 있으며, 크기가 작고, 변경 가능한 회로를 구현할 수 있다.
이상에 개시된 본 발명의 상세한 설명은, 예시적으로 기술된 것으로서, 본 발명의 범위를 제한하거나 한정하기 위해 기술된 것이 아니다. 본 발명이 속하는 기술분야의 통상의 기술자로서는, 본 명세서에 개시된 발명을 다양하게 변경, 변형시킴으로써, 실질적으로 동일한 기능, 구조, 구성, 단계 등을 갖도록 실시할 수 있을 것이며, 이러한 변형은 모두 본 발명의 기술적 범위에 포함되는 것으로 이해되어야 할 것이다. 또한, 본 발명의 기술적 범위에는, 본 명세서에 개시되지 않은 수단, 방법 등을 통해 이루어지는 다양한 실시예들이 포함될 수 있으며, 본 명세서는 그러한 실시예를 효과적으로 기술하기 위해 개시된 것임을 이해해야 한다.
60, 160, 260 : 영상 데이터 파일
110 : 표시 장치 130 : 프레임 버퍼
220 : 출력측 감마 전환 함수
230: 입력측 감마 전환 함수
320 : 출력측 의사감마 PWL 함수
330 : 입력측 의사감마 전환 함수
410 : 구분점 저장 메모리
440 : 감산부 450 : 곱셈부
460 : 가산부 470 : 작은 비선형 LUT
520 : 데이터 간극/결손 감지부

Claims (43)

  1. 데이터 압축 모듈의 입력 신호로서 가상의 고정밀 값 직선 상에서 사용되지 않는 고정밀 값 지점에 인접하게 위치하는 사용된 고정밀 값 지점에 대응되는 제1 셋트를 표현하는 제1 비트 폭의 다중 비트 신호의 제1 셋트를, 상기 사용된 고정밀 값 지점에 대응되는 제1 셋트와 상기 사용된 고정밀 값 지점이 동일하지만 상기 제1 비트 폭보다 좁은 제2 비트 폭의 다중 비트 신호의 제2 셋트로 전환하는 데이터 압축 방법에 있어서,
    상기 제1 비트 폭의 다중 비트 신호가 고정밀 값 범위의 미리 설정되고 선형변환함수를 갖는 하나 또는 그 이상의 그룹의 범위 내에 속하는지 판단하여, 상기 범위를 식별하는 단계; 및
    상기 식별된 범위에서 상기 선형변환함수를 식별하고, 상기 식별된 선형변환함수를 이용하여, 상기 제1 비트 폭의 다중 비트 신호의 상기 고정밀 값 지점을 표현하는 상기 제2 비트 폭의 대응되는 다중 비트 신호를 생성하는 단계를 포함하되,
    각각의 상기 선형변환함수는, 동조 가능한 선형변환 기울기를 식별하는 계수와, 시작점 또는 끝점을 식별하는 계수를 가지며,
    상기 계수들은, 둘 이상의 사용된 고정밀 값 지점들이, 상기 제2 비트 폭의 다중 비트 신호로 정의되는 저정밀 값 지점들 중 동일한 하나로 압축되는 것을 최소화하도록 설정되는 것을 특징으로 하는 데이터 압축 방법.
  2. 제1항에 있어서, 상기 식별된 선형 변환 함수를 이용하는 단계는,
    상기 식별된 범위에서 미리 설정된 크기변환 값을 식별하여, 상기 제1 비트 폭의 다중 비트 신호의 값 및 상기 식별된 크기변환 값의 차이를 표현하는 차 신호(difference signal)를 생성하는 단계;
    상기 식별된 범위에서 미리 설정된 기울기 값을 식별하여, 상기 차 신호의 값 및 상기 식별된 기울기 값의 곱으로 표현되는 곱 신호를 생성하는 단계; 및
    상기 식별된 범위에 대응되는 가산 값을 도출하여, 상기 곱 신호의 값과 상기 가산 값의 합으로 표현되는 구간별 변환 신호를 생성하는 단계를 포함하는 것을 특징으로 하는 데이터 압축 방법.
  3. 제1항에 있어서, 상기 선형변환함수를 상기 제1 비트 폭의 다중 비트 신호의 신호당 비트 수보다 더 적은 수의 입력 단말을 포함한 작은 룩업 테이블(LUT)에 의해 정의되는 비선형 변환함수로 대체하며, 상기 작은 룩업 테이블(LUT)을 사용하여 상기 제1 비트 폭의 다중 비트 신호의 고정밀 값 지점을 표현하는 상기 대응되는 제2 비트 폭의 다중 비트 신호를 생성하는 단계를 더 포함하는 것을 특징으로 하는 데이터 압축 방법.
  4. 제3항에 있어서, 상기 제1 비트 폭의 다중 비트 신호는 10 또는 그 이상의 비트 수를 갖고, 상기 제2 비트 폭의 다중 비트 신호는 1 이상 및 8 이하의 비트 수를 가지며, 상기 작은 룩업 테이블의 입력 단말의 수는 1 이상 및 8 이하인 것을 특징으로 하는 데이터 압축 방법.
  5. 제4항에 있어서, 상기 제1 비트 폭의 다중 비트 신호는 12 또는 그 이상의 비트 수를 가지며, 상기 작은 룩업 테이블의 입력 단말의 수는 1 이상 및 6 이하인 것을 특징으로 하는 데이터 압축 방법.
  6. 제1항에 있어서, 상기 제1 비트 폭의 다중 비트 신호는 10 또는 그 이상의 비트 수를 가지며, 상기 제2 비트 폭의 다중 비트 신호는 1 이상 및 8 이하인 것을 특징으로 하는 데이터 압축 방법.
  7. 제1항에 있어서, 상기 제1 비트 폭의 다중 비트 신호는 12 또는 그 이상의 비트 수를 갖는 것을 특징으로 하는 데이터 압축 방법.
  8. 제1항에 있어서, 상기 선형변환함수는, 상기 제2 비트 폭의 다중 비트 신호와 동일한 비트 폭의 영상 데이터 신호가 저장되는 영상 데이터 저장 파일에 미리 설정된 출력측 감마 함수의 구간별 선형 근사를 정의하기 위하여 결합되는 것을 특징으로 하는 데이터 압축 방법.
  9. 제1항에 있어서, 상기 생성된 대응되는 제2 비트 폭의 다중 비트 신호를 영상 표시 시스템의 프레임 버퍼에 저장하는 단계를 더 포함하는 것을 특징으로 하는 데이터 압축 방법.
  10. 제1항에 있어서, 상기 제1 비트 폭의 다중 비트 신호는, 서브픽셀 렌더링 과정을 수행하여 상기 제1 비트 폭의 다중 비트 신호를 생성하는 영상 데이터 전처리부로부터 수신되는 것을 특징으로 하는 데이터 압축 방법.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 가상의 고정밀 값 직선 상에서 사용되지 않는 고정밀 값 지점에 인접하게 위치하는 사용된 고정밀 값 지점에 대응되는 제1 셋트를 표현하는 제1 비트 폭의 다중 비트 신호의 제1 셋트를, 상기 사용된 고정밀 값 지점에 대응되는 제1 셋트와 상기 사용된 고정밀 값 지점이 동일하지만 상기 제1 비트 폭보다 좁은 제2 비트 폭의 다중 비트 신호의 제2 셋트로 전환하는 비인과적 동조 가능한 압축 회로에 있어서,
    상기 제1 비트 폭의 다중 비트 신호가 고정밀 값 범위의 미리 설정되고 선형변환함수를 갖는 어느 하나의 그룹의 범위 내에 속하는지 판단하여, 상기 범위를 식별하는 범위 식별 신호를 생성하는 동조 가능한 범위 판단부; 및
    상기 범위 식별 신호에 반응하고, 상기 범위에서의 선형변환함수를 상기 제1 비트 폭의 다중 비트 신호에 인가하여, 상기 제1 비트 폭의 다중 비트 신호의 상기 고정밀 값 지점을 표현하는 상기 제2 비트 폭의 대응하는 다중 비트 신호를 생성하는 선형 변환부를 포함하며,
    상기 선형 변환부에 의해 인가되는 상기 선형변환함수는, 압축되는 동안 둘 이상의 상기 사용된 고정밀 값 지점들이 상기 선형 변환부에 의해 생성된 상기 제2 비트 폭의 다중 비트 신호로 정의되는 저정밀 값 지점들 중 동일한 하나로 중복되는 것을 최소화하기 위해 설정되는, 기울기를 표현하는 계수 및 하나 이상의 범위끝 지점들(end-of-range points)을 표현하는 계수를 갖는 것을 특징으로 하는 비인과적 동조 가능한 압축 회로.
  20. 제19항에 있어서, 상기 선형 변환부는,
    복수의 미리 설정된 변환 값들을 저장하는 제1 스토리지(storage), 및 상기 제1 스토리지에 연결되어 상기 식별된 범위에서 상기 저장된 변환 값을 식별하도록 설정된 제1 식별부를 포함하는 제1 룩업 구조;
    상기 제1 룩업 구조에 연결되어, 상기 제1 룩업 구조에 의해 식별된 상기 변환 값 및 상기 제1 비트폭의 다중 비트 신호의 값의 차이를 표현하는 차 신호(difference signal)를 생성하는 제1 결합부;
    상기 식별된 범위에서 미리 설정된 복수의 기울기 값들을 저장하는 제2 스토리지, 및 상기 제2 스토리지에 연결되어 상기 식별된 범위에서 상기 저장된 기울기 값을 식별하도록 설정된 제2 식별부를 포함하는 제2 룩업 구조;
    상기 제2 룩업 구조에 연결되어, 상기 제2 룩업 구조에 의해 식별된 기울기 값 및 상기 차 신호의 곱을 표현하는 곱 신호를 생성하는 제2 결합부;
    상기 식별된 범위에서 미리 설정된 복수의 가산 값들을 저장하는 제3 스토리지, 및 상기 제3 스토리지에 연결되어 상기 식별된 범위에 대응되는 가산 값을 식별하도록 설정된 제3 식별부를 포함하는 제3 룩업 구조; 및
    상기 제3 룩업 구조에 연결되어, 상기 곱 신호의 값 및 상기 식별된 가산 값의 합을 표현하는 구간별 변환 신호를 생성하는 제3 결합부를 포함하는 것을 특징으로 하는 비인과적 동조 가능한 압축 회로.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
KR1020120032061A 2011-05-13 2012-03-29 데이터 압축 방법, 데이터 처리 자동 수행 방법, 비인과적 동조 가능한 압축 회로, 영상 데이터 처리 시스템, 영상 데이터 처리 시스템에서의 기계 구현 방법, 및 영상 데이터 처리 시스템에서의 기계 지원 동조 방법 KR101843942B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/107,535 US8537171B2 (en) 2011-05-13 2011-05-13 Piecewise non-causal compression and subsequent decompression of quantized data for processing of decompressed data in higher precision processing space
US13/107,535 2011-05-13

Publications (2)

Publication Number Publication Date
KR20120128090A KR20120128090A (ko) 2012-11-26
KR101843942B1 true KR101843942B1 (ko) 2018-04-02

Family

ID=47141585

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120032061A KR101843942B1 (ko) 2011-05-13 2012-03-29 데이터 압축 방법, 데이터 처리 자동 수행 방법, 비인과적 동조 가능한 압축 회로, 영상 데이터 처리 시스템, 영상 데이터 처리 시스템에서의 기계 구현 방법, 및 영상 데이터 처리 시스템에서의 기계 지원 동조 방법

Country Status (2)

Country Link
US (1) US8537171B2 (ko)
KR (1) KR101843942B1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5712609B2 (ja) * 2010-12-24 2015-05-07 富士通株式会社 データ処理装置及びデータ記録方法
KR101489637B1 (ko) * 2012-09-25 2015-02-04 엘지디스플레이 주식회사 타이밍 컨트롤러 및 그 구동 방법과 이를 이용한 평판표시장치
KR101992310B1 (ko) * 2013-03-25 2019-09-30 엘지디스플레이 주식회사 표시 장치의 영상 처리 방법 및 장치
KR102103730B1 (ko) * 2013-11-19 2020-06-01 삼성디스플레이 주식회사 디스플레이 구동장치 및 이를 포함하는 디스플레이 장치
US20150146107A1 (en) * 2013-11-26 2015-05-28 Apple Inc. Methods to Reduce Bit-Depth Required for Linearizing Data
US9501261B2 (en) * 2014-05-06 2016-11-22 Qualcomm Incorporated Binary array with LSB dithering in a closed loop system
US10163408B1 (en) * 2014-09-05 2018-12-25 Pixelworks, Inc. LCD image compensation for LED backlighting
KR101594595B1 (ko) * 2015-06-01 2016-02-16 엘아이지넥스원 주식회사 클러스터링을 이용한 원격 측정 데이터 판정 방법
KR101594510B1 (ko) * 2015-06-01 2016-02-16 엘아이지넥스원 주식회사 클러스터링을 이용한 원격 측정 데이터 판정 장치
EP3360315A1 (en) * 2015-10-05 2018-08-15 THOMSON Licensing Method and apparatus for determining an output value representing a picture data by applying a piece-wise linear function on an input data representing a picture data
US10762020B2 (en) * 2015-10-09 2020-09-01 Sony Corporation Bus system and communication device
KR101896002B1 (ko) * 2015-10-15 2018-09-06 (주) 솔텍시스템 실시간 공정 데이터를 효율적으로 압축 처리하기 위한 서버
EP3244616A1 (en) * 2016-05-13 2017-11-15 Thomson Licensing A method for encoding an input video comprising a luma component and two chroma components, the method comprising reshaping of said input video based on reshaping functions
US10997492B2 (en) * 2017-01-20 2021-05-04 Nvidia Corporation Automated methods for conversions to a lower precision data format
CN108346410B (zh) 2017-01-25 2019-12-24 元太科技工业股份有限公司 电子纸显示器装置
KR102526145B1 (ko) 2017-11-24 2023-04-28 삼성디스플레이 주식회사 유기 발광 표시 장치 및 이의 구동 방법
CN108230307B (zh) * 2017-12-29 2022-01-14 浙江大学 一种基于轮廓质心距离与神经网络的玉米破碎粒检测方法
US10825406B2 (en) * 2018-09-28 2020-11-03 Microsoft Technology Licensing, Llc LCD display backlight control system
CN112101541B (zh) * 2019-06-18 2023-01-17 上海寒武纪信息科技有限公司 对高位宽值数据进行拆分的装置、方法、芯片及板卡
CN111343462B (zh) * 2020-03-08 2021-10-22 苏州浪潮智能科技有限公司 一种图像数据压缩传输方法、装置及存储介质
US11955067B2 (en) 2021-03-17 2024-04-09 Samsung Display Co., Ltd. Simplified rate control for an additive iterative compression system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365465A (en) * 1991-12-26 1994-11-15 Texas Instruments Incorporated Floating point to logarithm converter
EP0578950A3 (en) * 1992-07-15 1995-11-22 Ibm Method and apparatus for converting floating-point pixel values to byte pixel values by table lookup
US5748786A (en) * 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
US6570924B1 (en) * 1998-11-20 2003-05-27 Interval Research Corp Low cost video compression using fast, modified Z-coding of wavelet pyramids
US8374237B2 (en) * 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
US8509555B2 (en) * 2008-03-12 2013-08-13 The Boeing Company Error-resilient entropy coding for partial embedding and fine grain scalability
US8898537B2 (en) * 2010-03-17 2014-11-25 The Royal Institution For The Advancement Of Learning/Mcgill University Method and system for decoding

Also Published As

Publication number Publication date
KR20120128090A (ko) 2012-11-26
US8537171B2 (en) 2013-09-17
US20120287141A1 (en) 2012-11-15

Similar Documents

Publication Publication Date Title
KR101843942B1 (ko) 데이터 압축 방법, 데이터 처리 자동 수행 방법, 비인과적 동조 가능한 압축 회로, 영상 데이터 처리 시스템, 영상 데이터 처리 시스템에서의 기계 구현 방법, 및 영상 데이터 처리 시스템에서의 기계 지원 동조 방법
CN108882028B (zh) 视频信号的处理方法及装置
US10205956B2 (en) Texture compression techniques
KR102121676B1 (ko) 지각 코드 공간에서 디스플레이를 동작시키기 위한 기술들
RU2648634C1 (ru) Кодирование и декодирование перцепционно квантованного видеосодержимого
US10679544B2 (en) Digital image processing chain and processing blocks and a display including the same
US10218917B2 (en) Method and apparatus to create an EOTF function for a universal code mapping for an HDR image, method and process to use these images
US7554557B2 (en) Device and method for image compression and decompression
US5258747A (en) Color image displaying system and method thereof
JP2861890B2 (ja) カラー画像表示装置
US8659609B2 (en) Multi-color display device
US7081899B2 (en) Image processing support system, image processing device and image display device
US6351555B1 (en) Efficient companding algorithm suitable for color imaging
CN104981861A (zh) 信号转换装置和方法以及程序和记录介质
KR20080045132A (ko) 하드웨어 가속 컬러 데이터 처리
CN100403394C (zh) 增强的显示设备及方法,以及用于显示图像的移动终端
EP3251083A1 (en) Method and device for mapping a hdr picture to a sdr picture and corresponding sdr to hdr mapping method and device
KR20170042254A (ko) 이미지 프로세싱 방법 및 비선형 데이터 인코딩 방법 및 장치
WO2005094061A1 (en) Graphics processor with gamma translation
CN107862672A (zh) 图像去雾的方法及装置
JP2019515562A (ja) 高ダイナミックレンジ画像を符号化ビットストリームへ符号化/復号する方法と装置
CN112991412B (zh) 一种液晶仪表序列帧动画性能优化方法及液晶仪表
JPH02100465A (ja) 画像符号化方式
US20060033939A1 (en) Apparatus and method for converting color gamut of color image
JP4708882B2 (ja) 圧縮イメージ用ビット・バジェット・モニタ

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant