KR20170042254A - 이미지 프로세싱 방법 및 비선형 데이터 인코딩 방법 및 장치 - Google Patents
이미지 프로세싱 방법 및 비선형 데이터 인코딩 방법 및 장치 Download PDFInfo
- Publication number
- KR20170042254A KR20170042254A KR1020160130115A KR20160130115A KR20170042254A KR 20170042254 A KR20170042254 A KR 20170042254A KR 1020160130115 A KR1020160130115 A KR 1020160130115A KR 20160130115 A KR20160130115 A KR 20160130115A KR 20170042254 A KR20170042254 A KR 20170042254A
- Authority
- KR
- South Korea
- Prior art keywords
- linear
- data
- lut
- block
- memory address
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 title claims description 66
- 230000015654 memory Effects 0.000 claims abstract description 118
- 230000006870 function Effects 0.000 claims abstract description 71
- 238000003672 processing method Methods 0.000 claims abstract description 8
- 238000013139 quantization Methods 0.000 claims description 50
- 238000007906 compression Methods 0.000 claims description 30
- 230000006835 compression Effects 0.000 claims description 30
- 238000013507 mapping Methods 0.000 claims description 7
- 230000000295 complement effect Effects 0.000 claims description 6
- 238000012886 linear function Methods 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 5
- 238000003384 imaging method Methods 0.000 description 5
- 238000001228 spectrum Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000009795 derivation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- HCJLHZAGGWZIAU-SRZZPIQSSA-N methyl 2-[4-(4-chlorophenyl)-2-[(E)-(2-hydroxyphenyl)methylideneamino]-1,3-thiazol-5-yl]acetate Chemical compound COC(=O)Cc1sc(\N=C\c2ccccc2O)nc1-c1ccc(Cl)cc1 HCJLHZAGGWZIAU-SRZZPIQSSA-N 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
- G09G3/2003—Display of colours
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
- G09G3/2007—Display of intermediate tones
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0242—Compensation of deficiencies in the appearance of colours
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0271—Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0271—Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping
- G09G2320/0276—Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping for the purpose of adaptation to the characteristics of a display device, i.e. gamma correction
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/06—Adjustment of display parameters
- G09G2320/0666—Adjustment of display parameters for control of colour parameters, e.g. colour temperature
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0407—Resolution change, inclusive of the use of different resolutions for different screen areas
- G09G2340/0428—Gradation resolution change
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2350/00—Solving problems of bandwidth in display systems
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/122—Tiling
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/16—Calculation or use of calculated indices related to luminance levels in display data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
본 발명에 따른 이미지 프로세싱 방법은 선형 이미지 데이터를 포함하는 입력 데이터 신호의 선형 표현을 생성하기 위해 비선형 함수로 인코딩된 입력 데이터 신호에 선형 프로세싱을 수행하는 단계; 프로세스된 비선형 이미지를 생성하기 위해 집적 회로를 사용하는 단계: 비선형 양자화된 데이터를 생성하기 위해 상기 선형 이미지 데이터를 비선형적으로 양자화하는 단계; 상기 비선형 양자화된 데이터를 기초로 메모리 어드레스를 생성하는 단계; 및 상기 생성된 메모리 어드레스를 기초로 LUT(룩업 테이블, look up table)에 접속하는 단계를 포함한다.
Description
본 기재의 실시예들은 표시 장치에 관한 것이다.
다양한 표시 장치가 개발되고 있다. 이러한 표시 장치의 예로, 액정 표시 장치, 전계 방출 표시 장치, 플라즈마 표시 장치, 그리고 유기 발광 표시 장치 등이 있다. 이러한 표시 장치들은 종래의 음극선관 표시 장치에 비해 무게가 가볍고 부피가 작다.
역사적이고 인지적인 이유로, 표시 장치의 표시 패널에 디스플레이 되는 이미지에 대응하는 입력 이미지 데이터/디지털비디오 신호의 데이터는 주로 고도의 비선형 함수로 인코딩 되는데, 이러한 함수를 전광 변환 함수(Electro-Optical Transfer Function, EOTF)라고 한다. 상기 전광 변환 함수는 입력 이미지 데이터에 대응하는 디지털 코드워드를 사용자가 인지할 수 있는 가시 정보로 변환하는 방법을 효과적으로 설명한다. 일부 전광 변환 함수는 음극선관 (cathode ray tube, CRT) 표시 장치, 지각적 양자화기 (Perceptual Quantizer, PQ) (예를 들어, SMPTE S-2084), 디지털 이미징 및 커뮤니케이션 등에 사용되었던 감마 비선형성을 포함한다. 효과적인 전광 변환 함수는 형태는 사용자의 시각적인 이미지 인식 품질에 대응할 것이다. 더욱이, 모든 데이터 처리의 결과, 인코딩된 데이터의 EOTF는 이미지가 바르게 표현되는 디스플레이 장치의 EOFT와 일치되어야 한다.
표시 장치가 비선형 인코딩 방법을 채택하는 데는 여러 가지 이유가 있을 수 있다. 그 중 하나는, 상기 입력 이미지 데이터를 인지적으로 연관된 계조 레벨에 할당하는 것이 바람직하기 때문이다. 이러한 비선형성은 표시 특성의 사용자 인식 또한 비선형적일 수 있음을 깨달을 때 이해될 수도 있다. 예를 들어, 상기 사용자는 계조 레벨의 스펙트럼 중 어두운 단부에서 밝기의 작은 변화나 빛의 세기의 작은 변화를(예를 들어, 1 nit 혹은 1 칸델라 매평방 미터(candela per meter square)의 차이) 인지할 수 있는 반면, 계조 레벨의 스펙트럼 중 밝은 단부에서는(예를 들어, 대략 10nit 이상에 대응하는 스펙트럼의 단부) 대략 10nits의 변화보다 적은 차이는 인지할 수 없을 수도 있다. 즉, 인접한 계조 레벨 간의 차이는 스펙트럼의 하단의 낮은 계조 레벨에서 더 쉽게 관찰된다.
예를 들어, 종래 표시 장치의 EOTF에서, EOTF를 표현하는 그래프 왼쪽 하단부에서 인접한 디지털 값 사이의 차이는 밝기의 아주 작은 변화에 대응할 수 있는 반면, 그래프에서 먼 오른쪽 단부에서 인접한 디지털 값 사이의 차이는 밝기의 상당히 큰 변화에 대응한다. 그러나, 사용자는 밝기의 서로 다른 크기의 변화를 거의 동일한 레벨로 감지할 수 있다.
따라서, 밝기의 변화에 대한 사람의 눈의 이러한 비선형 감지는 EOTF에 적절하게 반영되며, 이는 그래프의 오른쪽 단부에 밝은 영역에서 더 낮은 정밀도(예를 들어, 더 높은 압축)을 허용하면서 그래프의 왼쪽 단부에 어두운 영역에서 더 높은 정밀도(예를 들어, 더 낮은 압축)에 대응할 수 있다.
칼리브레이션 프로세스(calibration process)는 EOTF의 형태 조절을 포함할 수 있으며, 이미지 품질은 EOTF의 모양과 평탄도에 대응할 수 있다. EOTF 곡선의 형태가 정확하지 않을 경우, 사용자는 상기 표시 장치에 표시된 이미지에서 양자화 블록 및 다른 원하지 않은 결과물을 인지할 수 도 있다. 따라서, "범프(bump)" 또는 "킹크(kink)"가 없는 명확한 EOTF가 이미지의 표시 품질에 적절할 수 있다.
더욱이, 하드웨어 기반 집적회로로 상기 EOTF를 수학적으로 계산하는 것은 쉽지 않을 수 있다. 즉, 하드웨어에서 EOTF의 분석적인 형태가 상당히 간단하더라도, 내장된 회로에서 적은 비용으로 EOTF를 분석적으로 계산하는 것은 어려울 수 있다. 하나의 해결책은, 사전 계산된 함수들을 메모리에 있는 LUT(look up table, LUT)로서 저장하는 것이다. 또는, EOTF는 로직 상 역 LUT에 저장될 수 있다.
두 가지 모두 높은 동적 범위(high dynamic range)의 표시에 이상적이지 않을 수 있다. 역 역 LUT은 상기 비선형 값들을 계산하기 위해 필요한 복수의 테이블을 저장하는 로직을 사용한다. 다수의 LUT가 필요할 때 메모리 사용은 비실용적이다. 로직에서 LUT의 저장은 LUT 조절을 허용하지 않는다. 종래의 LUT는 SDR 영상을 위해 광범위하게 사용되어 왔으나, 높은 동적 범위를 잘 수용하지 못한다. LUT의 크기는 현실적으로 너무 크다.
따라서, 현대 비디오-프로세싱 시스템은 이러한 종류의 비선형 함수(예를 들어, EOTF)를 다룬다. 이러한 비디오-프로세싱 시스템은 입력 이미지 데이터를 나타내는 비선형 인코딩 데이터를 수신하나, 상기 입력 이미지 데이터의 다양한 계산 또는 조절을 수행 해야 할 수도 있다(예를 들어, 색상 조절, 콘트라스트 조절, 밝기 조절, 등등). 입력 이미지 데이터가 위치한 비선형 도메인/비선형 공간과는 대조적으로, 선형 도메인/선형 공간에서 이러한 조절을 다루는 것이 적절할 수 있기 때문에, 시스템은 수신된 비선형 입력 데이터를 선형화하여 시스템이 데이터에 다양한 수학적 계산을 더 쉽게 수행할 수 있게 된다.
예를 들어, 초록색을 띤 노란색 같이, 어떤 색상을 재생할 때, 이러한 색상을 재생하기 위해 사용되는 초록 색 화소 값에 대한 빨강 색 화소 값의 비율은 색상 재생과 연관된 요인이 될 수 있다. 그러나, 화소 값의 특정 비율은 이미지 표현이 선형 도메인에서 발생하는지 혹은 비선형 도메인에서 발생하는 지에 따라 크게 달라질 수 있다. 선형 도메인은 사용자의 인지에 대응하기 때문에, 대부분의 변화 또는 화소 값 비율의 스케일링, 또는 색상 보정은, (예를 들어, 대응 화소 값들의 적절한 비율의 작은 변화들은 다른 것보다 음영과 색소의 변화를 보다 쉽게 인지하도록 하는) 앞서 설명한 밝기 조절과 유사한 방법으로 선형 도메인에서 행해진다. 그러나, 이러한 선형 프로세싱은 이미지 품질을 유지하기 위해 비선형 표현보다 고정밀도(예를 들어, 더 큰 비트 심도)에 대응한다.
선형 프로세싱이 완료된 후, 신호는 비선형 도메인으로 다시 인코딩 된다. 표시 시스템에서, 이러한 비선형 인코딩은 종종 감마 보정으로 불린다. 그러나, 높은 동적 범위 (high dynamic range, HDR) 이미징은 비선형 인코딩을 더 어렵게 만들기 때문에, 비선형 인코딩은 하드웨어 기반의 프로세싱으로 수행하기 어려울 수 있다.
이러한 배경기술 섹션에 개시된 상기 정보는 단지 본 개시내용의 배경기술의 이해의 증진을 위한 것이며, 따라서, 본 기술분야의 통상의 기술자에게 이미 공지되어 있는 종래 기술을 형성하지 않는 정보를 포함할 수 있다.
본 기재는 프로세스된 이미지를 생성하기 위해 선형 이미지 표현의 비선형 인코딩을 수행하는 이미지 프로세싱 방법, 비선형 데이터 인코딩 방법 및 장치를 제공하기 위한 것이다.
본 발명의 하나 이상의 실시예에 따르면, 이미지 프로세싱 방법이 제공된다. 상기 이미지 프로세싱 방법은 선형 이미지 데이터를 포함하는 입력 데이터 신호의 선형 표현을 생성하기 위해 비선형 함수로 인코딩된 입력 데이터 신호에 선형 프로세싱을 수행하는 단계; 프로세스된 비선형 이미지를 생성하기 위해 집적 회로를 사용하는 단계: 비선형 양자화된 데이터를 생성하기 위해 상기 선형 이미지 데이터를 비선형적으로 양자화하는 단계; 상기 비선형 양자화된 데이터를 기초로 메모리 어드레스를 생성하는 단계; 및 상기 생성된 메모리 어드레스를 기초로 LUT(룩업 테이블, look up table)에 접속하는 단계를 포함한다.
입력 데이터 신호는 높은 동적 범위(high dynamic range, HDR) 데이터를 포함할 수 있다.
상기 방법은 상기 선형 이미지 데이터를 조절하기 위해 상기 선형 이미지 데이터에 신호 프로세싱을 수행하는 단계를 더 포함할 수 있다.
비선형 양자화 데이터를 생성하기 위해 상기 선형 이미지 데이터를 비선형적으로 양자화하는 단계는 상기 선형 이미지 데이터에 비선형 양자화 함수를 수행하는 단계; 및 상기 비선형 양자화 함수에 상보적인 상보 함수를 수행하는 것을 포함할 수 있다.
상기 선형 이미지 데이터를 비선형 양자화하는 단계는 선형 이미지 데이터의 입력 값을 수신하는 단계; 선택된 입력 값이 위치한 상기 선형 이미지 데이터를 포함하는 데이터 블록을 결정하는 단계; 상기 결정된 데이터 블록에 대응하는 블록 비트 시프트를 결정하는 단계; 상기 결정된 데이터 블록에 대응하는 오프셋을 결정하는 단계; 및 상기 결정된 데이터 블록, 결정된 블록 비트 시프트, 그리고 결정된 오프셋을 기초로 LUT의 메모리 어드레스를 계산하는 단계를 포함할 수 있다.
상기 오프셋은 상기 결정된 데이터 블록보다 낮은 데이터 블록의 입력 값에 대응하는 LUT의 메모리 어드레스에 대응하고, 상기 이미지 프로세싱 방법은 상기 결정된 데이터 블록 내에서의 범위 밖의 양자화 값을 보정하는 단계를 더 포함할 수 있다.
상기 방법은 상기 결정된 데이터 블록을 포함하는 2개 내지 10개의 데이터 블록을 할당하는 단계를 더 포함할 수 있다.
상기 방법은 상기 선택된 입력 값을 위해 상기 메모리 어드레스에서 상기 LUT로부터 단일 출력 값을 회수하는 단계를 더 포함할 수 있다.
상기 프로세스된 비선형 이미지는 상기 출력 값을 포함할 수 있다.
상기 방법은 상기 LUT에 저장된 각 출력 값을 위해 오차 정도를 결정하는 단계; 및 어떠한 LUT 엔트리의 비선형 양자화에 대응하는 양자와 함수를 조절하는 것은 1 LSB 보다 작은 오차를 갖는 단계를 더 포함할 수 있다.
상기 방법은 상기 데이터 블록과 비트 시프트 레벨을 정의하기 위해 최적화 프로시저를 사용해서 경계 슬라이스 간격을 결정하는 것을 더 포함할 수 있다.
상기 방법은 상기 메모리 어드레스를 상기 LUT에 저장된 출력 값으로 맵핑하는 단계; 및 상기 LUT로부터 상기 출력 값을 회수하는 단계를 더 포함할 수 있다.
본 발명의 하나 이상의 실시예에 따르면, 선형 이미지 데이터를 비선형 인코딩하는 장치가 제공된다. 상기 장치는 상기 선형 이미지 데이터의 입력 값을 회수하기 위해 구성된 압축 어드레싱 계산 프로세서; 상기 입력 값에 양자화 함수를 수행하고 상기 입력 값에 대응하는 메모리 어드레스를 생성하기 위해 구성된 압축 레지스터 집합; 상기 메모리 어드레스에 출력 값을 저장하기 위해 구성된 LUT; 및 상기 출력 값을 회수하기 위해 상기 LUT에 접속하기 위해 구성된 메모리 컨트롤러를 포함한다.
상기 압축 레지스터 집합은 상기 입력 값에 대응하는 상기 선형 이미지 데이터의 데이터 블록의 경계를 결정하기 위해 구성된 경계 슬라이스 레지스터; 상기 데이터 블록에 대응하는 블록 비트 시프트를 결정하기 위해 구성된 블록 비트 시프터; 및 상기 데이터 블록에 대응하는 오프셋을 결정하기 위해 구성되는 오프셋 레지스터를 포함할 수 있다.
상기 장치는 선형 이미지 데이터의 비선형 인코딩을 위해 집적 회로를 포함할 수 있다.
집적 회로는 상기 LUT에 대응하는 단일 메모리 셀 만을 포함할 수 있다.
단일 메모리 셀은 재프로그램 가능할 수 있다.
본 발명의 하나 이상의 실시예에 따르면, 비선형 데이터 인코딩 방법이 제공된다. 상기 방법은 선형 입력 값을 기초로 메모리 어드레스를 생성하는 단계; 상기 선형 입력 값이 위치한 데이터 블록을 결정하는 단계; 상기 결정된 데이터 블록에 대응하는 블록 비트 시프트를 결정하는 단계; 상기 결정된 데이터 블록에 대응하는 오프셋을 결정하는 단계; 상기 결정된 데이터 블록, 상기 결정된 블록 비트 시프트, 그리고 상기 결정된 오프셋을 기초로 LUT의 메모리 어드레스를 계산하는 단계; 및 상기 생성된 메모리 어드레스를 기초로 상기 LUT로부터 비선형 값을 회수하는 단계를 포함한다.
상기 메모리 어드레스를 생성하는 단계와 상기 비선형 값을 회수하는 단계는 하나의 집적 회로를 사용하는 단계를 포함할 수 있다.
생성된 메모리 어드레스를 기초로 상기 LUT로부터 상기 비선형 값을 회수하는 단계는 상기 생성된 메모리 어드레스를 집적 회로에 있는 단일 메모리 컨트롤러로 전달하는 단계 및 상기 메모리 컨트롤러를 사용해서 상기 LUT을 포함하는 단일 메모리 셀로부터 상기 비선형 값을 회수하는 단계를 포함할 수 있다.
본 기재의 실시예에 따르면, 프로세스된 이미지를 생성하기 위해 선형 이미지 표현의 비선형 인코딩을 수행하는 이미지 프로세싱 방법, 비선형 데이터 인코딩 방법 및 장치가 제공된다..
도 1은 본 발명의 실시 예에 따른 입력 이미지 데이터의 프로세싱을 도시한다.
도 2는 본 발명의 실시 예에 따른 집적 회로의 블록도이다.
도 3은 본 발명의 실시 예에 따른 콤팩트 LUT에 저장된 값들을 회수하기 위한 비선형 양자화와 입력 값들을 메모리 어드레스로의 변환을 그림을 이용해서 도시한다.
도 4는 본 발명의 실시 예에 따른 입력 값들의 압축 어드레싱을 묘사하는 블록도이다.
도 5는 본 발명의 실시 예에 따른 프로세스된 선형 이미지를 생성하기 위해 선형 이미지 표현을 비선형 인코딩하기 위한 프로세스를 도시하는 흐름도이다.
도 2는 본 발명의 실시 예에 따른 집적 회로의 블록도이다.
도 3은 본 발명의 실시 예에 따른 콤팩트 LUT에 저장된 값들을 회수하기 위한 비선형 양자화와 입력 값들을 메모리 어드레스로의 변환을 그림을 이용해서 도시한다.
도 4는 본 발명의 실시 예에 따른 입력 값들의 압축 어드레싱을 묘사하는 블록도이다.
도 5는 본 발명의 실시 예에 따른 프로세스된 선형 이미지를 생성하기 위해 선형 이미지 표현을 비선형 인코딩하기 위한 프로세스를 도시하는 흐름도이다.
발명의 개념 및 이를 달성하는 방법의 특징들은 다음의 실시예들에 대한 상세한 설명 및 첨부 도면들을 참조함으로써 더 용이하게 이해될 수 있다. 그러나, 본 발명의 개념은 많은 상이한 형태들로 구현될 수 있고 본원에서 진술된 실시예들로 제한되는 것으로 해석되어서는 안 된다. 이하에서는, 실시예들은 첨부 도면들을 참조하여 더 상세하게 설명될 것이고, 첨부 도면들에서 동일한 참조 번호들은 명세서 전체에 걸쳐 동일한 요소들을 칭한다. 그러나, 본 발명은 다양한 상이한 형태들로 구현될 수 있고, 단지 본원에서 도시된 실시예들로 제한되는 것으로 해석되어서는 안 된다. 오히려, 이 실시예들은 본 명세서가 철저하고 완전하도록, 그리고 본 발명의 양태들 및 특징들을 당업자에게 충분히 전달하도록 예들로서 제공된다. 이에 따라, 본 발명의 양태들 및 특징들의 완전한 이해를 위해 당업자에게 필요하지 않는 프로세스들, 요소들 및 기술들은 설명되지 않을 수 있다. 달리 지적되지 않으면, 동일한 참조 번호들은 첨부된 도면들 및 기재된 설명 전체에 걸쳐 동일한 요소들을 나타내고, 따라서, 이의 설명은 반복되지 않을 것이다. 도면들에서, 요소들, 층들 및 영역들의 상대적 크기는 명료성을 위해 과장될 수 있다.
용어들 "제 1", "제 2", "제 3" 등이 본원에서 다양한 요소들, 구성요소들, 영역들, 층들 및/또는 섹션들을 기술하는 데 사용될지라도, 이 요소들, 구성요소들, 영역들, 층들 및/또는 섹션들은 이 용어들에 의해 제한되지 않아야 함이 이해될 것이다. 이 용어들은 하나의 요소, 구성요소, 영역, 층 또는 섹션을 다른 요소, 구성요소, 영역, 층 또는 섹션과 구분하기 위해 사용된다. 그러므로, 후술되는 제 1 요소, 구성요소, 영역, 층 또는 섹션은 본 발명의 사상 및 범위를 벗어나지 않고 제 2 요소, 구성요소, 영역, 층 또는 섹션으로 칭해질 수 있다.
"밑에", "아래에", "하위의", "하에", "위에", "상위의" 등과 같은 공간 상대적 용어들은 설명의 편의상 본원에서 도면들에 도시되는 바와 같이 하나의 요소 또는 특징의 다른 요소(들) 또는 특징(들)에 대한 관계를 기술하기 위하여 사용될 수 있다. 공간 상대적 용어들은 도면들에서 도시되는 방위 외에 사용 중 또는 동작 중인 디바이스의 상이한 방위들을 포함하도록 의도되는 것임이 이해될 것이다. 예를 들어, 도면들에서의 디바이스가 뒤집어 지면, 다른 요소들 또는 특징들 "아래" 또는 "밑" 또는 "하"로서 기술되는 요소들은 다른 요소들 또는 특징들 "위로" 배향될 것이다. 그러므로, 예의 용어들 "아래" 및 "하"는 위 및 아래의 방위 모두를 포함할 수 있다. 디바이스는 그와 달리 지향(예를 들어, 90도 회전되거나 또는 다른 방위로)될 수 있으므로 본원에서 사용되는 공간 상대적 기술자들은 이에 따라 해석되어야 한다.
요소 또는 층이 다른 요소 또는 층 "상에", "에 접속되는" 또는 "에 결합되는" 것으로 칭해지면, 이는 요소 또는 층이 다른 요소 또는 층 바로 위에 있거나, 접속되거나 결합될 수 있거나, 또는 하나 이상의 개재 요소들 또는 층들이 존재할 수 있음이 이해될 것이다. 게다가, 요소 또는 층이 두 요소들 또는 층들 "사이에" 있는 것으로 칭해지면, 이는 두 요소들 또는 층들 사이에 유일한 요소 또는 층이 있을 수 있거나 또는 하나 이상의 개재 요소들 또는 층들이 또한 존재할 수 있음이 이해될 것이다.
본원에서 사용되는 용어는 단지 특정한 실시예들을 기술하기 위한 것이고 본 발명을 제한하도록 의도되지 않는다. 본원에서 사용되는 바와 같이, 단수 형태들 "a", "an" 및 "the"는 상황이 명확하게 달리 나타내지 않는 한 또한 복수의 형태들을 포함하도록 의도된다. 용어들 "comprises", "comprising", "includes" 및 "including"이 본 명세서에서 사용될 때는, 진술된 특징들, 정수들, 단계들, 동작들, 요소들 및/또는 구성요소들의 존재를 명시하지만 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 요소들, 구성요소들 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않음이 더 이해될 것이다. 본원에서 사용되는 바와 같이, 용어 "및/또는"은 연관되는 기재 아이템들 중 하나 이상의 임의의 그리고 모든 결합들을 포함한다. "중 적어도 하나"와 같은 표현들은 요소들의 목록에 선행할 때, 전체 목록의 요소들을 한정하고 이 목록의 개별 요소들을 한정하지 않는다.
본원에서 사용되는 바와 같이, 용어 "실질적으로", "약" 및 유사한 용어들은 근사의 용어들로서 사용되고 정도의 용어들로서 사용되지 않으며 당업자에 의해 인정될 측정 또는 계산 값에 있어서의 내재적인 편차를 나타내도록 의도된다. 더욱이, 본 발명의 실시예들을 기술할 때 "할 수 있다"의 사용은 "본 발명의 하나 이상의 실시예들"을 칭한다. 본원에서 사용되는 바와 같이, 용어들 "use", "using" 및 "used"은 각각 용어들 "utilize", "utilizing" 및 "utilized"와 동의어로 간주될 수 있다. 또한, 용어 "예시의"는 예 또는 실례를 칭하도록 의도된다.
본원에서 기술되는 본 발명의 실시예들에 따른 전자 디바이스들 또는 임의의 다른 관련 디바이스들 또는 구성요소들은 임의의 적절한 하드웨어, 펌웨어(예를 들어, 주문형 반도체(application-specific integrated circuit)), 소프트웨어 또는 소프트웨어, 펌웨어 및 하드웨어의 결합을 사용하여 구현될 수 있다. 예를 들어, 이 디바이스들의 다양한 구성요소들은 하나의 집적 회로(integrated circuit; IC) 칩 상에 또는 개별 IC 칩들 상에 형성될 수 있다. 더욱이, 이 디바이스들의 다양한 구성요소들은 가요성 인쇄 회로 필름, 테이프 캐리어 패키지(tape carrier package; TCP), 인쇄 회로 기판(printed circuit board; PCB) 상에 구현되거나 하나의 기판 상에 형성될 수 있다. 더욱이, 이 디바이스들의 다양한 구성요소들은 본원에서 기술되는 다양한 기능들을 수행하기 위하여 하나 이상의 컴퓨팅 디바이스들 내의 하나 이상의 프로세서들 상에서 가동되고, 컴퓨터 프로그램 명령들을 실행하고, 그리고 다른 시스템 구성요소들과 상호 작용하는 프로세스 또는 스레드(thread)일 수 있다. 컴퓨터 프로그램 명령들은 예를 들어, 랜덤 액세스 메모리(random access memory; RAM)와 같이, 표준 메모리 디바이스를 사용하여 컴퓨팅 디바이스 내에 구현될 수 있는 메모리 내에 저장된다. 컴퓨터 프로그램 명령들은 또한 예를 들어, CD-ROM, 플래시 드라이브 등과 같은 다른 비일시적 컴퓨터 판독 가능 매체 내에 저장될 수 있다. 또한, 당업자는 다양한 컴퓨팅 디바이스들의 기능이 단일 컴퓨팅 디바이스로 결합 또는 통합될 수 있거나, 또는 본 발명의 예시적인 실시예들의 사상 및 범위를 벗어나지 않고 특정한 컴퓨팅 디바이스의 기능이 하나 이상의 다른 컴퓨팅 디바이스들에 걸쳐 분산될 수 있음을 인정할 것이다.
달리 규정되지 않으면, 본원에서 사용되는 모든 용어들(기술 및 과학 용어들을 포함하는)은 본 발명이 속하는 당업계의 통상의 지식을 가진 자에 의해 통상적으로 이해되는 바와 동일한 의미를 가진다. 일반적으로 사용되는 사전들에서 정의되는 바와 같은 용어들은 당업계 및/또는 본 명세서의 상황에서 상기 의미와 일치하는 의미를 가지는 것으로 해석되어야 하고, 그리고 본원에서 이상화되거나 과도하게 정형화된 의미로 표현되지 않는 한 그와 같이 해석되지 않아야 함이 더 이해될 것이다.
다음의 상세한 설명들 중 일부분들은 컴퓨터/서버 메모리 내에서 발생하는 있는 데이터 비트들에 대한 동작들에 대한 알고리즘들 및/또는 심볼 표현으로 제시된다. 이 기술들 및 표현들은 다른 당업자에게 개념들, 구조들 및 방법론들을 전달하기 위하여 데이터 압축의 분야의 당업자에 의해 사용된다. 알고리즘은 원하는 결과를 달성하고 물리적 양들에 대한 물리적 조작들을 필요로 하는 자가 일관(self-consistent) 시퀀스이고, 이는 저장되고, 전송되고, 결합되고, 비교되고, 복제되고, 재생되고, 그리고 이와 달리 조작될 수 있는 전기 자기 신호들의 형태를 취할 수 있다. 그와 같은 신호들은 비트들, 값들, 요소들, 심볼들, 문자들, 항들, 수들 등으로 칭해질 수 있다. 이 용어들 및 유사한 용어들은 적절한 물리적 양들과 연관될 수 있고 이 양들에 대한 표본 라벨들로서 사용될 수 있다. 이에 따라, "프로세싱", "컴퓨팅", "계산", "결정", "디스플레이" 등과 같은 용어들은 레지스터들/메모리들 내의 물리적 양들로서 표현되는 데이터를 저장된/전송된/디스플레이된 물리적 양들에 의해서 또한 표현되는 다른 데이터로 조작하는 컴퓨팅 디바이스 또는 시스템의 행위 및 프로세스를 칭한다.
본 발명의 실시 예는 집적 회로를 사용해서 고정밀 값을 저정밀 값으로 비선형 인코딩하고 비선형 인코딩에 사용되는 총 메모리를 줄이기 위한 메모리 어드레싱 및 LUT (look up table, 룩 업 테이블)압축 방법을 사용하는 방법을 제공한다. 상기 방법에 사용되는 집적 회로는 각각의 값에 대한 단일 메모리 회수 만을 포함한다. 따라서, 본 발명의 실시 예에 따른 상기 집적 회로는 ASIC 또는 FPGA 설계의 일부로서 구현 가능하다.
도 1은 본 발명의 실시 예에 따른 입력 이미지 데이터 프로세싱을 도시한다.
도 1을 참조하면, 표시 시스템은 선형 처리 디지털 신호/선형 이미지 표현/선형 이미지 데이터(120)로서 선형 데이터/선형 이미지 표현을 생성하기 위해 비선형 입력 데이터(예를 들어, 비선형 함수로 인코딩된 디지털 비디오 신호)(110)를 선형화한다. (예를 들어, 색상, 콘트라스트, 밝기 등을 조절할 수 있도록) 상기 입력 이미지 데이터가 프로세스된 후, 프로세스된 선형 이미지(140)를 생성하기 위해 선형 이미지 데이터(120)는 비선형 함수(130)를 사용해서 다시 인코딩되어 비선형 도메인으로 시프트될 수 있다. 그러나, 앞서 언급한 바와 같이, 고정밀 데이터의 비선형 인코딩은 하드웨어 기반의 프로세싱으로 수행하기 어려울 수 있다. 왜냐하면, HDR 이미지는 보다 높은 비트 심도를 사용하고 데이터의 선형 표현은 비선형 인코딩에 비해 보다 높은 작업 정밀도를 요하기 때문이다 (즉, 비선형 함수(130)의 x축 상의 다수의 디지털 레벨은 비선형 함수(130)의 y축 상의 비교적 적은 수의 값에 매핑된다).
따라서, 본 실시예의 회로 (예를 들어, 도 2의 집적 회로(200))는 한 종류의 HDR 또는 SDR 형식의 내용을 또 다른 종류의 형식으로 바꿀 수 있는 트랜스코딩 박스의 일부로서 사용될 수 있다). 이러한 변화는 원색 인코딩의 수정, EOTF 함수, 또는 피크 컨텐츠 혹은 표시 밝기의 조절을 포함할 수 있다. 인커밍 이미지 형식에 따라, 복잡한 사전 프로세싱이 필요할 수 있으며, 이미지는 장치 내의 이미징 하드웨어를 위해 최적화된 형식으로 트랜스코딩된다. 중간 프로세싱 스테이지는 고정밀도 프로세싱을 요구할 것이며, 비선형 양자화/구간 양자화는 주로 중요 인터페이스를 통해 이미지를 통과하기 위해 요구된다.
상기 회로는 다른 형식을 출력하는 유연함을 요구하는 시스템에서 특히 유용하다. 회로는 단일 메모리 셀과 레지스터 값의 완전 집합(compact set)만을 사용해서 고정밀 화소 데이터를 훨씬 낮은 정밀도로 비선형 함수로 인코딩할 수 있다. 그래서, 이러한 회로는 TV 세트, 셋탑 박스 시스템, 미디어 플레이어 또는 모바일 표시 시스템에서 응용된다.
비선형 인코딩(nonlinear encoding)을 위해, 상기 비디오 처리 시스템은 선형 이미지 데이터(120)의 상대적으로 많은 수의 선형 디지털 값을 상대적으로 작은 수의 출력 데이터 값 및/또는 출력 값에 매핑 해야한다. 즉, 입력 이미지 데이터의 각 입력 가능한 값은 대응하는 출력 값에 할당되며, 가능한 입력 값의 총 개수는 가능한 출력 값의 총 개수 보다 크다 (예를 들어, 상기 선형 이미지 데이터(120)의 왼쪽 단부의 입력 값은 상기 출력 값에 매핑될 때 적게 중복되는 반면, 상기 선형 이미지 데이터(120)의 오른쪽 단부에 있는 다중 인접 입력 값들은 하나의 출력 값에 매핑될 수 있다). 이러한 비선형 인코딩을 수행하는 분석함수를 사용하지 않으면, 프로세스 제약을 다루기 힘들 수 있다. 더욱이, 상기 비선형 함수를 수행하기 위해 룩업데이블을 사용하는 것은 크기 요건으로 인해 비현실적일 수 있다.
예를 들어, 1000 레벨에 대응하는 1000:1의 콘트라스트 비를 갖는 표준 텔레비전 및 레거시 디바이스(legacy device)는 8 비트 비선형 인코딩을 사용할 수 있으나 선형 계산에서는 12 비트 이상의 작업 정밀도를 사용할 수 있다. 그러나, 100,000:1의 콘트라스트 비를 갖는 HDR 텔레비전은 10 비트 혹은 12 비트 비선형 인코딩을 사용할 수 있으며 작업정밀도의 20 비트 이상을 사용할 수 있다. 즉, 1000 레벨 만을 표현하려는 노력 대신, HDR 이미징으로 표현되는 레벨의 범위는 1/100 니트(nit)부터 1000 니트 이상일 수 있으므로 더 높은 비선형성과 너 높은 비트 심도를 갖는 EOTF를 적절하게 만들 수 있다.
따라서, 종래의 비선형 인코딩 방법은 HDR TV에 유효하지 않으며, 기존의 방법으로 고정밀도에서 저정밀도로 매핑하는 것은 비현실적일 수 있다. 예를 들어, HDR TV에 대응해서 증가하는 데이터 범위를 위해 LUT 전체를 사용하는 것은 너무 커서(예를 들어, 룩업테이블은 메가 바이트 순으로 되어 있다) 메모리 비용이 증가하고 불필요한 중복이 발생할 수 있다. 다른 예로서, 효과적인 저장에도 불구하고 역 룩업테이블은 불필요하게 많은 수의 메모리 블록/메모리 셀을 사용할 수 있다. 또한, 역 룩업테이블은 각 출력 값에 도달하기 위해 결정 트리(decision tree)를 사용하는 반복적인 접근을 제공하기 때문에, 상기 역 룩업테이블은 각각의 출력 값을 결정하기 위해 불필요하게 많은 수의 클록 사이클을 사용할 수 있다. 추가적인 예로, 비선형 인코딩 대신 선형 보간 또는 이차 보간이 사용될 수 있을지라도, 선형 및 이차 보간은 분석 함수의 근사치로 중간 값의 계산을 위해 특정 키 포인트를 저장할 수 있으며, 비선형 함수를 위해 근사 함수왜곡으로 인한 오차가 상당히 발생할 수 있고(예를 들어, 다항식으로 근사치 함수가 사용될 때 색상 시프트가 발생할 수 있다) 적절한 비선형 보간은 계산상 비용이 높을 수 있다.
따라서, 본 발명의 실시 예는 중복성을 줄이기 위해 단일 회수 콜(call) 만을 사용하고 고정밀 데이터를 비선형 인코딩하기 위한 적절한 방법을 제공하는 메모리에 단일의 인접한 블록으로서 저장되는 계층적 룩업 데이블을 제공한다.
도 2는 본 발명의 실시 예에 따른 집적 회로의 블록도이다.
도 2를 참조하면, 집적 회로/압축 룩업테이블 IP 블록(compressive LUT IP block)(200) 비선형 이미지 데이터(예를 들어, 도 1의 선형 이미지 표현(120)과 같은 입력 데이터 신호)을 수신하고 비선형 인코딩된 프로세스 이미지 데이터(예를 들어, 도 1의 프로세스된 선형 이미지(140))의 출력 값(output value)(270)을 생성하도록 구성된다. 선형 이미지 데이터(120)는 M 개의 비트(여기서 M은 양의 정수)를 가질 수 있으며, 비선형 인코딩된 프로세스 이미지 데이터(140)는 N 개의 비트(여기서, N은 M보다 작은 양의 정수)를 가질 수 있다. 입력 값(input value)(210)은 도 1의 선형 이미지 표현/선형 이미지 데이터(120)의 입력 이미지 데이터 값에 대응할 수 있다.
집적 회로(200)의 압축 어드레싱 계산(compressive addressing computation) 프로세서(220)는 입력 값(210)을 수신할 수 있다. 그러면, 압축 어드레싱 계산 프로세서(220)는 압축 레지스터(compression registers)(230)와 통신한다. 아래에서 도 3을 참조로 설명하게 될 것이지만, 압축 레지스터(230)는 상기 입력 값(210)에 대응하는 메모리 어드레스(240)를 집합적으로 결정한다(예를 들어, 복수의 메모리 어드레스(240) 각각은 하나 이상의 입력 값(210)에 대응한다). 즉, 압축 레지스터(230)는 집적회로(200)가 입력 값(210)에 따라 비선형 이미지 데이터(120)에 비선형 양자화/구간 양자화를 수행하여 비선형 양자화 데이터/양자화 버전을 생성하도록 하고 이에 기반을 둔 메모리 어드레스(250)를 생성하도록 한다.
압축 레지스터(230)는 메모리 어드레스(240)를 상기 압축 어드레싱 계산 프로세서(220)로 전달한다. 그러면 압축 어드레싱 계산 프로세서(220)는 선형 이미지 데이터(120)의 입력 값(210)에 대응하는 메모리 어드레스(240)를 메모리 컨트롤러(memory controller)(250)로 전송한다.
압축 레지스터(230)에 의해 수행된 비선형 양자화/구간 양자화에 기초한 메모리 어드레스(240)를 수신하면, 메모리 컨트롤러(250)는 단일 메모리 셀/메모리 블록의 압축/비선형 LUT(260)의 형태일 수 있는 메모리(memory)에 접속한다. LUT(260)은 메모리 어드레스(240)를 기초로 비선형 인코딩된 프로세스 이미지 데이터의 출력 값(270)을 회수한다. 그러면, LUT(260)는 출력 값(270)을 생성하여 출력한다. LUT(260)는 압축 레지스터(230)이 수행한 비선형 양자화로부터 발생할 수 있는 출력 값 오차를 줄이거나 보상할 수 있다.
따라서, 위에서 설명한 바와 같이, 집적회로(200)는 선형 입력 값(210)을 수신하고, 입력 값(210)을 그 값에 따라 다르게 양자화하고, 입력 값의 양자와 버전에 기초하여 메모리 어드레스(240)를 생성할 수 있다. 집적회로(200)는 상기 입력 값(210)에 대응하는 적절한 출력 값(270)을 결정하기 위해 LUT(260)에 있는 메모리 어드레스에 접속할 수 있다.
도 3은 본 발명의 실시 예에 따른 콤팩트 LUT에 저장된 값들의 회수를 위한 비선형 양자화/구간 양자화와 입력 값들을 메모리 어드레서로 변환하는 것을 나타낸 도면이다.
도 3을 참조하면, 입력 데이터는 입력 값(310) (예를 들어, 도 1의 선형 이미지 데이터(210)와 도 2의 입력 값(210))을 포함한다. 도 2에서와 같이, 가능한 입력 값(310)은 비선형 양자화 함수(예를 들어, 도 1의 비선형 함수(130))와 압축 LUT(예를 들어, 도 2의 LUT(260))을 사용해서 출력 값(370)을 생성하기 위해 양자화될 수 있다.
도 3에서 볼 수 있는 것과 같이, 선형 이미지 데이터(120)의 입력 값(310)은 네 개의 데이터 블록(390a-390d)로 나눠질 수 있다. 상기 데이터 블록(390)은 경계 슬라이스(399)에 의해 구획될 수 있으며, 이에 대해서 도 4를 참조로 추후 설명될 것이다. 본 실시 예에서는 네 개의 데이터 블록(390)을 도시하고 있지만, 본 발명의 다른 실시예에서, 입력 값(310)은 두 개의 데이터 블록(390)으로 분할되거나 열 개의 데이터 블록(390)으로 분할될 수 있다.
네 개의 데이터 블록(390) 각각에서 입력 값(310)은 데이터 블록(390)이 갖고 있는 입력 값(310)에 따라 서로 다르게 양자화될 수 있다. 즉, 앞서 언급한 바와 같이, 입력 값(310)은 비선형적으로 양자화될 수 있다.
예를 들어, 도 3에서 도시한 바와 같이, LUT의 제1 데이터 블록(390a)의 입력 값(310)은 대응하는 제1 LUT 블록/섹션(361a)에 있는 출력 값(370)(도 2의 메모리 어드레스(240)에 대응할 수 있는)에 일대일 대응할 수 있는 반면, 제2 데이터 블록(390b)에 있는 입력 값(310)은 대응하는 제2 룩업테이블 블록(361b)의 일부에 의해 표현될 수 있다. 여기서, 제1 데이터 블록(390a)에 있는 입력 값(310)의 수는 상기 제1 LUT 블록(361a)에 있는 출력 값의 수와 동일할 수 있다.
더욱이, 후속의 제3 및 제4 데이터 블록(390c, 390d)의 입력 값(310) 각각은 제3 및 제4 LUT 블록(361c, 361d)에 각각 대응하는 더 적은 수의 출력 값(370)에 각각 대응할 수 있다. 즉, 입력 값의 범위 중 중간 근처에 있는 입력 값(310)(예를 들어, 입력 값(310)의 제2 혹은 제3 데이터 블록(390b 또는 390c에 있는 입력 데이터 값(310)) 의 개수보다 더 많은 수의 입력 값(310) 범위 중 오른쪽 단부에 있는 입력 값(310)이 단일 출력 값(370)에 매핑될 수 있다. 후속 데이터 블록의 입력 값(310)의 더 능동적인 양자화는 앞서 언급한 바와 같이, 인지적으로 연관된 계조 레벨에 대응할 수 있다. 다른 예에서, LUT 블록은 균일한 크기를 가질 수 있다. 예를 들어, 도 3 에서와 같이, LUT 블록(361a-d) 각각은 서로 다른 크기를 갖는다. 제1 LUT 블록(361a)은 제2 LUT 블록(361b) 보다 크고, 제3 LUT 블록(361c)은 제2 LUT 블록(361b) 보다 작으며, 제4 LUT 블록(361d)이 가장 크다. LUT 블록 크기는 입력 값(310)을 출력 값(370)에 매핑하는 것과 연관된 요인에 따라 정해질 수 있다.
도 4는 본 발명의 실시예에 따른 입력 값의 압축 어드레싱을 도시하는 블록 다이어그램이다.
각 입력 값(incoming pixel value)(410/V)은 데이터 블록으로 분류되고, 입력 값(410/V)이 어느 데이터 블록에 있는지에 따라, 입력 값(410/V)은 비트 시프트와 산술 연산의 조합을 수행하여 적절하게 양자화된다. 양자화된 입력 값은 LUT(460)에 저장된 출력 값으로 매핑될 메모리 어드레스로 변환된다.
도 4 를 참조하면, 압축/비선형 LUT(460)을 어드레싱하기 위해 저장된 압축 레지스터(430)의 세 집합이 있다. 압축 레지스터(430)는 도 2의 실시예에 대응할 수 있으며, LUT(460)은 도 2의 실시예의 LUT(260)에 대응할 수 있다.
본 실시예의 압축 레지스터(430)는 경계 슬라이스 레지스터(boundary slice register)(430B) (예를 들어, B1, B2, B3...), 블록 비트 시프트 레지스터(430S) (예를 들어, S1, S2, S3...), 그리고 오프셋 레지스터(430O) (O1, O2, O3...)를 포함한다.
입력 값(410/V)의 압축 어드레싱을 위해, 본 발명의 프로세스는 입력 값(410/V) (예를 들어, 도 1의 입력 선형 이미지 데이터(120)에 대응하는 도 2의 입력 값(210))이 각 경계 슬라이스 보다 작은지를 반복해서 검사하고, BX를 입력 값(410/V)보다는 큰 가장 작은 경계 슬라이스(Bi)로서 식별할 수 있다. 도 4에 따른 본 실시예가 도 3의 실시예보다 더 많은 수의 데이터 블록(예를 들어, 도 3의 네 개의 데이터 블록 대신 여섯 개의 데이터 블록)에 대응하더라도, 경계 슬라이드는 도 4의 경계 슬라이스(399)에 대응할 수 있다.
프로세스에 의해 입력 값(410/V)이 위치한 데이터 블록(390)(예를 들어, 도 4의 블록 넘버(block number)(X))가 결정되면, 경계 슬라이스 레지스터(430B)는 대응하는 경계 슬라이스(예를 들어, 상부 경계 슬라이스)(BX)를 결정할 수 있으며, 블록 비트 시프트 레지스터(430S) (예를 들어, S1, S2, S3...)는 대응하는 블록 비트 시프트 (SX)(대응하는 데이터 블록(390)/블록 넘버(X)에서 입력 값(210)의 양자화 레벨에 대응하는)를 결정할 수 있고, 오프셋 레지스터(예를 들어, O1, O2, O3...)(430O)는 대응하는 오프셋(OX)을 결정할 수 있다.
다음, 프로세스 메모리(420) (예를 들어, 도 2의 압축 어드레싱 계산 프로세서(220))는 입력 값(410/V)에 대응하는 메모리 어드레스(440) (예를 들어, 도 2의 메모리 어드레스(240))를 계산할 수 있다. 메모리 어드레스(440)는 다음 수학식으로 표현될 수 있다:
OX + floor(V/2^(SX)) - B(X-1)/2^(SX)
이와 달리, 오프셋 O-x'-이 오프셋 OX 를 포함하고 플로어(V/2^(S--X))도 포함하도록 구성되면, 상기 수학식은 다음의 수학식으로 간소화될 수 있다:
OX' - B(X-1)/2^(SX)
다른 실시예에서, 오프셋 레지스터(4300)는 블록 비트 시프트 레지스터(430S)를 포함하도록 구성될 수 있으며, 420단계에서 발생하는 산술 함수(감산)이 오프셋의 계산 동안 수행될 수 있다.
특정 입력 값(410/V)를 위한 특정 메모리 어드레스(440)를 결정하는 예는 아래와 같다.
메모리 어드레스가 계산된 후, 본 실시예의 프로세스는 결정된 메모리 어드레스(440)에 있는 메모리로부터 메모리에 저장된 LUT(469)에 접속하여 출력 값(470)(예를 들어, 도 2의 출력 값(270))을 회수할 수 있다.
도 3을 참조로 앞에서 설명한 바와 같이, 입력 값(410/V)에 수행된 양자화의 정도는 입력 값(410/V)의 위치에 의존한다 (예를 들어, 입력 값(410/V)이 위치한 데이터 블록(X)에 있는 데이터의 양자화 수준에 의존한다). 즉, 본 실시예에서, 입력 값(410/V)보다 큰 가장 작은 경계 슬라이스(Bi)의 수가 많아질수록 경계 슬라이스(Bi)에 의해 정의되는 데이터 블록(390)에 있는 입력 값(410/V)을 위해 발생되는 양자화 정도는 커진다. 그러나, 입력 값(410/V)의 양자화 레벨은 각 연속되는 데이터 블록을 위해 증가될 필요가 없다.
본 실시예의 본 예에서, 입력 값/인커밍 화소 값(410/V)은 70일 수 있으며, 제1 경계 슬라이스 (B1)는 64, 그리고, 제2 경계 슬라이스 (B2)는 256일 수 있다. 따라서, 제1 데이터 블록(예를 들어, 도 3의 데이터 블록(390a))은 첫 번째 64개의 입력 값(410/V)(예를 들어, 0에서 63)을 포함할 것이고, 제2 데이터 블록(예를 들어, 도3의 데이터 블록(390b))은 그 다음 192개의 입력 값(410/V)을 포함하게 될 것이다. 더욱이, 본 예에서, 제1 데이터 블록(예를 들어, S1)를 위한 비트 시프트(SX)는 0일 것이고, 제2 데이터 블록(예를 들어, S2)을 위한 비트 시프트(SX)는 2일 것이다.
따라서, 본 예에서, 제1 데이터 블록에 포함된 입력 값(410/V)은 64 개의 메모리 어드레스(440)에 일대일 대응한다(즉, 비트가 시프트 되지 않는다). 즉, 제1 데이터 블록에 포함된 첫 번째 64개의 입력 값(410/V) (예를 들어, 0 에서 63)은 양자화되지 않거나 압축되지 않는다. 반면, 제2 데이터 블록에 포함된 입력 값(410/V)은 (블록 비트 시프트 레지스터(430S) (예를 들어, S1, S2, S3...)에 의해 결정된 블록 비트 시프트(SX)에 대응하여 비트 시프트 함으로써) 양자화 된다. 제2 블록 데이터에 있는 입력 값(410/V)은 48 개의 메모리 어드레스(440)에만 대응하기 위해 양자화된다. 즉, 제1 및 제2 경계 슬라이스(B1 and B2)에 의해 정의된 제2 데이터 블록에 있는 입력 값(410/V)은 16 에서 64의 양자화 값(예를 들어, 플로어(V/SX))을 얻기 위해 4로 나눠질 수 있다(즉, 2 비트 시프트). 입력 값(410/V)의 분할/양자화는 비트 시프트(SX)로도 설명될 수 있다. 본 예에서, 제2 블록 데이터를 위해 비트 시프트(S2)는 2(즉, 4로 나눔)이다.
본 예를 위해, 입력 값(410/V) 70은 제1 경계 슬라이스(B1) 64보다 작지 않도록 결정되지만(즉, V<B1 는 거짓(FALSE)), 제2 경계 슬라이스(B2) 256 보다 작도록 결정된다(즉, V<B2 는 참(TRUE)). 따라서, 블록 넘버(X)(즉, 경계 슬라이스(B1 and B2)에 의해 정의된 블록)는 제2 데이터 블록에 대응하도록 결정된다(즉, X 는 2이다).
제2 데이터 블록에서 입력 값(410/V)을 위한 비트 시프트(S2)가 2 이므로, 70 개의 입력 값(410/V) 의 비트 시프트는 17로 계산된다(즉, 70은 바이너리로 01000110이 되고, 01000110는 2로 비트 시프트되어 00010001이 되므로 10진법으로 17에 해당한다). 즉, 양자화 값을 얻기 위해, 입력 값 70은 4로 나눠져 받아내림된다 (플로어(V/S2)).
제1 데이터 블록에 포함된 첫 번째 64 개의 입력 값(410/V)이 첫 번째 64 개의 메모리 어드레스(440)에 해당되기 때문에, 오프셋 레지스터(4300)는 제2 오프셋(O2)을 65(즉, 앞서 할당된 메모리 어드레스(440)의 전체 수 이후의 메모리 어드레스 수(예를 들어, LUT(460)의 제1 LUT 블록에 있는 메모리 어드레스의 수-여기서 전체 수는 본 예에서 첫 번째 64 개의 메모리 어드레스에 대응함))로 결정한다. 본 예에서, 제1 데이터 블록에 대응하는 제1 오프셋(O1)은 0이다.
따라서, 두 번째 연산에서, 수학식 OX + floor(V/SX) - B(X-1)/SX 에 의해 계산된 메모리 어드레스(440)는 65 + 플로어(70/4) - (64/4) (즉, O2 + floor(V/S2) - B1/S2), 즉, 65+17-16로 결정된다. 따라서, 본 예에서, 입력 값(410/V) 70은 66 개의 메모리 어드레스에 대응한다.
그러면, 세 번째 연산에서, 프로세스는 66개의 결정된 메모리 어드레스(440)의 메모리에 저장된 비선형/압축 LUT(460)로부터 대응하는 출력 값(470) (예를 들어, 도 2와 도 3의 출력 값(270, 370)에 대응할 수 있는 비선형 보정 픽셀 값)을 회수한다. 이러한 프로세스는 메모리 컨트롤러(memory controller)(450)(예를 들어, 도 2의 메모리 컨트롤러(250))에 의해 수행될 수 있다. 그러면, 예를 들어, 메모리 컨트롤러(450)는 결정된 출력 값(470)을 비선형 보정 픽셀 값으로서 출력할 수 있다.
본 발명의 일 실시예에서, 경계 슬라이스(Bi)각각은 2의 거듭제곱(예를 들어 64, 512, 8192, 32768, 131072)일 수 있으며, 각 LUT 블록의 경계는 오프셋으로서 저장될 수 있도, 각 데이터 블록(390)을 위해, 트렁케이션과 사용될 비트 시프트(SX)가 있을 수 있다 (예를 들어, 제1 데이터 블록을 위한 비트 시프트 0, 제2 데이터 블록을 위한 비트 시프트 2, 제3 데이터 블록을 위한 비트 시프트 4, 제4 데이터 블록을 위한 비트 시프트 6, 그리고 제2 데이트 블록을 위한 비트 시프트7). 즉, 본 실시예에서, 첫 번째 64 개의 입력 값 0부터 63까지는 표준 전체 정밀도(standard full precision) (예를 들어, 제1 LUT 블록(361a))를 갖고, 제2 데이터 블록(즉, 64, 68, 72..., 504, 508)의 입력 값(410/V)은 2 비트 시프트로 양자화되고, 제3 데이터 블록(즉, 512, 528, 544,...8174, 8190)의 입력 값(410/V)은 4 비트 시프트로 양자화된다. 각 값을 위해, LUT 값은 출력 매핑에 대응한다.
위에 설명한 내용들은 단지 하나의 예이다. 예를 들어, 다른 실시예에서, 고르게 거리를 둔 로그 경계 크기 및 비트 시프트가 사용되어, 사용된 경계와 비트을 기반으로 오프셋 계산을 가능하게 할 수 있다. 추가적으로, 경계 슬라이스, 비트 시프트, 오프셋, 그리고 경계 슬라이스 간격은 최적화 프로시저에 의해 결정될 수 있다. 각 경계 슬라이스 내에서, 출력의 총 오차는 용인되는 허용오차 내에 있어야 한다. 만일, 계산에 따라, 오차가 허용 오차보다 클 경우, 블록 비트 시프트를 줄여 오차는 감소하나 메모리 크기가 증가한다. 혹은, 이전 데이터 블록(n-1)의 경계 블록을 수정하여 주어진 데이터 블록(n)에서 오차가 감소할 수 있으며, 그로 인해 블록(n)에 이전에 값의 부분 집합을 위해 블록 비트를 효과적으로 낮출 수 있다. 추가적으로, 오프셋은 블록 1:(n-1)의 총 LUT 스토리지를 기반으로 계산될 수 있다.
위에서 설명한 바와 같이, 본 발명의 실시예들은 일반적으로 단일 메모리 셀과 단일 메모리 회수 만을 사용하여 높은 비트 심도 값을 비선형의 낮은 비트 심도 값으로 매핑하는 프로세스를 제공한다.
이론적인 예로서, 정확한 출력 값은 다음의 비선형 수학식으로 결정될 수 있다:
Outputexact = Fnonlin (입력),
여기서 입력은 정수 값의 높은 정밀도 집합을 포함하는 반면, 출력은 정수 값의 낮은 정밀도 비선형 집합을 포함한다.
더욱이, 근사 출력 값은 다음 수학식으로 결정될 수 있다:
Outputapprox = F2(F1(입력)),
여기서, 다음의 수학식은 참이다:
d/dx Outputexact(x) </= d/dx F1(입력x),
출력의 파생은 (예를 들어, 도 1의 프로세스된 선형 이미지(140))는 입력의 파생(예를 들어, 도 1의 선형화된 이미지 데이터(120))보다 적은 것을 나타낸다.
뿐만 아니라,
F2(F1(x) )</= Outputexact(x) + EQ, 및
F2(F1(x) )>/= Outputexact(x) - EQ,
여기서 EQ 는 양자화 오차(예를 들어, 1 LSB)이다.
앞서 설명된 본 발명의 실시예에 대해, 함수 F2(x)는 실질적으로 함수 F1(x)(예를 들어, 도 2 내지 도4의 입력 값(210, 310, 410/V)의 비선형 인코딩을 위한 비선형 양자화)을 양자화 허용 오차(EQ)와 함께 출력 값(예를 들어, 도 2내지 도 4의 출력 값(270, 370, 470)으로 매핑하는 LUT(예를 들어, 도 2 내지 도 4의 LUT(260, 460))이다.
즉, 본 발명의 실시예들은 두 함수(F1 및 F2)를 사용한 근사 출력의 생성을 허용한다. 제1 함수(F1)는 입력 값(예를 들어, 입력 이미지 데이터(110)에 대응하는 선형 이미지 데이터(120)의 입력 값(210))으로부터 다수의 LSBs를 제거하는 비선형/구분적 양자화 함수이며, 메모리 어드레스(예를 들어, 메모리 어드레스(240))를 형성하기 위해 이들을 오프셋한다. 즉, 제1 함수(F1)는 데이터(예를 들어, 도 1의 선형화 이미지 데이터(120))를 더 적은 비트로 압축하기 위한 양자화 함수이다. 제2 함수(F2)는 F1의 상보 함수로, 생성된 메모리 어드레스를 적절한 출력 값(예를 들어, 출력 값(270)의 메모리 어드레스(240)로 매칭하는 LUT 함수)에 매핑한다. 제1 함수(F1) 및 제2 함수(F2) 둘 다 서로 긴밀하게 연관된 별개의, 비분석적, 비선형 함수이다.
입력 이미지 데이터가 어떤 데이터 블록에(예를 들어, 데이터 블록들(390) 중 입력 이미지 데이터(130)을 포함하는 데이터 블록) 포함되는지에 따라, 제1 함수(F1)을 사용해서 구한 양자와/압축은 다른 위치(예를 들어, 다른 데이터 블록(390)의 데이터(310))에서 구해진 양자화/압축 보다 더 능동적(aggressive)이거나 혹은 덜 능동적일 수 있다. 예를 들어, 비선형 도메인에서, 데이터의 각 LSB는 0.1nit와 같이 측정 가능한 양자(quanta)를 나타낼 수 있으며, 사용자는 선형 도메인의 어두운 단부에서 LSB의 모든 변화 (즉, 0.1nits의 모든 변화)를 인지할 수 있는 반면, 선형 도메인의 밝은 단부에서 1nits씩 증가하는 변화만을 인지할 수 있다. 그로 인해, 더 밝은 데이터 블록에서 입력 이미지 데이터의 시각 표현 품질을 위해 3 내지 4 개와 같이 많은 최하위비트가 필요하지 않게 된다.
함수(F1)는 미리 프로그램된 상대적으로 복잡한 함수일 수 있어서 함수(F1)의 출력이 표시 시스템에 설정되고 저장된다. 이는, 예를 들어, 입력 디지털 값과 출력 코딩 값을 비교하는 것으로 수행될 수 있다. 둘 이상의 개별적인 입력 값은 입력 디지털/화소 값(x축)에서의 변화를 위해 출력(y축)의 무변화에 대응하며, 더 능동적인 양자화/압축이 입력 값의 블록에 수행되어 해당 블록 내의 화소 값의 중복을 줄일 수 있는 반면, 다른 블록은 자신에게 할당된 정밀도를 유지할 것이다. 함수(F1)를 사용하여, 화소 값은 보정 출력 값을 저장하는 LUT(함수(F2))를 어드레스 하는데 사용되는 상당히 압축된 대응되는 어드레스를 생성하기 위해 양자화된다. 즉, 출력의 각 단계는 대략 입력에서의 변화를 반영한다.
함수(F1)를 보완하는 함수(F2)는 작은 공간을 갖기 위해 조율될 수 있다. 그러나, 입력 데이터의 증가하는 비트 심도는 LUT의 더 계층적인 레벨이나 LUT 크기의 증가를 반드시 필요로 하는 것은 아니다. 오히려, 함수(F2)와 이에 대응하는 함수(F1)는 출력의 비트 심도에 크게 기반을 둔다. 따라서, 압축 LUT는 큰 출력 정밀도나 작은 출력 정밀도를 나타내도록 조절될 수 있다.
따라서, 본 발명의 실시예의 프로세스는, 예를 들어, 24 비트 (혹은 그 이상)의 정밀도를 갖는 높은 정밀도 입력 신호를 위해 원하는 출력 정밀도에 따라 크기를 줄일 수 있는 상당히 콤팩트한 방법을 제공한다.
더욱이, 단일 메모리 셀은 다른 원하는 출력 특징에 따라 다시 프로그램 될 수 있다. 더 나아가, 레지스트 집합은 상당히 콤팩트하며, 함수에서의 변화가 발견되면 시간의 경과에 따라 업데이터될 수 있다. 추가적으로, 본 발명의 실시예들은 종속 함수(예를 들어, 선형 및 비선형 영역으로 구성된 sRGB), 2.2 감마와 같은 순수 멱함수에 적용가능하며, PQ 함수(예를 들어, SMPTE S-2084)에도 적용 가능하다.
일부 실시예에서, 레지스터 집합과 LUT는 아직 대중화되지 않은 포맷을 위해 인터넷 업데이터를 이용해서 재 프로그램될 수 있다.
더욱이, 앞서 설명한 실시예를 수행하기 위해 사용되는 수학적인 연산은 비트 시프트 트렁케이션, 가산, 그리고 감산들이다. 그리고, 중복이 감소되어 N 비트와 I 비트 입력을 위해 사용되는 총 메모리는 N 순서이며, 모든 메모리가 인접한 어레이로서 저장되고, 메모리는 한번 만 접속되며, 단일 알고리즘이 입력 값을 기초로 콤팩트한 LUT/메모리로부터 보정 요소를 어드레스한다.
그리고, LUT를 저장하기 위한 메모리는 선형 보간을 사용해서 LUT의 크기를 줄이는 등의 추가적인 압축 기술을 사용해서 더 감소될 수 있다. 즉, 메모리 어드레스(240, 440)의 계산이 LUT(260, 460) 보다 높은 정밀도를 갖거나 LUT(260, 460)의 해상도가 감소하면, LUT 엔트리 사이에 위치한 접속 가능한 값들이 있을 수 있으며, 집적 회로(200)는 LUT(260, 460)내의 LUT 엔트리 사이 값들을 보간하기 위해 보간 알고리즘을 사용할 수 있다. 다른 예로서, 앞서 설명한 실시예의 LUT(260, 460)는 300,000 개의 입력 값에 대응해서 대략 2,000 멤버를 포함할 수 있다. 그러나, LUT 함수(예를 들어, 함수(F2))의 중복은 크게 변화가 없거나, 다소 비선형적일 수 있다. 따라서, 가변 LUT 전체를 메모리에 저장하는 대신, 선형 매핑과의 차이로서, LUT를 인코딩하여 추가적인 압축이 가능하여, 정보의 하나 이상의 비트를 추가적으로 전달할 수 있게 된다(예를 들어, 10 비트에서 7 또는 8 비트의 최상위비트의 감소). 그러나, 이러한 추가적인 압축은 추가적인 로직 비용을 불러온다.
또 다른 실시예에서, 시간적 혹은 공간적 디더링이 추가적으로 수행될 수 있다. 즉, 출력 비트 심도가 표시 시스템의 비트 심도보다 클 때, 양자화 결과물의 가시성이 감소할 수 있다. 따라서, 최종 출력 값(출력 값(270, 370, 470))을 결정한 후, 디더링이 수행되어 정보의 비트을 감소시킬 수 있다(예를 들어, 10 비트에서 8비트로 감소).
도 5는 본 발명의 일 실시예에 따른 프로세스된 선형 이미지를 생성하기 위해 선형화된 이미지 데이터를 비선형 인코딩하는 프로세스를 도시하는 흐름도이다.
도 5를 참조하면, S501에서, 비선형 함수로 인코딩된 디지털 신호가 수신된다(예를 들어, 디지털 이미지 신호로서, 표시 장치에 의해 도 1의 비선형 입력 이미지 데이터(110)가 수신될 수 있다).
S502에서, 수신된 디지털 신호의 선형화된 데이터/선형화된 이미지 표현을 생성하기 위해 수신된 디지털 신호의 비선형 표현의 선형 프로세싱이 수행될 수 있다(예를 들어, 표시 장치의 비디오 프로세서는 도 1의 프로세스된 신호로서, 선형화된 이미지 데이터(120)를 생성하기 위해 수신된 비선형 입력 이미지 데이터(110)을 선형화할 수 있다). 그리고, s503에서, 생성된 선형화된 이미지 데이터의 조절 혹은 이미지 프로세싱은 선택적으로 수행될 수 있다(예를 들어, 비디오 프로세서는 사용자가 인지하는 이미지를 조절하기 위해 선형화된 이미지 데이터(120)를 조절하여 색상, 콘트라스트, 밝기 등의 데이터의 시각적 표현 양상을 조작한다).
S504에서, 선형화된 이미지 데이터의 비선형 인코딩은 프로세스된 선형 이미지를 생성하기 위해 수행된다(예를 들어, 도 2의 집적 회로(200)는 프로세스된 선형 이미지(140)를 생성하기 위해 선형화된 이미지 데이터(120)의 비선형 인코딩을 (비선형 함수(130)를 사용해서) 수행한다).
예를 들어, S504A에서 비선형 인코딩은 비선형/구간적 양자화 함수를 LUT의 메모리 어드레스에 대응하는 선형화된 이미지 데이터의 입력 값에 수행하는 것을 포함할 수 있다(예를 들어, 도 2의 집적 회로(200)는 메모리 어드레스(240, 440)에 대응하는 양자화된 데이터를 생성하기 위해 입력 값(210, 310, 410/V)에 비선형 양자화 함수(F1)를 수행하기 위해 사용될 수 있다).
좀 더 구체적으로, LIUT의 메모리 어드레스에 대응하는 비선형 양자화 데이터를 생성하기 위해 선형화된 이미지 데이터의 입력 값에 비선형 양자화 함수를 수행하는 것을 포함할 수 있다. 예를 들어, S504A1에서, 구간적 양자화 함수를 수행하는 것은 인접하는 상부 경계 슬라이스를 결정함으로써(예를 들어, 대응하는 데이터 블록(390)/블록 넘버(X)의 상부 경계 슬라이스(Bi)를 결정하기 위해 도 4의 경계 슬라이스 레지스터(430B)를 사용함으로써) 입력 값이 위치한 대응하는 데이터 블록을 결정하는 것을 포함한다. 구간적 양자화 함수를 수행하는 것은, S504A2에서, (예를 들어, 비트 시프트(SX)와 입력 값(210, 310, 410/V)의 비트 시프팅을 결정하기 위해 도 4의 블록 비트 시프트 레지스터(430S)를 사용하여)입력 값을 비트 시프트하기 위해 결정된 데이터 블록에 대응하는 블록 비트 시프트를 결정하는 것을 더 포함할 수 있다. 비선형 양자화를 수행하는 것은, S504A3에서, (예를 들어, 대응하는 LUT 블록(361)의 하부 경계와 동일한 오프셋(OX)을 결정하기 위해 오프셋 레지스터(4300)을 사용함으로써) 결정된 데이터 블록에 대응하는 오프셋을 결정하는 것을 더 포함할 수 있다. 비선형 양자화 함수를 수행하는 것은, S504A4에서, 오프셋, 비트 시프트, 그리고 LUT에 이미 할당된 메모리 어드레스를 기초로 메모리 어드레스를 계산하는 것을 더 포함할 수 있다(예를 들어, 수학식 OX + floor(V/SX) - B(X-1)/SX 혹은 선택적으로 유사한, OX에 B(X-1)/SX을 오프셋 하여 합체시키는 수학식을 기초로 도 2의 압축 어드레싱 계산 프로세서(220) 혹은 도 4의 프로세스 메모리(420)로 계산).
그리고, 예를 들어, 비선형 인코딩은, S504B에서, LUT에 있는 메모리 어드레스를 출력 값에 매핑하고 메모리에 있는 LUT로부터 출력 값을 회수하기 위해 보완 함수를 수행하는 것을 더 포함할 수 있다. 도 2를 다시 참조하면, 도 2의 집적 회로(200)는 LUT(260, 460)에 있는 메모리 어드레스(240, 440)를 출력 값(270, 370, 470)에 매핑하기 위해 양자화된 데이터에 비선형/LUT 함수(F2)를 수행하는데 사용되고, 메모리 컨트롤러(250, 450)를 사용해서 출력 값(270, 370, 470)을 회수할 수 있다.
S505에서, 출력 값은 프로세스된 선형 이미지의 일부로서 출력될 수 있다 (예를 들어, 메모리 컨트롤러(250,450)는 프로세스된 선형 이미지(140)에 대응하는 비선형 보정 화소 값으로서 회수된 출력 값(270,470)을 출력할 수 있다).
S506에서, 압축된 LUT는 선택적으로 조율될 수 있다(예를 들어, 오차가 미리 결정된 한계 값보다 클 경우(예를 들어, 출력 신호로서, 프로세스된 선형 이미지(140)의 1 LBS보다 클 경우) 비선형/LUT 함수(F2)가 조절될 수 있다).
따라서, 앞서 설명된 본 발명의 실시예는 하드웨어 기반 프로세싱을 사용해서 선형화된 이미지 데이터의 비선형 인코딩을 수행할 수 있는 집적 회로를 제공할 수 있다.
상기에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (20)
- 이미지 프로세싱 방법으로서, 상기 방법은:
선형 이미지 데이터를 포함하는 입력 데이터 신호의 선형 표현을 생성하기 위해 비선형 함수로 인코딩된 입력 데이터 신호에 선형 프로세싱을 수행하는 단계;
프로세스된 비선형 이미지를 생성하기 위해 집적 회로를 사용하는 단계;
비선형 양자화된 데이터를 생성하기 위해 상기 선형 이미지 데이터를 비선형적으로 양자화하는 단계;
상기 비선형 양자화된 데이터를 기초로 메모리 어드레스를 생성하는 단계; 및
상기 생성된 메모리 어드레스를 기초로 LUT(look up table)에 접속하는 단계를 포함하는
이미지 프로세싱 방법. - 제1항에 있어서,
상기 입력 데이터 신호는 높은 동적 범위(high dynamic range, HDR) 데이터를 포함하는, 이미지 프로세싱 방법. - 제1항에 있어서,
상기 선형 이미지 데이터를 조절하기 위해 상기 선형 이미지 데이터에 신호 프로세싱을 수행하는 단계를 더 포함하는, 이미지 프로세싱 방법. - 제1항에 있어서,
비선형 양자화 데이터를 생성하기 위해 상기 선형 이미지 데이터를 비선형적으로 양자화하는 단계는:
상기 선형 이미지 데이터에 비선형 양자화 함수를 수행하는 단계; 및
상기 비선형 양자화 함수에 상보적인 상보 함수를 수행하는 것을 포함하는,
이미지 프로세싱 방법. - 제1항에 있어서,
상기 선형 이미지 데이터를 비선형 양자화하는 단계는,
선형 이미지 데이터의 입력 값을 수신하는 단계;
선택된 입력 값이 위치한 상기 선형 이미지 데이터를 포함하는 데이터 블록을 결정하는 단계;
상기 결정된 데이터 블록에 대응하는 블록 비트 시프트를 결정하는 단계;
상기 결정된 데이터 블록에 대응하는 오프셋을 결정하는 단계; 및
상기 결정된 데이터 블록, 결정된 블록 비트 시프트, 그리고 결정된 오프셋을 기초로 LUT의 메모리 어드레스를 계산하는 단계를 포함하는,
이미지 프로세싱 방법. - 제5항에 있어서,
상기 오프셋은 상기 결정된 데이터 블록보다 낮은 데이터 블록의 입력 값에 대응하는 LUT의 메모리 어드레스에 대응하고,
상기 이미지 프로세싱 방법은 상기 결정된 데이터 블록 내에서의 범위 밖의 양자화 값을 보정하는 단계를 더 포함하는,
이미지 프로세싱 방법. - 제5항에 있어서,
상기 결정된 데이터 블록을 포함하는 2개 내지 10개의 데이터 블록을 할당하는 단계를 더 포함하는 이미지 프로세싱 방법. - 제5항에 있어서,
상기 선택된 입력 값을 위해 상기 메모리 어드레스에서 상기 LUT로부터 단일 출력 값을 회수하는 단계를 더 포함하는,
이미지 프로세싱 방법. - 제8항에 있어서,
상기 프로세스된 비선형 이미지는 상기 출력 값을 포함하는,
이미지 프로세싱 방법. - 제8항에 있어서:
상기 LUT에 저장된 각 출력 값을 위해 오차 정도를 결정하는 단계; 및
어떠한 LUT 엔트리의 비선형 양자화에 대응하는 양자와 함수를 조절하는 것은 1LSB 보다 작은 오차를 갖는 단계를 더 포함하는,
이미지 프로세싱 방법. - 제10항에 있어서,
상기 데이터 블록과 비트 시프트 레벨을 정의하기 위해 최적화 프로시저를 사용해서 경계 슬라이스 간격을 결정하는 것을 더 포함하는, 이미지 프로세싱 방법. - 제1항에 있어서,
상기 메모리 어드레스를 상기 LUT에 저장된 출력 값으로 맵핑하는 단계; 및
상기 LUT로부터 상기 출력 값을 회수하는 단계를 더 포함하는,
이미지 프로세싱 방법. - 선형 이미지 데이터의 비선형 인코딩 장치로서,
상기 선형 이미지 데이터의 입력 값을 회수하기 위해 구성된 압축 어드레싱 계산 프로세서;
상기 입력 값에 양자화 함수를 수행하고 상기 입력 값에 대응하는 메모리 어드레스를 생성하기 위해 구성된 압축 레지스터 집합;
상기 메모리 어드레스에 출력 값을 저장하기 위해 구성된 LUT; 및
상기 출력 값을 회수하기 위해 상기 LUT에 접속하기 위해 구성된 메모리 컨트롤러를 포함하는,
비선형 인코딩 장치. - 제13항에 있어서,
상기 압축 레지스터 집합은,
상기 입력 값에 대응하는 상기 선형 이미지 데이터의 데이터 블록의 경계를 결정하기 위해 구성된 경계 슬라이스 레지스터;
상기 데이터 블록에 대응하는 블록 비트 시프트를 결정하기 위해 구성된 블록 비트 시프터; 및
상기 데이터 블록에 대응하는 오프셋을 결정하기 위해 구성되는 오프셋 레지스터를 포함하는,
비선형 인코딩 장치. - 제13항에 있어서,
선형 이미지 데이터의 비선형 인코딩을 위한 상기 장치는 집적 회로를 포함하는,
비선형 인코딩 장치. - 제15항에 있어서,
상기 집적 회로는 상기 LUT에 대응하는 단일 메모리 셀 만을 포함하는,
비선형 인코딩 장치. - 제16항에 있어서,
상기 단일 메모리 셀은 재프로그램 가능한, 비선형 인코딩 장치. - 비선형 데이터 인코딩 방법으로서,
선형 입력 값을 기초로 메모리 어드레스를 생성하는 단계;
상기 선형 입력 값이 위치한 데이터 블록을 결정하는 단계;
상기 결정된 데이터 블록에 대응하는 블록 비트 시프트를 결정하는 단계;
상기 결정된 데이터 블록에 대응하는 오프셋을 결정하는 단계;
상기 결정된 데이터 블록, 상기 결정된 블록 비트 시프트, 그리고 상기 결정된 오프셋을 기초로 LUT의 메모리 어드레스를 계산하는 단계; 및
상기 생성된 메모리 어드레스를 기초로 상기 LUT로부터 비선형 값을 회수하는 단계를 포함하는,
비선형 데이터 인코딩 방법. - 제18항에 있어서,
상기 메모리 어드레스를 생성하는 단계와 상기 비선형 값을 회수하는 단계는 하나의 집적 회로를 사용하는 단계를 포함하는,
비선형 데이터 인코딩 방법. - 제18항에 있어서,
상기 생성된 메모리 어드레스를 기초로 상기 LUT로부터 상기 비선형 값을 회수하는 단계는,
상기 생성된 메모리 어드레스를 집적 회로에 있는 단일 메모리 컨트롤러로 전달하는 단계, 및
상기 메모리 컨트롤러를 사용해서 상기 LUT을 포함하는 단일 메모리 셀로부터 상기 비선형 값을 회수하는 단계를 포함하는,
비선형 데이터 인코딩 방법.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562238408P | 2015-10-07 | 2015-10-07 | |
US62/238,408 | 2015-10-07 | ||
US15/147,812 | 2016-05-05 | ||
US15/147,812 US10283032B2 (en) | 2015-10-07 | 2016-05-05 | Integrated circuit for nonlinear data encoding |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20170042254A true KR20170042254A (ko) | 2017-04-18 |
Family
ID=58499793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160130115A KR20170042254A (ko) | 2015-10-07 | 2016-10-07 | 이미지 프로세싱 방법 및 비선형 데이터 인코딩 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (3) | US10283032B2 (ko) |
KR (1) | KR20170042254A (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3471271A1 (en) * | 2017-10-16 | 2019-04-17 | Acoustical Beauty | Improved convolutions of digital signals using a bit requirement optimization of a target digital signal |
US10917583B2 (en) * | 2018-04-27 | 2021-02-09 | Apple Inc. | Standard and high dynamic range display systems and methods for high dynamic range displays |
GB2617304B (en) * | 2019-03-20 | 2024-04-03 | V Nova Int Ltd | Residual filtering in signal enhancement coding |
US11776508B2 (en) * | 2019-12-30 | 2023-10-03 | Ati Technologies Ulc | Pre-display adaptive codeword mapping for display monitor with non-ideal electro-optical transfer function |
US11615025B2 (en) | 2020-02-10 | 2023-03-28 | SK Hynix Inc. | Encoding and decoding device for system data of storage device |
US11445269B2 (en) * | 2020-05-11 | 2022-09-13 | Sony Interactive Entertainment Inc. | Context sensitive ads |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5227863A (en) * | 1989-11-14 | 1993-07-13 | Intelligent Resources Integrated Systems, Inc. | Programmable digital video processing system |
US5319395A (en) | 1990-05-16 | 1994-06-07 | International Business Machines Corporation | Pixel depth converter for a computer video display |
US5729723A (en) * | 1992-11-16 | 1998-03-17 | Hitachi, Ltd. | Data processing unit |
JPH07248841A (ja) * | 1994-03-09 | 1995-09-26 | Mitsubishi Electric Corp | 非線形関数発生装置およびフォーマット変換装置 |
US6651102B2 (en) * | 1995-12-20 | 2003-11-18 | Nb Networks | Systems and methods for general purpose data modification |
US6166781A (en) * | 1996-10-04 | 2000-12-26 | Samsung Electronics Co., Ltd. | Non-linear characteristic correction apparatus and method therefor |
US6559856B1 (en) * | 1999-09-09 | 2003-05-06 | International Business Machines Corporation | Apparatus for fixed-point graphics and method therefor |
US6677945B2 (en) | 2001-04-20 | 2004-01-13 | Xgi Cayman, Ltd. | Multi-resolution depth buffer |
US7171435B2 (en) * | 2002-05-17 | 2007-01-30 | Texas Instruments Incorporated | Circuits, systems, and methods implementing approximations for logarithm, inverse logarithm, and reciprocal |
KR100498457B1 (ko) * | 2002-11-11 | 2005-07-01 | 삼성전자주식회사 | 메모리를 감소시키는 개선된 룩업 테이블 압축방법 및이를 이용하여 압축된 룩업 테이블을 가지는 비선형 함수발생장치 및 그 발생방법 |
TWI222328B (en) * | 2003-01-15 | 2004-10-11 | Cheerteck Inc | Method and apparatus of recording compression encode table in pseudo read-only memory |
US20050285871A1 (en) * | 2004-06-29 | 2005-12-29 | Canon Kabushiki Kaisha | Image-processing circuit, electronic apparatus, and method for processing image |
US20060041609A1 (en) * | 2004-08-20 | 2006-02-23 | Pellar Ronald J | System and method for multi-dimensional lookup table interpolation |
US8495335B2 (en) * | 2006-06-16 | 2013-07-23 | Raytheon Company | Data translation system and method |
US8774269B2 (en) | 2006-10-25 | 2014-07-08 | Franuhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Quality scalable coding with mapping different ranges of bit depths |
WO2009003499A1 (en) | 2007-06-29 | 2009-01-08 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Scalable video coding supporting pixel value refinement scalability |
CN101822063A (zh) * | 2007-08-16 | 2010-09-01 | 诺基亚公司 | 用于编码和解码图像的方法和装置 |
EP2051527A1 (en) | 2007-10-15 | 2009-04-22 | Thomson Licensing | Enhancement layer residual prediction for bit depth scalability using hierarchical LUTs |
JP5237215B2 (ja) * | 2009-07-15 | 2013-07-17 | キヤノン株式会社 | 画像処理装置及び方法 |
US8978149B2 (en) | 2011-05-17 | 2015-03-10 | Next Issue Media | Media content device, system and method |
TWI575933B (zh) | 2011-11-04 | 2017-03-21 | 杜比實驗室特許公司 | 階層式視覺動態範圍編碼中之層分解技術 |
CA3219049A1 (en) | 2011-12-06 | 2013-06-13 | Dolby Laboratories Licensing Corporation | Device and method of improving the perceptual luminance nonlinearity - based image data exchange across different display capabilities |
US9411756B2 (en) * | 2012-06-18 | 2016-08-09 | Blackberry Limited | Function approximation circuitry |
CN104969259B (zh) * | 2012-11-16 | 2019-02-12 | 汤姆逊许可公司 | 处理高动态范围图像 |
CN109064433B (zh) | 2013-02-21 | 2022-09-13 | 皇家飞利浦有限公司 | 改进的hdr图像编码和解码方法及设备 |
US9813223B2 (en) * | 2013-04-17 | 2017-11-07 | Intel Corporation | Non-linear modeling of a physical system using direct optimization of look-up table values |
ES2769593T3 (es) * | 2013-07-16 | 2020-06-26 | Koninklijke Philips Nv | Procedimiento y aparato para crear una función EOTF para un mapeo de código universal para una imagen HDR |
EP3051823A1 (en) * | 2015-01-27 | 2016-08-03 | Thomson Licensing | Methods, systems and aparatus for electro-optical and opto-electrical conversion of images and video |
-
2016
- 2016-05-05 US US15/147,812 patent/US10283032B2/en active Active
- 2016-10-07 KR KR1020160130115A patent/KR20170042254A/ko not_active Application Discontinuation
-
2019
- 2019-04-26 US US16/396,366 patent/US10872553B2/en active Active
-
2020
- 2020-12-21 US US17/129,668 patent/US11355050B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20170103691A1 (en) | 2017-04-13 |
US20190251889A1 (en) | 2019-08-15 |
US10872553B2 (en) | 2020-12-22 |
US10283032B2 (en) | 2019-05-07 |
US11355050B2 (en) | 2022-06-07 |
US20210110755A1 (en) | 2021-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11355050B2 (en) | Integrated circuit for nonlinear data encoding | |
CN108141508B (zh) | 一种成像装置及在其显示面板前面产生光的方法 | |
CN110337685B (zh) | 编码demura校准信息 | |
KR101256030B1 (ko) | 확장된 동적 범위 및 확장된 차수 이미지 신호 변환 | |
JP4613702B2 (ja) | ガンマ補正、画像処理方法及びプログラム、並びにガンマ補正回路、画像処理装置、表示装置 | |
US8537171B2 (en) | Piecewise non-causal compression and subsequent decompression of quantized data for processing of decompressed data in higher precision processing space | |
US7038735B2 (en) | Video display system utilizing gamma correction | |
US7612831B2 (en) | Gamma correction device, image conversion apparatus using the same, and display device | |
TWI488054B (zh) | 用以找出資料量化誤差之方法與裝置 | |
US7796144B2 (en) | Gamma correction device of display apparatus and method thereof | |
KR20040086600A (ko) | 작은 크기의 감마 보정 메모리를 구비한 비디오 프로세서 | |
WO2015103646A1 (en) | Image processing system and method | |
MXPA06006772A (es) | Metodo y dispositivo para transcodificar palabras de n-bit en palabras de m-bit con m mas pequena que n. | |
KR20010041170A (ko) | 감마의 선형 근사의 디지털 보정 회로 및 보정 방법 | |
US11908376B1 (en) | Compensation schemes for 1x1 sub-pixel uniformity compensation | |
US10593252B1 (en) | Electronic display spatiotemporal dithering systems and methods | |
JP2006115389A (ja) | デジタル映像信号データ処理装置 | |
CN113628590B (zh) | 一种对amoled面板进行数据补偿及压缩的控制方法和控制系统 | |
KR20220119316A (ko) | 부호화 방법 및 부호기 | |
KR20190017282A (ko) | 톤 맵핑 방법과 이를 이용한 표시장치 | |
US20240249674A1 (en) | Simplified rate control for an additive iterative compression system | |
CN109685859B (zh) | 基于3d查找表的三维颜色自动调整方法 | |
CN107591142B (zh) | 一种画面显示质量的调控方法、装置及存储介质 | |
KR101431130B1 (ko) | 액정표시장치의 색 보정방법 | |
CN114219703A (zh) | 图像转换方法及装置、计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal |