KR102294830B1 - 디스플레이 구동 장치 및 이미지 데이터 처리 장치의 동작 방법 - Google Patents

디스플레이 구동 장치 및 이미지 데이터 처리 장치의 동작 방법 Download PDF

Info

Publication number
KR102294830B1
KR102294830B1 KR1020140000881A KR20140000881A KR102294830B1 KR 102294830 B1 KR102294830 B1 KR 102294830B1 KR 1020140000881 A KR1020140000881 A KR 1020140000881A KR 20140000881 A KR20140000881 A KR 20140000881A KR 102294830 B1 KR102294830 B1 KR 102294830B1
Authority
KR
South Korea
Prior art keywords
pixel
bitstream
pixels
mode information
reference pixel
Prior art date
Application number
KR1020140000881A
Other languages
English (en)
Other versions
KR20150081397A (ko
Inventor
이마음
박덕수
왕먀오펑
박운기
정호준
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020140000881A priority Critical patent/KR102294830B1/ko
Priority to US14/325,900 priority patent/US10136139B2/en
Priority to CN201410838391.4A priority patent/CN104768061B/zh
Publication of KR20150081397A publication Critical patent/KR20150081397A/ko
Application granted granted Critical
Publication of KR102294830B1 publication Critical patent/KR102294830B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 프레임 메모리를 포함하는 디스플레이 구동 장치 및 그것의 데이터 압축 및 복원 방법에 관한 것이다. 본 발명의 실시 예에 따른 디스플레이 구동 칩은 매크로 블록과 제 1 참조 픽셀에 기초하여 최종 모드 정보와 압축 비트스트림을 생성하고, 상기 최종 모드 정보와 상기 압축 비트스트림을 이용하여 최종 비트스트림을 생성하는 인코딩 유닛, 및 상기 최종 비트스트림을 저장하고 저장된 최종 비트스트림을 디코딩 유닛으로 제공하는 프레임 메모리를 포함하고 상기 최종 모드 정보는 선택 픽셀의 모드 정보와 비선택 픽셀의 복원 참조값을 포함한다.

Description

디스플레이 구동 장치 및 이미지 데이터 처리 장치의 동작 방법 {DISPLAY DRIVE DEVICE AND METHOD OF OPERATING IMAGE DATA PROCESSING DEVICE}
본 발명은 이미지 데이터 처리 기술에 관한 것으로, 특히 메모리를 포함하는 디스플레이 구동 장치와 이미지 데이터 처리 장치의 동작 방법에 관한 것이다
스마트 폰(smart phone) 또는 태블릿 PC(personal computer) 등의 휴대용 장치의 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고화진 영상에 대한 수요가 증가하고 있다. 이미지 데이터 또는 영상 정보가 고해상도, 고화질이 될수록 기존의 이미지 데이터에 비해 상대적으로 데이터량이 증가하고, 이미지 데이터를 전송하거나 저장하는 비용이 증가하게 된다. 이미지 데이터가 고해상 및 고화질화 됨에 따라 발생하는 이러한 문제들을 해결하기 위한 이미지 데이터 처리 기술들이 요구된다.
기존의 음극선관(Cathode Ray Tube, CRT)에 비해 무게와 부피를 줄일 수 있는 여러 평판 디스플레이 장치들이 개발되고 있다. 이러한 평판 디스플레이 장치들로는 플라즈마 디스플레이 패널(Plasma Display Panel, PDP), 액정 디스플레이(Liquid Crystal Display, LCD) 장치, 전계 방출 디스플레이(Field Emission Display) 장치, 유기 발광 디스플레이(Organic Light Emitting Display) 장치 등이 있다. 평판 디스플레이 장치는 영상을 표시하는 패널 및 디스플레이 구동 회로(DDI: Display Dirver Integrated circuit)를 포함한다. 디스플레이 구동 회로는 그래픽 컨트롤러와 같은 호스트로부터 영상 정보를 수신한다. 그리고, 디스플레이 구동 회로는 영상 정보를 영상 데이터로 변환하여 패널에 제공한다.
평판 디스플레이 장치의 해상도가 증가함에 따라 디스플레이 구동 회로에 사용되는 메모리 사용량도 증가하고 있다. 이러한 메모리 사용량의 증가는 디스플레이 구동 장치의 메모리 크기 증가를 야기한다. 메모리 크기가 증가는 디스플레이 구동 장치의 면적 증가를 야기하고 생산 단가 및 수율에 부정적인 영향을 주어 제품 경쟁력을 하락시킨다. 또한, 해상도가 증가함에 따라, 호스트에서 디스플레이 구동 장치로 전송되는 이미지 데이터 양이 증가한다. 이러한 이미지 데이터 양의 증가는 고해상도의 실시간 이미지 데이터 전송 지연을 야기한다.
본 발명이 이루고자 하는 기술적인 과제는 전력 소모를 줄이기 위해서 압축된 이미지 데이터를 전송할 수 있는 애플리케이션 프로세서, 상기 압축된 이미지 데이터를 압축해제할 수 있는 디스플레이 구동 장치, 및 상기 애플리케이션 프로세서와 상기 디스플레이 구동 장치를 포함하는 이미지 데이터 처리 시스템을 제공하는 것이다.
본 발명이 이루고자 하는 기술적인 과제는 데이터 대역폭을 감소시킬 수 있는 압축된 이미지 데이터를 전송할 수 있는 애플리케이션 프로세서, 상기 압축된 이미지 데이터를 압축 해제할 수 있는 디스플레이 구동 장치, 및 상기 애플리케이션 프로세서와 상기 디스플레이 구동 장치를 포함하는 이미지 처리 시스템을 제공하는 것이다.
또한, 프레임 메모리 사용량을 감소시킬 수 있는 압축된 이미지 데이터를 저장하고 상기 압축된 이미지 데이터를 압축 해제할 수 있는 디스플레이 구동 장치를 포함하는 이미지 처리 시스템을 제공하는 것이다.
본 발명의 실시 예에 따른 디스플레이 구동 칩은 매크로 블록과 제 1 참조 픽셀에 기초하여 최종 모드 정보와 압축 비트스트림을 생성하고, 상기 최종 모드 정보와 상기 압축 비트스트림을 이용하여 최종 비트스트림을 생성하는 인코딩 유닛, 및 상기 최종 비트스트림을 저장하고 저장된 최종 비트스트림을 디코딩 유닛으로 제공하는 프레임 메모리를 포함하고 상기 최종 모드 정보는 선택 픽셀의 모드 정보와 비선택 픽셀의 복원 참조값을 포함한다.
실시 예에 있어서, 상기 인코딩 유닛은, 상기 매크로 블록과 상기 제 1 참조 픽셀들을 인코딩 하여 상기 최종 모드 정보를 생성하는 제 1 인코더, 상기 최종 모드 정보에 기초하여 상기 압축 비트스트림을 생성하는 제 2 인코더, 상기 최종 모드 정보와 상기 압축 비트스트림을 이용하여 최종 비트스트림을 생성하는 비트스트림 생성기 및 상기 최종 모드 정보와 상기 압축 비트스트림에 기초하여 제 2 참조 픽셀을 복원하는 복원부를 포함한다.
실시 예에 있어서, 제 1 인코더는 상기 비 선택 픽셀과 상기 제 1 참조 픽셀간의 제 1 차이값 계산하고, 상기 비선택 픽셀에 마주하는 상기 선택 픽셀과 상기 제 1 참조 픽셀의 평균값과 비선택 픽셀 간의 제 2 차이값을 생성하는 차분 계산부를 포함한다.
실시 예에 있어서, 상기 생성된 제 1 및 제 2 차이값들 중에서 각 모드별 최적의 에러값을 결정하는 후보 예측부 및 상기 각 모드별 에러 값에 기초하여 최종 모드 정보를 생성하는 모드 선택부를 포함한다.
실시 예에 있어서, 상기 차이값들 각각은 SAD(sum of absolute differences), SSD(sum of squared differences), MAD(mean absolute difference), 또는 NCC(normalized cross-correlation)이다.
실시 예에 있어서, 제 2 인코더는 상기 최종 모드 정보에 기초하여 상기 선택 픽셀을 압축하여 압축 비트스트림을 생성한다.
실시 예에 있어서, 상기 최종 비트스트림은 상기 최종 모드 정보에 포함된 상기 선택 픽셀의 모드 정보와 상기 비선택 픽셀의 복원 참조값 및 압축된 비트스트림을 포함한다.
실시 예에 있어서, 상기 복원부는 상기 최종 모드 정보와 상기 압축 비트스트림에 기초하여 상기 선택 픽셀과 상기 비선택 픽셀을 복원하고 제 2 참조 픽셀을 생성 한다.
실시 예에 있어서, 상기 디코딩 유닛은 상기 최종 비트스트림을 분할하여 상기 압축 비트스트림과 디코드된 최종 모드 정보를 생성하는 제 1 디코더, 상기 압축 비트스트림을 이용하여 선택 픽셀 정보를 생성하는 제 2디코더 및 상기 선택 픽셀 정보와 상기 디코드된 최종 모드 정보에 기초하여 디코드된 매크로 블록을 생성하는 재건부를 포함한다.
실시 예에 있어서, 상기 제 1 디코더는 상기 최종 비트스트림을 상기 압축 비트스트림과 헤더 및 복원 참조값을 분리하는 비트스트림 언패커 및 상기 헤더 및 복원 참조값에 기초하여 디코드된 최종 모드 정보를 생성하는 모드 디코딩 부를 포함한다.
실시 예에 있어서, 상기 재건부는 상기 선택 픽셀 정보로부터 선택 픽셀을 복원하고, 상기 최종 모드 정보로부터 비선택 픽셀을 복원한다.
본 발명의 실시 예에 따른 프레임 메모리를 포함하는 디스플레이 구동 칩으로 데이터 버스를 통해 영상 압축 데이터를 제공하는 호스트 프로세서에 있어서, 상기 호스트 프로세서는 매크로 블록과 제 1 참조 픽셀에 기초하여 최종 모드 정보와 압축 비트스트림을 생성하고, 상기 최종 모드 정보와 상기 압축 비트스트림을 이용하여 최종 비트스트림을 생성하는 인코딩 유닛을 포함하고 상기 최종 모드 정보는 선택 픽셀의 모드 정보와 비선택 픽셀의 복원 참조값을 포함한다.
실시 예에 있어서 상기 인코딩 유닛은 상기 매크로 블록과 상기 제 1 참조 픽셀들을 인코딩하여 상기 최종 모드 정보를 생성하는 제 1 인코더, 상기 최종 모드 정보에 기초하여 상기 압축 비트스트림을 생성하는 제 2 인코더, 상기 최종 모드 정보와 상기 압축 비트스트림을 이용하여 최종 비트스트림을 생성하는 비트스트림 생성기 및 상기 최종 모드 정보와 상기 압축 비트스트림에 기초하여 제 2 참조 픽셀을 복원하는 복원부를 포함한다.
실시 예에 있어서 제 1 인코더는 상기 비 선택 픽셀과 상기 제 1 참조 픽셀간의 제 1 차이값 계산하고, 상기 비선택 픽셀에 마주하는 상기 선택 픽셀 과 상기 제 1 참조 픽셀의 평균값과 비선택 픽셀 간의 제 2 차이값을 생성하는 차분 계산부를 포함한다.
실시 예에 있어서, 상기 생성된 제 1 및 제 2 차이값들 중에서 각 모드별 최적의 에러값을 결정하는 후보 예측부 및 상기 각 모드별 에러 값에 기초하여 최종 모드 정보를 생성하는 모드 선택부를 포함한다.
실시 예에 있어서, 상기 차이값들 각각은 SAD(sum of absolute differences), SSD(sum of squared differences), MAD(mean absolute difference), 또는 NCC(normalized cross-correlation) 이다.
실시 예에 있어서, 제 2 인코더는 상기 최종 모드 정보에 기초하여 상기 선택 픽셀을 압축하여 압축 비트스트림을 생성한다.
실시 예에 있어서, 상기 최종 비트스트림은 상기 최종 모드 정보에 포함된 상기 선택 픽셀의 모드 정보와 상기 비선택 픽셀의 복원 참조값 및 압축된 비트스트림을 포함한다.
실시 예에 있어서, 상기 복원부는 상기 최종 모드 정보와 상기 압축 비트스트림에 기초하여 상기 선택 픽셀과 상기 비선택 픽셀을 복원하고 제 2 참조 픽셀을 생성한다.
본 발명의 실시 예에 따른 모바일 장치는 영상 압축 데이터를 제공하는 호스트 프로세서, 상기 영상 압축 데이터를 디스플레이 구동 칩으로 전송하는 데이터 버스, 상기 전송된 영상 압축 데이터를 저장하는 프레임 메모리를 포함하는 디스플레이 구동 칩 및 디스플레이 장치를 포함한다.
상기 호스트 프로세서는 매크로 블록과 제 1 참조 픽셀에 기초하여 최종 모드 정보와 압축 비트스트림을 생성하고, 상기 최종 모드 정보와 상기 압축 비트스트림을 이용하여 영상 압축 데이터를 생성하는 인코딩 유닛을 포함한다.
상기 디스플레이 구동 칩은 상기 저장된 영상 압축 데이터에 기초하여 디코드된 매크로 블록을 생성하는 디코딩 유닛을 포함하고, 상기 디스플레이 장치는 상기 생성된 디코드된 매크로 블록을 입력받아 패널에 디스플레이하고, 상기 최종 모드 정보는 선택 픽셀의 모드 정보와 비선택 픽셀의 복원 참조값을 포함한다.
실시 예에 있어서, 상기 인코딩 유닛은 상기 매크로 블록과 상기 제 참조 픽셀들을 인코딩하여 상기 최종 모드 정보를 생성하는 제 1 인코더, 상기 최종 모드 정보에 기초하여 상기 압축 비트스트림을 생성하는 제 2 인코더, 상기 최종 모드 정보와 상기 압축 비트스트림을 이용하여 영상 압축 데이터를 생성하는 비트스트림 생성기 및 상기 최종 모드 정보와 상기 압축 비트스트림에 기초하여 제 2 참조 픽셀을 복원하는 복원부를 포함한다.
실시 예에 있어서, 제 1 인코더는 상기 비 선택 픽셀과 상기 제 1 참조 픽셀간의 제 1 차이값 계산하고, 상기 비선택 픽셀에 마주하는 상기 선택 픽셀과 상기 제 1 참조 픽셀의 평균값과 비선택 픽셀 간의 제 2 차이값을 생성하는 차분 계산부를 포함한다.
실시 예에 있어서, 제 2 인코더는 상기 최종 모드 정보에 기초하여 상기 선택 픽셀을 압축하여 압축 비트스트림을 생성한다.
실시 예에 있어서, 상기 영상 압축 데이터는 상기 최종 모드 정보에 포함된 상기 선택 픽셀의 모드 정보와 상기 비선택 픽셀의 복원 참조값 및 압축된 비트스트림을 포함한다.
실시 예에 있어서, 상기 복원부는 상기 최종 모드 정보와 상기 압축 비트스트림에 기초하여 상기 선택 픽셀과 상기 비선택 픽셀을 복원하고 제 2 참조 픽셀을 생성한다.
실시 예에 있어서, 상기 디코딩 유닛은 상기 영상 압축 데이터를 분할하여 상기 압축 비트스트림과 디코드된 최종 모드 정보를 생성하는 제 1 디코더, 상기 압축 비트스트림을 이용하여 선택 픽셀 정보를 생성하는 제 2 디코더 및 상기 선택 픽셀 정보와 상기 디코드된 최종 모드 정보에 기초하여 디코드된 매크로 블록을 생성하는 재건부를 포함한다.
실시 예에 있어서, 상기 제 1 디코더는 상기 최종 비트스트림을 상기 압축 비트스트림과 헤더 및 복원 참조값을 분리하는 비트스트림 언패커 및 상기 헤더 및 복원 참조값에 기초하여 디코드된 최종 모드 정보를 생성하는 모드 디코딩부를 포함한다.
실시 예에 있어서, 상기 재건부는 상기 선택 픽셀 정보로부터 선택 픽셀을 복원하고, 상기 최종 모드 정보로부터 비선택 픽셀을 복원한다.
본 발명의 실시 예에 따른 애플리케이션 프로세서는, 이미지 데이터의 전송량을 줄이기 위해, 상기 이미지 데이터를 압축하고 압축된 이미지 데이터를 고속으로 전송할 수 있는 효과가 있다. 압축된 이미지 데이터를 전송할 수 있는 상기 애플리케이션 프로세서에서 소모되는 전력은 감소될 수 있다. 압축된 이미지 데이터를 처리할 수 있는 디스플레이 구동 장치에 구현된 프레임 메모리의 크기를 줄일 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 이미지 데이터 처리 시스템을 보여주는 블록도이다.
도 2는 본 발명의 또 다른 실시 예에 따른 이미지 데이터 처리 시스템을 보여주는 블록도이다.
도 3은 본 발명의 실시 예에 따른 이미지 데이터의 매크로 블록(Macro Block)을 설명하기 위한 도면이다.
도 4는 본 발명의 실시 예에 따른 매크로 블록의 픽셀과 참조 픽셀을 설명하기 위한 도면이다.
도 5는 도 1에 도시된 인코딩 유닛을 예시적으로 보여주는 블록도이다.
도 6은 본 발명의 실시 예에 따른 제 1 인코더을 보여주는 블록도이다.
도 7은 본 발명의 실시 예에 따른 최종 모드 정보에 따라 선택되는 픽셀을 설명하기 위한 도면이다.
도 8은 선택 모드에 따라 최적의 복원 참조값을 계산하는 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 실시 예에 따른 모드 선택부의 동작을 설명하기 위한 도면이다.
도 10은 본 발명의 실시 예에 따른 제 2 인코더를 동작을 설명하기 위한 도면이다.
도 11은 본 발명의 실시 예에 따른 비트스트림의 구성을 설명하기 위한 도면이다.
도 12는 본 발명의 실시 예에 따른 복원부의 동작을 설명하기 위한 도면이다.
도 13은 본 발명의 실시 예에 따른 인코딩 유닛의 동작을 설명하기 위한 순서도이다.
도 14는 제 1 인코더의 동작을 설명하기 위한 순서도이다.
도 15는 디코딩 유닛을 보여주는 블록도이다.
도 16은 제 1 디코더을 보여주는 블록도이다.
도 17은 디코딩 유닛의 동작을 설명하기 위한 순서도이다.
도 18은 제 1 디코더의 동작을 설명하기 위한 순서도이다.
도 19는 본 발명의 또 다른 실시 예에 따른 이미지 데이터 처리 시스템을 보여주는 블록도를 나타낸다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제 1 또는 제 2와 같은 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고 유사하게 제 2 구성 요소는 제 1구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다.
Ⅰ. 이미지 데이터 처리 시스템
도 1은 본 발명의 실시 예에 따른 이미지 데이터 처리 시스템을 보여주는 블록도이다. 도 1을 참조하면, 이미지 데이터 처리 시스템(1000)은 호스트(1100), 타겟 디바이스(1200), 및 패널(1300)을 포함한다.
호스트(1100)는 이미지 데이터를 타겟 디바이스(1200)로 전송할 수 있다. 예를 들어, 호스트(1100)가 애플리케이션 프로세서(AP; Application Processor)이고, 타겟 디바이스(1200)가 디스플레이 구동 집적 회로(DDI; Display Drive IC) 또는 디스플레이 구동 칩(display drive chip) 또는 디스플레이 구동 장치(display drive device)라고 하자. 애플리케이션 프로세서(AP)는 디스플레이 구동 집적 회로(DDI)의 동작을 제어할 수 있다. 애플리케이션 프로세서(AP)는 디스플레이 구동 집적 회로(DDI)로 이미지 데이터를 채널을 통해 전송할 수 있다. 여기에서, 이미지 데이터는 압축된 이미지 데이터 또는 압축되지 않은 이미지 데이터일 수 있다.
계속해서 도 1을 참조하면, 타겟 디바이스(1200)는 디스플레이 인터페이스(1210), 인코딩 유닛(1220), 프레임 메모리(1240), 디코딩 유닛(1250) 및 멀디미디어 IP 및 비디오 타이밍 생성기(1270)를 포함한다. 타켓 디바이스(1200)는 호스트(1100)로부터 압축되지 않은 이미지 데이터를 디스플레이 인터페이스(1210)를 통하여 수신할 수 있다.
인코딩 유닛(1220)은 제 1 및 제 2 인코더(1230)를 포함한다. 인코딩 유닛(1220)은 압축기로 구현될 수 있다. 제 1 및 제 2 인코더(1230)는 압축되지 않은 이미지 데이터를 수신하여 인코딩하고, 압축된 이미지 데이터를 출력할 수 있다. 제 1 및 제 2 인코더 각각은 서로 다른 인코딩 방식을 적용할 수 있다. 인코딩 유닛(1220)은 제 1 및 제 2 인코더의 서로 다른 인코딩 방식을 적용하여 고 압축률을 갖는 압축된 이미지 데이터를 생성할 수 있다. 각각의 인코딩 방식은 도 5 내지 도 10을 참조하여 상세하게 설명될 것이다.
프레임 메모리(1240)는 인코딩 유닛(1220)으로부터 출력된 압축된 이미지 데이터를 저장한다. 또한, 프레임 메모리(1240)는 저장한 압축된 이미지 데이터를 디코딩 유닛(1250)으로 출력할 수 있다. 프레임 메모리(1240)는 DRAM, SRAM과 같은 휘발성 메모리와 플래시 메모리, PRAM, MRAM과 같은 비휘발성 메모리로 구현될 수 있다.
디코딩 유닛(1250)은 제 1 및 제 2 디코더를 포함한다. 디코딩 유닛(1250)은 압축 해제기로 구현될 수 있다. 디코딩 유닛(1250)은 프레임 메모리(1240)로부터 압축된 이미지 데이터를 입력받아 디코딩을 수행하고, 압축 해제된 이미지 데이터를 출력한다. 제 1 및 제 2 디코더 각각은 서로 다른 디코딩 방식을 적용할 수 있다. 각각의 디코딩 방식은 도 15 내지 도 18을 참조하여 상세하게 설명될 것이다.
멀디미디어 IP 및 비디오 타이밍 생성기(1270)는 디코딩 유닛(1250)으로부터 출력된 디코드된 이미지 데이터를 처리하고, 처리한 이미지 데이터를 패널(1300)로 전송할 수 있다.
패널(1300)은 타겟 디바이스(1200)로부터 출력된 이미지 데이터에 대응하는 이미지를 디스플레이 할 수 있다. 패널(1300)은 2차원 이미지 또는 3차원 입체 영상을 디스플레이할 수 있다. 패널(1300)은 TFT-LCD(thin film transistor-liquid crystal display), LED(light emitting diode) 패널, OLED(organic LED) 패널, 또는 AMOLED(active-matrix OLED) 패널 등으로 구현될 수 있다.
도 1에 도시된 이미지 데이터 처리 시스템(1000)은 타겟 디바이스(1200) 내에 인코딩 유닛(1220)을 포함하고, 인코딩 유닛(1220)을 이용하여 이미지 데이터를 압축할 수 있다. 타겟 디바이스(1200)는 적어도 두 개 이상의 서로 다른 인코딩 방식을 이용하여 이미지 데이터를 압축할 수 있다. 휴대용 장치의 고해상도의 영상 지원에 대한 요구가 증가하면서 타겟 디바이스(1200)가 저장해야 하는 이미지 데이터의 양이 증가한다.
고해상도의 이미지 데이터를 처리하기 위해서 프레임 메모리(1240)의 크기를 증가시키면 타겟 디바이스(1200)의 칩 면적 증가를 야기시킨다. 타겟 디바이스의 면적 증가는 타겟 디바이스(1200)을 생산할 때, 생산 비용 증가 및 수율 저하의 문제를 야기할 수 있다.
본 발명의 실시 예에 의하면, 타겟 디바이스(1200)는 이미지 데이터를 고 압축률로 압축함으로, 프레임 메모리(1240)의 사용량을 줄이고, 프레임 메모리(1240) 사이즈 증가를 방지한다. 또한, 메모리 사용량이 감소하여, 메모리에 연결되는 라인들의 개수 및 길이도 감소하고, 이는 신호들 사이의 간섭 및 전압 강하를 방지할 수 있다. 그리고, 이러한 신호들의 사이의 간섭 및 전압 강하에 의한 오동작을 방지하고 소비전력을 감소시킨다.
도 2는 본 발명의 다른 실시 예에 따른 이미지 데이터 처리 시스템을 보여주는 블록도이다. 도 2를 참조하면 이미지 데이터 처리 시스템(2000)은 호스트(2100) 및 타겟 디바이스(2200)를 포함한다. 여기에서, 호스트(2100)는 애플리케이션 프로세서(AP)이고, 타겟 디바이스(2200)는 디스플레이 구동 집적 회로(DDI)일 수 있다.
호스트(2100)는 호스트 컨트롤러(2110), 인코딩 유닛(2120) 및 호스트 인터페이스(2140)를 포함한다. 호스트 컨트롤러(2110)는 이미지 데이터를 처리하는데 필요한 적어도 하나의 제어 신호, 예컨대 클락 신호, 동기 신호, 또는 동기 신호에 연관된 신호를 인코딩 유닛(1220)으로 전송할 수 있다. 또한, 호스트 컨트롤러(2110)는 이미지 데이터를 인코딩 유닛(2120)으로 전송할 수 있다.
인코딩 유닛(2120)은 제 1 및 제 2 인코더(2130)를 포함한다. 제 1 및 제 2 인코더(2130)는 압축되지 않은 이미지 데이터를 인코딩하고, 압축된 이미지 데이터를 출력할 수 있다. 인코딩 유닛(2120)의 기능과 동작은 도 1에서 기술한 바와 유사하므로 자세한 설명은 생략하기로 한다.
호스트 인터페이스(2140)는 CPU 인터페이스, RGB 인터페이스, 또는 시리얼 인터페이스(serial interface)로 구현될 수 있다. 실시 예에 따라, 호스트 인터페이스(2140)는 MDDI(mobile display sigital interface), MIPI(mobile industry processor interface), SPI(serial peripheral interface), I2C(inter IC) 인터페이스, DP(displayport)를 지원하는 인터페이스, eDP(embedded displayport)를 지원하는 인터페이스, 또는 HDMI(high-definition multimedia interface)로 구현될 수 있다.
호스트 인터페이스(2140)는 인코딩 유닛(2120)으로부터 출력된 압축된 이미지 데이터를 타겟 디바이스(2200)로 전송할 수 있다. 호스트(2100)가 압축된 이미지 데이터를 타겟 디바이스(2200)로 전송하기 때문에, 호스트(2100)로부터 타겟 디바이스(2200)로 전송되는 데이터 양이 감소할 수 있다,
계속해서 도 2를 참조하면, 타겟 디바이스(2200)는 디바이스 인테페이스(2210), 프레임 메모리(2240), 디코딩 유닛(2250) 및 멀티미디어 IP 및 비디오 타이밍 생성기(2270)를 포함한다. 디바이스 인터페이스(2210)는 호스트 인터페이스(2140)와 압축된 이미지 데이터(compressed image data)를 주고 받을 수 있다. 디바이스 인터페이스(2210)는 호스트(2100)로부터 입력받은 압축된 이미지 데이터를 프레임 메모리(2240)에 저장할 수 있다. 프레임 메모리(2240)는 저장한 압축된 이미지 데이터를 디코딩 유닛(2250)으로 출력할 수 있다.
디코딩 유닛(2250)은 제 1 및 제 2 디코더(2260)를 포함할 수 있다. 제 1 및 제 2 디코더(2260)는 프레임 메모리(2240)로부터 출력된 압축된 이미지 데이터를 입력받아, 디코딩을 수행하고 디코드된 이미지 데이터를 출력한다. 디코딩 유닛(2250)의 기능과 동작은 도 1에서 기술한 바와 동일하므로 여기에서는 생략하기로 한다.
멀디미디어 IP 및 비디오 타이밍 생성기(2270)는 디코딩 유닛(2250)으로부터 출력된 디코드된 이미지 데이터를 처리하고, 처리된 이미지 데이터를 패널로 전송할 수 있다. 멀디미디어 IP 및 비디오 타이밍 생성기(2270)의 기능과 동작은 도 1에서 기술한 바와 동일하므로 여기에서는 생략하기로 한다.
도 2에 도시된 이미지 데이터 처리 시스템(2000)은 호스트(2100) 내에 인코딩 유닛(2120)을 포함하고, 인코딩 유닛(2120)을 이용하여 이미지 데이터를 압축할 수 있다. 호스트(2100)는 압축된 이미지 데이터를 타겟 디바이스(2200)로 전송한다. 본 발명의 실시 예에 의하면, 호스트(2100)는 이미지 데이터를 압축하여 전송하기 때문에, 호스트(2100)와 타겟 디바이스(2200) 사이의 버스의 대역폭 사용량을 줄일 수 있을 뿐만 아니라, 타겟 디바이스(2240)의 프레임 메모리(2240)의 사용량도 줄일 수 있다.
Ⅱ. 이미지 데이터의 인코딩 방법
이하에서는 도 1 및 도 2에 도시된 이미지 데이터 처리 시스템의 이미지 데이터 인코딩 방법이 설명될 것이다.
도 3은 이미지 데이터의 매크로 블록(Macro Block)을 설명하기 위한 도면이다. 도 3에서, 가로 축은 픽셀의 개수를 나타내고, 세로축은 가로축의 픽셀들이 적층되는 라인(Line)을 나타낸다.
본 발명은 RGB(Red Green Blue color model), YUV(YUV color image pipeline) 등의 다양한 색 공간(color space)에 적용 가능하며, bpc(bit per component) 지원 역시 6~16까지 현재까지 상용되고 있는 모든 bpc에 적용될 수 있다. 이하에서는 예로서 RGB 8-bpc가 설명될 것이다. RGB 8-bpc는 하나의 픽셀(Pixel)에 R(Red) 8bit, G(Green) 8bit, B(Blue) 8bit의 이미지 데이터를 포함 할 수 있다.
도 3을 참조하면, 이미지 데이터의 압축 방법의 처리 단위는 4*2 블록이다. 가로로 4개의 픽셀(Pixel)과 세로로 두 라인의 픽셀의 그룹을 4*2 블록 또는 매크로 블록(MB; Macro Block)이라고 정의할 수 있다. 예를 들면, 도 3의 픽셀 P0 내지 픽셀 P7은 제 1 매크로 블록(MB1)이고, 제 1 매크로 블록(MB1)에 인접한 4*2 블록이 제 2 매크로 블록(MB2)이 될 수 있다.
도 4는 매크로 블록의 픽셀과 참조 픽셀(RP: Reference Pixel)을 설명하기 위한 도면이다. 도 4를 참조하면 한 개의 매크로 블록의 이미지 데이터들을 처리할 때, 참조로 하는 픽셀은 매크로 블록이 위치한 바로 윗줄 6개 픽셀이다. 예를 들어, 선택 매크로 블록을 압축하거나 인코딩을 수행할 때, 주변의 참조 픽셀을 이용하여 선택 매크로 블록의 픽셀들(P0~P7)을 복원할 수 있도록 매크로 블록의 상위에 인접한 6개의 픽셀들(REF0~REF5)을 참조 픽셀로 활용한다.
도 5는 도 1에 도시된 인코딩 유닛을 예시적으로 보여주는 블록도이다. 도 5에 도시된 인코딩 유닛(1220)은 도 1의 타겟 디바이스(1200) 내에 포함되거나, 도 2의 호스트(2100) 내에 포함될 수 있다. 도 5를 참조하면, 인코딩 유닛(1220)은 인코더부(1230), 비트스트림 생성기(1234) 및 복원부(1235)를 포함한다.
인코더부(1230)는 제 1 인코더(1231) 및 제 2 인코더(1232)를 포함한다. 각각의 인코더는 매크로 블록의 일부 픽셀만을 압축할 수 있다. 예를 들어, 제 1 인코더로 압축되는 매크로 블록(MB)의 픽셀은 비선택 픽셀이고, 제 2 인코더로 압축되는 매크로 블록(MB)의 픽셀은 선택 픽셀이라고 하자. 제 1 인코더(1231)로 압축될 비선택 픽셀들은 참조 픽셀(RP: Reference Pixel)들의 값을 이용하여 복원될 수 있다.
제 1 인코더(1231)는 매크로 블록(MB)과 제 1 참조 픽셀(RP)들의 이미지 데이터를 입력받고, 최종 모드 정보(FM: Final Mode)를 생성한다. 최종 모드 정보(FM)는 매크로 블록 내의 선택 픽셀들의 모드 정보와 비선택 픽셀들의 복원 참조값을 포함할 수 있다. 제 1 인코더(1231)의 인코딩 방식과 최종 모드 정보를 생성하는 방식은 이하의 도 6 내지 도 9를 참조하여 상세하게 설명될 것이다.
제 2 인코더(1232)는 최종 모드 정보(FM)에 기초하여 압축 비트스트림(CBS: Compressed Bit Stream)을 생성한다. 제 2 인코더(1232)는 1/2로 압축하는 저 압축기일 수 있다. 제 2 인코더(1232)가 압축 비트스트림(CBS)을 생성하는 방법은 이하의 도 10을 참조하여 상세하게 설명될 것이다.
비트스트림 생성기(1234)는 최종 모드 정보(FM)와 압축 비트스트림(CBS)을 이용하여 최종 비트스트림(FBS: Final Bit Stream)을 생성한다. 복원부(1235)는 최종 모드 정보(FM)와 압축 비트스트림(CBS)에 기초하여 다음 매크로 블록을 인코딩할 때 사용할 제 2 참조 픽셀(RP)을 복원한다. 비트스트림 생성기(1234) 및 복원부(1235)의 동작 방법은 이하의 도 11 내지 도 12를 참조하여 상세하게 설명될 것이다.
도 6은 도 5에 도시된 제 1 인코더를 예시적으로 보여주는 블록도이다. 도 6을 참조하면, 제 1 인코더(1231)는 차분 계산부(110), 후보 예측부(120) 및 모드 선택부(130)를 포함한다.
차분 계산부(110)는 매크로 블록(MB)의 비선택 픽셀과 제 1 참조 픽셀들의 차이값(DV: Differential value)을 계산하고, 비선택 픽셀에 마주하는 선택 픽셀 및 제 1 참조 픽셀의 평균값과 비선택 픽셀의 차이값(DV')을 생성한다. 차이값들 각각은 SAD(sum of absolute differences), SSD(sum of squared differences), MAD(mean absolute difference), 또는 NCC(normalized cross-correlation)일 수 있다. 이하, 차분 계산부(110)의 동작 방법은 이하의 도 7 및 도 8을 참조하여 상세하게 설명될 것이다.
후보 예측부(120)는 생성된 차이값들(DV) 중 각 모드별 에러 케이스를 분석하고, 최적의 후보(best candidate)를 예측한다. 이를 위해 후보 예측부(120)는 모드별 에러 값(EM: Error of Mode)을 계산한다. 모드 선택부(130)는 각 모드별 에러 값(EM)에 기초하여, 최종 모드 정보(FM: Final Mode)를 생성한다. 모드 선택부의 동작 방법은 이하의 도 9를 참조하여 상세하게 설명될 것이다.
도 7은 최종 모드 정보에 따라 선택되는 픽셀을 설명하기 위한 도면이다. 도 7을 참조하면, 설명의 편의를 위해 매크로 블록(MB)는 4*2 픽셀의 구성을 갖는다고 가정 하자.
차분 계산부(110)는 매크로 블록(MB)의 8개의 픽셀 중 제 2 인코더(도 5 참조, 1232)에 의해 압축되는 4개의 선택 픽셀과 제 1 인코더(도 5 참조, 1231)에 의해 다른 픽셀의 값을 참조하여 압축되는 4개의 비선택 픽셀을 선택한다. 제 2 인코더(1232)에 의해 압축되는 4개의 픽셀은 총 16가지 경우로 정의될 수 있다.
도 7의 각 모드를 나타내는 4개의 숫자는 압축되는 4개의 픽셀의 위치를 나타낸다. 각 열에서 0이면 윗줄에 위치한 픽셀이고, 1이면 아랫줄에 위치한 픽셀이 선택되는 것을 나타낸다. 예를 들어, 모드 0000은 제 2 인코더(1232)로 압축되는 4개의 픽셀로 P0, P1, P2 및 P3가 선택된다. 선택된 픽셀들은 선택 픽셀이라고 한다. 제 2 인코더(1232)는 선택 픽셀에 대한 인코딩 동작이 수행될 때, 픽셀이 갖는 RGB 값을 압축하여 인코딩한다. 모드 0000일 때, 매크로 블록 내의 선택되지 않은 픽셀들은 비선택 픽셀이라고 한다. 비선택 픽셀은 제 1 인코더(1231)로 인코딩이 수행된다. 비선택 픽셀은 인코딩시 주변 픽셀의 값을 그대로 이용하거나 방향성을 이용한 보간(interpolation)을 이용한다.
모드 1111은 제 2 인코더(1232)로 압축되는 4개의 픽셀로 P4, P5, P6 및 P7이 선택 픽셀이 되고, 제 1 인코더(1231)로 인코딩되는 4개의 픽셀은 P0, P1, P2 및 P3이 된다. 모드 1110은 제 2 인코더(1232)로 압축되는 4개의 선택 픽셀이 P4, P5, P6 및 P3 이고, 제 1 인코더(1231)로 인코딩되는 4개의 비선택 픽셀은 P0, P1, P2 및 P7 이다. 모드 1101의 경우, 선택 픽셀은 P4, P5, P2 및 P7이고, 비선택 픽셀은 P0, P1, P6 및 P3 이다.
도 8은 선택 모드에 따라 최적의 복원 참조값을 계산하는 방법을 설명하기 위한 도면이다. 도 8을 참조하면, 다른 픽셀을 참조하는 4개의 비선택 픽셀은 매크로 블록의 윗줄에 위치한 6개의 참조 픽셀들(REF0~REF5)과 제 2 인코더(도 5 참조, 1232)로 인코딩되는 4개의 선택 픽셀 즉, 총 10 개의 주변 픽셀을 이용하여 자신과 가장 유사한 값을 참조한다.
가장 유사한 값을 참조하는 방법에는 주변 픽셀의 값을 이용하거나, 방향성을 고려한 보간을 이용한 방법 등이 있다. 예를 들어, 모드 1111이고 보간 방법은 평균을 이용하고 픽셀 당 참조하는 값은 8개로 제한한다고 가정하자. 매크로 블록에서 제 2 인코더(1232)로 인코딩되는 모드 1111의 선택 픽셀은 P4, P5, P6 및 P7이다. 따라서, 비선택 픽셀 P0, P1, P2 및 P3는 다른 픽셀을 참조하는 픽셀이 된다.
모드 1111의 P0의 경우는 8가지의 값을 참조할 수 있다. 픽셀 P0는 매크로 블록(MB)의 윗줄에 위치한 참조 픽셀들 중에서 REF0, REF1, REF2를 참조할 수 있다. 또한, 픽셀 P0는 제 2 인코더(1232)로 인코딩된 후 복원되는 P4', P5', P6' 를 참조할 수 있고, 방향성을 고려한 REF0와 P5의 평균값과 REF1 과 P4의 평균값을 참조할 수 있다.
마찬가지로, 모드 1111의 비선택 픽셀 P1도 8가지 값을 참조할 수 있다. 픽셀 P1은 매트로 블록(MB)의 윗줄에 위치한 참조 픽셀들 중에서 REF1, REF2, REF3와 제 2 인코더(1232)에 의해 인코딩 수행된 후 복원되는 P4', P5', P6'를 참조할 수 있다. 또한, 픽셀 P1은 방향성을 고려한 REF1 과 P6'의 평균값과 REF3와 P4'의 평균값을 참조할 수 있다. 모드 1111의 비선택 픽셀의 참조 값을 정리해 보면 아래의 표 1과 같다.
비선택픽셀 참조 가능한 값
P0 REF0 REF1 REF2 P4' P5' P6' (REF0+P5')/2 (REF1+P6')/2
P1 REF1 REF2 REF3 P4' P5' P6' (REF1+P6')/2 (REF3+P4')/2
P2 REF2 REF3 REF4 P5' P6' P7' (REF2+P7')/2 (REF4+P5')/2
P3 REF3 REF4 REF5 P5' P6' P7' (REF4+P7')/2 (REF5+P6')/2
차분 계산부(도 6 참조, 110)는 위에 언급한 바와 같이 각 모드의 비 선택 픽셀들의 참조 가능한 값들과 비선택 픽셀과의 차이값들(DV)을 계산한다. 후보 예측부(도 6 참조, 120)는 차분 계산부(110)에서 생성된 차이값들 중에서 모드별 최적의 에러 케이스를 찾고, 그에 따른 각 모드의 최종 에러 값(EM)을 계산한다.
도 9는 도 6에 도시된 모드 선택부의 내부 구성 및 동작을 예시적으로 설명하기 위한 도면이다. 도 9를 참조 하면, 모드 선택부(130)는 최소 에러 모드 결정부(131) 및 멀티플렉서(132)를 포함한다.
최소 에러 모드 결정부(131)는 후보 예측부(도 6 참조, 120)에서 생성된 각 모드의 최종 에러 값을 입력 받고, 에러 값이 가장 작은 모드를 결정한다. 최소 에러 모드 결정부(131)는 가장 작은 에러 모드를 선택하도록 멀티플렉서(132)로 선택 신호를 제공한다.
멀티플렉서(132)는 최소 에러 모드 결정부(131)에서 제공되는 선택 신호에 응답하여, 최종 모드 정보를 생성한다. 최종 모드 정보는 제 2 인코더(도 5 참조, 1232)가 인코딩을 수행할 모드와 선택 픽셀 정보 및 비선택 픽셀들이 복원 시 이용할 복원 참조값을 포함한다.
도 10은 도 5에 도시된 제 2 인코더의 동작을 예시적으로 설명하기 위한 도면이다. 도 10을 참조 하면, 제 2 인코더(1232)는 제 1 인코더(도 5 참조, 1231)의 모드 선택부(도 6 참조, 130)에서 선택된 4개의 선택 픽셀을 1/2 크기로 압축하고, 압축된 비트스트림(CBS, 도 5 참조)을 생성한다.
예를 들어, 최종 모드 정보(FM)의 선택 픽셀의 모드가 0000일 때, 제 2 인코더(1232)는 P0, P1, P2 및 P3를 인코딩 또는 압축 한다. 각각의 선택 픽셀이 각각의 8비트(bit)의 RGB 정보를 포함한다고 가정하자. 선택된 4개의 픽셀은 총 96비트(bit)의 정보를 포함하고 있다. 제 2 인코더(1232)는 96 비트(bit)의 픽셀 정보를 1/2로 압축하여 48 비트(bit)의 압축 비트스트림(CBS)을 생성한다.
도 10에서는 제 2 인코더(1232)가 1/2 압축기로 설명되지만, 제 2 인코더(1232)는 이것에 한정되지 않는다. 생성된 압축 비트스트림을 복원하면, 96비트의 복원된 픽셀로 P0', P1', P2' 및 P3'가 생성될 수 있다. 복원된 픽셀들은 복원부(도 5 참조, 1235)로 전송될 수 있다.
도 11은 도 5에 도시된 비트스트림 생성기의 동작을 예시적으로 설명하기 위한 도면이다. 도 11을 참조하면, 비트스트림 생성기(1234)는 최종 모드 정보에 포함된 선택 픽셀의 모드 정보와 비선택 픽셀의 복원 참조값 및 압축된 비트스트림을 조합하여 최종 비트스트림을 생성한다.
최종 비트스트림의 헤더(Header)는 선택 픽셀의 모드 정보를 나타낸다. 선택 픽셀의 모드 정보는 디코딩을 수행할 때 사용된다. 참조값 정보(Info)는 비선택 픽셀이 디코딩 또는 복원될 때, 어떤 값들을 참조하는지에 관한 정보를 갖고 있다. 최종 비트스트림의 헤더 및 참조값 정보를 제외한 부분은 제 2 인코더(1232)에서 생성된 압축된 비트스트림을 포함할 수 있다. 도 11의 예에서, 헤더는 4비트, 참조값 정보는 12비트, 비트스트림은 48비트를 갖는 것으로 도시되어 있다.
도 12는 도 5에 도시된 복원부의 동작을 예시적으로 설명하기 위한 도면이다. 도 12를 참조 하면, 픽셀 P24~P27, P34~P37로 구성되는 메크로 블록을 인코딩하기 위해, 매크로 블록의 윗줄에 위치한 6개의 참조 픽셀(P13~P18)이 사용된다.
사용되는 참조 픽셀(P13~P18)은 원본 픽셀의 값이 아닌 복원된 값을 사용하게 된다. 참조 픽셀이 복원된 값을 사용하는 이유는 인코딩 유닛(도 1 참조, 1220)의 인코딩 또는 압축이나 디코딩 유닛(도 1 참조, 1250)의 디코딩 또는 복원 조건을 동일하게 하기 위함이다. 디코딩 유닛(1250)은 인코딩 유닛(1220)이 출력한 최종 비트스트림을 입력 받는다. 디코딩을 수행 할 때, 이용할 수 있는 데이터는 픽셀의 원본 값이 아닌 압축된 비트스트림을 복원하여 생성된 복원값이다.
도 12의 선택 매크로 블록(P24~P27, P34~P37)의 비트스트림을 디코딩 하기 위해서는 매크로 블록의 위에 인접한 참조 픽셀(P13~P18)의 값을 참조한다. 참조 픽셀의 값들은 이전 매크로 블록들의 최종 비트스트림에서 복원된 픽셀 값들이다.
인코딩 유닛(1220)은 선택 매크로 블록을 인코딩하기 위하여 참조 픽셀로 P13~P18을 사용한다. 인코딩을 수행할 때, 복원된 참조 픽셀들의 값을 사용하지 않고 참조 픽셀들의 원본 값을 사용하면 인코딩 유닛(1220)과 디코딩 유닛(1250)에서 사용하는 참조 픽셀의 값이 달라질 수 있다. 이와 같은 이유로, 참조 픽셀로 사용되는 값들은 복원된 값을 사용하고, 인코딩 유닛(1220)은 복원 값을 저장하고 선택 매크로 블록에 따라 복원된 참조 픽셀들을 츨력하는 복원부(도 5 참조, 1235)를 포함한다.
도 13은 도 5에 도시된 인코딩 유닛의 동작을 설명하기 위한 순서도이다.
S110 단계에서, 인코딩 유닛(1220)의 제 1 인코더(1231)는 입력된 매크로 블록(MB)과 참조 픽셀들을 인코딩 하여 최종 모드 정보(FM)를 생성한다. S120 단계에서, 인코딩 유닛(1220)의 제 2 인코더(1232)는 최종 모드 정보에 기초하여 압축 비트스트림(CBS)를 생성한다. S130 단계에서, 비트스트림 생성기(1234)는 최종 모드 정보(FM)와 압축 비트스트림(CBS)을 이용하여 최종 비트스트림(FBS)을 생성한다.
도 14는 도 6에 도시된 제 1 인코더의 동작을 설명하기 위한 순서도이다.
S111 단계에서, 차분 계산부(110)는 메크로 블록(MB)의 비선택 픽셀과 참조 픽셀들의 차이값(또는 차분값)을 계산하고, 비선택 픽셀에 마주하는 선택 픽셀 및 참조 픽셀의 평균값과 비선택 픽셀의 차이값을 생성한다. S112 단계에서, 후보 예측부(120)는 미리 정의된 모드별 에러 케이스를 분석하여 최적의 에러 후보를 예측한다. 후보 예측부(120)는 생성된 차이값들 중 각 모드별 최적의 에러 후보를 찾고 그에 따른 에러 값을 계산한다. S113 단계에서, 모드 선택부(130)는 각 모드별 에러 값에 기초하여 최종 모드 정보를 생성한다.
Ⅲ. 이미지 데이터의 디코딩 방법
이하에서는 도 1 및 도 2에 도시된 이미지 데이터 처리 시스템의 이미지 데이터 디코딩 방법이 설명될 것이다.
도 15는 도 1에 도시된 디코딩 유닛의 구성을 예시적으로 보여주는 블록도이다. 도 15를 참조하면, 디코딩 유닛(1250)은 디코딩부(1260) 및 재건부(1263)를 포함 한다. 디코딩부(1260)는 제 1 디코더(1261) 및 제 2 디코더(1262)를 포함한다.
제 1 디코더(1261)는 최종 비트스트림(FBS)을 입력받고, 압축 비트스트림(CBS')과 최종 모드 정보(FM')를 생성한다. 제 1 디코더(1261)는 최종 비트스트림(FBS)에 기초하여 압축 비트스트림과 선택 픽셀의 모드 정보 및 비선택 픽셀의 복원 참조값을 분리한다. 또한, 제 1 디코더(1261)는 생성된 모드 정보와 복원 참조값에 기초하여 디코드된 최종 모드 정보(FM')를 생성할 수 있다.
제 2 디코더(1262)는 압축 비트스트림(CBS')을 이용하여 선택 픽셀 정보(SPI)를 생성한다. 제 2 디코더(1262)는 압축 비트스트림을 디코딩하여 선택 픽셀의 값을 복원할 수 있다. 예를 들어, 도 10에 설명한 바와 같이, 제 2 인코더(1232)가 선택 픽셀들의 정보를 96비트에서 48비트로 1/2만큼 압축하였다고 가정하자. 제 2 디코더(1262)는 1/2만큼 압축된 48비트를 디코딩하여 96비트의 선택 픽셀 정보를 복원할 수 있다. 제 2 디코더(1262)에서 생성된 선택 픽셀의 정보(SPI)는 재건부(1263)로 전송될 수 있다.
재건부(1263)는 선택 픽셀 정보(SPI)와 디코드된 최종 모드 정보(FM')에 기초하여 디코드된 매크로 블록(MB')을 생성한다. 재건부(1263)는 최종 모드 정보(FM')로부터 비선택 픽셀들을 복원할 수 있다. 재건부(1263)는 제 2 디코더(1262)에서 생성된 선택 픽셀 정보를 입력받고, 복원된 비선택 픽셀들과 조합하여 디코드된 매크로 블록(MB')을 생성할 수 있다. 생성된 매크로 블록의 정보는 다음 매크로 블록의 참조 픽셀 정보(RP')로 사용하기 위해 재건부(1263)에 저장될 수 있다.
도 16은 도 15에 도시된 제 1 디코더를 예시적으로 보여주는 블록도이다. 도 16을 참조하면, 제 1 디코더(1261)는 비트스트림 언패커(210)와 모드 디코딩부(220)를 포함할 수 있다.
비트스트림 언패커(210)는 최종 비트스트림(FBS')에서 압축 비트스트림(CBS')과 헤더 및 복원 참조값(HRV: Header & Reference value)을 분리한다. 비트스트림 언패커(210)는 입력받은 최종 비트스트림(FBS)에서 압축 비트스트림(CBS')을 분리하여 제 2 디코더(도 15 참조, 1262)로 전송한다. 비트스트림 언패커(210)는 압축 비트스트림(CBS')이 제외된 헤더 및 복원 참조값(HRV)을 모드 디코딩부(220)로 전송할 수 있다. 헤더 및 복원 참조값(HRV)은 선택 픽셀의 모드 정보와 비선택 픽셀의 복원 참조값을 포함할 수 있다.
모드 디코딩부(220)는 입력받은 헤더 및 복원 참조값에 기초하여 디코드된 최종 모드 정보(FM')를 생성한다. 디코드된 최종 모드 정보(FM')는 재건부(1263)가 디코드된 매크로 블록을 생성할 때 참조할 수 있는 선택 픽셀 모드 정보 및 비선택 픽셀들이 복원 시 이용할 복원 참조값을 포함한다.
도 17은 도 15에 도시된 디코딩 유닛의 동작을 설명하기 위한 순서도이다.
S210 단계에서, 디코딩 유닛(1250)의 제 1 디코더(1261)는 최종 비트스트림(FBS)에 기초하여 압축 비트스트림(CBS')과 최종 모드 정보(FM')를 생성한다. S210 단계에서, 제 1 디코더(1261)는 최종 비트스트림(FBS)의 압축 비트스트림(CBS')과 선택 픽셀의 모드 정보 및 비선택 픽셀의 복원 참조값을 분리한다. 또한, 생성된 모드 정보와 복원 참조값에 기초하여 최종 모드 정보를 생성할 수 있다.
S220 단계에서, 제 2 디코더(1262)는 압축 비트스트림(CBS')을 이용하여 선택 픽셀 정보(SPI)를 생성한다. 다시 말해, 제 2 디코더(1262)는 압축 비트스트림(CBS')을 디코딩하여 선택 픽셀의 값을 복원할 수 있다. 제 2 디코더(1262)에서 생성된 선택 픽셀의 정보(SPI)는 재건부(1263)로 전송될 수 있다.
S230 단계에서, 재건부(1263)는 선택 픽셀 정보(SPI)와 최종 모드 정보(FM')에 기초하여 복원된 매크로 블록(MB')을 생성한다. 재건부(1263)는 제 2 디코더(1262)에서 생성된 선택 픽셀 정보(SPI)를 입력받고, 복원된 비선택 픽셀들과 조합하여 매크로 블록(MB')을 생성할 수 있다. 생성된 매크로 블록의 정보는 다음 매크로 블록의 참조 픽셀 정보로 사용하기 위해 재건부(1263)에 저장될 수 있다.
도 18은 도 16에 도시된 제 1 디코더의 동작을 설명하기 위한 순서도이다.
S211 단계에서, 제 1 디코더(1261)의 비트스트림 언패커(210)는 최종 비트스트림(FBS)에서 압축 비트스트림(CBS')과 헤더 및 복원 참조값(HRV: Header & Reference value)을 분리한다. 비트스트림 언패커(210)는 입력받은 최종 비트스트림(FBS)에서 압축 비트스트림(CBS')을 분리하여 제 2 디코더(1262)로 전송한다.
S212 단계에서, 모드 디코딩부(220)는 입력받은 헤더 및 복원 참조값(HRV)을 디코딩한다.
S213 단계에서, 모드 디코딩부(220)는 디코딩된 복원 참조 값에 기초하여 최종 모드 정보(FM')를 생성한다. 최종 모드 정보(FM')는 재건부(1263)가 매크로 블록을 생성할 때 참조할 수 있는 선택 픽셀 모드 정보 및 비 선택 픽셀들이 복원 시 이용할 복원 참조값을 포함할 수 있다.
Ⅳ. 적용예
도 19는 도 1에 도시된 인코딩 유닛 및 디코딩 유닛을 포함하는 시스템의 일 실시 예를 나타내는 블록도이다.
도 1과 도 19를 참조하면, 시스템(3000)은 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, 랩탑(laptop) 컴퓨터, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PDN(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), MID, 또는 e-북(e-book)과 같은 휴대용 장치로 구현될 수 있다.
시스템(3000)은 SOC(system on chip; 3200)과 외부 메모리(3400)를 포함한다. 실시 예에 따라 시스템(3000)은 디스플레이(3300) 또는 카메라 모듈(3100)을 더 포함할 수 있다.
SOC(3200)는 외부 메모리(3400), 디스플레이(3300), 또는 카메라 모듈(3100)의 동작을 제어한다. 실시 예에 따라 SOC(3200)는 집적 회로(integrated circuit(IC)), 프로세서(processor), 어플리케이션 프로세서(100)(application processor), 멀티미디어 프로세서(multimedia processor), 또는 집적된 멀티미디어 프로세서(integrated multimedia processor)라고 호칭될 수 있다.
SOC(3200)는 카메라 인터페이스(3210), 디스플레이 컨트롤러(3220), 메모리컨트롤러(3230), CPU(3240), 인코딩 유닛(1220), 및 디코딩 유닛(1250)를 포함한다. 각 구성요소(3210, 3220, 3230, 3240, 1220 및 1250)은 버스(3250)를 통해 서로 통신할 수 있다. 실시 예에 따라 버스(3250)의 아키텍쳐(architecture)는 다양할 수 있다.
CPU(3240)는 각 구성 요소(3210, 3220, 3230, 3240, 1220 및 1250)을 제어하기 위해 프로그램 명령들을 읽고 실행한다.
메모리 컨트롤러(3230)는 인코딩 유닛(1220)로부터 출력된 최종 비트스트림을 외부 메모리(3400) 또는 내부 메모리(미도시)로 전송하거나, 디코딩을 위해 외부 메모리(3400) 또는 내부 메모리에 저장된 최종 비트스트림을 디코딩 유닛(1250)로 전송할 수 있다.
외부 메모리(3400)는 휘발성 메모리 또는 불휘발성 메모리 일 수 있다. 상기 휘발성 메모리는 DRAM(dynamic random access memory), SRAM(static random access memory), T-RAM(thyristor RAM), Z-RAM(zero capacitor RAM), 또는 TTRAM(Twin Transistor RAM)일 수 있다. 상기 불휘발성 메모리는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시(flash) 메모리, MRAM(Magnetic RAM), PRAM(Phase change RAM), 저항 메모리일 수 있다.
디스플레이 컨트롤러(3220)는 디코딩 유닛(1250)에 의해 디코딩된 매크로 블록 또는 비디오 정보를 디스플레이(3300)에 디스플레이하도록 디스플레이(3300)를 제어한다.
디스플레이(3300)는 LCD(liquid crystal display), LED(light emitting diode) 디스플레이, OLED(organic light emitting diode) 디스플레이, AMOLED (active-matrix organic light-emitting diode) 디스플레이, 또는 플렉시블(flexible) 디스플레이일 수 있다.
카메라 모듈(3100)은 광학 이미지를 전기적인 이미지로 변환할 수 있는 모듈을 의미한다. 카메라 모듈(3100)로부터 출력된 전기적인 이미지는 RBG 픽셀 포멧 또는 YUV 픽셀 포맷(pixel format)을 가질 수 있다. 전기적 이미지는 비디오 소스 데이터일 수 있다. 전기적인 이미지는 인코딩을 위해 카메라 인터페이스(3210)를 통해 인코딩 유닛(1220)으로 전송된다. 인코딩 유닛(1220)은 앞에서 설명한 방식으로 동작할 수 있다.
디코딩 유닛(1250)은 비디오 데이터 또는 매크로 블록 정보를 디스플레이(3300)에 디스플레이하기 위해 최종 비트스트림을 디코딩하여 상기 비디오 데이터를 디스플레이(3300)로 출력한다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
1000: 이미지 데이터 처리 시스템
1100: 호스트
1200: 타겟 디바이스 또는 디스플레이 구동 집적 회로(DDI)
1210: 디스플레이 인터페이스
1220: 인코딩 유닛
1240: 프레임 메모리
1250: 디코딩 유닛
1270: 멀티미디어 IP 및 비디오 타이밍 생성기
1300: 패널

Claims (28)

  1. 매크로 블록과 적어도 하나의 참조 픽셀에 기초하여 복수의 모드들 중 선택된 모드를 나타내는 모드 정보를 생성하고, 상기 모드 정보를 기반으로 최종 비트스트림을 생성하도록 구성된 인코딩 유닛; 및
    상기 최종 비트스트림을 저장하고 상기 최종 비트스트림을 디코딩 유닛으로 제공하도록 구성된 프레임 메모리를 포함하고,
    상기 복수의 모드들 각각은 상기 매크로 블록에서 픽셀들을 선택 픽셀들과 비선택 픽셀들로 구분하는 방법을 나타내고, 상기 선택된 모드는 상기 매크로 블록 내에서 상기 선택 픽셀들의 위치들을 나타내는 정보를 포함하고,
    상기 인코딩 유닛은 상기 모드 정보에 기초하여 상기 매크로 블록에서 상기 선택 픽셀들의 압축 비트스트림을 생성하고, 상기 비선택 픽셀들 각각에 대한 복원 참조 값을 생성하도록 더 구성되고,
    상기 최종 비트스트림은 상기 모드 정보, 상기 복원 참조 값 및 상기 압축 비트스트림을 포함하고,
    상기 복원 참조 값은 상기 비선택 픽셀들 각각에 대한 인코딩 정보를 포함하는 디스플레이 구동 장치.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 참조 픽셀은 제1 참조 픽셀 및 제2 참조 픽셀을 포함하고,
    상기 인코딩 유닛은 상기 매크로 블록, 상기 제1 참조 픽셀 및 상기 제2 참조 픽셀을 기반으로 상기 모드 정보를 생성하는 디스플레이 구동 장치.
  3. 제 2 항에 있어서,
    상기 인코딩 유닛은 이전의 최종 비트스트림으로부터 상기 제1 참조 픽셀로서 픽셀을 복원하고, 상기 제2 참조 픽셀로서 압축된 선택 픽셀을 복원하도록 더 구성된 디스플레이 구동 장치.
  4. 제 3 항에 있어서,
    상기 인코딩 유닛은 상기 복수의 모드들 각각에 대하여 제1 차이값과 제2 차이값을 포함하는 복수의 차이값들을 계산하도록 더 구성되고,
    상기 제1 차이값은 상기 비선택 픽셀들 중 하나와 상기 제1 참조 픽셀 사이의 차이이고, 상기 제2 차이값은 상기 제1 참조 픽셀 및 상기 제2 참조 픽셀의 평균 값과 상기 비선택 픽셀 사이의 차이인 디스플레이 구동 장치.
  5. 제 4 항에 있어서,
    상기 인코딩 유닛은 상기 복수의 모드들 각각에 대하여 상기 비선택 픽셀들 각각에 연관된 상기 복수의 차이값들 중 최소값을 판별하고, 상기 복수의 모드들 각각에 대하여 상기 판별된 최소값을 기반으로 모드 에러를 판별하고, 상기 복수의 모드들에 대한 모드 에러들을 기반으로 상기 모드 정보를 생성하는 디스플레이 구동 장치.
  6. 제 5 항에 있어서,
    상기 복수의 차이값들 각각은 SAD(sum of absolute differences), SSD(sum of squared differences), MAD(mean absolute difference), 또는 NCC(normalized cross-correlation)인 디스플레이 구동 장치.
  7. 제 1 항에 있어서,
    상기 디코딩 유닛은 상기 최종 비트스트림을 분할하여 상기 압축 비트스트림과 디코드된 모드 정보를 생성하고, 상기 압축 비트스트림을 이용하여 선택 픽셀 정보를 생성하고, 상기 선택 픽셀 정보와 상기 디코드된 모드 정보에 기초하여 디코드된 매크로 블록을 생성하도록 구성된 디스플레이 구동 장치.
  8. 제 7 항에 있어서,
    상기 디코딩 유닛은 상기 최종 비트스트림을 상기 압축 비트스트림, 헤더 및 상기 복원 참조 값으로 분리하고, 상기 헤더 및 상기 복원 참조 값을 기반으로 상기 디코드된 모드 정보를 생성하는 디스플레이 구동 장치.
  9. 제 8 항에 있어서,
    상기 디코딩 유닛은 상기 선택 픽셀 정보로부터 상기 선택 픽셀을 복원하고, 상기 모드 정보로부터 상기 비선택 픽셀들을 복원하는 디스플레이 구동 장치.
  10. 프레임 메모리를 포함하는 디스플레이 구동 칩으로 영상 압축 데이터를 제공하는 호스트에 있어서,
    상기 호스트는,
    제어 신호 및 비압축(un-compressed) 영상 데이터를 전송하도록 구성된 호스트 컨트롤러; 및
    상기 제어 신호 및 상기 비압축 영상 데이터를 수신하도록 구성된 인코딩 유닛을 포함하고,
    상기 인코딩 유닛은 매크로 블록과 적어도 하나의 참조 픽셀에 기초하여 복수의 모드들 중 선택된 모드를 나타내는 모드 정보를 생성하도록 더 구성되고,
    상기 복수의 모드들 각각은 상기 매크로 블록에서 픽셀들을 선택 픽셀들과 비선택 픽셀들로 구분하는 방법을 나타내고, 상기 선택된 모드는 상기 매크로 블록 내에서 상기 선택 픽셀들의 위치들을 나타내는 정보를 포함하고,
    상기 인코딩 유닛은 상기 모드 정보에 기초하여 상기 매크로 블록에서 상기 선택 픽셀들의 압축 비트스트림을 생성하고, 상기 비선택 픽셀들 각각에 대한 복원 참조 값을 생성하고, 상기 모드 정보, 상기 복원 참조 값 및 상기 압축 비트스트림을 포함하는 최종 비트스트림을 생성하도록 더 구성되고,
    상기 복원 참조 값은 상기 비선택 픽셀들 각각에 대한 인코딩 정보를 포함하는 호스트.
  11. 제 10 항에 있어서,
    상기 적어도 하나의 참조 픽셀은 제1 참조 픽셀 및 제2 참조 픽셀을 포함하고,
    상기 인코딩 유닛은 상기 매크로 블록, 상기 제1 참조 픽셀 및 상기 제2 참조 픽셀을 기반으로 상기 모드 정보를 생성하는 호스트.
  12. 제 11 항에 있어서,
    상기 인코딩 유닛은 이전의 최종 비트스트림으로부터 상기 제1 참조 픽셀로서 픽셀을 복원하고, 상기 제2 참조 픽셀로서 압축된 선택 픽셀을 복원하도록 더 구성된 호스트.
  13. 제 12 항에 있어서,
    상기 인코딩 유닛은 상기 복수의 모드들 각각에 대하여 제1 차이값과 제2 차이값을 포함하는 복수의 차이값들을 계산하도록 더 구성되고,
    상기 제1 차이값은 상기 비선택 픽셀들 중 하나와 상기 제1 참조 픽셀 사이의 차이이고, 상기 제2 차이값은 상기 제1 참조 픽셀 및 상기 제2 참조 픽셀의 평균 값과 상기 비선택 픽셀 사이의 차이인 호스트.
  14. 제 13 항에 있어서,
    상기 인코딩 유닛은 상기 복수의 모드들 각각에 대하여 상기 비선택 픽셀들 각각에 연관된 상기 복수의 차이값들 중 최소값을 판별하고, 상기 복수의 모드들 각각에 대하여 상기 판별된 최소값을 기반으로 모드 에러를 판별하고, 상기 복수의 모드들에 대한 모드 에러들을 기반으로 상기 모드 정보를 생성하는 호스트.
  15. 제 14 항에 있어서,
    상기 복수의 차이값들 각각은 SAD(sum of absolute differences), SSD(sum of squared differences), MAD(mean absolute difference), 또는 NCC(normalized cross-correlation)인 호스트.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
KR1020140000881A 2014-01-03 2014-01-03 디스플레이 구동 장치 및 이미지 데이터 처리 장치의 동작 방법 KR102294830B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020140000881A KR102294830B1 (ko) 2014-01-03 2014-01-03 디스플레이 구동 장치 및 이미지 데이터 처리 장치의 동작 방법
US14/325,900 US10136139B2 (en) 2014-01-03 2014-07-08 Display driver and method of operating image data processing device
CN201410838391.4A CN104768061B (zh) 2014-01-03 2014-12-29 操作图像数据处理装置的显示驱动器和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140000881A KR102294830B1 (ko) 2014-01-03 2014-01-03 디스플레이 구동 장치 및 이미지 데이터 처리 장치의 동작 방법

Publications (2)

Publication Number Publication Date
KR20150081397A KR20150081397A (ko) 2015-07-14
KR102294830B1 true KR102294830B1 (ko) 2021-08-31

Family

ID=53496205

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140000881A KR102294830B1 (ko) 2014-01-03 2014-01-03 디스플레이 구동 장치 및 이미지 데이터 처리 장치의 동작 방법

Country Status (3)

Country Link
US (1) US10136139B2 (ko)
KR (1) KR102294830B1 (ko)
CN (1) CN104768061B (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11515897B2 (en) 2015-05-29 2022-11-29 SK Hynix Inc. Data storage device
US10396827B2 (en) 2015-09-25 2019-08-27 SK Hynix Inc. Data storage device
KR102347418B1 (ko) * 2015-09-25 2022-01-06 에스케이하이닉스 주식회사 데이터 처리 장치 및 그것의 동작 방법
KR102285940B1 (ko) 2015-05-29 2021-08-05 에스케이하이닉스 주식회사 데이터 처리 회로, 데이터 처리 회로를 포함하는 데이터 저장 장치 및 그것의 동작 방법
US11177835B2 (en) 2015-09-25 2021-11-16 SK Hynix Inc. Data storage device
US11611359B2 (en) 2015-05-29 2023-03-21 SK Hynix Inc. Data storage device
KR102261962B1 (ko) * 2015-07-21 2021-06-07 삼성전자주식회사 디스플레이 구동 장치, 이를 포함하는 디스플레이 장치 및 시스템
EP3340625A4 (en) * 2015-08-19 2019-01-23 Sony Corporation SENDING DEVICE, TRANSMISSION PROCEDURE, RECEPTION DEVICE AND RECEPTION PROCEDURE
GB2542637A (en) * 2015-09-28 2017-03-29 Esaturnus Nv Ultra low latency UHD and 3D networked video communication applicable to gigabit ethernet
CN106878740B (zh) * 2015-12-10 2022-11-01 格科微电子(上海)有限公司 适用于液晶显示驱动的图像压缩方法和图像压缩系统
CN108519807A (zh) * 2018-03-23 2018-09-11 维沃移动通信有限公司 一种应用处理器及移动终端
KR102456474B1 (ko) 2018-04-27 2022-10-20 삼성디스플레이 주식회사 영상 처리 회로, 영상 처리 회로를 포함하는 표시 장치 및 그것의 구동 방법
US10848696B2 (en) * 2018-06-01 2020-11-24 Samsung Electronics Co., Ltd. Apparatus for encoding image, apparatus for decoding image and image sensor
KR102618692B1 (ko) * 2018-06-15 2024-01-02 삼성전자주식회사 노이즈 또는 디서의 영향을 감소시키기 위한 디스플레이 구동 회로 및 방법
KR20220063870A (ko) 2020-11-10 2022-05-18 삼성디스플레이 주식회사 데이터 구동 회로 및 이를 포함하는 표시 장치

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7792188B2 (en) 2004-06-27 2010-09-07 Apple Inc. Selecting encoding types and predictive modes for encoding video data
WO2006090334A2 (en) * 2005-02-28 2006-08-31 Nxp B.V. New compression format and apparatus using the new compression format for temporarily storing image data in a frame memory
JP4000157B2 (ja) 2005-04-14 2007-10-31 株式会社アクセル 画像圧縮方法および画像伸張方法
KR20060123939A (ko) 2005-05-30 2006-12-05 삼성전자주식회사 영상의 복부호화 방법 및 장치
JP4725321B2 (ja) 2005-12-28 2011-07-13 セイコーエプソン株式会社 画像符号化装置及び画像符号化方法
JP2007201537A (ja) 2006-01-23 2007-08-09 Canon Inc 画像圧縮方法および画像圧縮手段を備えた情報処理装置
KR101270167B1 (ko) * 2006-08-17 2013-05-31 삼성전자주식회사 저복잡도의 이미지 압축 방법 및 장치, 저복잡도의 이미지복원 방법 및 장치
KR101328931B1 (ko) 2006-11-28 2013-11-14 엘지전자 주식회사 비디오 복호기 및 복호방법
KR100837410B1 (ko) 2006-11-30 2008-06-12 삼성전자주식회사 주관적인 무손실 이미지 데이터 압축 방법 및 장치
KR101446771B1 (ko) 2008-01-30 2014-10-06 삼성전자주식회사 영상 부호화장치 및 영상 복호화장치
WO2011142801A1 (en) * 2010-05-10 2011-11-17 Thomson Licensing Methods and apparatus for adaptive interpolative intra block encoding and decoding
RS57166B1 (sr) 2010-08-17 2018-07-31 M&K Holdings Inc Postupak za kodiranje intra prediktivnog moda
JP5781313B2 (ja) 2011-01-12 2015-09-16 株式会社Nttドコモ 画像予測符号化方法、画像予測符号化装置、画像予測符号化プログラム、画像予測復号方法、画像予測復号装置及び画像予測復号プログラム
KR101444667B1 (ko) * 2011-01-15 2014-09-30 에스케이 텔레콤주식회사 양방향 인트라 예측을 이용한 영상 부호화/복호화 방법 및 장치
CA2772894A1 (en) 2011-05-17 2012-11-17 Her Majesty The Queen In Right Of Canada, As Represented By The Ministerof Industry, Through The Communications Research Centre Canada Image and video encoding and decoding
KR101375699B1 (ko) 2011-11-04 2014-03-20 연세대학교 산학협력단 인트라 예측 방법 및 장치

Also Published As

Publication number Publication date
KR20150081397A (ko) 2015-07-14
US20150195581A1 (en) 2015-07-09
CN104768061B (zh) 2019-05-31
CN104768061A (zh) 2015-07-08
US10136139B2 (en) 2018-11-20

Similar Documents

Publication Publication Date Title
KR102294830B1 (ko) 디스플레이 구동 장치 및 이미지 데이터 처리 장치의 동작 방법
TWI533668B (zh) 影像資料壓縮與解壓縮方法以及使用該方法的顯示驅動裝置
US8970605B2 (en) Display driver with improved power consumption and operation method of improving power consumption of image data processing device
US9373176B2 (en) Image compression method and apparatus for encoding pixel data of frame into interleaved bit-stream, and related image decompression method and apparatus
US20150049098A1 (en) Data processing apparatus for transmitting/receiving compressed pixel data groups via multiple display ports of display interface and related data processing method
KR102103730B1 (ko) 디스플레이 구동장치 및 이를 포함하는 디스플레이 장치
WO2020248838A1 (zh) 显示装置及其驱动方法
CN110706662B (zh) 用于rgbg子像素格式的色彩变换的设备和方法以及存储介质
US10602174B2 (en) Lossless pixel compression for random video memory access
US20170076700A1 (en) Image processing device and image processing method
US11151924B2 (en) Display device displaying an image by decoding a compressed image bitstream, and method of operating the display device
US10304213B2 (en) Near lossless compression scheme and system for processing high dynamic range (HDR) images
US9123090B2 (en) Image data compression device, image data decompression device, display device, image processing system, image data compression method, and image data decompression method
US9591309B2 (en) Progressive lossy memory compression
US10217394B2 (en) Display driving apparatus and display driving method
KR100852958B1 (ko) 서브픽셀 렌더링과 데이터 압축을 이용한 디스플레이드라이버 장치 및 그 제어방법
US20080226164A1 (en) Image data decoding device, image data encoding device, image processing device, and electronic instrument
CN111787331B (zh) 显示数据的压缩方法、压缩装置及显示装置
KR20220083385A (ko) 부호 및 복호를 수행하는 디스플레이 구동 회로 및 이의 방법
KR20150028716A (ko) 영상 부호화 장치 및 영상 부호화 방법
US20240022750A1 (en) Integrated chip including interface, operating method thereof, and electronic device including integrated chip
JP2009071598A (ja) 画像処理装置
KR102199358B1 (ko) 이미지들의 시퀀스를 송신하기 위한 방법, 이미지들의 시퀀스를 포함하는 비디오 데이터를 송신하기 위한 시스템
KR20180059159A (ko) 보상 데이터 처리 방법과 이를 이용한 유기 발광 다이오드 표시 장치
US10142640B2 (en) Method and apparatus for using small-sized buffer in compression/decompression with block prediction

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