KR20140037309A - 이미지 압축 회로와 이를 포함하는 디스플레이 시스템 - Google Patents

이미지 압축 회로와 이를 포함하는 디스플레이 시스템 Download PDF

Info

Publication number
KR20140037309A
KR20140037309A KR1020120101506A KR20120101506A KR20140037309A KR 20140037309 A KR20140037309 A KR 20140037309A KR 1020120101506 A KR1020120101506 A KR 1020120101506A KR 20120101506 A KR20120101506 A KR 20120101506A KR 20140037309 A KR20140037309 A KR 20140037309A
Authority
KR
South Korea
Prior art keywords
frame
bitstream
circuit
current
value
Prior art date
Application number
KR1020120101506A
Other languages
English (en)
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 삼성전자주식회사
Priority to KR1020120101506A priority Critical patent/KR20140037309A/ko
Priority to JP2013163311A priority patent/JP2014057299A/ja
Priority to TW102132965A priority patent/TW201423664A/zh
Priority to EP13184107.4A priority patent/EP2720465A1/en
Priority to CN201310416794.5A priority patent/CN103686168A/zh
Priority to US14/026,478 priority patent/US20140071143A1/en
Publication of KR20140037309A publication Critical patent/KR20140037309A/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control 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/34Control 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 by control of light from an independent source
    • G09G3/36Control 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 by control of light from an independent source using liquid crystals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control 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/34Control 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 by control of light from an independent source
    • G09G3/36Control 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 by control of light from an independent source using liquid crystals
    • G09G3/3611Control of matrices with row and column drivers
    • G09G3/3648Control of matrices with row and column drivers using an active matrix
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N19/427Display on the fly, e.g. simultaneous writing to and reading from decoding memory
    • 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/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0252Improving the response speed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0261Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/16Determination of a pixel data signal depending on the signal applied in the previous frame

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

이미지 압축 회로는 현재 프레임을 압축하고 현재 프레임 압축 데이터와 현재 프레임 비트스트림을 출력하는 인코더와, 이전 프레임 비트스트림을 디코딩하여 이전 프레임 압축 데이터를 출력하는 디코더와, 상기 현재 프레임 비트스트림을 프레임 메모리에 라이트하는 동시에 상기 프레임 메모리로부터 상기 이전 프레임 비트스트림을 리드하는 프레임 메모리 컨트롤러와, 상기 현재 프레임, 상기 현재 프레임 압축 데이터, 및 상기 이전 프레임 압축 데이터에 기초하여 이전 프레임 기준 값을 출력하는 동적 커패시턴스 보상 컨트롤러와, 상기 현재 프레임의 현재 픽셀의 픽셀 값과 상기 이전 프레임 기준 값에 기초하여 상기 현재 픽셀에 대해 오버드라이브 픽셀 값을 포함하는 현재 오버드라이브된 프레임을 생성하는 오버드라이브 회로를 포함한다.

Description

이미지 압축 회로와 이를 포함하는 디스플레이 시스템{IMAGE COMPRESSION CIRCUIT AND DISPLAY SYSTEM HAVING THE SAME}
본 발명의 개념에 따른 실시 예는 이미지 압축 회로에 관한 것으로, 특히 LCD(liquid crystal display)의 빠른 응답 속도를 달성하기 위해 원하는 압축률을 보장하면서 데이터 끊김(data truncation) 없이 높은 압축률을 달성할 수 있는 이미지 압축 회로, 이를 포함하는 디스플레이 시스템, 및 상기 디스플레이 시스템의 동작 방법에 관한 것이다.
이미지를 디스플레이하는 디스플레이로서 위해 LCD가 많이 사용된다.
상기 LCD에서 모션 블러(motion blur)가 발생할 수 있다. 상기 모션 블러는 영화(movie) 또는 애니메이션(animation)과 같이 연속적인 이미지들(sequence of images) 또는 정지 이미지(still image) 내에서 빠르게 움직이는 물체들의 뚜렷한 줄무늬(apparent streaking)이다. 상기 모션 블러는 상기 LCD의 응답 속도, 즉 픽셀 값의 변화에 따른 액정의 응답 속도가 느리기 때문에 발생한다.
상기 LCD에서 모션 블러를 줄이기 위해 오버드라이브 알고리즘(overdrive algorithm)이 자주 사용된다. 상기 오버드라이브 알고리즘은 픽셀에 공급되는 통상의 전압보다 높은 전압을 공급하여 상기 픽셀의 응답 속도를 높이는 것이다.
특정한 프레임(frame)에 대해 오버드라이브 전압들을 계산하기 위해, 오버드라이브 알고리즘은 이전 프레임 데이터를 메모리에 저장하고, 현재 프레임 데이터와 상기 메모리에 저장된 상기 이전 프레임 데이터를 서로 비교하고, 비교의 결과에 따라 상기 오버드라이브 전압들을 계산한다. 새롭게 계산된 오버드라이브 전압들은 LCD로 출력되고, 상기 메모리에 저장된 이전 프레임 데이터는 상기 현재 프레임 데이터로 업데이트된다.
본 발명이 이루고자 하는 기술적인 과제는 LCD의 빠른 응답 속도를 달성하기 위해 원하는 압축률을 보장하면서 데이터 끊김(data truncation) 없이 높은 압축률을 이룰 수 있는 이미지 압축 회로, 이를 포함하는 디스플레이 시스템, 및 상기 디스플레이 시스템의 동작 방법을 제공하는 것이다.
본 발명의 실시 예에 따른 이미지 압축 회로는 현재 프레임을 압축하고 현재 프레임 압축 데이터와 현재 프레임 비트스트림을 출력하는 인코더와, 상기 현재 프레임 비트스트림을 프레임 메모리에 라이트하는 동시에 상기 프레임 메모리로부터 이전 프레임 비트스트림을 리드하는 프레임 메모리 컨트롤러와, 상기 이전 프레임 비트스트림을 디코딩하여 이전 프레임 압축 데이터를 출력하는 디코더와, 상기 현재 프레임, 상기 현재 프레임 압축 데이터, 및 상기 이전 프레임 압축 데이터에 기초하여 이전 프레임 기준 값을 출력하는 동적 커패시턴스 보상 컨트롤러와, 상기 현재 프레임의 현재 픽셀의 픽셀 값과 상기 이전 프레임 기준 값에 기초하여 상기 현재 픽셀에 대한 오버드라이브 픽셀 값을 포함하는 현재 오버드라이브된 프레임을 생성하는 오버드라이브 회로를 포함한다.
상기 인코더는 가변 비트율 인코딩 방법과 고정 비트율 인코딩 방법 중에서 어느 하나를 사용하여 상기 현재 프레임을 압축하고 상기 현재 프레임 압축 데이터와 상기 현재 프레임 비트스트림을 출력한다.
상기 인코더는 상기 현재 프레임을 전-처리하여 전-처리된 이미지 데이터를 생성하는 전-처리 회로와, 상기 전-처리된 이미지 데이터에 포함된 요소들을 가변 비트율(variable bit rate(VBR))로 인코드하는 VBR 인코더들과, 상기 요소들을 고정 비트율(constant bit rate(CBR))로 인코드하는 CBR 인코더들과, 제1스위치 신호에 응답하여 상기 요소들을 상기 VBR 인코더들 또는 상기 CBR 인코더들로 전송하는 제1스위치 회로와, 상기 제1스위치 신호에 응답하여, 상기 VBR 인코더들 각각으로부터 출력된 요소 압축 데이터와 요소 비트스트림을 출력하거나 또는 상기 CBR 인코더들 각각으로부터 출력된 요소 압축 데이터와 요소 비트스트림을 출력하는 제2스위치 회로와, 상기 제2스위치 회로로부터 출력된 상기 요소들 각각에 대한 상기 요소 비트스트림을 누산하여 전 요소 누산 비트들을 생성하는 누산기와, 상기 전 요소 누산 비트들에 기초하여 상기 제1스위치 신호를 생성하는 제1스위치 컨트롤러와, 상기 제2스위치 회로로부터 출력된 상기 요소들 각각에 대한 상기 요소 비트스트림을 병합하여 상기 현재 프레임 비트스트림을 생성하는 정돈된 비트스트림 병합 회로를 포함하며, 상기 현재 프레임 압축 데이터는 상기 요소들 각각에 대한 상기 요소 압축 데이터를 포함한다.
상기 VBR 인코더들 각각은 최종 양자화 레벨에 기초하여 상기 요소들 중에서 대응되는 요소를 양자화하여 양자화된 값을 생성하고, 상기 최종 양자화 레벨에 기초하여 상기 양자화된 값을 역-양자화하여 상기 대응되는 요소에 대한 상기 요소 압축 데이터를 생성하는 양자화 회로와, 서로 다른 인코딩 방법들을 수행하는 코더들 중의 어느 하나를 이용하여 상기 양자화된 값을 인코딩하여 상기 대응되는 요소에 대한 상기 요소 비트스트림을 생성하는 코딩 회로를 포함한다.
상기 요소들은 YCbCr 요소들, YUV 요소들, 또는 YCoCg 요소들이다.
상기 코더들은 골룸 코더(Golomb coder)와 반복 길이 코더(run-length coder)를 포함한다.
상기 CBR 인코더들 각각은 상기 요소들 중에서 대응되는 요소에 대한 상기 현재 픽셀의 주변 픽셀들 각각의 픽셀 값의 차이들을 이용하여 상기 주변 픽셀들을 포함하는 영역에 대한 컨텍스트-기반 양자화 레벨을 결정하는 컨텍스트-기반 양자화 레벨 결정 회로와, 상기 컨텍스트-기반 양자화 레벨에 따라 제2스위치 신호를 생성하는 제2스위치 컨트롤러와, 상기 제2스위치 신호에 기초하여 상기 대응되는 요소를 제1양자화기 또는 평균 회로로 전송하는 제3스위치 회로와, 제1양자화 레벨을 갖는 상기 컨텍스트-기반 양자화 레벨에 기초하여 상기 제1양자화기로부터 출력된 제1양자화된 값을 역-양자화하여 상기 대응되는 요소에 대한 상기 요소 압축 데이터를 생성하는 제1역-양자화기와, 제2양자화 레벨을 갖는 상기 컨텍스트-기반 양자화 레벨에 기초하여 상기 평균 회로의 출력 신호를 양자화하여 제2양자화된 값을 출력하는 제2양자화기와, 상기 제2양자화 레벨을 갖는 상기 컨텍스트-기반 양자화 레벨에 기초하여 상기 제2양자화된 값을 역-양자화하여 상기 대응되는 요소에 대한 상기 요소 압축 데이터를 생성하는 제2역-양자화기와, 상기 제2스위치 신호에 기초하여 상기 제1역-양자화기의 출력 신호 또는 상기 제2역-양자화기의 출력 신호를 상기 대응되는 요소에 대한 상기 요소 압축 데이터를 상기 제2스위치 회로로 출력하는 제4스위치 회로와, 상기 제2스위치 신호에 기초하여 상기 제1양자화된 값 또는 상기 제2양자화된 값을 상기 대응되는 요소에 대한 상기 요소 비트스트림을 상기 제2스위치 회로로 출력하는 제5스위치 회로를 포함하며, 상기 제1양자화기는 상기 제1양자화 레벨을 갖는 상기 컨텍스트-기반 양자화 레벨에 기초하여 상기 대응되는 요소를 양자화하여 상기 제1양자화된 값을 출력하고, 상기 평균 회로는 상기 현재 픽셀의 상기 픽셀 값과 상기 현재 픽셀의 다음 픽셀의 픽셀 값을 평균한다.
상기 정돈된 비트스트림 병합 회로는 각각이 상기 요소들 각각에 대한 요소 비트스트림을 저장하는 비트 버퍼들과, 상기 비트 버퍼들 각각이 가득 찰 때마다 상기 비트 버퍼들 각각으로부터 출력된 상기 요소들 각각에 대한 상기 요소 비트스트림을 상기 현재 프레임 비트스트림으로 병합하는 병합 회로를 포함한다.
상기 프레임 메모리가 프레임 메모리 유닛들을 포함할 때, 상기 프레임 메모리 컨트롤러는 상기 현재 비트스트림을 상기 프레임 메모리 유닛들 중에서 어느 하나에 라이트하는 동시에 상기 프레임 메모리 유닛들 중에서 다른 하나로부터 상기 이전 프레임 비트스트림을 리드한다.
상기 동적 커패시턴스 보상 회로는 상기 현재 프레임에 기초하여 최종 평탄 레벨을 생성하고, 상기 현재 프레임, 상기 이전 프레임 압축 데이터, 및 상기 최종 평탄 레벨에 기초하여 이전 프레임 기본 기준 값을 생성하는 제1스테이지 보상 회로와, 상기 이전 프레임 기본 기준 값, 상기 현재 프레임, 상기 현재 프레임 압축 데이터, 상기 이전 프레임 압축 데이터, 및 상기 최종 평탄 레벨에 기초하여 상기 이전 프레임 기준 값을 생성하는 제2스테이지 보상 회로를 포함한다.
상기 오버드라이브 회로는 오버드라이브 픽셀 값들을 저장하는 오버드라이브 테이블과, 상기 오버드라이브 픽셀 값들 중에서 상기 현재 픽셀의 상기 픽셀 값과 상기 이전 프레임 기준 값에 대응되는 적어도 하나를 서치 값으로 리드하고, 상기 적어도 하나의 서치 값에 기초하여 상기 현재 픽셀에 대해 상기 오버드라이브 픽셀 값을 포함하는 상기 현재 오버드라이브된 프레임을 생성하는 테이블 서치 컨트롤러와, 상기 현재 오버드라이브된 프레임을 디스플레이로 전송하는 디스플레이 드라이버 인터페이스를 포함한다.
상기 적어도 하나의 서치 값이 복수의 서치 값들일 때, 상기 테이블 서치 컨트롤러는 상기 복수의 서치 값들을 보간하여 상기 오버드라이브 픽셀 값을 생성한다.
본 발명의 실시 예에 따른 디스플레이 시스템은 현재 픽셀에 대해 오버드라이브 픽셀 값을 포함하는 현재 오버드라이브된 프레임을 디스플레이하는 LCD (liquid crystal display)와, 상기 현재 오버드라이브된 프레임을 생성하는 이미지 압축 회로를 포함한다.
상기 이미지 압축 회로는 현재 프레임을 압축하고 현재 프레임 압축 데이터와 현재 프레임 비트스트림을 출력하는 인코더와, 상기 현재 프레임 비트스트림을 프레임 메모리에 라이트하는 동시에 상기 프레임 메모리로부터 이전 프레임 비트스트림을 리드하는 프레임 메모리 컨트롤러와, 상기 이전 프레임 비트스트림을 디코딩하여 이전 프레임 압축 데이터를 출력하는 디코더와, 상기 현재 프레임, 상기 현재 프레임 압축 데이터, 및 상기 이전 프레임 압축 데이터에 기초하여 이전 프레임 기준 값을 출력하는 동적 커패시턴스 보상 컨트롤러와, 상기 현재 프레임의 현재 픽셀의 픽셀 값과 상기 이전 프레임 기준 값에 기초하여 상기 오버드라이브 픽셀 값을 포함하는 상기 현재 오버드라이브된 프레임을 생성하는 오버드라이브 회로를 포함한다.
본 발명의 실시 예에 따른 디스플레이 시스템의 동작 방법은 현재 프레임을 가변 비트율 인코딩 방법 또는 고정 비트율 인코딩 방법을 이용하여 압축하고 현재 프레임 압축 데이터와 현재 프레임 비트스트림을 출력하는 단계와, 상기 현재 프레임 비트스트림을 프레임 메모리에 라이트하는 동시에 상기 프레임 메모리로부터 이전 프레임 비트스트림을 리드하는 단계와, 상기 이전 프레임 비트스트림을 디코딩하여 이전 프레임 압축 데이터를 출력하는 단계와, 상기 현재 프레임, 상기 현재 프레임 압축 데이터, 및 상기 이전 프레임 압축 데이터에 기초하여 이전 프레임 기준 값을 출력하는 단계와, 상기 현재 프레임의 현재 픽셀의 픽셀 값과 상기 이전 프레임 기준 값에 기초하여 상기 현재 픽셀에 대해 오버드라이브 픽셀 값을 포함하는 현재 오버드라이브된 프레임을 생성하는 단계를 포함한다.
상기 디스플레이 시스템의 동작 방법은 상기 현재 오버드라이브된 프레임을 LCD에 디스플레이하는 단계를 더 포함한다.
본 발명의 실시 예에 따른 이미지 압축 회로는 LCD의 빠른 응답 속도를 달성하기 원하는 압축률을 보장하면서 데이터 끊김 없이 높은 압축률을 이룰 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 디스플레이 컨트롤러를 포함하는 디스플레이 시스템의 블록도를 나타낸다.
도 2는 도 1에 도시된 하이브리드 이미지 압축 회로에 포함된 하이브리드 인코더의 블록도를 나타낸다.
도 3은 CBR(constant bit rate) 유닛을 나타낸다.
도 4는 도 2에 도시된 가변 비트율 인코더들 중에서 어느 하나의 블록도를 나타낸다.
도 5는 도 4에 도시된 컨텍스트-기반 양자화 레벨 결정 회로의 동작을 설명하기 위한 개념도이다.
도 6은 도 4에 도시된 레이트-기반 양자화 레벨 결정 회로의 동작을 설명하기 위한 개념도이다.
도 7은 도 4에 도시된 양자화기와 역-양자화기의 동작을 설명하기 위한 개념도이다.
도 8은 도 4에 도시된 제3스위치 컨트롤러의 동작을 설명하기 위한 개념도이다.
도 9는 도 4에 도시된 골룸 코더의 동작을 설명하기 위한 개념도이다.
도 10은 도 2에 도시된 고정 비트율 인코더들 중에서 어느 하나의 블록도를 나타낸다.
도 11은 도 2에 도시된 정돈된 비트스트림 병합 회로의 블록도를 나타낸다.
도 12는 도 1에 도시된 프레임 메모리 컨트롤러의 동작을 설명하기 위한 블록도를 나타낸다.
도 13은 도 1에 도시된 프레임 메모리의 프레임 메모리 할당을 설명하기 위한 블록도를 나타낸다.
도 14는 도 1에 도시된 동적 커패시턴스 보상 컨트롤러의 블록도를 나타낸다.
도 15는 도 14에 도시된 움직임 추정 회로의 블록도를 나타낸다.
도 16은 도 14에 도시된 움직임 추정 회로에서 사용되는 검색 범위를 나타낸다.
도 17a부터 도 17c는 도 14에 도시된 평탄 레벨 결정 회로의 동작을 설명하기 위한 개념도이다.
도 18은 도 1에 도시된 오버드라이브 테이블의 일 실시 예를 나타낸다.
도 19는 도 1에 도시된 디스플레이 컨트롤러를 포함하는 디스플레이 시스템의 실시 예들을 나타낸다.
도 20은 도 1 또는 도 19에 도시된 디스플레이 시스템의 동작 방법을 설명하기 위한 흐름도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 디스플레이 컨트롤러를 포함하는 디스플레이 시스템을 나타낸다.
디스플레이 시스템(100)은 디스플레이 컨트롤러(110)와 디스플레이(120)를 포함한다. 이때, 디스플레이(120)는 LCD(liquid crystal display)로 구현될 수 있다.
디스플레이 시스템(100)은 LCD(120)를 포함하는 TV(television), IPTV (internet protocol TV), 3D TV, 또는 휴대용 전자 장치(portable electronic device)로 구현될 수 있다.
상기 휴대용 전자 장치는 랩탑 컴퓨터(laptop computer), 스마트폰, 태블릿 PC(tablet personal computer), PDA(personal digital assistant), EDA (enterprise digital assistant), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 또는 e-북(e-book)으로 구현될 수 있다.
LCD(120)의 응답 속도(response speed)를 증가시키기 위한 오버드라이브 알고리즘(overdrive algorithm)을 수행할 수 있는 하이브리드 이미지 압축 회로 (hybrid image compression circuit; 111)는 디스플레이 컨트롤러(110)의 일부로서 구현될 수 있다.
도 1을 참조하면, 하이브리드 이미지 압축 회로(111)는 하이브리드 인코더 (200), 프레임 메모리 컨트롤러(300), 프레임 메모리(400), 하이브리드 디코더 (500), 동적 커패시턴스 보상(dynamic capacitance compensation(DCC)) 컨트롤러 (600), 테이블 서치 컨트롤러(700), 오버드라이브 테이블(801)을 저장하는 메모리 (800), 및 디스플레이 드라이브 인터페이스(display drive interface; 900)을 포함한다. 오버드라이브 회로는 요소들(700, 800, 및 900)로 구성된다.
압축기(compressor)의 기능을 수행하는 하이브리드 인코더(200)는 현재 (원래) 프레임(current (original) frame; cf_org)을 수신하여 압축하고, 현재 (원래) 프레임 압축 데이터(current (original) frame compressed data; cf_compress)를 DCC 컨트롤러(600)로 출력하는 동시에 현재 (원래) 프레임 비트스트림 (cf_bitstream)을 프레임 메모리 컨트롤러(300)로 출력한다.
현재 프레임(cf_org)은 제1데이터 포멧(format), 예컨대 RGB 요소들 (components)로 표현될 수 있고, 현재 프레임 압축 데이터(cf_compress)는 제2데이터 포멧, 예컨대 YCbCr 요소들, YUV 요소들, 또는 YCoCg 요소들 등으로 표현될 수 있다.
현재 프레임 압축 데이터(cf_compress)는 복원 값들(reconstructed values; cf_rec)과 코딩 동작 동안의 부가 정보, 예컨대 양자화 레벨(quantization level; cf_Q)을 포함할 수 있다.
프레임 메모리 컨트롤러(300)는 현재 프레임 비트스트림(cf_bitstream)을 프레임 메모리(400)에 라이트하는 동시에 프레임 메모리(400)로부터 리드된 이전 프레임 비트스트림(pf_bitstream)을 하이브리드 디코더(500)로 전송한다.
프레임 메모리 컨트롤러(300)의 제어에 따라, 프레임 메모리(400)는 현재 프레임 비트스트림(cf_bitstream)을 제1프레임 메모리 유닛에 라이트하는 라이트 동작을 수행하는 동시에 상기 제1프레임 메모리 유닛과 서로 다른 제2프레임 메모리 유닛으로부터 리드된 이전 프레임 비트스트림(pf_bitstream)을 하이브리드 디코더 (500)로 출력하는 리드 동작을 수행한다.
라이트 동작과 리드 동작이 동시에 수행되는 동안, 프레임 메모리 컨트롤러 (300)는 하나의 프레임 메모리 유닛에 대해 상기 라이트 동작과 상기 리드 동작이 동시에 수행되지 않도록 또는 상기 하나의 프레임 메모리 유닛에 대해 오버라이트 (overwrite)가 발생하지 않도록 프레임 메모리(400)의 동작을 제어할 수 있다.
프레임 메모리(400)가 현재 프레임 비트스트림(cf_bitstream)을 저장할 때, 압축 해제기(de-compressor)의 기능을 수행할 수 있는 하이브리드 디코더(500)는 이전 프레임 비트스트림(pf_bitstream)을 압축 해제하여 이전 프레임 압축 데이터 (previous frame compressed data; pf_compress)를 복원한다(retrieve).
이전 프레임 압축 데이터(pf_compress)는 복원 값들(pf_rec)과 코딩 동작 동안의 부가 정보, 예컨대 양자화 레벨(pf_Q)을 포함할 수 있다.
여기서, 이전 프레임 압축 데이터(pf_compress)는 압축 후의 이전 프레임 복원 데이터(previous frame retrieved data)를 의미하는 것으로서, 이전 프레임 압축해제된 데이터(previous frame decompressed data)와 동일한 의미로 사용될 수 있다.
DCC 컨트롤러(600)는 현재 프레임(cf_org), 현재 프레임 압축 데이터 (cf_compress), 및 이전 프레임 압축 데이터(pf_compress)에 기초하여 현재 프레임 (cf_org)에 포함된 현재 픽셀에 대한 이전 프레임 기준 값(pf_ref)을 생성한다.
테이블 서칭 컨트롤러(700)는 현재 프레임(cf_org)의 현재 픽셀의 픽셀 값과 이전 프레임 기준 값(pf_ref)을 인덱스들(tbl_idx1=cf_org과 tbl_idx2=pf_ref)로서 사용하여 오버드라이브 테이블(801)로부터 상기 현재 픽셀에 대한 적어도 하나의 서치 값(tbl_value)을 서치한다.
테이블 서칭 컨트롤러(700)는 적어도 하나의 서치 값(tbl_value)을 이용하여 현재 프레임(cf_org)의 현재 픽셀에 대한 오버드라이브 픽셀 값을 생성하고, 상기 오버드라이브 픽셀 값 또는 상기 오버드라이브 픽셀 값을 포함하는 현재 오버드라이브된 프레임(current overdriven frame; cf_od)을 디스플레이 드라이버 인터페이스(900)로 출력할 수 있다.
경우에 따라, 현재 프레임(cf_org)은 현재 프레임(cf_org) 그 자체 또는 현재 프레임(cf_org)의 현재 픽셀의 픽셀 값(cf_org_cf_val)을 의미할 수 있다. 또한, 경우에 따라 현재 오버드라이브된 프레임(cf_od)은 현재 오버드라이브된 프레임(cf_od) 그 자체 또는 오버드라이브 픽셀 값을 의미할 수 있다.
여기서, 픽셀 값과 이전 프레임 기준 값(pf_ref)은 그레이스케일(grayscale) 전압, 밝기(brightness) 값, 또는 휘도 값(luminance value)을 의미할 수 있다.
메모리(800)는 오버드라이브 테이블(801)을 저장할 수 있는 불휘발성 메모리로 구현되거나 또는 테이블 서칭 컨트롤러(700)의 동작(operation) 메모리로서 사용되는 휘발성 메모리로 구현될 수 있다. 이때, 상기 동작 메모리는 오버드라이브 테이블(801)을 저장 또는 로드(load)할 수 있다.
오버드라이브 테이블(801)은 도 18에 도시된 바와 같이 오버드라이브 픽셀 값들을 저장할 수 있다.
디스플레이 드라이브 인터페이스(900)는 오버드라이브 픽셀 값 또는 상기 오버드라이브 픽셀 값을 포함하는 현재 오버드라이브된 프레임(cf_od)을 디스플레이 (120)로 전송할 수 있다.
LCD로 구현될 수 있는 디스플레이(120)는 현재 픽셀들에 대한 오버드라이브 픽셀 값들을 포함하는 현재 오버드라이브된 프레임(cf_od)에 상응하는 이미지를 디스플레이할 수 있다.
도 2는 도 1에 도시된 하이브리드 이미지 압축 회로에 포함된 하이브리드 인코더의 블록도를 나타낸다.
도 2를 참조하면, 하이브리드 인코더(200)는 전-처리 회로(pre-process circuit; 201), 제1스위치 회로(203), 제1인코더 블록(210), 제2인코더 블록(230), 제1스위치 컨트롤러(240), 제2스위치 회로(250), 누산기(255), 및 정돈된 비트스트림 병합 회로(ordered bitstream merging circuit(OBMC); 260)를 포함한다.
전-처리 회로(201)는 현재 프레임(cf_org)을 전-처리하고, 전-처리된 이미지 데이터(pre-processed image data; cf_pre)를 출력한다.
더 높은 코딩 성능을 달성하기 위해, 전-처리 회로(201)는 현재 프레임 (cf_org)에 대해 컬러 변환(color transformation)과 서브-샘플링(sub-sampling)을 수행할 수 있다.
전-처리된 이미지 데이터(cf_pre)는 요소들(components)을 포함할 수 있다. 상기 요소들은 이미지 데이터(예컨대, RGB 요소들, YCbCr 요소들, YUV 요소들, 또는 YCoCg, 등)와, 패턴(pattern) 정보와 같은 부가 정보를 포함할 수 있다.
제1스위치 컨트롤러(240)는 누산기(255)로부터 출력된 전 요소(all component) 누산 비트들(bits_used)을 수신하고, 수학식 1에 따라 제1스위치 신호 (SW1)를 생성한다. 전 요소 누산 비트들(bits_used)은 각 요소 누산 비트들 (bits_used_1~bits_used_m)의 누산 결과이다.
제1레벨, 예컨대 로우 레벨을 갖는 제1스위치 신호(SW1)에 응답하여, 제1스위치 회로(203)는 전-처리된 이미지 데이터(cf_pre)를 제1인코더 블록(210)으로 전송한다.
따라서, 제1인코더 블록(210)은 전-처리된 이미지 데이터(cf_pre)에 포함된 요소들, 예컨대 YCbCr 요소들 각각, YUV 요소들 각각, 또는 YCoCg 요소들 각각을 인코딩한다.
제1레벨을 갖는 제1스위치 신호(SW1)에 응답하여, 제2스위치 회로(250)는 제1인코더 블록(210)으로부터 출력된 각 요소 비트스트림(cf_bitstream_j, j=1부터 m; m은 자연수)을 OBMC(260)로 출력하고 각 요소 압축 데이터(cf_compress_j)를 DCC 컨트롤러(600)로 출력한다.
이때, 현재 프레임 압축 데이터(cf_compress)는 각 요소 압축 데이터 (cf_compress_1부터 cf_compress_m)를 포함한다.
제1스위치 신호(SW1)가 제1레벨을 가질 때, 요소들(203, 210, 및 250)은 제1인코딩 경로를 생성한다.
또한, 제2레벨, 예컨대 하이 레벨을 갖는 제1스위치 신호(SW1)에 응답하여, 제1스위치 회로(203)는 전-처리된 이미지 데이터(cf_pre)를 제2인코더 블록(230)으로 전송한다.
따라서, 제2인코더 블록(230)은 전-처리된 이미지 데이터(cf_pre)에 포함된 요소들, 예컨대 YCbCr 요소들 각각, YUV 요소들 각각, 또는 YCoCg 요소들 각각을 인코딩한다.
제2레벨을 갖는 제1스위치 신호(SW1)에 응답하여, 제2스위치 회로(250)는 제2인코더 블록(230)으로부터 출력된 각 요소 비트스트림(cf_bitstream_j)을 OBMC (260)로 출력하고 각 요소 압축 데이터(cf_compress_j)를 DCC 컨트롤러(600)로 출력한다.
제1스위치 신호(SW1)가 제2레벨을 가질 때, 요소들(203, 230, 및 250)은 제2인코딩 경로를 생성한다.
누산기(255)는 제2스위치 회로(250)로부터 출력된 각 요소 비트스트림 (cf_bitstream_1부터 cf_bitstream_m)에 포함된 픽셀들을 인코딩하기 위해 사용된 비트들의 수를 누산하고, 누산의 결과에 따라 전 요소 누산 비트들(bits_used)을 제1스위치 컨트롤러(240)로 출력한다.
제1스위치 컨트롤러(240)로부터 출력된 제1스위치 신호(SW1)에 따라, 전-처리된 이미지 데이터(cf_pre)가 제1인코더 블록(210) 또는 제2인코더 블록(230)에 의해 인코딩됨에 따라, 데이터 끊김(data truncation)은 방지된다.
도 3은 CBR(constant bit rate) 유닛을 나타낸다.
현재 프레임(cf_org)의 일부인 CBR 유닛(CBRU)은 원하는 압축률(desired compression ratio)을 항상 유지하기 위한 본질적인 처리 블록(fundamental processing block)으로 정의될 수 있다. 예컨대, 하나의 CBR 유닛 (CBRU)은 하나의 프레임, 이미지 라인들, 또는 픽셀들로 정의될 수 있다.
제1스위치 컨트롤러(240)는, 하나의 CBR 유닛(CBRU)에 대한 원하는 압축률을 유지하기 위해, 적응적으로(adaptively) 전-처리된 이미지 데이터(cf_pre)를 제1인코더 블록(210) 또는 제2인코더 블록(230)으로 전송할 수 있도록 제1스위치 회로 (203)를 제어할 수 있다.
제1스위치 컨트롤러(240)는 수학식 1로 표현되는 알고리즘에 따라 제1스위치 신호(SW1)를 생성할 수 있다.
[수학식 1]
Figure pat00001
도 3에 도시된 바와 같이, 현재 프레임(cf_org)의 현재 픽셀(i)을 인코딩하기 전에, 제1인코더 블록(210) 또는 제2인코더 블록(230)에 대한 선택이 필요하다. 이를 위해, 제1스위치 컨트롤러(240)는 현재 CBR 유닛(CBRU)에서 처리될 픽셀들과 남은 비트들을 계산한다.
(bits_total-bits_used)는 남은 비트들(또는 남은 비트들의 개수)을 의미한다. ((n-1)*bpp_MAX)는 파이프라인에서 현재 처리되고 있는 픽셀들을 인코딩하기 위한 최대 비트들((또는 최대 비트들의 개수)을 의미한다. (left_pixels*bpp_CBR)는 CBR 인코더들의 제한(restriction)하에서 CBR 유닛(CBRU)에 남은 픽셀들을 인코딩할 때 요구되는 비트들(또는 비트들의 개수)을 의미한다.
원하는 압축률을 보장하기 위해, CBR 인코더에서 픽셀마다 할당된 비트들 (bpp_CBR)은 원하는 압축률 하에서 픽셀마다 이용가능한 비트들(bpp_TGT)보다 크면 않된다. 따라서, bpp_CBR은 bpp_TGT보다 작아야 한다.
bpp_CBR와 bpp_TGT가 같을 때, 하나의 픽셀을 위해 CBR 인코더들이 선택되면, CBR 유닛(CBRU)에 남아 있는 모든 픽셀들은 수학식 1에 따라 CBR 인코더(들)에 의해 인코드된다.
수학식 1을 참조하면, (n-1), bpp_MAX, bpp_CBR, 및 bits_total 각각은 고정된 값이고, left_pixels은 제1스위치 컨트롤러(240)의 내부에 구현된 내부 카운터 (internal counter)에 의해 계산되고, 전 요소 누산 비트들(bits_used)는 누산기 (255)로부터 입력된다.
다시 도 2를 참조하면, 제1인코더 블록(210)은 가변 비트율(variable bit rate(VBR)) 인코더들(211-1~211-m; m은 자연수)을 포함한다.
예컨대, 제1VBR 인코더(211-1)는 Y-데이터(luma data 또는 luminance data) 또는 Y-요소(Y component)를 인코드하고 Y-요소 압축 데이터(cf_compress_j, j=1=Y)와 Y-요소 비트스트림(cf_bitstream_j, j=1=Y)을 제2스위치 회로(250)로 출력한다.
제2VBR 인코더(211-2)는 Cb-데이터(blue-difference chroma data, 또는 Cb- 요소), U-데이터(또는 U-요소), 또는 Co-데이터(또는 Co 요소)를 인코드하고 Cb, U, 또는 Co-요소 압축 데이터(cf_compress_j, j=2=Cb, U, 또는 Co)와 Cb, U, 또는 Co-요소 비트스트림(cf_bitstream_j, j=2=Cb, U, 또는 Co)을 제2스위치 회로(250)로 출력한다.
제3VBR 인코더(211-3)는 Cr-데이터(red-difference chroma data, 또는 Cr-요소), V-데이터(또는 V-요소), 또는 Cg-데이터(또는 Cg-요소)를 인코드하고 Cr, V, 또는 Cg-요소 압축 데이터(cf_compress_j, j=3=Cr, V, 또는 Cg)와 Cr, V, 또는 Cg-요소 비트스트림(cf_bitstream_j, j=3=Cr, V, 또는 Cg)을 제2스위치 회로(250)로 출력한다.
전-처리된 이미지 데이터(cf_pre)가 패턴 정보를 더 포함할 때, 제4VBR 인코더(211-m, m=4)는 패턴 정보를 인코드하고 패턴-요소 압축 데이터(cf_compress_j, j=4)와 패턴-요소 비트스트림(cf_bitstream_j, j=4)을 제2스위치 회로(250)로 출력한다.
제2인코더 블록(230)은 고정 비트율(constant bit rate(CBR)) 인코더들(231-1~231-m)을 포함한다.
VBR 인코더는 픽셀마다 가변하는 비트들의 개수를 출력하고, CBR 인코더는 픽셀마다 고정된 비트들의 개수를 출력한다.
예컨대, 제1CBR 인코더(231-1)는 Y-데이터(또는 Y-요소)를 인코드하고 Y-요소 압축 데이터(cf_compress_j, j=1=Y)와 Y-요소 비트스트림(cf_bitstream_j, j=1=Y)을 제2스위치 회로(250)로 출력한다.
제2CBR 인코더(231-2)는 Cb-데이터(또는 Cb-요소), U-데이터(또는 U-요소), 또는 Co-데이터(또는 Co-요소)를 인코드하고 Cb, U, 또는 Co-요소 압축 데이터 (cf_compress_j, j=2=Cb, U, 또는 Co)와 Cb, U, 또는 Co-요소 비트스트림 (cf_bitstream_j, j=2=Cb, V, 또는 Co)을 제2스위치 회로(250)로 출력한다.
제3CBR 인코더(231-3)는 Cr-데이터(또는 Cr-요소), V-데이터(또는 V-요소), 또는 Cg-데이터(또는 Cg-요소)를 인코드하고 Cr, V, 또는 Cg-요소 압축 데이터 (cf_compress_j, j=3=Cr, V, 또는 Cg)와 Cr, V, 또는 Cg-요소 비트스트림 (cf_bitstream_j, j=3=Cr)을 제2스위치 회로(250)로 출력한다.
전-처리된 이미지 데이터(cf_pre)가 패턴 정보를 더 포함할 때, 제4CBR 인코더(231-m, m=4)는 패턴 정보를 인코드하고 패턴-요소 압축 데이터(cf_compress_j, j=4)와 패턴-요소 비트스트림(cf_bitstream_j, j=4)을 제2스위치 회로(250)로 출력한다.
하이브리드 인코더(200)는 하나의 VBR 인코더와 하나의 CBR 인코더를 사용하는 대신에 더 높은 코딩 성능을 달성하기 위해 서로 독립적인 VBR 인코더들(211-1~211-m)과 서로 독립적인 CBR 인코더들(231-1~231-m)을 사용한다.
각 VBR 인코더(211-1~211-m) 또는 각 CBR 인코더(231-1~231-m)는 전-처리된 이미지 데이터(cf_pre)에 포함된 각 요소에 대한 압축 데이터(cf_compress_j)와 비트스트림(cf_bitstream_j)을 출력한다.
제2스위치 회로(250)는 제1인코더 블록(210)과 제2인코더 블록(230) 중에서 어느 하나로부터 출력된 각 요소 압축 데이터(cf_compress_j)를 DCC 컨트롤러(600)로 전송하고 상기 어느 하나로부터 출력된 각 요소 비트스트림(cf_bitstream_j)을 OBMC(260)로 전송한다.
이때, 각 요소 압축 데이터(cf_compress_1부터 cf_compress_m)는 DCC 컨트롤러(600)에 의해 직접 사용되므로, 각 요소 비트스트림(cf_bitstream_1부터 cf_bitstream_m)과 달리 각 요소 압축 데이터(cf_compress_1부터 cf_compress_m)는 병합될 필요가 없다.
상술한 바와 같이, 각 요소 압축 데이터(cf_compress_1부터 cf_compress_m)를 포함하는 현재 원래 프레임 압축 데이터는 cf_compress로 표현한다.
OBMC(260)는 제2스위치 회로(250)를 통해 출력된 각 요소 비트 스트림 (cf_bitstream_j)을 하나로 병합하여 하나의 비트스트림, 즉 현재 프레임 비트스트림(cf_bitstream)을 생성한다.
도 4는 도 2에 도시된 가변 비트율 인코더들 중의 어느 하나의 블록도를 나타낸다.
도 2와 도 4를 참조하면, VBR 인코더들(211-1~211-m) 각각의 구조와 동작은 동일하므로, 설명의 편의를 위해, 제1VBR 인코더(211-1)의 구조와 동작이 상세히 설명된다.
제1VBR 인코더(211-1)는 전-처리된 이미지 데이터(cf_pre)의 제1요소 (cf_pre_1), 예컨대 Y-요소를 인코드하여 제1요소 압축 데이터(cf_compress_1)와 제1요소 비트스트림(cf_bitstream_1)을 출력한다.
제1VBR 인코더(211-1)는 양자화 회로(또는 양자화 스테이지(quantization stage); 213)와 코딩 회로(또는 코딩 스테이지(coding stage); 215)를 포함한다.
양자화 회로(213)는 전-처리된 이미지 데이터(cf_pre)의 제1요소(cf_pre_1)를 최종 양자화 레벨(Q)을 이용하여 양자화하여 양자화된 값(y), 예컨대 현재 픽셀의 양자화된 값을 생성하고 양자화된 값(y)을 최종 양자화 레벨(Q)을 이용하여 역-양자화하여 제1요소 압축 데이터(cf_compress_1)를 생성한다.
코딩 회로(215)는 양자화된 값(y)을 서로 다른 코딩 알고리즘들 중의 어느 하나를 이용하여 코딩하고 코딩의 결과에 따라 제1요소 비트스트림 (cf_bitstream_1)를 생성한다.
양자화 회로(213)는 컨텍스트-기반 양자화 레벨 결정 회로(context-based quantization level determination(CBQLD) circuit; 213-1), 레이트-기반 양자화 레벨 결정 회로(rate-based quantization level determination(RBQLD) circuit; 213-3), 제2스위치 컨트롤러(213-4), 제3스위치 회로(213-5), 양자화기(quantizer; 213-6), 및 역-양자화기 inverse-quantizer; 213-7)를 포함한다.
CBQLD 회로(213-1)는 라인 버퍼(213-2)를 포함한다. 도 5에 도시된 바와 같이 라인 버퍼(213-2)는 이전 라인(PL)의 픽셀 값들과 현재 라인(CL)의 픽셀 값들을 저장한다.
도 5는 도 4에 도시된 컨텍스트-기반 양자화 레벨 결정 회로의 동작을 설명하기 위한 개념도이다.
도 4와 도 5를 참조하면, 하드웨어 구현(hardware implementation)에서 피드백 루프(feedback loop)를 피하기 위해, 이전 라인(PL)에서 현재 픽셀(CP)의 주변 픽셀들(P1~P7)은 현재 픽셀(CP)의 컨텍스트 복잡성(context complexity)을 계산하기 위해 사용된다.
본 실시 예에서는 두 개의 컨텍스트 복잡성, 즉 가까운(near) 컨텍스트 복잡성(near_cc)과 먼(far) 컨텍스트 복잡성(far_cc)이 정의된다.
도 5에서는 설명의 편의를 위해, 3개의 픽셀들(P3, P4, 및 P5)이 가까운 컨텍스트 복잡성(near_cc)을 계산하기 위해 제1영역(Pnear_cc)에 포함되고 7개의 픽셀들(P1~P7)이 먼 컨텍스트 복잡성(far_cc)을 계산하기 위해 제2영역(Pfar_cc)에 포함된다고 가정한다.
즉, 수학식 2에 따라, 가까운 컨텍스트 복잡성(near_cc)은 현재 픽셀(CP) 주위의 가까운 주변 픽셀들(P3, P4, 및 P5) 중에서 대응되는 두 개의 픽셀들(P3과 P4, 및 P4와 P5) 사이의 값들의 차이들(diff3과 diff4)의 최소 값으로 계산된다.
[수학식 2]
Figure pat00002
수학식 2에 따라 먼 컨텍스트 복잡성(far_cc)은 현재 픽셀(CP) 주위의 먼 주변 픽셀들(P1~P7) 중에서 대응되는 두 개의 픽셀들(P1과 P2, P2와 P3, P3와 P4, P4와 P5, P5와 P6, 및 P6과 P7) 사이의 값들의 차이들(diff1~diff6)의 합으로 계산된다.
실시 예에 따라, 계산적인 복잡성(computational complexity)을 줄이기 위해, 현재 픽셀 주위의 먼 주변 픽셀들 중에서 대응되는 두 개의 픽셀들 사이의 값들의 차이들을 계산하는 대신에 상기 먼 주변 픽셀들 각각에 대한 패턴 정보와 같은 부가 정보가 먼 컨텍스트 복잡성을 계산하기 위해 사용될 수 있다.
CBQLD 회로(213-1)는 수학식 2에 기초하여 가까운 컨텍스트 복잡성(near_cc)과 먼 컨텍스트 복잡성(far_cc)을 계산하고, 계산의 결과와 수학식 3을 이용하여 컨텍스트-기반 양자화 레벨(Qc)을 계산할 수 있다.
[수학식 3]
Figure pat00003
여기서, 변수들(nc0, nc1, nc2, ..., fc0, fc1, fc2, ..., 및 Q_MAX)는 미리 정해진 값들이다. 이때, nc0<nc1, nc1<nc2, fc0<fc1, fc1<fc2이고, Q_MAX는 최대 값이다.
컨텍스트-기반 양자화 레벨(Qc)은 컨텍스트 복잡성에만 의존적이다. 따라서, 서로 다른 영역들에서 컨텍스트-기반 양자화 레벨들은 일관성(consistency)을 유지한다. 더 높은 컨텍스트 복잡성을 갖는 영역들에서 더 높은 컨텍스트-기반 양자화 레벨(Qc)이 발생하고, 더 낮은 컨텍스트 복잡성을 갖는 영역들에서 더 낮은 컨텍스트-기반 양자화 레벨(Qc)이 발생한다.
픽셀들(P1~P7) 각각의 값에 대한 인코딩이 어려울 때 가까운 컨텍스트 복잡성(near_cc)과 먼 컨텍스트 복잡성(far_cc)이 높으므로, 컨텍스트-기반 양자화 레벨(Qc)은 높다.
그러나, 픽셀들(P3~P5) 각각의 값에 대한 인코딩이 어렵고 나머지 픽셀들 (P1, P2, P6, 및 P7) 각각에 대한 인코딩이 쉬울 때, 가까운 컨텍스트 복잡성 (near_cc)은 높고 먼 컨텍스트 복잡성(far_cc)이 낮으므로, 컨텍스트-기반 양자화 레벨(Qc)은 낮다.
RBQLD 회로(213-3)는 현재 CBR 유닛(CBRU)에서 인코드된 픽셀들을 위해 사용된 전 요소 누산 비트들(bits_used)과 원하는 압축률 하에서 현재 CBR 유닛(CBRU)에서 인코드된 픽셀들을 위해 할당된 버짓(budget_for_pixels_encoded)에 기초하여 레이트-기반 양자화 레벨(Qr)을 계산한다.
도 6은 도 4에 도시된 레이트-기반 양자화 레벨 결정 회로의 동작을 설명하기 위한 개념도이다.
도 3에 도시된 바와 같이, "pixels encoded"는 인코드된 픽셀들의 개수를 나타낸다. "pixels encoded"이 N1개 일 때, 전 요소 누산 비트들(bits_used)은 N1개의 픽셀들을 인코딩하기 위해 사용된 비트들의 개수를 의미하는 것으로서, 현재까지의 각 요소 비트스트림(cf_bitstream_j)의 합과 같다.
예컨대, "bits_used_j"는 j-요소 비트스트림의 합을 의미한다.
"budget_for_pixels_encoded"는 원하는 압축률에 따라 N1개의 픽셀들에 대한 버짓을 의미한다. 예컨대, 원하는 압축률(1/CR)이 1/10이고 하나의 픽셀의 값이 8비트들일 때, 상기 하나의 픽셀에 대한 버짓은 8bits*1/10=0.8bit이다. 따라서, N1개에 대한 budget_for_pixels_encoded은 N1*0.8bit이다.
도 6에서 (N1*8)은 하나의 요소, 예컨대 R-요소, G-요소, 또는 B-요소에 대한 원래 데이터의 비트 수를 의미한다. 상기 "8"은 설명의 편의를 위한 숫자이다.
RBQLD 회로(213-3)는 누산기(215-6)로부터 출력된 누산 비트들(bits_used_1)을 수신하고 수학식 4에 따라 레이트-기반 양자화 레벨(Qr)을 계산할 수 있다. RBQLD 회로(213-3)는 인코드된 픽셀들(pixels encoded)의 개수를 카운트하는 내부 카운터를 이용하여 "budget_for_pixels_encoded"를 계산한다.
[수학식 4]
Figure pat00004
여기서, 변수들(r0, r1, r2, ..., 및 Q_MAX)은 미리 정해진 값들이다. 이때, r0>r1, r1>r2이고, Q_MAX는 최대 값이다.
남아 있는 버짓(budget_for_pixels_encoded-bits_used)이 클 때 레이트-기반 양자화 레벨(Qr)은 작고, 남아 있는 버짓(budget_for_pixels_encoded-bits_used)이 작을 때 레이트-기반 양자화 레벨(Qr)은 크다.
제2스위치 컨트롤러(213-4)는 컨텍스트-기반 양자화 레벨(Qc)과 레이트-기반 양자화 레벨(Qr)을 수신하고, 수학식 5에 기초하여 제2스위치 신호(SW2)를 출력한다.
예컨대, 컨텍스트-기반 양자화 레벨(Qc)이 레이트-기반 양자화 레벨(Qr)보다 클 때, 제2스위치 컨트롤러(213-4)는 제1레벨을 갖는 제2스위치 신호(SW2)를 출력한다. 따라서, 제3스위치 회로(213-5)는 수학식 3에 따라 계산된 컨텍스트-기반 양자화 레벨(Qc)을 최종 양자화 레벨(Q)로서 출력한다.
그러나, 컨텍스트-기반 양자화 레벨(Qc)이 레이트-기반 양자화 레벨(Qr)보다 작을 때, 제2스위치 컨트롤러(213-4)는 제2레벨을 갖는 제2스위치 신호(SW2)를 출력한다. 따라서, 제3스위치 회로(213-5)는 수학식 4에 따라 계산된 레이트-기반 양자화 레벨(Qr)을 최종 양자화 레벨(Q)로서 출력한다.
[수학식 5]
Figure pat00005
낮은 컨텍스트 복잡성을 갖는 영역에서 레벨들(Qc와 Qr)의 차이는 클 수 있다. 그러나, 최종 양자화 레벨(Q)의 일관성은 낮은 컨텍스트 복잡성을 갖는 영역을 보장하는 것은 아니다.
그러나, 컨텍스트 복잡성이 증가할 때, 레벨들(Qc와 Qr)의 차이는 감소한다.
가장 높은 컨텍스트 복잡성을 갖는 영역들에서, 각 레벨(Qc와 Qr)은 서로 동일할 수 있다. 따라서, 가장 높은 컨텍스트 복잡성을 갖는 영역들에서, 최종 양자화 레벨(Q)은 일관성을 유지한다.
도 7은 도 4에 도시된 양자화기와 역-양자화기의 동작을 설명하기 위한 개념도이다.
도 4와 도 7을 참조하면, 양자화기(213-6)는 최종 양자화 레벨(Q)을 이용하여 라인 버퍼(213-2)로부터 출력된 전-처리된 이미지 데이터(cf_pre)의 제1요소 (cf_pre_1)를 양자화하고, 양자화의 결과에 따라 양자화된 값(y)을 역-양자화기 (213-7)와 코딩 회로(215)로 출력한다.
역-양자화기(213-7)는 최종 양자화 레벨(Q)을 이용하여 양자화된 값(y)을 역-양자화하고, 역-양자화의 결과에 따라 제1요소 압축 데이터(cf_compress_1)를 DCC 컨트롤러(600)로 출력한다.
도 7에 도시된 바와 같이, 전-처리 이미지 데이터(cf_pre)의 제1요소 (cf_pre_1)가 8-비트들(ABCDEFGH)이고 최종 양자화 레벨(Q)이 3일 때, 양자화기 (213-6)는 최종 양자화 레벨(Q=3)만큼 하위(lower) 3-비트들(FGH)을 버리고 (discard) 상위(upper) 5-비트들(ABCDE), 즉 양자화된 값(y)을 출력한다. 8-비트들 (ABCDEFGH) 각각은 이진수로 표현될 수 있다.
역-양자화기(213-7)는 5-비트들(ABCDE), 즉 양자화된 값(y)에 최종 양자화 레벨(Q=3)에 해당하는 3만큼 "0"을 더하여 양자화된 값(y)을 역-양자화하고 제1요소 압축 데이터(cf_compress_1)를 DCC 컨트롤러(600)로 출력한다.
다시 도 4를 참조하면, 코딩 회로(215)는 제4스위치 회로(215-1), 제3스위치 컨트롤러(215-2), 제1코더(215-3), 제2코더(215-4), 제5스위치 회로(215-5), 및 누산기(215-6)를 포함한다.
제3스위치 신호(SW3)에 응답하여 제4스위치 회로(215-1)는 양자화된 값(y)을 제1코더(215-3)와 제2코더(215-4) 중에서 어느 하나로 전송한다.
도 8은 도 4에 도시된 제3스위치 컨트롤러의 동작을 설명하기 위한 개념도이다.
도 5와 도 8에 도시된 바와 같이, 제3스위치 컨트롤러(215-2)는 현재 픽셀 (CP)의 주변 픽셀들(P8, P4, P3, 및 P5) 각각의 값(a, b, c, 및 d)을 수신하고, 수신된 값들(a, b, c, 및 d)이 서로 동일할 때에는 제1레벨을 갖는 제3스위치 신호 (SW3)를 생성하고 수신된 값들(a, b, c, 및 d)이 서로 동일하지 않을 때에는 제2레벨을 갖는 제3스위치 신호(SW3)를 생성한다.
제1레벨을 갖는 제3스위치 신호(SW3)에 응답하여 제4스위치 회로(215-1)는 양자화된 값(y)을 제2코더(215-4)로 전송하고, 제2레벨을 갖는 제3스위치 신호 (SW3)에 응답하여 제4스위치 회로(215-1)는 양자화된 값(y)을 제1코더(215-3)로 전송한다.
제1코더(215-3)는 골룸 코딩(Golomb coding)을 수행할 수 있는 골룸 코더 (Golomb coder)로 구현될 수 있고, 제2코더(215-4)는 반복 길이 코딩(run-length coding)을 수행할 수 있는 반복 길이 코더로 구현될 수 있다.
골룸 코더(215-3)는 양자화된 값(y)에 대해 골룸 코딩을 수행하고, 수행의 결과에 따라 제1요소 비트스트림(cf_bitstream_1)을 제5스위치 회로(215-5)로 전송한다.
도 9는 도 4에 도시된 골룸 코더의 블록도를 나타낸다.
도 9를 참조하면, 골룸 코더(215-3)는 움직임 계산 회로(activity computation circuit; 215-3a), k-계산 회로(215-3b), 및 골룸 인코더(215-3c)를 포함한다.
움직임 계산 회로(215-3a)는 현재 픽셀(CP)의 주변 픽셀들(P8, P4, P3, 및 P5)의 값들(a, b, c, 및 d) 중에서 대응되는 두 개의 값들의 차이들을 계산하고 계산의 결과와 수학식 6을 이용하여 움직임(activity)을 계산한다.
[수학식 6]
Figure pat00006
k-계산 회로(215-2b)는 수학식 7을 이용하여 움직임(activity)에 상응하는 값(k)을 계산할 수 있다.
[수학식 7]
Figure pat00007
여기서, 변수들(activity0, activity1, activity2, ..., 및 k_MAX)은 미리 정해진 값들이다. 이때, activity0<activity1, activity1<activity2이다.
움직임(activity)이 커질수록 값(k)은 커지고, 움직임(activity)이 작아질수록 값(k)은 작아진다.
골룸 인코더(215-3c)는 값(k)을 이용하여 현재 픽셀(CP)의 양자화된 값(y)을 인코딩하고 인코딩의 결과에 따라 제1요소 비트스트림(cf_bitstream_1)을 출력한다.
도 9에 도시된 바와 같이, 양자화된 값(y)이 ABCDE이고 값(k)이 2일 때, ABC의 값들에 따라 골룸 인코더(215-3c)는 서로 다른 비트들을 포함하는 제1요소 비트스트림(cf_bitstream_1)을 출력한다.
예컨대, ABC가 "000"일 때, 골룸 인코더(215-3c)는 "1DE"를 제1요소 비트스트림(cf_bitstream_1)으로서 출력한다. ABC가 "100"일 때, 골룸 인코더(215-3c)는 "00001DE"를 제1요소 비트스트림(cf_bitstream_1)으로서 출력한다. ABC가 "111"일 때, 골룸 인코더(215-3c)는 "00000001DE"를 제1요소 비트스트림(cf_bitstream_1)으로서 출력한다.
도 9에 도시된 바와 같이, 값(k)이 2일 때, "DE"는 이진 부분(binary part)이고, "ABC"는 일진법 부분(unary part)이고, "1"은 분리 비트(separation bit)이다.
도 4를 다시 참조하면, 반복 길이 코더(215-4)는 양자화된 값(y)에 대해 반복 길이 코딩을 수행하고, 수행의 결과에 따라 제1요소 비트스트림 (cf_bitstream_1)을 제5스위치 회로(215-5)로 전송한다.
제5스위치 회로(215-5)는 제1레벨을 갖는 제3스위치 신호(SW3)에 응답하여 반복 길이 코더(215-4)로부터 출력된 제1요소 비트스트림(cf_bitstream_1)을 누산기(215-6)와 제2스위치 회로(250)로 전송한다.
누산기(215-6)는 제5스위치 회로(215-5)로부터 출력된 제1요소 비트스트림 (cf_bitstream_1)을 누산하고 누산의 결과에 따라 생성된 제1요소 누산 비트들 (bits_used_1)을 RBQLD 회로(213-3)로 출력한다.
도 10은 도 2에 도시된 고정 비트율 인코더들 중에서 어느 하나의 블록도를 나타낸다.
도 10을 참조하면, 하이브리드 인코더(200)에서 CBR 인코더들(231-1~231-m)과, 제1인코더 블록(210)과 제2인코더 블록(230) 사이의 스위칭은 하나의 CBR 유닛 (CBRU)에 대한 원하는 압축률을 보장하기 위해 사용된다.
도 2의 CBR 인코더들(231-1~231-m) 각각의 구조와 동작은 서로 동일하므로, 설명의 편의를 위해 제1CBR 인코더(231-1)의 구조와 동작이 상세히 설명된다.
제1CBR 인코더(231-1)는 CBQLD 회로(213-1'), 제6스위치 회로(233-1), 제4스위치 컨트롤러(233-2), 제1양자화기(233-3), 제1역-양자화기(233-4), 제7스위치 회로(233-5), 제8스위치 회로(233-6), 평균 회로(233-7), 제2양자화기(233-8), 및 제2역-양자화기(233-9)를 포함한다.
각 양자화기(233-3과 233-8)의 구조와 동작은 도 4와 도 7을 참조하여 설명한 양자화기(213-6)의 구조와 동작과 동일하다. 또한, 각 역-양자화기(233-4와 233-9)의 구조와 동작은 도 4와 도 7을 참조하여 설명한 역-양자화기(213-7)의 구조와 동작과 동일하다.
CBQLD 회로(213-1')의 구조와 동작은 도 4에 도시된 CBQLD 회로(213-1)의 구조와 동작과 동일하다.
제4스위치 컨트롤러(233-2)는 CBQLD 회로(213-1')로부터 출력된 컨텍스트-기반 양자화 레벨(Qc)에 기초하여 제4스위치 신호(SW4)를 출력한다.
예컨대, 컨텍스트-기반 양자화 레벨(Qc)이 최대 양자화 레벨(Q_MAX)일 때, 제4스위치 컨트롤러(233-2)는 제1레벨을 갖는 제4스위치 신호(SW4)를 출력한다.
제1레벨을 갖는 제4스위치 신호(SW4)에 응답하여 제6스위치 회로(233-1)는 라인 버퍼(213-2')로부터 출력된 전-처리된 이미지 데이터(cf_pre)의 제1요소 (cf_pre_1)를 제1양자화기(233-3)로 전송한다.
제1양자화기(233-3)는 최대 양자화 레벨(Q_MAX)에 기초하여 제1요소 (cf_pre_1)를 양자화하고 양자화된 값(y1)을 제1역-양자화기(233-4)와 제8스위치 회로(233-6)로 전송한다.
제1역-양자화기(233-4)는 최대 양자화 레벨(Q_MAX)에 기초하여 제1양자화기 (233-3)로부터 출력된 양자화된 값(y1)을 역-양자화하고 역-양자화의 결과에 따라 생성된 제1요소 압축 데이터(cf_compress_1)를 제7스위치 회로(233-5)로 전송한다.
제1레벨을 갖는 제4스위치 신호(SW4)에 응답하여 제7스위치 회로(233-5)는 제1요소 압축 데이터(cf_compress_1)를 제2스위치 회로(250)로 전송한다.
제1레벨을 갖는 제4스위치 신호(SW4)에 응답하여 제8스위치 회로(233-6)는 제1양자화기(233-3)에 의해 양자화된 값(y1)을 제1요소 비트스트림 (cf_bitstream_1)으로서 제2스위치 회로(250)로 전송한다.
그러나, 컨텍스트-기반 양자화 레벨(Qc)이 최대 양자화 레벨(Q_MAX)이 아닐 때, 제4스위치 컨트롤러(233-2)는 제2레벨을 갖는 제4스위치 신호(SW4)를 출력한다.
제2레벨을 갖는 제4스위치 신호(SW4)에 응답하여 제6스위치 회로(233-1)는 라인 버퍼(213-2')로부터 출력된 전-처리된 이미지 데이터(cf_pre)의 제1요소 (cf_pre_1)를 평균 회로(233-7)로 전송한다.
평균 회로(233-7)는 라인 버퍼(213-2')로부터 제1요소(cf_pre_1)의 현재 픽셀(CP)의 픽셀 값(y')과 제1요소(cf_pre_1)의 다음 픽셀(NP)의 픽셀 값(NV)을 수신하고 수신된 값들(y'과 NV)의 평균 값을 계산하고 평균 픽셀 값을 출력한다.
제2양자화기(233-8)는 양자화 레벨(Qc=Q_MAX-1)에 기초하여 평균 회로(233-7)의 출력 값들을 양자화하고 양자화의 결과에 따라 양자화된 값(y2)을 제2역-양자화기(233-9)와 제8스위치 회로 (233-6)로 전송한다.
제2역-양자화기(233-9)는 양자화 레벨(Qc=Q_MAX-1)에 기초하여 제2양자화기 (233-8)로부터 출력된 양자화된 값(y2)을 역-양자화하고 역-양자화의 결과에 따라 생성된 제1요소 압축 데이터(cf_compress_1)를 제7스위치 회로(233-5)로 전송한다.
제2레벨을 갖는 제4스위치 신호(SW4)에 응답하여 제7스위치 회로(233-5)는 제1요소 압축 데이터(cf_compress_1)를 제2스위치 회로(250)로 전송한다.
제2레벨을 갖는 제4스위치 신호(SW4)에 응답하여 제8스위치 회로(233-6)는 제2양자화기(233-8)에 의해 양자화된 값(y2)을 제1요소 비트스트림 (cf_bitstream_1)으로서 제2스위치 회로(250)로 전송한다.
각 CBR 인코더(231-1~231-m)에서 가장 높은 컨텍스트-기반 양자화 레벨 (Qc=Q_MAX)을 갖는 각 영역에 대한 양자화 레벨은 VBR 인코더들(211-1~211-m)에서 가장 높은 컨텍스트-기반 양자화 레벨(Qc=Q_MAX)을 갖는 각 영역에 대한 양자화 레벨과 일관성을 유지한다.
현재 픽셀(CP)에 대해 가장 높은 컨텍스트-기반 양자화 레벨(Qc=Q_MAX)보다 작은 컨텍스트-기반 양자화 레벨(Qc<Q_MAX)이 검출되면, 복원 에러(reconstruction error)를 줄이기 위해 제1요소(cf_pre_1)는 요소들(233-7과 233-8)을 통해 처리된다.
도 11은 도 2에 도시된 정돈된 비트스트림 병합 회로의 블록도를 나타낸다.
도 2와 도 11을 참조하면, 각 VBR 인코더(211-1~211-m)로부터 출력되는 각 요소 비트스트림(cf_bitstream_j, j=1부터 m)은 가변 길이를 갖는다. 따라서, 정돈되지 않은 비트스트림 병합(unordered bitstream merging)은 디코드 가능하지 않다.
OBMC(260)는 제1인코더 블록(210) 또는 제2인코더 블록(230)으로부터 출력되는 독립적인 각 요소 비트스트림(cf_bitstream_j, j는 1부터 m)을 하나의 현재 프레임 비트스트림(cf_bitstream)으로 병합한다.
OBMC(260)는 비트 버퍼들(260-1~260-m)과 병합 회로(262)를 포함한다.
각 비트 버퍼(260-1~260-m)는 독립적인 각 요소 비트스트림(cf_bitstream_1부터 cf_bitstream_m)을 임시로 저장한다.
예컨대, 입력되는 각 요소 비트스트림(cf_bitstream_1부터 cf_bitstream_m)의 비트들과 각 비트 버퍼(260-1~260-m)에 이미 저장된 비트들의 합이 최대 비트들 (bpp_MAX)보다 작을 때, 입력되는 각 요소 비트스트림(cf_bitstream_1부터 cf_bitstream_m)은 각 비트 버퍼(260-1~260-m)에 저장되고 어떠한 각 요소 비트스트림(cf_bitstream_1부터 cf_bitstream_m)도 병합 회로(262)로 출력되지 않는다.
그러나, 입력되는 각 요소 비트스트림(cf_bitstream_1~cf_bitstream_m)의 비트들과 각 비트 버퍼(260-1~260-m)에 이미 저장된 비트들의 합이 최대 비트들 (bpp_MAX)보다 클 때, 각 비트 버퍼(260-1~260-m)는 각 최대 비트들((bpp_MAX)을 병합을 위해 병합 회로(262)로 출력한다. 이때, 각 요소 비트스트림 (cf_bitstream_1~cf_bitstream_m)의 남은 비트들은 각 비트 버퍼(260-1~260-m)에 저장된다.
도 11에서는 설명의 편의를 위해 각 스위치가 별도로 도시되어 있으나, 각 비트 버퍼(260-1~260-m)는 각 최대 비트들((bpp_MAX) 단위로 각 요소 비트스트림을 출력하기 위해 각 스위치의 기능을 내부에 포함할 수 있다.
상술한 바와 같이, 병합된 비트스트림, 즉 현재 프레임 비트스트림 (cf_bitstream)은 디코드 가능하다.
현재 프레임 비트스트림(cf_bitstream)을 생성하는 병합 회로(262)는 하나의 와이어(wire) 또는 하나의 전송 라인으로 구현될 수 있다.
도 12는 도 1에 도시된 프레임 메모리 컨트롤러의 동작을 설명하기 위한 블록도를 나타낸다.
도 1, 도 2, 및 도 12를 참조하면, 비록 VBR 인코더들(211-1~211-m)이 하이브리드 인코더(200)에 구현되더라도, 전-처리된 이미지 데이터(cf_pre)가 VBR 인코더들(211-1~211-m) 또는 CBR 인코더들 (231-1~231-m)로 선택적으로 전송됨에 따라 하나의 CBR 유닛에 대한 원하는 압축률은 항상 유지된다.
도 12에 도시된 바와 같이, 현재 프레임(cf_org)은 N(N은 자연수)개의 CBR 유닛들로 분리된다. 프레임 메모리(400)는 (N+1)개의 프레임 메모리 유닛들로 분리된다.
하나의 프레임 메모리 유닛의 크기는 원하는 압축률에 의해 나눠진 하나의 CBR 유닛의 크기와 같다. 즉, 하나의 프레임 메모리 유닛은 하나의 CBR 유닛에 대한 비트스트림을 저장한다.
프레임 메모리 컨트롤러(300)는 라이트 프레임 메모리 유닛 번호와 리드 프레임 메모리 유닛 번호를 생성한다.
현재 프레임(cf_org)은 하이브리드 인코더(200)에 의해 인코드되고, 하나의 CBR 유닛(CBRU)의 비트스트림은 프레임 메모리 컨트롤러(300)의 제어에 따라 프레임 메모리(400) 내의 하나의 프레임 메모리 유닛에 저장된다.
이와 동시에, 프레임 메모리(400) 내의 다른 하나의 프레임 메모리 유닛에 이미 저장된 이전 프레임의 하나의 CBR 유닛에 대한 비트스트림은 프레임 메모리 컨트롤러(300)의 제어에 따라 리드되어 하이브리드 디코더(500)로 전송된다.
하이브리드 디코더(500)는 리드된 CBR 유닛의 비트스트림을 디코드하고 디코드의 결과에 따라 디코드된 데이터, 즉 이전 프레임 압축 데이터(pf_compress)를 출력한다.
프레임 메모리(400)에 대한 오버라이트(overwrite)를 피하기 위해, 현재 프레임(cf_org)의 CBR 유닛의 비트스트림은 상기 CBR 유닛에 대응되는 이전 프레임의 CBR 유닛이 저장된 프레임 메모리 유닛에 라이트되면 안 된다.
도 13은 도 1에 도시된 프레임 메모리의 프레임 메모리 할당을 설명하기 위한 블록도를 나타낸다.
도 13은 프레임 메모리(400)에 대한 오버라이트를 피하기 위한 다양한 프레임 메모리 할당(allocation) 방법들 중에서 어느 하나를 예시적으로 나타낸다.
도 13에 도시된 바와 같이, 프레임마다 프레임 메모리(400)의 하나의 동일한 프레임 메모리 유닛에 대한 라이트 동작(WRITE)과 리드 동작(READ)은 동시에 수행되지 않는다.
도 14는 도 1에 도시된 동적 커패시턴스 보상 컨트롤러의 블록도를 나타낸다.
DCC 컨트롤러(600)는 제1스테이지 보상 회로(first stage compensation circuit; 610)와 제2스테이지 보상 회로(630)을 포함한다.
제1스테이지 보상 회로(610)는 현재 프레임(cf_org)과 이전 프레임 압축 데이터(pf_compress)에 기초하여 이전 프레임 기본 기준 값(pf_ref_base)을 생성하고, 현재 프레임(cf_org)에 기초하여 최종 평탄 레벨(sl)을 생성한다.
제1스테이지 보상 회로(610)는 움직임 추정 회로(motion estimation circuit; 612), 평탄 레벨 결정 회로(smoothness level determination circuit; 614), 및 기본 기준 값 결정 회로(base reference value determination circuit; 616)을 포함한다.
움직임 추정은 일관성없는(inconsistent) 양자화 레벨 때문에 화질(image quality)에 대한 이전 프레임 복원 값(pf_rec)의 변화들의 영향(effect of variations)을 줄이기 위해 사용된다.
도 15는 도 14에 도시된 움직임 추정 회로의 블록도를 나타낸다.
움직임 추정 회로(612)는 양자화기(612-1), 비교기(612-2), 및 조정된 복원된 값 결정 회로(612-3)를 포함한다.
양자화기(612-1)는 현재 프레임(cf_org)과 이전 프레임 압축 데이터 (pf_compress)에 포함된 양자화 레벨(pf_Q)을 수신하고, 노이즈(Noise)가 반영된 현재 프레임(cf_org)에 포함된 현재 픽셀(도 6의 i)의 픽셀 값(cf_org_i±Noise)을 이전 프레임 양자화 레벨(pf_Q)에 기초하여 양자화하고 양자화의 결과에 따라 생성된 양자화된 값을 비교기(612-2)로 출력한다.
비교기(612-2)는 양자화기(612-1)에 의해 양자화된 값과 이전 프레임 압축 데이터(pf_compress)에 포함된 복원 값(pf_rec)을 서로 비교하고, 비교의 결과에 따라 현재 픽셀(i)에 대한 "1" 또는 "0"을 움직임 정합 플래그(motion matched flag; matched_flag_i)로서 출력한다.
예컨대, 상기 양자화된 값과 복원 값(pf_rec)이 같을 때, 비교기(612-2)는 "1"을 현재 픽셀(i)에 대한 움직임 정합 플래그(matched_flag_i)로서 출력하고, 이외의 경우 비교기 (612-2)는 "0"을 현재 픽셀(i)에 대한 움직임 정합 플래그 (matched_flag_i)로서 출력한다.
비교기(612-2)는 수학식 8에 따라 현재 프레임(cf_org)의 현재 픽셀(i)의 픽셀 값(cf_org_i)에 대한 움직임 정합 플래그(matched_flag_i)를 계산한다.
[수학식 8]
Figure pat00008
여기서, Quantization()은 양자화기(612-1)의 동작을 함수로 표현한 것이고, 양자화기(612-1)의 동작은 도 7에 도시된 바와 같다.
예컨대, (cf_org_i±Noise)가 8-비트들, 즉 ABCDEFGH이고, pf_Q가 3일 때, Quantization(cf_org_i±Noise, pf_Q)는 ABCDE이다.
수학식 8에서, 잡음(Noise)은 실제 사용 환경에서 발생할 수 있는 것으로서, 현재 프레임(cf_org)이 전송되는 도중에 발생할 수 있다.
현재 프레임(cf_org)의 현재 픽셀(i)의 픽셀 값(cf_org_i)과 이전 프레임에서 현재 픽셀(i)에 대응되는 픽셀의 픽셀 값(pf_org_i)이 서로 완전히 동일하더라도, 잡음(Noise) 때문에 두 값들(cf_org_i와 pf_org_i)은 서로 달라질 수 있다.
이 경우, Quantization(cf_org_i, pf_Q)는 복원 값(pf_rec)과 같아질 수 없으므로, 잡음(Noise)을 추가하면 수학식 8이 적용된다. 즉, (Quantization(cf_org_i±Noise, pf_Q)는 잡음(Noise) 때문에 발생하는 움직임 추정의 불일치(inconsistency)를 제거할 수 있다.
조정된 복원된 값 결정 회로(612-3)는 수학식 9에 따라 이전 프레임 조정된 복원 값(pf_rec_tuned)을 결정한다.
[수학식 9]
Figure pat00009
여기서, "|"는 논리합(OR) 연산자를 의미한다. 따라서, 움직임 정합 플래그들({matched_flag_i})이 모두 "0"일 때, 조정된 복원된 값 결정 회로(612-3)는 이전 프레임 조정된 복원 값(previous frame tuned reconstructed value; pf_rec_tuned)을 이전 프레임 복원 값(pf_rec)으로 결정한다.
움직임 정합 플래그들({matched_flag_i})이 모두 "0"이 아닐 때, 조정된 복원된 값 결정 회로(612-3)는 이전 프레임 조정된 복원 값(pf_rec_tuned)을 검색 범위(SR) 내에서 이전 프레임 복원 값(pf_rec)과 매치되는 픽셀들 각각의 값의 평균값으로 결정한다.
도 16은 도 14에 도시된 움직임 추정 회로에서 사용되는 검색 범위를 나타낸다.
검색 범위(SR) 내의 픽셀들 각각의 픽셀 값을 저장하기 위한 라인 버퍼에 대한 요구와 계산 복잡성은 움직임 추정에서 미리 정의된 검색 영역(SR)이 증가함에 따라 급격히 증가한다. 따라서, 검색 범위(SR)는 적절하게 선택될 필요가 있다.
인간의 눈들은 평탄 영역들(smooth regions)에서는 왜곡들(distortions)에 민감하나, 상세한 영역들(detailed regions)에서는 왜곡들에 둔감하다.
최종 양자화 레벨들은 가장 높은 컨텍스트 복잡성을 갖는 영역들에서는 일치하고 낮은 컨텍스트 복잡성을 갖는 영역들에서는 일치하지 않는다.
LCD에 대한 좋은 응답 속도를 유지하는 동안, 평탄 레벨은 이전 프레임 기본 기준 값(pf_ref_base)을 생성하기 위해 사용될 수 있다.
도 17a부터 도 17c는 도 14에 도시된 평탄 레벨 결정 회로의 동작을 설명하기 위한 개념도이다.
도 17a에 도시된 바와 같이, 실제 평탄 영역(real smooth region) 또는 분명한 에지(clear edge)에서, 왜곡은 인간의 눈들에 보이므로, 상기 실제 평탄 영역과 상기 분명한 에지는 "평탄 영역(smooth region)"으로 정의된다.
도 17b는 4개의 픽셀들(m, n, i, 및 j)을 포함하는 예시적인 하나의 영역을 나타낸다.
평탄 레벨 결정 회로(614)는 현재 프레임(cf_org)의 현재 픽셀을 포함하는 영역들 각각에 대한 평탄 레벨(sld())을 계산하고, 상기 영역들 각각에 대한 평탄 레벨(sld()) 중에서 최소값을 최종 평탄 레벨(sl)로서 출력한다.
도 17c에는 현재 프레임(cf_org)의 현재 픽셀에 대한 최종 평탄 레벨 (sl)을 결정하는 방법을 설명하기 위한 8가지 경우들이 도시되어 있다.
평탄 레벨 결정 회로(614)는 수학식 10을 이용하여 각 영역에 대한 평탄 레벨(sld())을 결정하고, 수학식 11을 이용하여 최종 평탄 레벨(sl)을 결정한다.
[수학식 10]
Figure pat00010
sld()는 각 경우를 확인(checking)하기 위한 평탄 레벨을 의미하고, diff()는 두 개의 이웃 픽셀들의 픽셀 값들의 차이를 나타내고, th()는 문턱 전압들에 종속적인 픽셀 값을 나타내고, bias1, bias2, ..., 및 sld_MAX는 미리 정의된 값들을 나타낸다.
[수학식 11]
Figure pat00011
도 17c에는 8개의 경우들(t-cases; t=8)이 도시되어 있고, diff()는 굵은 실선 사이의 차이를 나타낸다.
기본 기준 값 결정 회로(616)는 움직임 추정 회로(612)로부터 출력된 이전 프레임 조정된 복원 값(pf_rec_tuned)과 움직임 정합 플래그들({matched_flag_i})과, 평탄 레벨 결정 회로(614)로부터 출력된 최종 평탄 레벨(sl)에 기초하여 이전 프레임 기본 기준 값(pf_ref_base)을 생성한다.
기본 기준 값 결정 회로(616)는 수학식 12에 따라 이전 프레임 기본 기준 값 (pf_ref_base)을 계산한다.
[수학식 12]
Figure pat00012
움직임 정합 플래그들({matched_flag_i}) 중에서 어느 하나라도 1일 때, 기본 기준 값 결정 회로(616)는 이전 프레임 조정된 복원 값(pf_rec_tuned)을 이전 프레임 기본 기준 값(pf_ref_base)으로서 출력한다.
그 외의 경우, 기본 기준 값 결정 회로(616)는 이전 프레임 조정된 복원 값 (pf_rec_tuned)과 검색 범위(도 16의 SR) 내의 현재 프레임(cf_org)의 원래 값 (cf_org_search_range)의 가중 합(weighted summation)에 기초하여 이전 프레임 기본 기준 값(pf_ref_base)을 계산한다.
수학식 12에 표현된 바와 같이, 가중치(weight)는 이전 프레임 조정된 복원 값(pf_rec_tuned)과 검색 범위(SR) 내의 현재 프레임의 원래 값 (cf_org_search_range) 사이의 차이와, 최종 평탄 레벨(sl)과 관련된다.
제2스테이지 보상 회로(630)는 현재 프레임(cf_org), 이전 프레임 압축 데이터(pf_compress), 및 이전 프레임 기본 기준 값(pf_ref_base)에 기초하여 이전 프레임 기준 값(pf_ref)을 계산한다.
제2스테이지 보상 회로(630)는 정지 검출(still detection(SD)) 회로(632), 이동 레벨 결정(movement level determination(MLD)) 회로(634), 및 최종 기준 값 결정(final reference value determination(FRVD)) 회로(636)를 포함한다.
SD 회로(632)는 현재 프레임(cf_org)과 이전 프레임 압축 데이터 (pf_compress)를 수신하고, 현재 프레임(cf_org)과 이전 프레임 사이에 이동이 있는지의 여부를 판단한다.
예컨대, 현재 프레임(cf_org)과 상기 이전 프레임 사이에 이동이 없으면, 즉, 상기 이전 프레임이 현재 프레임(cf_org)과 정합되면, SD 회로(632)는 수학식 13에 표현된 바와 같이 정지 플래그(still-flag)로서 "1"을 출력한다.
[수학식 13]
Figure pat00013
MLD 회로(634)는 이전 프레임 기본 기준 값(pf_ref_base), 현재 프레임 (cf_org), 정지 플래그(still_flag), 현재 프레임 압축 데이터(cf_compress), 이전 프레임 압축 데이터(pf_compress), 및 최종 평탄 레벨(sl)을 수신하고 수학식 14에 따라 이동 레벨(ml)을 계산한다.
[수학식 14]
Figure pat00014
예컨대, 정지 플래그(still_flag)가 "1"일 때, 이동 레벨(ml)은 "0"이다.
그 외의 경우, 이동 레벨(ml)은 이전 프레임의 픽셀에 대응되는 현재 프레임의 픽셀의 원래 값(cf_org_0)과 이전 프레임 기본 기준 값(pr_ref_base)의 차이와 조정 값(tuning(sl))에 의존적이다.
여기서, 수학식 15에 표현된 바와 같이 조정 값(tuning(sl))은 최종 평탄 레벨(sl)에 따라 결정된다.
[수학식 15]
Figure pat00015
수학식 15를 참조하면, 상세한 영역에서 왜곡은 보이지 않기 때문에, 더 높은 컨텍스트 복잡성을 갖는 영역들에서 더 높은 조정 값(tuning(sl))이 생성된다.
수학식 14와 수학식 15에서, 최대 이동 레벨(ml_MAX), 기준 상수값들(sl0, sl1, sl2, ..., ) 및 최대 조정 값(tuning_MAX)은 미리 정해진 값들이다.
FRVD 회로(636)는 이전 프레임 기본 기준 값(pf_ref_base), 현재 프레임 (cf_org), 및 이동 레벨(ml)을 수신하고 수학식 16에 따라 이전 프레임 기준 값 (pf_ref)을 계산한다.
[수학식 16]
Figure pat00016
도 18은 도 1에 도시된 오버드라이브 테이블의 일 실시 예를 나타낸다.
수학식 16에 표현된 바와 같이, 이동 레벨(ml)이 "0"일 때, 이전 프레임 기준 값(pf_ref)은 현재 프레임(cf_org)의 현재 픽셀의 픽셀 값(cf_org_cf_val)과 같다. 이 경우 오버드라이브의 효과는 없다. 즉, 도 18에 도시된 바와 같이, 각 값 (pf_ref과 cf_org_cf_val)이 128일 때, 서치 값(tbl.value)도 128이다.
이동 레벨(ml)이 최대 이동 레벨(ml_MAX)일 때, 이전 프레임 기준 값 (pf_ref)은 이전 프레임 기본 기준 값(pf_ref_base)과 같다. 이 경우, 이동 레벨 (ml)이 가장 크므로, 오버드라이브 효과가 가장 크다.
이동 레벨(ml)이 "0"부터 최대 이동 레벨(ml_MAX) 사이일 때, 이전 프레임 기준 값(pf_ref)은 현재 프레임(cf_org)의 현재 픽셀의 픽셀 값(cf_org_cf_val)과 이전 프레임 기본 기준 값(pf_ref_base)의 선형 조합 값이다.
도 18에 도시된 바와 같이, 오버드라이브 테이블(801)은 이전 프레임 기준 값(pf_ref)과 현재 프레임 현재 픽셀의 픽셀 값(cf_org_cp_val)에 대응되는 서치 값들(tbl.value) 또는 오버드라이브 픽셀 값들을 포함한다.
이전 프레임 기준 값(pf_ref)이 128이고, 현재 프레임 현재 픽셀의 픽셀 값 (cf_org_cp_val)이 128일 때, 서치 값(tbl.value)은 128이고, 오버드라이브 픽셀 값은 128이다. 따라서 오버-슛(over-shoot) 또는 언더-슛(under-shoot)이 필요하지 않다.
이전 프레임 기준 값(pf_ref)이 64이고, 현재 프레임 현재 픽셀의 픽셀 값 (cf_org_cp_val)이 192일 때, 서치 값(tbl.value)은 220이고, 오버드라이브 픽셀 값은 220이다. 따라서 오버-슛이 필요하다.
이전 프레임 기준 값(pf_ref)이 192이고, 현재 프레임 현재 픽셀의 픽셀 값 (cf_org_cp_val)이 64일 때, 서치 값(tbl.value)은 40이고, 오버드라이브 픽셀 값은 40이다. 따라서 언더-슛이 필요하다.
이전 프레임 기준 값(pf_ref)이 34이고, 현재 프레임 현재 픽셀의 픽셀 값 (cf_org_cp_val)이 56일 때, 서치 값들(tbl.value)은 OD1, OD2, OD3, 및 OD4이고, 테이블 서치 컨트롤러(700)는 서치 값들(tbl.value), 즉 OD1, OD2, OD3, 및 OD4을 보간하여 오버드라이브 픽셀 값(cf_od)을 생성한다.
테이블 서치 컨트롤러(700)는 보간 방법으로 선형 보간 방법을 사용할 수 있다.
도 19는 도 1에 도시된 디스플레이 컨트롤러를 포함하는 디스플레이 시스템의 실시 예들을 나타낸다.
도 1부터 도 19를 참조하면, 디스플레이 시스템(100)은 하이브리드 이미지 압축 회로(111)를 포함하는 디스플레이 컨트롤러(110), 디스플레이(120), CPU (central processing unit; 130), 및 메모리(140)를 포함한다.
디스플레이 컨트롤러(110)는 디스플레이(120), 예컨대 LCD의 빠른 응답 속도를 위해 현재 프레임(cf_org)의 현재 픽셀의 픽셀 값을 얼마나 오버드라이브(예컨대 오버-슛 또는 언더-슛)할지를 결정한다.
CPU(130)는 디스플레이 시스템(100)의 동작을 제어한다.
메모리(140)는 이전 프레임 또는 현재 프레임을 디스플레이 컨트롤러 (110)로 제공하는 데이터 소스(data source)의 기능을 수행한다.
메모리(140)는 휘발성 메모리 장치 또는 불휘발성 메모리 장치로 구현될 수 있다.
도 20은 도 1 또는 도 19에 도시된 디스플레이 시스템의 동작 방법을 설명하기 위한 흐름도이다.
도 1부터 도 20을 참조하면, 하이브리드 이미지 압축 회로(111)는 현재 프레임(cf_org)을 가변 비트율 인코딩 방법 또는 고정 비트율 인코딩 방법을 이용하여 압축하고 현재 프레임 압축 데이터(cf_compress)와 현재 원래 프레임 비트스트림 (cf_bitstream)을 출력한다(S100).
하이브리드 이미지 압축 회로(111)는 현재 프레임 비트스트림 (cf_bitstream)을 프레임 메모리(400)에 라이트하는 동시에 프레임 메모리(400)로부터 이전 프레임 비트스트림(pf_bitstream)을 리드한다(S110).
하이브리드 이미지 압축 회로(111)는 이전 프레임 비트스트림(pf_bitstream)을 디코딩하여 이전 프레임 압축 데이터(pf_compress)를 출력한다(S120).
하이브리드 이미지 압축 회로(111)는 현재 프레임(cf_org), 현재 프레임 압축 데이터(cf_compress), 및 이전 프레임 압축 데이터(pf_compress)에 기초하여 이전 프레임 기준 값(pf_ref)을 출력한다(S130).
하이브리드 이미지 압축 회로(111)는 현재 프레임(cf_org)의 현재 픽셀의 픽셀 값(cf_org_cp_val)과 이전 프레임 기준 값(pf_ref)에 기초하여 현재 픽셀에 대해 오버드라이브 픽셀 값을 포함하는 현재 오버드라이브된 프레임(cf_od)을 생성한다(S140).
따라서, LCD(120)는 하이브리드 이미지 압축 회로(111)로부터 출력된 현재 오버드라이브된 프레임(cf_od)을 디스플레이한다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100; 디스플레이 시스템
110; 디스플레이 컨트롤러
111; 하이브리드 이미지 압축 회로
200; 하이브리드 인코더
300; 프레임 메모리 컨트롤러
400; 프레임 메모리
500; 하이브리드 디코더
600; 동적 커패시턴스 보상 회로
700; 테이블 서치 컨트롤러
800; 메모리
801; 오버드라이브 테이블
900; 디스플레이 드라이버 인터페이스
120; 디스플레이

Claims (20)

  1. 현재 프레임을 압축하고 현재 프레임 압축 데이터와 현재 프레임 비트스트림을 출력하는 인코더;
    상기 현재 프레임 비트스트림을 프레임 메모리에 라이트하는 동시에 상기 프레임 메모리로부터 이전 프레임 비트스트림을 리드하는 프레임 메모리 컨트롤러;
    상기 이전 프레임 비트스트림을 디코딩하여 이전 프레임 압축 데이터를 출력하는 디코더;
    상기 현재 프레임, 상기 현재 프레임 압축 데이터, 및 상기 이전 프레임 압축 데이터에 기초하여 이전 프레임 기준 값을 출력하는 동적 커패시턴스 보상 컨트롤러; 및
    상기 현재 프레임의 현재 픽셀의 픽셀 값과 상기 이전 프레임 기준 값에 기초하여 상기 현재 픽셀에 대한 오버드라이브 픽셀 값을 포함하는 현재 오버드라이브된 프레임을 생성하는 오버드라이브 회로를 포함하는 이미지 압축 회로.
  2. 제1항에 있어서, 상기 인코더는,
    가변 비트율 인코딩 방법과 고정 비트율 인코딩 방법 중에서 어느 하나를 사용하여 상기 현재 프레임을 압축하고 상기 현재 프레임 압축 데이터와 상기 현재 프레임 비트스트림을 출력하는 이미지 압축 회로.
  3. 제1항에 있어서, 상기 인코더는,
    상기 현재 프레임을 전-처리하여 전-처리된 이미지 데이터를 생성하는 전-처리 회로;
    상기 전-처리된 이미지 데이터에 포함된 요소들을 가변 비트율(variable bit rate(VBR))로 인코드하는 VBR 인코더들;
    상기 요소들을 고정 비트율(constant bit rate(CBR))로 인코드하는 CBR 인코더들;
    제1스위치 신호에 응답하여 상기 요소들을 상기 VBR 인코더들 또는 상기 CBR 인코더들로 전송하는 제1스위치 회로;
    상기 제1스위치 신호에 응답하여, 상기 VBR 인코더들 각각으로부터 출력된 요소 압축 데이터와 요소 비트스트림을 출력하거나 또는 상기 CBR 인코더들 각각으로부터 출력된 요소 압축 데이터와 요소 비트스트림을 출력하는 제2스위치 회로;
    상기 제2스위치 회로로부터 출력된 상기 요소들 각각에 대한 상기 요소 비트스트림을 누산하여 전 요소 누산 비트들을 생성하는 누산기;
    상기 전 요소 누산 비트들에 기초하여 상기 제1스위치 신호를 생성하는 제1스위치 컨트롤러; 및
    상기 제2스위치 회로로부터 출력된 상기 요소들 각각에 대한 상기 요소 비트스트림을 병합하여 상기 현재 프레임 비트스트림을 생성하는 정돈된 비트스트림 병합 회로를 포함하며,
    상기 현재 프레임 압축 데이터는 상기 요소들 각각에 대한 상기 요소 압축 데이터를 포함하는 이미지 압축 회로.
  4. 제3항에 있어서, 상기 VBR 인코더들 각각은,
    최종 양자화 레벨에 기초하여 상기 요소들 중에서 대응되는 요소를 양자화하여 양자화된 값을 생성하고, 상기 최종 양자화 레벨에 기초하여 상기 양자화된 값을 역-양자화하여 상기 대응되는 요소에 대한 상기 요소 압축 데이터를 생성하는 양자화 회로; 및
    서로 다른 인코딩 방법들을 수행하는 코더들(coders) 중의 어느 하나를 이용하여 상기 양자화된 값을 인코딩하여 상기 대응되는 요소에 대한 상기 요소 비트스트림을 생성하는 코딩 회로를 포함하는 이미지 압축 회로.
  5. 제4항에 있어서,
    상기 요소들은 YCbCr 요소들, YUV 요소들, 또는 YCoCg 요소들인 이미지 압축 회로.
  6. 제4항에 있어서, 상기 양자화 회로는,
    상기 대응되는 요소에 대한 상기 현재 픽셀의 주변 픽셀들 각각의 픽셀 값의 차이들을 이용하여 상기 주변 픽셀들을 포함하는 영역에 대한 컨텍스트-기반 양자화 레벨을 결정하는 컨텍스트-기반 양자화 레벨 결정 회로;
    상기 대응되는 요소에 대한 상기 요소 비트스트림의 누산 결과에 기초하여 레이트-기반 양자화 레벨을 결정하는 레이트-기반 양자화 레벨 결정 회로;
    상기 컨텍스트-기반 양자화 레벨과 상기 레이트-기반 양자화 레벨의 비교 결과에 기초하여 제2스위치 신호를 생성하는 제2스위치 컨트롤러;
    상기 제2스위치 신호에 기초하여 상기 컨텍스트-기반 양자화 레벨 또는 상기 레이트-기반 양자화 레벨을 상기 최종 양자화 레벨로서 출력하는 제3스위치 회로;
    상기 최종 양자화 레벨에 기초하여 상기 대응되는 요소를 양자화하여 상기 양자화된 값을 생성하는 양자화기; 및
    상기 최종 양자화 레벨에 기초하여 상기 양자화된 값을 역-양자화하여 상기 대응되는 요소에 대한 상기 요소 압축 데이터를 생성하는 역-양자화기를 포함하는 이미지 압축 회로.
  7. 제4항에 있어서, 상기 코딩 회로는,
    상기 양자화된 값에 상응하는 상기 현재 픽셀의 주변 픽셀들 각각의 픽셀 값에 기초하여 제2스위치 신호를 생성하는 제2스위치 컨트롤러;
    상기 제2스위치 신호에 기초하여 상기 양자화된 값을 상기 코더들 중의 상기 어느 하나로 전송하는 제3스위치 회로;
    상기 제2스위치 신호에 기초하여 상기 코더들 중의 상기 어느 하나로부터 출력된 상기 대응되는 요소에 대한 상기 비트 스트림을 출력하는 제4스위치 회로; 및
    상기 제4스위치 회로로부터 출력된 상기 대응되는 요소에 대한 상기 요소 비트스트림을 누산하고 상기 누산 결과를 출력하는 상기 레이트-기반 양자화 레벨 결정 회로로 출력하는 누산기를 포함하는 이미지 압축 회로.
  8. 제4항에 있어서,
    상기 코더들은 골룸 코더(Golomb coder)와 반복 길이 코더(run-length coder)를 포함하는 이미지 압축 회로.
  9. 제3항에 있어서, 상기 CBR 인코더들 각각은,
    상기 요소들 중에서 대응되는 요소에 대한 상기 현재 픽셀의 주변 픽셀들 각각의 픽셀 값의 차이들을 이용하여 상기 주변 픽셀들을 포함하는 영역에 대한 컨텍스트-기반 양자화 레벨을 결정하는 컨텍스트-기반 양자화 레벨 결정 회로;
    상기 컨텍스트-기반 양자화 레벨에 따라 제2스위치 신호를 생성하는 제2스위치 컨트롤러;
    상기 제2스위치 신호에 기초하여 상기 대응되는 요소를 제1양자화기 또는 평균 회로로 전송하는 제3스위치 회로;
    제1양자화 레벨을 갖는 상기 컨텍스트-기반 양자화 레벨에 기초하여 상기 제1양자화기로부터 출력된 제1양자화된 값을 역-양자화하여 상기 대응되는 요소에 대한 상기 요소 압축 데이터를 생성하는 제1역-양자화기;
    제2양자화 레벨을 갖는 상기 컨텍스트-기반 양자화 레벨에 기초하여 상기 평균 회로의 출력 신호를 양자화하여 제2양자화된 값을 출력하는 제2양자화기;
    상기 제2양자화 레벨을 갖는 상기 컨텍스트-기반 양자화 레벨에 기초하여 상기 제2양자화된 값을 역-양자화하여 상기 대응되는 요소에 대한 상기 요소 압축 데이터를 생성하는 제2역-양자화기;
    상기 제2스위치 신호에 기초하여 상기 제1역-양자화기의 출력 신호 또는 상기 제2역-양자화기의 출력 신호를 상기 대응되는 요소에 대한 상기 요소 압축 데이터를 상기 제2스위치 회로로 출력하는 제4스위치 회로;
    상기 제2스위치 신호에 기초하여 상기 제1양자화된 값 또는 상기 제2양자화된 값을 상기 대응되는 요소에 대한 상기 요소 비트스트림을 상기 제2스위치 회로로 출력하는 제5스위치 회로를 포함하며,
    상기 제1양자화기는 상기 제1양자화 레벨을 갖는 상기 컨텍스트-기반 양자화 레벨에 기초하여 상기 대응되는 요소를 양자화하여 상기 제1양자화된 값을 출력하고,
    상기 평균 회로는 상기 현재 픽셀의 상기 픽셀 값과 상기 현재 픽셀의 다음 픽셀의 픽셀 값을 평균하는 이미지 압축 회로.
  10. 제9항에 있어서,
    상기 제1양자화 레벨은 최대 양자화 레벨이고,
    상기 제2양자화 레벨은 상기 최대 양자화 레벨보다 1작은 이미지 압축 회로.
  11. 제3항에 있어서,
    상기 정돈된 비트스트림 병합 회로는,
    각각이 상기 요소들 각각에 대한 요소 비트스트림을 저장하는 비트 버퍼들; 및
    상기 비트 버퍼들 각각이 가득 찰 때마다 상기 비트 버퍼들 각각으로부터 출력된 상기 요소들 각각에 대한 상기 요소 비트스트림을 상기 현재 프레임 비트스트림으로 병합하는 병합 회로를 포함하는 이미지 압축 회로.
  12. 제1항에 있어서,
    상기 프레임 메모리가 프레임 메모리 유닛들을 포함할 때,
    상기 프레임 메모리 컨트롤러는 상기 현재 비트스트림을 상기 프레임 메모리 유닛들 중에서 어느 하나에 라이트하는 동시에 상기 프레임 메모리 유닛들 중에서 다른 하나로부터 상기 이전 프레임 비트스트림을 리드하는 이미지 압축 회로.
  13. 제1항에 있어서, 상기 동적 커패시턴스 보상 회로는,
    상기 현재 프레임에 기초하여 최종 평탄 레벨을 생성하고, 상기 현재 프레임, 상기 이전 프레임 압축 데이터, 및 상기 최종 평탄 레벨에 기초하여 이전 프레임 기본 기준 값을 생성하는 제1스테이지 보상 회로; 및
    상기 이전 프레임 기본 기준 값, 상기 현재 프레임, 상기 현재 프레임 압축 데이터, 상기 이전 프레임 압축 데이터, 및 상기 최종 평탄 레벨에 기초하여 상기 이전 프레임 기준 값을 생성하는 제2스테이지 보상 회로를 포함하는 이미지 압축 회로.
  14. 제1항에 있어서, 상기 오버드라이브 회로는,
    오버드라이브 픽셀 값들을 저장하는 오버드라이브 테이블;
    상기 오버드라이브 픽셀 값들 중에서 상기 현재 픽셀의 상기 픽셀 값과 상기 이전 프레임 기준 값에 대응되는 적어도 하나를 서치 값으로 리드하고, 상기 적어도 하나의 서치 값에 기초하여 상기 현재 픽셀에 대해 상기 오버드라이브 픽셀 값을 포함하는 상기 현재 오버드라이브된 프레임을 생성하는 테이블 서치 컨트롤러; 및
    상기 현재 오버드라이브된 프레임을 디스플레이로 전송하는 디스플레이 드라이버 인터페이스를 포함하는 이미지 압축 회로.
  15. 제14항에 있어서,
    상기 적어도 하나의 서치 값이 복수의 서치 값들일 때, 상기 테이블 서치 컨트롤러는 상기 복수의 서치 값들을 보간하여 상기 오버드라이브 픽셀 값을 생성하는 이미지 압축 회로.
  16. 현재 픽셀에 대해 오버드라이브 픽셀 값을 포함하는 현재 오버드라이브된 프레임을 디스플레이하는 LCD(liquid crystal display); 및
    상기 현재 오버드라이브된 프레임을 생성하는 이미지 압축 회로를 포함하며,
    상기 이미지 압축 회로는,
    현재 프레임을 압축하고 현재 프레임 압축 데이터와 현재 프레임 비트스트림을 출력하는 인코더;
    상기 현재 프레임 비트스트림을 프레임 메모리에 라이트하는 동시에 상기 프레임 메모리로부터 이전 프레임 비트스트림을 리드하는 프레임 메모리 컨트롤러;
    상기 이전 프레임 비트스트림을 디코딩하여 이전 프레임 압축 데이터를 출력하는 디코더;
    상기 현재 프레임, 상기 현재 프레임 압축 데이터, 및 상기 이전 프레임 압축 데이터에 기초하여 이전 프레임 기준 값을 출력하는 동적 커패시턴스 보상 컨트롤러; 및
    상기 현재 프레임의 현재 픽셀의 픽셀 값과 상기 이전 프레임 기준 값에 기초하여 상기 오버드라이브 픽셀 값을 포함하는 상기 현재 오버드라이브된 프레임을 생성하는 오버드라이브 회로를 포함하는 디스플레이 시스템.
  17. 제16항에 있어서, 상기 인코더는,
    상기 현재 프레임을 전-처리하여 전-처리된 이미지 데이터를 생성하는 전-처리 회로;
    상기 전-처리된 이미지 데이터에 포함된 요소들을 가변 비트율(variable bit rate(VBR))로 인코드하는 VBR 인코더들;
    상기 요소들을 고정 비트율(constant bit rate(CBR))로 인코드하는 CBR 인코더들;
    스위치 신호에 응답하여 상기 요소들을 상기 VBR 인코더들 또는 상기 CBR 인코더들로 전송하는 제1스위치 회로;
    상기 스위치 신호에 응답하여, 상기 VBR 인코더들 각각으로부터 출력된 요소 압축 데이터와 요소 비트스트림을 출력하거나 또는 상기 CBR 인코더들 각각으로부터 출력된 요소 압축 데이터와 요소 비트스트림을 출력하는 제2스위치 회로;
    상기 제2스위치 회로로부터 출력된 상기 요소들 각각에 대한 상기 요소 비트스트림을 누산하여 전 요소 누산 비트들을 생성하는 누산기;
    상기 전 요소 누산 비트들에 기초하여 상기 스위치 신호를 생성하는 스위치 컨트롤러; 및
    상기 제2스위치 회로로부터 출력된 상기 요소들 각각에 대한 상기 요소 비트스트림을 병합하여 상기 현재 프레임 비트스트림을 생성하는 정돈된 비트스트림 병합 회로를 포함하며,
    상기 현재 프레임 압축 데이터는 상기 요소들 각각에 대한 상기 요소 압축 데이터를 포함하는 디스플레이 시스템.
  18. 제16항에 있어서,
    상기 프레임 메모리가 프레임 메모리 유닛들을 포함할 때,
    상기 프레임 메모리 컨트롤러는 상기 현재 비트스트림을 상기 프레임 메모리 유닛들 중에서 어느 하나에 라이트하는 동시에 상기 프레임 메모리 유닛들 중에서 다른 하나로부터 상기 이전 프레임 비트스트림을 리드하는 디스플레이 시스템.
  19. 제16항에 있어서, 상기 동적 커패시턴스 보상 회로는,
    상기 현재 프레임에 기초하여 최종 평탄 레벨을 생성하고, 상기 현재 프레임, 상기 이전 프레임 압축 데이터, 및 상기 최종 평탄 레벨에 기초하여 이전 프레임 기본 기준 값을 생성하는 제1스테이지 보상 회로; 및
    상기 이전 프레임 기본 기준 값, 상기 현재 프레임, 상기 현재 프레임 압축 데이터, 상기 이전 프레임 압축 데이터, 및 상기 최종 평탄 레벨에 기초하여 상기 이전 프레임 기준 값을 생성하는 제2스테이지 보상 회로를 포함하는 디스플레이 시스템.
  20. 제16항에 있어서, 상기 오버드라이브 회로는,
    오버드라이브 픽셀 값들을 저장하는 오버드라이브 테이블;
    상기 오버드라이브 픽셀 값들 중에서 상기 현재 픽셀의 상기 픽셀 값과 상기 이전 프레임 기준 값에 대응되는 적어도 하나를 서치 값으로 리드하고, 상기 적어도 하나의 서치 값에 기초하여 상기 현재 픽셀에 대해 상기 오버드라이브 픽셀 값을 포함하는 상기 현재 오버드라이브된 프레임을 생성하는 테이블 서치 컨트롤러; 및
    상기 현재 오버드라이브된 프레임을 디스플레이로 전송하는 디스플레이 드라이버 인터페이스를 포함하는 디스플레이 시스템.
KR1020120101506A 2012-09-13 2012-09-13 이미지 압축 회로와 이를 포함하는 디스플레이 시스템 KR20140037309A (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020120101506A KR20140037309A (ko) 2012-09-13 2012-09-13 이미지 압축 회로와 이를 포함하는 디스플레이 시스템
JP2013163311A JP2014057299A (ja) 2012-09-13 2013-08-06 イメージ圧縮回路
TW102132965A TW201423664A (zh) 2012-09-13 2013-09-12 影像壓縮電路
EP13184107.4A EP2720465A1 (en) 2012-09-13 2013-09-12 Image compression circuit
CN201310416794.5A CN103686168A (zh) 2012-09-13 2013-09-13 图像压缩电路、包括它的显示系统、和操作该显示系统的方法
US14/026,478 US20140071143A1 (en) 2012-09-13 2013-09-13 Image Compression Circuit, Display System Including the Same, and Method of Operating the Display System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120101506A KR20140037309A (ko) 2012-09-13 2012-09-13 이미지 압축 회로와 이를 포함하는 디스플레이 시스템

Publications (1)

Publication Number Publication Date
KR20140037309A true KR20140037309A (ko) 2014-03-27

Family

ID=49150852

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120101506A KR20140037309A (ko) 2012-09-13 2012-09-13 이미지 압축 회로와 이를 포함하는 디스플레이 시스템

Country Status (6)

Country Link
US (1) US20140071143A1 (ko)
EP (1) EP2720465A1 (ko)
JP (1) JP2014057299A (ko)
KR (1) KR20140037309A (ko)
CN (1) CN103686168A (ko)
TW (1) TW201423664A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9886916B2 (en) 2014-12-29 2018-02-06 Samsung Display Co., Ltd. Display device including a dynamic capacitance compensation lookup table

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170374361A1 (en) * 2015-01-28 2017-12-28 Beamr Imaging Ltd. Method and System Of Controlling A Video Content System
TWI617182B (zh) * 2016-07-07 2018-03-01 Image coding method and device
CN107845358B (zh) * 2016-09-20 2021-04-27 联咏科技股份有限公司 显示器驱动设备和显示器驱动方法
WO2018200993A1 (en) * 2017-04-28 2018-11-01 Zermatt Technologies Llc Video pipeline
DE102018112215B3 (de) * 2018-04-30 2019-07-25 Basler Ag Quantisiererbestimmung, computerlesbares Medium und Vorrichtung, die mindestens zwei Quantisierer implementiert
US10769039B2 (en) * 2018-12-03 2020-09-08 Himax Technologies Limited Method and apparatus for performing display control of a display panel to display images with aid of dynamic overdrive strength adjustment
US11557237B2 (en) * 2020-11-30 2023-01-17 Himax Technologies Limited Overdrive method and circuit
CN113742003B (zh) * 2021-09-15 2023-08-22 深圳市朗强科技有限公司 一种基于fpga芯片的程序代码执行方法及设备
US11984091B2 (en) * 2021-09-24 2024-05-14 Apple Inc. Frame replay with selectable taps
TWI790879B (zh) * 2021-12-28 2023-01-21 奇景光電股份有限公司 液晶顯示器及其過驅動系統
CN118037584B (zh) * 2024-04-12 2024-06-14 禹创半导体(深圳)有限公司 一种基于过驱动的图像边界平滑方法、设备及介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6829301B1 (en) * 1998-01-16 2004-12-07 Sarnoff Corporation Enhanced MPEG information distribution apparatus and method
WO2000065842A1 (en) * 1999-04-23 2000-11-02 Sony Corporation Image encoder and its method
US8049691B2 (en) * 2003-09-30 2011-11-01 Sharp Laboratories Of America, Inc. System for displaying images on a display
US7535959B2 (en) * 2003-10-16 2009-05-19 Nvidia Corporation Apparatus, system, and method for video encoder rate control
EP2328351B1 (en) * 2004-02-06 2017-03-22 Apple Inc. Rate and quality controller for H.264/AVC video coder and scene analyzer therefor
US20060164365A1 (en) * 2005-01-25 2006-07-27 Chung-Hsun Huang Overdrive device and method thereof
JP4169768B2 (ja) * 2006-02-24 2008-10-22 三菱電機株式会社 画像符号化装置、画像処理装置、画像符号化方法、及び画像処理方法
US20070280294A1 (en) * 2006-05-31 2007-12-06 Modulus Video, Inc. Constrained Fidelity Constant Bit Rate Video Encoding Systems and Methods
JP5080132B2 (ja) * 2006-06-12 2012-11-21 三星電子株式会社 データ補償回路及びこれを有する表示装置
JP4190551B2 (ja) * 2006-07-18 2008-12-03 三菱電機株式会社 画像処理装置、画像処理方法、画像符号化装置、および画像符号化方法
JP2010049014A (ja) * 2008-08-21 2010-03-04 Sony Corp 液晶表示装置
KR101600442B1 (ko) * 2008-12-24 2016-03-08 삼성디스플레이 주식회사 액정 표시 장치 및 그 구동 방법
JP2011013632A (ja) * 2009-07-06 2011-01-20 Renesas Electronics Corp 表示装置、画像表示方法
JP5358482B2 (ja) * 2010-02-24 2013-12-04 株式会社ルネサスエスピードライバ 表示駆動回路
KR101825214B1 (ko) * 2011-06-17 2018-03-15 삼성디스플레이 주식회사 액정 표시 장치 및 그 구동 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9886916B2 (en) 2014-12-29 2018-02-06 Samsung Display Co., Ltd. Display device including a dynamic capacitance compensation lookup table

Also Published As

Publication number Publication date
CN103686168A (zh) 2014-03-26
TW201423664A (zh) 2014-06-16
US20140071143A1 (en) 2014-03-13
JP2014057299A (ja) 2014-03-27
EP2720465A1 (en) 2014-04-16

Similar Documents

Publication Publication Date Title
KR20140037309A (ko) 이미지 압축 회로와 이를 포함하는 디스플레이 시스템
US9299166B2 (en) Image compression method and apparatus for bandwidth saving
US8687702B2 (en) Remote transmission and display of video data using standard H.264-based video codecs
US8285037B2 (en) Compression format and apparatus using the new compression format for temporarily storing image data in a frame memory
US6980695B2 (en) Rate allocation for mixed content video
CN111837384A (zh) 用于图像压缩的频率分量选择
KR101599888B1 (ko) 적응적 영상 데이터 압축 방법 및 장치
US20170094291A1 (en) Re-encoding image sets using frequency-domain differences
KR20070037248A (ko) 영상 부호화장치 및 방법, 영상 복호화장치 및 방법과 이를채용한 디스플레이 구동회로 및 방법
EP1613092A2 (en) Fixed budget frame buffer compression using block-adaptive spatio-temporal dispersed dither
US20140010445A1 (en) System And Method For Image Compression
US20160191924A1 (en) Transmission bit-rate control in a video encoder
Chawla et al. Image compression techniques: a review
CN108289223B (zh) 一种用于液晶屏过驱动装置中的图像压缩方法及装置
US20050129110A1 (en) Coding and decoding method and device
US8744202B2 (en) Apparatus and method for coding image
CN113497939B (zh) 用于对数据进行编码的方法和编码器
KR102603110B1 (ko) 영상 압축 장치 및 영상 압축 해제 장치
KR20160099585A (ko) 고명암비 이미지를 인코딩하는 방법 및 디바이스
US20110243437A1 (en) System and method for image compression
Kim et al. Implementation of DWT-based adaptive mode selection for LCD overdrive
Singh et al. A brief introduction on image compression techniques and standards
US11854235B1 (en) Lossless integer compression scheme
CN100375516C (zh) 一种视频图像的存储及显示方法
US10051279B2 (en) High quality display system combining compressed frame buffer and temporal compensation technique

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid