KR102264161B1 - 이미지 처리 장치, 이미지 처리 시스템, 이미지 처리 시스템의 동작방법 및 이미지 처리 시스템을 포함하는 시스템 온 칩 - Google Patents
이미지 처리 장치, 이미지 처리 시스템, 이미지 처리 시스템의 동작방법 및 이미지 처리 시스템을 포함하는 시스템 온 칩 Download PDFInfo
- Publication number
- KR102264161B1 KR102264161B1 KR1020140109039A KR20140109039A KR102264161B1 KR 102264161 B1 KR102264161 B1 KR 102264161B1 KR 1020140109039 A KR1020140109039 A KR 1020140109039A KR 20140109039 A KR20140109039 A KR 20140109039A KR 102264161 B1 KR102264161 B1 KR 102264161B1
- Authority
- KR
- South Korea
- Prior art keywords
- pixel data
- bit
- memory
- bits
- data
- Prior art date
Links
Images
Classifications
-
- 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
- H04N19/423—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 characterised by memory arrangements
- H04N19/426—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 characterised by memory arrangements using memory downsizing methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
Abstract
이미지 처리 장치, 이미지 처리 시스템, 이미지 처리 시스템의 동작방법 및 이미지 처리 시스템을 포함하는 시스템 온 칩이 개시된다. 본 발명의 일 실시예에 따른 제1 이미지 처리 장치를 포함하는 이미지 처리 시스템에서, 상기 제1 이미지 처리 장치는, 다수의 픽셀들을 포함하고 각각의 픽셀은 (M+N) 비트의 픽셀 데이터를 포함하는 이미지 신호에 대해, M 비트의 픽셀 데이터와 N 비트의 픽셀 데이터가 메모리의 서로 다른 영역에 저장되도록 제공하는 데이터 제공 유닛을 구비하는 것을 특징으로 한다.
Description
본 발명은 이미지 처리 장치에 관한 것으로서, 자세하게는 이미지 처리 장치, 이미지 처리 시스템, 이미지 처리 시스템의 동작방법 및 이미지 처리 시스템을 포함하는 시스템 온 칩에 관한 것이다.
고해상도 또는 고화질 이미지를 재생, 저장할 수 있는 하드웨어의 개발 및 보급에 따라, 고해상도 또는 고화질의 이미지 신호를 효과적으로 처리할 필요가 있다. 이미지 신호를 처리함에 있어서, 이미지 처리 장치는 처리가 요구되는 이미지 신호를 수신하고 처리가 완료된 이미지 신호를 출력할 수 있다. 이와 같은 처리가 요구되거나 처리가 완료된 이미지 신호는 시스템 버스를 통해 메모리로부터 또는 메모리로 억세스될 수 있다.
이미지 신호에 포함되는 픽셀들 각각은 다수 비트의 픽셀 데이터를 포함할 수 있으며, 신호 처리 특성에 따라 송수신되는 비트 수는 가변될 수 있다. 이와 같은 가변 비트 특성의 이미지 신호가 프로세서들 사이에서 효율적으로 전송될 필요가 있다.
본 발명의 기술적 사상은, 가변 비트 특성의 이미지 신호를 효율적으로 처리하는 이미지 처리 장치, 이미지 처리 시스템, 이미지 처리 시스템의 동작방법 및 이미지 처리 시스템을 포함하는 시스템 온 칩을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 이미지 처리 시스템은, 다수의 픽셀들을 포함하고 각각의 픽셀은 (M+N) 비트의 픽셀 데이터를 포함하는 이미지 신호를 처리하는 제1 이미지 처리 장치 및 상기 제1 이미지 처리 장치의 제어에 따라 메모리의 억세스를 수행하는 메모리 콘트롤 유닛을 구비하고, 상기 제1 이미지 처리 장치는, 상기 (M+N) 비트의 픽셀 데이터를 상기 메모리로 제공함과 함께, M 비트의 픽셀 데이터가 저장될 위치를 나타내는 제1 어드레스와 N 비트의 픽셀 데이터가 저장될 위치를 나타내는 제2 어드레스를 제공하는 데이터 제공 유닛을 포함하는 것을 특징으로 한다.
바람직하게는, 상기 데이터 제공 유닛은, M 비트 또는 M 비트의 배수에 해당하는 밴드 폭(Bandwidth)을 갖는 데이터 버스를 통해 상기 (M+N) 비트의 픽셀 데이터를 상기 메모리로 제공하는 것을 특징으로 한다.
또한 바람직하게는, 상기 데이터 제공 유닛은, 하나 이상의 픽셀들의 M 비트의 픽셀 데이터를 상기 데이터 버스를 통해 상기 메모리로 제공하고 난 후, 적어도 두 개의 픽셀들의 N 비트의 픽셀 데이터를 포함하는 그룹 단위로 상기 픽셀들의 N 비트의 픽셀 데이터를 상기 데이터 버스를 통해 상기 메모리로 제공하는 것을 특징으로 한다.
또한 바람직하게는, 상기 제1 이미지 처리 장치는, 상기 M 비트의 픽셀 데이터와 N 비트의 픽셀 데이터를 독출하기 위한 하나 이상의 어드레스를 제공함에 따라, 상기 메모리로부터 M 비트의 픽셀 데이터와 N 비트의 픽셀 데이터를 수신하고, (M+N) 비트 단위로 로직을 수행하는 데이터 수신 유닛을 더 구비하는 것을 특징으로 한다.
또한 바람직하게는, 상기 제1 이미지 처리 장치는, 상기 M 비트의 픽셀 데이터를 독출하기 위한 어드레스를 제공함에 따라 상기 메모리로부터 상기 M 비트의 픽셀 데이터를 수신하고, M 비트 단위로 로직을 수행하는 데이터 수신 유닛을 더 구비하는 것을 특징으로 한다.
또한 바람직하게는, 상기 제1 이미지 처리 장치는, 상기 (M+N) 비트의 픽셀 데이터를 제1 픽셀 데이터로서 이용한 제1 신호 처리를 수행하고, 상기 제1 신호 처리 결과에 따라 제2 픽셀 데이터를 생성하며, 상기 제1 픽셀 데이터의 적어도 일부와 상기 제2 픽셀 데이터의 적어도 일부를 상기 (M+N) 비트의 픽셀 데이터로서 상기 메모리로 제공하는 코덱 모듈인 것을 특징으로 한다.
또한 바람직하게는, 상기 데이터 제공 유닛은, 인코딩된 신호에 대한 디코딩 동작을 수행하여 상기 이미지 신호를 생성하는 디코딩 유닛 및 상기 이미지 신호의 다수의 픽셀들에 대한 디더링 동작을 수행하여 상기 제2 픽셀 데이터를 생성하는 디더링 유닛을 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 데이터 제공 유닛은, 디더링 처리된 M 비트의 제2 픽셀 데이터와 디더링 처리되지 않은 N 비트의 제1 픽셀 데이터를 상기 메모리로 제공하는 것을 특징으로 한다.
또한 바람직하게는, 상기 코덱 모듈은, 상기 메모리로부터 독출된 N 비트의 제1 픽셀 데이터와 M 비트의 제2 픽셀 데이터를 수신하는 데이터 수신 유닛을 더 구비하는 것을 특징으로 한다.
또한 바람직하게는, 상기 데이터 수신 유닛은, 상기 M 비트의 제2 픽셀 데이터에 대해 인버스-디더링 동작을 수행하여 상기 제1 픽셀 데이터를 복원하는 인버스-디더링 유닛 및 상기 복원된 제1 픽셀 데이터와 상기 메모리로부터 독출된 N 비트의 제1 픽셀 데이터를 조합하여 참조 이미지를 생성하는 참조 이미지 생성부를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 이미지 처리 시스템은, 상기 메모리의 특정 영역에 저장된 픽셀 데이터를 수신하여 이를 처리하는 제2 이미지 처리 장치를 더 구비하는 것을 특징으로 한다.
또한 바람직하게는, 상기 제2 이미지 처리 장치는, 상기 메모리의 일 영역에 저장된 M 비트의 픽셀 데이터를 선택적으로 수신하고, 상기 수신된 M 비트의 픽셀 데이터를 디스플레이 장치로 제공하는 디스플레이 콘트롤 모듈인 것을 특징으로 한다.
또한 바람직하게는, 상기 (M+N) 비트의 픽셀 데이터 중 상위 M 비트의 픽셀 데이터가 상기 메모리의 제1 영역에 저장되고, 상기 (M+N) 비트의 픽셀 데이터 중 하위 N 비트의 픽셀 데이터가 상기 메모리의 제2 영역에 저장되는 것을 특징으로 한다.
또한 바람직하게는, 상기 이미지 처리 시스템은, 상기 제1 이미지 처리 장치의 제어에 응답하여, 상기 M 비트의 픽셀 데이터와 상기 N 비트의 픽셀 데이터를 상기 메모리의 다른 영역에 각각 저장하는 메모리 콘트롤 모듈을 더 구비하는 것을 특징으로 한다.
또한 바람직하게는, 상기 메모리는 상기 이미지 처리 시스템의 내부에 배치되는 임베디드 메모리거나 또는 상기 이미지 처리 시스템의 외부에 배치되는 외부 메모리인 것을 특징으로 한다.
또한 바람직하게는, 상기 M 비트의 픽셀 데이터는 8 비트의 픽셀 데이터이며, 상기 N 비트의 픽셀 데이터는 2 비트의 픽셀 데이터인 것을 특징으로 한다.
한편, 본 발명의 일 실시예에 따른 이미지 처리 시스템의 동작방법은, 다수의 픽셀들을 포함하고 각각의 픽셀은 (M+N) 비트의 제1 픽셀 데이터를 포함하는 제1 이미지 신호에 대한 제1 신호 처리를 수행하여 M 비트 이상의 제2 픽셀 데이터를 생성하는 단계와, M 비트의 제2 픽셀 데이터가 메모리의 제1 영역에 저장되도록, 상기 M 비트의 제2 픽셀 데이터의 저장 위치를 나타내는 제1 어드레스를 제공하는 단계와, N 비트의 제1 픽셀 데이터가 상기 메모리의 제2 영역에 저장되도록, 상기 N 비트의 제1 픽셀 데이터의 저장 위치를 나타내는 제2 어드레스를 제공하는 단계 및 상기 제1 및 제2 어드레스에 각각 응답하여, 상기 M 비트의 제2 픽셀 데이터 및 N 비트의 제1 픽셀 데이터를 상기 메모리에 저장하는 단계를 구비하는 것을 특징으로 한다.
한편, 본 발명의 일 실시예에 따른 이미지 처리 장치에 있어서, 상기 이미지 처리 장치는 데이터 버스에 연결되고, 다수의 픽셀들을 포함하고 각각의 픽셀은 (M+N) 비트의 픽셀 데이터를 포함하는 이미지 신호에 대해, 각각의 픽셀의 M 비트의 픽셀 데이터를 M 비트의 밴드 폭(Bandwidth)을 갖는 상기 데이터 버스로 제공하고, 두 개 이상의 픽셀들의 N 비트의 픽셀 데이터를 상기 M 비트의 밴드 폭(Bandwidth)을 갖는 데이터 버스로 제공하는 것을 특징으로 한다.
한편, 본 발명의 일 실시예에 따른 시스템 온 칩은, 다수의 픽셀들을 포함하고 각각의 픽셀은 (M+N) 비트의 제1 픽셀 데이터를 포함하는 제1 이미지 신호에 대한 제1 신호 처리를 수행하여 제2 픽셀 데이터를 생성하는 코덱 모듈과, 상기 코덱 모듈의 제어에 따라, M 비트의 제2 픽셀 데이터를 외부 메모리의 제1 영역에 저장하고 N 비트의 제1 픽셀 데이터를 상기 외부 메모리의 제2 영역에 저장하는 메모리 콘트롤 모듈 및 상기 메모리의 제1 영역에 저장된 M 비트의 제2 픽셀 데이터가 디스플레이 장치로 제공되도록 제어하는 디스플레이 콘트롤 모듈을 구비하는 것을 특징으로 한다.
한편, 본 발명의 다른 실시예에 따른 이미지 처리 시스템은, 다수의 픽셀들을 포함하고 각각의 픽셀은 (M+N) 비트의 픽셀 데이터를 포함하는 이미지 신호를 처리하는 제1 이미지 처리 장치 및 상기 제1 이미지 처리 장치에 연결되며, 적어도 M 비트의 밴드 폭(Bandwidth)을 갖는 데이터 버스를 구비하고, 상기 제1 이미지 처리 장치는, 각각의 픽셀의 M 비트의 픽셀 데이터를 상기 데이터 버스로 제공함과 함께, 두 개 이상의 픽셀들의 N 비트의 픽셀 데이터를 상기 데이터 버스로 제공하는 것을 특징으로 한다.
본 발명의 실시예에 따른 이미지 처리 장치, 이미지 처리 시스템, 이미지 처리 시스템의 동작방법 및 이미지 처리 시스템을 포함하는 시스템 온 칩은, 가변 비트 특성을 갖는 이미지 신호를 처리함에 있어서 데이터 버스 폭의 낭비 없이 시스템 자원을 효율적으로 사용할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 이미지 처리 장치, 이미지 처리 시스템, 이미지 처리 시스템의 동작방법 및 이미지 처리 시스템을 포함하는 시스템 온 칩은, 디스플레이 되는 이미지의 화질을 향상할 수 있으며 또한 전력 효율성을 향상할 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 이미지 처리 장치를 포함하는 시스템의 일 예를 나타내는 블록도이다.
도 2는 본 발명의 실시예에 따른 이미지 처리 시스템이 시스템 온 칩(System on Chip, SoC)으로 구현되는 예를 나타내는 블록도이다.
도 3은 도 2의 시스템 온 칩의 일 구현 예를 나타내는 블록도이다.
도 4 및 도 5는 이미지 처리 장치와 메모리 사이의 픽셀 데이터 송수신 동작의 일 예를 나타내는 블록도이다.
도 6은 도 5의 코덱 모듈의 일 구현예를 나타내는 블록도이다.
도 7은 픽셀 데이터를 메모리에 저장하는 일 예를 나타내는 블록도이다.
도 8a,b는 픽셀 데이터를 메모리에 저장하는 다른 예를 나타내는 블록도이다.
도 9a,b 도 6에 도시된 디더링 및 인버스-디더링 처리 동작의 일 예를 나타내는 도면이다.
도 10은 픽셀 데이터에 대한 신호 처리를 수행하는 로직 유닛들과 메모리 사이의 데이터 전송 예를 나타내는 블록도이다.
도 11은 본 발명의 일 실시예에 따른 이미지 처리 시스템의 동작방법을 나타내는 플로우차트이다.
도 12는 본 발명의 다른 실시예에 따른 이미지 처리 시스템의 동작방법을 나타내는 플로우차트이다.
도 13a,b는 본 발명의 실시예에 따른 이미지 처리 장치를 포함하는 시스템의 다른 예를 나타내는 블록도이다.
도 14a,b는 본 발명의 실시예에 따른 이미지 처리 장치를 포함하는 시스템의 또 다른 예를 나타내는 블록도이다.
도 15는 본 발명의 실시예에 따른 이미지 처리 장치로서 코덱 모듈의 다른 구현 예를 나타내는 블록도이다.
도 16은 본 발명의 또 다른 실시예에 따른 이미지 처리 시스템을 나타내는 블록도이다.
도 17은 본 발명의 또 다른 실시예에 따른 이미지 처리 시스템의 동작방법을 나타내는 플로우차트이다.
도 18은 본 발명의 또 다른 실시예에 따른 이미지 처리 시스템의 동작방법을 나타내는 플로우차트이다.
도 19는 본 발명의 실시예에 따른 이미지 처리 시스템이 채용된 디스플레이 구동 회로를 나타내는 블록도이다.
도 20은 본 발명의 실시예에 따른 이미지 처리 시스템이 채용된 모바일 장치를 포함하는 컨텐츠 공급 시스템()의 전체적 구조를 나타내는 도면이다.
도 21은 본 발명의 일 실시예에 따른 이미지 처리 시스템이 장착된 이동 단말기의 일 예를 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 이미지 처리 시스템이 시스템 온 칩(System on Chip, SoC)으로 구현되는 예를 나타내는 블록도이다.
도 3은 도 2의 시스템 온 칩의 일 구현 예를 나타내는 블록도이다.
도 4 및 도 5는 이미지 처리 장치와 메모리 사이의 픽셀 데이터 송수신 동작의 일 예를 나타내는 블록도이다.
도 6은 도 5의 코덱 모듈의 일 구현예를 나타내는 블록도이다.
도 7은 픽셀 데이터를 메모리에 저장하는 일 예를 나타내는 블록도이다.
도 8a,b는 픽셀 데이터를 메모리에 저장하는 다른 예를 나타내는 블록도이다.
도 9a,b 도 6에 도시된 디더링 및 인버스-디더링 처리 동작의 일 예를 나타내는 도면이다.
도 10은 픽셀 데이터에 대한 신호 처리를 수행하는 로직 유닛들과 메모리 사이의 데이터 전송 예를 나타내는 블록도이다.
도 11은 본 발명의 일 실시예에 따른 이미지 처리 시스템의 동작방법을 나타내는 플로우차트이다.
도 12는 본 발명의 다른 실시예에 따른 이미지 처리 시스템의 동작방법을 나타내는 플로우차트이다.
도 13a,b는 본 발명의 실시예에 따른 이미지 처리 장치를 포함하는 시스템의 다른 예를 나타내는 블록도이다.
도 14a,b는 본 발명의 실시예에 따른 이미지 처리 장치를 포함하는 시스템의 또 다른 예를 나타내는 블록도이다.
도 15는 본 발명의 실시예에 따른 이미지 처리 장치로서 코덱 모듈의 다른 구현 예를 나타내는 블록도이다.
도 16은 본 발명의 또 다른 실시예에 따른 이미지 처리 시스템을 나타내는 블록도이다.
도 17은 본 발명의 또 다른 실시예에 따른 이미지 처리 시스템의 동작방법을 나타내는 플로우차트이다.
도 18은 본 발명의 또 다른 실시예에 따른 이미지 처리 시스템의 동작방법을 나타내는 플로우차트이다.
도 19는 본 발명의 실시예에 따른 이미지 처리 시스템이 채용된 디스플레이 구동 회로를 나타내는 블록도이다.
도 20은 본 발명의 실시예에 따른 이미지 처리 시스템이 채용된 모바일 장치를 포함하는 컨텐츠 공급 시스템()의 전체적 구조를 나타내는 도면이다.
도 21은 본 발명의 일 실시예에 따른 이미지 처리 시스템이 장착된 이동 단말기의 일 예를 나타내는 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 실시예에 따른 이미지 처리 장치를 포함하는 시스템의 일 예를 나타내는 블록도이다. 도 1의 시스템은 이미지 처리 장치를 포함하는 각종 시스템에 해당할 수 있으며, 예컨대 디지털 카메라, 휴대용 캠코더, 스마트 폰 등 각종 모바일 장치가 도 1의 시스템에 해당할 수 있다. 이하에서는, 도 1의 시스템은 모바일 장치(10)인 것으로 가정한다.
도 1에 도시된 바와 같이, 모바일 장치(10)는 중앙 처리 장치(11), 시모스 이미지 센서(12), 코덱 모듈(13), 메모리(14) 및 디스플레이 장치(15)를 포함할 수 있다. 상기 모바일 장치(10)에 구비되는 각종 기능 블록들은 시스템 버스를 통해 서로 신호를 송수신할 수 있다. 코덱 모듈(13)은 비디오 코덱을 처리하는 비디오 코덱 모듈로 지칭될 수 있다. 도 1에 도시되지는 않았으나 모바일 장치(10)는 이외에도 다른 기능들을 수행하기 위한 각종 기능 블록들을 포함할 수 있으며, 예컨대 모바일 장치(10)가 통신 기능을 수행하는 경우 통신 모듈이 모바일 장치(10)에 더 구비되어도 무방하다. 또는, 전원 관리 모듈(power management module)이나 클럭 모듈, 그래픽 프로세서(GPU) 등이 모바일 장치(10)에 더 구비될 수 있다.
본 발명의 실시예에 따른 이미지 처리 장치는, 이미지 신호를 수신하고 이에 대한 처리 동작을 수행하거나, 이미지 신호에 대한 처리 결과를 제공하는 각종 모듈을 지칭할 수 있다. 예컨대, 도 1에 도시된 기능 블록들 중에서 이미지 신호를 수신 또는 제공하는 기능 블록은 상기 이미지 처리 장치로 지칭될 수 있다. 예컨대, 시모스 이미지 센서(12)는 이미지 신호를 생성하고 다른 기능 블록으로 제공하며, 코덱 모듈(13)은 이미지 신호에 대한 인코딩/디코딩 처리를 수행하고, 메모리(14)는 이미지 신호를 저장하고 디스플레이 장치(15)는 이미지 신호를 처리하여 이에 따른 화면을 출력하는 점에서, 상기 기능 블록들 각각은 이미지 처리 장치로 지칭될 수 있다. 또한, 도 1에 도시된 각각의 기능 블록들이 이미지 신호를 처리할 수 있는 관점에서, 상기 각각의 기능 블록은 프로세서로 지칭되어도 무방하다.
한편, 도 1에서는 이미지 처리 장치가 각각의 기능 블록(또는 모듈)으로 구현되는 예가 도시되었으나, 본 발명의 실시예는 이에 국한될 필요가 없다. 본 발명의 실시예에 따른 이미지 처리 기능을 수행하는 장치나 시스템은 다양하게 구현될 수 있다. 예컨대, 코덱 모듈(13)과 도 1에 도시된 기타 다른 기능 블록들, 그리고 도 1에 도시되지 않은 또 다른 기능 블록들이 시스템 온 칩(System on Chip, SoC)으로 구현되어 하나의 반도체 칩에 집적될 수 있다. 또한, 본 발명의 실시예에 따른 이미지 처리 기능을 수행하는 장치나 시스템은 어플리케이션 프로세서(Application Processor)의 내부에 구현될 수 있다.
중앙 처리 장치(11)는 모바일 장치(10)의 전체의 동작을 제어하며, 예컨대 중앙 처리 장치(11) 내부에 임베디드되는 메모리나 외부에 배치되는 메모리(14)에 저장된 프로그램들 및/또는 데이터를 실행할 수 있다. 중앙 처리 장치(11)는 멀티-코어 프로세서(multi-core processor)를 포함할 수 있으며, 멀티-코어 프로세서는 두 개 이상의 독립적이고 실질적인 프로세서들을 갖는 하나의 컴퓨팅 컴포넌트일 수 있다. 상기 멀티-코어 프로세서는 다수의 가속기를 동시에 구동할 수 있으므로, 상기 멀티-코어 프로세서를 포함하는 모바일 장치(10)는 멀티-가속(multi-acceleration)을 수행할 수 있다.
시모스 이미지 센서(12)는 픽셀 어레이를 구비하며, 픽셀 어레이에 포함된 각각의 픽셀은 광 감지 소자를 포함할 수 있다. 광 감지 소자는 흡수하는 빛의 세기에 따라 전기적 신호를 발생시킬 수 있다. 시모스 이미지 센서(12)는 상기 전기적 신호를 디지털 데이터로 변환하는 변환 수단(미도시)을 포함할 수 있으며, 시모스 이미지 센서(12)에서 촬영된 이미지 신호는 코덱 모듈(13)에서 인코딩 처리될 수 있다.
메모리(14)는 모바일 장치(10)의 구동에 관련된 OS(Operating System) 및 각종 프로그램들을 저장할 수 있으며, 또한 코덱 모듈(13)에서 처리할 이미지 신호를 저장할 수 있다. 또한, 메모리(14)는 코덱 모듈(13)에서 처리된 이미지 신호를 저장할 수 있다. 이외에도, 시모스 이미지 센서(12)에서 생성된 이미지 신호가 메모리(14)에 제공되고, 메모리(14)에 저장된 이미지 신호가 디스플레이 장치(15)로 제공될 수 있다.
코덱 모듈(13)은 모바일 장치(10) 내에서 생성된 각종 이미지 신호나 외부로부터 제공된 각종 이미지 신호에 대한 인코딩 및 디코딩 처리를 수행할 수 있다. 일 예로서, 이미지 신호에 대해 인코딩 처리를 수행함으로써 인코딩된 이미지 신호가 외부로 제공될 수 있으며, 또한 외부로부터 인코딩된 이미지 신호가 수신된 경우 이에 대해 디코딩 처리를 수행함으로써 디스플레이 장치(15)를 통해 이미지가 출력되도록 할 수 있다.
상기한 바와 같이, 코덱 모듈(13)은 이미지 신호에 대한 인코딩 및 디코딩 동작을 위하여 메모리(14)를 억세스할 수 있다. 동영상을 처리하는 경우 이미지 신호는 다수의 프레임 이미지들을 포함할 수 있으며, 각각의 프레임 이미지는 다수의 픽셀들에 대한 픽셀 데이터를 포함할 수 있다. 이미지 처리를 위한 메모리(14)의 억세스의 대부분은 픽셀 데이터가 차지할 수 있다.
처리하고자 하는 이미지 신호의 종류에 따라 픽셀의 정보 량은 가변적일 수 있다. 예컨대, 각 픽셀에 포함되는 픽셀 데이터는 8 비트, 10 비트 또는 12 비트 등으로 다양하게 변동될 수 있다. 그러나, 각종 신호들을 송수신하기 위한 시스템 버스에서, 데이터 버스는 특정 값에 해당하는 정보 량을 갖는 픽셀을 기준으로 하여 구성될 수 있으며, 이미지 처리를 위한 픽셀의 정보 량이 가변적인 경우에는, 메모리 억세스를 수행함에 있어서 밴드 폭(bandwidth)의 낭비나 비효율적인 로직 과정을 초래할 수 있다.
본 발명의 실시예에 따르면, 데이터 버스를 통하여 기능 블록들 사이에서 이미지 신호가 송수신되는 경우, 각각의 픽셀에 포함되는 다수 비트의 픽셀 데이터가 데이터 버스의 버스 폭에 대응하여 분리되어 관리되도록 한다. 예컨대, 이미지 신호의 픽셀 데이터를 메모리(14)에 저장함에 있어서, 각각의 픽셀의 픽셀 데이터가 두 개의 데이터 그룹으로 분리되고, 각각의 그룹의 픽셀 데이터가 메모리(14)의 서로 다른 영역에 저장되도록 한다. 또한, 픽셀 데이터를 이용하는 다른 기능 블록(또는, 프로세서)이 메모리(14)의 어느 하나의 영역에 저장된 픽셀 데이터만을 처리하는 경우 발생될 수 있는 이미지의 왜곡을 감소하기 위하여, 이미지 신호에 대한 억세스 과정에서 이미지 처리 동작이 수행될 수 있다.
일 실시예로서, 이미지 신호는 다수의 픽셀들을 포함할 수 있고, 각각의 픽셀은 (M+N) 비트의 픽셀 데이터(이하, 신호 처리 동작이 수행되기 전의 픽셀 데이터는 제1 픽셀 데이터로 지칭됨)를 포함할 수 있다. 상기 픽셀 데이터의 비트 값은 다양하게 정의가 가능하며, 예컨대 픽셀 데이터는 10 비트의 데이터를 포함할 수 있으며, 이 경우 M 비트는 8 비트로 정의되고 N 비트는 2 비트로 정의될 수 있다. 코덱 모듈(13)의 이미지 처리 동작을 일 예로 참조하면, 코덱 모듈(13)은 (M+N) 비트의 제1 픽셀 데이터에 대한 신호 처리(예컨대, 제1 신호 처리)를 수행하여 소정 비트의 픽셀 데이터(이하, 신호 처리 동작이 수행된 후의 픽셀 데이터는 제2 픽셀 데이터로 지칭됨)를 생성할 수 있다. 제2 픽셀 데이터는 M 비트 이상의 데이터를 포함할 수 있으며, 예컨대 (M+N) 비트의 데이터를 포함할 수 있다.
이미지 신호의 픽셀들의 픽셀 데이터를 메모리(14)에 저장함에 있어서, 각각의 픽셀에 대하여 제1 픽셀 데이터의 적어도 일부의 비트와 제2 픽셀 데이터의 적어도 일부의 비트가 메모리(14)의 서로 다른 영역에 저장될 수 있다. 일 예로서, 제2 픽셀 데이터의 상위 M 비트와 제1 픽셀 데이터의 하위 N 비트가 메모리(14)의 서로 다른 영역에 저장될 수 있다. 각각의 픽셀이 10 비트의 픽셀 데이터를 갖는 경우, 제2 픽셀 데이터의 상위 8 비트의 픽셀 데이터가 메모리(14)의 제1 영역에 저장되고, 제1 픽셀 데이터의 하위 2 비트의 픽셀 데이터가 메모리(14)의 제2 영역에 저장될 수 있다. 즉, 각각의 픽셀에 대하여, 신호 처리된 8 비트의 제2 픽셀 데이터와 신호 처리 전의 이미지 신호(예컨대, 원본 이미지 신호)의 2 비트의 제1 픽셀 데이터가 메모리(14)의 서로 다른 영역에 저장될 수 있다.
모바일 장치(10)에 구비되는 다른 기능 블록들은 메모리(14)의 영역 별로 데이터를 억세스할 수 있다. 예컨대, 디스플레이 장치(15)가 각 픽셀 당 M 비트의 픽셀 데이터에 따라 계조를 구현하여 화면을 출력하는 경우, 메모리(14)의 제1 영역에 저장된 제2 픽셀 데이터가 데이터 버스를 통해 디스플레이 장치(15)로 제공될 수 있다. 즉, 이미지 신호가 픽셀 당 (M+N) 비트의 픽셀 데이터를 포함하더라도, 디스플레이 장치(15)는 메모리(14)의 제1 영역에 저장된 M 비트의 픽셀 데이터만을 수신하여 이에 따른 화면을 출력할 수 있다. 이에 따라, 이미지 신호의 픽셀 데이터의 비트 수와 디스플레이 장치(15)에서 계조를 구현하기 위한 픽셀 데이터의 비트 수가 서로 다르더라도, 더 많은 데이터를 억세스하고 일부의 데이터를 버릴 필요가 없으며, 또한 데이터 버스가 M 비트(또는 M의 배수 비트)의 밴드 폭(bandwidth)를 가질 때 상기 데이터 버스가 효율적으로 이용될 수 있다.
한편, 코덱 모듈(13)의 신호 처리 과정에서 이전 프레임 이미지를 참조 이미지로 이용하여 움직임 추정 및 보상 동작이 수행될 수 있으며, 이 경우 메모리(14)에 저장된 이미지 신호가 코덱 모듈(13)로 제공될 수 있다. 코덱 모듈(13)은 메모리(14)의 제1 및 제2 영역들로부터 독출된 M 비트의 제2 픽셀 데이터와 N 비트의 제1 픽셀 데이터를 수신할 수 있다. 코덱 모듈(13)은 M 비트의 제2 픽셀 데이터에 대해 신호 처리를 수행할 수 있으며, 예컨대 원본 이미지 신호로서 제1 픽셀 데이터를 복원하기 위하여 상기 M 비트의 제2 픽셀 데이터에 대해 신호 처리 동작(예컨대, 제2 신호 처리)을 수행할 수 있다. 복원된 제1 픽셀 데이터는 M 비트 또는 그 이상의 데이터를 가질 수 있으며, 예컨대 복원된 제1 픽셀 데이터가 M 비트를 초과하는 크기를 갖는 경우, 하위 일부의 비트를 버림으로써 M 비트의 제1 픽셀 데이터를 복원할 수 있다. 코덱 모듈(13)은 복원된 M 비트의 제1 픽셀 데이터와 메모리(14)의 제2 영역으로부터 독출된 N 비트의 제1 픽셀 데이터를 결합하여 픽셀 당 (M+N) 비트의 픽셀 데이터를 갖는 원본 이미지 신호를 참조 이미지로서 생성할 수 있다.
상기와 같이 구성될 수 있는 본 발명의 실시예에 따른 이미지 처리 시스템의 구체적인 동작을 설명하면 다음과 같다.
도 2는 본 발명의 실시예에 따른 이미지 처리 시스템이 시스템 온 칩(System on Chip, SoC)으로 구현되는 예를 나타내는 블록도이다.
도 2에 도시된 바와 같이, 이미지 처리 시스템으로서 시스템 온 칩(20)은 다수의 IP(Intellectual Property)들을 포함할 수 있다. 다수의 IP들 각각은 시스템 온 칩(20) 내에 구현되어 각각의 특정 기능을 수행한다.
시스템 온 칩(20)은 시스템 버스(27)를 포함하며, 또한 시스템 버스(27)에 연결된 IP들을 포함한다. IP들의 일예로서, 시스템 온 칩(20)은 중앙 처리 장치(CPU, 21), 마스터 IP들(22 ~ 23), 슬레이브 IP들(24 ~ 26)을 포함할 수 있다.
시스템 버스(27)는 소정의 표준 버스 규격을 갖는 프로토콜이 적용된 버스로 구현될 수 있다. 예컨대, 표준 버스 규격으로서, ARM(Advanced RISC Machine) 사의 AMBA(Advanced Microcontroller Bus Architecture) 프로토콜이 적용될 수 있다. AMBA 프로토콜의 버스 타입에는 AHB(Advanced High-Performance Bus), APB(Advanced Peripheral Bus), AXI(Advanced eXtensible Interface), AXI4, ACE(AXI Coherency Extensions) 등이 포함될 수 있다. 전술한 버스 타입들 중 AXI는 IP들 사이의 인터페이스 프로토콜로서, 다중 아웃스탠딩 어드레스(multiple outstanding address) 기능과 데이터 인터리빙(data interleaving) 기능 등을 제공한다. 이외에도, 소닉사(SONICs Inc.)의 uNetwork 이나 IBM의 CoreConnect, OCP-IP의 오픈 코어 프로토콜(Open Core Protocol) 등 다른 타입의 프로토콜이 시스템 버스(27)에 적용되어도 무방하다.
한편, 도 2에 도시된 각종 IP들 각각은 고유한 동작을 수행하는 기능 블록으로 구현될 수 있으며, 시스템 버스(27)를 사용할 수 있는 권한를 가졌는지의 여부에 따라 마스터 IP(22 ~ 23)와 슬레이브 IP(24 ~ 26)로 구분될 수 있다. 도 2에 도시된 중앙 처리장치(21) 또한 마스터 IP에 해당할 수 있다. 이외에도, 마스터 IP(22 ~ 23)로서 메모리 컨트롤 모듈, 디지털 신호 프로세서(DSP) 및 코덱 모듈 등이 적용될 수 있다. 한편, 슬레이브 IP들(24 ~ 26)은 마스터 IP(22 ~ 23)에 의해 제어되는 IP로서, 입출력 모듈, 임베디드 메모리 등이 슬레이브 IP로 구현될 수 있다. 전술한 실시예에 따라, 마스터 IP(22 ~ 23)와 슬레이브 IP(24 ~ 26) 각각은 이미지 처리 장치로 지칭될 수 있다.
시스템 버스(27) 내의 데이터 버스를 통해 이미지 신호의 픽셀 데이터들이 송수신될 수 있으며, 시스템 온 칩(20)에 구비되는 각각의 IP는 데이터 버스를 통해 픽셀 데이터들을 수신 및/또는 제공할 수 있다. 각각의 IP의 기능에 따라, 픽셀 데이터들을 수신만 하거나 또는 제공만 할 수 있다. 또는 각각의 IP의 기능에 따라, 픽셀 데이터들에 대한 수신 및 제공 기능을 함께 수행할 수 있다. 도 2의 예에서는 마스트 IP들(22 ~ 23)는 픽셀 데이터들에 대한 수신 및 제공 기능을 함께 수행하고, 슬레이브 IP들(24 ~ 26)의 일부는 픽셀 데이터들을 수신만 하거나, 슬레이브 IP들(24 ~ 26)의 다른 일부는 픽셀 데이터들을 제공만 하거나, 슬레이브 IP들(24 ~ 26)의 또 다른 일부는 픽셀 데이터들을 수신 및 제공하는 예가 도시된다.
시스템 온 칩(20) 내의 마스터 IP(22 ~ 23) 및 슬레이브 IP들(24 ~ 26) 각각은 내부의 데이터 버스를 통해 픽셀 데이터를 송수신할 수 있다. 또는, 시스템 온 칩(20) 내의 마스트 IP(22 ~ 23) 및 슬레이브 IP들(24 ~ 26) 각각은 시스템 온 칩(20) 외부에 배치되는 외부 메모리(미도시)의 픽셀 데이터를 억세스할 수 있으며, 일 예로서 시스템 온 칩(20) 내의 메모리 콘트롤 모듈의 제어 하에서 외부 메모리에 픽셀 데이터를 저장하거나 외부 메모리로부터 픽셀 데이터를 수신할 수 있다.
본 발명의 실시예에 따라, 마스트 IP(22 ~ 23) 및 슬레이브 IP들(24 ~ 26) 각각은 데이터 버스의 버스 폭에 대응하여 픽셀 데이터를 적어도 두 개의 그룹으로 분리하여 관리할 수 있다. 마스트 IP(22 ~ 23) 및 슬레이브 IP들(24 ~ 26)이 임베디드 메모리에 픽셀 데이터를 억세스하는 경우, 시스템 온 칩(20) 내의 시스템 버스(27)에 포함되는 데이터 버스 폭에 대응하여 픽셀 데이터를 적어도 두 개의 그룹으로 분리하고, 각각의 그룹의 픽셀 데이터가 임베디드 메모리의 적어도 두 개의 영역에 분리하여 저장되도록 한다. 마스트 IP(22 ~ 23) 및 슬레이브 IP들(24 ~ 26)이 외부 메모리에 픽셀 데이터를 억세스하는 경우에도 동일 또는 유사하게 동작할 수 있다.
도 3은 도 2의 시스템 온 칩의 일 구현 예를 나타내는 블록도이다. 도 3에 도시된 바와 같이, 시스템 온 칩(100)은 중앙 처리 장치(110), 코덱 모듈(120), 메모리 콘트롤 모듈(130), 디스플레이 콘트롤 모듈(140), 임베디드 메모리(150) 및 입출력 모듈(160)을 포함할 수 있다. 상기와 같은 구성요소들은 시스템 온 칩 내부의 시스템 버스를 통해 연결될 수 있다. 도 3의 시스템 온 칩(100)은 모바일 장치 등에 장착 가능한 어플리케이션 프로세서일 수 있다. 또한, 전술한 바와 같이, 본 발명의 실시예에 따른 시스템 온 칩(100)은 도 3에 도시된 기능 블록들 중 일부를 포함하지 아니하여도 무방하며, 또는 도 3에 도시되지 않은 다른 기능 블록들을 포함할 수도 있다.
임베디드 메모리(150)는 시스템 온 칩(100) 내에 내장되는 메모리로서, 도 1의 메모리(외부 메모리)와 유사하게 각종 프로그램들, 명령들(instructions) 및 데이터를 저장할 수 있다. 또한, 임베디드 메모리(150)는 코덱 모듈(120)에서 처리될 이미지 신호나 코덱 모듈(120)에서 처리된 이미지 신호를 저장할 수 있다. 임베디드 메모리(150)는 휘발성 메모리 및/또는 비휘발성 메모리로 구현될 수 있다.
메모리 콘트롤 모듈(130)은 외부 메모리(EM)와 인터페이스를 수행하며, 예컨대 본 발명의 실시예에 따라 이미지 신호를 외부 메모리(EM)에 저장함에 있어서 각각의 픽셀의 픽셀 데이터가 외부 메모리(EM)의 적어도 두 개의 영역들에 분리되어 저장되는 것을 제어할 수 있다. 또한, 메모리 콘트롤 모듈(130)은 외부 메모리(EM)의 적어도 두 개의 영역들 각각을 분리하여 억세스할 수 있으며, 이에 따라 시스템 온 칩(100)의 일부의 기능 블록들은 외부 메모리(EM)와 어느 하나의 영역의 픽셀 데이터를 송수신할 수 있으며, 다른 일부의 기능 블록들은 외부 메모리(EM)와 두 개 이상의 영역의 픽셀 데이터를 송수신할 수 있다.
한편, 디스플레이 콘트롤 모듈(140)은 외부 디스플레이 장치(미도시)의 동작을 제어할 수 있으며, 예컨대 디스플레이 콘트롤 모듈(140)은 메모리 콘트롤 모듈(130)을 통해 픽셀 데이터를 수신하고 이를 외부 디스플레이 장치로 제공할 수 있다. 이미지 신호가 픽셀 당 (M+N) 비트의 픽셀 데이터를 포함하고, 외부 디스플레이 장치가 픽셀 당 M 비트의 픽셀 데이터에 따라 계조를 구현하여 화면을 출력하는 경우, 외부 메모리(EM)의 일부의 영역(예컨대, 제1 영역)에 저장된 M 비트의 데이터가 디스플레이 콘트롤 모듈(140)을 통해 외부 디스플레이 장치로 제공될 수 있다.
본 발명의 실시예에 따라 이미지 처리 장치로 정의될 수 있는 도 3에 도시된 각종 기능 블록들은 메모리 콘트롤 모듈(130)을 통해 외부 메모리(EM)나 임베디드 메모리(150)에 대한 데이터 억세스를 제어할 수 있다. 예컨대, (M+N) 비트의 픽셀 데이터에서 M 비트의 픽셀 데이터와 N 비트의 픽셀데이터는 외부 메모리(EM)의 서로 다른 위치에 저장될 수 있으며, 각각의 이미지 처리 장치는 (M+N) 비트의 픽셀 데이터가 저장될 위치를 나타내는 어드레스를 생성하여 이를 메모리 콘트롤 모듈(130)로 제공될 수 있다. 일 예로서, 코덱 모듈(120)은 (M+N) 비트의 픽셀 데이터를 처리하고 이를 메모리 콘트롤 모듈(130)로 제공할 수 있으며, 또한, M 비트의 픽셀 데이터가 저장될 위치를 나타내는 제1 어드레스와 N 비트의 픽셀데이터가 저장될 위치를 나타내는 제2 어드레스를 생성하고 이를 메모리 콘트롤 모듈(130)로 제공할 수 있다.
도 4 및 도 5는 이미지 처리 장치와 메모리 사이의 픽셀 데이터 송수신 동작의 일 예를 나타내는 블록도이다. 도 4에서는 이미지 처리 장치로서 코덱 모듈이 예시된다.
도 4에 도시된 바와 같이, 코덱 모듈(120)은 메모리와 픽셀 데이터를 송수신하며, 예컨대 하나의 픽셀 당 (M+N) 비트의 픽셀 데이터를 메모리로 제공할 수 있다. 상기 메모리는 도 3에 도시된 메모리로서 외부 메모리(EM)일 수 있으며, 또는 상기 메모리는 도 3에 도시된 임베디드 메모리(150)일 수 있다. 이하, 도 4 및 도 5에서 상기 메모리는 외부 메모리(EM)인 것으로 가정한다.
외부 메모리(EM)는 제1 영역(1st region)과 제2 영역(2nd region)을 포함할 수 있다. 또한, 외부 메모리(EM)로 제공되는 (M+N) 비트의 픽셀 데이터에 있어서, M 비트의 픽셀 데이터(예컨대, 제2 픽셀 데이터)는 외부 메모리(EM)의 제1 영역(1st region)에 저장될 수 있으며, N 비트의 픽셀 데이터(예컨대, 제1 픽셀 데이터)는 외부 메모리(EM)의 제2 영역(2nd region)에 저장될 수 있다. 외부 메모리(EM)의 제1 영역(1st region)과 제2 영역(2nd region)은 별도로 억세스될 수 있으며, 이에 따라 (M+N) 비트의 픽셀 데이터를 이용하는 이미지 처리 장치와의 신호 송수신을 위해서는 외부 메모리(EM)의 제1 영역(1st region)과 제2 영역(2nd region)이 억세스될 수 있다. 반면에 M 비트의 픽셀 데이터를 이용하는 이미지 처리 장치와의 신호 송수신을 위해서는 외부 메모리(EM)의 제1 영역(1st region)만이 억세스될 수 있다.
한편, 도 5에 도시된 바와 같이, 외부 메모리(EM)는 다수의 이미지 처리장치에 의해 억세스될 수 있다. 예컨대, 도 5에 도시된 제1 이미지 처리 장치(IPD 1)는 외부 메모리(EM)로 픽셀 데이터를 제공함과 함께 외부 메모리(EM)로부터 픽셀 데이터를 수신할 수 있다. 또한, 제2 이미지 처리 장치(IPD 2)는 외부 메모리(EM)로부터 픽셀 데이터를 수신할 수 있다.
제1 이미지 처리 장치(IPD 1)는 데이터 제공 유닛(DPU 1)과 데이터 수신 유닛(DRU 1)을 포함할 수 있다. 데이터 제공 유닛(DPU 1)은 외부 메모리(EM)로 픽셀 데이터를 제공하는 동작을 수행하고, 데이터 수신 유닛(DRU 1)은 외부 메모리(EM)로부터 픽셀 데이터를 수신하는 동작을 수행할 수 있다. 전술한 실시예에 따라, 데이터 제공 유닛(DPU 1)은 픽셀 당 (M+N) 비트의 픽셀 데이터를 외부 메모리(EM)로 제공할 수 있다. 일 예로서, 제1 이미지 처리 장치(IPD 1)가 코덱 모듈에 해당하는 경우, 데이터 제공 유닛(DPU 1)은 원본 이미지 신호에 대한 신호 처리를 수행하고, 그 결과로서 발생된 M 비트의 제2 픽셀 데이터와 신호 처리되기 전의 N 비트의 제1 픽셀 데이터를 외부 메모리(EM)로 제공할 수 있다. 또한, 데이터 수신 유닛(DRU 1)은 외부 메모리(EM)로부터 M 비트의 제2 픽셀 데이터와 N 비트의 제1 픽셀 데이터를 수신하고, 이에 대한 신호 처리 동작을 통하여 원본 이미지 신호를 생성(또는, 복원)할 수 있다.
또한, 도 5에 도시된 바와 같이, 제2 이미지 처리 장치(IPD 2)는 외부 메모리(EM)로부터 픽셀 데이터를 수신하여, 예컨대 외부 메모리(EM)로부터 M 비트의 픽셀 데이터를 수신할 수 있다. 제2 이미지 처리 장치(IPD 2)는 데이터 수신 유닛(DRU 2)을 포함할 수 있으며, 이에 따라 제2 이미지 처리 장치(IPD 2)는 외부 메모리(EM)의 제1 영역(1st region)을 선택적으로 억세스할 수 있다. 제2 이미지 처리 장치(IPD 2)가 디스플레이 콘트롤 모듈에 해당하고, 외부 디스플레이 장치가 픽셀 당 M 비트의 픽셀 데이터로 계조를 구현하는 경우에는, 제2 이미지 처리 장치(IPD 2)는 외부 메모리(EM)의 제1 영역(1st region)에 저장된 M 비트의 제2 픽셀 데이터를 수신하고, 이를 디스플레이 장치로 제공할 수 있다.
한편, 도 5에는 도시되지 않았으나, 다른 이미지 처리 장치가 외부 메모리(EM)를 더 억세스할 수 있다. 이미지 처리 장치가 픽셀 당 (M+N) 비트의 픽셀 데이터를 처리하는 경우에는 외부 메모리(EM)의 제1 영역(1st region) 및 제2 영역(2nd region)에 저장된 픽셀 데이터를 억세스할 것이다. 반면에, 이미지 처리 장치가 픽셀 당 M 비트의 픽셀 데이터를 처리하는 경우에는 외부 메모리(EM)의 제1 영역(1st region)에 저장된 픽셀 데이터를 선택적으로 억세스할 것이다.
도 6은 도 5의 코덱 모듈의 일 구현예를 나타내는 블록도이다. 도 6에는 코덱 모듈(200) 이외에도 메모리 및 디스플레이 장치가 더 도시된다. 또한, 도 6의 메모리는 도 3에 도시된 외부 메모리(EM)일 수 있으며, 또는 상기 메모리는 도 3에 도시된 임베디드 메모리(150)일 수 있다. 이하, 도 6에서 상기 메모리는 외부 메모리(EM)인 것으로 가정한다. 또한, 이미지 신호의 (M+N) 비트의 픽셀 데이터에서 M 비트는 8 비트에 해당하고 N 비트는 2 비트에 해당하는 것으로 가정한다.
코덱 모듈(200)은 외부 메모리(EM)로 픽셀 데이터를 제공하는 데이터 제공 유닛과 외부 메모리(EM)로부터 픽셀 데이터를 수신하는 데이터 수신 유닛을 포함할 수 있다. 데이터 제공 유닛은 인코딩된 이미지 신호를 디코딩하는 디코딩 유닛(210)과, 디코딩 유닛으로부터 생성된 디코딩된 이미지 신호(예컨대, 원본 이미지 신호)에 대한 디더링 처리를 수행하는 디더링 유닛(220)을 포함할 수 있다. 또한, 데이터 수신 유닛은 외부 메모리(EM)부터 수신된 픽셀 데이터에 대한 인버스-디더링 처리를 수행하여 픽셀 데이터를 복원하는 인버스-디더링 유닛(230)과, 복원된 픽셀 데이터와 외부 메모리(EM)부터 수신된 픽셀 데이터를 이용하여 상기 원본 이미지 신호에 상응하는 참조 이미지를 생성하는 참조 이미지 생성부(240)를 포함할 수 있다.
이미지 처리 시스템에서 처리되는 픽셀의 비트 수는 고정적이지 않을 수 있다. 일 예로서, 프로세싱 블록 단위 별로 픽셀의 비트 수가 달라질 수 있으며, 또한 동일한 프로세싱 블록 내에서도 상황에 따라 픽셀의 비트 수는 달라질 수 있다. 예컨대, 도 6에 도시된 바와 같이 이미지 신호에 대한 인코딩/디코딩 처리를 수행하는 코덱 모듈(200)에서는 픽셀 당 10 비트의 출력을 제공하는 반면에, 이를 이용하여 화면을 출력하는 디스플레이 장치에서는 코덱 모듈(200)의 출력의 일부(예컨대, 픽셀 당 8 비트의 데이터)만을 처리할 수 있다. 또는, 코덱 모듈(200)로 제공되는 이미지 신호의 픽셀 단위가 8 비트 또는 10 비트 등 다양한 형태로 제공될 수 있다.
본 발명의 실시예에 따르면, 이미지 처리 시스템 내부 또는 외부의 일부 기능 블록에서 픽셀 당 8 비트의 픽셀 데이터를 이용할 때, 다른 기능 블록에서 픽셀 당 10 비트의 픽셀 데이터를 출력하는 경우, 10 비트의 픽셀 데이터가 8 비트의 픽셀 데이터와 2 비트의 픽셀 데이터로 분리되어 외부 메모리(EM)에 저장되도록 한다. 즉, 픽셀 당 8 비트의 데이터를 이용하는 기능 블록은 외부 메모리(EM)로부터 픽셀 당 10 비트의 데이터를 독출하고, 독출된 데이터 중 일부의 비트(예컨대, 2 비트)의 데이터를 버릴 필요 없이, 외부 메모리(EM)의 일 영역에 저장된 8 비트의 픽셀 데이터만을 수신할 수 있다. 예컨대, 10 비트의 픽셀 데이터에서 분리된 8 비트의 픽셀 데이터는 외부 메모리(EM)의 제1 영역에 저장되고, 2 비트의 픽셀 데이터는 외부 메모리(EM)의 제2 영역에 저장되며, 픽셀 당 8 비트 단위로 이미지 신호를 처리하는 이미지 처리 장치로서 디스플레이 장치로는 외부 메모리(EM)의 제1 영역에 저장된 8 비트의 픽셀 데이터가 제공될 수 있다.
디코딩 유닛(210)에서 출력되는 원본 이미지 신호의 픽셀 데이터(예컨대, 제1 픽셀 데이터)는 디더링 유닛(220)으로 제공되며, 일 예로서 각 픽셀 당 10 비트의 제1 픽셀 데이터가 디더링 유닛(220)으로 제공된다. 디더링 유닛(220)은 10 비트의 제1 픽셀 데이터에 대해 소정의 마스크를 이용한 디더링 처리를 수행하고, 그 결과로서 제2 픽셀 데이터를 생성한다. 상기 디더링 처리된 제2 픽셀 데이터는 10 비트의 제1 픽셀 데이터와 마스크 계수를 연산하여 생성된 10 비트의 픽셀 데이터 중 하위 2 비트의 데이터를 제거한 8 비트의 픽셀 데이터일 수 있다.
8 비트의 제2 픽셀 데이터와 2 비트의 제1 픽셀 데이터는 외부 메모리(EM)에 제공될 수 있다. 도 6의 예에서는 디더링 유닛(220)을 통해 8 비트의 제2 픽셀 데이터와 2 비트의 제1 픽셀 데이터가 외부 메모리(EM)로 제공되는 것으로 도시되었으나, 본 발명의 실시예는 이에 국한될 필요는 없다. 예컨대, 2 비트의 제1 픽셀 데이터는 디더링 유닛(220)의 외부 경로를 따라 외부 메모리(EM)로 직접 제공될 수 있으며, 디더링 유닛(220)은 원본 이미지 신호의 픽셀의 10 비트의 제1 픽셀 데이터를 수신하고 이를 이용하여 8 비트의 제2 픽셀 데이터를 생성하여 이를 외부 메모리(EM)로 제공할 수 있다.
상기와 같은 실시예에 따르면, 8 비트의 제2 픽셀 데이터가 일반적인 8 비트 이미지와 동일한 포맷으로 외부 메모리(EM) 또는 외부 메모리(EM)의 제1 영역에 저장될 수 있다. 이에 따라, 상기 외부 메모리(EM)의 제1 영역에 저장된 8 비트의 제2 픽셀 데이터가 이미지 처리 장치로 제공될 수 있으므로, 불필요한 정보가 저장 및 독출되는 것이 방지될 수 있으며, 또한 픽셀 데이터가 전송되는 데이터 버스의 밴드 폭(bandwidth)이 감소될 수 있다. 또한 디스플레이 장치에 이용되는 8 비트의 제2 픽셀 데이터는 디더링 처리된 데이터이므로, 픽셀 데이터의 전송 량이 감소되더라도 출력되는 화면의 화질이 향상될 수 있다.
한편, 외부 메모리(EM)에 저장된 10 비트의 픽셀 데이터는 코덱 모듈(200)로 제공될 수 있으며, 코덱 모듈(200)은 수신된 10 비트의 픽셀 데이터를 이용하여 상기 원본 이미지 신호에 상응하는 참조 이미지를 생성할 수 있다. 생성된 참조 이미지는 소정 시점에 코덱 모듈(200)로 제공된 이미지로서, 코덱 모듈(200)로 제공되는 이후의 이미지 신호에 대한 디코딩 과정에서 움직임 예측 및 보상 동작에 이용될 수 있다.
인버스-디더링 유닛(230)은 디더링 처리된 8 비트의 제2 픽셀 데이터에 대한 인버스-디더링 처리를 수행함으로써, 디더링 처리가 수행되기 전의 제1 픽셀 데이터에 상응하는 픽셀 데이터를 복원할 수 있다. 참조 이미지 생성부(240)는 인버스-디더링 유닛(230)로부터의 8 비트의 제1 픽셀 데이터와 외부 메모리(EM)의 제2 영역으로부터 독출된 2 비트의 제1 픽셀 데이터를 조합하여 상기 원본 이미지에 상응하는 참조 이미지를 생성할 수 있다.
도 7은 픽셀 데이터를 메모리에 저장하는 일 예를 나타내는 블록도이다. 도 7의 메모리는 본 발명의 실시예에 따른 시스템 온 칩의 외부에 배치되는 외부 메모리일 수 있으며, 또는 시스템 온 칩의 내부에 배치되는 임베디드 메모리일 수 있다. 또한, 메모리의 억세스 단위는 8 비트로서, 하나의 어드레스에 대응하여 8 비트의 픽셀 데이터가 저장 또는 출력되는 구조를 갖는 예가 도시된다.
도 7에 도시된 바와 같이, 메모리의 데이터 억세스 단위가 8 비트로 구성됨에 따라, 데이터 버스를 비롯하여 시스템의 데이터 처리 단위가 8 비트의 배수의 단위로 구성될 수 있다. 일 예로서, 데이터 버스는 64 비트 또는 128 비트 등의 버스 폭을 가질 수 있고, 메모리의 데이터 저장 위치(예컨대, 메모리 맵) 또한 8 비트 단위로 구성될 수 있으며, 픽셀 데이터를 처리하는 로직 또한 8 비트의 배수 단위로 픽셀 데이터를 수신하여 이를 처리할 수 있다. 또한, 본 발명의 실시예에 따르면, 처리되는 이미지 신호의 픽셀 당 비트 수가 10 비트 또는 다른 개수의 비트의 데이터를 갖더라도, 상기 이미지 신호에 대하여 8 비트(또는, 8 비트의 배수) 단위의 시스템에 적합한 신호 처리가 수행되도록 한다.
픽셀 데이터가 10 비트를 갖는 경우, 상기 10 비트의 픽셀 데이터는 도 7에 도시된 바와 같이 제1 영역과 제2 영역에 각각 나누어 저장될 수 있다. 전술한 실시예에서와 같이, 10 비트의 픽셀 데이터 중 8 비트의 픽셀 데이터가 메모리의 제1 영역에 저장되고, 나머지 2 비트의 픽셀 데이터가 메모리의 제2 영역에 저장될 수 있다. 메모리를 억세스하는 이미지 처리 장치가 코덱 모듈에 해당하는 경우, 디더링 등의 신호 처리된 8 비트의 제2 픽셀 데이터가 메모리의 제1 영역에 저장되고, 원본 이미지 신호의 2 비트의 제1 픽셀 데이터가 메모리의 제2 영역에 저장될 수 있다. 도 7의 (a)는 메모리의 제1 영역에 8 비트의 픽셀 데이터가 저장되는 예를 도시하며, 예컨대 어드레스 0(add_0)의 위치에 첫 번째 픽셀(p_0)의 8 비트의 픽셀 데이터가 저장되고, 이어서 어드레스 1(add_1)의 위치에 두 번째 픽셀(p_1)의 8 비트의 픽셀 데이터가 저장될 수 있다. 이와 같은 방식에 따라 다수의 픽셀들의 8 비트의 픽셀 데이터가 저장될 수 있다. 만약, 데이터 버스가 64 비트의 버스 폭을 갖는 경우, 8 개의 픽셀들(p_0 ~ p_7)의 픽셀 데이터가 상기 데이터 버스를 통해 동시에 메모리로 제공될 수 있다.
한편, 도 7의 (b)에 도시된 바와 같이, 각각의 픽셀의 2 비트의 픽셀 데이터는 메모리의 제2 영역에 저장될 수 있다. 하나의 어드레스에 대응하여 8 개의 픽셀 데이터가 저장 또는 독출되므로, 4 개의 픽셀들의 픽셀 데이터가 제2 영역의 하나의 어드레스에 대응하여 저장될 수 있다. 일 예로서, 메모리의 제2 영역에 2 비트의 픽셀 데이터가 저장됨에 있어서, 어드레스 0(add_0)의 위치에 첫 번째 내지 네 번째 픽셀들(p_0 ~ p_3)의 픽셀 데이터가 저장되고, 이어서 어드레스 1(add_1)의 위치에 다섯 번째 내지 여덟 번째 픽셀들(p_4 ~ p_7)의 픽셀 데이터가 저장될 수 있다. 즉, 하나의 어드레스에 대응하여 다수 개(예컨대, 4 개)의 픽셀들의 2 비트의 픽셀 데이터가 동시에 메모리로 제공될 수 있다. 이와 같은 저장 방식에 따라, 하나의 프레임 이미지에 속하는 모든 픽셀들 각각에 포함되는 2 비트의 픽셀 데이터가 메모리의 제2 영역에 저장될 수 있다.
도 7의 예에 따르면, 하나의 프레임 이미지에 속하는 모든 픽셀들의 데이터가 메모리에 저장될 수 있다. 또한, 픽셀의 위치와 어드레스의 위치가 얼라인되므로, 억세스 대상의 픽셀들의 데이터가 어드레스에 의해 용이하게 지시될 수 있다. 또한, 4 개의 픽셀들 각각의 2 비트의 픽셀 데이터(전체, 8 비트의 데이터)가 하나의 그룹으로 정의되고, 어드레스에 따라 상기 정의된 그룹 단위로 픽셀 데이터가 독출되어 8 비트(또는 8 비트의 배수) 단위의 데이터 버스를 통해 전달될 수 있으므로, 픽셀의 데이터 단위와 데이터 버스의 단위가 일치하지 않음에 의해 발생될 수 있는 데이터 버스의 불필요한 점유가 방지될 수 있다.
도 8a,b는 픽셀 데이터를 메모리에 저장하는 다른 예를 나타내는 블록도이다. 도 8a,b의 예에서는, 10 비트의 픽셀 데이터를 8 비트의 제2 픽셀 데이터와 2 비트의 제1 픽셀 데이터를 분리하여 메모리에 저장하되, 메모리에 대한 영역 구분 없이 제1 픽셀 데이터와 제2 픽셀 데이터를 일정한 간격에 따라 저장하는 예가 도시된다.
프레임 이미지에 대해, 다수의 픽셀들 각각의 8 비트에 해당하는 제2 픽셀 데이터가 먼저 저장될 수 있다. 예컨대, 어드레스 0(add_0)의 위치에 첫 번째 픽셀(p_0)의 8 비트의 픽셀 데이터가 저장되고, 이어서 어드레스 1(add_1)의 위치에 두 번째 픽셀(p_1)의 8 비트의 픽셀 데이터가 저장될 수 있다. 이와 같은 방식에 따라 다수의 픽셀들 각각의 8 비트의 픽셀 데이터가 8 비트 단위로 저장될 수 있다. 이후, 다수의 픽셀들 각각의 2 비트에 해당하는 픽셀 데이터가 순차적으로 저장될 수 있다. 4 개의 픽셀들 각각의 2 비트의 픽셀 데이터가 하나의 그룹으로 정의되어 하나의 어드레스에 대응하여 저장될 수 있으며, 예컨대 어드레스 80(add_80)의 위치에 첫 번째 내지 네 번째 픽셀들(p_0 ~ p_3) 각각의 2 비트의 픽셀 데이터가 저장되고, 이어서 어드레스 81(add_81)의 위치에 다섯 번째 내지 여덟 번째 픽셀들(p_4 ~ p_7) 각각의 2 비트의 픽셀 데이터가 저장될 수 있다. 상기와 같이 2 비트의 픽셀 데이터가 저장된 후, 다시 8 비트의 픽셀 데이터가 순차적으로 메모리에 저장될 수 있다.
도 8a에 도시된 실시예에 따르면, 10 비트의 픽셀 데이터 단위로 데이터가 처리되는 경우에 있어서 10 비트의 픽셀 이미지가 동시에 억세스될 수 있다. 즉, 10 비트의 픽셀 데이터 단위로 데이터가 억세스될 필요가 있는 경우 서로 다른 영역의 데이터를 여러 번 억세스할 필요 없이, 해당 픽셀의 8 비트의 픽셀 데이터에 대응하는 어드레스와, 상기 해당 픽셀의 2 비트의 픽셀 데이터가 속하는 그룹의 어드레스를 지정함에 의해 10 비트의 픽셀 데이터가 억세스될 수 있다. 반면에, 8 비트의 픽셀 데이터 단위로 데이터가 억세스될 필요가 있는 경우에는, 해당 픽셀의 8 비트의 픽셀 데이터에 대응하는 어드레스를 지정함에 의해 8 비트 단위로 픽셀 데이터가 억세스될 수 있다.
한편, 도 8b에 도시된 바와 같이, 메모리의 하나의 라인(또는 하나의 로우)의 일 측(예컨대, 좌측)의 영역에는 8 비트의 픽셀 데이터가 저장되고, 다른 일 측(예컨대, 우측)의 영역에는 2 비트의 픽셀 데이터가 저장될 수 있다. 동일한 로우 어드레스에 의해 8 비트의 픽셀 데이터와 2 비트의 픽셀 데이터가 각각 억세스될 수 있으며, 예컨대 이미지 처리 장치가 8 비트의 픽셀 데이터가 저장된 위치에 대응하는 칼럼 어드레스를 제공함으로써 8 비트의 픽셀 데이터를 억세스할 수 있으며, 또한 2 비트의 픽셀 데이터가 저장된 위치에 대응하는 칼럼 어드레스를 제공함으로써 2 비트의 픽셀 데이터를 억세스할 수 있다.
한편, 도 8a,b의 예에서는, 10 비트의 픽셀 데이터가 메모리의 동일 영역에 저장되는 것으로 설명되었으나, 본 발명의 실시예는 이에 한정될 필요는 없다. 예컨대, 10 비트의 픽셀 데이터가 8 비트의 픽셀 데이터와 2 비트의 픽셀 데이터로 분리되어 일정한 간격에 따라 메모리에 저장되므로, 상기 8 비트의 픽셀 데이터와 2 비트의 픽셀 데이터는 메모리의 서로 다른 영역에 저장되는 것으로 설명되어도 무방하다. 다만, 도 7의 예에서는 메모리의 서로 다른 영역에 동시에 데이터가 저장되거나 독출되지 않는 반면에, 도 8a,b의 예에서는 메모리의 서로 다른 영역에 동시에 데이터가 저장되거나 독출되는 것으로 설명되어도 무방하다.
도 9a,b 도 6에 도시된 디더링 및 인버스-디더링 처리 동작의 일 예를 나타내는 도면이다.
전술한 실시예에서와 같이, 픽셀 당 10 비트의 픽셀 데이터를 갖는 이미지 신호가 처리되는 반면에, 디스플레이 장치에서 픽셀 당 8 비트의 픽셀 데이터로서 계조를 구현하는 경우에는 화질이 열화될 가능성이 발생된다. 이에 따라, 코덱 모듈에서는 이미지 신호의 10 비트의 픽셀 데이터(예컨대, 제1 픽셀 데이터)에 대해 디더링 처리를 수행하고, 디더링 처리된 8 비트의 픽셀 데이터(예컨대, 제2 픽셀 데이터)가 디스플레이 장치로 제공되도록 할 수 있다.
각각의 픽셀에 포함되는 제1 픽셀 데이터에 대해 디더링 처리가 수행되고, 이로부터 8 비트의 제2 픽셀 데이터가 생성될 수 있다. 도 9a에 도시된 바와 같이, 원본 이미지 신호의 픽셀들 각각은 10 비트(10b)의 제1 픽셀 데이터를 포함하고, 상기 10 비트의 제1 픽셀 데이터에 대해 소정 포맷의 마스크를 이용한 연산 동작(예컨대, 가산 연산)을 수행하여 디더링 처리된 제2 픽셀 데이터를 생성할 수 있다. 상기 10 비트의 제1 픽셀 데이터와 마스크의 계수 들과의 연산을 통해 10 비트의 제2 픽셀 데이터가 생성될 수 있으며, 10 비트의 제2 픽셀 데이터에 대한 쉬프팅(예컨대, 2 비트 쉬프팅)을 통해 하위 2 비트를 제거하고, 나머지 8 비트의 제2 픽셀 데이터(8b')를 생성할 수 있다.
전술한 실시예에 따라 각각의 픽셀에 대한 10 비트의 픽셀 데이터는 메모리의 서로 다른 영역에 나누어 저장될 수 있으며, 예컨대 8 비트의 제2 픽셀 데이터(8b')가 메모리의 제1 영역에 저장되고, 10 비트의 제1 픽셀 데이터 중 하위 2 비트의 제1 픽셀 데이터(2b)가 메모리의 제2 영역에 저장될 수 있다.
또한, 인버스-디더링 동작을 수행함에 있어서, 도 9b에 도시된 바와 같이 메모리로부터 독출된 8 비트의 제2 픽셀 데이터(8b')에 대해 소정의 마스크를 이용한 연산(예컨대, 감산 연산)을 통하여, 8 비트의 제1 픽셀 데이터(8b)를 복원할 수 있다. 복원된 8 비트의 제1 픽셀 데이터(8b)와 메모리의 제2 영역에 저장된 하위 2 비트의 제1 픽셀 데이터(2b)를 이용하여 참조 이미지의 10 비트의 픽셀 데이터(10b)가 생성될 수 있다.
도 9a,b의 예에서는 2*2 포맷의 마스크가 도시되었으나 본 발명의 실시예는 이에 국한될 필요가 없다. 예컨대, 제1 픽셀 데이터의 단위가 10 비트보다 큰 비트 수로 이루어지고, 이에 대해 디더링 처리를 통해 8 비트의 제2 픽셀 데이터를 생성하고자 하는 경우, 더 큰 사이즈를 갖는 포맷의 마스크가 디더링 처리에 이용될 수도 있다.
도 10은 픽셀 데이터에 대한 신호 처리를 수행하는 로직 유닛들과 메모리 사이의 데이터 전송 예를 나타내는 블록도이다. 픽셀 데이터를 처리하는 이미지 처리 장치는 다수의 픽셀들에 대한 신호 처리를 위하여 다수의 로직 유닛들이 구비될 수 있다. 도 10에서는 각각의 로직 유닛이 10 비트의 픽셀 데이터를 처리하고, 메모리에는 8 비트 단위로 픽셀 데이터가 저장되는 예가 도시된다.
로직 유닛은 각각의 픽셀의 데이터에 대해 신호 처리를 수행할 수 있으며, 이에 따라 상기 로직 유닛이 10 비트의 픽셀 데이터를 처리하는 경우 메모리의 서로 다른 영역에 저장된 8 비트의 픽셀 데이터와 2 비트의 픽셀 데이터가 상기 로직 유닛으로 제공될 필요가 있다. 로직 유닛은 수신된 픽셀 데이터들에 따라 하나의 픽셀을 구성하고, 구성된 픽셀에 대해 해당 기능에 따른 신호 처리를 수행할 수 있다.
도 10의 예에 따르면, 제1 내지 제8 로직 유닛들(L_0 ~ L_7) 각각은 제1 내지 제8 픽셀들(p_0 ~ p_7) 각각의 데이터를 처리할 수 있다. 일 예로서, 제1 픽셀(p_0)은 10 비트의 픽셀 데이터를 포함할 수 있으며, 이들 중 8 비트의 픽셀 데이터는 제1 영역에 저장될 수 있으며, 2 비트의 픽셀 데이터는 제2 영역에 저장될 수 있다. 제1 로직 유닛(L_0)은 제1 영역에 저장된 제1 픽셀(p_0)의 8 비트의 픽셀 데이터와 제2 영역에 저장된 제1 픽셀(p_0)의 2 비트의 픽셀 데이터를 수신하고 이를 조합하여 제1 픽셀(p_0)을 구성할 수 있다. 만약, 제1 내지 제8 로직 유닛들(L_0 ~ L-7)로 제1 내지 제8 픽셀들(p_0 ~ p_7)의 데이터가 동시에 제공되는 경우, 메모리의 제1 영역에 저장된 제1 내지 제8 픽셀들(p_0 ~ p_7) 각각의 8 비트의 픽셀 데이터는 대응하는 로직 유닛으로 제공될 것이다. 또한, 메모리의 제2 영역에 저장된 제1 내지 제8 픽셀들(p_0 ~ p_7) 각각의 2 비트의 픽셀 데이터는 4 개의 픽셀들의 데이터를 포함하는 하나의 그룹 단위로 억세스가 수행되며, 하나의 어드레스에 대응하는 제1 내지 제4 픽셀들(p_0 ~ p_3) 각각의 2 비트의 픽셀 데이터는 제1 내지 제4 로직 유닛들(L_0 ~ L_3) 각각으로 제공될 것이다.
상기와 같은 실시예에 따르면, 8 비트 처리 동작과 10 비트 처리 동작을 위한 로직 구성이 간단해질 수 있다. 예컨대, 로직 유닛의 데이터 처리 단위와 메모리의 데이터 저장 단위가 서로 다른 경우, 메모리에 저장된 각각의 픽셀의 10 비트의 데이터를 대응하는 로직 유닛으로 제공하기 위한 어드레싱 과정이 복잡해질 수 있다. 그러나, 본 발명의 실시예에 따르면, 10 비트 로직 유닛은 8 비트 로직과 2 비트 로직으로 구성되고, 8 비트 로직들 각각에 대해서는 도 10에 도시된 데이터 전송 경로에 따라 메모리의 제1 영역에 저장된 8 비트의 픽셀 데이터가 제공되도록 할 수 있다. 또한, 10 비트 처리 동작에 따라 추가의 2 비트 로직을 동작하기 위하여, 도 10에 도시된 바와 같이 메모리의 제2 영역에 저장된 2 비트의 픽셀 데이터가 상기 2 비트 로직으로 제공되도록 할 수 있다. 즉, 8 비트 처리 동작이나 10 비트 처리 동작에 있어서, 제1 영역의 8 비트의 픽셀 데이터는 동일한 경로에 따라 8 비트 로직으로 제공되며, 10 비트의 처리 동작에서 별도의 전송 경로를 통해 2 비트의 픽셀 데이터가 추가의 2 비트 로직으로 제공되도록 할 수 있다. 이 경우, 메모리에서 어드레스의 위치와 픽셀의 위치가 얼라인되므로 어드레싱이 간소해질 뿐 아니라, 추가 2 비트의 로직에 대하여 클록 게이팅이나 파워 게이팅을 통해 별도로 전원이 차단되도록 할 수 있으므로 파워 관점에서도 효율적이다.
도 11은 본 발명의 일 실시예에 따른 이미지 처리 시스템의 동작방법을 나타내는 플로우차트이다. 도 11에서는 이미지 신호가 다수의 픽셀들을 포함하고, 각각의 픽셀은 (M+N) 비트의 픽셀 데이터를 포함하는 예가 설명된다. 또한, 이미지 처리를 수행하는 장치로서, 디더링 처리 등을 수행하여 변환된 픽셀 데이터를 생성하는 코덱 모듈의 예가 설명된다.
이미지 처리 시스템으로 (M+N) 비트의 픽셀 데이터가 수신되며(S11), 상기 픽셀 데이터는 이미지 처리 시스템에 의해 신호 처리되기 전의 신호로서 (M+N) 비트의 제1 픽셀 데이터로 지칭될 수 있다. 이미지 처리 시스템은 (M+N) 비트의 제1 픽셀 데이터에 대해 신호 처리를 수행하며, 예컨대 데이터 변환 동작을 통하여 M 비트의 제2 픽셀 데이터를 생성할 수 있다(S12).
이미지 처리 시스템은 메모리와 억세스를 수행하여, 메모리에 픽셀 데이터를 저장하거나 메모리로부터 픽셀 데이터를 독출할 수 있다. 일 예로서, 이미지 처리 시스템이 시스템 온 칩 내부에 구비되고, 또한 이미지 처리 시스템은 시스템 온 칩 내부에 구비되는 임베디드 메모리에 대한 억세스를 수행할 수 있다. 또는, 이미지 처리 시스템은 시스템 온 칩의 외부에 구비되는 외부 메모리에 대한 억세스를 수행할 수 있다. 도 11의 실시예에 따르면, 상기 이미지 처리 시스템은 시스템 온 칩 내부의 데이터 버스를 통해 임베디드 메모리에 픽셀 데이터를 저장할 수 있다. 또는, 상기 이미지 처리 시스템은 시스템 온 칩 외부의 데이터 버스를 통해 외부 메모리에 픽셀 데이터를 저장할 수 있다.
상기 이미지 처리 시스템이 메모리를 억세스함에 있어서, 전술한 실시예에 따라 픽셀 데이터가 M 비트와 N 비트 단위로 나누어서 저장되도록 할 수 있다. 예컨대, 신호 처리 동작을 통해 생성된 M 비트의 제2 픽셀 데이터를 상기 메모리의 제1 영역에 저장할 수 있다(S13). 또한, 원본 이미지 신호로서 N 비트의 제1 픽셀 데이터를 상기 메모리의 제2 영역에 저장할 수 있다(S14). 이후, 메모리에 저장된 픽셀 데이터를 이용하는 다른 데이터 처리 장치의 경우 M 비트 처리 동작에 기반하는 기능을 수행하거나, 또는 (M+N) 비트 처리 동작에 기반하는 기능을 수행할 수 있다. M 비트 처리 동작에 기반하는 시스템은 메모리의 제1 영역을 억세스하여 픽셀 데이터를 수신할 수 있으며, 또한 (M+N) 비트 처리 동작에 기반하는 시스템은 메모리의 제1 영역 및 제2 영역을 억세스하여 픽셀 데이터를 수신할 수 있다.
도 12는 본 발명의 다른 실시예에 따른 이미지 처리 시스템의 동작방법을 나타내는 플로우차트이다. 도 12에서는 이미지 신호가 다수의 픽셀들을 포함하고, 각각의 픽셀은 (M+N) 비트의 픽셀 데이터를 포함하는 예가 설명된다. 또한, 도 12에서는 메모리에 저장된 픽셀 데이터가 서로 다른 비트 수 단위로 데이터 처리를 수행하는 이미지 처리 장치들로 각각 제공되는 예로서, 예컨대 (M+N) 비트 기반의 코덱 모듈과 M 비트 기반의 디스플레이 장치의 예가 도시된다.
먼저, 전술한 실시예에 따라, 어느 하나의 픽셀에 대응하는 M 비트의 픽셀 데이터가 메모리의 제1 영역에 저장되고(S21), 또한 상기 픽셀에 대응하는 N 비트의 픽셀 데이터가 메모리의 제2 영역에 저장된다(S22). 이후, 메모리에 저장된 픽셀 데이터는 각종 이미지 처리 장치들로 제공될 수 있다.
예컨대, 디스플레이 장치가 각 픽셀 당 M 비트의 픽셀 데이터에 따라 계조를 구현하는 경우, 메모리의 제1 영역에 저장된 픽셀 데이터가 M 비트(또는, M 비트의 배수)의 버스 폭을 갖는 데이터 버스를 통해 디스플레이 장치에 제공될 수 있다(S23). 디스플레이 장치는 수신된 픽셀 데이터를 이용하여 화면을 출력하며, 예컨대 각 픽셀 당 M 비트의 픽셀 데이터에 따른 계조로서 화면을 출력할 수 있다.
또한, 이미지 처리 동작을 위해서 메모리에 저장된 프레임 이미지가 참조 이미지로서 이용될 수 있으며, 이를 위하여 메모리의 제1 및 제2 영역들에 저장된 (M+N) 비트의 픽셀 데이터가 코덱 모듈로 제공될 수 있다. 전술한 실시예에 따라, 메모리의 제1 영역에 저장된 픽셀 데이터가 M 비트 또는 M 비트의 배수 단위로 코덱 모듈로 제공되며, 또한 메모리의 제2 영역에 저장된 픽셀 데이터가 그룹 단위로 코덱 모듈로 제공될 수 있다. 예컨대, 하나의 그룹은 4 개의 픽셀들 각각의 N 비트의 픽셀 데이터를 포함하며, 하나의 그룹의 픽셀 데이터의 비트 수는 M 비트에 해당할 수 있다.
코덱 모듈은 수신된 (M+N) 비트의 픽셀 데이터를 이용하여 참조 이미지를 생성할 수 있으며, 예컨대 메모리의 제1 영역에서 독출된 M 비트의 픽셀 데이터에 대한 변환 처리를 수행하고(S25), 변환 처리된 픽셀 데이터와 메모리의 제2 영역에서 독출된 N 비트의 픽셀 데이터를 조합하여 참조 이미지를 생성할 수 있다(S26).
도 13a,b는 본 발명의 실시예에 따른 이미지 처리 장치를 포함하는 시스템의 다른 예를 나타내는 블록도이다. 일 예로서 도 13a의 시스템은 모바일 장치(400)일 수 있으며, 이미지 신호의 픽셀 데이터를 처리하는 이미지 처리 장치가 모바일 장치(400) 내의 기능 블록으로 도시된다. 상기 이미지 처리 장치는 프로세싱 블록으로 지칭될 수도 있다.
도 13a에 도시된 바와 같이, 모바일 장치(400)는 어플리케이션 프로세서(410), 제1 시모스 이미지 센서(421), 제2 시모스 이미지 센서(422), 제1 프로세싱 블록(431), 제2 프로세싱 블록(432), 메모리(440) 및 디스플레이 장치(450)를 포함할 수 있다. 또한, 어플리케이션 프로세서(410)는 코덱 모듈(411)을 포함할 수 있다. 상기 모바일 장치(400)에 구비되는 각종 기능 블록들은 시스템 버스를 통해 서로 신호를 송수신할 수 있으며, 또한 픽셀 데이터는 시스템 버스 내의 데이터 버스를 통해 송수신될 수 있다.
어플리케이션 프로세서(410)는 다수의 IP들을 포함하는 시스템 온 칩(System on Chip, SoC)으로 구현될 수 있으며, 어느 하나의 IP로서 코덱 모듈(411)을 포함할 수 있다. 또한, 도 13a에 도시된 각각의 기능 블록들은 픽셀 데이터를 송수신함에 있어서 서로 다른 수의 비트를 갖는 픽셀 데이터를 송수신할 수 있다. 예컨대, 어플리케이션 프로세서(410), 제2 시모스 이미지 센서(422), 제2 프로세싱 블록(432)은 픽셀 당 (M+N) 비트 단위로 픽셀 데이터를 송수신할 수 있다. 또한, 제1 시모스 이미지 센서(421), 제1 프로세싱 블록(431) 및 디스플레이 장치(450)는 픽셀 당 M 비트 단위로 픽셀 데이터를 송수신할 수 있다. 메모리(440)는 억세스를 요청하는 기능 블록의 데이터 처리 단위에 따라, 픽셀 당 (M+N) 비트 단위로 픽셀 데이터를 저장 또는 독출하거나, 픽셀 당 M 비트 단위로 픽셀 데이터를 저장 또는 독출할 수 있다.
일 예로서, 제1 시모스 이미지 센서(421)와 제2 시모스 이미지 센서(422)는 서로 다른 해상도를 갖는 이미지를 생성할 수 있으며, 예컨대 픽셀 당 서로 다른 비트 수를 갖는 픽셀 데이터를 생성할 수 있다. 예컨대, 제1 시모스 이미지 센서(421)가 픽셀 당 M 비트의 픽셀 데이터를 생성하는 경우, M 비트(또는 M 비트의 배수)의 데이터 버스를 통해 픽셀 데이터를 메모리(440)로 제공할 것이다. 반면에, 제2 시모스 이미지 센서(422)가 픽셀 당 (M+N) 비트의 픽셀 데이터를 생성하는 경우, 전술한 실시예에서와 같이 (M+N) 비트의 픽셀 데이터는 M 비트의 픽셀 데이터와 N 비트의 픽셀 데이터로 분리되고, 분리된 각각의 픽셀 데이터는 M 비트(또는 M 비트의 배수)의 데이터 버스를 통해 메모리(440)로 제공될 것이다.
(M+N) 비트의 픽셀 데이터는 M 비트의 픽셀 데이터와 N 비트의 픽셀 데이터로 구분되어 메모리(440)의 서로 다른 영역에 저장될 수 있다. 예컨대, M 비트의 픽셀 데이터가 M 비트(또는 M 비트의 배수)의 데이터 버스를 통해 메모리(440)로 제공되며, 또한 다수의 픽셀들의 N 비트의 픽셀 데이터가 하나의 그룹으로 정의되고, 상기 그룹의 픽셀 데이터가 M 비트(또는 M 비트의 배수)의 데이터 버스를 통해 메모리(440)로 제공될 수 있다. 즉, 각각의 픽셀의 M 비트의 픽셀 데이터(예컨대, 상위 M 비트의 픽셀 데이터)가 메모리(440)로 제공된 후, 각각의 픽셀의 N 비트의 픽셀 데이터(예컨대, 하위 N 비트의 픽셀 데이터)가 메모리(440)로 순차적으로 제공될 수 있다.
상기 제1 시모스 이미지 센서(421) 및 제2 시모스 이미지 센서(422)의 데이터 억세스 방식과 유사하게, 제1 프로세싱 블록(431) 및 제2 프로세싱 블록(432) 또한 각각에 대해 정의되는 데이터 처리 단위에 따라 메모리(440)를 억세스할 수 있다. 또한, 디스플레이 장치(450)는 M 비트의 픽셀 데이터를 억세스하고, 수신된 M 비트의 픽셀 데이터에 따라 계조를 구현하여 화면을 출력할 것이다.
도 13b는 도 13a의 시스템에서 메모리를 억세스하는 일 예를 나타낸다. 도 13b에 도시된 메모리는 도 13a의 메모리(440)일 수 있으며, 또는 시스템 온 칩(예컨대, 도 13a의 AP) 내부에 구비되는 임베디드 메모리일 수 있다.
제2 시모스 이미지 센서(422)는 광 감지에 따른 전기적 신호를 발생하는 센싱 유닛(422_1)과 상기 전기적 신호를 디지털 데이터로 변환하는 이미지 신호 프로세서(ISP, 422_2)를 포함할 수 있다. 제2 시모스 이미지 센서(422)는 픽셀 당 10 비트에 해당하는 픽셀 데이터를 생성하고, 상기 10 비트에 해당하는 픽셀 데이터가 8 비트의 픽셀 데이터와 2 비트의 픽셀 데이터로 분리되어 저장하도록 메모리로 제공할 수 있다.
상기 다수의 픽셀들 각각의 8 비트의 픽셀 데이터는 메모리의 제1 영역(8 bit Region)에 저장되고, 상기 다수의 픽셀들 각각의 2 비트의 픽셀 데이터는 메모리의 제2 영역(2 bit Region)에 저장될 수 있다. 상기와 같이 저장되는 메모리의 픽셀 데이터는 다른 이미지 처리 장치에 의해 이용될 수 있다.
예컨대, 메모리의 제1 영역(8 bit Region)에 저장된 픽셀 당 8 비트의 데이터가 디스플레이 장치로 제공되어 화면이 출력될 수 있다. 한편, 코덱 모듈(411)은 메모리에 저장된 픽셀 데이터(예컨대, 디코딩된 픽셀 데이터)에 대해 인코딩 동작을 수행할 수 있으며, 이에 따라 코덱 모듈(411)은 인코딩 유닛(411_1)을 포함할 수 있다. 인코딩 동작은 픽셀 당 10 비트의 데이터에 대해 수행될 수 있으며, 이에 따라 메모리의 제1 영역(8 bit Region) 및 제2 영역(2 bit Region)에 저장된 픽셀 데이터는 인코딩 유닛(411_1)으로 제공된다. 인코딩 유닛(411_1)은 인코딩 동작을 통해 비트 스트림을 생성하며, 상기 생성된 비트 스트림은 시스템 내에 저장되거나, 또는 다른 시스템으로 전송될 수 있다.
도 14a,b는 본 발명의 실시예에 따른 이미지 처리 장치를 포함하는 시스템의 또 다른 예를 나타내는 블록도이다. 일 예로서 도 14a,b의 시스템은 서로 다른 수의 픽셀 데이터로서 계조를 구현하는 디스플레이 장치가 적용된 예가 도시된다. 도 14a,b에 도시된 각각의 기능 블록은 본 발명의 실시예에 따른 이미지 처리 장치에 해당할 수 있다. 또한, 도 14a,b에 도시된 하나 이상의 기능 블록들이 본 발명의 실시예에 따른 이미지 처리 시스템을 구성할 수 있다. 또한, 본 발명의 실시예에 따른 시스템 온 칩은 본 발명의 실시예에 따른 이미지 처리를 수행하는 하나 이상의 이미지 처리 장치를 포함할 수 있으며, 예컨대 도 14a,b의 어플리케이션 프로세서(510)는 본 발명의 실시예에 따른 시스템 온 칩일 수 있다. 또한, 도 14a,b의 시스템은 모바일 장치(500)일 수 있다.
도 14a에 도시된 바와 같이, 모바일 장치(500)는 어플리케이션 프로세서(510), 시모스 이미지 센서(520), 메모리(530) 및 디스플레이 장치(540_A)를 포함할 수 있다. 또한, 어플리케이션 프로세서(510)은 코덱 모듈(511)을 포함할 수 있다. 또한, 디스플레이 장치(540_A)는 각각의 픽셀의 계조를 구현함에 있어서, (M+N) 비트의 픽셀 데이터를 이용하여 계조를 구현할 수 있다. 도 14a에 도시된 모바일 장치(500) 내의 기능 블록들은 픽셀 당 (M+N) 비트의 데이터를 송수신할 수 있다. 또한, 디스플레이 장치(540_A)는 픽셀 당 (M+N) 비트의 데이터를 수신할 수 있다. 픽셀 데이터의 송수신을 위한 데이터 버스는 M 비트(또는 M 비트의 배수)의 버스 폭을 갖는 것으로 가정한다.
도 14a에 도시된 실시예에 따르면, 어플리케이션 프로세서(510)는 (M+N) 비트의 픽셀 데이터에 대해 비트 수를 감소시키기 위한 별도의 변환 과정 없이 상기 (M+N) 비트의 픽셀 데이터를 메모리(530)에 저장할 수 있다. 즉, 디스플레이 장치(540_A)가 각각의 픽셀에 대해 (M+N) 비트의 픽셀 데이터를 이용하여 계조를 구현하므로, 전술한 실시예에서와 같은 비트 수 변환을 위한 디더링 처리 등을 수행할 필요가 없다. 다만, 전술한 실시예에서와 동일 또는 유사하게 데이터 버스를 이용하여 (M+N) 비트의 픽셀 데이터를 메모리(530)로 제공할 것이며, 일 예로서 각각의 픽셀의 M 비트의 픽셀 데이터를 메모리(530)로 제공하고 난 후, 다수의 픽셀들의 N 비트의 픽셀 데이터를 하나의 그룹으로 정의하고, 상기 그룹의 픽셀 데이터를 메모리(530)로 제공할 수 있다. 또한, M 비트의 픽셀 데이터와 N 비트의 픽셀 데이터는 메모리(530)의 서로 다른 영역에 저장될 수 있다.
시모스 이미지 센서(520)는 픽셀 당 (M+N) 비트의 픽셀 데이터를 갖는 이미지 신호를 생성하거나 픽셀 당 M 비트의 픽셀 데이터를 갖는 이미지 신호를 생성할 수 있다. 픽셀 당 M 비트의 픽셀 데이터가 생성되는 경우, 상기 픽셀 데이터는 메모리(530)의 제1 영역에 저장될 수 있다. 또는, 픽셀 당 (M+N) 비트의 픽셀 데이터가 생성되는 경우, 상기 픽셀 데이터는 메모리(530)의 제1 영역 및 제2 영역에 각각 분리되어 저장될 수 있다. 또한 디스플레이 장치(540_A)는 메모리(530)로부터 픽셀 당 (M+N) 비트의 픽셀 데이터를 갖는 이미지 신호를 수신할 수 있다. 상기와 같은 픽셀 데이터의 송수신 동작은 상기한 어플리케이션 프로세서(510)의 픽셀 데이터 송수신 동작과 동일 또는 유사하게 M 비트의 픽셀 데이터와 N 비트의 픽셀 데이터가 분리되어 송수신될 수 있다.
한편, 도 14b에서는 디스플레이 장치(540_B)가 각각의 픽셀에 대해 M 비트의 픽셀 데이터를 이용하여 계조를 구현하는 경우가 예시되며, 이 경우 전술한 실시에에 따라 코덱 모듈(511)은 디더링 처리 등의 데이터 변환 동작을 수행하여 디더링 처리된 M 비트의 픽셀 데이터를 생성할 수 있다. 디스플레이 장치(540_B)는 M 비트의 픽셀 데이터(예컨대, 디더링 처리된 픽셀 데이터)가 저장된 메모리(530)의 제1 영역만을 선택적으로 억세스하여 화면을 출력할 수 있다.
도 15는 본 발명의 실시예에 따른 이미지 처리 장치로서 코덱 모듈의 다른 구현 예를 나타내는 블록도이다. 도 15에는 코덱 모듈(500) 이외에도 메모리 및 디스플레이 장치가 더 도시된다. 또한, 도 15의 메모리는 시스템 온 칩의 외부에 배치되는 외부 메모리(EM)나 시스템 온 칩의 내부에 배치되는 임베디드 메모리일 수 있다. 이하, 도 15에서 상기 메모리는 외부 메모리(EM)인 것으로 가정한다. 또한, 도 15에서는 (M+N) 비트의 픽셀 데이터가 10 비트에 해당하고, M 비트의 픽셀 데이터는 8 비트에 해당하며, N 비트의 픽셀 데이터는 2 비트에 해당하는 것으로 가정한다.
코덱 모듈(500)은 외부 메모리(EM)로 픽셀 데이터를 제공하는 데이터 제공 유닛과 외부 메모리(EM)로부터 픽셀 데이터를 수신하는 데이터 수신 유닛을 포함할 수 있다. 데이터 제공 유닛은 인코딩된 이미지 신호를 디코딩하는 디코딩 유닛(510)과, 디코딩 유닛으로부터 생성된 디코딩된 이미지 신호(예컨대, 원본 이미지 신호)에 대한 디더링 처리를 수행하는 디더링 유닛(520)을 포함할 수 있다. 또한, 데이터 제공 유닛은 픽셀 데이터의 전달 경로를 제어하는 제1 경로 제어부(551)를 더 포함할 수 있다.
데이터 수신 유닛은 외부 메모리(EM)부터 수신된 픽셀 데이터에 대한 인버스-디더링 등의 동작을 수행하여 픽셀 데이터를 복원하는 인버스-디더링 유닛(530)과, 복원된 픽셀 데이터와 외부 메모리(EM)부터 수신된 픽셀 데이터를 이용하여 상기 원본 이미지 신호에 상응하는 참조 이미지를 생성하는 참조 이미지 생성부(540)를 포함할 수 있다. 또한, 데이터 수신 유닛은 외부 메모리(EM)부터 수신된 픽셀 데이터에 대한 전달 경로를 제어하는 제2 경로 제어부(552)를 더 포함할 수 있다.
도 14a,b의 실시예에서 설명된 바와 같이, 본 발명의 실시예에 따른 시스템 온 칩이 채용된 모바일 장치 등의 시스템에 다양한 디스플레이 장치가 구비될 수 있다. 일 예로서, 시스템에 채용된 디스플레이 장치의 화면 출력 특성(예컨대, 계조를 구현하기 위한 픽셀 당 데이터의 비트 수)에 따라 코덱 모듈(500)은 디더링 처리 등의 동작을 수행하거나 또는 스킵할 수 있다. 만약, 시스템에 채용된 디스플레이 장치가 픽셀 당 10 비트의 픽셀 데이터에 따라 계조를 구현하는 경우, 제1 경로 제어부(551)는 원본 이미지의 픽셀 데이터를 바로 외부 메모리(EM)로 제공할 수 있으며, 예컨대 10 비트의 픽셀 데이터는 외부 메모리(EM)의 제1 영역에 저장되고 2 비트의 픽셀 데이터는 외부 메모리(EM)의 제2 영역에 저장되도록 제어할 수 있다.
반면에, 시스템에 채용된 디스플레이 장치가 픽셀 당 8 비트의 픽셀 데이터에 따라 계조를 구현하는 경우, 원본 이미지의 각각의 픽셀의 10 비트의 픽셀 데이터에 대한 디더링 처리가 수행될 수 있으며, 이에 따라 디더링 처리 결과로서의 8 비트의 픽셀 데이터에 의해 화면이 출력될 수 있다. 이를 위하여, 제1 경로 제어부(551)는 원본 이미지의 픽셀 데이터를 디더링 유닛(520)으로 제공할 수 있다. 일 실시예로서, 제1 경로 제어부(551)는 10 비트의 픽셀 데이터의 하위 2 비트의 픽셀 데이터를 바로 외부 메모리(EM)로 제공하여 외부 메모리(EM)의 제2 영역에 저장되도록 할 수 있다. 또한, 제1 경로 제어부(551)는 10 비트의 픽셀 데이터를 디더링 유닛(520)으로 제공하고, 디더링 유닛(520)으로부터의 디더링 처리된 8 비트의 픽셀 데이터가 외부 메모리(EM)의 제1 영역에 저장되도록 할 수 있다.
한편, 외부 메모리(EM)에 저장된 픽셀 데이터가 독출되어 제2 경로 제어부(552)로 제공될 수 있다. 만약, 외부 메모리(EM)에 저장된 픽셀 데이터가 디더링 처리가 수행되지 않은 원본 이미지에 해당하는 경우, 제2 경로 제어부(552)는 외부 메모리(EM)에 저장된 10 비트의 픽셀 데이터를 바로 참조 이미지 생성부(540)로 제공할 수 있다. 반면에, 외부 메모리(EM)의 제1 영역에 저장된 픽셀 데이터가 디더링 처리가 수행된 데이터에 해당하는 경우, 제2 경로 제어부(552)는 외부 메모리(EM)의 제2 영역으로부터 독출된 2 비트의 픽셀 데이터를 바로 참조 이미지 생성부(540)로 제공할 수 있다. 반면에, 제2 경로 제어부(552)는 외부 메모리(EM)의 제1 영역으로부터 독출된 8 비트의 픽셀 데이터를 인버스-디더링 유닛(530)으로 제공하고, 인버스-디더링 유닛(530)으로부터 복원된 8 비트의 픽셀 데이터가 참조 이미지 생성부(540)로 제공될 수 있다.
도 15의 실시예에 따르면, 본 발명의 실시예에 따른 코덱 모듈(500)이 채용된 시스템 온 칩은, 상기 시스템 온 칩에 의해 구동될 수 있는 디스플레이 장치의 특성에 따라 적응적으로 데이터 처리를 수행할 수 있다. 또한, 전술한 실시예에 따라 픽셀 데이터를 분리하여 관리함으로써 데이터 버스를 효율적으로 사용할 수 있을 뿐 아니라, 채택된 디스플레이 장치에 따라 디더링 처리를 선택적으로 수행하여 화질 열화를 방지할 수 있다.
도 16은 본 발명의 또 다른 실시예에 따른 이미지 처리 시스템을 나타내는 블록도이다. 도 16에 도시된 이미지 처리 시스템은 시스템 온 칩으로 구현될 수 있으며, 상기 시스템 온 칩에 구비될 수 있는 IP들 중 코덱 모듈의 구현 예를 나타낸다. 도 15에는 도시되지 않았으나, 상기 시스템 온 칩에 구비되며 픽셀 데이터를 송수신하는 다른 기능 블록들에 대해서도 본 발명의 실시예가 적용될 수 있다.
도 16에 도시된 바와 같이, 이미지 처리 시스템(600)은 시스템 버스를 통해 서로 통신하는 다수의 IP 들을 포함할 수 있으며, 예컨대 이미지 처리 시스템(600)은 코덱 모듈(610), 중앙 처리 장치(620), 파워 제어 모듈(630) 및 클록 생성 모듈(640)를 포함할 수 있다. 또한, 코덱 모듈(610)는 픽셀 데이터를 처리하기 위한 하나 이상의 로직 유닛(611)를 포함할 수 있으며, 예컨대 각각의 로직 유닛(611)은 (M+N) 비트의 픽셀 데이터를 처리하는 (M+N) 비트 로직 유닛일 수 있다. 또한, 로직 유닛(611)는 M 비트의 픽셀 데이터를 처리하는 M 비트 로직과, N 비트의 픽셀 데이터를 처리하는 N 비트 로직을 포함할 수 있다. 또한, 코덱 모듈(610)는 하나 이상의 로직 유닛(611)으로 제공되는 파워를 게이팅하기 위한 파워 게이팅부(612) 및 클록 신호를 게이팅하기 위한 클록 게이팅부(613)를 더 포함할 수 있다.
코덱 모듈(610)의 (M+N) 비트 로직 유닛(611)에 포함되는 M 비트 로직과 N 비트 로직은 개별적으로 동작할 수 있다. 예컨대, 코덱 모듈(610)로 제공되는 이미지 신호나 코덱 모듈(610)로부터 출력되는 이미지 신호가 각각 픽셀 당 M 비트의 픽셀 데이터를 포함하는 경우에는, 코덱 모듈(610)의 N 비트 로직은 이용될 필요가 없다. 이 경우, 파워 게이팅부(612)는 각각의 로직 유닛(611)의 M 비트 로직으로는 파워가 제공되는 반면에 N 비트 로직으로의 파워 제공은 차단되도록 제어할 수 있다. 또한, 클록 게이팅부(613)는 각각의 로직 유닛(611)의 M 비트 로직으로는 클록 신호가 제공되는 반면에 N 비트 로직으로의 클록 신호의 제공은 차단되도록 제어할 수 있다.
반면에, 코덱 모듈(610)로 제공되는 이미지 신호나 코덱 모듈(610)로부터 출력되는 이미지 신호가 각각 픽셀 당 (M+N) 비트의 픽셀 데이터를 포함하는 경우에는, 파워 게이팅부(612) 및 클록 게이팅부(613)의 동작에 따라 N 비트 로직으로 파워 및 클록 신호가 제공될 수 있다.
도 17은 본 발명의 또 다른 실시예에 따른 이미지 처리 시스템의 동작방법을 나타내는 플로우차트이다. 도 17에서는 디스플레이 장치에 적응적인 이미지 신호의 처리 예가 설명된다.
도 17에 도시된 바와 같이, 이미지 처리 시스템에서 제공되는 픽셀 데이터에 따라 화면을 출력하는 디스플레이 장치의 특성에 따라 디스플레이 모드가 설정될 수 있다(S31). 예컨대, 디스플레이 장치는 특정한 비트 수의 데이터에 따라 구현되는 계조를 지원할 수 있으며, 이에 따라 디스플레이 장치에 따라 하나의 픽셀의 계조를 구현하기 위한 픽셀 데이터의 비트 수가 달라질 수 있다.
이미지 처리 시스템이 픽셀 당 (M+N) 비트의 픽셀 데이터로서 메모리와 억세스를 수행할 때, 이미지 처리 시스템은 인코딩된 이미지 신호의 픽셀 데이터를 수신하고(S32), 인코딩된 이미지 신호의 픽셀 데이터에 대해 기 설정된 모드에 따라 신호 처리를 수행한다. 예컨대, (M+N) 비트의 픽셀 데이터를 이용하여 계조를 구현하는 디스플레이 장치가 채택될 때 이미지 처리 시스템의 동작 모드는 제1 모드로 설정될 수 있으며, 반면에 M 비트의 픽셀 데이터를 이용하여 계조를 구현하는 디스플레이 장치가 채택될 때 이미지 처리 시스템의 동작 모드는 제2 모드로 설정될 수 있다. 설정된 모드가 제1 모드인지가 판단되고(S33), 제1 모드인 경우에는 수신된 인코딩된 픽셀 데이터에 대한 디코딩 동작을 수행하고 디코딩된 (M+N) 비트의 픽셀 데이터를 메모리에 저장한다(S34). 즉, 디코딩된 (M+N) 비트의 픽셀 데이터에 대한 비트 수 변환을 위한 별도의 처리 과정 없이 상기 (M+N) 비트의 픽셀 데이터는 메모리에 저장될 수 있으며, 전술한 실시예에서와 같이 M 비트의 픽셀 데이터와 N 비트의 픽셀 데이터로 분리되어 메모리의 서로 다른 영역에 각각 저장될 수 있다. 이후, 메모리에 저장된 (M+N) 비트의 픽셀 데이터는 디스플레이 장치로 제공되며, 디스플레이 장치는 각각의 픽셀에 대해 (M+N) 비트의 픽셀 데이터를 이용하여 계조를 구현하여 디스플레이 동작을 수행한다(S35).
반면에, 설정된 모드의 판단 결과 제2 모드에 해당하는 경우에는, 인코딩된 픽셀 데이터에 대한 디코딩 동작을 수행하고(S36), 디코딩된 (M+N) 비트의 픽셀 데이터에 대해 변환 처리를 수행한다(S37). 일 예로서, (M+N) 비트의 픽셀 데이터에 대한 디더링 처리를 통해 변환된 M 비트의 픽셀 데이터가 생성된다. 변환된 M 비트의 픽셀 데이터와 N 비트의 픽셀 데이터(예컨대, 원본 이미지 신호의 픽셀 데이터)는 메모리의 서로 다른 영역에 각각 저장될 수 있다(S38). 이후, 메모리의 제1 영역에 저장된 M 비트의 픽셀 데이터가 선택적으로 독출되어 디스플레이 장치로 제공되며, 디스플레이 장치는 각각의 픽셀에 대해 M 비트의 픽셀 데이터를 이용하여 계조를 구현하여 디스플레이 동작을 수행한다(S39).
도 18은 본 발명의 또 다른 실시예에 따른 이미지 처리 시스템의 동작방법을 나타내는 플로우차트이다. 도 18에서는 이미지 신호의 처리 단위에 따른 파워 및 클록 신호의 게이팅을 수행하는 예가 설명된다.
이미지 처리 시스템으로 데이터 처리 요청이 수신된다(S41). 데이터 처리 요청에 따라, 이미지 처리 시스템에 구비되는 이미지 처리 장치에 의해 데이터가 처리될 수 있다. 예컨대, 이미지 처리 장치가 (M+N) 비트의 데이터 단위로 처리 동작을 수행하는 경우, 상기 이미지 처리 장치는 각각 (M+N) 비트의 픽셀 데이터를 처리하기 위한 하나 이상의 로직 유닛들을 포함할 수 있으며, 각각의 로직 유닛은 M 비트 로직과 N 비트 로직을 포함할 수 있다.
로직 유닛은 데이터 처리 동작에 따라 (M+N) 비트의 픽셀 데이터를 처리하거나 M 비트의 픽셀 데이터를 처리할 수 있다. 이미지 처리 시스템은 해당 요청이 (M+N) 비트 단위의 데이터 처리 요청인지를 판단하고(S42), 판단 결과 (M+N) 비트 단위의 데이터 처리 요청인 경우에는 M 비트 로직과 N 비트 로직이 모두 구동되도록 제어하고, 이에 따라 (M+N) 비트의 로직 유닛은 (M+N) 비트의 픽셀 데이터에 대한 처리 동작을 수행한다(S43). 처리된 (M+N) 비트의 픽셀 데이터는 메모리에 저장될 수 있으며, 예컨대 M 비트의 픽셀 데이터는 메모리의 제1 영역에 저장되고 N 비트의 픽셀 데이터는 메모리의 제2 영역에 저장될 수 있다(S44).
반면에, M 비트 단위의 데이터 처리 요청인 것으로 판단된 경우에는, 이미지 처리 시스템은 파워 게이팅 또는 클록 게이팅에 기반하여 N 비트 로직으로의 파워 제공 및/또는 클록 신호의 제공을 차단할 수 있다(S45). 이에 따라 M 비트 로직이 선택되어 M 비트의 픽셀 데이터가 처리될 수 있다(S46). 처리된 M 비트의 픽셀 데이터는 메모리의 제1 영역에 저장될 수 있다(S47).
도 19는 본 발명의 실시예에 따른 이미지 처리 시스템이 채용된 디스플레이 구동 회로를 나타내는 블록도이다. 일 예로서 디스플레이 구동 회로는 모바일 장치에 장착되는 모바일 디스플레이 구동 회로(Mobile DDI)일 수 있다.
본 발명의 실시예에 따른 이미지 처리 시스템은 다양하게 구현될 수 있으며, 예컨대 전술한 바와 같이 이미지 처리 시스템은 시스템 온 칩으로 구현될 수 있다. 도 19의 디스플레이 구동 회로(700)는 다양한 기능 블록들로서 타이밍 콘트롤러(710), 게이트 드라이버(720), 소스 드라이버(730), 코덱 모듈(740) 및 메모리(750)를 포함할 수 있다. 코덱 모듈(740)을 포함하여 디스플레이 구동 회로(700) 내의 각종 기능 블록들이 하나의 반도체 칩에 집적된 시스템 온 칩으로 정의될 수 있다. 또한, 메모리(750)는 시스템 온 칩 내부에 포함될 수 있으며 이 경우 메모리(750)는 임베디드 메모리로 지칭될 수 있다. 또는, 메모리(750)는 시스템 온 칩 외부에 배치될 수 있으며 이 경우 메모리(750)는 외부 메모리로 지칭될 수 있다.
타이밍 콘트롤러(710)는 디스플레이 동작에 관련된 각종 신호들의 타이밍을 제어할 수 있으며, 타이밍 제어를 위한 각종 제어신호들을 생성하여 다른 기능 블록들로 제공할 수 있다. 게이트 드라이버(720)는 타이밍 콘트롤러(710)의 제어 하에서 디스플레이 패널의 게이트 라인을 구동하며, 소스 드라이버(730)는 타이밍 콘트롤러(710)의 제어 하에서 디스플레이 패널의 데이터 라인을 구동할 수 있다. 또한, 코덱 모듈(740)은 전술한 실시예에서와 동일 또는 유사하게 메모리(750)를 억세스할 수 있다. 일 실시예로서, 코덱 모듈(740)은 픽셀 당 (M+N) 비트의 픽셀 데이터를 포함하는 이미지 신호를 수신하고 이에 대한 처리 동작을 수행하며, 메모리(750)의 제1 영역에 M 비트의 픽셀 데이터를 저장하고, 메모리(750)의 제2 영역에 N 비트의 픽셀 데이터를 저장할 수 있다. 디스플레이 패널이 각각의 픽셀의 계조를 M 비트의 픽셀 데이터로 구현하는 경우, 메모리(750)의 제1 영역에 저장된 픽셀 데이터가 억세스되어 디스플레이 패널로 제공될 수 있다. 반면에, 디스플레이 패널이 각각의 픽셀의 계조를 (M+N) 비트의 픽셀 데이터로 구현하는 경우, 메모리(750)의 제1 및 제2 영역들에 저장된 픽셀 데이터가 억세스되어 디스플레이 패널로 제공될 수 있다.
도 20은 본 발명의 실시예에 따른 이미지 처리 시스템이 채용된 모바일 장치를 포함하는 컨텐츠 공급 시스템(content supply system, 800)의 전체적 구조를 나타내는 도면이다. 상기 컨텐츠는 이미지 처리가 수행되는 각종 이미지 신호일 수 있다. 한편, 컨텐츠 전송을 수행하는 통신 시스템의 서비스 영역은 소정 크기의 셀들로 분할되고, 각 셀에 베이스 스테이션이 되는 무선 기지국(851 ~ 854)이 설치될 수 있다.
컨텐츠 공급 시스템(800)은 다수의 독립 디바이스들을 포함할 수 있다. 예를 들어, 컴퓨터(861), PDA(Personal Digital Assistant, 862), 비디오 카메라(863) 및 휴대폰(864)과 같은 독립 디바이스들이, 인터넷 서비스 공급자(820), 통신망(840), 및 무선 기지국(851 ~ 854)을 거쳐 인터넷(810)에 연결될 수 있다. 그러나, 컨텐츠 공급 시스템(800)은 도 20에 도시된 구조에만 한정되는 것이 아니며, 디바이스들이 선택적으로 연결될 수 있다. 독립 디바이스들은 무선 기지국(851 ~ 854)을 거치지 않고 통신망(840)에 직접 연결될 수도 있다.
비디오 카메라(863)는 디지털 비디오 카메라와 같이 비디오 영상을 촬영할 수 있는 촬상 디바이스이다. 휴대폰(864)은 PDC(Personal Digital Communications), CDMA(code division multiple access), W-CDMA(wideband code division multiple access), GSM(Global System for Mobile Communications), 및 PHS(Personal Handyphone System) 방식과 같은 다양한 프로토콜들 중 적어도 하나의 통신 방식을 채택할 수 있다.
PDA(862), 비디오 카메라(863) 및 휴대폰(864) 등과 같은 디바이스로부터 생성된 컨텐츠는 무선 기지국(852, 853, 854) 및 통신망(840)을 거쳐 스트리밍 서버(830)에 연결될 수 있다. 또한, 컴퓨터(861)에 저장된 컨텐츠 또한 무선 기지국(851) 및 통신망(840)을 거쳐 스트리밍 서버(830)로 전송될 수 있다. 스트리밍 서버(830)는 사용자가 전송한 컨텐츠를 실시간 방송으로 스트리밍 전송할 수 있다.
일 실시예에 따른 컨텐트 공급 시스템(800)에서, PDA(862), 비디오 카메라(863) 및 휴대폰(864) 또는 다른 디바이스를 이용하여 녹화된 컨텐츠는 해당 디바이스 내에서 인코딩될 수 있으며, 인코딩된 컨텐츠가 스트리밍 서버(830)로 전송될 수 있다. 스트리밍 서버(830)는 컨텐츠를 요청한 다른 디바이스들에게 컨텐츠를 스트리밍 전송할 수 있다. 인코딩된 컨텐츠를 수신한 디바이스들은 수신된 컨텐츠에 대한 디코딩 동작을 수행하고, 디코딩된 컨텐츠를 디바이스 내부에서 재생하거나 또는 외부로 제공할 수 있다.
본 발명의 실시예에 따른 이미지 처리 시스템은 컴퓨터(861), PDA(862), 비디오 카메라(863) 및 휴대폰(864) 등에 구비될 수 있다. 일 예로서, 본 발명의 실시예에 따른 이미지 처리 시스템은 시스템 온 칩 형태로 구현되고, 상기 시스템 온 칩이 컴퓨터(861), PDA(862), 비디오 카메라(863) 및 휴대폰(864) 등에 각각 장착될 수 있다. 또는, 본 발명의 실시예에 따른 이미지 처리 시스템의 기능은 어플리케이션 프로세서에 포함될 수 있으며, 본 발명의 실시예가 적용된 어플리케이션 프로세서가 컴퓨터(861), PDA(862), 비디오 카메라(863) 및 휴대폰(864) 등에 메인 프로세서로서 장착될 수 있다.
도 21은 본 발명의 일 실시예에 따른 이미지 처리 시스템이 장착된 이동 단말기의 일 예를 나타내는 도면이다. 도 20의 이동 단말기(900)는 도 20에 도시된 휴대폰(864)에 해당할 수 있으며, 이동 단말기(900)에는 상기 이미지 처리 시스템이 시스템 온 칩 또는 어플리케이션 프로세서로서 장착될 수 있다. 이동 단말기(900)는 기능이 제한되어 있지 않고 응용 프로그램을 통해 상당 부분의 기능을 변경하거나 확장할 수 있는 태블릿 또는 스마트폰일 수 있다. 이동 단말기(900)는 내장 안테나(910)을 포함하고, 카메라(930)에 의해 촬영된 영상들 또는 안테나(910)에 의해 수신된 영상들을 디스플레이하기 위한 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 등의 디스플레이 장치(920)를 포함한다. 이동 단말기(900)는 제어버튼, 터치 패널을 포함하는 동작 패널(940)를 포함할 수 있다. 또한 디스플레이 장치(920)가 터치 스크린을 포함하는 경우, 동작 패널(940)은 디스플레이 화면(920)의 터치 감지 패널을 더 포함할 수 있다. 이동 단말기(900)은 음성, 음향을 출력하기 위한 스피커(980) 또는 다른 형태의 음향 출력부와, 음성, 음향이 입력되는 마이크로폰(950) 또는 다른 형태의 음향 입력부를 포함한다. 이동 단말기(900)는 비디오 및 정지영상을 촬영하기 위한 CCD나 CIS와 같은 카메라(930)를 더 포함한다. 또한, 이동 단말기(900)는 카메라(930)에 의해 촬영되거나 이메일(E-mail)로 수신되거나 다른 형태로 획득된 비디오나 정지영상들과 같이, 인코딩되거나 디코딩된 데이터를 저장하기 위한 저장매체(970), 그리고 저장매체(970)를 이동 단말기(900)에 장착하기 위한 슬롯(960)을 포함할 수 있다. 저장매체(970)는 SD카드 또는 플라스틱 케이스에 내장된 EEPROM(electrically erasable and programmable read only memory)와 같은 다른 형태의 플래쉬 메모리일 수 있다.
상기한 실시예의 설명은 본 발명의 더욱 철저한 이해를 위하여 도면을 참조로 예를 든 것에 불과하므로, 본 발명을 한정하는 의미로 해석되어서는 안될 것이다. 또한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기본적 원리를 벗어나지 않는 범위 내에서 다양한 변화와 변경이 가능함은 명백하다 할 것이다.
Claims (20)
- 다수의 픽셀들을 포함하고 각각의 픽셀은 (M+N) 비트의 제1 픽셀 데이터를 포함하는 이미지 신호를 처리하는 제1 이미지 처리 장치; 및
상기 제1 이미지 처리 장치의 제어에 따라 메모리의 억세스를 수행하는 메모리 콘트롤 유닛을 구비하고,
상기 제1 이미지 처리 장치는,
상기 (M+N) 비트의 제1 픽셀 데이터에 대한 디더링 처리를 수행하여 디더링 처리된 M 비트의 제2 픽셀 데이터를 생성하고, 각각의 픽셀에 대해 디더링 처리된 상기 M 비트의 제2 픽셀 데이터와 디더링 처리되기 전의 N 비트의 제1 픽셀 데이터를 상기 메모리로 제공함과 함께, 상기 M 비트의 제2 픽셀 데이터가 저장될 위치를 나타내는 제1 어드레스와 상기 N 비트의 제1 픽셀 데이터가 저장될 위치를 나타내는 제2 어드레스를 제공하는 데이터 제공 유닛; 및
상기 메모리로부터 독출된 상기 N 비트의 제1 픽셀 데이터와 상기 M 비트의 제2 픽셀 데이터를 수신하는 데이터 수신 유닛을 포함하고,
상기 데이터 수신 유닛은,
상기 M 비트의 제2 픽셀 데이터에 대해 인버스-디더링 동작을 수행하여 M 비트의 제1 픽셀 데이터를 복원하는 인버스-디더링 유닛; 및
상기 M 비트의 제1 픽셀 데이터와 상기 메모리로부터 독출된 상기 N 비트의 제1 픽셀 데이터를 조합하여 참조 이미지를 생성하는 참조 이미지 생성부를 포함하는 것을 특징으로 하는 이미지 처리 시스템(단, M, N은 각각 1 이상의 정수). - 제1항에 있어서, 상기 데이터 제공 유닛은,
M 비트 또는 M 비트의 배수에 해당하는 밴드 폭(Bandwidth)을 갖는 데이터 버스를 통해 상기 메모리와 통신하는 것을 특징으로 하는 이미지 처리 시스템. - 제2항에 있어서, 상기 데이터 제공 유닛은,
하나 이상의 픽셀들의 M 비트의 제2 픽셀 데이터를 상기 데이터 버스를 통해 상기 메모리로 제공하고 난 후, 적어도 두 개의 픽셀들의 N 비트의 제1 픽셀 데이터를 포함하는 그룹 단위로 상기 픽셀들의 N 비트의 제1 픽셀 데이터를 상기 데이터 버스를 통해 상기 메모리로 제공하는 것을 특징으로 하는 이미지 처리 시스템. - 제1항에 있어서, 상기 제1 이미지 처리 장치는,
상기 M 비트의 제2 픽셀 데이터와 N 비트의 제1 픽셀 데이터를 독출하기 위한 하나 이상의 어드레스를 제공하고,
상기 데이터 수신 유닛은, (M+N) 비트 단위로 로직을 수행하는 것을 특징으로 하는 이미지 처리 시스템. - 제1항에 있어서, 상기 제1 이미지 처리 장치는,
상기 M 비트의 제2 픽셀 데이터를 독출하기 위한 어드레스를 제공하고,
상기 데이터 수신 유닛은, M 비트 단위로 로직을 수행하는 것을 특징으로 하는 이미지 처리 시스템. - 제1항에 있어서,
상기 제1 이미지 처리 장치는 코덱 모듈인 것을 특징으로 하는 이미지 처리 시스템. - 제6항에 있어서, 상기 데이터 제공 유닛은,
인코딩된 신호에 대한 디코딩 동작을 수행하여 상기 이미지 신호를 생성하는 디코딩 유닛; 및
상기 이미지 신호의 다수의 픽셀들에 대한 상기 디더링 처리를 수행하는 디더링 유닛을 포함하는 것을 특징으로 하는 이미지 처리 시스템. - 삭제
- 삭제
- 삭제
- 제1항에 있어서,
상기 메모리의 특정 영역에 저장된 픽셀 데이터를 수신하여 이를 처리하는 제2 이미지 처리 장치를 더 구비하는 것을 특징으로 하는 이미지 처리 시스템. - 제11항에 있어서, 상기 제2 이미지 처리 장치는,
상기 메모리의 일 영역에 저장된 상기 M 비트의 제2 픽셀 데이터를 선택적으로 수신하고, 상기 수신된 M 비트의 제2 픽셀 데이터를 디스플레이 장치로 제공하는 디스플레이 콘트롤 모듈인 것을 특징으로 하는 이미지 처리 시스템. - 제1항에 있어서,
상기 각각의 픽셀에서, 상기 M 비트의 제2 픽셀 데이터는 상위 비트에 해당하고, 상기 N 비트의 제1 픽셀 데이터는 하위 비트에 해당하는 것을 특징으로 하는 이미지 처리 시스템. - 제1항에 있어서,
상기 제1 이미지 처리 장치의 제어에 응답하여, 상기 M 비트의 제2 픽셀 데이터와 상기 N 비트의 제1 픽셀 데이터를 상기 메모리의 다른 영역에 각각 저장하는 메모리 콘트롤 모듈을 더 구비하는 것을 특징으로 하는 이미지 처리 시스템. - 다수의 픽셀들을 포함하고 각각의 픽셀은 (M+N) 비트의 제1 픽셀 데이터를 포함하는 제1 이미지 신호에 대한 디더링 처리를 수행하여 M 비트의 제2 픽셀 데이터를 생성하는 단계;
상기 M 비트의 제2 픽셀 데이터가 메모리의 제1 영역에 저장되도록, 상기 M 비트의 제2 픽셀 데이터의 저장 위치를 나타내는 제1 어드레스를 제공하는 단계;
N 비트의 제1 픽셀 데이터가 상기 메모리의 제2 영역에 저장되도록, 상기 N 비트의 제1 픽셀 데이터의 저장 위치를 나타내는 제2 어드레스를 제공하는 단계;
상기 제1 및 제2 어드레스에 각각 응답하여, 상기 M 비트의 제2 픽셀 데이터 및 N 비트의 제1 픽셀 데이터를 상기 메모리에 저장하는 단계;
상기 메모리에서 독출된 상기 M 비트의 제2 픽셀 데이터에 대해 인버스-디더링 동작을 수행하여 M 비트의 제1 픽셀 데이터를 복원하는 단계; 및
상기 복원된 M 비트의 제1 픽셀 데이터와 상기 메모리에서 독출된 상기 N 비트의 제1 픽셀 데이터를 조합하여 참조 이미지를 생성하는 단계를 구비하는 것을 특징으로 하는 이미지 처리 시스템의 동작방법(단, M, N은 각각 1 이상의 정수). - 제15항에 있어서,
상기 제1 및 제2 픽셀 데이터는 M 비트의 밴드 폭(Bandwidth)을 갖는 데이터 버스를 통해 전달되며,
각각의 픽셀의 M 비트의 제2 픽셀 데이터가 상기 데이터 버스를 통해 제공되고,
적어도 두 개의 픽셀들의 N 비트의 제1 픽셀 데이터가 하나의 그룹으로 정의되고, 상기 정의된 그룹 단위의 제1 픽셀 데이터가 상기 데이터 버스를 통해 제공되는 것을 특징으로 하는 이미지 처리 시스템의 동작방법. - 제16항에 있어서,
상기 다수의 픽셀들의 M 비트의 제2 픽셀 데이터가 상기 데이터 버스를 통해 제공되고 난 후, 상기 다수의 픽셀들의 N 비트의 제1 픽셀 데이터가 상기 데이터 버스를 통해 제공되는 것을 특징으로 하는 이미지 처리 시스템의 동작방법. - 다수의 픽셀들을 포함하고 각각의 픽셀은 (M+N) 비트의 제1 픽셀 데이터를 포함하는 제1 이미지 신호에 대한 디더링 처리를 수행하여 제2 픽셀 데이터를 생성하는 코덱 모듈;
상기 코덱 모듈의 제어에 따라, 각각의 픽셀에 대해 디더링 처리된 M 비트의 제2 픽셀 데이터를 외부 메모리의 제1 영역에 저장하고, 디더링 처리되기 전의 N 비트의 제1 픽셀 데이터를 상기 외부 메모리의 제2 영역에 저장하는 메모리 콘트롤 모듈; 및
상기 메모리의 제1 영역에 저장된 상기 M 비트의 제2 픽셀 데이터가 디스플레이 장치로 제공되도록 제어하는 디스플레이 콘트롤 모듈을 구비하고,
상기 각각의 픽셀에서, 상기 M 비트의 제2 픽셀 데이터는 상위 비트에 해당하고, 상기 N 비트의 제1 픽셀 데이터는 하위 비트에 해당하며, M 비트의 제1 픽셀 데이터와 상기 M 비트의 제2 픽셀 데이터는 그 값이 서로 상이하며,
상기 각각의 픽셀에 대해, 상기 M 비트의 제2 픽셀 데이터만이 선택적으로 상기 메모리 콘트롤 모듈로 제공되는 것을 특징으로 하는 시스템 온 칩(단, M, N은 각각 1 이상의 정수). - 제18항에 있어서, 상기 코덱 모듈은,
상기 M 비트의 제2 픽셀 데이터의 저장 위치를 나타내는 제1 어드레스와, 상기 N 비트의 제1 픽셀 데이터의 저장 위치를 나타내는 제2 어드레스를 더 생성하는 것을 특징으로 하는 시스템 온 칩. - 제18항에 있어서, 상기 디스플레이 콘트롤 모듈은,
상기 메모리에 저장된 M 비트의 제2 픽셀 데이터를 선택적으로 억세스하기 위한 어드레스를 상기 메모리 콘트롤 모듈로 제공하는 것을 특징으로 하는 시스템 온 칩.
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140109039A KR102264161B1 (ko) | 2014-08-21 | 2014-08-21 | 이미지 처리 장치, 이미지 처리 시스템, 이미지 처리 시스템의 동작방법 및 이미지 처리 시스템을 포함하는 시스템 온 칩 |
US14/820,566 US10015502B2 (en) | 2014-08-21 | 2015-08-07 | Image processor, image processing system including image processor, system-on-chip including image processing system, and method of operating image processing system |
GB1514742.4A GB2530898A (en) | 2014-08-21 | 2015-08-19 | Image processor, image processing system including image processor, system-on-chip including image processing system, and method of operating image processing |
DE102015113704.6A DE102015113704A1 (de) | 2014-08-21 | 2015-08-19 | Bildprozessor, Bildverarbeitungssystem mit Bildprozessor, Ein-Chip-System mit Bildverarbeitungssystem und Verfahren zum Betreiben des Bildverarbeitungssystems |
CN201510519170.5A CN105391933B (zh) | 2014-08-21 | 2015-08-21 | 图像处理片上***和处理图像数据的方法 |
US16/009,710 US10694201B2 (en) | 2014-08-21 | 2018-06-15 | Image processor, image processing system including image processor, system-on-chip including image processing system, and method of operating image processing system |
US16/904,096 US11470337B2 (en) | 2014-08-21 | 2020-06-17 | Image processor, image processing system including image processor, system-on-chip including image processing system, and method of operating image processing system |
US17/898,144 US20220417542A1 (en) | 2014-08-21 | 2022-08-29 | Image processing device, image processing system including image processing device, system-on-chip including image processing system, and method of operating image processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140109039A KR102264161B1 (ko) | 2014-08-21 | 2014-08-21 | 이미지 처리 장치, 이미지 처리 시스템, 이미지 처리 시스템의 동작방법 및 이미지 처리 시스템을 포함하는 시스템 온 칩 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160023150A KR20160023150A (ko) | 2016-03-03 |
KR102264161B1 true KR102264161B1 (ko) | 2021-06-11 |
Family
ID=55349425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140109039A KR102264161B1 (ko) | 2014-08-21 | 2014-08-21 | 이미지 처리 장치, 이미지 처리 시스템, 이미지 처리 시스템의 동작방법 및 이미지 처리 시스템을 포함하는 시스템 온 칩 |
Country Status (3)
Country | Link |
---|---|
US (3) | US10015502B2 (ko) |
KR (1) | KR102264161B1 (ko) |
CN (1) | CN105391933B (ko) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10114984B2 (en) * | 2015-09-04 | 2018-10-30 | Xerox Corporation | Symmetric bit coding for printed memory devices |
US10558570B2 (en) * | 2016-03-14 | 2020-02-11 | Intel Corporation | Concurrent accesses of asymmetrical memory sources |
CN106057165B (zh) * | 2016-08-12 | 2018-07-10 | 昆山龙腾光电有限公司 | 用于液晶显示装置的控制装置及控制方法 |
CN108574793B (zh) * | 2017-03-08 | 2022-05-10 | 三星电子株式会社 | 被配置为重新生成时间戳的图像处理设备及包括其在内的电子设备 |
KR102516833B1 (ko) * | 2017-12-28 | 2023-04-03 | 삼성전자주식회사 | 메모리 장치 및 그 데이터 처리 방법 |
US11095876B2 (en) | 2018-01-26 | 2021-08-17 | Samsung Electronics Co., Ltd. | Image processing device |
GB2575435B (en) * | 2018-06-29 | 2022-02-09 | Imagination Tech Ltd | Guaranteed data compression |
GB2575434B (en) | 2018-06-29 | 2020-07-22 | Imagination Tech Ltd | Guaranteed data compression |
CN109308283B (zh) * | 2018-08-31 | 2022-11-22 | 西安微电子技术研究所 | 一种SoC片上***及其外设总线切换方法 |
US11024041B2 (en) * | 2018-12-10 | 2021-06-01 | Intel Corporation | Depth and motion estimations in machine learning environments |
US11158270B2 (en) * | 2019-07-24 | 2021-10-26 | Facebook Technologies, Llc | Systems and methods for mask-based spatio-temporal dithering |
KR20210041233A (ko) * | 2019-10-07 | 2021-04-15 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070153013A1 (en) * | 2006-01-04 | 2007-07-05 | Lsi Logic Corporation | Hybrid multiple bit-depth video processing architecture |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0753235B1 (en) | 1994-12-28 | 2000-07-12 | Koninklijke Philips Electronics N.V. | Buffer management in variable bit-rate compression systems |
US6476934B1 (en) * | 1997-01-02 | 2002-11-05 | Canon Kabushiki Kaisha | Geometrically reducing influence halftoning |
JPH10210500A (ja) | 1997-01-22 | 1998-08-07 | Sony Corp | メモリ装置 |
US6414689B1 (en) * | 1999-03-03 | 2002-07-02 | Mediaq Inc. | Graphics engine FIFO interface architecture |
US20080192928A1 (en) * | 2000-01-06 | 2008-08-14 | Super Talent Electronics, Inc. | Portable Electronic Storage Devices with Hardware Security Based on Advanced Encryption Standard |
KR20030057690A (ko) | 2001-12-29 | 2003-07-07 | 엘지전자 주식회사 | 비디오 디코딩 시스템 |
JP2003283774A (ja) | 2002-03-25 | 2003-10-03 | Noritsu Koki Co Ltd | 画像データ保存用データ処理装置 |
US7145567B2 (en) | 2003-04-03 | 2006-12-05 | Avid Technology, Inc. | Bitstream format and reading and writing methods and apparatus therefor |
US7158668B2 (en) * | 2003-08-01 | 2007-01-02 | Microsoft Corporation | Image processing using linear light values and other image processing improvements |
JP4050240B2 (ja) * | 2004-02-26 | 2008-02-20 | シャープ株式会社 | 表示装置の駆動システム |
KR100668324B1 (ko) * | 2005-01-21 | 2007-01-12 | 삼성전자주식회사 | 화상 데이터 부호화시의 비트율 제어방법 및 장치 |
JP4893621B2 (ja) | 2005-05-20 | 2012-03-07 | ソニー株式会社 | 信号処理装置 |
US7481374B2 (en) * | 2005-06-08 | 2009-01-27 | Xerox Corporation | System and method for placement and retrieval of embedded information within a document |
US7599439B2 (en) | 2005-06-24 | 2009-10-06 | Silicon Image, Inc. | Method and system for transmitting N-bit video data over a serial link |
US7688231B2 (en) * | 2005-08-29 | 2010-03-30 | Mrv Communications, Inc. | Transmission of pathological data patterns |
CN101322393B (zh) * | 2005-12-01 | 2010-09-01 | 日本电气株式会社 | 图像处理装置及其图像处理方法、图像传送装置及其图像传送方法、以及图像显示设备 |
US8564612B2 (en) * | 2006-08-04 | 2013-10-22 | Apple Inc. | Deep pixel pipeline |
US7471218B2 (en) * | 2006-09-18 | 2008-12-30 | National Semiconductor Corporation | Methods and systems for efficiently storing and retrieving streaming data |
KR100840379B1 (ko) | 2006-11-24 | 2008-06-20 | 주식회사 티엘아이 | 복수 개 페이지의 영상데이터를 저장할 수 있는 디스플레이구동장치 및 영상데이터의 재생 방법 |
TW200910981A (en) * | 2007-08-20 | 2009-03-01 | Mstar Semiconductor Inc | Method and apparatus for adjusting image sharpness |
KR101377269B1 (ko) | 2008-01-28 | 2014-03-24 | 삼성전자주식회사 | 고속으로 대용량의 직렬 데이터를 전송할 수 있는 이미지센서 |
US20090324127A1 (en) * | 2008-06-30 | 2009-12-31 | Madhukar Budagavi | Method and System for Automatic Red-Eye Correction |
JP5690267B2 (ja) * | 2008-08-22 | 2015-03-25 | トムソン ライセンシングThomson Licensing | コンテンツ配信のための方法およびシステム |
EP2396967B1 (en) * | 2009-02-11 | 2018-10-10 | InterDigital Madison Patent Holdings | Methods and apparatus for bit depth scalable video encoding and decoding utilizing tone mapping and inverse tone mapping |
US8416256B2 (en) * | 2009-03-18 | 2013-04-09 | Stmicroelectronics, Inc. | Programmable dithering for video displays |
US8345099B2 (en) * | 2010-01-25 | 2013-01-01 | Ensco | Optical path protection device and method for a railroad track inspection system |
US8411970B2 (en) * | 2010-03-16 | 2013-04-02 | Pixia Corp. | Method and system for determining statistical data for image pixels having a higher bit depth per band |
US9153296B2 (en) * | 2010-06-28 | 2015-10-06 | Intel Corporation | Methods and apparatuses for dynamic memory termination |
US8488055B2 (en) * | 2010-09-30 | 2013-07-16 | Apple Inc. | Flash synchronization using image sensor interface timing signal |
JP2012103772A (ja) * | 2010-11-08 | 2012-05-31 | Renesas Electronics Corp | プロセッサおよびそれを用いた画像処理システム |
JP2012186769A (ja) * | 2011-03-08 | 2012-09-27 | Fuji Xerox Co Ltd | 画像処理装置及びプログラム |
US8760465B2 (en) * | 2011-04-12 | 2014-06-24 | Apple Inc. | Method and apparatus to increase bit-depth on gray-scale and multi-channel images (inverse dithering) |
JP5255089B2 (ja) * | 2011-04-14 | 2013-08-07 | 川崎マイクロエレクトロニクス株式会社 | 画像処理装置 |
WO2014001381A2 (en) * | 2012-06-28 | 2014-01-03 | Axis Ab | System and method for encoding video content using virtual intra-frames |
US9076408B2 (en) * | 2012-09-06 | 2015-07-07 | Shenzhen China Star Optoelectronics Technology Co., Ltd. | Frame data shrinking method used in over-driving technology |
US9414058B2 (en) * | 2012-12-25 | 2016-08-09 | Mediatek Inc. | Video processing apparatus capable of generating output video pictures/sequence with color depth different from color depth of encoded video bitstream |
EP2838268B1 (en) * | 2013-07-31 | 2019-02-20 | Axis AB | Method, device and system for producing a merged digital video sequence |
US9390690B2 (en) * | 2014-06-30 | 2016-07-12 | Apple Inc. | Refresh rate dependent dithering |
CN106687924A (zh) * | 2014-07-10 | 2017-05-17 | 英特尔公司 | 用于基于当前状态来更新着色器程序的方法和装置 |
WO2016122548A1 (en) * | 2015-01-29 | 2016-08-04 | Hewlett Packard Enterprise Development Lp | Hash index |
US9571791B1 (en) * | 2016-05-17 | 2017-02-14 | International Business Machines Corporation | Importing of information in a computing system |
US10710621B2 (en) * | 2017-11-28 | 2020-07-14 | Hitachi Rail Sts France | Method, system and apparatus for controlling a vehicle |
-
2014
- 2014-08-21 KR KR1020140109039A patent/KR102264161B1/ko active IP Right Grant
-
2015
- 2015-08-07 US US14/820,566 patent/US10015502B2/en active Active
- 2015-08-21 CN CN201510519170.5A patent/CN105391933B/zh active Active
-
2018
- 2018-06-15 US US16/009,710 patent/US10694201B2/en active Active
-
2020
- 2020-06-17 US US16/904,096 patent/US11470337B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070153013A1 (en) * | 2006-01-04 | 2007-07-05 | Lsi Logic Corporation | Hybrid multiple bit-depth video processing architecture |
Also Published As
Publication number | Publication date |
---|---|
CN105391933B (zh) | 2020-04-10 |
US20180295373A1 (en) | 2018-10-11 |
CN105391933A (zh) | 2016-03-09 |
US10015502B2 (en) | 2018-07-03 |
US20200322618A1 (en) | 2020-10-08 |
US10694201B2 (en) | 2020-06-23 |
US11470337B2 (en) | 2022-10-11 |
US20160057437A1 (en) | 2016-02-25 |
KR20160023150A (ko) | 2016-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102264161B1 (ko) | 이미지 처리 장치, 이미지 처리 시스템, 이미지 처리 시스템의 동작방법 및 이미지 처리 시스템을 포함하는 시스템 온 칩 | |
US9538087B2 (en) | Image processing device with multiple image signal processors and image processing method | |
US9391635B2 (en) | Block scanner and run-level encoder from AC to DC values | |
US8767005B2 (en) | Blend equation | |
US20120014595A1 (en) | Color Space Conversion for Efficient Filtering | |
US8989509B2 (en) | Streaming wavelet transform | |
US20140086309A1 (en) | Method and device for encoding and decoding an image | |
CN106572350A (zh) | 根据显示器形状非均匀地编码/解码图像数据的电子装置 | |
US10674160B2 (en) | Parallel video encoding device and encoder configured to operate in parallel with another encoder | |
US20140139537A1 (en) | System and method for an efficient display data transfer algorithm over network | |
JP2013146080A (ja) | 小さな画像又は大きな画像を処理する小さなラインバッファを容易に用いる技術 | |
CN102761739A (zh) | 用来动态地调整视频译码复杂度的装置与方法 | |
US8233003B2 (en) | Image processing device, image processing method, and electronic instrument | |
US20220417542A1 (en) | Image processing device, image processing system including image processing device, system-on-chip including image processing system, and method of operating image processing system | |
US10694178B2 (en) | Video processing device for encoding frames constituting hierarchical structure | |
KR100663380B1 (ko) | 촬상 장치 및 영상 신호 생성 방법 | |
KR102476204B1 (ko) | 멀티 코덱 인코더 및 이를 포함하는 멀티 코덱 인코딩 시스템 | |
JP2005055825A (ja) | 画像表示装置、画像表示方法及び画像表示プログラム | |
US20080226164A1 (en) | Image data decoding device, image data encoding device, image processing device, and electronic instrument | |
JP5157419B2 (ja) | 画像処理装置、画像処理方法及び電子機器 | |
AU2017363055A1 (en) | Multi-pixel caching scheme for lossless encoding | |
JP2010136264A (ja) | 表示データ処理装置 | |
KR100710305B1 (ko) | 비디오 디코딩 장치의 데이터 관리기 | |
CN103680402A (zh) | 一种基于leon3软核cpu的异步全彩led显示控制*** | |
CN113256763B (zh) | 电子设备及其图像处理方法、片上***和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |