KR102550927B1 - 데이터 처리 시스템에서 프레임을 처리하는 방법 및 장치 - Google Patents

데이터 처리 시스템에서 프레임을 처리하는 방법 및 장치 Download PDF

Info

Publication number
KR102550927B1
KR102550927B1 KR1020150166124A KR20150166124A KR102550927B1 KR 102550927 B1 KR102550927 B1 KR 102550927B1 KR 1020150166124 A KR1020150166124 A KR 1020150166124A KR 20150166124 A KR20150166124 A KR 20150166124A KR 102550927 B1 KR102550927 B1 KR 102550927B1
Authority
KR
South Korea
Prior art keywords
frame
region
foreground
foreground frame
color value
Prior art date
Application number
KR1020150166124A
Other languages
English (en)
Other versions
KR20160066502A (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 에이알엠 리미티드
Publication of KR20160066502A publication Critical patent/KR20160066502A/ko
Application granted granted Critical
Publication of KR102550927B1 publication Critical patent/KR102550927B1/ko

Links

Images

Classifications

    • 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/272Means for inserting a foreground image in a background image, i.e. inlay, outlay
    • H04N5/275Generation of keying signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/293Generating mixed stereoscopic images; Generating mixed monoscopic and stereoscopic images, e.g. a stereoscopic image overlay window on a monoscopic image background
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • 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/272Means for inserting a foreground image in a background image, i.e. inlay, outlay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/74Circuits for processing colour signals for obtaining special effects
    • H04N9/75Chroma key

Abstract

크로마 키잉 방식에 있어서 배경 프레임과 합성될 전경 프레임을 제공하는 장치로서, 상기 전경 프레임과 상기 배경 프레임의 각각은 각각의 프레임을 함께 형성하는 한 개 이상의 영역들을 구비한다. 검출 모듈(700)은 각 프레임 영역이 미리 결정된 컬러값을 갖는지 여부를 판정하고, 상기 판정에 근거해서 크로마 키잉 정보를 생성해서 저장한다. 그 다음 제어회로(710)는 상기 저장된 크로마 키잉 정보에 따라 상기 영역에 대해서 행해지는 화상 처리를 제어한다.

Description

데이터 처리 시스템에서 프레임을 처리하는 방법 및 장치{METHOD OF AND APPARATUS FOR PROCESSING FRAMES IN A DATA PROCESSING SYSTEM}
본 발명은 크로마 키잉(chroma keying)의 분야에 관한 것이다. 특히, 본 발명은 크로마 키잉 프로세스 시에 배경 프레임과 합성되는 전경 프레임을 처리하는 방법 및 장치에 관한 것이다.
크로마 키 합성(chroma key compositing) 또는 크로마 키잉은 화상의 컬러 색조(colour hues)(크로마 범위)에 따라 배경 화상과 전경 화상(또는 전경 영상 스트림과 배경 영상 스트림)을 합성하는 기술이다. 전경 프레임의 한 개 이상의 화소는 합성 중에 배경 프레임의 화소로 교체되도록 선택되고, 전경 프레임으로부터 제거되는 화소들은 정의된 컬러 값, 또는 키잉 컬러 값, 예를 들면 녹색을 갖는 것으로 확인된다. 키잉 컬러값을 갖는 이들 전경 화소들은 보통 "키이드 화소(keyed pixels)"라고 칭한다.
이 점에 있어서는, 일반적으로 처리되고 있는 특정 프레임이 프레임을 함께 형성하는 복수의 화소(샘플링 위치들)(데이터 위치들의 어레이)로 구성된다는 것을 알 수 있을 것이다. 여기서, 화소는 하나의 샘플링 위치에 대응한다. 프레임의 각 화소(샘플링 위치)에 대해서는, 데이터 값 또는 값들(예를 들면, RGB 값들)이 저장될 수도 있고, 각 데이터 값이 예를 들면 8비트 수 등의 비트의 수로 표현될 수도 있다(여기서 프레임은 예를 들면 RGB888 포맷으로 저장된다).
단순화된 크로마 키잉 동작을 나타내는 개략도가 도 1에 도시되어 있다. 전경 프레임(100)이 배경 프레임(101)과 함께 104에서 합성될 때, 전경 프레임의 각 화소의 값을 키잉 컬러값(103)과 함께 102에서 비교함으로써, 키이드(keyed) 화소인 전경 화소가 배경 프레임의 화소로 교체되고, 원하는 전경 물체만이 배경 프레임과 합성된다. 전경 물체는 예를 들면 자막의 텍스트, 일기 예보의 진행자 등일 수 있고, 배경은 예를 들면 기상도(weather map)일 수도 있다.
크로마 키잉 기술은 데이터(화상) 처리 시스템에서 구현될 수 있다. 한 개 이상의 다른 화상 처리 블록도 같은 데이터 처리 시스템에서 구현될 수 있다. 이 경우에, 전경 화상 및/또는 배경 화상은 크로마 키잉 동작 및 합성이 행해지기 전에 한 개 이상의 다른 화상 처리 블록에 의해 처리될 수 있다.
종래의 데이터 처리 시스템에 있어서의 크로마 키잉 기술의 구현은 도 2에 개략적으로 도시되어 있고, 여기서 전경 프레임에 있어서의 키이드 화소(220)의 검출은 전경 프레임이 210에서 처리된 후에 행해진다. 배경 프레임의 화소들도 마찬가지로 230에서 처리되고, 처리된 전경 프레임과 배경 프레임은 240에서 합성된다. 종래의 접근법에 있어서는, 전경 프레임 내의 모든 화소는 한 개 이상의 화소가 키이드 화소인 경우에도 처리되고, 어떤 화소들은 합성 시에 배경 화상의 화로로 교체될 것이다. 이와 같이, 처리 및 대역폭 자원은 어떤 경우에는 불필요하게 소비된다.
일부 화상 처리 동작은 화소 그룹의 데이터값에 의존한다. 그러한 동작이 키이드 화소와 전경 물체 사이의 경계에서 행해지는 경우에, 입력 화소값들이 한 개 이상의 키이드 화소와 한 개 이상의 전경 물체 화소로부터의 값들의 결합을 포함하면, 출력 화소값 내의 한 개 이상의 전경 물체 화소들의 값들이 입력 내의 키이드 화소들의 값들에 의해 영향을 받을 수도 있고, 마찬가지로, 출력 내의 키이드 화소들의 값들은 입력 내의 전경 물체 화소들의 값들에 의해 영향을 받을 수도 있다. 전자의 경우에는, 화질의 손실을 일으켜 전경 물체가 왜곡되고, 후자의 경우에는, 키이드 화소들이 검출되지 않을 수도 있으므로, 배경 화상의 화소들로 교체되지 않을 수도 있다.
키이드 화소들과 전경 물체 화소들 사이의 경계에서 행해질 때 영향을 받을 수도 있는 화상 처리의 예로서는, 예를 들면 스케일링 윈도우(scaling window)를 적용해서 화상을 스케일링하고, 샤프닝 윈도우(sharpening window)를 적용해서 화상을 샤프닝할 때, 프레임으로부터의 화소들의 "윈도우"(그룹)를 입력으로서 취하는 필터링 또는 다른 동작이 있다. 종래의 방법에 있어서는, 그러한 "윈도우" 동작이 입력 화소에 대해서 행해질 때, 결과의 출력 화소의 값이 입력 화소의 값뿐만 아니라, 입력 화소를 둘러싸는 화소들의 값들에 의해서도 결정된다. 윈도우 동작에 사용되는 주변 화소의 개수는 윈도우의 사이즈에 의존한다. 예를 들면, 3x3 윈도우에 대해서는, 윈도우가 9개의 화소의 면적을 커버하므로, 이 동작은 입력 화소를 둘러싸는 8개의 다른 화소뿐만 아니라 입력 화소의 값들도 취한다. 이와 같이, 필터 윈도우가 양쪽 키이드 화소들과 전경 물체 화소들을 둘러싸는 면적을 커버하면, 출력 화소의 값은 키이드 화소들과 전경 물체 화소들의 결합의 결과이다.
전경 물체로 "스며들고 있는(bleeding)" 키이드 화소들에 의해 야기된 왜곡의 예가 도 3에 도시되어 있고, 여기서 키이드 화소들은 흰색으로 도시되어 있고, 전경 화소들은 어두운 회색이며, 배경 화소들은 밝은 회색이다. 이 예에 있어서, 3x3 필터 윈도우는 전경 프레임(310)에 적용된다. 필터 윈도우가 전경 프레임(310)의 화소 310-1에 적용될 때, 필터 윈도우는 양쪽 키이드 화소들과 전경 화소들을 포함하는 면적 310-2를 커버한다. 필터링 동작이 화소 310-1에 대해서 행해질 때, 그것의 값은 면적 310-2 내의 화소들의 각각의 값들에 의해 결정된다. 이와 같이, 필터링 동작이 전경 프레임(310)의 모든 화소에 대해서 완료했을 때, 결과의 프레임 320의 전경 화소들과 키이드 화소들 사이의 경계 350에서 왜곡이 나타날 수 있다. 결과의 프레임 320에 대하여 크로마 키잉 동작을 행하여 처리된 전경 프레임 내의 키이드 화소들을 검출해서 교체할 때, 그 경계에서는 왜곡된 키이드 화소들이 검출되지 않고, 그래서, 처리된 전경 프레임이 배경 프레임 330과 합성될 때, 전경 화소들과 배경 화소들 사이의 경계 360에 있는 합성된 프레임 340에 왜곡이 존재한다.
종래의 접근법에 있어서는, 도 4의 예에 개략적으로 나타낸 바와 같이, 크로마 키잉 동작(102)과 합성(104) 후에 왜곡 검출(401)과 왜곡 보정(402)을 행하여 전경 물체에서 왜곡을 검출해 보정한다. 왜곡 검출 및 왜곡 보정을 행하는 방법이 다수 존재한다. 그렇지만, 이용된 왜곡 검출 방법에 의존해서, 일부 왜곡된 화소가 검출되지 않을 수도 있다. 또한, 전경 물체에 있어서의 왜곡 제거가 때때로 필터링이 적용되기 전에 전경 프레임의 지식을 요구할 수도 있고, 마찬가지로 검출되고 있지 않는 키이드 화소들에 의해 야기된 배경에서의 왜곡 제거가 때때로 합성 전에 배경 화상의 지식을 요구할 수도 있기 때문에, 모든 왜곡의 완전한 제거가 항상 가능하지 않을 수도 있다. 이와 같이, 그러한 왜곡 보정 방법은 단지 전경 물체 및 배경 화상에 대한 키이드 화소들로부터의 영향을 줄이는 것은 쉽지만, 모든 왜곡을 완전히 제거하는 것은 어렵다.
상기의 관점에서는, 처리 및 대역폭 자원의 불필요한 소비를 줄이는 것이 바람직하다. 합성된 화상에서의 왜곡을 줄여서 화질을 향상시키는 것이 더 바람직하다.
이와 같이, 본 발명의 국면에 의하면, 배경 프레임과 합성될 전경 프레임을 제공하는 방법이 제공되고, 전경 프레임과 배경 프레임의 각각은 각각의 프레임을 함께 형성하는 복수의 영역들을 구비한다. 상기 전경 프레임의 상기 복수의 영역들 각각에 대해서, 상기 방법은 상기 전경 프레임에 대하여 검출을 행하여 상기 영역이 소정의 컬러값, 예를 들면, 키잉 컬러값을 갖는지 여부를 판정하는 단계와, 상기 판정에 근거해서 상기 영역에 대한 크로마 키잉 정보를 생성하여 저장하는 단계를 포함하고, 상기 방법은, 상기 전경 프레임에 대하여 필터링 동작을 행하는 단계 - 상기 필터링 동작은 상기 전경 프레임의 영역들에 대하여, 상기 영역에 필터 윈도우를 적용하는 것을 포함하고, 상기 필터 윈도우는 상기 영역과 한 개 이상의 주변 영역들을 포함하는 전경 프레임의 면적을 커버한다 - 와, 상기 영역에 대해서 상기 저장된 크로마 키잉 정보에 따라 상기 전경 프레임의 영역들에 대하여 행해지는 필터링 동작을 제어하는 단계 - 상기 전경 프레임의 상기 영역에 대하여 행해지는 필터링 동작을 제어하는 단계는 상기 크로마 키잉 정보가 상기 영역이 상기 미리 결정된 컬러값을 유지하도록 상기 영역이 상기 미리 결정된 컬러값을 갖는다는 것을 나타내면, 상기 전경 프레임의 상기 영역에 대해서 어떤 필터링도 행하지 않는 것, 상기 크로마 키잉 정보가 상기 영역이 상기 미리 결정된 컬러값을 유지하도록 상기 한 개 이상의 주변 영역들의 모두가 상기 미리 결정된 컬러값을 갖는다는 것을 나타내면, 상기 전경 프레임의 상기 영역에 대해서 어떤 필터링도 행하지 않는 것 및 상기 크로마 키잉 정보가 상기 영역이 상기 미리 결정된 컬러값을 갖지 않고 상기 한 개 이상의 주변 영역들의 모두가 상기 미리 결정된 컬러값을 갖지 않는다는 것을 나타내면, 상기 전경 프레임의 상기 영역에 대한 화소값들을 판정하도록 상기 필터링 동작이 행해지는 것을 포함한다 - 를 더 포함한다.
상기 전경/배경 프레임은 어떤 적절한 또는 원하는 방식으로 한 개 이상의 영역으로 분할될 수도 있다. 바람직한 실시예에 있어서는, 각 영역은 프레임의 개별 화소(샘플링 위치)에 대응한다. 그렇지만, 일부 실시예에 있어서는, 프레임들이 동일한 또는 다양한 사이즈를 가질 수도 있는 한 개의 화소(샘플링 위치) 이상을 포함하는 영역들로 분할될 수도 있다. 소정의 컬러값은 단일 값 또는 값들의 범위일 수도 있고, 바람직하게는 합성 시에 배경 프레임 내의 화소들로 교체되는 전경 프레임 내의 화소들을 식별하도록 설정되는 키잉 컬러값이다.
본 발명의 또 다른 국면에 의하면, 배경 프레임과 합성될 전경 프레임을 제공하는 장치가 제공되고, 상기 전경 프레임과 상기 배경 프레임의 각각은 각각의 프레임을 함께 형성하는 복수의 영역들을 구비한다. 상기 장치는 상기 전경 프레임의 상기 복수의 영역들 각각에 대해서, 상기 전경 프레임의 상기 영역이 미리 결정된 컬러값을 갖는지 여부를 판정하고, 상기 판정에 근거해서 상기 영역에 대한 크로마 키잉 정보를 생성해서 저장할 수 있고, 상기 전경 프레임에 대하여 필터링 동작을 행하고 - 상기 필터링 동작은 상기 전경 프레임의 영역들에 대하여, 상기 영역에 필터 윈도우를 적용하는 것을 포함하고, 상기 필터 윈도우는 상기 영역과 한 개 이상의 주변 영역들을 포함하는 전경 프레임의 면적을 커버한다 -, 상기 영역에 대해서 상기 저장된 크로마 키잉 정보에 따라 상기 전경 프레임의 영역에 대하여 행해지는 필터링 동작을 제어할 수 있는 처리회로 - 상기 전경 프레임의 상기 영역에 대하여 행해지는 필터링 동작을 제어하는 것은 상기 크로마 키잉 정보가 상기 영역이 상기 미리 결정된 컬러값을 유지하도록 상기 영역이 상기 미리 결정된 컬러값을 갖는다는 것을 나타내면, 상기 전경 프레임의 상기 영역에 대해서 어떤 필터링도 행하지 않는 것, 상기 크로마 키잉 정보가 상기 영역이 상기 미리 결정된 컬러값을 유지하도록 상기 한 개 이상의 주변 영역들의 모두가 상기 미리 결정된 컬러값을 갖는다는 것을 나타내면, 상기 전경 프레임의 상기 영역에 대해서 어떤 필터링도 행하지 않는 것 및 상기 크로마 키잉 정보가 상기 영역이 상기 미리 결정된 컬러값을 갖지 않고 상기 한 개 이상의 주변 영역들의 모두가 상기 미리 결정된 컬러값을 갖지 않는다는 것을 나타내면, 상기 전경 프레임의 상기 영역에 대한 화소값들을 판정하도록 상기 필터링 동작이 행해지는 것을 포함한다 - 를 구비한다.
바람직한 실시예에 있어서는, 전경 프레임에 대해서 한 개 이상의 화상 처리 동작을 수행하기 전에 전경 프레임에 대하여 검출을 수행하여 크로마 키잉 정보를 생성한다. 검출 결과로서 생성된 크로마 키잉 정보는 한 개 이상의 화상 처리 동작 중에 저장 및 사용된다. 이와 같이, 크로마 키잉 정보는 처리 파이프라인을 따라 전경 프레임과 함께 전달되는 것으로 간주될 수 있다. 또한, 전경 프레임에 대해서 행해지는 화상 처리 동작은 크로마 키잉 정보에 근거해서 변경되는 것이 바람직하고, 그래서 화상 처리는 전경 프레임의 검출 결과에 따라 조정될 수도 있다.
저장된 크로마 키잉 정보는 전경 프레임의 화소값들과 관련된 어떤 적절한 또는 바람직한 정보를 포함할 수도 있다. 바람직한 실시예에 있어서는, 크로마 키잉 정보는 전경 프레임의 영역이 소정의 컬러값, 예를 들면, 키잉 컬러값을 갖는지 여부를 나타낸다. 예를 들면, 하나의 실시예에 있어서, 크로마 키잉 정보는 한 영역이 키잉 컬러값을 갖는지 여부를 나타내는 플래그(flag)를 설정함으로써 저장될 수도 있다. 그러한 실시예에 있어서는, 복수의 크로마 키잉 플래그의 어레이를, 전경 프레임의 영역(예를 들면, 화소)에 각각 대응하여 제공하여, 각 대응하는 영역이 키잉 컬러값을 갖는지 아닌지를 나타낼 수도 있다. 이와 같이, 저장된 크로마 키잉 정보를 판독함으로써, 전경 프레임의 영역이 키잉 컬러값을 갖는지 여부, 즉 그 영역이 합성 중에 배경 프레임의 영역으로 교체되는지 아닌지 여부를 판정하고, 그에 따라 전경 프레임의 영역에 대하여 행해지는 화상 처리 동작을 변경할 수 있다.
전경 프레임에 대해서 행해지는 화상 처리동작은 전경 프레임이 배경 프레임과 합성되기 전에 전경 프레임에서 행해지는 어떤 적절하고 바람직한 처리 동작일 수 있다. 이 처리 동작은 저장된 크로마 키잉 정보를 이용하는 어떤 적절한 또는 원하는 방식으로 제어(및, 바람직하게는 변경)될 수도 있다. 바람직한 실시예에 있어서, 전경 프레임의 영역에 대해서 행해지는 화상 처리 동작은, 상기 영역이 키잉 컬러값을 갖는다는 것을 크로마 키잉 정보가 나타내면 완전히 생략될 수도 있다.
본 출원인은 전경 프레임이 처리된 후에 전경 프레임 내의 전경 물체 화소들로부터 키이드 화소들을 식별하는 크로마 키잉 동작이 단지 행해지는 종래의 방법에 있어서는, 전경 프레임 내의 모든 화소가 키이드 화소인지 전경 물체 화소인지 여부에 관계없이 같은 방식으로 처리될 것이라는 것을 인식했다. 또한, 전경 프레임 내의 키이드 화소들은 합성 시에 배경 프레임 내의 화소들로 교체될 것이고, 따라서 키이드 화소들에 대해서 행해진 어떤 처리든 사실상 불필요하다.
이와 같이, 본 발명의 실시예에 의하면, 전경 프레임에 대하여 처리를 행하기 전에 전경 프레임의 크로마 키잉 정보를 취득함으로써, 행해질 처리가 취득한 크로마 키잉 정보에 따라 원하는 대로 변경될 수도 있다.
본 발명은 전경 프레임에 대해서 화상 처리가 행해지기 전에, 전경 프레임에 대해 판정하는 크로마 키잉을 수행하여, 키잉 컬러값을 갖는 전경 프레임에서, 영역들, 예를 들면 개개의 화소들 또는 화소들의 그룹을 검출하고, 이렇게 하여 전경 프레임이 배경 프레임과 합성될 때 이들 영역이 배경 프레임의 화소들로 교체될 것이라는 것을 나타냄으로써 이것을 이용하게 한다. 바람직한 실시예에 있어서, 상기 검출은 전경 프레임 내의 영역이 키잉 컬러값을 갖는지 여부를 식별하는 크로마 키잉 정보를 생성하고, 이 크로마 키잉 정보가 저장되어 예를 들면, 처리 파이프라인을 통해서 전경 프레임과 함께 전달된다. 저장된 크로마 키잉 정보를 이용해서, 전경 프레임에 대해서 행해지는 처리는, 영역이 키잉 컬러값을 갖는지 아닌지 여부에 근거해서 변경될 수도 있다. 한 영역이 키잉 컬러값을 갖는 것으로 확인된 경우에는, 상기 영역이 합성 시에 배경 프레임 내의 화소들로 교체될 것이고, 그래서 이 영역에 대해서 행해지는 어떤 처리든 불필요할 것이라는 것이 알려져 있다. 이와 같이, 특히 바람직한 실시예에 있어서는, 한 영역에 대해서 행해지는 화상 처리는, 이 영역이 키잉 컬러값을 갖는다는 것을 크로마 키잉 정보가 나타내면 생략된다.
전경 프레임에 대해서 취득된 크로마 키잉 정보는 합성까지 줄곧 전경 프레임과 함께 변경되지 않은 채로 전달될 수도 있다. 그 대신에, 스케일링 비율에 따라 전경 프레임에 대해 스케일링 동작이 행해지면, 같은 스케일링 비율에 근거해서 크로마 키잉 정보를 변경하는 것이 바람직할 수도 있다. 예를 들면, 전경 프레임의 크로마 키잉 정보가 전경 프레임의 화소에 각각 대응하는 크로마 키잉 플래그의 어레이인 경우, 같은 스케일링 비율에 의해 크로마 키잉 플래그의 어레이를 스케일링하는 것이 바람직할 수도 있다. 이것은 전경 프레임이 업 스케일링 또는 다운 스케일링된 후에 크로마 키잉 정보가 전경 프레임의 영역과의 대응관계를 유지하는 것을 보장한다.
본 발명의 실시예는 전경 프레임의 검출에 의해 취득된 크로마 키잉 정보에 근거해서 한 개 이상의 처리 동작을 변경하기 위해 전경 프레임에 대해서 행해지는 어떤 한 개 이상의 처리 동작에든 적용될 수 있다. 전경 프레임에 대해서 행해지는 처리가 예를 들면 필터 윈도우를 전경 프레임의 영역의 한 개 이상 또는 모두에 적용하는 윈도우 동작인 실시예에 있어서는, 윈도우 동작이 변경될 수도 있다.
소정의 사이즈의 윈도우가 작동되고 있는 화소와 한 개 이상의 주변 화소들을 구비하는 프레임의 면적을 커버하는 윈도우 동작에 있어서, 작동되고 있는 화소의 출력값은 그 자신뿐만 아니라 주변 화소들의 입력값들에 의존한다. 본 출원인은 작동되고 있는 화소가 키이드 화소일 때, 합성 시에 배경 프레임의 화소로 교체될 것이고, 그래서 동작이 불필요하다는 것을 인식했다. 본 출원인은 어떤 경우에는 더 이상 키잉 컬러값을 갖지 않는 방식으로 화소의 값을 변경할 수도 있기 때문에 키이드 화소에 대해 윈도우 동작을 행하는 것이 심지어 바람직하지 않을 수도 있고, 그 경우에 합성 시에 배경 화소로 식별 및 교체되지 않을 수도 있고, 그래서 왜곡을 일으킬 수도 있다는 것을 더 인식했다.
바람직한 실시예에 의하면, 작동될 영역이 키잉 컬러값을 갖는다 것을 크로마 키잉 정보가 나타내면, 그 영역에 대해 행해지는 동작이 생략될 수도 있다. 이와 같이, 데이터 처리 시스템에 의해 행해진 처리량을 줄이고, 또한 합성된 프레임에서 왜곡의 가능성을 줄이는 것이 가능하다.
게다가 또는 그 대신에, 윈도우에 의해 커버되는 모든 주변 영역이 키잉 컬러값을 갖는다는 것을 크로마 키잉 정보가 나타내면 한 영역에 대해서 행해지는 윈도우 동작을 생략할 수도 있다. 이 경우에, 주변영역들 모두가 키잉 컬러값을 갖기 때문에, 주변영역들의 값들을 이용해서 영역에 대해서 윈도우 동작이 행해지면, 이 동작 후의 영역의 값이 다른 영역들의 키잉 컬러값들에 의해 영향을 받을 수도 있다. 예를 들면, 조작될 영역이 전경 물체 화소이면, 윈도우 동작이 전경 물체로 스며들고 있는 키잉 컬러로 이어질 수도 있다. 이와 같이, 이 경우에 필터링 동작을 생략함으로써, 조작될 영역의 왜곡을 피할 수 있고, 데이터 처리 시스템에 의해 행해지는 처리의 양을 줄일 수 있다.
본 발명의 바람직한 실시예에 의하면, 영역의 출력값이 필터 윈도우를 이용하는 필터링 동작 등, 주변영역들의 값들뿐만 아니라 그 자신의 값에 의해 결정되는 처리 동작에 의해서 전경 프레임의 영역이 처리되고 있을 때, 조작되고 있는 영역이 키잉 컬러값을 갖는 경우 및/또는 처리 동작에 사용되는(예를 들면 윈도우로 커버되는) 다른, 예를 들면 주변영역들의 모두가 키잉 컬러값을 가지면 처리 동작이 생략되는 것이 바람직하다. 따라서, 불필요한 처리를 피해서 전력 및 대역폭 소모를 줄일 수 있다. 또한, 전경 물체 및/또는 키이드 화소들의 왜곡량을 줄임으로써, 최종 합성된 프레임의 화질을 향상시키는 것이 가능하다.
몇몇 예에 있어서는, 전경 프레임의 영역에 대해서 행해지는 처리 동작이 주변영역의 값들, 예를 들면 필터 윈도우를 이용하는 필터링에 의존하는 경우, 또 주변영역들이 키이드 화소들과 전경 물체 화소들의 결합을 포함하는 경우, 처리동작이 전경 물체의 일부인 필터 윈도우로 커버된 주변영역들의 값들을 고려해야 한 후에는 화소의 값으로서 처리 동작이 수행되어야 한다. 이 경우, 이 동작이 키이드 화소들로부터의 입력을 무시해야 하는데, 왜냐하면 만약 그렇지 않으면 왜곡을 초래할 수도 있기 때문이라는 것은 본 출원인은 인식했다. 이와 같이, 본 발명의 실시예에 의하면, 조작될 영역이 키잉 컬러값을 갖지 않으면(즉, 한 개 이상의 키이드 화소들이 아니면), 예를 들면 필터링 윈도우로 커버되는 한 개 이상의 주변영역들의 크로마 키잉 정보에 근거해 영역에 적용되는 예를 들면 필터 윈도우에 대한 입력을 변경함으로써 처리 동작을 변경한다.
이와 같이, 본 발명의 바람직한 실시예에 의하면, 불필요한 전경 프레임의 영역에 대해서 행해지는 처리 동작을, 처리를 행하기 전에 취득된 크로마 키잉 정보를 이용해서 생략할 수 있다. 또한, 다른, 예를 들면 주변 영역들의 화소값들뿐만 아니라 조작될 영역도 이용하는 처리 동작에 대해서는, 다른, 예를 들면 주변 영역들이 양쪽 전경 물체 화소들 및 키이드 화소들을 포함하면 처리 동작으로 작동되는 영역을 생략하는 것이 바람직하다. 따라서, 최종 합성된 프레임 내의 왜곡과 전력 및 대역폭 소모를 줄일 수 있다. 화소가 전경 물체 화소인지 키이드 화소인지 여부에 관계없이 전경 화소들을 처리하고, 그 후에 합성된 프레임 내의 왜곡된 화소들을 검출해서 보정하는 종래의 방법과 비교해서, 바람직한 실시예에 의하면, 합성된 프레임에서의 왜곡을 줄이고, 이것에 의해 어떤 경우에는 왜곡의 검출 및 보정을 생략할 수도 있다.
일 실시예에 있어서, 전경 프레임의 영역에 대하여 행해지는 처리동작이 상기 영역과 한 개 이상의 다른 영역들을 포함하는 영역들의 그룹에 대해 동작하는 동작이며, 또 이 동작의 출력이 그 그룹의 각 영역의 입력값들에 의존하는 경우에, 그리고 그 그룹 내에 포함된 다른 영역들이 양쪽 전경 물체 화소들과 키이드 화소들을 구비하면, 키잉 컬러값을 갖는 다른 영역들의 영역(바람직하게는 각각)의 입력값이 키잉 컬러값을 갖지 않는(즉, 전경 물체의 일부인) 그룹의 또 다른 영역의 입력값으로 교체되도록 동작에 대한 입력값들을 변경함으로써 처리동작을 변경한다.
일 실시예에 있어서는, 전경 프레임의 영역에 대하여 행해지는 처리 동작이 상기 영역과 한 개 이상의 주변영역들을 포함하는 "윈도우"를 이용하는 필터링 동작 등의 동작인 경우에, 그리고 윈도우로 커버된 주변영역들이 양쪽 전경 물체 화소들과 키이드 화소들을 포함하면, 키잉 컬러값을 갖는 주변영역들의 영역(바람직하게는 각각)의 입력값이 키잉 컬러값을 갖지 않는(즉, 전경 물체의 일부인) 인접영역의 입력값으로 교체되도록 예를 들면 필터 윈도우에 대한 입력을 변경함으로써 처리 동작을 변경한다.
키잉 컬러값을 갖는 주변영역에 인접하는 한 개의 영역 이상이 있는 특정 예에 있어서는, 한 개 이상의 소정의 규칙에 따라 인접영역을 선택해서 키잉 컬러값을 갖는 영역의 입력값을 교체할 수도 있다. 예를 들면, 주변영역들 중의 한 영역이 키잉 컬러값을 가지면, 그 영역에 대한 입력값이 우선적으로 "중간" 영역(여기서 중간 영역은 조작되고 있는 영역이다)의 입력값으로 교체되도록 규칙들을 설정할 수도 있다. 논의중인 영역이 중간 영역에 인접하고 있지 않은 경우에는, 그것의 윈도우 입력은, 주변영역들의 영역이며 키잉 컬러값 이외의 값을 갖는 인접영역의 값으로 교체될 수도 있다. 논의중인 영역이 수평방향으로 제1 영역, 수직방향으로 제2 영역에 인접하고, 또 양쪽 제1 및 제2 영역이 키잉 컬러값 이외의 값들을 갖는 경우에는, 수직의 인접영역의 값을 우선적으로 선택해서 수평의 인접영역의 값에 대한 논의중인 영역을 교체하거나, 그렇지 않으면, 원하는 대로, 수평의 인접영역의 값에 대한 수평의 인접영역의 값을 우선적으로 선택하도록 규칙들을 설정할 수도 있다.
물론, 다른 방식도 가능할 것이다.
필터 윈도우가 홀수의 영역들을 포함하는 면적을 커버하는 실시예에 있어서는, 중간 영역이 (바람직하게는) 필터 윈도우의 중간에 위치되어 있는 영역이다. 필터 윈도우가 2차원인 경우에는, 중간 영역이 2차원의 필터 윈도우의 중간에 위치되어 있는 영역인 것이 바람직하다. 예를 들면, 3x3 필터 윈도우에 대해서는, 중간영역이 제2 행의 제2 열에 위치된 영역이다.
필터 윈도우가 짝수의 영역들을 포함하는 면적을 커버하는 실시예에 있어서는, 가능한 "후보" "중간" 영역 중의 하나가 "중간" 영역으로서 선택되는 것이 바람직하다. 1차원 윈도우에 대해서는, 근본적으로 윈도우의 중간에 있는 2개의 위치가 있다. 이 경우에, 윈도우의 중간 영역으로서 소정의 규칙에 따라 2개의 중간 위치가 교대로 선택되도록 구성될 수도 있다.
일 예에 있어서는, 필터 윈도우가 NP 위상의 개수와 NT 탭의 개수를 갖는 다상 필터, 예를 들면 다상 스케일링 필터일 수도 있다(이와 같이 필터 윈도우는 각 위상에 있는 영역들의 NT 개수를 커버한다). NT가 홀수이면, 중간 영역은 단순히 ((NT+1)/2)th 탭에 위치된 영역일 수도 있다. 반면, NT가, 다상 필터가 짝수의 영역을 커버하는 짝수이면, 중간 영역의 위치가 (NT/2)th 탭과 ((NT/2)+1)th 탭에 위치된 2개의 영역 사이에서 번갈아 놓이도록 구성될 수도 있다. 이 예에 있어서는, 필터의 위상에 의존하는 중간 영역으로서 필터 윈도우의 다른 영역을 선택하는 것이 바람직할 수도 있고, 그래서 다상 스케일링 필터의 위상이 (NP/2) 이상일 때 중간 영역이 (NT/2)th 탭에 위치된 영역이 되고, 또 다상 스케일링 필터의 위상이 (NP/2)보다 적을 때 중간 영역이 ((NT/2)+1)th 탭에 위치된 영역이 되도록 규칙들을 설정할 수도 있다. 이와 같이, 본 실시예에 의하면, 처리 동작 입력 윈도우가 짝수의 영역들을 커버하는 경우에, 공정한 분배를 보장하기 위해서 2개의 중간 영역이 번갈아 놓이도록 구성될 수도 있다.
본 발명은, 본 기술분야에 속하는 당업자가 알 수 있는 것처럼, 전경 프레임의 소정의 영역의 처리를 주로 참조하여 상기에서 설명되었지만, 상기 동작은 복수의 영역에 대해서, 바람직하게는 전경 프레임의 각 영역에 대해서 반복되는 것이 바람직하다. 일단 완전한 전경 프레임이 이 방식으로 처리되었으면, 그것은 원하는 대로, 크로마 키잉 정보 등을 이용하여 배경 프레임과 저장 및/또는 합성될 수도 있다. 그런 다음, 이 처리는 합성되어야 하는 다음의 전경 및 배경 프레임 등에 대해서 반복되는 것이 바람직하다.
본 발명은 예를 들면, 표시용 전자 디스플레이에 전송되는 프레임들을 생성하도록 동작가능한 어떤 원하는 적절한 데이터 처리 시스템에서 구현될 수도 있다.
본 발명이 내부에서 구현되는 데이터 처리 시스템은, 어떤 원하는 적합하고 적절한 소자들 및 구성요소들을 포함할 수도 있다. 이와 같이, 그것은 CPU, GPU, 비디오 프로세서(비디오 엔진/인코더-디코더), 화상처리장치, 디스플레이 컨트롤러, 및 다양한 프레임들, 크로마 키잉 정보 및 필요한 다른 데이터를 저장하기 위한 적절한 메모리 중의 한 개 이상 또는 모두를 포함할 수 있고 바람직하게는 포함한다.
전경 프레임에 대한 크로마 키잉 정보의 검출 및 생성은 전체 데이터 처리 시스템의 어떤 적절한 원하는 구성요소에 의해서 행해질 수도 있다. 예를 들면, 이것은 시스템(시스템 온 칩) 내에 설치된 CPU, GPU 또는 별도의 프로세서(예를 들면, ASIC)에 의해 또는 논의중인 표시용 디스플레이 컨트롤러에 의해서 행해질 수 있다. 같은 소자는 모든 프로세스를 행할 수 있고, 또는 이들 프로세스는, 원하는 대로, 시스템의 다른 소자들에 걸쳐서 분배될 수 있다.
전경 프레임, 배경 프레임, 합성된 프레임, 어떤 다른 그래픽 프레임, 비디오 프레임 등은, 어떤 적절한 원하는 방식으로 메모리 내에, 바람직하게는 적절한 버퍼 내에 저장될 수도 있다. 예를 들면, 처리된 전경 프레임 및 처리된 배경 프레임은 각각의 출력 프레임 버퍼 내에 저장되는 것이 바람직하다. 출력 프레임 버퍼는 온 칩 버퍼일 수도 있고, 또는 외부 버퍼일 수도 있다. 마찬가지로, 출력 프레임 버퍼는 이 목적을 위한 전용 메모리일 수도 있고, 또는 다른 데이터에도 사용되는 메모리의 일부일 수도 있다.
마찬가지로, 전경 및/또는 배경 프레임들이 생성(렌더(rendered))될 때 그들이 가장 먼저 기록되는 버퍼들은 그러한 어떤 적절한 버퍼들을 구비할 수도 있고 어떤 적절한 원하는 방식으로 메모리 내에 구성될 수도 있다. 예를 들면, 그들은 온 칩 버퍼 또는 별도의 온 칩 버퍼들일 수도 있고, 또는 외부 버퍼 또는 버퍼들일 수도 있다. 마찬가지로, 그들은 이 목적을 위한 전용 메모리일 수도 있고 또는 다른 데이터에도 사용되는 메모리의 일부일 수도 있다. 입력 프레임 버퍼들은 예를 들면 어플리케이션이 필요로 하는 어떤 포맷일 수도 있고, 예를 들면 시스템 메모리 내(통합된 메모리 구조 내)에, 또는 그래픽 메모리(예를 들면, 통합되지 않은 메모리 구조) 내에 저장될 수도 있다.
본 발명은 적절하게 구성된 마이크로 프로세서 기반 시스템 등, 어떤 적절한 시스템 내에서 구현될 수도 있다. 몇몇 실시예에 있어서는, 본 발명은 컴퓨터 및/또는 마이크로 프로세서 기반 시스템 내에서 구현될 수도 있다.
본 발명의 다양한 기능은 어떤 원하는 적절한 방식으로 수행될 수도 있다. 예를 들면, 본 발명의 기능은 원하는 대로 하드웨어 또는 소프트웨어로 구현될 수도 있다. 이와 같이, 예를 들면, 본 발명의 다양한 기능의 소자들 및 "수단"은, 원하는 방식으로 동작하도록 프로그램될 수 있는 적합한 전용 하드웨어 소자들(처리회로) 및/또는 프로그래머블 하드웨어 소자들(처리회로)과 같은, 다양한 기능 등을 수행하도록 동작할 수 있는, 적절한 프로세서 또는 프로세서들, 컨트롤러 또는 컨트롤러들, 기능유닛, 회로, 처리 로직, 마이크로프로세서 구성 등을 구비할 수도 있다.
여기에서는, 본 기술분야에 속하는 당업자가 알 수 있는 것처럼, 본 발명의 다양한 기능 등은, 중복될 수도 있고 및/또는 주어진 프로세서에 대해서 병렬로 수행될 수도 있다는 점에도 유념해야 한다. 마찬가지로, 다양한 처리 스테이지는, 원한다면, 처리회로 등을 공유할 수도 있다.
본 발명은 "파이프라인(pipelined)" 처리 방식을 갖는 시스템 등, 어떤 적절한 형태 또는 구성의 데이터 처리 시스템에 적용가능하다.
또한, 본 발명의 기술한 국면 및 실시예의 모두가 여기에 기술한 바람직한 선택적 특징들 중의 한 개 이상 또는 모두를 적절히 포함할 수도 있다는 것을 본 기술분야에 속하는 당업자가 알 수 있을 것이다.
본 발명에 따른 방법은, 소프트웨어, 예를 들면 컴퓨터 프로그램을 이용해서 적어도 부분적으로 구현될 수도 있다. 이와 같이, 추가 실시예에서 보면, 본 발명은 데이터 처리 수단에 인스톨될 때 여기에 기술된 방법을 수행하도록 특히 적응된 컴퓨터 소프트웨어와, 프로그램 소자가 데이터 처리 수단에서 작동될 때 여기에 기술된 방법들을 수행하기 위한 컴퓨터 소프트웨어 코드부를 갖는 컴퓨터 프로그램 소자와, 프로그램이 데이터 처리 시스템에서 작동될 때 여기에 기술된 방법 또는 방법들의 모든 스텝을 수행하도록 적응된 코드 수단을 갖는 컴퓨터 프로그램을 제공한다는 것을 알 수 있을 것이다. 데이터 처리 시스템은 마이크로프로세서, 프로그래머블 FPGA(Field Programmable Gate Array) 등일 수도 있다.
본 발명은 그래픽 프로세서, 렌더러 또는 데이터 처리 수단을 구비하는 다른 시스템을 작동시키기 위해서 사용될 때, 상기 데이터 처리 수단과 함께 상기 프로세서, 렌더러 또는 시스템이 본 발명의 방법들의 스텝들을 수행시키는 그러한 소프트웨어를 구비하는 컴퓨터 소프트웨어 캐리어(computer sofware carrier)에도 확장된다. 그러한 컴퓨터 소프트웨어 캐리어는 ROM 칩, CD ROM, RAM, 플래시 메모리, 또는 디스크와 같은 물리적 기억매체일 수 있고, 또는 위성 등과 같은, 와이어 상의 전기신호, 광학 신호 또는 무선 신호 등의 신호일 수 있다.
본 발명의 방법들의 모든 스텝들이 컴퓨터 소프트웨어에 의해서 수행될 필요가 없으므로, 더 넓은 실시예로부터 본 발명은 여기에 설명된 방법들의 스텝들 중의 적어도 하나를 수행하기 위한 컴퓨터 소프트웨어 캐리어 상에 인스톨된 그러한 소프트웨어 및 컴퓨터 소프트웨어를 제공한다는 것을 더 알 수 있을 것이다.
따라서 여기에서의 본 발명은 컴퓨터 시스템과 사용하기 위한 컴퓨터 프로그램 제품으로서 적절히 구현될 수도 있다. 그러한 구현은 컴퓨터 판독가능한 매체, 예를 들면, 디스켓, CD ROM, ROM, RAM, 플래시 메모리, 또는 하드 디스크 등, 유형의 비일시 매체 위에 고정된 일련의 컴퓨터 판독가능한 명령들을 포함할 수도 있다. 그것은 또한 광학 또는 아날로그 통신선을 포함하지만 그것에 한정되지 않는, 유형의 매체를 이용해서, 또는 마이크로파, 적외선 또는 다른 송신 기술을 포함하지만 그것에 한정되지 않는, 무형의 무선 기술을 이용해서, 모뎀 또는 다른 인터페이스 디바이스를 통해, 컴퓨터 시스템에 송신가능한 일련의 컴퓨터 판독가능한 명령들을 포함할 수 있다. 이 일련의 컴퓨터 판독가능한 명령들은 여기에 이전에 기술된 기능의 모두 또는 일부를 구현한다.
본 기술분야에 속하는 당업자는, 그러한 컴퓨터 판독가능한 명령들이 많은 컴퓨터 구조 또는 오퍼레이팅 시스템과 사용하기 위한 다수의 프로그래밍 언어로 기록될 수 있다는 것을 인식할 것이다. 또한, 그러한 명령들은 반도체, 자성(magnetic), 또는 광(optical)을 포함하지만 그것에 한정되지 않는, 현재나 미래에, 어떤 많은 기술을 이용해서 저장될 수도 있고, 또는 광, 적외선, 또는 마이크로파를 포함하지만 그것에 한정되지 않는, 현재나 미래에, 어떤 통신 기술을 이용해서 송신될 수도 있다. 그러한 컴퓨터 프로그램 제품은, 예를 들면, 시스템 ROM 또는 고정 디스크 위에, 인쇄 또는 전자 문서가 첨부된 이동식 매체, 예를 들면, 컴퓨터 시스템에 프리로드된(pre-loaded), 슈링크 랩 소프트웨어(shrink wrapped software)로서 분포될 수도 있고, 또는 네트워크, 예를 들면 인터넷 또는 월드 와이드 웹(World Wide Web)을 이용해서 서버 또는 전자 게시판으로부터 분포될 수도 있다는 것이 고려된다.
이하, 본 발명의 실시예에 대해서 첨부도면을 참조하여 단지 예로서 설명할 것이다.
도 1은 크로마 키잉 동작의 일례를 나타내는 간단한 개략도이다.
도 2는 크로마 키잉에의 종래의 접근법의 일례를 나타내는 개략도이다.
도 3은 합성된 프레임에 있어서의 왜곡의 발생을 개략적으로 나타낸 것이다.
도 4는 데이터 처리 시스템에 크로마 키잉 동작을 적용하는 종래의 접근법의 일례를 나타내는 개략도이다.
도 5는 일 실시예에 따른 예시적인 크로마 키잉 기술을 나타내는 개략도이다.
도 6은 데이터 처리 시스템에 있어서 도 5의 기술을 구현하는 예를 나타낸다.
도 7은 일 실시예에 따른 화상 처리 파이프라인의 일례를 개략적으로 나타낸 것이다.
도 8은 일 실시예에 따른 화소에 대해 독립적으로 작동하는 처리 동작을 변경하기 위한 예시적인 방법을 개략적으로 나타낸 것이다.
도 9는 일 실시예에 따른 화소들의 그룹에 대해 작동하는 처리 동작을 변경하기 위한 예시적인 방법을 개략적으로 나타낸 것이다.
도 10은 도 9의 예시적인 방법에 따른 필터 윈도우를 변경하기 위한 예들을 나타낸다.
도 11은 도 8의 예시적인 방법에 따른 필터 윈도우를 변경하기 위한 추가 예들을 나타낸다.
도 12는 도 9의 예시적인 방법의 효과를 나타낸다.
도 13은 일 실시예에 따른 프레임에 대응하는 크로마 키잉 정보를 변경하기 위한 예시적인 방법을 개략적으로 나타낸 것이다.
도 14a는 크로마 키잉 정보의 업스케일링(upscaling)의 예를 개략적으로 나타낸 것이다.
도 14b는 크로마 키잉 정보의 다운스케일링(downscaling)의 예를 개략적으로 나타낸 것이다.
같은 참조번호는 적절한 도면 전체에 걸쳐 같은 특징에 대해서 사용된다.
일 실시예에 따른 크로마 키잉 기술을 구현하기 위한 예시적인 방법의 개략도가 도 5에 도시되어 있다. 본 발명에 의하면, 화상 처리(520)를 수행하기 전에 전경 프레임의 화소들에 대해서 검출(510)을 행하여, 전경 프레임에 대한 크로마 키잉 정보를 생성한다. 본 실시예에 있어서는, 전경 프레임에서 키이드 화소들을 식별하도록 화소 검출을 행하고, 크로마 키잉 정보는 키잉 컬러값(즉, 키이드 화소인)을 갖는 전경 프레임 화소를 표시한다. 이와 같이 생성된 크로마 키잉 정보는 한 개 이상의 화상 처리 동작을 통해서 전경 프레임과 함께 배경 프레임과의 합성(530)을 위해 전달된다.
일 예에 있어서, 크로마 키잉 정보는 한 개 이상의 크로마 키잉 플래그의 형태이며, 여기서는 화소가 키이드 화소라는 것을 나타내기 위해서 키잉 컬러값을 갖는 화소가 검출될 때 플래그가 설정된다. 화소 i(혹은 i th화소)에 대한 크로마 키잉 플래그를 다음과 같이 요약할 수 있다.
Figure 112015115457250-pat00001
물론 번갈아 키잉 컬러값과 같은 값들을 가진 화소들의 크로마 키잉 플래그를 0으로 설정하고, 원한다면 키잉 컬러값과 같지 않은 값들을 가진 화소들의 크로마 키잉 플래그를 1로 설정하는 것이 가능할 것이다. 물론 크로마 키잉 정보를 저장하기 위한 다른 방식도 가능하며, 예를 들면 비트맵을 생성해서 저장할 수도 있다.
본 예에 있어서는, 전경 프레임의 각 화소에 대해서 플래그를 설정한다. 그렇지만, 이것은 필수적인 것은 아니다. 다른 예에 있어서는, 전경 프레임의 면적이 키잉 컬러값을 갖는(혹은 키잉 컬러값을 갖지 않는) (다수의) 화소들을 독점적으로 포함하도록 결정되면, 이 면적에 대해서 단 하나의 플래그가 설정될 수도 있다.
도 6은 도 5의 방법을 어떻게 적용할 수 있는지의 예를 나타낸다. 이 예에 있어서, 데이터(화상) 처리 시스템은 비디오 인코더/디코더(610), GPU(620), 및 디스플레이 프로세서(640)를 구비한다. 데이터 처리 시스템은 오프 칩 메모리 630-1, 630-2와 통신하도록 구성된다. 데이터 처리 시스템은, 원하는 대로, CPU 등, 다른 모듈 및 디바이스를 더 구비할 수도 있다. 비디오 인코더/디코더(610)는 오프 칩 메모리 630-1에 비디오 출력인 배경 프레임을 출력한다. GPU(620)는 키이드 화소들과 전경 물체인 한 줄의 자막(a line of subtitle)을 포함하는 전경 프레임을 생성하고, 그것을 오프 칩 메모리 630-2에 출력한다.
배경 프레임은 디스플레이 프로세서(640)에 의해 오프 칩 메모리 630-1로부터 판독되고, 합성 엔진(643)에 입력되기 전에 디스플레이 프로세서(640) 내의 컬러 변환(641) 및 역감마 보정(642)을 포함하는 다수의 화상 처리 동작을 행한다.
반면, 전경 프레임은 디스플레이 프로세서(640)에 의해 오프 칩 메모리 630-2로부터 판독되고, 우선 예를 들면 플래그를 설정함으로써, 키잉 컬러값을 갖는 전경 프레임 내의 한 개 이상의 화소들을 나타내기 위한 크로마 키잉 정보를 생성하는 키잉 컬러 검출(644)을 행한다. 크로마 키잉 정보는 역감마 보정(645)과 업스케일링(646)을 포함하는 다수의 화상 처리 동작을 통해서 전경 프레임과 함께 합성 엔진(643)에 의해 배경 프레임과의 합성을 위해서 전달된다. 합성시, 전경 프레임 내의 키이드 화소들은, 크로마 키잉 정보에 근거해서, 배경 프레임의 화소들로 교체되고, 최종 합성된 프레임은 디스플레이 디바이스 등에 출력된다.
도 7은 전경 프레임과 배경 프레임이 처리된 후에 합성되는 처리 파이프라인의 일례를 개략적으로 나타낸 것이다.
전경 물체 화소들과 키이드 화소들을 구비하는, 전경 프레임, 예를 들면, 비디오 프레임, 그래픽 프레임, 텍스트 등은, 우선 전경 프레임에 대한 크로마 키잉 정보를 생성하도록 크로마 키이드 화소 검출기(700)에 의해 처리된다. 이 예에 있어서는, 크로마 키잉 정보는 크로마 키잉 값(예를 들면, 녹색)을 갖도록 검출되는 전경 프레임의 영역(예를 들면, 1개 이상의 화소)에 대해서, 예를 들면 1로 설정될 수 있는 한 개 이상의 크로마 키잉 플래그의 형태를 취한다.
검출기(700)에 의해 생성된 크로마 키잉 정보는 메모리(미도시) 내에 저장되고, 전경 프레임이 처리되는, 처리 파이프라인을 따라 전경 프레임의 화소 데이터와 함께 전달된다. 이 예에 있어서는, 한 개 이상의 처리 모듈에 의해 수행되는 처리는 저장된 크로마 키잉 정보를 이용해서 제어회로(710)에 의해 제어된다. 본 예에 있어서는, 제어회로(710)가 별도의 모듈로서 도시되어 있다. 그렇지만, 다른 예에 있어서는, 제어회로가 검출기(700) 또는 다른 하드웨어 소자들 내에 통합되거나, 처리 파이프라인의 한 개 이상의 처리 모듈에 설치될 수도 있다.
검출 후에, 전경 프레임은 역감마 보정 모듈(720)에 의해 처리된다. 크로마 키잉 정보가 이미 이용 가능하기 때문에, 전경 프레임의 영역 또는 영역들이 키이드 화소(들)인지를 판정하는 것이 가능하다. 이와 같이, 제어회로(710)는 역감마 보정 모듈(720)이 키이드 화소(들)를 처리하는 것을 생략시키고, 전경 물체 화소들의 화소 데이터만 보정된다.
역감마 보정된 화소 데이터는 스케일링 필터를 이용해서 화소 데이터를 필터링하는 화상 스케일링 모듈(730)에 송신된다. 제어회로(710)가 크로마 키잉 정보를 다시 이용해서 화상 스케일링 모듈(730)을 제어한다. 화상 스케일링 모듈(730)은 전경 물체 화소들의 화소 데이터에 스케일링 필터를 적용하고, 크로마 키잉 정보에 근거해 키이드 화소들이라고 결정된 영역들은 필터링되지 않는다. 필터 윈도우를 사용하는 경우에, 필터 윈도우가 양쪽 전경 물체 화소들과 키이드 화소들을 포함하는 전경 프레임의 면적을 커버하면, 키이드 화소들의 값들이, 필터 윈도우가 적용되는 전경 물체 화소의 출력값에 영향을 미치지 않도록 필터 윈도우 입력을 변경한다. 필터 윈도우 입력을 변경하는 방법의 상세한 것은 이하에 좀 더 상세히 설명한다. 크로마 키잉 정보와 스케일링된 화소 데이터와의 정확한 대응관계를 보장하기 위해서, 화소 데이터에 적용된 스케일링 요소(비율)에 따라 크로마 키잉 정보를 변경하는 것이 바람직할 수도 있다.
스케일링된 화소 데이터는 크로마 키잉 정보와 함께 화상 인핸서(enhancer) 모듈(740)에 전송된다. 제어회로(710)에 의해 화상 인핸서 모듈(740)이 전경 물체 화소들의 화소 데이터에 샤프닝 필터(sharpening filter)를 적용하고, 키이드 화소라고 결정되는 영역들을 생략한다. 다시, 필터 윈도우가 전경 물체 화소에 적용되고, 필터 윈도우가 양쪽 전경 물체 화소들과 키이드 화소들을 포함하는 면적을 커버하는 경우, 키이드 화소들의 값들이, 필터 윈도우가 적용되는 전경 물체 화소의 출력값에 영향을 미치지 않도록 필터 윈도우 입력을 변경한다.
마찬가지로 배경 프레임은 역감마 보정 모듈(750), 화상 스케일링 모듈(760), 및 최종적으로 화상 인핸스 모듈(770)에 의해 처리된다. 배경 프레임이 전경 프레임과 같거나 다른 모듈들 중 한 개 이상의 모듈에 의해서 처리될 수도 있다는 점에 유념해야 한다. 또한, 전경 프레임과 배경 프레임이 같은 한 개 이상의 처리 동작을 행하는 것이 필수적인 것은 아니다.
전경 프레임의 처리된 화소 데이터와 크로마 키잉 정보는 합성 모듈(780)에 전송된다. 마찬가지로, 배경 프레임의 처리된 화소 데이터는 합성 모듈(780)에 전송된다. 그 다음, 합성 모듈(780)은 크로마 키잉 정보에 따라, 전경 프레임 내의 키이드 화소들을 배경 프레임들의 화소들로 교체함으로써 전경 프레임을 배경 프레임과 합성한다. 합성된 프레임이 사용을 위해 출력되어 예를 들면 디스플레이 디바이스(790)에 의해 표시된다.
도 8은 전경 프레임의 화소에 적용되는 처리가 독립적으로 화소에 대해, 예를 들면 역감마 보정에 대해 작동하는 실시예를 나타낸다. 크로마 키잉 정보는 키이드 화소 검출 중에 생성되고, 크로마 키잉 정보는 이 처리를 통해서 전경 프레임의 화소 데이터와 함께 전달된다. 전경 물체 화소들의 화소 데이터는 화소 처리 모듈(810)에 의해 처리되고, 크로마 키잉 정보를 이용해서, 한 개 이상의 키이드 화소들이 전경 프레임으로부터 식별되며, 이 키이드 화소들에 대해서는 상기의 처리가 행해지지 않는다. 전경 프레임의 처리된 화소 데이터는 크로마 키잉 정보와 함께 사용을 위해서 출력된다.
본 실시예에 의하면, 키이드 화소들에 대해서 행해지는 처리가 생략되고(바이패스되거나 수행되지 않고), 전경 물체 화소들만이 처리된다. 따라서, 전력과 대역폭의 불필요한 소비가 감소하는 원인은 배경 화소들로 교체되도록 의도된 키이드 화소들을 처리하는 것에 기인할 수 있다.
도 9는 전경 프레임의 화소에 적용되는 처리가 화소들의 그룹에 대해 작동하는, 예를 들면 화소에 대한 값을 출력하기 위해서 화소와 복수의 주변 화소들을 포함하는 화소들의 그룹에 대해 작동하는 샤프닝 필터 또는 스케일링 필터와 같은 윈도우 동작에 대해 동작하는 실시예를 나타낸다. 전경 프레임의 크로마 키잉 정보는 화소 데이터와 함께 처리를 통해서 전달된다.
처리 동작에 있어서, 필터 윈도우는 현재 화소("중간" 화소)에 적용되고, 필터 윈도는 현재 화소와 한 개 이상의 주변 화소들을 포함하는 면적을 커버한다. 검출 모듈(910)은 전경 프레임의 크로마 키잉 정보를 이용해서 현재 화소가 키이드 화소인지 여부를 체크한다. 현재 화소가 키이드 화소라고 판정되면, 필터링이 행해지지 않고, 현재 화소가 처리되는 일없이 출력된다. 키이드 화소들이 배경 화소들로 교체되기 때문에, 키이드 화소들의 처리가 불필요하여 생략될 수 있다.
대신에 현재 화소가 전경 물체 화소라고 판정되면, 검출 모듈(920)은, 크로마 키잉 정보를 이용해서, 필터 윈도우로 커버된 주변 화소들이 한 개 이상의 키이드 화소들을 포함하는지 여부를 체크한다. 모든 주변 화소가 키이드 화소들이라고 판정되면, 필터링이 행해지지 않고, 현재 화소가 처리되는 일없이 출력된다. 필터 윈도우가 주변 화소들로부터의 입력을 필요로 하기 때문에, 모든 주변 화소가 키이드 화소들이면, 입력으로서 주변 화소들의 값들을 이용하는 것에 의해 현재 화소의 출력값에 에러/왜곡이 도입될 것이고, 그래서 이 경우에 현재 화소의 처리가 생략된다.
현재 화소가 전경 물체 화소이고, 주변 화소들이 양쪽 키이드 화소들과 전경 물체 화소들을 포함하면, 필터 윈도우 입력들은 소정의 변경 규칙에 따라 윈도우 변경 모듈(930)에 의해 변경된다. 그리고 나서 현재 화소가 변경된 필터 윈도우(940)를 이용해서 처리되고, 처리된 전경 프레임의 크로마 키잉 정보와 함께 처리된 화소 데이터가 사용을 위해서 출력된다. 변경 규칙들은 주변 화소들의 그룹 내에 존재하는 키이드 화소들의 값들이 현재 화소의 출력값에 영향을 미치지 않도록 필터 윈도우 입력들을 변경한다.
본 실시예에 의하면, 처리되어야 하는 현재 화소가 키이드 화소일 때, 또는 처리되어야 하는 현재 화소가 전경 물체 화소이지만 필터 윈도우로 커버되는 모든 다른 화소들이 키이드 화소일 때는, 처리가 생략되므로, 대역폭 및 전력의 불필요한 소비가 감소된다. 또한, 키이드 화소들로만 둘러싸여 있는 현재 화소에 대해서 행해지는 처리를 생략하거나, 주변 화소들이 양쪽 키이드 화소들 및 전경 물체 화소들을 포함할 때 필터 윈도우를 변경함으로써, 출력 화소들에 왜곡을 도입하는 것을 줄일 수 있고, 어떤 경우에는 심지어 방지할 수 있다. 바람직한 실시예에 있어서는, 필터링 동작에 키이드 화소들의 값들을 이용함으로써 야기된 왜곡이 감소될 수도 있고, 또 후처리 왜곡 검출 및 보정이 감소될 수도 있다.
소정의 변경 규칙은 처리 동작에 사용된 필터의 타입에 따라, 또는 어떤 적절하거나 원하는 방식으로 설정될 수도 있다. 이하, 몇몇 예에 대해서 설명한다.
본 발명의 실시예들에 따른 필터 윈도우를 변경하는 예가 도 10에 도시되어 있는데, 이 도면에서 필터 윈도우는 3x3 샤프닝 필터 윈도우이다. 이 예에 있어서, 회색 정사각형은 키이드 화소들을 나타내고, 흰색 정사각형은 전경 물체 화소들을 나타낸다. 홀수의 화소들을 가진 정사각형 윈도우에 있어서, 처리되어야 하는 화소(현재 화소)는 윈도우의 중간에 있는 화소이다. 이 예에 있어서, 그것은 제2 열의 제2 행에 있는 화소이다.
예 10A에 있어서, 처리되어야 하는 현재 화소인 화소 E는 키이드 화소이다. 이 경우에, 필터링이 생략되고, 화소 E의 화소 데이터는 필터링 없이 출력된다. 이 예에 있어서, 주변 화소 A, B, C, D, F, G, H 및 I는 모든 전경 물체 화소들이지만, 필터링의 생략은 키이드 화소인 현재 화소 E에 의해 결정되고, 그것에 의해 주변 화소들이 모든 키이드 화소들이거나, 키이드 화소들과 전경 물체 화소들의 결합이더라도 필터링이 또한 생략된다.
예 10B에 있어서는, 현재 화소 E가 전경 물체 화소이고, 모든 주변 화소 A, B, C, D, F, G, H 및 I는 키이드 화소이다. 이 경우에, 필터링이 다시 생략된다.
예 10C에 있어서는, 현재 화소 E가 전경 물체 화소이고, 주변 화소 A, B, C, D, F, G, H 및 I가 키이드 화소들과 전경 물체 화소들의 조합이다. 이 경우에, 필터가 변경될 것으로 판정된다. 본 예에 있어서, 키이드 화소들의 값들에 대응하는 필터에 입력되는 값들은 전경 물체 화소들의 값들로 교체된다.
본 실시예에 의하면, 필터 입력의 키이드 화소는 인접하는 화소로 교체된다. 바람직하게는 키이드 화소에 대응하는 입력값은 필터 윈도우의 중간에 있는 현재 화소의 값으로 교체된다. 예를 들면, 화소 B의 필터 입력은 화소 E의 필터 입력(값)으로 교체된다. 교체되어야 하는 키이드 화소가 현재 화소에 인접하지 않으면, 교체되어야 하는 키이드 화소는 같은 행에 있는 인접하는 화소로 교체되는 것이 바람직하다. 예를 들면, 화소 I의 필터 입력은 화소 H의 필터 입력(값)으로 교체된다. 교체되어야 하는 키이드 화소와 같은 행에 있는 인접하는 화소도 키이드 화소이면, 교체되어야 하는 키이드 화소의 값은 같은 열에 있는 인접하는 화소의 값으로 교체된다. 예를 들면, 화소 A의 필터 입력은 화소 D의 필터 입력(값)으로 교체된다.
예 10D에 있어서, 키이드 화소 B, D 및 H는 모두 현재 화소 E에 인접하고, 그래서 화소 B, D 및 H의 필터 입력들은 화소 E의 필터 입력(값)으로 교체된다. 키이드 화소 I와 같은 행에 있는 인접하는 화소도 키이드 화소이며, 그래서 화소 I의 필터 입력은 화소 I와 같은 열에 있는 전경 물체 화소인 화소 F의 필터 입력(값)으로 교체된다. 화소 A에 인접하는 양쪽 화소도 키이드 화소이며, 이 경우에, 화소 A의 필터 입력은 화소 E의 필터 입력(값)인 화소 B의 (교체된) 필터 입력으로 교체된다.
본 발명의 실시예들에 따른 필터 윈도우를 변경하는 또 다른 예는 도 11에 도시되어 있지만, 여기에서의 필터 윈도우는 다상 화상 스케일링 필터 윈도우이다.
다상 필터링 스케일링 알고리즘은 보통 고화질 스케일링 동작에 대해서 사용된다. 일반적으로, 다상 필터링 스케일링 방법은 양쪽 수평 및 수직 방향으로 다상 필터링을 행한다. 다상 필터링은 임펄스 응답들(impulse responses)이 위상들(phases)로 분할되는 FIR 필터에 근거하고, 그래서 다른 세트의 계수가 다른 화소들의 필터링 결과를 산출하는 데에 사용될 수도 있다. 어느 세트의 계수가 사용되는지는 필터의 현재 위상에 의존한다. 본 실시예에 있어서의 다상 스케일링의 구현은 어떤 적절한 원하는(알려진) 방식으로 행해질 수 있고, 그래서 이것의 상세한 설명은 생략될 것이다.
그러한 이차원의 필터링은 2개의 직각의 1차원 동작으로 분해될 수 있다. 이들 실시예의 설명을 간략화하기 위해서, 예시적인 다상 스케일링 필터들은 1차원의 필터의 형태이다. 이 경우에, 예시적인 다상 스케일링 필터의 위상은 이하의 식을 이용해서 결정될 수 있다.
Figure 112015115457250-pat00002
여기서 phase(n)은 n번째 출력 화소에 대한 필터의 위상이며, initial_phase는 초기의 위상 옵셋(initial phase offset)(이 파라미터는 몇몇 어플리케이션에서는 생략될 수도 있고, 이 경우에는, 대신에 NP/2의 값이 사용될 수도 있다), size_in은 입력 프레임의 사이즈이며, size_out은 출력 프레임의 사이즈이며, NP는 위상의 총 개수이고, floor(x)는 여기서 값 x를 0쪽으로 가장 가까운 정수로 반올림하는 함수이며, mode(a,b)b로 분할된 a의 모듈이다.
본 예시적인 다상 화상 스케일링 필터는 6-탭, 16-위상 필터 구현을 이용한다. 그리고 나서, 필터(현재 화소)에 의해 출력된 화소는 (양자가 필터의 중간에 있으면서) 필터의 탭-2 또는 탭-3에 있는 출력일 수도 있다. 이 경우에, 현재 또는 중간 화소는, 현재 출력이 출력 프레임 내에 있는 위치에 가장 가까운 입력 프레임 내의 위치에 있는 필터링 윈도우 내의 화소라고 간주된다. 6-탭, 16-위상 스케일링 필터에 대해서는, 필터의 현재 위상이 8(phase(n)≥8) 이상이면, 중간 화소가 필터의 탭-2에 있는 화소이고, 필터의 현재 위상이 8(phase(n)<8)보다 적으면, 필터의 탭-3에 있는 화소는 중간 화소로 간주된다.
본 실시예에 있어서, 필터 윈도우로 커버된 입력 화소들의 그룹의 현재 또는 중간 화소가 전경 물체 화소이고, 그 그룹의 나머지 모든 화소들도 전경 물체 화소들이면, 예 11A와 같이, 정상적으로 필터링이 수행되고, 각 탭에 대한 필터 입력값은 간단히 그 탭에 있는 화소의 값에 대응한다.
현재 화소가 키이드 화소이면, 필터링이 생략된다. 예를 들면, 필터의 위상이 8 이상이면, 현재 화소가 탭-2에 있는 화소이다. 이와 같이, 예 11C에 나타낸 바와 같이, 탭-2에 있는 화소가 키이드 화소이면, 필터링이 생략된다. 필터의 위상이 8보다 적으면, 현재 화소가 탭-3에 있는 화소이다. 이와 같이, 예 11F에 나타낸 바와 같이, 탭-3에 있는 화소가 키이드 화소이면, 필터링이 생략된다.
현재 화소가 전경 물체 화소이면, 필터가 일련의 교체 규칙에 따라 변경된다. 필터 윈도우로 커버된 화소들의 그룹 내의 현재 화소 이외의 화소들에 대해서 검출을 행하여 현재 화소에 가장 가깝게 위치된 키이드 화소를 검출한다. 그 다음에, 키이드 화소와 이 키이드 화소 저편에 있는 (현재 화소로부터 떨어져 있는) 모든 다른 화소들은, 키이드 화소와 현재 화소 사이에 위치되어 있는 키이드 화소에 인접하는 전경 물체 화소로 교체된다.
예를 들면, 예 11B에 있어서, 필터의 위상이 8보다 적으면, 탭-3에 있는 현재 화소가 전경 물체 화소이고, 변경된 필터에 의해서 필터링이 행해진다. 특히, 탭-2에 있는 화소 C가 키이드 화소이므로 탭-0 내지 탭-2에 대한 필터 입력들(키이드 화소 이후)은 화소 D인 탭-3의 필터 입력으로 교체된다.
예 11G에 있어서, 필터의 위상이 8 이상이면, 탭-2에 있는 현재 화소가 전경 물체 화소이고, 변경된 필터에 의해 필터링이 행해진다. 특히, 탭-3에 있는 화소 D가 키이드 화소이므로 탭-3 내지 탭-5에 대한 필터 입력들(키이드 화소 이후)은 화소 C인 탭-2의 필터 입력으로 교체된다.
추가 예 11D, 11E, 11H 및 11J가 도시되어 있는데, 여기서 양쪽 탭-2 및 탭-3는 전경 물체 화소이고 적어도 한 개의 탭은 키이드 화소이다. 예 11D에 있어서, 탭-1에 있는 화소 B는 키이드 화소이므로 탭-0 및 탭-1에 대한 필터 입력들은 탭-2에 대한 필터 입력으로 교체된다. 예 11H에 있어서, 탭-4에 있는 화소 E는 키이드 화소이므로, 탭-4 및 탭-5에 대한 필터 입력들은 탭-3에 대한 필터 입력으로 교체된다. 예 11E에 있어서, 탭-0는 키이드 화소이고, 그것의 필터 입력은 탭-1의 필터 입력으로 교체되고, 예 11J에 있어서, 탭-5는 키이드 화소이고, 그것의 필터 입력은 탭-4의 필터 입력으로 교체된다.
본 실시예에 있어서, 1차원 다상 스케일링 필터를 한 방향으로 변경하는 같은 방법이 다른 방향에 대해서 사용되므로, 그 설명은 반복되지 않을 것이다.
바람직한 실시예에 의하면, 키이드 화소로부터의 필터 입력이 인접하는 전경 물체 화소의 필터 입력으로 교체되도록 필터를 변경함으로써, 전경 물체로 "스며들고 있는" 키이드 화소들에 의해 야기된 왜곡을 줄이는 것이 가능하다.
예를 들면, 도 12에 도시한 바와 같이, 전경 프레임(120)이 예를 들면 다상 필터로 필터링함으로써 처리될 것이고, 그 후에 배경 프레임(121)과 합성될 것이다. 어떤 점에 있어서는, 필터 윈도우가 전경 물체 120-1 및 전경 물체 120-2로부터의 화소들과 키이드 화소들 120-3의 결합을 포함하는 면적 122에 적용된다.
변경되지 않은 필터 윈도우(125)가 면적 122에 적용되고, 변경되지 않은 필터 윈도우가 전경 물체 화소들과 키이드 화소들의 결합을 포함하는 다른 면적에도 적용되면, 전경 물체 120-1 및 120-2와 키이드 화소 120-3과의 사이의 경계에서 왜곡되는 합성 프레임(126)이 발생한다.
다른 한편, 바람직한 실시예에 의하면, 탭-3(좌측으로부터 네 번째 탭)가 현재(혹은 중간) 화소라고 가정하면, 탭-2가 키이드 화소이기 때문에, 탭-0 내지 탭-2에 대한 필터 입력은 필터 윈도우(123)로 나타낸 것처럼 탭-3에 대한 필터 입력으로 교체된다. 이 변경 결과, 합성 프레임(124)은 왜곡이 없다.
상기 예에 있어서는, 전경 프레임의 크로마 키잉 정보는 전경 프레임이 처리되고 있는 동안 처리 동작을 변경하기 위해서 사용되지만, 어떤 변경도 없이 처리 동작을 통해서 전달된다. 그렇지만, 몇몇 실시예에 있어서는, 처리된 전경 프레임에 대응하여 크로마 키잉 정보를 변경하는 것이 바람직할 수도 있다.
예를 들면, 도 13에 나타낸 바와 같이, 전경 프레임(131)의 크로마 키잉 정보가 크로마 키잉 플래그(133)의 어레이의 형태로 저장되는 경우에, 상기 설명한 바와 같이, 각 플래그가 전경 프레임(131)의 화소(혹은 샘플링 포인트)에 대응하고, 이 처리 동작에 의해서 처리된 전경 프레임(132)에서의 화상 해상도가 변경되면, 처리 동작 전의 전경 프레임 내의 화소들의 개수는 처리된 전경 프레임 내의 화소들의 개수와 다를 수도 있다. 이 경우에, 크로마 키잉 정보는, 각 플래그가 처리된 전경 프레임의 각 화소와의 대응관계를 유지하도록 변경되는 것이 바람직하다.
일 실시예에 있어서, 전경 프레임이 스케일링되는 경우에, 전경 프레임의 크로마 키잉 정보가 전경 프레임에 적용된 스케일링 비율에 대응하는 비율에 따라 스케일링된다. 예를 들면, n번째 샘플링 포인트에 대한 크로마 키잉 플래그는 이하의 식을 이용해서 결정될 수 있다.
Figure 112015115457250-pat00003
여기서 out_ chroma _keying_flag(n)는 전경 프레임의 출력의 n번째 샘플링 포인트에 대한 크로마 키잉 플래그의 값이고, in_ chroma _keying_flag(n)은 입력 전경 프레임의 n번째 샘플링 포인트에 대한 크로마 키잉 플래그의 값이며, size_in은 입력 전경 프레임의 사이즈이고, size_out은 출력 전경 프레임의 사이즈이며, floor(x)는 수 x를 0쪽으로 가장 가까운 정수로 반올림하는 함수이다.
전경 프레임이 스케일링되는 경우에 크로마 키잉 플래그의 값을 결정하기 위한 상기의 식은, 업 스케일링의 경우와 다운 스케일링의 경우를 각각 나타내는, 도 14a 및 도 14b에 도시되어 있다. 스케일링된 프레임의 화소의 크로마 키잉 플래그는, 스케일링된 플래그 내의 화소의 위치, 예를 들면 도 13의 화소 131a 및 화소 132a에 대하여 원래의 프레임 내의 가장 가까운 대응하는 위치에 있는 원래의 프레임의 화소의 크로마 키잉 플래그의 값을 취하고, 여기서 스케일링된 프레임과 원래의 프레임 간의 위치 대응은 상기 식의 우변에 의해서 결정된다. 이와 같이, 도 13에 도시한 바와 같이, 원래의 전경 프레임(131)에 대한 크로마 키잉 정보인 크로마 키잉 플래그(133)의 어레이는, 상기 식에 의해서, 스케일링된 전경 프레임(132)에 대한 크로마 키잉 정보인 크로마 키잉 플래그(134)의 어레이로 변형된다.
이 실시예에 있어서, 전경 프레임은 어떤 적절하거나 원하는 스케일링 방법으로 스케일링될 수도 있지만, 크로마 키잉 정보는 사용된 스케일링 방법에 관계 없이 전경 프레임에 적용된 스케일링 비율에 근거해 같은 방식으로 변경될 수도 있다.
전경 프레임의 크로마 키잉 정보를 변경하는 예시적인 방법에 의하면, 크로마 키잉 정보는 전경 프레임이 업스케일링 및/또는 다운스케일링될 때 변경된다. 바람직하게는, 크로마 키잉 정보는 상기 식과 같은 소정의 규칙에 따라 전경 프레임에 적용된 스케일링 비율에 근거해서 변경된다. 이러한 변경은 크로마 키잉 정보와 스케일링된 전경 프레임의 각 화소 간의 대응관계를 유지하는 것이 바람직하다.
여기에서 설명한 실시예들에 의하면, 전경 프레임의 영역에 대하여 그 영역을 처리하기 전에 크로마 키잉 검출을 행하여 그 영역에 대한 크로마 키잉 정보를 취득한다. 이 크로마 키잉 정보는 그 영역이 키잉 컬러 값을 갖는지 여부를 나타내는 것이 바람직하다. 크로마 키잉 정보에 근거해서, 그 영역에 대해서 행해지는 다음의 처리를 변경할 수도 있다.
바람직한 실시예에 있어서, 크로마 키잉 정보가, 그 영역이 키잉 컬러 값을 갖는다는 것을 나타내면, 그 영역에 대해서 행해지는 처리는 생략할 수도 있다. 이 경우에, 데이터 처리 시스템의 전체 전력 소모를 줄일 수 있다. 몇몇 실시예에 있어서는, 그 영역의 처리 결과가 주변(인접) 영역들의 데이터 값들에 의존하는 경우에는, 그 영역에 대해서 행해지는 처리는 주변 영역들의 크로마 키잉 정보에 근거해서 변경될 수 있다. 구현 예에 있어서, 그 영역에 대해서 행해지는 처리가 화상 필터를 그 영역에 적용하는 것인 경우에는, 필터 입력이 화상 필터로 커버되는 주변 영역들과 그 영역의 크로마 키잉 정보에 근거해서 변경될 수도 있다.
크로마 키잉 정보에 근거해서 그 영역에 대해서 행해지는 처리를 변경함으로써, 배경 프레임과 전경 프레임을 합성할 때 왜곡(혹은 가공실제(artefacts))을 발생시키는 가능성을 줄일 수 있다. 이와 같이, 어떤 경우에 있어서는 합성 프레임에 있어서의 왜곡의 검출 및 보정이 회피될 수도 있다.
바람직한 실시예에 있어서는, 전경 프레임의 크로마 키잉 정보는 전경 프레임과 함께 처리를 통해서 전달되므로, 크로마 키잉 정보는, 배경 프레임의 화소들과 교체되는 전경 프레임 내의 키이드 화소들을 식별하기 위한 배경 프레임과 전경 프레임의 합성 중에 그리고 바람직한 다음의 처리에 사용될 수도 있다.
상기로부터 알 수 있는 것처럼, 본 발명의 실시예들은 배경 프레임과 합성되는 전경 프레임에 대해서 행해지는 화상 처리 동작을 변경하는 메커니즘을 제공하여, 예를 들면 그것을 디스플레이를 위해서 제공할 수 있다. 또한, 본 발명의 바람직한 실시예들은 알려진 종래의 처리 기술과 비교해서 전경 프레임을 처리할 때 데이터(화상) 처리 시스템에 필요한 처리량을 줄이는 메커니즘을 제공할 수도 있다. 따라서, 예를 들면, 배경 프레임과 전경 프레임을 합성할 때 왜곡의 양을 줄이고, 예를 들면 전경 프레임의 컨텐트(content)를 처리할 때 전력 소모를 줄이는 것이 가능하다.

Claims (21)

  1. 배경 프레임과 합성될 전경 프레임을 제공하는 방법으로서, 상기 전경 프레임이 복수의 영역들을 구비하고, 상기 방법은, 상기 전경 프레임의 상기 복수의 영역들 각각에 대해서,
    상기 영역이 미리 결정된 컬러값을 갖는지를 판정하는 단계와,
    상기 판정에 근거해서 상기 영역에 대한 크로마 키잉 정보를 생성하여 저장하는 단계를 포함하고,
    상기 방법은,
    상기 전경 프레임에 대하여 필터링 동작을 행하는 단계 - 상기 필터링 동작은 상기 전경 프레임의 영역들에 대하여, 상기 영역에 필터 윈도우를 적용하는 것을 포함하고, 상기 필터 윈도우는 상기 영역과 한 개 이상의 주변 영역들을 포함하는 전경 프레임의 면적을 커버한다 - 와,
    상기 영역에 대해서 상기 저장된 크로마 키잉 정보에 따라 상기 전경 프레임의 영역들에 대하여 행해지는 필터링 동작을 제어하는 단계 - 상기 전경 프레임의 상기 영역에 대하여 행해지는 필터링 동작을 제어하는 단계는 상기 크로마 키잉 정보가 상기 영역이 상기 미리 결정된 컬러값을 유지하도록 상기 영역이 상기 미리 결정된 컬러값을 갖는다는 것을 나타내면, 상기 전경 프레임의 상기 영역에 대해서 어떤 필터링도 행하지 않는 것,
    상기 크로마 키잉 정보가 상기 영역이 상기 미리 결정된 컬러값을 유지하도록 상기 한 개 이상의 주변 영역들의 모두가 상기 미리 결정된 컬러값을 갖는다는 것을 나타내면, 상기 전경 프레임의 상기 영역에 대해서 어떤 필터링도 행하지 않는 것 및
    상기 크로마 키잉 정보가 상기 영역이 상기 미리 결정된 컬러값을 갖지 않고 상기 한 개 이상의 주변 영역들의 모두가 상기 미리 결정된 컬러값을 갖지 않는다는 것을 나타내면, 상기 전경 프레임의 상기 영역에 대한 화소값들을 판정하도록 상기 필터링 동작이 행해지는 것을 포함한다 - 를 더 포함하는 것을 특징으로 하는, 제공방법.
  2. 제 1 항에 있어서,
    상기 크로마 키잉 정보를 저장하는 단계는, 상기 영역이 상기 미리 결정된 컬러값을 갖는지 여부를 나타내는 플래그를 설정하는 것을 포함하는 것을 특징으로 하는, 제공방법.
  3. 삭제
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 영역에 대하여 행해지는 상기 필터링 동작은, 처리된 전경 프레임을 생성하기 위하여 스케일링 비율에 따라 상기 전경 프레임의 해상도(resolution)를 변경하고, 상기 방법은 상기 스케일링 비율에 근거해 상기 크로마 키잉 정보를 변경하는 단계를 더 포함하는 것을 특징으로 하는, 제공방법.
  5. 삭제
  6. 제 1 항 또는 제 2 항에 있어서,
    상기 행해지는 필터링 동작은 상기 영역에 필터 윈도우를 적용해서 필터링하는 것을 포함하고, 상기 필터 윈도우는 상기 영역과 한 개 이상의 주변 영역들을 포함하는 상기 전경 프레임의 면적을 커버하고, 상기 필터링 동작을 제어하는 단계는 상기 영역이 상기 미리 결정된 컬러값을 갖지 않는다는 것을 상기 크로마 키잉 정보가 나타내면 상기 한 개 이상의 주변 영역들의 상기 크로마 키잉 정보에 근거해서 상기 필터 윈도우에 대한 입력들을 변경하는 것을 포함하는 것을 특징으로 하는, 제공방법.
  7. 제 6 항에 있어서,
    상기 필터 윈도우에 대한 입력들을 변경하는 것은, 상기 미리 결정된 컬러값을 갖는 상기 한 개 이상의 주변 영역들 중에서 한 영역의 값을, 상기 영역의 값으로 또는 상기 미리 결정된 컬러값을 갖지 않는 상기 한 개 이상의 주변영역들 중에서 한 영역의 값으로 교체하는 것을 포함하는 것을 특징으로 하는, 제공방법.
  8. 제 1 항 또는 제 2 항에 있어서,
    상기 필터 윈도우는 NP 위상과 NT 탭을 갖는 다상 스케일링 필터이며, 상기 필터 윈도우는 짝수의 영역들을 포함하는 상기 전경 프레임의 면적을 커버하고, 상기 필터 윈도우는, 상기 다상 스케일링 필터의 위상이 (NP/2) 이상일 때는 상기 영역이 (NT/2)th 탭에 위치되고, 상기 다상 스케일링 필터의 위상이 (NP/2)보다 적을 때는 상기 영역이 ((NT/2)+1)th 탭에 위치되도록 적용되는 것을 특징으로 하는, 제공방법.
  9. 제 1 항 또는 제 2 항에 있어서,
    상기 크로마 키잉 정보가 상기 미리 결정된 컬러값을 갖는다는 것을 나타내는 상기 전경 프레임의 한 개 이상의 영역들을, 상기 배경 프레임의 한 개 이상의 영역들로 교체함으로써 상기 배경 프레임과 상기 전경 프레임을 합성하는 단계를 더 포함하는 것을 특징으로 하는, 제공방법.
  10. 제 1 항 또는 제 2 항에 있어서,
    각 프레임 영역은 상기 프레임의 화소인 것을 특징으로 하는, 제공방법.
  11. 배경 프레임과 합성될 전경 프레임을 제공하는 장치로서, 상기 전경 프레임이 상기 전경 프레임을 함께 형성하는 복수의 영역들을 구비하고, 상기 장치는,
    상기 전경 프레임의 상기 복수의 영역들 각각에 대해서,
    상기 전경 프레임의 상기 영역이 미리 결정된 컬러값을 갖는지 여부를 판정하고,
    상기 판정에 근거해서 상기 영역에 대한 크로마 키잉 정보를 생성해서 저장할 수 있고,
    상기 전경 프레임에 대하여 필터링 동작을 행하고 - 상기 필터링 동작은 상기 전경 프레임의 영역들에 대하여, 상기 영역에 필터 윈도우를 적용하는 것을 포함하고, 상기 필터 윈도우는 상기 영역과 한 개 이상의 주변 영역들을 포함하는 전경 프레임의 면적을 커버한다 -,
    상기 영역에 대해서 상기 저장된 크로마 키잉 정보에 따라 상기 전경 프레임의 영역에 대하여 행해지는 필터링 동작을 제어할 수 있는 처리회로 - 상기 전경 프레임의 상기 영역에 대하여 행해지는 필터링 동작을 제어하는 것은 상기 크로마 키잉 정보가 상기 영역이 상기 미리 결정된 컬러값을 유지하도록 상기 영역이 상기 미리 결정된 컬러값을 갖는다는 것을 나타내면, 상기 전경 프레임의 상기 영역에 대해서 어떤 필터링도 행하지 않는 것,
    상기 크로마 키잉 정보가 상기 영역이 상기 미리 결정된 컬러값을 유지하도록 상기 한 개 이상의 주변 영역들의 모두가 상기 미리 결정된 컬러값을 갖는다는 것을 나타내면, 상기 전경 프레임의 상기 영역에 대해서 어떤 필터링도 행하지 않는 것 및
    상기 크로마 키잉 정보가 상기 영역이 상기 미리 결정된 컬러값을 갖지 않고 상기 한 개 이상의 주변 영역들의 모두가 상기 미리 결정된 컬러값을 갖지 않는다는 것을 나타내면, 상기 전경 프레임의 상기 영역에 대한 화소값들을 판정하도록 상기 필터링 동작이 행해지는 것을 포함한다 - 를 구비하는 것을 특징으로 하는, 제공장치.
  12. 제 11 항에 있어서,
    상기 처리회로는 상기 영역이 상기 미리 결정된 컬러값을 갖는지 여부를 나타내는 플래그를 설정함으로써 상기 크로마 키잉 정보를 저장할 수 있는 것을 특징으로 하는, 제공장치.
  13. 삭제
  14. 제 11 항 또는 제 12 항에 있어서,
    상기 영역에 대해서 행해지는 상기 필터링 동작은, 처리된 전경 프레임을 생성하기 위하여 스케일링 비율에 따라 상기 전경 프레임의 해상도를 변경하고, 상기 처리회로는, 상기 스케일링 비율에 근거해서 상기 크로마 키잉 정보를 더 변경할 수 있는 것을 특징으로 하는, 제공장치.
  15. 삭제
  16. 제 11 항 또는 제 12 항에 있어서,
    상기 행해지는 필터링 동작은, 상기 영역에 필터 윈도우를 적용해서 필터링하는 것을 포함하고, 상기 필터 윈도우가 상기 영역과 한 개 이상의 주변영역들을 구비하는 상기 전경 프레임의 면적을 커버하며, 상기 처리회로는, 상기 영역이 상기 미리 결정된 컬러값을 갖지 않는다는 것을 상기 크로마 키잉 정보가 나타내면 상기 한 개 이상의 주변영역들의 상기 크로마 키잉 정보에 근거해서 상기 필터 윈도우에 대한 입력들을 변경해서 필터링 동작을 제어할 수 있는 것을 특징으로 하는, 제공장치.
  17. 제 16 항에 있어서,
    상기 필터 윈도우에 대한 입력들을 변경하는 것은, 상기 미리 결정된 컬러값을 갖는 상기 한 개 이상의 주변영역들 중에서 한 영역의 값을, 상기 영역의 값으로 또는 상기 미리 결정된 컬러값을 갖지 않는 상기 한 개 이상의 주변영역들 중에서 한 영역의 값으로 교체하는 것을 포함하는 것을 특징으로 하는, 제공장치.
  18. 제 11 항 또는 제 12 항에 있어서,
    상기 필터 윈도우는 NP 위상과 NT 탭을 갖는 다상 스케일링 필터이며, 상기 필터 윈도우가 짝수의 영역들을 포함하는 상기 전경 프레임의 면적을 커버하고, 상기 필터 윈도우는, 상기 다상 스케일링 필터의 위상이 (NP/2) 이상일 때는 상기 영역이 (NT/2)th 탭에 위치되고, 상기 다상 스케일링 필터의 위상이 (NP/2)보다 적을 때는 상기 영역이 ((NT/2)+1)th 탭에 위치되도록 적용되는 것을 특징으로 하는, 제공장치.
  19. 제 11 항 또는 제 12 항에 있어서,
    상기 처리회로는 상기 크로마 키잉 정보가 상기 미리 결정된 컬러값을 갖는다는 것을 나타내는 상기 전경 프레임의 한 개 이상의 영역들을, 상기 배경 프레임의 한 개 이상의 영역들로 교체함으로써 상기 배경 프레임과 상기 전경 프레임을 더 합성할 수 있는 것을 특징으로 하는, 제공장치.
  20. 제 11 항 또는 제 12 항에 있어서,
    각 프레임 영역은 상기 프레임의 화소인 것을 특징으로 하는, 제공장치.
  21. 컴퓨터 프로그램이 데이터 처리수단에서 실행될 때 청구항 1 또는 2의 방법을 수행하기 위한 컴퓨터 소프트웨어 코드를 구비하는, 매체에 저장된, 컴퓨터 프로그램.
KR1020150166124A 2014-12-02 2015-11-26 데이터 처리 시스템에서 프레임을 처리하는 방법 및 장치 KR102550927B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1421399.5 2014-12-02
GB1421399.5A GB2532958B (en) 2014-12-02 2014-12-02 Method of and apparatus for processing frames in a data processing system

Publications (2)

Publication Number Publication Date
KR20160066502A KR20160066502A (ko) 2016-06-10
KR102550927B1 true KR102550927B1 (ko) 2023-07-04

Family

ID=52349810

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150166124A KR102550927B1 (ko) 2014-12-02 2015-11-26 데이터 처리 시스템에서 프레임을 처리하는 방법 및 장치

Country Status (4)

Country Link
US (1) US11323678B2 (ko)
KR (1) KR102550927B1 (ko)
CN (1) CN105657295A (ko)
GB (1) GB2532958B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201607999D0 (en) * 2016-05-06 2016-06-22 Supponor Oy Method and apparatus to determine added graphics layers in a video image signal
JP7267429B2 (ja) * 2019-08-01 2023-05-01 株式会社ソニー・インタラクティブエンタテインメント 表示制御装置、表示制御方法及びプログラム
US11496691B2 (en) 2019-12-16 2022-11-08 Disney Enterprises, Inc. Realistic illumination of a character for a scene
CN112235520B (zh) * 2020-12-07 2021-05-04 腾讯科技(深圳)有限公司 一种图像处理方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020051007A1 (en) 2000-10-27 2002-05-02 Daisaku Kitagawa Image object content generation device and padding device
US20120044420A1 (en) * 2010-08-17 2012-02-23 Christopher Payson Method and system for key aware scaling
US20140306995A1 (en) 2013-04-16 2014-10-16 Dumedia, Inc. Virtual chroma keying in real time

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5313275A (en) * 1992-09-30 1994-05-17 Colorgraphics Systems, Inc. Chroma processor including a look-up table or memory
US6084982A (en) 1997-12-17 2000-07-04 Philips Electronics North America Corp. Method of chroma-keying for a digital video compression system
US6266100B1 (en) 1998-09-04 2001-07-24 Sportvision, Inc. System for enhancing a video presentation of a live event
US6714257B2 (en) * 2001-06-29 2004-03-30 Koninklijke Philips Electronics N.V. Color key preservation during sample rate conversion
US20140178029A1 (en) * 2012-12-26 2014-06-26 Ali Fazal Raheman Novel Augmented Reality Kiosks
US9672632B2 (en) * 2015-10-21 2017-06-06 Disney Enterprises, Inc. Device and method for camera driven background subtraction

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020051007A1 (en) 2000-10-27 2002-05-02 Daisaku Kitagawa Image object content generation device and padding device
US20120044420A1 (en) * 2010-08-17 2012-02-23 Christopher Payson Method and system for key aware scaling
US20140306995A1 (en) 2013-04-16 2014-10-16 Dumedia, Inc. Virtual chroma keying in real time

Also Published As

Publication number Publication date
US20160156893A1 (en) 2016-06-02
GB2532958A (en) 2016-06-08
GB2532958B (en) 2021-09-29
US11323678B2 (en) 2022-05-03
GB201421399D0 (en) 2015-01-14
CN105657295A (zh) 2016-06-08
KR20160066502A (ko) 2016-06-10

Similar Documents

Publication Publication Date Title
US8520009B1 (en) Method and apparatus for filtering video data using a programmable graphics processor
KR102550927B1 (ko) 데이터 처리 시스템에서 프레임을 처리하는 방법 및 장치
US11127110B2 (en) Data processing systems
JPH07200799A (ja) 画像ビデオ入力信号処理装置、修正デジタル画像信号アレイ生成装置、および画像処理エフェクトの適用の選択的制御方法
JPH10187966A (ja) 画像フィルタリング方法及びその装置
CN105763768B (zh) 一种图像处理方法、装置和系统
US9462189B2 (en) Piecewise perspective transform engine
CN108885790B (zh) 基于所生成的运动数据处理图像
US6181834B1 (en) Hybrid image reduction method and apparatus with moir{acute over (e)} suppression
US10255659B2 (en) Method of and apparatus for scaling data arrays
JP6866181B2 (ja) 画像処理装置、その制御方法、画像処理装置を備える表示装置、プログラム、および記憶媒体
EP2169616B1 (en) Video scaling techniques
US10592146B2 (en) Data processing systems
US20240112294A1 (en) Multi-pass writeback with single-pass display consumption
JPH0256874B2 (ko)
CN108093192B (zh) 操作数据处理系统的方法、数据处理系统
US20180101928A1 (en) Display controllers
KR100860995B1 (ko) 이미지 해상도 개선 장치 및 그 방법
CN113965790A (zh) 一种图像显示的处理方法、存储介质及终端设备
JP2007512550A (ja) スムースなテレテキストグラフィックをレンダリングするための方法及び装置
WO2015012015A1 (ja) 描画表示装置および描画表示方法
WO2017077533A1 (en) Real-time alpha compositing for high-resolution image stream
JPH11215362A (ja) 画素数変換装置及び画素数変換方法
AU2014277651A1 (en) Generating and rendering an anti-aliased page representation
JPH07143364A (ja) フィルタ制御方法および映像信号処理装置

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant