KR20240069100A - 영역 분리를 이용한 영상 처리 장치, 영상 처리 방법, 및 이를 포함하는 전자 시스템 - Google Patents

영역 분리를 이용한 영상 처리 장치, 영상 처리 방법, 및 이를 포함하는 전자 시스템 Download PDF

Info

Publication number
KR20240069100A
KR20240069100A KR1020220150257A KR20220150257A KR20240069100A KR 20240069100 A KR20240069100 A KR 20240069100A KR 1020220150257 A KR1020220150257 A KR 1020220150257A KR 20220150257 A KR20220150257 A KR 20220150257A KR 20240069100 A KR20240069100 A KR 20240069100A
Authority
KR
South Korea
Prior art keywords
sub
data
video
input
output
Prior art date
Application number
KR1020220150257A
Other languages
English (en)
Inventor
김기만
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020220150257A priority Critical patent/KR20240069100A/ko
Priority to US18/446,927 priority patent/US20240161229A1/en
Priority to CN202311351136.2A priority patent/CN118042060A/zh
Publication of KR20240069100A publication Critical patent/KR20240069100A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • 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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2624Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects for obtaining an image which is composed of whole input images, e.g. splitscreen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)

Abstract

영상 처리 장치는 비디오 분리기, 복수의 비디오 처리기들 및 비디오 병합기를 포함한다. 비디오 분리기는 입력 비디오 데이터를 복수의 서브 영역들에 대응하는 복수의 입력 비디오 서브 데이터들로 분리한다. 복수의 비디오 처리기들은 복수의 입력 비디오 서브 데이터들에 대한 영상 처리 동작을 각각 수행하여 복수의 출력 비디오 서브 데이터들을 생성한다. 비디오 병합기는 복수의 출력 비디오 서브 데이터들을 병합하여 입력 비디오 데이터에 대응하는 출력 비디오 데이터를 생성한다. 복수의 입력 비디오 서브 데이터들 각각은, 대응하는 서브 영역에 대한 메인 입력 서브 데이터, 및 대응하는 서브 영역과 인접하는 인접 서브 영역의 일부에 대한 경계 입력 서브 데이터를 포함한다.

Description

영역 분리를 이용한 영상 처리 장치, 영상 처리 방법, 및 이를 포함하는 전자 시스템{IMAGE PROCESSING DEVICE AND METHOD USING VIDEO AREA SPLITTING, AND ELECTRONIC SYSTEM INCLUDING THE SAME}
본 발명은 반도체 집적 회로에 관한 것으로서, 더욱 상세하게는 영역 분리를 이용한 영상 처리 장치 및 영상 처리 방법과, 상기 영상 처리 장치를 포함하는 전자 시스템에 관한 것이다.
전자 기술의 발달에 힘입어 다양한 유형의 전자기기가 개발 및 보급되고 있다. 특히, 가정, 사무실, 공공 장소 등 다양한 장소에서 이용되는 영상 처리 장치는 최근 수년 간 지속적으로 발전하고 있다.
최근 4K, 8K UHD TV 등의 고해상도 디스플레이 패널들이 출시되어 널리 보급되어 있다. 하지만, 아직 고해상도 비디오 컨텐츠는 많이 부족한 상황이다. 이에 저해상도 비디오 컨텐츠에서 고해상도 비디오 컨텐츠를 생성하기 위한 다양한 기술이 개발되고 있다. 또한, 고해상도 비디오 컨텐츠의 데이터 크기가 커짐에 따라, 영상을 공간적으로 분할하여 처리할 필요성이 높아지고 있다.
본 발명의 일 목적은 영역 분리를 이용하여 고화질 또는 고해상도의 비디오 데이터를 효과적으로 처리할 수 있는 영상 처리 장치 및 영상 처리 방법을 제공하는 것이다.
본 발명의 일 목적은 상기 영상 처리 장치를 포함하는 전자 시스템을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 영상 처리 장치는 비디오 분리기, 복수의 비디오 처리기들 및 비디오 병합기를 포함한다. 상기 비디오 분리기는 입력 비디오 데이터를 복수의 서브 영역들에 대응하는 복수의 입력 비디오 서브 데이터들로 분리한다. 상기 복수의 비디오 처리기들은 상기 복수의 입력 비디오 서브 데이터들에 대한 영상 처리 동작을 각각 수행하여 복수의 출력 비디오 서브 데이터들을 생성한다. 상기 비디오 병합기는 상기 복수의 출력 비디오 서브 데이터들을 병합하여 상기 입력 비디오 데이터에 대응하는 출력 비디오 데이터를 생성한다. 상기 복수의 입력 비디오 서브 데이터들 각각은, 상기 복수의 서브 영역들 중 대응하는 서브 영역에 대한 메인 입력 서브 데이터, 및 상기 복수의 서브 영역들 중 상기 대응하는 서브 영역과 인접하는 인접 서브 영역의 일부에 대한 경계 입력 서브 데이터를 포함한다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 전자 시스템은 디스플레이 장치 및 영상 처리 장치를 포함한다. 상기 영상 처리 장치는 입력 비디오 데이터에 기초하여 상기 디스플레이 장치에 영상을 표시하기 위한 출력 비디오 데이터를 생성한다. 상기 영상 처리 장치는 비디오 분리기, 복수의 비디오 처리기들 및 비디오 병합기를 포함한다. 상기 비디오 분리기는 상기 입력 비디오 데이터를 복수의 서브 영역들에 대응하는 복수의 입력 비디오 서브 데이터들로 분리한다. 상기 복수의 비디오 처리기들은 상기 복수의 입력 비디오 서브 데이터들에 대한 영상 처리 동작을 각각 수행하여 복수의 출력 비디오 서브 데이터들을 생성한다. 상기 비디오 병합기는 상기 복수의 출력 비디오 서브 데이터들을 병합하여 상기 출력 비디오 데이터를 생성한다. 상기 복수의 입력 비디오 서브 데이터들 각각은, 상기 복수의 서브 영역들 중 대응하는 서브 영역에 대한 메인 입력 서브 데이터, 및 상기 복수의 서브 영역들 중 상기 대응하는 서브 영역과 인접하는 인접 서브 영역의 일부에 대한 경계 입력 서브 데이터를 포함한다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 영상 처리 방법에서, 입력 비디오 데이터를 복수의 서브 영역들에 대응하는 복수의 입력 비디오 서브 데이터들로 분리한다. 상기 복수의 입력 비디오 서브 데이터들에 대한 영상 처리 동작을 각각 수행하여 복수의 출력 비디오 서브 데이터들을 생성한다. 상기 복수의 출력 비디오 서브 데이터들을 병합하여 상기 입력 비디오 데이터에 대응하는 출력 비디오 데이터를 생성한다. 상기 복수의 입력 비디오 서브 데이터들 각각은, 상기 복수의 서브 영역들 중 대응하는 서브 영역에 대한 메인 입력 서브 데이터, 및 상기 복수의 서브 영역들 중 상기 대응하는 서브 영역과 인접하는 인접 서브 영역의 일부에 대한 경계 입력 서브 데이터를 포함한다.
상기와 같은 본 발명의 실시예들에 따른 영상 처리 장치, 영상 처리 방법 및 전자 시스템에서는, 입력 비디오를 복수의 서브 영역들에 대응하도록 분리하고, 분할된 비디오들에 대해 복수의 비디오 처리기들을 이용하여 독립적인 영상 처리를 수행하며, 영상 처리된 비디오들을 병합하여 출력 비디오를 생성할 수 있다. 따라서, 비디오 처리기들의 성능을 높이지 않고도 높은 스루풋을 달성할 수 있어, 비용 증가 없이 효율적인 영상 처리가 가능할 수 있다. 또한, 영상 처리 시에 서브 영역들의 경계 부분 관련 데이터들을 함께 이용함으로써, 경계 부분에서 불연속성이 발생하는 것을 방지할 수 있어, 보다 정확하고 효과적인 영상 처리가 가능할 수 있다.
도 1은 본 발명의 실시예들에 따른 영상 처리 장치를 나타내는 블록도이다.
도 2a, 2b, 2c, 2d 및 2e는 본 발명의 실시예들에 따른 영상 처리 장치의 동작을 설명하기 위한 도면들이다.
도 3은 도 1의 영상 처리 장치에 포함되는 복수의 비디오 처리기들의 일 예를 나타내는 블록도이다.
도 4a, 4b 및 4c는 도 3의 복수의 비디오 처리기들의 동작을 설명하기 위한 도면들이다.
도 5는 도 1의 영상 처리 장치에 포함되는 복수의 비디오 처리기들의 일 예를 나타내는 블록도이다.
도 6a 및 6b는 도 5의 복수의 비디오 처리기들의 동작을 설명하기 위한 도면들이다.
도 7은 도 1의 영상 처리 장치에 포함되는 복수의 비디오 처리기들의 일 예를 나타내는 블록도이다.
도 8a, 8b 및 8c는 도 7의 복수의 비디오 처리기들의 동작을 설명하기 위한 도면들이다.
도 9는 도 1의 영상 처리 장치에 포함되는 복수의 비디오 처리기들의 일 예를 나타내는 블록도이다.
도 10은 도 9의 복수의 비디오 처리기들의 동작을 설명하기 위한 도면이다.
도 11a, 11b 및 11c는 도 1의 영상 처리 장치에 포함되는 복수의 비디오 처리기들의 예들을 나타내는 도면들이다.
도 12 및 13은 본 발명의 실시예들에 따른 영상 처리 장치를 나타내는 블록도이다.
도 14a, 14b, 14c, 14d, 14e, 15a, 15b, 15c, 15d 및 15e는 본 발명의 실시예들에 따른 영상 처리 장치의 동작을 설명하기 위한 도면들이다.
도 16은 본 발명의 실시예들에 따른 영상 처리 방법을 나타내는 순서도이다.
도 17은 본 발명의 실시예들에 따른 전자 시스템을 나타내는 블록도이다.
도 18은 도 17의 전자 시스템에 포함되는 디스플레이 장치의 일 예를 나타내는 블록도이다.
도 19는 본 발명의 실시예들에 따른 전자 시스템을 나타내는 블록도이다.
도 20은 도 19의 전자 시스템의 동작을 설명하기 위한 도면이다.
도 21은 본 발명의 실시예들에 따른 전자 시스템을 나타내는 블록도이다.
도 22는 본 발명의 실시예들에 따른 디지털 시스템을 나타내는 도면이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 영상 처리 장치를 나타내는 블록도이다.
도 1을 참조하면, 영상 처리 장치(100)는 비디오 분리기(200), 복수의 비디오 처리기들(300) 및 비디오 병합기(또는 멀티플렉서)(400)를 포함한다.
비디오 분리기(200)는 외부로부터 입력 비디오 데이터(VD_IN)를 수신하고, 입력 비디오 데이터(VD_IN)를 복수의 입력 비디오 서브 데이터들(SVD_IN)로 분리 또는 분할한다. 예를 들어, 복수의 입력 비디오 서브 데이터들(SVD_IN)은 제1 내지 제K(K는 2 이상의 자연수) 입력 비디오 서브 데이터들(SVD_IN_1, SVD_IN_2, ..., SVD_IN_K)을 포함할 수 있다. 복수의 입력 비디오 서브 데이터들(SVD_IN)은 입력 비디오 데이터(VD_IN)에 의해 표시되는 영상 및/또는 비디오에 포함되는 복수의 서브 영역들(또는 하위 평면들)에 대응한다. 예를 들어, 상기 복수의 서브 영역들의 개수는 복수의 입력 비디오 서브 데이터들(SVD_IN)의 개수와 동일할 수 있다. 예를 들어, 상기 복수의 서브 영역들은 제1 내지 제K 서브 영역들을 포함할 수 있다.
비디오 분리기(200)는 경계 삽입 블록(210)을 포함할 수 있다. 경계 삽입 블록(210)은 복수의 입력 비디오 서브 데이터들(SVD_IN) 각각에 경계 영역 관련 데이터를 추가함으로써, 영상 처리 시에 상기 복수의 서브 영역들의 경계 부분이 불연속적으로 표시되는 것을 방지하도록 할 수 있다.
구체적으로, 복수의 입력 비디오 서브 데이터들(SVD_IN) 각각은, 상기 복수의 서브 영역들 중 대응하는 서브 영역에 대한 메인 입력 서브 데이터, 및 상기 복수의 서브 영역들 중 상기 대응하는 서브 영역과 인접하는 인접 서브 영역의 일부에 대한 경계 입력 서브 데이터를 포함할 수 있다. 경계 삽입 블록(210)은 각 메인 입력 서브 데이터 뿐만 아니라 각 경계 입력 서브 데이터를 포함하도록 각 입력 비디오 서브 데이터의 생성을 제어할 수 있다. 경계 삽입 블록(210)의 동작에 대해서는 도 2 등을 참조하여 후술하도록 한다.
복수의 비디오 처리기들(300)은 복수의 입력 비디오 서브 데이터들(SVD_IN)에 대한 영상 처리 동작을 각각 수행하여 복수의 출력 비디오 서브 데이터들(SVD_OUT)을 생성한다. 예를 들어, 복수의 출력 비디오 서브 데이터들(SVD_OUT)은 제1 내지 제K 출력 비디오 서브 데이터들(SVD_OUT_1, SVD_OUT_2, ..., SVD_OUT_K)을 포함할 수 있다. 복수의 입력 비디오 서브 데이터들(SVD_IN)과 유사하게, 복수의 출력 비디오 서브 데이터들(SVD_OUT) 또한 상기 복수의 서브 영역들에 대응할 수 있다.
예를 들어, 복수의 비디오 처리기들(300)은 제1 내지 제K 비디오 처리기들(300a, 300b, ..., 300k)을 포함할 수 있다. 제1 내지 제K 비디오 처리기들(300a, 300b, ..., 300k)은 상기 영상 처리 동작을 개별적/독립적으로 수행할 수 있다. 예를 들어, 제1 비디오 처리기(300a)는 제1 입력 비디오 서브 데이터(SVD_IN_1)에 대한 상기 영상 처리 동작을 수행하여 제1 출력 비디오 서브 데이터(SVD_OUT_1)를 생성하고, 제2 비디오 처리기(300b)는 제1 비디오 처리기(300a)와 개별적/독립적으로 제2 입력 비디오 서브 데이터(SVD_IN_2)에 대한 상기 영상 처리 동작을 수행하여 제2 출력 비디오 서브 데이터(SVD_OUT_2)를 생성할 수 있다.
복수의 비디오 처리기들(300) 각각은 복수의 입력 비디오 서브 데이터들(SVD_IN) 각각에 포함되는 상기 메인 입력 서브 데이터 및 상기 경계 입력 서브 데이터 모두에 대해 상기 영상 처리 동작을 수행하며, 이에 따라 상기 복수의 서브 영역들의 경계 부분이 불연속적으로 표시되는 것을 방지하도록 할 수 있다.
일 실시예에서, 상기 영상 처리 동작은 영상의 해상도(resolution)를 변경하는 스케일링(scaling) 동작, 영상의 프레임 레이트(frame rate)를 변경하는 프레임 레이트 제어 동작, 영상을 압축하거나 압축 복원하는 인코딩(encoding)/디코딩(decoding) 동작, 영상의 디테일을 향상시키거나 노이즈를 제거하는 필터링(filtering) 동작 등을 포함할 수 있다. 상기와 같은 다양한 영상 처리 동작을 위한 복수의 비디오 처리기들(300)의 구성에 대해서는 도 3 내지 11을 참조하여 후술하도록 한다.
비디오 병합기(400)는 복수의 출력 비디오 서브 데이터들(SVD_OUT)을 병합하여 출력 비디오 데이터(VD_OUT)를 생성한다. 출력 비디오 데이터(VD_OUT)는 입력 비디오 데이터(VD_IN)에 대응하며, 입력 비디오 데이터(VD_IN)에 대해 상기 영상 처리 동작이 수행된 결과를 나타낼 수 있다.
비디오 병합기(400)는 경계 제거 블록(410)을 포함할 수 있다. 경계 제거 블록(410)은 복수의 입력 비디오 서브 데이터들(SVD_IN) 각각에 추가되었던 상기 경계 영역 관련 데이터를 삭제함으로써, 최종적으로 상기 복수의 서브 영역들의 경계 부분이 불연속적으로 표시되는 것을 방지하도록 할 수 있다.
구체적으로, 복수의 출력 비디오 서브 데이터들(SVD_OUT) 각각은, 상기 메인 입력 서브 데이터에 대응하는 메인 출력 서브 데이터, 및 상기 경계 입력 서브 데이터에 대응하는 경계 출력 서브 데이터를 포함할 수 있다. 경계 제거 블록(410)은 각 출력 비디오 서브 데이터에서 각 경계 출력 서브 데이터를 제거하고 각 메인 출력 서브 데이터만을 제공함으로써, 비디오 병합기(400)가 각 메인 출력 서브 데이터만을 이용하여 출력 비디오 데이터(VD_OUT)를 생성하도록 제어할 수 있다. 경계 제거 블록(410)의 동작에 대해서는 도 2 등을 참조하여 후술하도록 한다.
일 실시예에서, 비디오 분리기(200), 복수의 비디오 처리기들(300) 및 비디오 병합기(400)의 일부 또는 전부는 하드웨어의 형태로 구현될 수 있다. 예를 들어, 비디오 분리기(200), 복수의 비디오 처리기들(300) 및 비디오 병합기(400)의 일부 또는 전부는 컴퓨터 기반의 전자 시스템에 포함될 수 있다. 다른 실시예에서, 비디오 분리기(200), 복수의 비디오 처리기들(300) 및 비디오 병합기(400)의 일부 또는 전부는 소프트웨어, 예를 들어 명령어 코드들 또는 프로그램 루틴들의 형태로 구현될 수도 있다. 예를 들어, 상기 명령어 코드들 또는 프로그램 루틴들은 컴퓨터 기반의 전자 시스템에 의해 실행되며 컴퓨터 기반의 전자 시스템의 내부 또는 외부에 배치되는 임의의 저장부에 저장될 수 있다.
도 2a, 2b, 2c, 2d 및 2e는 본 발명의 실시예들에 따른 영상 처리 장치의 동작을 설명하기 위한 도면들이다.
도 2a, 2b, 2c, 2d 및 2e는 영상이 2개의 서브 영역들로 구분되는 경우, 즉 도 1에서 K=2인 경우를 예시하고 있다.
도 2a를 참조하면, 입력 영상(IMG_IN)은 제1 서브 영역(SA1)에 대응하는 제1 메인 입력 서브 영상(IMG_IN_SA1) 및 제2 서브 영역(SA2)에 대응하는 제2 메인 입력 서브 영상(IMG_IN_SA2)을 포함할 수 있다. 제1 서브 영역(SA1)과 제2 서브 영역(SA2)의 경계 부분을 점선으로 도시하였다. 예를 들어, 입력 영상(IMG_IN)은 입력 비디오 데이터(VD_IN)에 대응할 수 있다.
일 실시예에서, 입력 비디오 데이터(VD_IN)에 기초하여 정지 영상이 표시되는 경우에, 입력 영상(IMG_IN)은 상기 정지 영상에 대응할 수 있다. 다른 실시예에서, 입력 비디오 데이터(VD_IN)에 기초하여 동영상이 표시되는 경우에, 상기 동영상은 복수의 프레임 영상들을 포함하며, 입력 영상(IMG_IN)은 상기 복수의 프레임 영상들 중 하나에 대응할 수 있다.
도 2b를 참조하면, 비디오 분리기(200)에 의해 영상 분리 동작이 수행되며, 입력 영상(IMG_IN)이 제1 메인 입력 서브 영상(IMG_IN_SA1) 및 제2 메인 입력 서브 영상(IMG_IN_SA2)으로 분리될 수 있다. 이 때, 상술한 것처럼 제1 및 제2 서브 영역들(SA1, SA2)의 경계 부분 관련 데이터들이 제1 및 제2 서브 영역들(SA1, SA2) 관련 데이터들과 함께 이용될 수 있다.
구체적으로, 경계 삽입 블록(210)에 의해 제2 서브 영역(SA2)의 일부인 제1 경계 영역(BA12)에 대응하는 제1 경계 입력 서브 영상(IMG_IN_BA12)이 제1 메인 입력 서브 영상(IMG_IN_SA1)과 함께 제공될 수 있다. 또한, 경계 삽입 블록(210)에 의해 제1 서브 영역(SA1)의 일부인 제2 경계 영역(BA21)에 대응하는 제2 경계 입력 서브 영상(IMG_IN_BA21)이 제2 메인 입력 서브 영상(IMG_IN_SA2)과 함께 제공될 수 있다. 예를 들어, 제1 경계 영역(BA12)은 제1 서브 영역(SA1)과 인접하는 제2 서브 영역(SA2)의 일부이고, 제2 경계 영역(BA21)은 제2 서브 영역(SA2)과 인접하는 제1 서브 영역(SA1)의 일부일 수 있다. 예를 들어, 제1 메인 입력 서브 영상(IMG_IN_SA1) 및 제1 경계 입력 서브 영상(IMG_IN_BA12)은 제1 입력 비디오 서브 데이터(SVD_IN_1)에 포함되는 제1 메인 입력 서브 데이터 및 제1 경계 입력 서브 데이터에 각각 대응하고, 제2 메인 입력 서브 영상(IMG_IN_SA2) 및 제2 경계 입력 서브 영상(IMG_IN_BA21)은 제2 입력 비디오 서브 데이터(SVD_IN_2)에 포함되는 제2 메인 입력 서브 데이터 및 제2 경계 입력 서브 데이터에 각각 대응할 수 있다.
도 2c를 참조하면, 복수의 비디오 처리기들(300)에 의해 영상 처리 동작이 수행될 수 있다. 이 때, 상술한 것처럼 서브 영역 관련 데이터들 및 경계 부분 관련 데이터들 모두에 대해 상기 영상 처리 동작이 수행될 수 있다.
구체적으로, 제1 비디오 처리기(300a)에 의해 제1 메인 입력 서브 영상(IMG_IN_SA1) 및 제1 경계 입력 서브 영상(IMG_IN_BA12) 모두에 대해 상기 영상 처리 동작이 수행되어, 제1 서브 영역(SA1)에 대응하는 제1 메인 출력 서브 영상(IMG_OUT_SA1) 및 제1 경계 영역(BA12)에 대응하는 제1 경계 출력 서브 영상(IMG_OUT_BA12)이 생성될 수 있다. 또한, 제2 비디오 처리기(300b)에 의해 제2 메인 입력 서브 영상(IMG_IN_SA2) 및 제2 경계 입력 서브 영상(IMG_IN_BA21) 모두에 대해 상기 영상 처리 동작이 수행되어, 제2 서브 영역(SA2)에 대응하는 제2 메인 출력 서브 영상(IMG_OUT_SA2) 및 제2 경계 영역(BA21)에 대응하는 제2 경계 출력 서브 영상(IMG_OUT_BA21)이 생성될 수 있다. 예를 들어, 제1 메인 출력 서브 영상(IMG_OUT_SA1) 및 제1 경계 출력 서브 영상(IMG_OUT_BA12)은 제1 출력 비디오 서브 데이터(SVD_OUT_1)에 포함되는 제1 메인 출력 서브 데이터 및 제1 경계 출력 서브 데이터에 각각 대응하고, 제2 메인 출력 서브 영상(IMG_OUT_SA2) 및 제2 경계 출력 서브 영상(IMG_OUT_BA21)은 제2 출력 비디오 서브 데이터(SVD_OUT_2)에 포함되는 제2 메인 출력 서브 데이터 및 제2 경계 출력 서브 데이터에 각각 대응할 수 있다.
도 2d 및 2e를 참조하면, 비디오 병합기(400)에 의해 영상 병합 동작이 수행되며, 제1 메인 출력 서브 영상(IMG_OUT_SA1) 및 제2 메인 출력 서브 영상(IMG_OUT_SA2)을 포함하는 출력 영상(IMG_OUT)이 생성될 수 있다. 이 때, 경계 부분 관련 데이터들은 제거되고 서브 영역 관련 데이터들만이 이용될 수 있다.
구체적으로, 도 2d에 도시된 것처럼, 경계 제거 블록(410)에 의해 제1 메인 출력 서브 영상(IMG_OUT_SA1)과 함께 제공되었던 제1 경계 출력 서브 영상(IMG_OUT_BA12)이 제거될 수 있다. 또한, 경계 제거 블록(410)에 의해 제2 메인 출력 서브 영상(IMG_OUT_SA2)과 함께 제공되었던 제2 경계 출력 서브 영상(IMG_OUT_BA21)이 제거될 수 있다.
이후에, 도 2e에 도시된 것처럼, 비디오 병합기(400)에 의해 제1 메인 출력 서브 영상(IMG_OUT_SA1) 및 제2 메인 출력 서브 영상(IMG_OUT_SA2)을 포함하는 출력 영상(IMG_OUT)이 생성 및 출력될 수 있다. 상술한 것처럼, 경계 부분 관련 데이터들을 함께 이용하여 상기 영상 처리 동작을 수행하였기 때문에, 제1 및 제2 서브 영역들(SA1, SA2)의 경계 부분에서 불연속성이 나타나지 않을 수 있다.
본 발명의 실시예들에 따른 영상 처리 장치(100)에서는, 입력 비디오를 복수의 서브 영역들에 대응하도록 분리하고, 분할된 비디오들에 대해 복수의 비디오 처리기들(300)을 이용하여 독립적인 영상 처리를 수행하며, 영상 처리된 비디오들을 병합하여 출력 비디오를 생성할 수 있다. 따라서, 비디오 처리기들(300)의 성능을 높이지 않고도 높은 스루풋(throughput)을 달성할 수 있어, 비용 증가 없이 효율적인 영상 처리가 가능할 수 있다. 또한, 영상 처리 시에 서브 영역들의 경계 부분 관련 데이터들을 함께 이용함으로써, 서브 영역들의 경계 부분에서 불연속성이 발생하는 것을 방지할 수 있어, 보다 정확하고 효과적인 영상 처리가 가능할 수 있다.
이하에서는 영상이 2개의 서브 영역들로 구분되는 경우, 즉 도 1에서 K=2인 경우에 기초하여 본 발명의 실시예들을 상세하게 설명하도록 한다.
도 3은 도 1의 영상 처리 장치에 포함되는 복수의 비디오 처리기들의 일 예를 나타내는 블록도이다.
도 3을 참조하면, 복수의 비디오 처리기들(310)은 입력 비디오 데이터(VD_IN)에 대한 스케일링 동작을 수행하는 복수의 스케일러들(310a, 310b)을 포함할 수 있다. 예를 들어, 복수의 스케일러들(310a, 310b)은 제1 스케일러(310a) 및 제2 스케일러(310b)를 포함할 수 있다. 제1 스케일러(310a)는 제1 입력 비디오 서브 데이터(SVD_IN_1)에 대한 상기 스케일링 동작을 수행하여 제1 출력 비디오 서브 데이터(SC_SVD_OUT_1), 즉 스케일링된 비디오 서브 데이터를 생성할 수 있다. 제2 스케일러(310b)는 제2 입력 비디오 서브 데이터(SVD_IN_2)에 대한 상기 스케일링 동작을 수행하여 제2 출력 비디오 서브 데이터(SC_SVD_OUT_2), 즉 스케일링된 비디오 서브 데이터를 생성할 수 있다.
일 실시예에서, 상기 스케일링 동작은 영상의 크기(size) 및/또는 해상도(resolution)를 변경하는 동작을 나타낼 수 있다. 예를 들어, 상기 스케일링 동작은 영상의 크기 및/또는 해상도를 증가시키는 업 스케일링(up-scaling) 동작(또는 업 샘플링(up-sampling) 동작)과, 영상의 크기 및/또는 해상도를 감소시키는 다운 스케일링(down-scaling) 동작(또는 다운 샘플링(down-sampling) 동작)을 포함할 수 있다.
영상의 크기는 영상의 가로*세로에 해당하고, 영상의 해상도는 하나의 영상(또는 단위 면적)에 포함되는 픽셀 및/또는 픽셀 데이터의 개수를 나타낸다. 구체적으로, 영상의 해상도는 영상이 가지고 있는 디테일(detail)을 나타내며, 디지털 영상, 필름 영상 및 기타 유형의 영상에 대해 사용된다. 고해상도는 더 많은 영상 디테일을 의미한다. 영상의 해상도는 다양한 방법으로 측정할 수 있으며, 해상도의 단위는 하나의 픽셀의 물리적 크기, 영상의 전체 크기 등과 연관될 수 있다. 예를 들어, 해상도라는 용어는 디지털 이미징의 픽셀 수와 동일한 것으로 간주될 수 있고, 유효 픽셀 수(number of effective pixels), PPI(pixels per inch) 등과 같이 표현될 수 있다.
다만 본 발명은 이에 한정되지 않으며, 상기 스케일링 동작은 영상의 비트 심도(bit-depth)를 변경(증가 또는 감소)하는 동작을 나타내거나, 그 밖에 영상의 품질과 관련된 다양한 파라미터들 중 적어도 하나를 변경하는 동작을 나타낼 수 있다. 영상의 비트 심도는 하나의 영상에 포함되는 각 픽셀이 사용할 수 있는 색상 정보의 양, 즉 각 픽셀이 저장할 수 있는 데이터의 비트 수를 나타낸다.
도 4a, 4b 및 4c는 도 3의 복수의 비디오 처리기들의 동작을 설명하기 위한 도면들이다.
도 4a를 참조하면, 본 발명의 실시예들에 따른 영상 처리 장치(100)가 디지털 TV와 같은 전자 시스템에 포함되는 경우를 예시하고 있다.
영상 처리 장치(100)는 다양한 해상도의 영상을 입력으로 수신할 수 있다. 예를 들어, 영상 처리 장치(100)는 SD(standard definition), HD(high definition), FHD(full HD), 4K UHD(ultra HD), 8K UHD 영상 중 어느 하나의 영상을 수신할 수 있다.
영상 처리 장치(100)를 포함하는 상기 전자 시스템은 고해상도의 영상을 출력/표시하는 고해상도 디지털 TV로 구현될 수 있다. 예를 들어, 상기 전자 시스템은 8K UHD 영상을 표시하는 8K UHD TV일 수 있다.
영상 처리 장치(100)를 포함하는 상기 전자 시스템이 8K UHD TV로 구현되더라도, 8K UHD 컨텐츠 자체가 부족하기 때문에 SD, HD, FHD, 4K UHD 등의 영상(즉, 저해상도 영상)이 입력되는 경우가 많을 수 있다. 이 경우, 입력된 저해상도 영상을 8K UHD 영상(즉, 고해상도 영상)으로 변환하여 표시할 수 있으며, 이러한 변환 동작을 위해 도 3의 복수의 스케일러들(310a, 310b)이 이용될 수 있다.
도 4b를 참조하면, 입력 영상(IMG_INa)의 일 예를 나타내고 있다. 예를 들어, 입력 영상(IMG_INa) 및 이에 대응하는 입력 비디오 데이터(VD_IN)는 제1 해상도를 가질 수 있다.
도 4c를 참조하면, 입력 영상(IMG_INa)에 대해 상기 스케일링 동작을 수행하여 획득된 출력 영상(IMG_OUTa)의 일 예를 나타내고 있다. 예를 들어, 상기 스케일링 동작을 수행하여 획득된 출력 영상(IMG_OUTa) 및 이에 대응하는 출력 비디오 데이터(VD_OUT)는 상기 제1 해상도와 다른 제2 해상도를 가질 수 있다.
예를 들어, 상기 스케일링 동작은 저해상도의 입력 영상(IMG_INa)을 고해상도의 출력 영상(IMG_OUTa)으로 변환하는 업 스케일링 동작일 수 있다. 예를 들어, 상기 제2 해상도는 상기 제1 해상도보다 높을 수 있다. 예를 들어, 저해상도의 입력 영상(IMG_INa)은 4*4=16개의 픽셀들에 의해 표현되고, 고해상도의 출력 영상(IMG_OUTa)은 8*8=64개의 픽셀들에 의해 표현될 수 있다. 도 4b, 4c 및 이후의 도면에서, 하나의 작은 사각형이 하나의 픽셀에 대응할 수 있다.
일 실시예에서, 복수의 스케일러들(310a, 310b)은 상술한 스케일링 동작을 수행하기 위해 다양한 방식으로 구현될 수 있다. 예를 들어, 입력 영상(IMG_INa)에 대해 보간법(interpolation)을 적용하여 출력 영상(IMG_OUTa)을 생성할 수 있다. 다른 예에서, 입력 영상(IMG_INa)에 대해 초해상화(super-resolution) 기법을 적용하여 출력 영상(IMG_OUTa)을 생성할 수 있다. 또 다른 예에서, 입력 영상(IMG_INa)에 대해 기계 학습(machine learning) 모델 및/또는 신경망(neural network) 모델을 적용하여 출력 영상(IMG_OUTa)을 생성할 수 있다. 다만 본 발명은 이에 한정되지 않는다.
도 5는 도 1의 영상 처리 장치에 포함되는 복수의 비디오 처리기들의 일 예를 나타내는 블록도이다. 이하 도 3과 중복되는 설명은 생략한다.
도 5를 참조하면, 복수의 비디오 처리기들(312)은 복수의 스케일러들(310a, 310b)을 포함하며, 입력 비디오 데이터(VD_IN)에 대한 크롭(crop) 동작을 수행하는 크롭퍼(302)를 더 포함할 수 있다.
크롭퍼(302)를 더 포함하는 것을 제외하면, 도 5의 복수의 비디오 처리기들(312)은 도 3의 복수의 비디오 처리기들(310)과 실질적으로 동일할 수 있다.
크롭퍼(302)는 제1 및 제2 입력 비디오 서브 데이터들(SVD_IN_1, SVD_IN_2)에 대한 상기 크롭 동작을 수행하여 크롭된 제1 및 제2 입력 비디오 서브 데이터들(SVD_IN_1', SVD_IN_2')을 생성할 수 있다. 제1 및 제2 스케일러들(310a, 310b)은 크롭된 제1 및 제2 입력 비디오 서브 데이터들(SVD_IN_1', SVD_IN_2')에 대한 상기 스케일링 동작을 수행하여 크롭된 제1 및 제2 출력 비디오 서브 데이터들(SC_SVD_OUT_1', SC_SVD_OUT_2')을 생성할 수 있다.
일 실시예에서, 상기 크롭 동작은 영상의 바깥쪽 가장자리를 제거 또는 조정하여 영상의 구도를 개선하거나, 시청자의 시선을 영상의 객체로 끌어들이거나, 영상의 크기 또는 종횡비를 변경하는 동작을 나타낼 수 있다. 다시 말하면, 상기 크롭 동작은 사진이나 영상의 불필요한 부분을 제거하여 개선하는 동작을 나타낼 수 있다.
일 실시예에서, 크롭퍼(302)는 도 1의 비디오 분리기(200)에 포함될 수도 있다. 일 실시예에서, 도 12를 참조하여 후술하는 것처럼 입력 비디오 데이터(VD_IN)를 메모리(500)로부터 수신하는 경우에, 크롭퍼(302)를 이용하여 입력 비디오 데이터(VD_IN)의 일부(즉, 크롭된 제1 및 제2 입력 비디오 서브 데이터들(SVD_IN_1', SVD_IN_2')에 대응하는 비디오 데이터들)만을 수신하도록 구현될 수도 있다. 다시 말하면, 상기 크롭 동작은 영상 분리 동작 이전에 수행될 수도 있다.
도 6a 및 6b는 도 5의 복수의 비디오 처리기들의 동작을 설명하기 위한 도면들이다.
도 6a를 참조하면, 입력 영상(IMG_INb), 및 입력 영상(IMG_INb)에 대해 상기 크롭 동작을 수행하여 획득된 크롭된 입력 영상(CR_IMG_INb)의 일 예를 나타내고 있다. 예를 들어, 입력 영상(IMG_INb) 및 이에 대응하는 입력 비디오 데이터(VD_IN)는 제1 해상도를 가지고, 상기 크롭 동작을 수행하여 획득된 크롭된 입력 영상(CR_IMG_INb)은 입력 비디오 데이터(VD_IN)의 일부(즉, 도 5의 크롭된 제1 및 제2 출력 비디오 서브 데이터들(SC_SVD_OUT_1', SC_SVD_OUT_2'))에 대응할 수 있다.
도 6b를 참조하면, 크롭된 입력 영상(CR_IMG_INb)에 대해 상기 스케일링 동작을 수행하여 획득된 출력 영상(IMG_OUTb)의 일 예를 나타내고 있다.
예를 들어, 상기 스케일링 동작은 업 스케일링 동작일 수 있다. 예를 들어, 크롭된 입력 영상(CR_IMG_INb)은 입력 영상(IMG_INb)과 동일한 상기 제1 해상도를 가지지만 입력 영상(IMG_INb)보다 작은 크기를 가지며, 상기 스케일링 동작을 수행하여 획득된 출력 영상(IMG_OUTa) 및 이에 대응하는 출력 비디오 데이터(VD_OUT)는 입력 영상(IMG_INb)과 동일한 크기 및 동일한 상기 제1 해상도를 가질 수 있다.
도 7은 도 1의 영상 처리 장치에 포함되는 복수의 비디오 처리기들의 일 예를 나타내는 블록도이다. 이하 도 3과 중복되는 설명은 생략한다.
도 7을 참조하면, 복수의 비디오 처리기들(314)은 복수의 스케일러들(310a, 310b)을 포함하며, 상기 스케일링 동작에 대한 데이터 처리 레이트를 제어하는 데이터 처리 레이트 컨트롤러(304)를 더 포함할 수 있다.
데이터 처리 레이트 컨트롤러(304)를 더 포함하는 것을 제외하면, 도 7의 복수의 비디오 처리기들(314)은 도 3의 복수의 비디오 처리기들(310)과 실질적으로 동일할 수 있다.
데이터 처리 레이트 컨트롤러(304)는 상기 스케일링 동작에 대한 상기 데이터 처리 레이트를 제어하기 위한 데이터 처리 레이트 제어 신호(DRC)를 생성할 수 있다. 제1 및 제2 스케일러들(310a, 310b)은 데이터 처리 레이트 제어 신호(DRC)에 기초하여 상기 데이터 처리 레이트를 제어하고, 상기 데이터 처리 레이트에 따라 제1 및 제2 입력 비디오 서브 데이터들(SVD_IN_1, SVD_IN_2)에 대한 상기 스케일링 동작을 수행하여 제1 및 제2 출력 비디오 서브 데이터들(SC_SVD_OUT_1, SC_SVD_OUT_2)을 생성할 수 있다.
도 8a, 8b 및 8c는 도 7의 복수의 비디오 처리기들의 동작을 설명하기 위한 도면들이다.
도 8a를 참조하면, 입력 비디오 데이터(VD_IN)에 대응하는 입력 영상(IMG_IN)을 수신하는 경우에 대한 신호 타이밍의 일 예를 나타내고 있다. 예를 들어, 수평 개시(horizontal start) 신호(HST)는 하나의 라인 영상이 시작됨을 나타내는 신호이고, 입력 인에이블 펄스(enable pulse) 신호(EP_IN)는 하나의 라인 영상 내에서 하나의 영상 신호 또는 비디오 신호(예를 들어, 픽셀 신호)가 존재함을 나타내는 신호일 수 있다.
예를 들어, 입력 영상(IMG_IN) 및 이에 대응하는 입력 비디오 데이터(VD_IN)는 제1 프레임 레이트로 수신될 수 있다. 예를 들어, 입력 인에이블 펄스 신호(EP_IN)에 포함되는 화살표들 중 인접한 두 개의 화살표들 사이의 시간 간격의 역수가 상기 제1 프레임 레이트에 대응할 수 있다. 예를 들어, 입력 인에이블 펄스 신호(EP_IN)에 포함되는 화살표들 중에서, 제1 및 제2 라인 데이터들(LD1, LD2)은 입력 영상(IMG_IN)에 포함되는 하나의 라인 영상에 대응하고, 제1 라인 데이터(LD1)는 하나의 라인 영상 중 제1 서브 영역(SA1)에 대응하는 부분이며, 제2 라인 데이터(LD2)는 하나의 라인 영상 중 제2 서브 영역(SA2)에 대응하는 부분일 수 있다.
도 8b를 참조하면, 제1 및 제2 스케일러들(310a, 310b)이 제1 및 제2 입력 비디오 서브 데이터들(SVD_IN_1, SVD_IN_2)에 대한 상기 스케일링 동작을 수행하는 경우에 대한 신호 타이밍의 일 예를 나타내고 있다. 예를 들어, 제1 인에이블 펄스 신호(EP_1)는 제1 스케일러(310a)가 제1 라인 데이터(LD1)에 대한 상기 스케일링 동작을 수행하는 경우에 하나의 영상 신호가 존재함을 나타내는 신호이고, 제2 인에이블 펄스 신호(EP_2)는 제2 스케일러(310b)가 제2 라인 데이터(LD2)에 대한 상기 스케일링 동작을 수행하는 경우에 하나의 영상 신호가 존재함을 나타내는 신호일 수 있다.
예를 들어, 제1 및 제2 스케일러들(310a, 310b)은 상기 제1 프레임 레이트와 다른 제1 데이터 처리 레이트에 기초하여 상기 스케일링 동작을 수행할 수 있다. 예를 들어, 제1 및 제2 인에이블 펄스 신호(EP_1, EP_2)에 포함되는 화살표들 중 인접한 두 개의 화살표들 사이의 시간 간격의 역수가 상기 제1 데이터 처리 레이트에 대응할 수 있다. 예를 들어, 상기 제1 데이터 처리 레이트는 상기 제1 프레임 레이트보다 낮을 수 있다.
도 8c를 참조하면, 입력 비디오 데이터(VD_IN)에 대응하는 입력 영상들(VIMG_INa)의 일 예를 나타내고 있다. 또한, 입력 영상들(VIMG_INa)에 대해 도 8a 및 8b를 참조하여 상술한 동작을 수행하여 획득되고 출력 비디오 데이터(VD_OUT)에 대응하는 출력 영상들(VIMG_OUTa)의 일 예를 나타내고 있다.
예를 들어, 도 8a를 참조하여 상술한 것처럼, 입력 영상들(VIMG_INa)은 상기 제1 프레임 레이트로 수신되며, 인접한 입력 프레임 영상들 사이의 시간 간격(T1)의 역수가 상기 제1 프레임 레이트에 대응할 수 있다.
예를 들어, 출력 영상들(VIMG_OUTa)은 상기 제1 프레임 레이트와 다르고 상기 제1 데이터 처리 레이트와 동일한 제2 프레임 레이트로 출력되며, 인접한 출력 프레임 영상들 사이의 시간 간격(T2)의 역수가 상기 제2 프레임 레이트에 대응할 수 있다. 예를 들어, 상기 제2 프레임 레이트는 상기 제1 프레임 레이트보다 낮을 수 있다. 이 경우, 상대적으로 빠른 속도로 수신되는 영상들을 상대적으로 느린 속도로 처리할 수 있어, 장치의 성능 증가 없이 기존 장치를 이용할 수 있고, 비용 증가 없이 효율적인 영상 처리가 가능할 수 있다.
도 9는 도 1의 영상 처리 장치에 포함되는 복수의 비디오 처리기들의 일 예를 나타내는 블록도이다.
도 9를 참조하면, 복수의 비디오 처리기들(320)은 입력 비디오 데이터(VD_IN)에 대한 프레임 레이트 제어 동작을 수행하는 복수의 프레임 레이트 컨트롤러들(320a, 320b)을 포함할 수 있다. 예를 들어, 복수의 프레임 레이트 컨트롤러들(320a, 320b)은 제1 프레임 레이트 컨트롤러(320a) 및 제2 프레임 레이트 컨트롤러(320b)를 포함할 수 있다. 제1 프레임 레이트 컨트롤러(320a)는 제1 입력 비디오 서브 데이터(SVD_IN_1)에 대한 상기 프레임 레이트 제어 동작을 수행하여 제1 출력 비디오 서브 데이터(FC_SVD_OUT_1), 즉 프레임 레이트 조절된 비디오 서브 데이터를 생성할 수 있다. 제2 프레임 레이트 컨트롤러(320b)는 제2 입력 비디오 서브 데이터(SVD_IN_2)에 대한 상기 프레임 레이트 제어 동작을 수행하여 제2 출력 비디오 서브 데이터(FC_SVD_OUT_2), 즉 프레임 레이트 조절된 비디오 서브 데이터를 생성할 수 있다.
일 실시예에서, 프레임 레이트는 단위 시간 동안 표시되는 프레임 영상들의 개수에 대응할 수 있다. 본 발명의 실시예들에 따른 영상 처리 장치(100)는 프레임 레이트(또는 리프레쉬 레이트(refresh rate))가 고정되어 있지 않고 변경 가능한 가변 프레임 레이트(variable frame rate) 방식으로 동작하도록 구현될 수 있다. 가변 프레임 레이트 방식은 가변 리프레쉬 레이트(variable refresh rate, VRR), 적응적 리프레쉬 레이트(adaptive refresh rate, ARR) 등으로 지칭될 수도 있다.
도 10은 도 9의 복수의 비디오 처리기들의 동작을 설명하기 위한 도면이다.
도 10을 참조하면, 입력 비디오 데이터(VD_IN)에 대응하는 입력 영상들(VIMG_INb)의 일 예를 나타내고 있다. 또한, 입력 영상들(VIMG_INb)에 대해 상기 프레임 레이트 제어 동작을 수행하여 획득되고 출력 비디오 데이터(VD_OUT)에 대응하는 출력 영상들(VIMG_OUTb)의 일 예를 나타내고 있다. 예를 들어, 입력 영상들(VIMG_INb)은 입력 프레임 영상들(IIMG1, IIMG2, IIMG3, IIMG4)을 포함하고, 출력 영상들(VIMG_OUTb)은 출력 프레임 영상들(OIMG1, OIMG2, OIMG3, OIMG4, OIMG5, OIMG6, OIMG7)을 포함할 수 있다.
예를 들어, 입력 영상들(VIMG_INb)은 제1 프레임 레이트로 수신되며, 출력 영상들(VIMG_OUTb)은 상기 제1 프레임 레이트와 다른 제2 프레임 레이트로 출력될 수 있다. 예를 들어, 상기 제2 프레임 레이트는 상기 제1 프레임 레이트보다 높을 수 있다.
일 실시예에서, 복수의 프레임 레이트 컨트롤러들(320a, 320b)은 상술한 프레임 레이트 제어 동작을 수행하기 위해 다양한 방식으로 구현될 수 있다. 구체적으로, 입력 프레임 영상들(IIMG1, IIMG2, IIMG3, IIMG4)과 실질적으로 동일한 출력 프레임 영상들(OIMG1, OIMG3, OIMG5, OIMG7)을 생성하며, 출력 프레임 영상들(OIMG2, OIMG4, OIMG6)은 다양한 방식으로 생성될 수 있다.
일 실시예에서, 복사 방법을 적용하여 출력 프레임 영상들(OIMG2, OIMG4, OIMG6)을 생성할 수 있다. 예를 들어, 입력 프레임 영상들(IIMG1, IIMG2, IIMG3)과 실질적으로 동일한 출력 프레임 영상들(OIMG2, OIMG4, OIMG6)을 생성할 수 있다. 다시 말하면, 각 입력 프레임 영상이 여러 번 반복 출력되는 방식으로 출력 프레임 영상들을 제공할 수 있다.
다른 실시예에서, 보간 방법을 적용하여 출력 프레임 영상들(OIMG2, OIMG4, OIMG6)을 생성할 수 있다. 예를 들어, 입력 프레임 영상들(IIMG1, IIMG2)을 기초로 보간 동작을 수행하여 출력 프레임 영상(OIMG2)을 생성하고, 입력 프레임 영상들(IIMG2, IIMG3)을 기초로 보간 동작을 수행하여 출력 프레임 영상(OIMG4)을 생성하며, 입력 프레임 영상들(IIMG3, IIMG4)을 기초로 보간 동작을 수행하여 출력 프레임 영상(OIMG6)을 생성할 수 있다.
다만 출력 프레임 영상들(OIMG2, OIMG4, OIMG6)을 생성하는 방식은 상술한 동작들에 한정되지 않는다.
도 11a, 11b 및 11c는 도 1의 영상 처리 장치에 포함되는 복수의 비디오 처리기들의 예들을 나타내는 도면들이다.
도 11a를 참조하면, 복수의 비디오 처리기들(330)은 입력 비디오 데이터(VD_IN)에 대한 압축 동작을 수행하는 복수의 인코더(encoder)들(332a, 332b) 및 입력 비디오 데이터(VD_IN)에 대한 압축 복원 동작을 수행하는 복수의 디코더(decoder)들(334a, 334b) 중 적어도 하나를 포함할 수 있다. 예를 들어, 복수의 인코더들(332a, 332b)은 제1 인코더(332a) 및 제2 인코더(332b)를 포함하고, 복수의 디코더들(334a, 334b)은 제1 디코더(334a) 및 제2 디코더(334b)를 포함할 수 있다. 제1 인코더(332a) 및 제1 디코더(334a)는 제1 입력 비디오 서브 데이터(SVD_IN_1)에 대한 상기 압축 동작 및 상기 압축 복원 동작을 수행하여 제1 출력 비디오 서브 데이터(CC_SVD_OUT_1), 즉 압축된 또는 압축 복원된 비디오 서브 데이터를 생성할 수 있다. 제2 인코더(332b) 및 제2 디코더(334b)는 제2 입력 비디오 서브 데이터(SVD_IN_2)에 대한 상기 압축 동작 및 상기 압축 복원 동작을 수행하여 제2 출력 비디오 서브 데이터(CC_SVD_OUT_2), 즉 압축된 또는 압축 복원된 비디오 서브 데이터를 생성할 수 있다.
일 실시예에서, 입력 비디오 데이터(VD_IN) 및/또는 출력 비디오 데이터(VD_OUT)에 대해 JPEG(Joint Photographic Experts Group), MPEG(Moving Picture Expert Group), H.264, HEVC(High Efficiency Video Coding) 등과 같은 다양한 압축 방식들 중 적어도 하나가 적용될 수 있다. 입력 비디오 데이터(VD_IN)에 대한 상기 압축 동작이 요구되는 경우에, 복수의 인코더들(332a, 332b)이 이용될 수 있다. 입력 비디오 데이터(VD_IN)가 압축된 형태로 제공되는 경우에, 상기 압축 복원 동작을 수행하기 위해 복수의 디코더들(334a, 334b)이 이용될 수 있다.
도 11a에서는 복수의 인코더들(332a, 332b) 및 복수의 디코더들(334a, 334b)을 모두 포함하는 것으로 도시하였으나, 실시예에 따라서 복수의 인코더들(332a, 332b) 및 복수의 디코더들(334a, 334b) 중 하나만을 포함할 수도 있다.
도 11b를 참조하면, 복수의 비디오 처리기들(340)은 입력 비디오 데이터(VD_IN)에 대한 필터링 동작을 수행하는 복수의 필터들(340a, 340b)을 포함할 수 있다. 예를 들어, 복수의 필터들(340a, 340b)은 제1 필터(340a) 및 제2 필터(340b)를 포함할 수 있다. 제1 필터(340a)는 제1 입력 비디오 서브 데이터(SVD_IN_1)에 대한 상기 필터링 동작을 수행하여 제1 출력 비디오 서브 데이터(FL_SVD_OUT_1), 즉 필터링된 비디오 서브 데이터를 생성할 수 있다. 제2 필터(340b)는 제2 입력 비디오 서브 데이터(SVD_IN_2)에 대한 상기 프레임 레이트 제어 동작을 수행하여 제2 출력 비디오 서브 데이터(FL_SVD_OUT_2), 즉 필터링된 비디오 서브 데이터를 생성할 수 있다.
일 실시예에서, 입력 비디오 데이터(VD_IN)에 대해 수평 방향 필터 처리, 수직 방향 필터 처리 등과 같은 다양한 필터링 방식들 중 적어도 하나가 적용될 수 있다.
도 11c를 참조하면, 도 11b의 복수의 필터들(340a, 340b)에 의해 수행되는 필터링 동작의 일 예를 나타내며, 수평 방향 필터 처리를 나타내고 있다.
구체적으로, 부분 입력 영상(LIMG_IN)은 입력 비디오 데이터(VD_IN)에 대응하는 입력 영상(예를 들어, 도 2a의 IMG_IN)의 일부이며, 복수의 픽셀 값들(p0, ..., p1914, p1915, p1916, p1917, p1918, p1919, p1920, p1921, p1922, p1923, p1924, p1925, ..., p3839)을 포함할 수 있다. 예를 들어, 부분 입력 영상(LIMG_IN)은 입력 영상(IMG_IN)의 하나의 라인에 대응하는 라인 영상일 수 있다. 부분 입력 영상(LIMG_IN)은 제1 서브 영역(예를 들어, 도 2a의 SA1)에 대응하고 픽셀 값들(p0~p1919)을 포함하는 제1 부분 입력 서브 영상(LIMG_IN_SA1) 및 제2 서브 영역(예를 들어, 도 2a의 SA2)에 대응하고 픽셀 값들(p1920~p3839)을 포함하는 제2 부분 입력 서브 영상(LIMG_IN_SA2)을 포함할 수 있다. 수평 방향 필터(H_FLT)는 복수의 필터 계수들(h0, h1, h2, h3, h4, h5)을 포함할 수 있다. 도 11c에서, 픽셀 값들의 개수 및 필터 계수들의 개수는 예시적인 것일 수 있다.
부분 입력 영상(LIMG_IN)에 수평 방향 필터(H_FLT)를 적용하여 수평 방향 필터 처리를 수행할 수 있다. 예를 들어, 픽셀 값(p1916)에 대응하는 필터링된 픽셀 값은 o1916 = p1914*h0 + p1915*h1 + p1916*h2 + p1917*h3 + p1918*h4 + p1919*h5 이고, 픽셀 값(p1922)에 대응하는 필터링된 픽셀 값은 o1922 = p1920*h0 + p1921*h1 + p1922*h2 + p1923*h3 + p1924*h4 + p1925*h5 일 수 있다.
기존 방식에서는 영상 처리 시에 서브 영역들의 경계 부분 관련 데이터들을 이용하지 않았으며, 하기와 같은 2가지 방식들 중 하나에 따라 필터 처리를 수행하였다. 이하에서는 제1 부분 입력 서브 영상(LIMG_IN_SA1)에 대한 필터 처리를 설명하도록 한다.
1) 경계 부분과 가장 가까운 픽셀(즉, 가장 우측 픽셀)의 픽셀 값(p1919)을 반복하여 이용하는 방식(repetition): 예를 들어, 픽셀 값들(p1917, p1918, p1919)에 대응하는 필터링된 픽셀 값들은 o1917' = p1915*h0 + p1916*h1 + p1917*h2 + p1918*h3 + p1919*h4 + p1919*h5 이고, o1918' = p1916*h0 + p1917*h1 + p1918*h2 + p1919*h3 + p1919*h4 + p1919*h5 이며, o1919' = p1917*h0 + p1918*h1 + p1919*h2 + p1919*h3 + p1919*h4 + p1919*h5 일 수 있다.
2) 경계 부분과 가장 가까운 픽셀(즉, 가장 우측 픽셀)의 인접 픽셀들의 픽셀 값들(p1916, p1917, p1918)을 좌측 방향으로 반사하여 이용하는 방식(mirroring): 예를 들어, 픽셀 값들(p1917, p1918, p1919)에 대응하는 필터링된 픽셀 값들은 o1917" = p1915*h0 + p1916*h1 + p1917*h2 + p1918*h3 + p1918*h4 + p1919*h5 이고, o1918" = p1916*h0 + p1917*h1 + p1918*h2 + p1917*h3 + p1918*h4 + p1919*h5 이며, o1919" = p1917*h0 + p1918*h1 + p1916*h2 + p1917*h3 + p1918*h4 + p1919*h5 일 수 있다.
상술한 2가지 방식 모두, 필터링 이후에 영상을 병합하면 서브 영역들의 경계 부분이 끊어져 보이는 부작용이 발생할 수 있다.
이에 비하여, 본 발명의 실시예들에 따라 영상 처리 시에 서브 영역들의 경계 부분 관련 데이터들을 이용하는 경우에, 픽셀 값들(p1917, p1918, p1919)에 대응하는 필터링된 픽셀 값들은 o1917 = p1915*h0 + p1916*h1 + p1917*h2 + p1918*h3 + p1919*h4 + p1920*h5 이고, o1918 = p1916*h0 + p1917*h1 + p1918*h2 + p1919*h3 + p1920*h4 + p1921*h5 이며, o1919 = p1917*h0 + p1918*h1 + p1919*h2 + p1920*h3 + p1921*h4 + p1922*h5 일 수 있다. 즉, 영상을 분리하지 않고 필터 처리를 수행한 경우와 실질적으로 동일할 수 있다. 따라서, 필터링 이후에 영상을 병합하더라도 서브 영역들의 경계 부분에서 불연속성이 발생하는 것을 방지할 수 있다.
이상, 특정 스케일링 동작, 특정 데이터 처리 레이트 제어 동작, 특정 프레임 레이트 제어 동작, 특정 압축 및 압축 복원 동작, 및 특정 필터링 동작에 기초하여 본 발명의 실시예들을 설명하였으나, 본 발명은 이에 한정되지 않으며, 다양한 영상 처리 동작에 대해서도 본 발명의 실시예들이 적용될 수 있다. 예를 들어, 복수의 레이어들을 블렌딩(blending)하는 동작, 다양한 필터링 동작, 및/또는 DE(Detail Enhancement), ATC(Adaptive Tone map Control), HSC(Hue Saturation Control), 감마(gamma 및 de-gamma), AOSP(Android Open Source Project), CGC(Color Gamut Control), 디더링(dithering 또는 dither), RCD(Round Corner Display), SPR(Sub-Pixel Rendering) 등과 같은 다양한 화질 개선 동작들을 수행하도록 복수의 비디오 처리기들(300)이 구현될 수 있다. DE는 영상의 외곽선을 뚜렷하게 하기 위한 알고리즘이고, ATC는 야외 시인성 개선을 위한 알고리즘이고, HSC는 색감을 위해 색상 및 채도를 개선하는 알고리즘이고, 감마는 감마 보정을 위한 알고리즘이고, AOSP는 안드로이드 OS에서 정의하는 영상 변환 매트릭스(예를 들어, 색약자를 위한 모드나 야간 모드(night mode) 등)를 처리하기 위한 알고리즘이고, CGC는 디스플레이 패널의 색좌표를 맞추기 위한 알고리즘이고, 디더링은 제한된 컬러를 사용하여 높은 비트의 컬러의 효과를 나타내기 위한 알고리즘이고, RCD는 디스플레이 패널의 rounded corner를 처리하기 위한 알고리즘이며, SPR은 해상도를 높이기 위한 알고리즘일 수 있다.
도 12 및 13은 본 발명의 실시예들에 따른 영상 처리 장치를 나타내는 블록도이다. 이하 도 1과 중복되는 설명은 생략한다.
도 12를 참조하면, 영상 처리 장치(100a)는 비디오 분리기(200), 복수의 비디오 처리기들(300) 및 비디오 병합기(400)를 포함하며, 메모리(500) 및 DMA(direct memory access) 블록(550)을 더 포함할 수 있다.
메모리(500) 및 DMA 블록(550)을 더 포함하는 것을 제외하면, 도 12의 영상 처리 장치(100a)는 도 1의 영상 처리 장치(100)와 실질적으로 동일할 수 있다.
메모리(500)는 외부로부터 입력 비디오 데이터(VD_IN)를 수신하여 저장할 수 있다. 예를 들어, 메모리(500)는 프레임 버퍼로서 동작할 수 있다. 예를 들어, 메모리(500)는 DRAM(dynamic random access memory)을 포함할 수 있다. 비디오 분리기(200)는 DMA 블록(550)을 통해 DMA 동작을 수행하여 메모리(500)로부터 입력 비디오 데이터(VD_IN)를 수신할 수 있다. 도시하지는 않았으나, 실시예에 따라서 DMA 블록(550)은 비디오 분리기(200)에 포함될 수도 있다.
프레임 버퍼 없이 비디오 분리기(200)가 직접(예를 들어, on-the fly 방식으로) 입력 비디오 데이터(VD_IN)를 수신하는 도 1의 영상 처리 장치(100)와 다르게, 도 12의 영상 처리 장치(100a)는 메모리(500)가 입력 비디오 데이터(VD_IN)를 수신하여 저장하고 비디오 분리기(200)는 DMA 동작을 수행하여 메모리(500)로부터 입력 비디오 데이터(VD_IN)를 수신할 수 있다.
도 13을 참조하면, 영상 처리 장치(100b)는 비디오 분리기(200), 복수의 비디오 처리기들(300) 및 비디오 병합기(400)를 포함하며, 메모리(600)를 더 포함할 수 있다.
메모리(600)를 더 포함하는 것을 제외하면, 도 13의 영상 처리 장치(100b)는 도 1의 영상 처리 장치(100)와 실질적으로 동일할 수 있다.
메모리(600)는 비디오 분리기(200)에 의해 생성되는 복수의 입력 비디오 서브 데이터들(SVD_IN) 및 복수의 비디오 처리기들(300)에 의해 생성되는 복수의 출력 비디오 서브 데이터들(SVD_OUT) 중 적어도 하나를 임시로 저장할 수 있다. 예를 들어, 메모리(600)는 SRAM(static random access memory)을 포함할 수 있다. 다만 본 발명은 이에 한정되지 않으며, 메모리(600)는 비디오 분리기(200)에 의해 수행되는 상기 영상 분리 동작 관련 데이터 및 복수의 비디오 처리기들(300)에 의해 수행되는 상기 영상 처리 동작 관련 데이터 중 적어도 하나를 임시로 저장할 수도 있다.
한편 실시예에 따라서, 도 1 내지 13을 참조하여 상술한 실시예들 중 2개 이상을 조합하여 본 발명의 실시예들에 따른 영상 처리 장치가 구현될 수도 있다.
도 14a, 14b, 14c, 14d, 14e, 15a, 15b, 15c, 15d 및 15e는 본 발명의 실시예들에 따른 영상 처리 장치의 동작을 설명하기 위한 도면들이다. 이하 도 2a, 2b, 2c, 2d 및 2e와 중복되는 설명은 생략한다.
도 14a, 14b, 14c, 14d 및 14e는 영상이 3개의 서브 영역들로 구분되는 경우, 즉 도 1에서 K=3인 경우를 예시하고 있다. 이 경우, 영상 처리 장치(100)는 3개의 비디오 처리기들을 포함할 수 있다.
도 14a를 참조하면, 입력 영상(IMG_IN')은 제1 서브 영역(SA1)에 대응하는 제1 메인 입력 서브 영상(IMG_IN_SA1), 제2 서브 영역(SA2)에 대응하는 제2 메인 입력 서브 영상(IMG_IN_SA2), 및 제3 서브 영역(SA3)에 대응하는 제3 메인 입력 서브 영상(IMG_IN_SA3)을 포함할 수 있다. 제3 서브 영역(SA3)은 제2 서브 영역(SA2)과 인접할 수 있다.
도 14b를 참조하면, 입력 영상(IMG_IN')이 제1, 제2 및 제3 메인 입력 서브 영상들(IMG_IN_SA1, IMG_IN_SA2, IMG_IN_SA3)로 분리되는 영상 분리 동작이 수행되며, 경계 부분 관련 데이터들이 함께 이용될 수 있다. 예를 들어, 제1 경계 영역(BA12)에 대응하는 제1 경계 입력 서브 영상(IMG_IN_BA12)이 제1 메인 입력 서브 영상(IMG_IN_SA1)과 함께 제공되고, 제3 경계 영역(BA32)에 대응하는 제3 경계 입력 서브 영상(IMG_IN_BA32)이 제3 메인 입력 서브 영상(IMG_IN_SA3)과 함께 제공되며, 제1 및 제3 서브 영역들(SA1, SA3)의 일부인 제2 및 제4 경계 영역들(BA21, BA23)에 대응하는 제2 및 제4 경계 입력 서브 영상들(IMG_IN_BA21, IMG_IN_BA23)이 제2 메인 입력 서브 영상(IMG_IN_SA2)과 함께 제공될 수 있다.
도 14c를 참조하면, 서브 영역 관련 데이터들 및 경계 부분 관련 데이터들 모두에 대해 상기 영상 처리 동작이 수행될 수 있다. 예를 들어, 제1 서브 영역(SA1) 및 제1 경계 영역(BA12)에 대응하는 제1 메인 출력 서브 영상(IMG_OUT_SA1) 및 제1 경계 출력 서브 영상(IMG_OUT_BA12)이 생성되고, 제3 서브 영역(SA3) 및 제3 경계 영역(BA32)에 대응하는 제3 메인 출력 서브 영상(IMG_OUT_SA3) 및 제3 경계 출력 서브 영상(IMG_OUT_BA32)이 생성되며, 제2 서브 영역(SA2) 및 제2 및 제4 경계 영역들(BA21, BA23)에 대응하는 제2 메인 출력 서브 영상(IMG_OUT_SA2) 및 제2 및 제4 경계 출력 서브 영상들(IMG_OUT_BA21, IMG_OUT_BA23)이 생성될 수 있다.
도 14d 및 14e를 참조하면, 경계 부분 관련 데이터들이 제거되고 서브 영역 관련 데이터들만을 이용하여 영상 병합 동작이 수행될 수 있다. 예를 들어, 제1, 제2, 제3 및 제4 경계 출력 서브 영상들(IMG_OUT_BA12, IMG_OUT_BA21, IMG_OUT_BA32, IMG_OUT_BA23)이 제거되고, 제1, 제2 및 제3 메인 출력 서브 영상들(IMG_OUT_SA1, IMG_OUT_SA2, IMG_OUT_SA3)을 포함하는 출력 영상(IMG_OUT')이 생성될 수 있다.
도 15a, 15b, 15c, 15d 및 15e 또한 영상이 3개의 서브 영역들로 구분되는 경우, 즉 도 1에서 K=3인 경우를 예시하고 있다.
도 15a를 참조하면, 입력 영상(IMG_IN")은 제1 서브 영역(SA1)에 대응하는 제1 메인 입력 서브 영상(IMG_IN_SA1), 제2 서브 영역(SA2)에 대응하는 제2 메인 입력 서브 영상(IMG_IN_SA2), 및 제4 서브 영역(SA4)에 대응하는 제4 메인 입력 서브 영상(IMG_IN_SA4)을 포함할 수 있다. 제4 서브 영역(SA4)은 제1 및 제2 서브 영역들(SA1, SA2) 모두와 인접할 수 있다.
도 15b를 참조하면, 입력 영상(IMG_IN")이 제1, 제2 및 제4 메인 입력 서브 영상들(IMG_IN_SA1, IMG_IN_SA2, IMG_IN_SA4)로 분리되는 영상 분리 동작이 수행되며, 경계 부분 관련 데이터들이 함께 이용될 수 있다. 예를 들어, 제1 및 제5 경계 영역들(BA12, BA14)에 대응하는 제1 및 제5 경계 입력 서브 영상들(IMG_IN_BA12, IMG_IN_BA15)이 제1 메인 입력 서브 영상(IMG_IN_SA1)과 함께 제공되고, 제2 및 제6 경계 영역들(BA21, BA24)에 대응하는 제2 및 제6 경계 입력 서브 영상들(IMG_IN_BA21, IMG_IN_BA24)이 제2 메인 입력 서브 영상(IMG_IN_SA2)과 함께 제공되며, 제7 및 제8 경계 영역들(BA41, BA42)에 대응하는 제7 및 제8 경계 입력 서브 영상들(IMG_IN_BA41, IMG_IN_BA42)이 제4 메인 입력 서브 영상(IMG_IN_SA4)과 함께 제공될 수 있다.
도 15c를 참조하면, 서브 영역 관련 데이터들 및 경계 부분 관련 데이터들 모두에 대해 상기 영상 처리 동작이 수행될 수 있다. 예를 들어, 제1 서브 영역(SA1) 및 제1 및 제5 경계 영역들(BA12, BA14)에 대응하는 제1 메인 출력 서브 영상(IMG_OUT_SA1) 및 제1 및 제5 경계 출력 서브 영상들(IMG_OUT_BA12, IMG_OUT_BA14)이 생성되고, 제2 서브 영역(SA2) 및 제2 및 제6 경계 영역들(BA21, BA24)에 대응하는 제2 메인 출력 서브 영상(IMG_OUT_SA2) 및 제2 및 제6 경계 출력 서브 영상들(IMG_OUT_BA21, IMG_OUT_BA24)이 생성되며, 제4 서브 영역(SA4) 및 제7 및 제8 경계 영역들(BA41, BA42)에 대응하는 제4 메인 출력 서브 영상(IMG_OUT_SA4) 및 제7 및 제8 경계 출력 서브 영상들(IMG_OUT_BA41, IMG_OUT_BA42)이 생성될 수 있다.
도 15d 및 15e를 참조하면, 경계 부분 관련 데이터들이 제거되고 서브 영역 관련 데이터들만을 이용하여 영상 병합 동작이 수행될 수 있다. 예를 들어, 제1, 제2, 제5, 제6, 제7 및 제8 경계 출력 서브 영상들(IMG_OUT_BA12, IMG_OUT_BA21, IMG_OUT_BA14, IMG_OUT_BA24, IMG_OUT_BA41, IMG_OUT_BA42)이 제거되고, 제1, 제2 및 제4 메인 출력 서브 영상들(IMG_OUT_SA1, IMG_OUT_SA2, IMG_OUT_SA4)을 포함하는 출력 영상(IMG_OUT")이 생성될 수 있다.
이상, 영상이 2개 또는 3개의 서브 영역들로 구분되는 경우에 기초하여 본 발명의 실시예들을 설명하였으나, 본 발명은 이에 한정되지 않으며, 영상은 4개 또는 그 이상의 서브 영역들로 구분될 수 있고 영상 구분 방식은 실시예에 따라서 다양하게 결정될 수 있다.
도 16은 본 발명의 실시예들에 따른 영상 처리 방법을 나타내는 순서도이다.
도 16을 참조하면, 본 발명의 실시예들에 따른 영상 처리 방법은 도 1 내지 15를 참조하여 상술한 영상 처리 장치에 의해 수행될 수 있다.
본 발명의 실시예들에 따른 영상 처리 방법에서, 입력 비디오 데이터를 복수의 서브 영역들에 대응하는 복수의 입력 비디오 서브 데이터들로 분리한다(단계 S100). 이 때, 영상 처리 시에 상기 복수의 서브 영역들의 경계 부분이 불연속적으로 표시되는 것을 방지하도록, 상기 복수의 입력 비디오 서브 데이터들 각각에 경계 영역 관련 데이터를 추가할 수 있다. 예를 들어, 단계 S100은 비디오 분리기(200)에 의해 수행될 수 있다.
상기 복수의 입력 비디오 서브 데이터들에 대한 영상 처리 동작을 각각 수행하여 복수의 출력 비디오 서브 데이터들을 생성한다(단계 S200). 이 때, 상기 영상 처리 동작은 상기 경계 영역 관련 데이터에 대해서도 수행될 수 있다. 예를 들어, 상기 영상 처리 동작은 개별적/독립적으로 수행될 수 있다. 예를 들어, 단계 S100은 복수의 비디오 처리기들(300)에 의해 수행되며, 도 3 내지 11을 참조하여 상술한 다양한 영상 처리 동작들이 적용될 수 있다.
상기 복수의 출력 비디오 서브 데이터들을 병합하여 상기 입력 비디오 데이터에 대응하는 출력 비디오 데이터를 생성한다(단계 S400). 이 때, 단계 S100에서 추가되었던 상기 경계 영역 관련 데이터를 삭제함으로써, 최종적으로 상기 복수의 서브 영역들의 경계 부분이 불연속적으로 표시되는 것을 방지하도록 할 수 있다. 예를 들어, 단계 S100은 비디오 병합기(400)에 의해 수행될 수 있다.
한편, 본 발명의 실시예들은 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터로 판독 가능한 프로그램 코드를 포함하는 제품 등의 형태로 구현될 수도 있다. 상기 컴퓨터로 판독 가능한 프로그램 코드는 다양한 컴퓨터 또는 다른 데이터 처리 장치의 프로세서로 제공될 수 있다. 상기 컴퓨터로 판독 가능한 매체는 컴퓨터로 판독 가능한 신호 매체 또는 컴퓨터로 판독 가능한 기록 매체일 수 있다. 상기 컴퓨터로 판독 가능한 기록 매체는 명령어 실행 시스템, 장비 또는 장치 내에 또는 이들과 접속되어 프로그램을 저장하거나 포함할 수 있는 임의의 유형적인 매체일 수 있다. 예를 들어, 상기 컴퓨터로 판독 가능한 매체는 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, 비일시적은 저장 매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장 매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
도 17은 본 발명의 실시예들에 따른 전자 시스템을 나타내는 블록도이다.
도 17을 참조하면, 전자 시스템(1000)은 영상 처리 장치(1100) 및 디스플레이 장치(1200)를 포함한다.
일 실시예에서, 전자 시스템(1000)은 고해상도의 영상을 출력/표시하는 고해상도 디지털 TV로 구현될 수 있다. 다만 본 발명은 이에 한정되지 않는다. 도시하지는 않았으나, 도 21을 참조하여 후술하는 것처럼 전자 시스템(1000)은 다양한 주변 장치들을 더 포함할 수 있다.
영상 처리 장치(1100)는 입력 비디오 데이터(VD_IN)에 기초하여 디스플레이 장치(1200)에 영상을 표시하기 위한 출력 비디오 데이터(VD_OUT)를 생성한다. 영상 처리 장치(1100)는 도 1 내지 15를 참조하여 상술한 본 발명의 실시예들에 따른 영상 처리 장치일 수 있다. 입력 비디오를 복수의 서브 영역들에 대응하도록 분리하고, 분할된 비디오들에 대해 독립적인 영상 처리를 수행하며, 영상 처리된 비디오들을 병합하여 출력 비디오를 생성함으로써, 비용 증가 없이 높은 스루풋을 달성할 수 있다. 또한, 영상 처리 시에 서브 영역들의 경계 부분 관련 데이터들을 함께 이용함으로써, 서브 영역들의 경계 부분에서 불연속성이 발생하는 것을 방지할 수 있다.
디스플레이 장치(1200)는 출력 비디오 데이터(VD_OUT)에 기초하여 영상을 표시한다.
도 18은 도 17의 전자 시스템에 포함되는 디스플레이 장치의 일 예를 나타내는 블록도이다.
도 18을 참조하면, 디스플레이 장치(700)는 디스플레이 패널(710) 및 디스플레이 구동 집적 회로를 포함한다. 상기 디스플레이 구동 집적 회로는 데이터 드라이버(720), 스캔 드라이버(730), 전원 공급부(740) 및 타이밍 컨트롤러(750)를 포함할 수 있다.
디스플레이 패널(710)은 비디오 데이터(VDAT)에 기초하여 구동(즉, 영상을 표시)할 수 있다. 디스플레이 패널(710)은 복수의 데이터 라인들(D1, D2, ..., DM)을 통해 데이터 드라이버(720)와 연결되고, 복수의 스캔 라인들(S1, S2, ..., SN)을 통해 스캔 드라이버(730)와 연결될 수 있다. 복수의 데이터 라인들(D1, D2, ..., DM) 및 복수의 스캔 라인들(S1, S2, ..., SN)은 각각 서로 교차하는(예를 들어, 직교하는) 제1 방향 및 제2 방향으로 연장될 수 있다.
디스플레이 패널(710)은 복수의 행들 및 복수의 열들을 가지는 매트릭스 형태로 배치된 복수의 픽셀들(PX)을 포함할 수 있다. 예를 들어, 복수의 픽셀들(PX) 각각은 발광 소자 및 적어도 하나의 트랜지스터를 포함할 수 있다. 다른 예에서, 복수의 픽셀들(PX) 각각은 액정 커패시터 및 적어도 하나의 트랜지스터를 포함할 수 있다. 복수의 픽셀들(PX) 각각은 복수의 데이터 라인들(D1, D2, ..., DM) 중 하나 및 복수의 스캔 라인들(S1, S2, ..., SN) 중 하나와 전기적으로 연결될 수 있다.
타이밍 컨트롤러(750)는 디스플레이 장치(700)의 전반적인 동작을 제어할 수 있다. 예를 들어, 타이밍 컨트롤러(750)는 디스플레이 제어 신호(DCONT)를 기초로 소정의 제어 신호들(CS1, CS2, CS3)을 데이터 드라이버(720), 스캔 드라이버(730) 및 전원 공급부(740)에 제공함으로써 디스플레이 장치(700)의 동작을 제어할 수 있다. 예를 들어, 제어 신호들(CS1, CS2, CS3)은 디스플레이 장치(700)의 내부에서 이용되는 수직 동기 신호 및 수평 동기 신호를 포함할 수 있다.
타이밍 컨트롤러(750)는 비디오 데이터(VDAT)에 기초하여 영상 표시를 위한 데이터 신호(DS)를 생성할 수 있다. 예를 들어, 비디오 데이터(VDAT)는 적색 영상 데이터, 녹색 영상 데이터 및 청색 영상 데이터를 포함할 수 있다. 비디오 데이터(VDAT)는 백색 영상 데이터를 더 포함할 수도 있다. 다른 예에서, 비디오 데이터(VDAT)는 마젠타색(magenta) 영상 데이터, 황색(yellow) 영상 데이터 및 시안색(cyan) 영상 데이터를 포함할 수 있다.
데이터 드라이버(720)는 제어 신호(CS1) 및 데이터 신호(DS)에 기초하여 복수의 데이터 전압들을 생성하며, 복수의 데이터 라인들(D1, D2, ..., DM)을 통해 디스플레이 패널(710)에 상기 복수의 데이터 전압들을 인가할 수 있다. 예를 들어, 데이터 드라이버(720)는 디지털 형태의 데이터 신호(DS)를 아날로그 형태의 상기 복수의 데이터 전압들로 변환하는 디지털-아날로그 컨버터(Digital-to-Analog Converter; DAC)를 포함할 수 있다.
스캔 드라이버(730)는 제어 신호(CS2)에 기초하여 복수의 스캔 신호들을 생성하며, 복수의 스캔 라인들(S1, S2, ..., SN)을 통해 디스플레이 패널(710)에 상기 복수의 스캔 신호들을 인가할 수 있다. 상기 복수의 스캔 신호들에 기초하여 복수의 스캔 라인들(S1, S2, ..., SN)이 순차적으로 활성화될 수 있다.
일 실시예에서, 데이터 드라이버(720), 스캔 드라이버(730) 및 타이밍 컨트롤러(750)는 하나의 IC로 구현될 수 있다. 다른 실시예에서, 데이터 드라이버(720), 스캔 드라이버(730) 및 타이밍 컨트롤러(750)는 2 이상의 IC들로 구현될 수 있다. 적어도 타이밍 컨트롤러(750) 및 데이터 드라이버(720)가 일체로 형성된 구동 모듈을 타이밍 컨트롤러 임베디드 데이터 드라이버(Timing Controller Embedded Data Driver, TED)라고 부를 수 있다.
전원 공급부(740)는 제어 신호(CS3)에 기초하여 디스플레이 패널(710)에 적어도 하나의 전원 전압(PWR)을 공급할 수 있다.
실시예에 따라서, 상기 디스플레이 구동 집적 회로에 포함되는 구성요소들 중 적어도 일부는 디스플레이 패널(710) 상에 실장되거나, 테이프 캐리어 패키지(Tape Carrier Package; TCP) 형태로 디스플레이 패널(710)에 연결될 수 있다. 실시예에 따라서, 상기 디스플레이 구동 집적 회로에 포함되는 구성요소들 중 적어도 일부는 디스플레이 패널(710)에 집적될 수도 있다. 실시예에 따라서, 상기 디스플레이 구동 집적 회로에 포함되는 구성요소들 각각은 별개의 회로들/모듈들/칩들로 구현될 수도 있고, 상기 디스플레이 구동 집적 회로에 포함되는 구성요소들 중 몇몇은 기능에 따라 하나의 회로/모듈/칩으로 결합되거나 여러 회로/모듈/칩들로 더 분리될 수 있다.
한편, 도시하지는 않았으나, 디스플레이 장치(700)는 각 픽셀(PX)의 유형, 디스플레이 패널(710)의 구동 방식 등에 따라서, 프레임 데이터를 저장하기 위한 프레임 버퍼, 백라이트 유닛 등을 더 포함할 수 있다.
도 19는 본 발명의 실시예들에 따른 전자 시스템을 나타내는 블록도이다. 이하 도 17과 중복되는 설명은 생략한다.
도 19를 참조하면, 전자 시스템(1000a)은 영상 처리 장치(1100) 및 디스플레이 장치(1200)를 포함하며, 메모리(1300)를 더 포함할 수 있다.
메모리(1300)를 더 포함하는 것을 제외하면, 도 19의 전자 시스템(1000a)은 도 17의 전자 시스템(1000)과 실질적으로 동일할 수 있다.
메모리(1300)는 영상 처리 장치(1100)에 의해 생성되는 출력 비디오 데이터(VD_OUT)를 임시로 저장하고, 출력 비디오 데이터(VD_OUT)에 대응하는 디스플레이용 출력 비디오 데이터(VD_DISP)를 디스플레이 장치(1200)에 제공할 수 있다. 예를 들어, 메모리(1300)는 프레임 버퍼로서 동작할 수 있다. 예를 들어, 메모리(1300)는 DRAM을 포함할 수 있다.
도 20은 도 19의 전자 시스템의 동작을 설명하기 위한 도면이다.
도 20을 참조하면, 입력 비디오 데이터(VD_IN)에 대응하는 입력 영상들(VIMG_INc), 출력 비디오 데이터(VD_OUT)에 대응하는 출력 영상들(VIMG_OUTc), 및 디스플레이용 출력 비디오 데이터(VD_DISP)에 대응하는 디스플레이용 출력 영상들(VIMG_DISPc)의 일 예를 나타내고 있다.
예를 들어, 도 8c를 참조하여 상술한 것과 유사하게, 입력 영상들(VIMG_INc)은 상기 제1 프레임 레이트로 수신되며, 영상 처리 장치(1100)에서 메모리(1300)로 출력되는 출력 영상들(VIMG_OUTc)은 상기 제2 프레임 레이트로 출력될 수 있다. 또한, 메모리(1300)에서 디스플레이 장치(1200)로 출력되는 디스플레이용 출력 영상들(VIMG_DISPc)은 상기 제1 프레임 레이트로 출력될 수 있다.
도 8a, 8b 및 8c를 참조하여 상술한 것처럼, 상대적으로 빠른 속도로 수신되는 영상들을 상대적으로 느린 속도로 처리하더라도, 영상들을 디스플레이할 때는 수신된 속도와 동일한 속도로 표시할 필요가 있다. 따라서, 도 19 및 20에 도시된 것처럼, 메모리(1300)를 이용하여 상대적으로 느린 속도로 처리된 영상들을 상대적으로 빠른 속도로 표시함으로써, 기존 장치를 이용하여 비용 증가 없이 효율적인 영상 처리가 가능하면서, 동시에 영상 표시 성능은 저하 없이 유지될 수 있다.
도 21은 본 발명의 실시예들에 따른 전자 시스템을 나타내는 블록도이다.
도 21을 참조하면, 전자 시스템(2000)은 시스템 온 칩(system-on-chip; SOC)(2100)과 메모리 장치(2130), 디스플레이 장치(2152), 터치 패널(2154), 저장 장치(2170), 전력 관리 집적 회로(power management integrated circuit; PMIC)(2200) 등을 포함할 수 있다. 시스템 온 칩(2100)은 프로세서(2110), 영상 처리 장치(IPD)(2115), 메모리 컨트롤러(2120), 성능 컨트롤러(PFMC)(2140), 사용자 인터페이스(user interface, UI) 컨트롤러(2150), 스토리지 인터페이스(2160), 하나 이상의 아이피(intellectual property, IP)(2180), 다이렉트 메모리 액세스 기능을 갖는 다이렉트 메모리 액세스 장치(DMAIP)(2185), 파워 관리 유닛(PMU)(2144), 클럭 관리 유닛(CMU)(2146) 등을 포함할 수 있다. 전자 시스템(2000)의 구성 요소들은 도시된 구성 요소들에 국한되지 않음은 잘 이해될 것이다. 예를 들어, 전자 시스템(2000)은 영상 데이터를 처리하기 위한 하드웨어 코덱, 보안 블록 등을 더 포함할 수 있다.
프로세서(2110)는 전자 시스템(2000)에서 수행될 소프트웨어(응용 프로그램, 운영 체제, 장치 드라이버들)를 실행한다. 프로세서(2110)는 메모리 장치(2130)에 로드되는 운영 체제(OS)를 실행할 수 있다. 또한 프로세서(2110)는 운영 체제(OS) 기반에서 구동될 다양한 응용 프로그램들(Application Program)을 실행할 수 있다. 프로세서(2110)는 동종 멀티-코어 프로세서(Homogeneous Multi-Core Processor) 또는 이종 멀티-코어 프로세서(Heterogeneous Multi-Core Processor)로 제공될 수 있다. 멀티-코어 프로세서는 적어도 2개의 독립적으로 구동 가능한 프로세서 코어(이하, 코어)들을 갖는 컴퓨팅 컴포넌트(Computing component)이다. 코어들 각각은 프로그램 명령들(Program Instructions)을 독립적으로 읽고 실행할 수 있다.
메모리 컨트롤러(2120)는 메모리 장치(2130)와 시스템 온 칩(2100) 사이에서 인터페이싱을 제공한다. 메모리 컨트롤러(2120)는 프로세서(2110)나 아이피(2180), 다이렉트 메모리 액세스 장치(2185)의 요청에 따라 메모리 장치(2130)를 액세스할 수 있다. 일 실시예에서, 메모리 장치(2130)는 DRAM으로 구현될 수 있으며, 이 경우 메모리 컨트롤러(2120)는 DRAM 컨트롤러라고 지칭될 수 있다.
메모리 장치(2130)에는 부팅 시에 운영 체제(OS)나 기본 응용 프로그램들(Application Program)이 로드될 수 있다. 성능 컨트롤러(2140)는 운영 체제(OS)의 커널(Kernel)로부터 제공되는 제어 요청에 따라 시스템 온 칩(2100)의 동작 파라미터들을 조정할 수 있다. 예를 들어, 성능 컨트롤러(2140)는 시스템 온 칩(2100)의 성능을 높이기 위해서 DVFS(dynamic voltage and frequency scaling)의 전력 레벨을 조정할 수 있다.
사용자 인터페이스 컨트롤러(2150)는 사용자 인터페이스 장치들로부터의 사용자 입력 및 출력을 제어한다. 예를 들어, 사용자 인터페이스 컨트롤러(2150)는 프로세서(2110)의 제어에 따라 디스플레이 장치(2152)에 데이터를 입력하기 위한 키보드 화면 등을 표시할 수 있다. 또는, 사용자 인터페이스 컨트롤러(2150)는 사용자가 요청한 데이터를 표시하도록 디스플레이 장치(2152)를 제어할 수 있다. 사용자 인터페이스 컨트롤러(2150)는 터치 패널(2154)과 같은 사용자 입력 수단으로부터의 제공되는 데이터를 사용자 입력 데이터로 디코딩할 수 있다.
스토리지 인터페이스(2160)는 프로세서(2110)의 요청에 따라 저장 장치(2170)를 액세스한다. 즉, 스토리지 인터페이스(2160)는 시스템 온 칩(2100)과 저장 장치(2170) 사이의 인터페이스를 제공한다. 프로세서(2110)에 의해서 처리된 데이터가 스토리지 인터페이스(2160)를 통해 저장 장치(2170)에 저장될 수 있고, 저장 장치(2170)에 저장된 데이터는 스토리지 인터페이스(2160)를 통해 프로세서(2110)에 제공될 수 있다.
저장 장치(2170)는 전자 시스템(1000)의 저장 매체(Storage Medium)로서 제공된다. 저장 장치(2170)는 응용 프로그램들(Application Program), 운영 체제 이미지(OS Image) 및 각종 데이터를 저장할 수 있다. 저장 장치(2170)는 메모리 카드(MMC, eMMC, SD, MicroSD 등)로 제공될 수도 있다. 저장 장치(2170)는 대용량의 저장 능력을 가지는 낸드 플래시 메모리(NAND-type Flash memory)를 포함할 수 있다. 또는, 저장 장치(2710)는 PRAM, MRAM, ReRAM, FRAM 등의 차세대 불휘발성 메모리나 NOR 플래시 메모리를 포함할 수도 있다.
다이렉트 메모리 액세스 장치(2185)는 멀티미디어 또는 멀티미디어 데이터의 처리 속도를 향상하기 위한 별도의 아이피 또는 기능 블록(IP)으로 제공될 수 있다. 예를 들어, 다이렉트 메모리 액세스 장치(2185)는 텍스트(Text), 오디오(Audio), 정지 영상들(Still images), 애니메이션(Animation), 비디오(Video), 2차원 데이터, 또는 3차원 데이터의 처리 성능을 향상시키기 위한 기능 블록(IP)으로 제공될 수 있다.
시스템 인터커넥터(2190)는 시스템 온 칩(2100)의 내부에서 온 칩 네트워크를 제공하기 위한 시스템 버스(System Bus)이다. 시스템 인터커넥터(2190)는 예를 들어, 데이터 버스(Data bus), 어드레스 버스(Address bus) 및 컨트롤 버스(Control bus)를 포함할 것이다. 데이터 버스(Data bus)는 데이터가 이동하는 경로이다. 주로, 메모리 장치(2130)이나 저장 장치(2170)로의 메모리 접근 경로를 제공될 것이다. 어드레스 버스(Address bus)는 구성요소들 간의 어드레스 교환 경로를 제공한다. 컨트롤 버스(Control bus)는 구성요소들 간의 제어 신호를 전달하는 경로를 제공한다. 하지만, 시스템 인터커넥터(2190)의 구성은 상술한 설명에만 국한되지 않으며, 효율적인 관리를 위한 중재 수단들을 더 포함할 수 있다.
영상 처리 장치(2115)는 도 1 내지 15를 참조하여 상술한 본 발명의 실시예들에 따른 영상 처리 장치일 수 있다. 입력 비디오를 복수의 서브 영역들에 대응하도록 분리하고, 분할된 비디오들에 대해 독립적인 영상 처리를 수행하며, 영상 처리된 비디오들을 병합하여 출력 비디오를 생성함으로써, 비용 증가 없이 높은 스루풋을 달성할 수 있다. 또한, 영상 처리 시에 서브 영역들의 경계 부분 관련 데이터들을 함께 이용함으로써, 서브 영역들의 경계 부분에서 불연속성이 발생하는 것을 방지할 수 있다.
도 22는 본 발명의 실시예들에 따른 디지털 시스템을 나타내는 도면이다.
도 22를 참조하면, 디지털 시스템(3000)은 디지털 컨텐츠를 제공하는 복수의 소스 장치들(3210, 3220, 3230, 3240, 3250), 및 복수의 소스 장치들(3210, 3220, 3230, 3240, 3250)로부터 제공되는 디지털 컨텐츠를 처리하여 표시하는 전자 시스템(3100)을 포함할 수 있다. 디지털 시스템(3000)은 전자 시스템(3100)과 복수의 소스 장치들(3210, 3220, 3230, 3240, 3250)을 연결하기 위한 복수의 케이블들(3300) 및 리피터(3400)를 더 포함할 수 있다.
전자 시스템(3100)은 복수의 소스 장치들(3210, 3220, 3230, 3240, 3250)로부터 제공되는 디지털 컨텐츠 데이터를 수신하여 화면 상에 표시하는 수신 기기일 수 있다. 전자 시스템(3100)은 도 17 내지 20을 참조하여 상술한 본 발명의 실시예들에 따른 전자 시스템이며, 예를 들어 고해상도 디지털 TV로 구현될 수 있다.
복수의 소스 장치들(3210, 3220, 3230, 3240, 3250)은 복수의 케이블들(3300)을 통해 디지털 컨텐츠 데이터를 전자 시스템(3100)에 전송하는 멀티미디어 송신 기기일 수 있다. 예를 들어, 복수의 소스 장치들(3210, 3220, 3230, 3240, 3250)은 캠코더, 디지털 카메라, DVD(Digital Versatile Disc) 플레이어, BD(Blu-ray Disc) 플레이어, PS(PlayStation), 셋탑박스, 모바일 폰(Mobile Phone), 동영상 스트리밍 서비스를 제공하는 서버 등으로 구현될 수 있다. 예를 들어, 복수의 케이블들(3300)은 HDMI(high definition multimedia interface) 케이블일 수 있다.
리피터(3400)는 복수의 소스 장치들(3210, 3220, 3230, 3240, 3250)과 전자 시스템(3100) 사이에 배치/설치되어 디지털 신호의 전송을 확장시킬 수 있다.
본 발명의 실시예들은 영상 처리 장치를 포함하는 임의의 전자 장치 및 시스템의 설계에 유용하게 이용될 수 있다. 예를 들어, 본 발명의 실시예들은 PC(Personal Computer), 노트북(laptop), 핸드폰(cellular), 스마트 폰(smart phone), MP3 플레이어, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console), 네비게이션(navigation) 기기, 웨어러블(wearable) 기기, IoT(Internet of Things) 기기, IoE(Internet of Everything) 기기, e-북(e-book), VR(Virtual Reality) 기기, AR(Augmented Reality) 기기, 드론(drone), 오토모티브(automotive) 등과 같은 전자 시스템에 더욱 유용하게 적용될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (20)

  1. 입력 비디오 데이터를 복수의 서브 영역들에 대응하는 복수의 입력 비디오 서브 데이터들로 분리하는 비디오 분리기;
    상기 복수의 입력 비디오 서브 데이터들에 대한 영상 처리 동작을 각각 수행하여 복수의 출력 비디오 서브 데이터들을 생성하는 복수의 비디오 처리기들; 및
    상기 복수의 출력 비디오 서브 데이터들을 병합하여 상기 입력 비디오 데이터에 대응하는 출력 비디오 데이터를 생성하는 비디오 병합기를 포함하고,
    상기 복수의 입력 비디오 서브 데이터들 각각은, 상기 복수의 서브 영역들 중 대응하는 서브 영역에 대한 메인 입력 서브 데이터, 및 상기 복수의 서브 영역들 중 상기 대응하는 서브 영역과 인접하는 인접 서브 영역의 일부에 대한 경계 입력 서브 데이터를 포함하는 영상 처리 장치.
  2. 제 1 항에 있어서,
    상기 복수의 비디오 처리기들 각각은, 상기 복수의 입력 비디오 서브 데이터들 각각에 포함되는 상기 메인 입력 서브 데이터 및 상기 경계 입력 서브 데이터 모두에 대해 상기 영상 처리 동작을 수행하는 것을 특징으로 하는 영상 처리 장치.
  3. 제 2 항에 있어서,
    상기 복수의 출력 비디오 서브 데이터들 각각은, 상기 메인 입력 서브 데이터에 대응하는 메인 출력 서브 데이터, 및 상기 경계 입력 서브 데이터에 대응하는 경계 출력 서브 데이터를 포함하고,
    상기 비디오 병합기는, 상기 복수의 출력 비디오 서브 데이터들 각각에 포함되는 상기 경계 출력 서브 데이터를 제거하고 상기 메인 출력 서브 데이터만을 이용하여 상기 출력 비디오 데이터를 생성하는 것을 특징으로 하는 영상 처리 장치.
  4. 제 1 항에 있어서,
    상기 복수의 비디오 처리기들은 상기 입력 비디오 데이터에 대한 스케일링(scaling) 동작을 수행하는 복수의 스케일러들을 포함하는 것을 특징으로 하는 영상 처리 장치.
  5. 제 4 항에 있어서,
    상기 입력 비디오 데이터는 제1 해상도를 가지고,
    상기 복수의 스케일러들이 상기 입력 비디오 데이터에 대한 상기 스케일링 동작을 수행하여 획득된 상기 출력 비디오 데이터는 상기 제1 해상도와 다른 제2 해상도를 가지는 것을 특징으로 하는 영상 처리 장치.
  6. 제 4 항에 있어서,
    상기 입력 비디오 데이터는 제1 해상도를 가지고,
    상기 입력 비디오 데이터에 대한 크롭(crop) 동작을 수행하여 상기 입력 비디오 데이터의 일부가 획득되며,
    상기 복수의 스케일러들이 상기 입력 비디오 데이터의 일부에 대한 상기 스케일링 동작을 수행하여 획득된 상기 출력 비디오 데이터는 상기 제1 해상도를 가지는 것을 특징으로 하는 영상 처리 장치.
  7. 제 1 항에 있어서,
    상기 입력 비디오 데이터는 제1 프레임 레이트(frame rate)로 수신되고,
    상기 복수의 비디오 처리기들은 상기 제1 프레임 레이트와 다른 제1 데이터 처리 레이트에 기초하여 상기 복수의 입력 비디오 서브 데이터들에 대한 영상 처리 동작을 수행하는 것을 특징으로 하는 영상 처리 장치.
  8. 제 7 항에 있어서,
    상기 출력 비디오 데이터는 상기 제1 프레임 레이트와 다르고 상기 제1 데이터 처리 레이트와 동일한 제2 프레임 레이트로 출력되는 것을 특징으로 하는 영상 처리 장치.
  9. 제 1 항에 있어서,
    상기 복수의 비디오 처리기들은 상기 입력 비디오 데이터에 대한 프레임 레이트(frame rate) 제어 동작을 수행하는 복수의 프레임 레이트 컨트롤러들을 포함하는 것을 특징으로 하는 영상 처리 장치.
  10. 제 9 항에 있어서,
    상기 입력 비디오 데이터는 제1 프레임 레이트로 수신되고,
    상기 복수의 프레임 레이트 컨트롤러들이 상기 입력 비디오 데이터에 대한 프레임 레이트 제어 동작을 수행하여 획득된 상기 출력 비디오 데이터는 상기 제1 프레임 레이트와 다른 제2 프레임 레이트로 출력되는 것을 특징으로 하는 영상 처리 장치.
  11. 제 1 항에 있어서,
    상기 복수의 비디오 처리기들은 상기 입력 비디오 데이터에 대한 압축 동작을 수행하는 복수의 인코더(encoder)들 및 상기 입력 비디오 데이터에 대한 압축 복원 동작을 수행하는 복수의 디코더(decoder)들 중 적어도 하나를 포함하는 것을 특징으로 하는 영상 처리 장치.
  12. 제 1 항에 있어서,
    상기 복수의 비디오 처리기들은 상기 입력 비디오 데이터에 대한 필터링(filtering) 동작을 수행하는 복수의 필터들을 포함하는 것을 특징으로 하는 영상 처리 장치.
  13. 제 1 항에 있어서,
    외부로부터 상기 입력 비디오 데이터를 수신하여 저장하는 메모리를 더 포함하고,
    상기 비디오 분리기는 DMA(direct memory access) 동작을 수행하여 상기 메모리로부터 상기 입력 비디오 데이터를 수신하는 것을 특징으로 하는 영상 처리 장치.
  14. 제 1 항에 있어서,
    상기 복수의 입력 비디오 서브 데이터들 및 상기 복수의 출력 비디오 서브 데이터들 중 적어도 하나를 임시로 저장하는 메모리를 더 포함하는 것을 특징으로 하는 영상 처리 장치.
  15. 제 1 항에 있어서,
    상기 복수의 입력 비디오 서브 데이터들은 제1 서브 영역에 대응하는 제1 입력 비디오 서브 데이터 및 제2 서브 영역에 대응하는 제2 입력 비디오 서브 데이터를 포함하고,
    상기 제1 입력 비디오 서브 데이터는 상기 제1 서브 영역에 대한 제1 메인 입력 서브 데이터 및 상기 제2 서브 영역의 일부에 대한 제1 경계 입력 서브 데이터를 포함하며,
    상기 제2 입력 비디오 서브 데이터는 상기 제2 서브 영역에 대한 제2 메인 입력 서브 데이터 및 상기 제1 서브 영역의 일부에 대한 제2 경계 입력 서브 데이터를 포함하는 것을 특징으로 하는 영상 처리 장치.
  16. 제 15 항에 있어서,
    상기 복수의 입력 비디오 서브 데이터들은 제3 서브 영역에 대응하는 제3 입력 비디오 서브 데이터를 더 포함하고,
    상기 제3 입력 비디오 서브 데이터는 상기 제3 서브 영역에 대한 제3 메인 입력 서브 데이터 및 상기 제2 서브 영역의 다른 일부에 대한 제3 경계 입력 서브 데이터를 포함하며,
    상기 제2 입력 비디오 서브 데이터는 상기 제3 서브 영역의 일부에 대한 제4 경계 입력 서브 데이터를 더 포함하는 것을 특징으로 하는 영상 처리 장치.
  17. 제 16 항에 있어서,
    상기 제1 입력 비디오 서브 데이터는 상기 제3 서브 영역의 다른 일부에 대한 제5 경계 입력 서브 데이터를 더 포함하고,
    상기 제3 입력 비디오 서브 데이터는 상기 제1 서브 영역의 다른 일부에 대한 제6 경계 입력 서브 데이터를 더 포함하는 것을 특징으로 하는 영상 처리 장치.
  18. 디스플레이 장치; 및
    입력 비디오 데이터에 기초하여 상기 디스플레이 장치에 영상을 표시하기 위한 출력 비디오 데이터를 생성하는 영상 처리 장치를 포함하고,
    상기 영상 처리 장치는,
    상기 입력 비디오 데이터를 복수의 서브 영역들에 대응하는 복수의 입력 비디오 서브 데이터들로 분리하는 비디오 분리기;
    상기 복수의 입력 비디오 서브 데이터들에 대한 영상 처리 동작을 각각 수행하여 복수의 출력 비디오 서브 데이터들을 생성하는 복수의 비디오 처리기들; 및
    상기 복수의 출력 비디오 서브 데이터들을 병합하여 상기 출력 비디오 데이터를 생성하는 비디오 병합기를 포함하고,
    상기 복수의 입력 비디오 서브 데이터들 각각은, 상기 복수의 서브 영역들 중 대응하는 서브 영역에 대한 메인 입력 서브 데이터, 및 상기 복수의 서브 영역들 중 상기 대응하는 서브 영역과 인접하는 인접 서브 영역의 일부에 대한 경계 입력 서브 데이터를 포함하는 전자 시스템.
  19. 제 18 항에 있어서,
    상기 출력 비디오 데이터를 임시로 저장하는 메모리를 더 포함하고,
    상기 입력 비디오 데이터는 제1 프레임 레이트(frame rate)로 수신되고,
    상기 출력 비디오 데이터가 상기 영상 처리 장치에서 상기 메모리로 출력되는 경우에, 상기 출력 비디오 데이터는 상기 제1 프레임 레이트와 다른 제2 프레임 레이트로 출력되며,
    상기 출력 비디오 데이터가 상기 메모리에서 상기 디스플레이 장치로 출력되는 경우에, 상기 출력 비디오 데이터는 상기 제1 프레임 레이트로 출력되는 것을 특징으로 하는 전자 시스템.
  20. 입력 비디오 데이터를 복수의 서브 영역들에 대응하는 복수의 입력 비디오 서브 데이터들로 분리하는 단계;
    상기 복수의 입력 비디오 서브 데이터들에 대한 영상 처리 동작을 각각 수행하여 복수의 출력 비디오 서브 데이터들을 생성하는 단계; 및
    상기 복수의 출력 비디오 서브 데이터들을 병합하여 상기 입력 비디오 데이터에 대응하는 출력 비디오 데이터를 생성하는 단계를 포함하고,
    상기 복수의 입력 비디오 서브 데이터들 각각은, 상기 복수의 서브 영역들 중 대응하는 서브 영역에 대한 메인 입력 서브 데이터, 및 상기 복수의 서브 영역들 중 상기 대응하는 서브 영역과 인접하는 인접 서브 영역의 일부에 대한 경계 입력 서브 데이터를 포함하는 영상 처리 방법.
KR1020220150257A 2022-11-11 2022-11-11 영역 분리를 이용한 영상 처리 장치, 영상 처리 방법, 및 이를 포함하는 전자 시스템 KR20240069100A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020220150257A KR20240069100A (ko) 2022-11-11 2022-11-11 영역 분리를 이용한 영상 처리 장치, 영상 처리 방법, 및 이를 포함하는 전자 시스템
US18/446,927 US20240161229A1 (en) 2022-11-11 2023-08-09 Image processing device and method using video area splitting, and electronic system including the same
CN202311351136.2A CN118042060A (zh) 2022-11-11 2023-10-18 图像处理装置以及包括图像处理装置的电子系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220150257A KR20240069100A (ko) 2022-11-11 2022-11-11 영역 분리를 이용한 영상 처리 장치, 영상 처리 방법, 및 이를 포함하는 전자 시스템

Publications (1)

Publication Number Publication Date
KR20240069100A true KR20240069100A (ko) 2024-05-20

Family

ID=90993946

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220150257A KR20240069100A (ko) 2022-11-11 2022-11-11 영역 분리를 이용한 영상 처리 장치, 영상 처리 방법, 및 이를 포함하는 전자 시스템

Country Status (3)

Country Link
US (1) US20240161229A1 (ko)
KR (1) KR20240069100A (ko)
CN (1) CN118042060A (ko)

Also Published As

Publication number Publication date
US20240161229A1 (en) 2024-05-16
CN118042060A (zh) 2024-05-14

Similar Documents

Publication Publication Date Title
KR102590644B1 (ko) 증강 현실 콘텐츠의 아틀라스 관리를 위한 방법 및 장치
US11164357B2 (en) In-flight adaptive foveated rendering
US11127110B2 (en) Data processing systems
US10713997B2 (en) Controlling image display via mapping of pixel values to pixels
TWI698834B (zh) 用於圖形處理之方法及裝置
US10984758B1 (en) Image enhancement
KR20230007358A (ko) 증강 현실을 위한 멀티레이어 재투영 기법들
US11037271B2 (en) Dynamic rendering for foveated rendering
US10565689B1 (en) Dynamic rendering for foveated rendering
US11004427B2 (en) Method of and data processing system for providing an output surface
US8717391B2 (en) User interface pipe scalers with active regions
US10672367B2 (en) Providing data to a display in data processing systems
KR102619668B1 (ko) 슬라이스 업데이트 맵을 이용하는 장치 및 방법
KR20240069100A (ko) 영역 분리를 이용한 영상 처리 장치, 영상 처리 방법, 및 이를 포함하는 전자 시스템
TW202420225A (zh) 使用視訊區域分割的影像處理裝置以及包括其的電子系統
US20240046410A1 (en) Foveated scaling for rendering and bandwidth workloads
CN112468820B (zh) 图像显示方法及图像显示系统
WO2023151067A1 (en) Display mask layer generation and runtime adjustment
US9811945B2 (en) On-demand transformation aware shape tessellation
CN114930288A (zh) 用于促进对用于显示器下设备显示器的图像的区域处理的方法和装置
CN116018807A (zh) 图像空间函数传输
CN116917900A (zh) 在像素到像素神经网络中处理数据