KR102329862B1 - 영상의 컬러 변환 방법 및 전자 장치 - Google Patents

영상의 컬러 변환 방법 및 전자 장치 Download PDF

Info

Publication number
KR102329862B1
KR102329862B1 KR1020150020521A KR20150020521A KR102329862B1 KR 102329862 B1 KR102329862 B1 KR 102329862B1 KR 1020150020521 A KR1020150020521 A KR 1020150020521A KR 20150020521 A KR20150020521 A KR 20150020521A KR 102329862 B1 KR102329862 B1 KR 102329862B1
Authority
KR
South Korea
Prior art keywords
color
subsequent images
images
electronic device
representative
Prior art date
Application number
KR1020150020521A
Other languages
English (en)
Other versions
KR20160097974A (ko
Inventor
박상욱
김한상
이정원
이정은
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020150020521A priority Critical patent/KR102329862B1/ko
Priority to US15/040,589 priority patent/US10380768B2/en
Publication of KR20160097974A publication Critical patent/KR20160097974A/ko
Priority to US16/397,622 priority patent/US10726585B2/en
Application granted granted Critical
Publication of KR102329862B1 publication Critical patent/KR102329862B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/643Hue control means, e.g. flesh tone control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/641Multi-purpose receivers, e.g. for auxiliary information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/646Circuits for processing colour signals for image enhancement, e.g. vertical detail restoration, cross-colour elimination, contour correction, chrominance trapping filters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/73Colour balance circuits, e.g. white balance circuits or colour temperature control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

다양한 실시 예에 따르면 전자 장치에 있어서, 디스플레이와, 상기 디스플레이에 표시되는 영상의 적어도 일부에 대응하는 정보 및 상기 전자 장치의 지정된 조건 중 적어도 하나를 통해 결정된 컬러 팔레트(color palette)를 이용하여, 상기 영상의 적어도 하나의 대표 컬러를 검출하며, 상기 대표 컬러를 이용하여, 상기 디스플레이에 표시되는 객체의 컬러를 변환하여 상기 디스플레이에 표시하는 프로세서를 포함할 수 있다. 다른 실시 예가 가능하다.

Description

영상의 컬러 변환 방법 및 전자 장치{METHOD AND ELECTRONIC DEVICE FOR CONVERTING COLOR OF IMAGE}
다양한 실시 예는 영상의 컬러 변환 방법 및 전자 장치에 관한 것이다.
스마트폰, 태블릿 PC, 또는 피디에이(PDA; personal digital assistants) 등의 전자 장치에서 사용자 인터페이스(UI; user interface)의 컬러 디자인은 사용자에게 심미성과 사용성을 극대화하는 중요한 부분이다. 또한, 배경 화면 등의 객체(예를 들어, 아이콘, 텍스트 등)의 주변 컬러의 변경이 가능하게 되면서 객체의 컬러는 어떠한 환경에서도 시인성을 확보해야 하는 것이 중요한 요소가 되었다.
멀티미디어 영상 및 동영상의 컬러 분석은 미술, 건축 분야의 색채 빈도 분석 및 강조색 결정 목적 이외에도 디스플레이 장치를 위한 컬러 팔레트(color palette) 결정에 빈번이 사용된다. 이 외에도 영상 처리 분야에서 컨텐츠 매칭, 화질 개선, 물체 검출, 배경 분리, 만화 효과 필터 등 다양한 목적으로 연구되고 있다.
컬러 영상의 대표 컬러 검출은 앞서 언급한 컬러 분석 및 다양한 응용의 기본이 되며, 일반적으로 입력 컬러를 양자화하여 빈도가 높은 값을 기준으로 대표 컬러를 결정한다. 결국 대표 컬러 검출은 양자화 기법 및 각 컬러의 빈도수에 의존적이다. 대표 컬러 검출을 위해서는 균일, 비균일 양자화 및 평균 시프트 알고리즘을 포함한 각종 세그멘테이션 알고리즘 등이 사용될 수 있으며, 각 기법의 성능은 연산 속도, 소모 전류, 목적에 적합한 대표 컬러의 검출 여부 등에 의해 결정된다.
컬러 환경에서 동작하는 기존의 사용자 인터페이스(UI; user interface)는 주변 환경을 고려하지 못한 채 단일 컬러를 갖기 때문에 사용자에게 항상 높은 시인성을 제공하지 못하는 단점을 갖는다. 종래의 2개 이상의 컬러를 이용하여 표시되도록 하는 UI를 디자인하는 경우라도 기본 컬러가 배경화면과 유사한 경우 시인성이 낮아지는 단점은 여전히 존재한다.
도 17은 종래의 전자 장치의 배경 화면 변경에 따른 아이콘 텍스트(1700)의 시인성 변화를 나타낸 예시도이다. 도 17을 참조하면, 아이콘 텍스트(1700)의 컬러가 흰색일 경우, 도 17의 (a)와 같이 배경 화면이 검정색으로 설정된 전자 장치의 화면과 도 17의 (b)와 같이 배경 화면이 흰색으로 설정된 전자 장치의 화면을 비교하면, 배경 화면이 흰색으로 설정된 전자 장치의 화면인 도 17의 (b)에서의 아이콘 텍스트(1600)의 시인성이 극도로 낮아짐을 확인할 수 있다.
한편, 화면에 표시된 객체(예를 들어, 아이콘, 텍스트 등)의 컬러 변경을 위해서는 컬러 변경의 해당 시나리오의 배경 화면 컬러를 고려해야 하므로 대표 컬러 검출 기법이 요구되며, 이를 위해서는 컬러 팔레트(color palette)의 결정이 필요하다. 예를 들어, 입력 영상이 비교적 저화질에 해당하는 RGB565 형식의 컬러 팔레트라 할지라도 약 6만개 이상의 컬러를 가지는데, 이렇게 다수의 후보군을 대상으로 대표 컬러를 결정하는 것은 인지적 측면에서 효율적이지 않다. 또한, 소모 전류 및 연산 속도의 제약이 많은 모바일 단말 등의 전자 장치에서 대표 컬러를 검출하기 위해서는 대표 컬러의 후보군을 최소화하여 연산량을 줄일 필요가 있다. 따라서, 대표 컬러 검출을 위해서는 주어진 색 공간을 양자화함으로써 비교적 적은 수의 컬러 팔레트를 결정해야 한다.
국내 특허 출원 번호 제 10-2011-7000890호는 평균 시프트 알고리즘을 이용하여 국지적 RGB(red green blue) 입력의 대표 컬러를 결정하는데, 이는 반복적 연산 수행 및 다수의 후보군 설정에 의해 수행 속도가 느리며 소모 전류가 증가하는 단점을 갖는다.
국내 특허 출원 번호 제 10-2003-0054731호는 RGB 색 공간을 균일 양자화하여 컬러 팔레트를 결정하므로 인지적인 대표 컬러 후보군 결정을 했다고 보기는 힘들다. 도 18과 같이 RGB 색 공간은 3차원 큐빅 형태로 표현될 수 있는데 각 단면을 보면 컬러의 경계가 모호하다. 도 18의 (a)는 RGB 색 공간을 3차원 좌표로 나타낸 것이고, 도 18의 (b)는 RGB 색 공간을 평면 좌표로 나타낸 것으로, 도 18의 (a) 및 (b)를 참조하면, RGB 색 공간에서는 컬러의 분포가 선형적이지 않음을 알 수 있다. 특히 회색의 경우 불규칙적으로 분포하기 때문에 균일 양자화는 컬러 팔레트 결정에 적합하지 않다.
국내 특허 등록 번호 제 0849847호 및 국내 특허 공개 번호 제1999-0086431호는 RGB 색 공간이 비선형적이라는 단점을 극복하고자 휘도, 색상으로 이루어지는 CIE LCH 색 공간 형태나, 색상(hue), 포화도(saturation), 크기(value)의 HSV 색 공간으로의 변환을 통해 대표 컬러를 분석한다. 즉, 입력 영상의 컬러를 특정 포멧으로 변환한 후 변환된 값에 대해 히스토그램을 작성하여 가장 빈도가 높은 컬러를 주요 컬러(대표 컬러)로 추출한다.
그러나, 국내 특허 등록 번호 제 0849847호 및 국내 특허 공개 번호 제1999-0086431호에서는 대표 컬러 추출을 위하여 입력 영상의 픽셀 값만을 고려하므로 유효한 대표 컬러 검출에 한계가 있다. 또한, 수행 속도, 메모리, 전력 상태 등에 따른 양자화를 고려하지 않았기 때문에 스마트 폰과 같이 하드웨어 제약이 큰 전자 장치에서 CPU 클럭을 높임으로써 소모 전류 이슈를 야기할 수 있다. 또한, UHD(ultra high definition)와 같은 고화질 입력 영상에 대하여 실시간 검출이 요구되는 시나리오에 부합하지 않을 수 있다.
도 19는 그래픽 분야에서 종래의 정의된 다양한 컬러 팔레트들을 나타내며, 도 19의 (a)는 레귤러(regular) RGB 팔레트들을 나타내며, 도 19의 (b)는 논-레귤러(non-regular) RGB 팔레트들을 나타낸다. 도 19의 (a) 및 (b)를 참조하면, 8개 컬러(8-color)(3 bit)를 기초로 16개 컬러(16-color)(4 bit), 64개 컬러(64-color)(6 bit) 등의 컬러 조합을 정의하고 있다. 이와 같은 컬러 팔레트들은 디스플레이 장치의 컬러 표현을 위해 정의된 것이므로 멀티미디어 컨텐츠의 대표 컬러를 검출하기 위한 용도로는 효과적이지 못하다. 예를 들어, 스마트 폰을 이용한 셀피(selfie; 자가 촬영 사진을 나타냄) 영상은 피부색이 높은 빈도로 검출되는데 기존의 컬러 팔레트는 피부색의 하나인 연분홍색을 포함하지 않는다. 따라서 사물의 컬러에 대한 인지적 특성을 고려하지 않은 종래의 정의된 컬러 팔레트는 대표 컬러 검출에 적합하지 않다.
따라서, 다양한 실시 예들은 영상 및 동영상의 대표 컬러 검출 기법을 이용하여 다양한 컬러의 배경에서도 사용자에게 항상 시인성 높은 객체의 색상을 제공함으로써 사용자의 만족도를 높일 수 있는 영상의 컬러 변환 방법 및 전자 장치를 제공할 수 있도록 하는 것이다.
또한, 다양한 실시 예들은 입력 영상의 메타데이터를 이용하여 입력 영상에 적응적인 양자화 컬러 팔레트를 제공하여 대표 컬러 검출의 유효성을 높일 수 있는 영상의 컬러 변환 방법 및 전자 장치를 제공할 수 있도록 하는 것이다.
또한, 다양한 실시 예들에 따른 대표 컬러 검출 기법은 적용하는 전자 장치의 조건에 따라 양자화 컬러 팔레트를 결정하도록 하여 실시간 및 소모 전류 제한 조건 등을 만족시킬 수 있는 영상의 컬러 변환 방법 및 전자 장치를 제공할 수 있다. 예를 들어, 다양한 실시 예들에 따른 대표 컬러 검출 기법은 제한된 하드웨어 환경을 갖는 스마트 폰 등의 전자 장치에서 간단한 연산 동작에 의해 이루어 질 수 있으며, 전자 장치의 소모 전류를 최소화하도록 할 수 있다.
실시 예에 따른 전자 장치에 있어서, 디스플레이와, 상기 디스플레이에 표시되는 영상의 적어도 일부에 대응하는 정보 및 상기 전자 장치의 지정된 조건 중 적어도 하나를 통해 결정된 컬러 팔레트(color palette)를 이용하여, 상기 영상의 적어도 하나의 대표 컬러를 검출하며, 상기 대표 컬러를 이용하여, 상기 디스플레이에 표시되는 객체의 컬러를 변환하여 상기 디스플레이에 표시하는 프로세서를 포함할 수 있다.
실시 예에 따른 영상의 컬러 변환 방법에 있어서, 전자 장치의 화면에 표시되는 영상의 적어도 일부에 대응하는 정보 및 상기 전자 장치의 지정된 조건 중 적어도 하나를 통해 결정된 컬러 팔레트(color palette)를 이용하여, 상기 영상의 적어도 하나의 대표 컬러를 검출하는 동작과, 상기 대표 컬러를 이용하여, 상기 전자 장치의 화면에 표시되는 객체의 컬러를 변환하여 표시하는 동작을 포함할 수 있다.
다양한 실시 예에 따른 영상의 컬러 변환 방법 및 장치는 휴대 단말을 포함한 다양한 전자 장치의 화면에 표시되는 객체(예를 들어, 텍스트, 어플리케이션 실행 단축키인 아이콘 등)의 컬러를 변환함으로써, 어떠한 배경 화면에서도 객체의 시인성을 확보하도록 할 수 있다. 또한, 객체의 컬러 결정을 위해 다양한 디자인적 요소들을 고려하는데 도움을 줄 수 있다. 종래에는 배경 화면의 색상 분석에 대한 API(application programming interface)를 제공하고 있지 않으므로 다양한 실시 예들을 이용하면 다양한 UI/UX 디자인에 도움을 줄 수 있다.
도 1은 다양한 실시 예에 따른 네트워크 환경을 도시한다.
도 2는 다양한 실시 예에 따른 전자 장치의 블록도를 도시한다.
도 3은 다양한 실시 예에 따른 프로그램 모듈의 블록도를 도시한다.
도 4는 다양한 실시 예에 따른 영상의 컬러 변환을 위한 전자 장치의 블록도를 도시한다.
도 5는 다양한 실시 예에 따른 영상의 컬러를 변환 하는 전자 장치의 동작의 흐름도이다.
도 6은 종래의 먼셀의 20 색환 및 다양한 실시 예에 따라 정의된 기본 12 컬러를 도시한다.
도 7은 종래의 HSL 색 공간을 도시한다.
도 8은 다양한 실시 예에 따른 RGB 색 공간을 HSL 색 공간으로 변환하는 전자 장치의 동작의 흐름도이다.
도 9는 다양한 실시 예에 따른 HSL을 양자화하는 전자 장치의 동작의 흐름도이다.
도 10은 다양한 실시 예에 따른 12가지 대표 컬러에 대응하는 지정된 추천 컬러를 도시한다.
도 11은 다양한 실시 예에 따른 영상의 컬러를 변환하는 동작의 흐름도이다.
도 12는 다양한 실시 예에 따른 사용자 조작에 따른 영상의 컬러를 변환하는 동작의 흐름도이다.
도 13 내지 도 16은 다양한 실시 예에 따른 영상의 컬러 변환 동작을 적용한 예들을 도시한다.
도 17은 종래의 전자 장치의 배경 화면 변경에 따른 아이콘 텍스트의 시인성 변화를 도시한다.
도 18은 종래의 RGB 색 공간을 도시한다.
도 19는 종래의 정의된 다양한 컬러 팔레트들을 도시한다.
이하, 본 문서의 다양한 실시예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제 1," "제 2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제 1 사용자 기기와 제 2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제 1 구성요소)가 다른 구성요소(예: 제 2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제 1 구성요소)가 다른 구성요소(예: 제 2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시예들을 배제하도록 해석될 수 없다.
본 문서의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에 따르면, 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다.
어떤 실시예들에서, 전자 장치는 가전 제품(home appliance)일 수 있다. 가전 제품은, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션(navigation) 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시예에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1을 참조하여, 다양한 실시예에서의, 네트워크 환경(100) 내의 전자 장치(101)가 기재된다. 전자 장치(101)는 버스(110), 프로세서(120), 메모리(130), 입출력 인터페이스(150), 디스플레이(160), 및 통신 인터페이스(170)를 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가적으로 구비할 수 있다.
버스(110)는, 예를 들면, 구성요소들(110-170)을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.
프로세서(120)는, 중앙처리장치(central processing unit(CPU)), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서(120)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
메모리(130)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(130)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시예에 따르면, 메모리(130)는 소프트웨어 및/또는 프로그램(140)을 저장할 수 있다. 프로그램(140)은, 예를 들면, 커널(141), 미들웨어(143), 어플리케이션 프로그래밍 인터페이스(application programming interface(API))(145), 및/또는 어플리케이션 프로그램(또는 "어플리케이션")(147) 등을 포함할 수 있다. 커널(141), 미들웨어(143), 또는 API(145)의 적어도 일부는, 운영 시스템(operating system(OS))으로 지칭될 수 있다.
커널(141)은, 예를 들면, 다른 프로그램들(예: 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147))에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)을 제어 또는 관리할 수 있다. 또한, 커널(141)은 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147)에서 전자 장치(101)의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
미들웨어(143)는, 예를 들면, API(145) 또는 어플리케이션 프로그램(147)이 커널(141)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다.
또한, 미들웨어(143)는 어플리케이션 프로그램(147)으로부터 수신된 하나 이상의 작업 요청들을 우선 순위에 따라 처리할 수 있다. 예를 들면, 미들웨어(143)는 어플리케이션 프로그램(147) 중 적어도 하나에 전자 장치(101)의 시스템 리소스(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)를 사용할 수 있는 우선 순위를 부여할 수 있다. 예컨대, 미들웨어(143)는 상기 적어도 하나에 부여된 우선 순위에 따라 상기 하나 이상의 작업 요청들을 처리함으로써, 상기 하나 이상의 작업 요청들에 대한 스케쥴링 또는 로드 밸런싱 등을 수행할 수 있다.
API(145)는, 예를 들면, 어플리케이션(147)이 커널(141) 또는 미들웨어(143)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
입출력 인터페이스(150)는, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치(101)의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 입출력 인터페이스(150)는 전자 장치(101)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
디스플레이(160)는, 예를 들면, 액정 디스플레이(liquid crystal display(LCD)), 발광 다이오드(light-emitting diode(LED)) 디스플레이, 유기 발광 다이오드(organic light-emitting diode(OLED)) 디스플레이, 또는 마이크로 전자기계 시스템(microelectromechanical systems(MEMS)) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이(160)는, 예를 들면, 사용자에게 각종 콘텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 디스플레이(160)는, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다.
통신 인터페이스(170)는, 예를 들면, 전자 장치(101)와 외부 장치(예: 제 1 외부 전자 장치(102), 제 2 외부 전자 장치(104), 또는 서버(106)) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스(170)는 무선 통신 또는 유선 통신을 통해서 네트워크(162)에 연결되어 외부 장치(예: 제 2 외부 전자 장치(104) 또는 서버(106))와 통신할 수 있다.
무선 통신은, 예를 들면, 셀룰러 통신 프로토콜로서, 예를 들면, LTE(long-term evolution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용할 수 있다. 또한, 무선 통신은, 예를 들면, 근거리 통신(164)을 포함할 수 있다. 근거리 통신(164)은, 예를 들면, WiFi(wireless fidelity), 블루투스(Bluetooth), NFC(near field communication), 또는 GNSS(global navigation satellite system) 등 중 적어도 하나를 포함할 수 있다. GNSS는 사용 지역 또는 대역폭 등에 따라, 예를 들면, GPS(Global Positioning System), Glonass(Global Navigation Satellite System), Beidou Navigation Satellite System(이하 "Beidou") 또는 Galileo, the European global satellite-based navigation system 중 적어도 하나를 포함할 수 있다. 이하, 본 문서에서는, "GPS"는 "GNSS"와 혼용되어 사용(interchangeably used)될 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크(162)는 통신 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다.
제 1 및 제 2 외부 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 한 실시예에 따르면, 서버(106)는 하나 또는 그 이상의 서버들의 그룹을 포함할 수 있다. 다양한 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치(102,104), 또는 서버(106)에서 실행될 수 있다. 한 실시예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치(102, 104), 또는 서버(106))에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치(102, 104), 또는 서버(106))는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 다양한 실시예에 따른 전자 장치(201)의 블록도이다. 전자 장치(201)는, 예를 들면, 도 1에 도시된 전자 장치(101)의 전체 또는 일부를 포함할 수 있다. 전자 장치(201)는 하나 이상의 프로세서(예: AP(application processor))(210), 통신 모듈(220), (가입자 식별 모듈(224), 메모리(230), 센서 모듈(240), 입력 장치(250), 디스플레이(260), 인터페이스(270), 오디오 모듈(280), 카메라 모듈(291), 전력 관리 모듈(295), 배터리(296), 인디케이터(297), 및 모터(298) 를 포함할 수 있다.
프로세서(210)는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 프로세서(210)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(210)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 프로세서(210)는 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서(image signal processor)를 더 포함할 수 있다. 프로세서(210)는 도 2에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈(221))를 포함할 수도 있다. 프로세서(210) 는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
통신 모듈(220)은, 도 1의 통신 인터페이스(170)와 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈(220)은, 예를 들면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227)(예: GPS 모듈, Glonass 모듈, Beidou 모듈, 또는 Galileo 모듈), NFC 모듈(228) 및 RF(radio frequency) 모듈(229)를 포함할 수 있다.
셀룰러 모듈(221)은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 가입자 식별 모듈(예: SIM 카드)(224)을 이용하여 통신 네트워크 내에서 전자 장치(201)의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 프로세서(210)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다.
WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 어떤 실시예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다.
RF 모듈(229)은, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈(229)은, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter), LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다.
가입자 식별 모듈(224)은, 예를 들면, 가입자 식별 모듈을 포함하는 카드 및/또는 내장 SIM(embedded SIM)을 포함할 수 있으며, 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
메모리(230)(예: 메모리(130))는, 예를 들면, 내장 메모리(232) 또는 외장 메모리(234)를 포함할 수 있다. 내장 메모리(232)는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나를 포함할 수 있다.
외장 메모리(234)는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱(memory stick) 등을 더 포함할 수 있다. 외장 메모리(234)는 다양한 인터페이스를 통하여 전자 장치(201)와 기능적으로 및/또는 물리적으로 연결될 수 있다.
센서 모듈(240)은, 예를 들면, 물리량을 계측하거나 전자 장치(201)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서 모듈(240)은, 예를 들면, 제스처 센서(240A), 자이로 센서(240B), 기압 센서(240C), 마그네틱 센서(240D), 가속도 센서(240E), 그립 센서(240F), 근접 센서(240G), 컬러(color) 센서(240H)(예: RGB(red, green, blue) 센서), 생체 센서(240I), 온/습도 센서(240J), 조도 센서(240K), 또는 UV(ultra violet) 센서(240M) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로(additionally or alternatively), 센서 모듈(240)은, 예를 들면, 후각 센서(E-nose sensor), EMG 센서(electromyography sensor), EEG 센서(electroencephalogram sensor), ECG 센서(electrocardiogram sensor), IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 센서 모듈(240)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시예에서는, 전자 장치(201)는 프로세서(210)의 일부로서 또는 별도로, 센서 모듈(240)을 제어하도록 구성된 프로세서를 더 포함하여, 프로세서(210)가 슬립(sleep) 상태에 있는 동안, 센서 모듈(240)을 제어할 수 있다.
입력 장치(250)는, 예를 들면, 터치 패널(touch panel)(252),(디지털) 펜 센서(pen sensor)(254), 키(key)(256), 또는 초음파(ultrasonic) 입력 장치(258)를 포함할 수 있다. 터치 패널(252)은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널(252)은 제어 회로를 더 포함할 수도 있다. 터치 패널(252)은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다.
(디지털) 펜 센서(254)는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트(sheet)를 포함할 수 있다. 키(256)는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 초음파 입력 장치(258)는 마이크(예: 마이크(288))를 통해, 입력 도구에서 발생된 초음파를 감지하여, 상기 감지된 초음파에 대응하는 데이터를 확인할 수 있다.
디스플레이(260)(예: 디스플레이(160))는 패널(262), 홀로그램 장치(264), 또는 프로젝터(266)를 포함할 수 있다. 패널(262)은, 도 1의 디스플레이(160)와 동일 또는 유사한 구성을 포함할 수 있다. 패널(262)은, 예를 들면, 유연하게(flexible), 투명하게(transparent), 또는 착용할 수 있게(wearable) 구현될 수 있다. 패널(262)은 터치 패널(252)과 하나의 모듈로 구성될 수도 있다. 홀로그램 장치(264)는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터(266)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 전자 장치(201)의 내부 또는 외부에 위치할 수 있다. 한 실시예에 따르면, 디스플레이(260)는 패널(262), 홀로그램 장치(264), 또는 프로젝터(266)를 제어하기 위한 제어 회로를 더 포함할 수 있다.
인터페이스(270)는, 예를 들면, HDMI(high-definition multimedia interface)(272), USB(universal serial bus)(274), 광 인터페이스(optical interface)(276), 또는 D-sub(D-subminiature)(278)를 포함할 수 있다. 인터페이스(270)는, 예를 들면, 도 1에 도시된 통신 인터페이스(170)에 포함될 수 있다. 추가적으로 또는 대체적으로(additionally and alternatively), 인터페이스(270)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD(secure digital) 카드/MMC(multi-media card) 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
오디오 모듈(280)은, 예를 들면, 소리(sound)와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈(280)의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스(145)에 포함될 수 있다. 오디오 모듈(280)은, 예를 들면, 스피커(282), 리시버(284), 이어폰(286), 또는 마이크(288) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
카메라 모듈(291)은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, ISP(image signal processor), 또는 플래시(flash)(예: LED 또는 xenon lamp 등)를 포함할 수 있다.
전력 관리 모듈(295)은, 예를 들면, 전자 장치(201)의 전력을 관리할 수 있다. 한 실시예에 따르면, 전력 관리 모듈(295)은 PMIC(power management integrated circuit), 충전 IC(charger integrated circuit), 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리(296)의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리(296)는, 예를 들면, 충전식 전지(rechargeable battery) 및/또는 태양 전지(solar battery)를 포함할 수 있다.
인디케이터(297)는 전자 장치(201) 또는 그 일부(예: 프로세서(210))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터(298)는 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동(vibration), 또는 햅틱(haptic) 효과 등을 발생시킬 수 있다. 도시되지는 않았으나, 전자 장치(201)는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 모바일 TV 지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어플로(mediaFloTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시예에서, 전자 장치는 본 문서에서 기술된 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시예에 따른 전자 장치의 구성요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.
도 3은 다양한 실시예에 따른 프로그램 모듈의 블록도이다. 한 실시예에 따르면, 프로그램 모듈(310)(예: 프로그램(140))은 전자 장치(예: 전자 장치(101))에 관련된 자원을 제어하는 운영 체제(operating system(OS)) 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램(147))을 포함할 수 있다. 운영 체제는, 예를 들면, 안드로이드(android), iOS, 윈도우즈(windows), 심비안(symbian), 타이젠(tizen), 또는 바다(bada) 등이 될 수 있다.
프로그램 모듈(310)은 커널(320), 미들웨어(330), 어플리케이션 프로그래밍 인터페이스(application programming interface (API))(360), 및/또는 어플리케이션(370)을 포함할 수 있다. 프로그램 모듈(310)의 적어도 일부는 전자 장치 상에 프리로드(preload) 되거나, 외부 전자 장치(예: 전자 장치(102, 104), 서버(106) 등)로부터 다운로드(download) 가능하다.
커널(320)(예: 커널(141))은, 예를 들면, 시스템 리소스 매니저(321) 및/또는 디바이스 드라이버(323)를 포함할 수 있다. 시스템 리소스 매니저(321)는 시스템 리소스의 제어, 할당, 또는 회수 등을 수행할 수 있다. 한 실시예에 따르면, 시스템 리소스 매니저(321)는 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부 등을 포함할 수 있다. 디바이스 드라이버(323)는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다.
미들웨어(330)는, 예를 들면, 어플리케이션(370)이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션(370)이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 API(360)를 통해 다양한 기능들을 어플리케이션(370)으로 제공할 수 있다. 한 실시예에 따르면, 미들웨어(330)(예: 미들웨어(143))는 런타임 라이브러리(335), 어플리케이션 매니저(application manager)(341), 윈도우 매니저(window manager)(342), 멀티미디어 매니저(multimedia manager)(343), 리소스 매니저(resource manager)(344), 파워 매니저(power manager)(345), 데이터베이스 매니저(database manager)(346), 패키지 매니저(package manager)(347), 연결 매니저(connectivity manager)(348), 통지 매니저(notification manager)(349), 위치 매니저(location manager)(350), 그래픽 매니저(graphic manager)(351), 또는 보안 매니저(security manager)(352) 중 적어도 하나를 포함할 수 있다.
런타임 라이브러리(335)는, 예를 들면, 어플리케이션(370)이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리(335)는 입출력 관리, 메모리 관리, 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
어플리케이션 매니저(341)는, 예를 들면, 어플리케이션(370) 중 적어도 하나의 어플리케이션의 생명 주기(life cycle)를 관리할 수 있다. 윈도우 매니저(342)는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저(343)는 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱(codec)을 이용하여 미디어 파일의 인코딩(encoding) 또는 디코딩(decoding)을 수행할 수 있다. 리소스 매니저(344)는 어플리케이션(370) 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
파워 매니저(345)는, 예를 들면, 바이오스(BIOS: basic input/output system) 등과 함께 동작하여 배터리(battery) 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보 등을 제공할 수 있다. 데이터베이스 매니저(346)는 어플리케이션(370) 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(347)는 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
연결 매니저(348)는, 예를 들면, WiFi 또는 블루투스 등의 무선 연결을 관리할 수 있다. 통지 매니저(349)는 도착 메시지, 약속, 근접성 알림 등의 사건(event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 위치 매니저(350)는 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저(351)는 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저(352)는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 한 실시예에 따르면, 전자 장치(예: 전자 장치(101))가 전화 기능을 포함한 경우, 미들웨어(330)는 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(telephony manager)를 더 포함할 수 있다.
미들웨어(330)는 전술한 구성요소들의 다양한 기능의 조합을 형성하는 미들웨어 모듈을 포함할 수 있다. 미들웨어(330)는 차별화된 기능을 제공하기 위해 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 또한, 미들웨어(330)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다.
API(360)(예: API(145))는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠(tizen)의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
어플리케이션(370)(예: 어플리케이션 프로그램(147))은, 예를 들면, 홈(371), 다이얼러(372), SMS/MMS(373), IM(instant message)(374), 브라우저(375), 카메라(376), 알람(377), 컨택트(378), 음성 다이얼(379), 이메일(380), 달력(381), 미디어 플레이어(382), 앨범(383), 또는 시계(384), 건강 관리(health care)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보 제공(예: 기압, 습도, 또는 온도 정보 등을 제공) 등의 기능을 수행할 수 있는 하나 이상의 어플리케이션을 포함할 수 있다.
한 실시예에 따르면, 어플리케이션(370)은 전자 장치(예: 전자 장치(101))와 외부 전자 장치(예: 전자 장치(102, 104)) 사이의 정보 교환을 지원하는 어플리케이션(이하, 설명의 편의 상, "정보 교환 어플리케이션")을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다.
예를 들면, 알림 전달 어플리케이션은 전자 장치의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션, 또는 환경 정보 어플리케이션 등)에서 발생된 알림 정보를 외부 전자 장치(예: 전자 장치(102, 104))로 전달하는 기능을 포함할 수 있다. 또한, 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다.
장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 전자 장치(예: 전자 장치(102, 104))의 적어도 하나의 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는, 해상도) 조절), 외부 전자 장치에서 동작하는 어플리케이션 또는 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스 등)를 관리(예: 설치, 삭제, 또는 업데이트)할 수 있다.
한 실시예에 따르면, 어플리케이션(370)은 외부 전자 장치(예: 전자 장치(102, 104))의 속성(에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션 등)을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션(370)은 외부 전자 장치(예: 서버(106) 또는 전자 장치(102, 104))로부터 수신된 어플리케이션을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션(370)은 프리로드 어플리케이션(preloaded application) 또는 서버로부터 다운로드 가능한 제3자 어플리케이션(third party application)을 포함할 수 있다. 도시된 실시예에 따른 프로그램 모듈(310)의 구성요소들의 명칭은 운영 체제의 종류에 따라서 달라질 수 있다.
다양한 실시예에 따르면, 프로그램 모듈(310)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 프로그램 모듈(310)의 적어도 일부는, 예를 들면, 프로세서(예: 프로세서(210))에 의해 구현(implement)(예: 실행)될 수 있다. 프로그램 모듈(310)의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트(sets of instructions) 또는 프로세스 등을 포함할 수 있다.
도 4는 다양한 실시 예에 따른 영상의 컬러 변환을 위한 전자 장치(401)의 블록도(400)를 도시한다. 상기 전자 장치(401)는, 예를 들면, 도 1에 도시된 전자 장치(101)일 수 있다. 도 4를 참조하면, 전자 장치(401)는 프로세서(410), 디스플레이(430), 및 메모리(450)를 포함할 수 있다.
다양한 실시 예에 따르면, 프로세서(410)는 도 1에 도시된 프로세서(120)일 수 있다. 프로세서(410)는 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함할 수 있다.
실시 예에 따르면, 프로세서(410)는 디스플레이(430)에 표시되는 영상의 적어도 일부에 대응하는 정보 및 전자 장치(401)의 지정된 조건 중 적어도 하나를 통해 결정된 컬러 팔레트(color palette)를 이용하여, 상기 영상의 적어도 하나의 대표 컬러를 검출하며, 상기 대표 컬러를 이용하여, 디스플레이(430)에 표시되는 객체의 컬러를 변환하여 디스플레이(430)에 표시할 수 있다.
실시 예에 따르면, 상기 객체는 사진, 동영상에 포함되는 하나의 장면, 배경 화면, 텍스트, 또는 어플리케이션 실행 단축 키인 아이콘을 포함할 수 있다.
실시 예에 따르면, 상기 영상은 사진, 동영상에 포함되는 하나의 장면, 배경 화면, 텍스트, 또는 아이콘 중 적어도 하나를 포함할 수 있다. 예를 들어, 상기 영상은 디스플레이(430)에 표시되는 객체들(배경 화면, 텍스트, 및 어플리케이션 실행 단축 키인 아이콘 등)을 모두 포함하는 전체 화면의 영상일 수 있으며, 또는 예를 들어, 상기 영상은 디스플레이(430)에 표시되는 배경 화면일 수 있다. 실시 예에 따르면, 상기 영상에 대응하는 정보는 상기 영상의 메타 데이터 및 상기 영상의 태그 중 적어도 하나를 포함할 수 있다.
실시 예에 따르면, 상기 전자 장치(401)의 지정된 조건은 메모리(450) 정보, 전자 장치(401)의 CPU 클럭 정보, 및 전자 장치(401)의 전력 상태 정보 중 적어도 하나를 포함할 수 있다.
실시 예에 따르면, 프로세서(410)는 상기 영상을 적어도 두 개의 영역들로 분할하며, 상기 분할된 영역들 별로 상기 적어도 하나의 대표 컬러를 검출할 수 있다.
실시 예에 따르면, 프로세서(410)는 상기 영상의 깊이(depth) 값, 상기 영상의 복잡도, 또는 지정된 개수에 따라, 상기 영상을 적어도 두 개의 영역들로 분할할 수 있다.
실시 예에 따르면, 프로세서(410)는 컬러 팔레트 결정부(411), 대표 컬러 결정부(413), 및 객체 컬러 결정부(415)를 포함할 수 있다.
실시 예에 따르면, 대표 컬러 결정부(413)에서 디스플레이(430)에 표시된 전체 또는 일부 영상의 대표 컬러를 효과적으로 검출하기 위해서는, 대표 컬러의 후보군으로 구성된 컬러 팔레트(color palette)가 먼저 결정되어야 한다. 컬러 팔레트 결정부(411)에서 컬러 팔레트를 결정할 때, 다음의 세 가지 조건을 고려할 수 있다. 제1 조건은 대표 컬러 후보 간의 컬러 구분이 시각적으로 뚜렷해야 한다는 것이다. 또한, 제2 조건은 디지털 환경에서 사용자의 UI(user interface)가 동작한다는 점을 고려할 때, 멀티미디어 컨텐츠에서 사용 빈도가 높은 컬러를 후보군으로 고려해야 한다는 것이다. 또한, 제3 조건은 휴대 단말과 같이 제한된 하드웨어 환경이 적용되는 전자 장치에서 대표 컬러를 검출하기 위해 후보군의 개수를 최소화하여 연산량을 줄여야 한다는 것이다.
상술한 조건을 고려하기 위하여, 컬러 팔레트 결정부(411)는 컬러 팔레트(color palette; 양자화 컬러 팔레트라고도 함)를 결정할 수 있으며, 보다 상세한 설명은 후술한다.
대표 컬러 결정부(413)는 컬러 팔레트 결정부(411)에서 결정된 컬러 팔레트를 이용하여 상기 영상의 적어도 하나의 대표 컬러를 검출할 수 있다.
실시 예에 따르면, 대표 컬러 결정부(413)는 상기 영상을 지정된 비율로 축소하며, 상기 컬러 팔레트 결정부(411)에서 결정된 컬러 팔레트를 이용하여, 상기 축소된 영상의 컬러를 양자화할 수 있다. 또한, 상기 양자화된 컬러의 히스토그램을 계산하며, 상기 히스토그램에서 상기 영상의 적어도 하나의 대표 대표 컬러를 결정할 수 있다.
실시 예에 따르면, 대표 컬러 결정부(413)는 상기 축소된 영상의 컬러를 상기 컬러 팔레트 결정부(411)에서 결정된 컬러 팔레트의 컬러로 양자화할 수 있다.
대표 컬러 결정부(413)의 보다 상세한 설명은 후술한다.
객체 컬러 결정부(415)는 대표 컬러 결정부(413)에서 결정된 대표 컬러를 이용하여 디스플레이(430)에 표시된 적어도 하나의 객체의 컬러 변경 여부를 결정하고 상기 객체의 컬러를 변경할 수 있다. 상기 객체는 예를 들어, 사진, 동영상에 포함되는 하나의 장면, 배경 화면, 텍스트, 또는 아이콘 등 일 수 있다.
실시 예에 따르면, 객체 컬러 결정부(415)는 상기 대표 컬러와 상기 객체의 기본 컬러의 유사도에 따라 메모리(450)에 저장된 상기 대표 컬러에 대응하는 지정된 추천 컬러로 상기 객체의 컬러를 변환할 수 있다.
실시 예에 따르면, 객체 컬러 결정부(415)는 하기 수학식 1에 의해 계산된 컬러 거리 값이 문턱 값 이하일 경우, 상기 대표 컬러와 상기 객체의 기본 컬러의 유사도가 높은 것으로 결정하여 상기 대표 컬러에 대응하는 지정된 추천 컬러로 상기 객체의 컬러를 변환할 수 있다.
[수학식 1]
Figure 112015014251317-pat00001
(상기 수학식 1에서, D1은 상기 대표 컬러와 상기 기본 컬러의 상기 컬러 거리 값이며, r0, g0, b0는 각각 상기 기본 컬러의 R, G, B 값이며, r1, g1, b1은 각각 상기 대표 컬러의 R, G, B 값을 나타냄.)
실시 예에 따르면, 객체 컬러 결정부(415)는 대표 컬러가 복수의 대표 컬러들을 포함할 경우, 상기 영상에서의 상기 대표 컬러들 각각의 컬러 비율에 따른 가중치를 적용하여 상기 대표 컬러와 상기 객체의 기본 컬러의 유사도를 결정할 수 있다.
실시 예에 따르면, 객체 컬러 결정부(415)는 하기 수학식 2에 의해 계산된 컬러 거리 값이 문턱 값 이하일 경우, 상기 대표 컬러와 상기 객체의 기본 컬러의 유사도가 높은 것으로 결정하여 상기 대표 컬러에 대응하는 지정된 추천 컬러로 상기 객체의 컬러를 변환할 수 있다.
[수학식 2]
Figure 112015014251317-pat00002
(상기 수학식 2에서, D는 상기 대표 컬러와 상기 기본 컬러의 컬러 거리 값이며, k는 상기 대표 컬러들 각각을 나타내며, 상기 n은 상기 대표 컬러들의 총 개수이며, 상기 Wk는 k번째 대표 컬러의 컬러 비율이며, Dk는 상기 기본 컬러 및 k번째 대표 컬러의 컬러 거리 값(Dk={(r0-rk)2+(g0-gk)2+(b0-bk)2}1/2)을 나타냄. 상기 r0, g0, b0는 각각 상기 기본 컬러의 R, G, B 값이며, rk, gk, bk은 각각 상기 k번째 대표 컬러의 R, G, B 값을 나타냄.)
객체 컬러 결정부(415)의 보다 상세한 설명은 후술한다.
도 5는 다양한 실시 예에 따른 영상의 컬러를 변환 하는 전자 장치의 동작의 흐름도이다.
도 5를 참조하면, 컬러 팔레트 결정부(510; 예: 컬러 팔레트 결정부(411))는 511 동작에서 디스플레이(예: 디스플레이(430))에 표시된 영상(51)의 적어도 하나의 메타 데이터 및 상기 영상(51)의 태그(53) 중 적어도 하나, 및/또는 전자 장치(예: 전자 장치(401))의 메모리(450) 정보, CPU 클럭 정보, 및 전력 상태 정보(소비 전력 정보)(52) 중 적어도 하나를 통해 컬러 팔레트(54)를 결정할 수 있다.
예를 들어, 상기 영상(51)의 메타 데이터 및 상기 영상(51)의 태그(53) 중 적어도 하나에 포함된 사람의 얼굴 검출 여부에 대한 정보를 이용하여, 인물 영상과 인물 영상이 아닌 것으로 구분할 수 있다. 인물 영상인 것과 인물 영상이 아닌 것으로의 구분에 따라, 메모리(예: 메모리(450))에 저장된 지정된 기본 컬러 팔레트에서 살구 색에 대한 양자화 레벨을 조절하여 상기 기본 컬러 팔레트의 컬러 값을 변경하여 컬러 팔레트(54)를 결정할 수 있다. 이에 따라, 대표 컬러의 유효성을 높일 수 있다. 또한 예를 들어, 상기 영상(51)의 메타 데이터 및 상기 영상(51)의 태그(53) 중 적어도 하나에 포함된 사람의 얼굴 검출 여부에 대한 정보를 이용하여, 사람의 얼굴을 포함하는 영상이라는 것을 확인한 경우, 지정된 기본 컬러 팔레트들 중에서 인물 영상에 대응하는 기본 컬러 팔레트를 컬러 팔레트(54)로 결정할 수 있다. 또한, 예를 들어, 상기 영상(51)의 메타 데이터 및 상기 영상(51)의 태그(53) 중 적어도 하나에 포함된 GPS를 이용한 촬영 위치, 촬영 시간, 상기 영상 촬영 시의 카메라 노출 값, 상기 영상의 배포자 등의 정보를 이용하여, 상기 영상(51)의 배경, 계절, 밤/낮 등을 전자 장치(401)가 휴리스틱하게 판단하여 지정된 조건을 적용하여 컬러 팔레트(54)를 결정할 수 있다.
한편, 컬러 팔레트(54)의 컬러 개수와 대표 컬러의 유효성은 반비례 특성을 가지므로 적절한 선택이 필요하다.
도 6은 디자인 계통에서 색채의 기본으로 많이 사용되는 종래의 먼셀(munsel)의 20 색환과 다양한 실시 예에 따라 정의된 기본 12 컬러를 도시한다. 디지털 컨텐츠에 비중이 높은 컬러를 결정하면서도 그 개수를 최소화하기 위해서, 실시 예에 따르면, 컬러 팔레트(54)는 먼셀의 20 컬러를 간소화한 빨강색, 노랑색, 연두색, 하늘색, 파란색, 보라색, 핑크색, 연분홍색, 갈색의 9가지 컬러에 검정색, 흰색, 회색의 3가지 무채색을 추가한 기본 12 컬러를 포함하는 양자화 컬러 팔레트로 정의할 수 있다. 상기 양자화 컬러 팔레트에서 연분홍색은 셀피 영상을 많이 사용하는 휴대 단말과 같은 전자 장치의 특성을 고려한 것으로 대표 컬러 검출 성능 향상에 큰 역할을 할 수 있다. 한편, 상술한 9가지 색상의 경우, 대표 컬러 검출의 사용 환경에 따라 먼셀의 20가지 컬러를 활용하여 컬러 팔레트(54)를 확장할 수도 있다. 예를 들어, 4 bit 효율화가 필요한 경우, 주황색, 녹색, 청록색, 남색의 4가지 컬러를 추가하여 16 컬러를 포함하는 컬러 팔레트를 정의할 수 있다. 또한, 상술한 바와 같이 영상의 메타데이터나 태그의 분석에 따라, 컬러 팔레트(54)의 특정 컬러 영역을 확장할 수 있으며, 전자 장치(401)의 특정 동작에 따른 연산 제약이나, 소모 전력 등의 조건을 만족시키기 위해 컬러 팔레트(54)의 컬러 개수를 최소화할 수 있다.
대표 컬러 결정부(530; 예: 대표 컬러 결정부(413))는 531 동작에서 영상(51)을 다운 스케일링할 수 있다. 예를 들어, 영상(51)을 지정된 비율로 축소할 수 있으며, 이때, 종횡비(aspect ratio)는 변하지 않으며 연산적 부담이 적은 최근린내삽법(nearest neighbor) 또는 바이리니어(bilinear) 기법을 이용할 수 있다. 예를 들어, 2560 * 1440 픽셀 크기의 영상은 3,686,400개의 픽셀 값을 고려해야하지만, 이를 640 * 360 픽셀 크기로 축소하면 1/16인 230,400개의 픽셀 값만을 고려하면 되므로 연산 이득이 큰 장점이 있다. 또한, 영상의 관심 영역(region of interest)의 픽셀 값에 가중치를 높이는 방법으로 지정된 비율로 축소한 영상의 상, 하, 좌, 우의 10%를 제외하면 대표 컬러 검출에 더 도움이 될 수도 있다.
대표 컬러 결정부(530)는 533 동작에서 지정된 비율로 축소된 영상(51)을 컬러 팔레트(54)의 컬러로 양자화하기 위하여, RGB(red green blue) 색 공간을 HSL(hue saturation lightness) 색 공간으로 변환할 수 있다. HSL 색 공간은 컴퓨터 그래픽스에서 많이 이용되는 색 공간으로 RGB 색 공간을 간단하게 선형 변환하여 획득할 수 있으며, HSL 색 공간의 직교 좌표 축은 사람의 색 지각 특성에 근접한 특성을 가진다. 도 7의 (a)는 HSL 색 공간을 3차원 좌표로 나타낸 것이고, 도 7의 (b)는 HSL 색 공간을 평면 좌표로 나타낸 것으로, 도 7을 참조하면, HSL 색 공간은 원통형의 공간으로 이루어져 있으며, 색상은 각도로, 명도는 높이로, 채도는 반지름으로 정의된다. 이에 따라, 색상의 경계가 비선형적인 RGB 색 공간과는 달리 HSL 색 공간은 컬러 분할에 최적화된 구조를 갖는다.
도 8은 다양한 실시 예에 따른 RGB 색 공간을 HSL 색 공간으로 변환하는 전자 장치의 동작의 흐름도이다. 도 8을 참조하면, 색 공간 변환의 연산 속도 개선을 위해, 정수 연산을 늘이도록 설계할 수 있다.
811 동작에서 대표 컬러 결정부(530)는 영상으로부터 R, G, B 값을 입력 받을 수 있다.
813 동작에서 대표 컬러 결정부(530)는 상기 R, G, B 값을 이용하여, 파라미터 값(Max, Min, Delta, Sum, L)을 획득할 수 있다. 상기 Max 값은 R, G, B 값 3개 중에서 가장 큰 값, 상기 Min은 R, G, B 값 3개 중에서 가장 작은 값을 나타낸다. 상기 Delta, Sum, L 값은 하기 수학식 3에 의해 계산된다.
[수학식 3]
Delta = Max - Min,
Sum = Max + Min,
L = Sum / 21
815 동작에서 대표 컬러 결정부(530)는 Delta 값이 0인지를 판단한다. Delta 값이 0이면 H 및 S 값을 0으로 결정(81)하여, 831 동작에서 H, S, L 값을 출력한다. Delta값이 0이 아니면 817 동작을 실행한다.
817 동작에서 대표 컬러 결정부(530)는 L 값이 128보다 작은 값인지를 판단한다. L 값이 128보다 작은 값이면, 819 동작을 실행하고, L 값이 128보다 큰 값이면 825 동작을 실행한다.
819 동작에서 대표 컬러 결정부(530)는 R 값과 Max 값이 동일한 값인지를 판단한다. R 값과 Max 값이 동일한 값이면 821 동작을 실행하고, R 값과 Max 값이 동일한 값이 아니면 823 동작을 실행한다.
821 동작에서 대표 컬러 결정부(530)는 G 값이 B 값보다 크거나 같은지를 판단한다. G 값이 B 값보다 크거나 같으면 S 및 H 값을 하기 수학식 4를 이용하여 산출(82)하여, 831 동작에서 H, S, L 값을 출력한다.
[수학식 4]
S = 255 * Delta / Sum
H = 60 * (G-B) / Delta
G 값이 B 값보다 작으면 S 및 H 값을 하기 수학식 5를 이용하여 산출(83)하고, 831 동작에서 H, S, L 값을 출력한다.
[수학식 5]
S = 255 * Delta / Sum
H = 60 * (G-B) / Delta + 360
823 동작에서 대표 컬러 결정부(530)는 G 값과 Max 값이 동일한지를 판단한다. G 값과 Max 값이 동일하면 S 및 H 값을 하기 수학식 6을 이용하여 산출(84)하고, 831 동작에서 H, S, L 값을 출력한다.
[수학식 6]
S = 255 * Delta / Sum
H = 60 * (B-R) / Delta + 120
한편, G 값과 Max 값이 동일하지 않으면 S 및 H 값을 하기 수학식 7을 이용하여 산출(85)하고, 831 동작에서 H, S, L 값을 출력한다.
[수학식 7]
S = 255 * Delta / Sum
H = 60 * (R-G) / Delta + 240
한편, 825 동작에서 대표 컬러 결정부(530)는 R 값이 Max 값과 동일한지를 판단한다. R 값과 Max 값이 동일하면 827 동작을 실행하고, R 값과 Max 값이 동일하지 않으면 829 동작을 실행한다.
827 동작에서 대표 컬러 결정부(530)는 G 값이 B 값보다 크거나 같은지를 판단한다. G 값이 B 값보다 크거나 같으면 S 및 H 값을 하기 수학식 8을 이용하여 산출(86)하고, 831 동작에서 H, S, L 값을 출력한다.
[수학식 8]
S = 255 * Delta / (510 - Sum)
H = 60 * (G-B) / Delta
G 값이 B 값보다 작으면 S 및 H 값을 하기 수학식 9를 이용하여 산출(87)하고, 831 동작에서 H, S, L 값을 출력한다.
[수학식 9]
S = 255 * Delta / (510 - Sum)
H = 60 * (G-B) / Delta + 360
829 동작에서 대표 컬러 결정부(530)는 G 값과 Max 값이 동일한지를 판단한다. G 값과 Max 값이 동일하면 S 및 H 값을 하기 수학식 10을 이용하여 산출(88)하고, 831 동작에서 H, S, L 값을 출력한다.
[수학식 10]
S = 255 * Delta / (510 - Sum)
H = 60 * (B-R) / Delta + 120
G 값과 Max 값이 동일하지 않으면 S 및 H 값을 하기 수학식 11을 이용하여 산출(89)하고, 831 동작에서 H, S, L 값을 출력한다.
[수학식 11]
S = 255 * Delta / (510 - Sum)
H = 60 * (R-G) / Delta + 240
대표 컬러 결정부(530)는 535 동작에서 상술한 도 8의 동작에 따라 출력되는 H, S, L 값을 컬러 팔레트(54)의 컬러 값으로 양자화하여, 히스토그램을 계산할 수 있다. 예를 들어, 531 동작에 따라 지정된 비율로 축소된 영상(51)의 모든 픽셀 값들에 대하여 하기 도 9와 같은 양자화를 수행할 수 있으며, 동시에 양자화 수행 결과를 빈도 값 계산을 위한 히스토그램 버퍼에 반영할 수 있다.
도 9는 다양한 실시 예에 따른 HSL을 양자화하는 전자 장치의 동작의 흐름도이다. 도 9를 참조하면, 컬러 팔레트가 빨강색, 노랑색, 연두색, 하늘색, 파란색, 보라색, 핑크색, 연분홍색, 갈색의 9가지 컬러에 검정색, 흰색, 회색의 3가지 무채색을 추가한 기본 12 컬러를 포함하는 양자화 컬러 팔레트일 때를 예로 들어 설명한다. 무채색 구분을 위한 문턱 값 TL1, TL2, TS에 의해 흰색, 검은색, 회색이 결정될 수 있으며, 컬러 문턱 값 TH1, TH2, TH3, TH4, TH5, TH6, TH7, TH8 및 연분홍색 문턱 값 TL3에 의해 기본 색상 9가지가 결정될 수 있다. 양자화 레벨, 문턱 값들 및 컬러 문턱 값들은 컬러 팔레트(54)를 어떻게 정의하는가에 따라 결정될 수 있다.
911 동작에서 대표 컬러 결정부(530)는 상술한 도 8의 동작에 따라 출력되는 H, S, L 값을 확인할 수 있다.
913 동작에서 대표 컬러 결정부(530)는 L 값이 TL1 값보다 크거나 같은지를 판단할 수 있다. L 값이 TL1 값보다 크거나 같으면 지정된 비율로 축소된 영상(51)의 픽셀 값을 인덱스 0(흰색)으로 결정하여 941 동작에서 결정된 인덱스 값을 출력할 수 있다. 또한 히스토그램 버퍼의 인덱스 0의 빈도 값을 1 높일 수 있다. L 값이 TL1 값보다 작으면 915 동작을 실행할 수 있다.
915 동작에서 대표 컬러 결정부(530)는 L 값이 TL2 값보다 작거나 같은지를 판단할 수 있다. L 값이 TL2 값보다 작거나 같으면 지정된 비율로 축소된 영상(51)의 픽셀 값을 인덱스 1(검정색)로 결정하여 941 동작에서 결정된 인덱스 값을 출력할 수 있다. 또한 히스토그램 버퍼의 인덱스 1의 빈도 값을 1 높일 수 있다. L 값이 TL2 값보다 크면 917 동작을 실행할 수 있다.
917 동작에서 대표 컬러 결정부(530)는 S 값이 TS 값보다 작거나 같은지를 판단할 수 있다. S 값이 TS 값보다 작거나 같으면 지정된 비율로 축소된 영상(51)의 픽셀 값을 인덱스 10(회색)으로 결정하여 941 동작에서 결정된 인덱스 값을 출력할 수 있다. 또한 히스토그램 버퍼의 인덱스 10의 빈도 값을 1 높일 수 있다. S 값이 TS 값보다 크면 919 동작을 실행할 수 있다.
919 동작에서 대표 컬러 결정부(530)는 H 값이 TH1 값보다 크거나 같고 H 값이 TH2 값보다 작은지를 판단할 수 있다. H 값이 TH1 값보다 크거나 같고 H 값이 TH2 값보다 작으면 921 동작을 실행할 수 있고, 919 동작의 H 값의 조건(H 값이 TH1 값보다 크거나 같고 H 값이 TH2 값보다 작은 조건)을 만족하지 못하면 923 동작을 실행할 수 있다.
921 동작에서 대표 컬러 결정부(530)는 L 값이 TL3 값보다 크거나 같은지를 판단할 수 있다. L 값이 TL3 값보다 크거나 같으면 지정된 비율로 축소된 영상(51)의 픽셀 값을 인덱스 9(연분홍색)로 결정하여 941 동작에서 결정된 인덱스 값을 출력할 수 있다. 또한 히스토그램 버퍼의 인덱스 9의 빈도 값을 1 높일 수 있다. L 값이 TL3 값보다 작으면 지정된 비율로 축소된 영상(51)의 픽셀 값을 인덱스 8(동색(copper))로 결정하여 941 동작에서 결정된 인덱스 값을 출력할 수 있다. 또한 히스토그램 버퍼의 인덱스 8의 빈도 값을 1 높일 수 있다.
923 동작에서 대표 컬러 결정부(530)는 H 값이 TH2 값보다 크거나 같고 H 값이 TH3 값보다 작은지를 판단할 수 있다. H 값이 TH2 값보다 크거나 같고 H 값이 TH3 값보다 작으면 지정된 비율로 축소된 영상(51)의 픽셀 값을 인덱스 3(노랑색)으로 결정하여 941 동작에서 결정된 인덱스 값을 출력할 수 있다. 또한 히스토그램 버퍼의 인덱스 3의 빈도 값을 1 높일 수 있다. 923 동작의 H 값의 조건(H 값이 TH2 값보다 크거나 같고 H 값이 TH3 값보다 작은 조건)을 만족하지 못하면 925 동작을 실행할 수 있다.
925 동작에서 대표 컬러 결정부(530)는 H 값이 TH3 값보다 크거나 같고 H 값이 TH4 값보다 작은지를 판단할 수 있다. H 값이 TH3 값보다 크거나 같고 H 값이 TH4 값보다 작으면 지정된 비율로 축소된 영상(51)의 픽셀 값을 인덱스 4(녹색)로 결정하여 941 동작에서 결정된 인덱스 값을 출력할 수 있다. 또한 히스토그램 버퍼의 인덱스 4의 빈도 값을 1 높일 수 있다. 925 동작의 조건(H 값이 TH3 값보다 크거나 같고 H 값이 TH4 값보다 작은 조건)을 만족하지 못하면 927 동작을 실행할 수 있다.
927 동작에서 대표 컬러 결정부(530)는 H 값이 TH4 값보다 크거나 같고 H 값이 TH5 값 보다 작은지를 판단할 수 있다. H 값이 TH4 값보다 크거나 같고 H 값이 TH5 값 보다 작으면 지정된 비율로 축소된 영상(51)의 픽셀 값을 인덱스 5(하늘색)로 결정하여 941 동작에서 결정된 인덱스 값을 출력할 수 있다. 또한 히스토그램 버퍼의 인덱스 5의 빈도 값을 1 높일 수 있다. 927 동작의 H 값의 조건(H 값이 TH4 값보다 크거나 같고 H 값이 TH5 값 보다 작은 조건)을 만족하지 못하면 929 동작을 실행할 수 있다.
929 동작에서 대표 컬러 결정부(530)는 H 값이 TH5 값보다 크거나 같고 H 값이 TH6 값 보다 작은지를 판단할 수 있다. H 값이 TH5 값보다 크거나 같고 H 값이 TH6 값 보다 작으면 지정된 비율로 축소된 영상(51)의 픽셀 값을 인덱스 값을 6(파랑색)으로 결정하여 941 동작에서 결정된 인덱스 값을 출력할 수 있다. 또한 히스토그램 버퍼의 파랑색의 빈도 값을 1 높일 수 있다. 929 동작의 H 값의 조건(H 값이 TH5 값보다 크거나 같고 H 값이 TH6 값 보다 작은 조건)을 만족하지 못하면 931 동작을 실행할 수 있다.
931 동작에서 대표 컬러 결정부(530)는 H 값이 TH6 값보다 크거나 같고 H 값이 TH7 값 보다 작은지를 판단할 수 있다. TH6 값보다 크거나 같고 H 값이 TH7 값 보다 작으면 지정된 비율로 축소된 영상(51)의 픽셀 값을 인덱스 7(보라색)으로 결정할 수 있다. 또한 히스토그램 버퍼의 인덱스 7의 빈도 값을 1 높일 수 있다.
대표 컬러 결정부(530)는 537 동작에서는 상술한 동작들에 의해 지정된 비율로 축소된 영상(51)의 양자화된 컬러 값들(인덱스 값들)을 분류하여 적어도 하나의 대표 컬러(55)를 결정 할 수 있다. 예를 들어, 지정된 비율로 축소된 영상(51)의 양자화된 컬러 값들이 저장된 히스토그램 버퍼에서 양자화된 컬러 값들을 빈도수가 많은 순서로 정렬하여 최빈도 값을 갖는 하나의 컬러를 대표 컬러(55)로 결정할 수 있다. 또한, 예를 들어, 배경 화면이 불균일한 컬러를 가지는 경우, 즉, 최빈도 값을 갖는 하나의 컬러와, 상기 최빈도 값을 갖는 하나의 컬러와의 빈도 값의 차이가 지정된 문턱 값 이하인 컬러들이 있을 경우, 상기 최빈도 값을 갖는 하나의 컬러와 상기 빈도 값의 차이가 지정된 문턱 값 이하인 컬러들을 복수의 대표 컬러들(55)로 결정할 수 있다. 또한, 대표 컬러 결정부(530)에서는 퀵소트를 포함한 다양한 정렬 기법이 적용될 수 있으며, 또한 컬러 변환을 효과적으로 적용하기 위해, 유의미한 상위 n개의 빈도 값을 갖는 컬러를 찾도록 하여 연산 속도를 향상시킬 수 있다.
객체 컬러 결정부(550; 예: 객체 컬러 결정부(415)는 551 동작에서 객체의 컬러 변환 여부를 결정할 수 있다. 상기 객체의 컬러 변환 여부는 상술한 대표 컬러 결정부(530)의 동작에 따라 결정된 대표 컬러(55)와 객체의 기본 컬러의 유사도를 확인하여 결정할 수 있다. 예를 들어, 대표 컬러(55)와 기본 컬러의 유사도가 높으면 객체의 컬러를 변환하는 것으로 결정할 수 있으며, 대표 컬러(55)와 기본 컬러의 유사도가 낮으면 객체의 컬러를 변환하지 않는 것으로 결정할 수 있다.
다양한 실시 예에 따르면, 객체의 컬러 변환 여부의 결정은 상술한 대표 컬러 결정부(530)의 동작에 따라 결정된 대표 컬러(55)의 개수에 따라 다르게 실행될 수 있다.
예를 들어, 상술한 대표 컬러 결정부(530)의 동작에 따라 결정된 대표 컬러(55)가 하나일 경우, 객체의 컬러 변환 여부의 결정은 하기 수학식 12를 이용할 수 있다.
[수학식 12]
Figure 112015014251317-pat00003
(상기 수학식 12에서, D1은 상기 대표 컬러와 상기 기본 컬러의 컬러 거리 값이며, r0, g0, b0는 각각 상기 기본 컬러의 R, G, B 값이며, r1, g1, b1은 각각 상기 대표 컬러의 R, G, B 값을 나타냄.)
상술한 수학식 12에 따르면, 지정된 비율로 축소된 영상(51)의 하나의 대표 컬러와 객체의 기본 컬러 간의 색상 거리 값을 계산할 수 있으며, 계산된 색상 거리 값에 따라 시인성 확보 여부를 판단할 수 있다. 예를 들어, 계산된 색상 거리 값이 지정된 문턱 값 이하일 경우, 상기 대표 컬러와 상기 기본 컬러의 유사도가 높은 것으로 결정할 수 있다. 또한, 예를 들어, 계산된 색상 거리 값이 지정된 문턱 값보다 큰 경우, 상기 대표 컬러와 상기 기본 컬러의 유사도가 낮은 것으로 결정할 수 있다.
예를 들어, 상술한 대표 컬러 결정부(530)의 동작에 따라 결정된 대표 컬러(55)가 복수 개일 경우, 객체의 컬러 변환 여부의 결정은 하기 수학식 13을 이용할 수 있다.
[수학식 13]
Figure 112015014251317-pat00004
(상기 수학식 13에서, D는 상기 대표 컬러와 상기 기본 컬러의 컬러 거리 값이며, k는 상기 대표 컬러들 각각을 나타내며, 상기 n은 상기 대표 컬러들의 총 개수이며, 상기 Wk는 k번째 대표 컬러의 컬러 비율이며, Dk는 상기 기본 컬러 및 k번째 대표 컬러의 컬러 거리 값(Dk={(r0-rk)2+(g0-gk)2+(b0-bk)2}1/2)을 나타냄. 상기 r0, g0, b0는 각각 상기 기본 컬러의 R, G, B 값이며, rk, gk, bk은 각각 상기 k번째 대표 컬러의 R, G, B 값을 나타냄.)
상술한 수학식 13에 따르면, 지정된 비율로 축소된 영상(51)의 전체 픽셀에서 각각의 대표 컬러가 차지하는 비율을 고려하여, 복수의 대표 컬러들과 기본 컬러간의 색상 거리 값을 하나의 색상 거리 값으로 계산할 수 있다. 즉, 상기 기본 컬러에 대한 복수의 대표 컬러들 각각의 거리 값에 복수의 대표 컬러들 각각의 컬러 비율에 따른 가중치를 적용하여, 상기 가중치를 적용한 상기 기본 컬러에 대한 복수의 대표 컬러들 각각의 거리 값을 합산함으로써, 최종적으로 지정된 비율로 축소된 영상(51)의 대표 컬러와 객체의 기본 컬러 간의 색상 거리 값을 계산할 수 있다.
또한, 상술한 수학식 13에 따르면, 지정된 비율로 축소된 영상(51)의 대표 컬러와 객체의 기본 컬러 간의 색상 거리 값을 계산할 수 있으며, 계산된 색상 거리 값에 따라 시인성 확보 여부를 판단할 수 있다. 예를 들어, 계산된 색상 거리 값이 지정된 문턱 값 이하일 경우, 상기 대표 컬러와 상기 기본 컬러의 유사도가 높은 것으로 결정할 수 있다. 또한, 예를 들어, 계산된 색상 거리 값이 지정된 문턱 값보다 큰 경우, 상기 대표 컬러와 상기 기본 컬러의 유사도가 낮은 것으로 결정할 수 있다.
객체 컬러 결정부(550)는 상술한 551 동작에 따라 객체의 컬러를 변환하는 것이 결정되면, 553 동작에서 객체의 컬러 변환을 위한 추천 컬러를 결정할 수 있다. 객체의 컬러 변환을 위한 추천 컬러의 결정은 지정된 추천 컬러들을 이용할 수 있다. 예를 들어, 객체 컬러 결정부(550)는 대표 컬러 결정부(530)의 동작에 따라 결정된 대표 컬러(55)에 대응하는 지정된 추천 컬러로 객체의 컬러를 변환할 수 있다.
한편, 상기 지정된 추천 컬러들은 메모리(450)에 저장되어 있을 수 있으며, 도 10에 도시된 컬러들일 수 있다.
도 10은 다양한 실시 예에 따른 12가지 대표 컬러에 대응하는 지정된 추천 컬러를 도시한다. 도 10을 참조하면, 상술한 양자화 컬러 팔레트의 기본 12 컬러와 기본 12 컬러 각각에 대한 명시성이 높은 컬러를 도시한 것으로, 대표 컬러가 갈색, 빨강색, 핑크색, 연두색, 하늘색, 파란색, 보라색일 때는 추천 컬러를 흰색으로 지정하였으며, 대표 컬러가 연분홍색, 노랑색일 때는 추천 컬러를 검정색으로 지정하였으며, 대표 컬러가 검정색, 회색일 때는 추천 컬러를 노랑색으로 지정하였으며, 대표 컬러가 흰색일 때는 추천 컬러를 파란색으로 지정하였다. 대표 컬러에 대응하는 추천 컬러는 제조 시, 사용자 조작 등에 의해 변경될 수 있다. 또한, 컬러 팔레트의 컬러들에 따라 대표 컬러들 및 대표 컬러에 대응하는 지정된 추천 컬러는 변경될 수 있다. 또한, 실시 예에 따르면, 상기 지정된 추천 컬러는 별도의 컬러 팔레트의 컬러일 수 있다. 예를 들어, 상술한 도 10의 추천 컬러들인 흰색, 검정색, 노랑색, 파란색은 별도의 컬러 팔레트의 컬러들일 수 있다.도 11은 다양한 실시 예에 따른 영상의 컬러를 변환하는 동작의 흐름도이다.
도 11을 참조하면, 1110 동작에서 전자 장치(예: 전자 장치(401))는 영상의 적어도 일부에 대응하는 정보 및 전자 장치의 지정된 조건 중 적어도 하나를 통해 컬러 팔레트를 결정할 수 있다. 예를 들어, 영상의 적어도 일부에 대응하는 정보를 통해, 사람의 얼굴을 포함하는 영상이라는 것을 확인한 경우, 지정된 컬러 팔레트들 중에서 인물 영상에 대응하는 컬러 팔레트를 결정할 수 있다.
1130 동작에서 전자 장치는 상기 컬러 팔레트를 이용하여 상기 영상의 적어도 하나의 대표 컬러를 검출할 수 있다.
1150 동작에서 전자 장치는 상기 대표 컬러를 이용하여 객체의 컬러 변환을 할 수 있다.
다양한 실시 예에 따르면, 상기 영상에 대응하는 정보는 상기 영상의 메타 데이터 및 상기 영상의 태그 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 전자 장치의 지정된 조건은 상기 전자 장치의 메모리 정보, 상기 전자 장치의 CPU 클럭 정보, 및 상기 전자 장치의 전력 상태 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 영상의 적어도 하나의 대표 컬러를 검출하는 동작은, 상기 영상을 지정된 비율로 축소하는 동작과, 상기 컬러 팔레트를 이용하여, 상기 축소된 영상의 컬러를 양자화하는 동작과, 상기 양자화된 컬러의 히스토그램을 계산하는 동작과, 상기 히스토그램에서 상기 대표 컬러를 결정하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 축소된 영상의 컬러를 양자화하는 동작은, 상기 축소된 영상의 컬러를 상기 컬러 팔레트의 컬러로 양자화하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 전자 장치의 화면에 표시되는 객체의 컬러를 변환하여 표시하는 동작은, 상기 대표 컬러와 상기 객체의 기본 컬러의 유사도에 따라, 상기 대표 컬러에 대응하는 지정된 추천 컬러로 상기 객체의 컬러를 변환하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 전자 장치의 화면에 표시되는 객체의 컬러를 변환하여 표시하는 동작은, 상기 대표 컬러와 상기 객체의 기본 컬러의 유사도에 따라, 상기 대표 컬러에 대응하는 지정된 추천 컬러로 상기 객체의 컬러를 변환하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 전자 장치의 화면에 표시되는 객체의 컬러를 변환하여 표시하는 동작은, 상술한 수학식 1에 의해 계산된 컬러 거리 값이 문턱 값 이하일 경우, 상기 대표 컬러와 상기 객체의 기본 컬러의 유사도가 높은 것으로 결정하여 상기 대표 컬러에 대응하는 지정된 추천 컬러로 상기 객체의 컬러를 변환하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 전자 장치의 화면에 표시되는 객체의 컬러를 변환하여 표시하는 동작은, 상기 대표 컬러가 복수의 대표 컬러들을 포함할 경우, 상기 영상에서의 상기 대표 컬러들 각각의 컬러 비율에 따른 가중치를 적용하여 상기 대표 컬러와 상기 객체의 기본 컬러의 유사도를 결정하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 전자 장치의 화면에 표시되는 객체의 컬러를 변환하여 표시하는 동작은, 상술한 수학식 2에 의해 계산된 컬러 거리 값이 문턱 값 이하일 경우, 상기 대표 컬러와 상기 객체의 기본 컬러의 유사도가 높은 것으로 결정하여 상기 대표 컬러에 대응하는 지정된 추천 컬러로 상기 객체의 컬러를 변환하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 영상은 사진, 동영상에 포함되는 하나의 장면, 배경 화면, 텍스트, 또는 아이콘을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 영상을 적어도 두 개의 영역으로 분할하는 동작을 더 포함할 수 있으며, 상기 영상의 적어도 하나의 대표 컬러를 검출하는 동작은 상기 분할된 영역 별로 상기 적어도 하나의 대표 컬러를 검출하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 영상을 적어도 두 개의 영역으로 분할하는 동작은, 상기 영상의 깊이 값, 상기 영상의 복잡도, 또는 지정된 개수를 이용하여 이루어질 수 있다.
도 12는 다양한 실시 예에 따른 사용자 조작에 따른 영상의 컬러를 변환하는 동작의 흐름도이다.
1210 동작에서 전자 장치(예: 전자 장치(401))는 디스플레이(예: 디스플레이(430))에 복수의 객체들을 포함하는 영상을 표시할 수 있다.
1230 동작에서 전자 장치는 디스플레이의 화면 표시 설정의 변경을 위한 사용자 조작이 입력되었는지를 판단할 수 있다. 전자 장치의 화면 표시 설정의 변경을 위한 사용자 조작이 입력되면 1250 동작을 실행하고, 전자 장치의 화면 표시 설정의 변경을 위한 사용자 조작이 입력되지 않으면 동작을 종료할 수 있다.
상기 화면 표시 설정의 변경은 예를 들어, 디스플레이에 표시되는 객체들 중 적어도 하나의 색상이 변경될 수 있다. 또한, 상기 화면 표시 설정의 변경은 예를 들어, 배경화면의 영상 변경, 어플리케이션 실행 단축키인 아이콘 영상 변경 등일 수 있다,
1250 동작에서 전자 장치는 영상의 적어도 일부에 대응하는 정보 및 전자 장치의 지정된 조건 중 적어도 하나를 통해 결정된 컬러 팔레트를 이용하여 영상의 대표 컬러를 검출할 수 있다. 대표 컬러를 검출하는 동작은 앞서 언급하였으므로 구체적인 설명은 생략한다.
1270 동작에서 전자 장치는 상기 결정된 대표 컬러에 기초하여, 상기 복수의 객체들 중 적어도 하나의 객체의 컬러를 변경하여 표시할 수 있다. 객체의 컬러를 변경하여 표시하는 동작은 앞서 언급하였으므로 구체적인 설명은 생략한다.
도 13 내지 도 16은 다양한 실시 예에 따른 영상의 컬러 변환 동작을 적용한 예들을 도시한다.
도 13을 참조하면, 도 13의 (a)는 3차원 가상 현실 장치인 기어 VR(virtual reality)을 착용한 사용자의 모습이며, 도 13의 (b)는 3차원 메뉴 화면 및 파락색 포인터(1311)를 보여 준다. 종래에는 가상 공간에서의 메뉴 및 기타 설정을 위한 포인터 객체는 고정된 컬러를 가지므로 배경 화면의 컬러와 유사한 컬러인 경우 시인성이 매우 낮은 단점이 있었다. 따라서, 상술한 실시 예들에 따른 영상의 컬러 변환 동작을 적용하면 도 13의 (c)와 같이 가상 공간에 표시된 영상의 적어도 일부 컬러를 분석하여 포인터 객체(1313)를 흰색으로 설정할 수 있다. 이에 따라, 종래의 시인성이 낮은 단점을 극복할 수 있다. 한편, 3차원 가상 공간은 사용자에게 보다 다양한 경험을 제공하기 위해 보다 복잡한 영상을 갖는 배경 화면에서 다양한 제어를 위한 객체들을 제공할 수 있다. 상술한 실시 예들에 따른 영상의 컬러 변환 동작 기술을 적용하면, 언제나 제어를 위한 객체가 선명하게 표현됨으로서 사용자의 만족도를 향상시킬 수 있다.
도 14를 참조하면, 도 14는 스마트 폰 배경 화면에서 손의 움직임이 불편한 장애인을 위해 동작하는 객체(1411, 1413; 스캐닝 바(scanning bar)라고도 함)의 실시 예를 나타낸다. 해당 객체(1411, 1413)는 x, y 축에 대하여 천천히 이동하며, 화면의 어딘가에 터치 정보가 입력되면 동작을 멈춘다. 예를 들어, 사용자는 x, y 축 바가 교차하는 지점을 선택하여 사용자가 원하는 아이콘을 실행할 수 있다. 스마트 폰에서 해당 객체(1411)의 컬러가 흰색으로 기본적으로 설정되어 있다고 가정할 때, 도 14의 (a)와 같이 시인성이 충분히 확보되는 경우에, 스마트 폰은 해당 객체(1411)의 컬러 변경을 실행하지 않는다. 그러나, 도 14의 (b)와 같이 배경 화면을 변경할 경우에는 다양한 실시 예에 따른 영상의 컬러 변환 동작에 따라, 스마트 폰은 도 14의 (b)와 같이 해당 객체(1413)의 컬러를 파란색로 변경하여 표시할 수 있으며, 이에 따라, 사용자가 시인성을 확보할 수 있다.
도 15를 참조하면, 도 15는 갤러리와 같은 썸네일 이미지 표시 어플리케이션을 나타내며, 전자 장치의 화면에 썸네일 이미지가 표시된 상태에서, 사용자 조작의 입력에 따라, 전자 장치가 스크롤 동작을 실행하면, 전자 장치는 전자 장치의 CPU 특성에 따라 연속적으로 썸네일 이미지를 화면에 표시하지 못하는 경우가 있다. 이와 같은 경우, 종래에는 도 15의 (a)와 같이 기존의 화면에 표시되고 있는 썸네일 이미지들에 연속적으로 지정된 특정 컬러(1511)의 이미지를 표시하고, 이후 도 15의 (c)와 같이 다음에 표시될 썸네일 이미지를 화면에 표시해왔다. 그러나, 다양한 실시 예에 따른 영상의 대표 컬러 검출 동작을 적용하면, 도 15의 (b)와 같이 기존의 화면에 표시되고 있는 썸네일 이미지들에 연속적으로 다음에 표시될 썸네일 이미지들의 대표 컬러들을 표시하고, 이후 도 15의 (c)와 같이 다음에 표시될 썸네일 이미지를 화면에 표시할 수 있다. 이에 따라, 전자 장치가 스크롤 동작을 실행할 경우, 다양한 실시 예에 따른 대표 컬러 검출 동작을 적용하여, 전자 장치는 사용자에게 보다 더 자연스러운 스크롤 화면의 표시를 보여줄 수 있다.
도 16을 참조하면, 도 16의 (a)와 같이 이미지가 전자 장치의 전체 화면에 표시된 상태에서 사용자 조작에 따라 전자 장치가 스크롤 동작을 실행하면, 전자 장치의 CPU 특성에 따라 종래에는 지정된 특정 컬러의 이미지를 표시하고, 이후 도 16의 (d)와 같이 다음에 표시될 이미지를 표시하는 경우가 있었다. 그러나, 다양한 실시 예에 따른 영상의 대표 컬러 검출 동작을 적용하면, 스크롤 동작을 위한 사용자 조작 입력의 인식 시, 도 16의 (a)의 기존에 표시된 화면 이후에 표시될 도 16의 (d)의 이미지에서 대표 컬러를 검출할 수 있다. 이와 같이 검출된 대표 컬러를 이용하여, 도 16의 (a)와 같은 이미지 표시 이후 연속적으로 도 16의 (b), 도 16의 (c), 및 도 16의 (d) 순서로 이미지들을 표시할 수 있다. 상기 도 16의 (b)는 화면의 일부에는 스크롤 동작에 대응되는 기존에 표시된 화면의 절반을 표시한 것이고 화면의 나머지 일부에는 대표 컬러를 표시한 것이며, 도 16의 (d)는 다음에 표시될 이미지 위해 지정된 비율로 적용된 투명도를 갖는 대표 컬러를 표시한 것이다. 이에 따라, 전자 장치가 스크롤 동작을 실행할 경우, 다양한 실시 예에 따른 대표 컬러 검출 동작을 적용하여 전자 장치는 사용자에게 더 자연스러운 화면 전환을 보여줄 수 있다.
한편, 다양한 실시 예에 따르면, 대표 컬러 검출 동작은 영상의 분할된 영역에 적용함으로써, 영역화(segmentation) 기법으로 사용될 수 있다. 이는 영상 내부의 객체 검출 및 분리, 영상 매칭 등에 응용될 수도 있다.
본 문서에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면,"모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리(130)가 될 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM(compact disc read only memory), DVD(digital versatile disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM(read only memory), RAM(random access memory), 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다. 그리고 본 문서에 개시된 실시예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 문서에서 기재된 기술의 범위를 한정하는 것은 아니다. 따라서, 본 문서의 범위는, 본 문서의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시예를 포함하는 것으로 해석되어야 한다.

Claims (30)

  1. 전자 장치에 있어서,
    디스플레이, 및
    프로세서를 포함하고, 상기 프로세서는,
    요청된 정보와 연관된 하나 이상의 썸네일 이미지들을 상기 디스플레이 상에 디스플레이 하고,
    상기 하나 이상의 썸네일 이미지들을 스크롤하여 디스플레이 될 후속하는 이미지들을 로딩하기 위한 사용자 입력에 대응하는 스크롤 동작을 식별하고,
    상기 스크롤 동작에 기반하여, 상기 후속하는 이미지들의 부분이 디스플레이 되기 전에 상기 후속하는 이미지들의 각각의 부분 대신에 객체들을 디스플레이 하고, 각각의 상기 객체들은 상기 후속하는 이미지들의 부분의 하나의 대표 색상에 대응하는 솔리드 색상(solid-color) 객체로서 디스플레이 되고,
    상기 솔리드 색상 객체를 상기 후속하는 이미지들의 부분으로 교체하고, 상기 하나 이상의 썸네일 이미지들 중 상기 스크롤 동작에 따라 상기 디스플레이에 표시되는 일부의 이미지들 및 상기 교체에 따라 새롭게 상기 디스플레이에 표시되는 상기 교체된 이미지들을 함께 디스플레이 하도록 설정된 것을 특징으로 하는, 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는, 상기 스크롤 동작에 기반하여, 상기 후속하는 이미지들의 부분의 각각의 적어도 일부에 대응하는 정보를 사용하여 상기 후속하는 이미지들의 부분의 각각의 상기 대표 색상을 획득하도록 더 설정된 것을 특징으로 하는, 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는, 상기 스크롤 동작에 기반하여, 상기 후속하는 이미지들의 부분의 각각의 적어도 일부에 대응하는 정보를 통하여 결정된 색상 팔레트를 사용하여 상기 후속하는 이미지들의 부분의 각각의 상기 대표 색상을 획득하도록 더 설정된 것을 특징으로 하는, 전자 장치.
  4. 제2항에 있어서,
    상기 프로세서는, 상기 스크롤 동작에 기반하여, 상기 전자 장치의 적어도 하나의 지정된 조건을 통하여 결정된 색상 팔레트를 사용하여 상기 후속하는 이미지들의 부분의 각각의 상기 대표 색상을 획득하도록 더 설정된 것을 특징으로 하는, 전자 장치.
  5. 제2항에 있어서,
    상기 후속하는 이미지들의 부분의 각각의 적어도 일부에 대응하는 정보는, 상기 후속하는 이미지들의 부분의 각각의 메타 데이터 또는 상기 후속하는 이미지들의 부분의 각각의 태그 중 적어도 하나를 포함하는 것을 특징으로 하는, 전자 장치.
  6. 제4항에 있어서,
    상기 지정된 조건은, 상기 전자 장치의 메모리 정보, 상기 전자 장치의 CPU 클럭 정보 또는 상기 전자 장치의 전력 상태(power status) 정보 중 적어도 하나를 포함하는 것을 특징으로 하는, 전자 장치.
  7. 제3항에 있어서,
    상기 프로세서는, 상기 후속하는 이미지들의 부분의 각각을 지정된 비율로 다운 스케일하고, 상기 색상 팔레트를 이용하여 상기 다운 스케일 된 이미지의 적어도 하나의 색상을 양자화하고, 상기 적어도 하나의 양자화된 색상의 히스토그램을 연산하고, 상기 히스토그램에 따라 상기 대표 색상을 획득하도록 더 설정된 것을 특징으로 하는, 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는, 복수의 대표 색상들 각각의 색 비율(color ratio)에 대응하는 가중치를 기본 색상(basic color)에 대한 상기 복수의 대표 색상들의 색 거리 값에 적용함으로써, 상기 후속하는 이미지들의 부분에 포함되는 복수의 색 요소들의 상기 기본 색상과 상기 복수의 대표 색상들의 유사도를 판단하도록 더 설정된 것을 특징으로 하는, 전자 장치.
  9. 제1항에 있어서,
    상기 후속하는 이미지들의 부분의 각각은, 비디오 또는 사진에 포함된 장면, 월 페이퍼(wall paper), 텍스트 또는 아이콘 중 적어도 하나를 포함하는 것을 특징으로 하는, 전자 장치.
  10. 제1항에 있어서,
    상기 프로세서는, 상기 후속하는 이미지들의 부분의 각각을 적어도 2개의 영역들로 분할하고 분할된 각각의 상기 영역들에 대응하는 적어도 2개의 대표 색상들을 획득하도록 더 설정된 것을 특징으로 하는, 전자 장치.
  11. 제10항에 있어서,
    상기 프로세서는, 상기 후속하는 이미지들의 부분의 각각의 깊이 값, 상기 후속하는 이미지들의 부분의 각각의 복잡도, 또는 영역들의 지정된 수에 따라 상기 후속하는 이미지들의 부분의 각각을 상기 적어도 2개의 영역들로 분할하도록 더 설정된 것을 특징으로 하는, 전자 장치.
  12. 전자 장치에서 대표 색상을 디스플레이 하는 방법에 있어서, 상기 방법은 상기 전자 장치의 프로세서에 의해 명령들을 실행하기 위한 과정들을 포함하고, 상기 과정들은,
    요청된 정보와 연관된 하나 이상의 썸네일 이미지들을 상기 전자 장치의 디스플레이 상에 디스플레이 하는 과정과,
    상기 하나 이상의 썸네일 이미지들을 스크롤하여 디스플레이 될 후속하는 이미지들을 로딩하기 위한 사용자 입력에 대응하는 스크롤 동작을 식별하는 과정과,
    상기 스크롤 동작에 기반하여, 상기 후속하는 이미지들의 부분이 디스플레이 되기 전에 상기 후속하는 이미지들의 각각의 부분 대신에 객체들을 디스플레이 하는 과정과, 각각의 상기 객체들은 상기 후속하는 이미지들의 부분의 하나의 대표 색상에 대응하는 솔리드 색상(solid-color) 객체로서 디스플레이 되고,
    상기 솔리드 색상 객체를 상기 후속하는 이미지들의 부분으로 교체하고, 상기 하나 이상의 썸네일 이미지들 중 상기 스크롤 동작에 따라 상기 디스플레이에 표시되는 일부의 이미지들 및 상기 교체에 따라 새롭게 상기 디스플레이에 표시되는 상기 교체된 이미지들을 함께 디스플레이 하는 과정을 포함하는 것을 특징으로 하는, 전자 장치에서 대표 색상을 디스플레이 하는 방법.
  13. 제12항에 있어서,
    상기 객체들을 디스플레이 하는 과정은, 상기 스크롤 동작에 기반하여, 상기 후속하는 이미지들의 부분의 각각의 적어도 일부에 대응하는 정보를 사용하여 상기 후속하는 이미지들의 부분의 각각의 상기 대표 색상을 획득하는 과정을 포함하는 것을 특징으로 하는, 전자 장치에서 대표 색상을 디스플레이 하는 방법.
  14. 제13항에 있어서,
    상기 후속하는 이미지들의 부분의 각각의 적어도 일부에 대응하는 정보는, 상기 후속하는 이미지들의 부분의 각각의 메타 데이터 또는 상기 후속하는 이미지들의 부분의 각각의 태그 중 적어도 하나를 포함하는 것을 특징으로 하는, 전자 장치에서 대표 색상을 디스플레이 하는 방법.
  15. 제12항에 있어서,
    상기 과정들은, 복수의 대표 색상들 각각의 색 비율(color ratio)에 대응하는 가중치를 기본 색상(basic color)에 대한 상기 복수의 대표 색상들의 색 거리 값에 적용함으로써, 상기 후속하는 이미지들의 부분에 포함되는 복수의 색 요소들의 상기 기본 색상과 상기 복수의 대표 색상들의 유사도를 판단하는 과정을 더 포함하는 것을 특징으로 하는, 전자 장치에서 대표 색상을 디스플레이 하는 방법.
  16. 서버에 있어서,
    메모리, 및
    상기 메모리와 연결되고, 클라이언트로 하여금 명령들을 실행하도록 설정된 프로세서를 포함하고, 상기 프로세서는,
    요청된 정보와 연관된 하나 이상의 썸네일 이미지들을 상기 클라이언트의 디스플레이 상에 디스플레이 하고,
    상기 클라이언트에서 수신된, 상기 하나 이상의 썸네일 이미지들을 스크롤하기 위한 스크롤 동작에 기반하여 후속하는 이미지들을 디스플레이 하되,
    상기 후속하는 이미지들을 디스플레이 하는 동작은:
    상기 스크롤 동작에 기반하여, 상기 후속하는 이미지들의 부분이 디스플레이 되기 전에 상기 후속하는 이미지들의 각각의 부분 대신에 객체들을 디스플레이 하고, 각각의 상기 객체들은 상기 후속하는 이미지들의 부분의 하나의 대표 색상에 대응하는 솔리드 색상(solid-color) 객체로서 디스플레이 되고,
    상기 솔리드 색상 객체는 상기 후속하는 이미지들의 부분으로 교체되고, 상기 교체에 따라 새롭게 상기 디스플레이에 표시되는 상기 교체된 이미지들은 상기 하나 이상의 썸네일 이미지들 중 상기 스크롤 동작에 따라 상기 디스플레이에 표시되는 일부의 이미지들과 함께 디스플레이 되도록 설정된 것을 특징으로 하는, 서버.
  17. 제16항에 있어서,
    상기 후속하는 이미지들의 각각의 상기 대표 색상은 상기 후속하는 이미지들의 부분의 각각의 부분에 대응하는 적어도 하나의 정보를 사용하여 획득되는 것을 특징으로 하는, 서버.
  18. 제17항에 있어서,
    상기 후속하는 이미지들의 부분의 각각의 적어도 일부에 대응하는 정보는, 상기 후속하는 이미지들의 부분의 각각의 메타 데이터 또는 상기 후속하는 이미지들의 부분의 각각의 태그 중 적어도 하나를 포함하는 것을 특징으로 하는, 서버.
  19. 프로세서에 의하여 적어도 하나의 동작을 수행하도록 설정된 명령들(instructions)이 저장된 컴퓨터 판독 가능한(computer readable) 비 휘발성 기록 매체에 있어서, 상기 적어도 하나의 동작은,
    요청된 정보와 연관된 하나 이상의 썸네일 이미지들을 상기 프로세서를 포함하는 전자 장치의 디스플레이 상에 디스플레이 하는 동작과,
    상기 하나 이상의 썸네일 이미지들을 스크롤하여 디스플레이 될 후속하는 이미지들을 로딩하기 위한 사용자 입력에 대응하는 스크롤 동작을 식별하는 동작과,
    상기 스크롤 동작에 기반하여, 상기 후속하는 이미지들의 부분이 디스플레이 되기 전에 상기 후속하는 이미지들의 각각의 부분 대신에 객체들을 디스플레이 하는 동작과, 각각의 상기 객체들은 상기 후속하는 이미지들의 부분의 하나의 대표 색상에 대응하는 솔리드 색상(solid-color) 객체로서 디스플레이 되고,
    상기 솔리드 색상 객체를 상기 후속하는 이미지들의 부분으로 교체하고, 상기 하나 이상의 썸네일 이미지들 중 상기 스크롤 동작에 따라 상기 디스플레이에 표시되는 일부의 이미지들 및 상기 교체에 따라 새롭게 상기 디스플레이에 표시되는 상기 교체된 이미지들을 함께 디스플레이 하는 동작을 포함하는 것을 특징으로 하는, 컴퓨터 판독 가능한 비 휘발성 기록 매체.
  20. 제19항에 있어서,
    상기 객체들을 디스플레이 하는 과정은, 상기 스크롤 동작에 기반하여, 상기 후속하는 이미지들의 부분의 각각의 적어도 일부에 대응하는 정보를 사용하여 상기 후속하는 이미지들의 부분의 각각의 상기 대표 색상을 획득하는 과정을 포함하는 것을 특징으로 하는, 컴퓨터 판독 가능한 비 휘발성 기록 매체.
  21. 제20항에 있어서,
    상기 후속하는 이미지들의 부분의 각각의 적어도 일부에 대응하는 정보는, 상기 후속하는 이미지들의 부분의 각각의 메타 데이터 또는 상기 후속하는 이미지들의 부분의 각각의 태그 중 적어도 하나를 포함하는 것을 특징으로 하는, 컴퓨터 판독 가능한 비 휘발성 기록 매체.
  22. 클라이언트로부터 수신된 요청을 처리하는 시스템에 있어서, 상기 시스템은 서버를 포함하고, 상기 서버는 상기 클라이언트로 하여금,
    요청된 정보와 연관된 하나 이상의 썸네일 이미지들을 상기 클라이언트의 디스플레이 상에 디스플레이 하고,
    상기 클라이언트에서 수신된, 상기 하나 이상의 썸네일 이미지들을 스크롤하기 위한 스크롤 동작에 기반하여 후속하는 이미지들을 디스플레이 하고,
    상기 클라이언트는,
    상기 하나 이상의 썸네일 이미지들을 디스플레이 하고,
    사용자 입력에 대응하는 상기 스크롤 동작을 식별하고,
    상기 서버 및 상기 클라이언트는 상기 클라이언트로 하여금,
    상기 스크롤 동작에 기반하여, 상기 후속하는 이미지들의 부분이 디스플레이 되기 전에 상기 후속하는 이미지들의 각각의 부분 대신에 객체들을 디스플레이 하고, 각각의 상기 객체들은 상기 후속하는 이미지들의 부분의 하나의 대표 색상에 대응하는 솔리드 색상(solid-color) 객체로서 디스플레이 되고,
    상기 솔리드 색상 객체를 상기 후속하는 이미지들의 부분으로 교체하고, 상기 하나 이상의 썸네일 이미지들 중 상기 스크롤 동작에 따라 상기 디스플레이에 표시되는 일부의 이미지들 및 상기 교체에 따라 새롭게 상기 디스플레이에 표시되는 상기 교체된 이미지들을 함께 디스플레이 하도록 더 설정된 것을 특징으로 하는, 클라이언트로부터 수신된 요청을 처리하는 시스템.
  23. 제22항에 있어서,
    상기 클라이언트는 스크롤 요청을 상기 서버에 전송하고, 상기 서버는 상기 스크롤 요청을 수신하고 상기 스크롤 요청과 관련된 명령들을 실행하도록 설정된 것을 특징으로 하는, 클라이언트로부터 수신된 요청을 처리하는 시스템.
  24. 제22항에 있어서,
    상기 서버는, 상기 스크롤 동작에 기반하여, 상기 후속하는 이미지들의 부분의 각각의 적어도 일부에 대응하는 정보를 사용하여 상기 후속하는 이미지들의 부분의 각각의 상기 대표 색상을 획득하도록 더 설정된 것을 특징으로 하는, 클라이언트로부터 수신된 요청을 처리하는 시스템.
  25. 제24항에 있어서,
    상기 서버는, 상기 스크롤 동작에 기반하여, 상기 후속하는 이미지들의 부분의 각각의 적어도 일부에 대응하는 정보를 통하여 결정된 색상 팔레트를 사용하여 상기 후속하는 이미지들의 부분의 각각의 상기 대표 색상을 획득하도록 더 설정된 것을 특징으로 하는, 클라이언트로부터 수신된 요청을 처리하는 시스템.
  26. 제24항에 있어서,
    상기 후속하는 이미지들의 부분의 각각의 적어도 일부에 대응하는 정보는, 상기 후속하는 이미지들의 부분의 각각의 메타 데이터 또는 상기 후속하는 이미지들의 부분의 각각의 태그 중 적어도 하나를 포함하는 것을 특징으로 하는, 클라이언트로부터 수신된 요청을 처리하는 시스템.
  27. 제24항에 있어서,
    상기 서버는, 상기 스크롤 동작에 기반하여, 상기 클라이언트의 적어도 하나의 지정된 조건을 통하여 결정된 색상 팔레트를 사용하여 상기 후속하는 이미지들의 부분의 각각의 상기 대표 색상을 획득하도록 더 설정된 것을 특징으로 하는, 클라이언트로부터 수신된 요청을 처리하는 시스템.
  28. 제27항에 있어서,
    상기 지정된 조건은, 상기 클라이언트의 메모리 정보, 상기 클라이언트의 CPU 클럭 정보 또는 상기 클라이언트의 전력 상태(power status) 정보 중 적어도 하나를 포함하는 것을 특징으로 하는, 클라이언트로부터 수신된 요청을 처리하는 시스템.
  29. 제22항에 있어서,
    상기 서버는, 복수의 대표 색상들 각각의 색 비율(color ratio)에 대응하는 가중치를 기본 색상(basic color)에 대한 상기 복수의 대표 색상들의 색 거리 값에 적용함으로써, 상기 후속하는 이미지들의 부분에 포함되는 복수의 색 요소들의 상기 기본 색상과 상기 복수의 대표 색상들의 유사도를 판단하도록 더 설정된 것을 특징으로 하는, 클라이언트로부터 수신된 요청을 처리하는 시스템.
  30. 제22항에 있어서,
    상기 후속하는 이미지들의 부분의 각각은, 비디오 또는 사진에 포함된 장면, 월 페이퍼(wall paper), 텍스트 또는 아이콘 중 적어도 하나를 포함하는 것을 특징으로 하는, 클라이언트로부터 수신된 요청을 처리하는 시스템.
KR1020150020521A 2015-02-10 2015-02-10 영상의 컬러 변환 방법 및 전자 장치 KR102329862B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150020521A KR102329862B1 (ko) 2015-02-10 2015-02-10 영상의 컬러 변환 방법 및 전자 장치
US15/040,589 US10380768B2 (en) 2015-02-10 2016-02-10 Method and electronic device for converting color of image
US16/397,622 US10726585B2 (en) 2015-02-10 2019-04-29 Method and electronic device for converting color of image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150020521A KR102329862B1 (ko) 2015-02-10 2015-02-10 영상의 컬러 변환 방법 및 전자 장치

Publications (2)

Publication Number Publication Date
KR20160097974A KR20160097974A (ko) 2016-08-18
KR102329862B1 true KR102329862B1 (ko) 2021-11-23

Family

ID=56566927

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150020521A KR102329862B1 (ko) 2015-02-10 2015-02-10 영상의 컬러 변환 방법 및 전자 장치

Country Status (2)

Country Link
US (2) US10380768B2 (ko)
KR (1) KR102329862B1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10459615B2 (en) 2014-12-11 2019-10-29 Rdi Technologies, Inc. Apparatus and method for analyzing periodic motions in machinery
US10062411B2 (en) 2014-12-11 2018-08-28 Jeffrey R. Hay Apparatus and method for visualizing periodic motions in mechanical components
KR102329862B1 (ko) * 2015-02-10 2021-11-23 삼성전자주식회사 영상의 컬러 변환 방법 및 전자 장치
CN106843646A (zh) * 2017-01-09 2017-06-13 惠州Tcl移动通信有限公司 一种基于移动终端的应用图标查找控制方法及***
US11714533B2 (en) * 2017-11-20 2023-08-01 Huawei Technologies Co., Ltd. Method and apparatus for dynamically displaying icon based on background image
US10660707B2 (en) * 2017-12-19 2020-05-26 Biosense Webster (Israel) Ltd. ENT bone distance color coded face maps
US11423551B1 (en) * 2018-10-17 2022-08-23 Rdi Technologies, Inc. Enhanced presentation methods for visualizing motion of physical structures and machinery
US20200285355A1 (en) * 2019-03-08 2020-09-10 Sang Hyun Shin Method and apparatus for customizing color of object on application
CN110021256B (zh) * 2019-04-02 2021-11-23 Oppo广东移动通信有限公司 显示亮度调整方法及相关产品
US12014500B2 (en) 2019-04-14 2024-06-18 Holovisions LLC Healthy-Selfie(TM): methods for remote medical imaging using a conventional smart phone or augmented reality eyewear
US11308618B2 (en) 2019-04-14 2022-04-19 Holovisions LLC Healthy-Selfie(TM): a portable phone-moving device for telemedicine imaging using a mobile phone
US11494953B2 (en) * 2019-07-01 2022-11-08 Microsoft Technology Licensing, Llc Adaptive user interface palette for augmented reality
CN110570380B (zh) * 2019-09-12 2022-04-08 京东方科技集团股份有限公司 用于电子墨水屏的图像处理方法、装置和电子墨水屏
US10930025B1 (en) * 2019-09-16 2021-02-23 Sap Se Intelligent color label matching
CN110706296B (zh) * 2019-10-11 2023-06-16 北京弘远博学科技有限公司 一种电子证件照片背景色合规性的批量自动检测方法
CN111161683B (zh) 2020-01-03 2021-05-18 京东方科技集团股份有限公司 图像处理方法、图像处理器和显示装置
US11373317B1 (en) 2020-01-24 2022-06-28 Rdi Technologies, Inc. Measuring the speed of rotation or reciprocation of a mechanical component using one or more cameras
US11308646B2 (en) * 2020-05-13 2022-04-19 Walmart Apollo, Llc Extracting color from item images
US11282213B1 (en) 2020-06-24 2022-03-22 Rdi Technologies, Inc. Enhanced analysis techniques using composite frequency spectrum data
US11322182B1 (en) 2020-09-28 2022-05-03 Rdi Technologies, Inc. Enhanced visualization techniques using reconstructed time waveforms
JP1725302S (ja) * 2021-02-23 2022-09-21 Gui

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060236251A1 (en) 2005-04-19 2006-10-19 Takashi Kataoka Apparatus with thumbnail display
US20090015593A1 (en) 2007-07-09 2009-01-15 Samsung Electronics Co., Ltd. Method and apparatus for automatically changing color

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6046118A (en) * 1996-08-02 2000-04-04 E. I. Du Pont De Nemours And Company Composite sheet material
KR100307368B1 (ko) 1998-05-28 2001-11-30 구자홍 색좌표공간의구성방법및색양자화방법
US6310969B1 (en) 1998-05-28 2001-10-30 Lg Electronics Inc. Color coordinate space structure and color quantizing and variable gray area designating method therein
KR100618341B1 (ko) 2003-08-07 2006-08-30 이현수 디지털 프로세스를 이용한 이미지 색채 분석방법
US20050187943A1 (en) * 2004-02-09 2005-08-25 Nokia Corporation Representation of media items in a media file management application for use with a digital device
KR100849847B1 (ko) 2006-07-26 2008-08-01 삼성전자주식회사 배색 변경 장치 및 방법
US20080079750A1 (en) * 2006-09-29 2008-04-03 Vidya Setlur Perceptually adaptive graphical user interface
US20100077002A1 (en) * 2006-12-06 2010-03-25 Knud Funch Direct access method to media information
KR101406289B1 (ko) * 2007-03-08 2014-06-12 삼성전자주식회사 스크롤 기반 아이템 제공 장치 및 방법
EP2301237A1 (en) 2008-06-17 2011-03-30 Koninklijke Philips Electronics N.V. Color adjustment
KR100995839B1 (ko) * 2008-08-08 2010-11-22 주식회사 아이토비 멀티미디어 디지털 콘텐츠의 축약정보 추출시스템과 축약 정보를 활용한 다중 멀티미디어 콘텐츠 디스플레이 시스템 및 그 방법
US8671344B2 (en) 2009-02-02 2014-03-11 Panasonic Corporation Information display device
US8860672B2 (en) 2010-05-26 2014-10-14 T-Mobile Usa, Inc. User interface with z-axis interaction
US8532336B2 (en) * 2010-08-17 2013-09-10 International Business Machines Corporation Multi-mode video event indexing
JP5744437B2 (ja) * 2010-08-18 2015-07-08 キヤノン株式会社 追尾装置、追尾方法及びプログラム
EP2682849A4 (en) 2011-03-01 2014-12-03 Pioneer Corp PICTURE POSITIONING PROCESS, SEARCH PROCESS, DISPLAY CONTROL DEVICE, SERVER, USER DEVICE, COMMUNICATION SYSTEM, IMAGE POSITIONING SYSTEM AND PROGRAM
US8989448B2 (en) * 2011-03-22 2015-03-24 Morpho, Inc. Moving object detecting device, moving object detecting method, moving object detection program, moving object tracking device, moving object tracking method, and moving object tracking program
US9424234B2 (en) * 2011-06-29 2016-08-23 Adobe Systems Incorporated Methods and apparatus for automatically creating variations of original content based on searching for alternative content objects based on characteristics of the original content
US8897554B2 (en) * 2011-12-13 2014-11-25 The Nielsen Company (Us), Llc Video comparison using color histograms
US10114838B2 (en) * 2012-04-30 2018-10-30 Dolby Laboratories Licensing Corporation Reference card for scene referred metadata capture
KR20140112333A (ko) 2013-03-13 2014-09-23 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
KR102101740B1 (ko) * 2013-07-08 2020-04-20 엘지전자 주식회사 이동 단말기 및 이의 제어방법
EP2849425A1 (en) 2013-09-16 2015-03-18 Thomson Licensing Color video processing system and method, and corresponding computer program
KR20150040127A (ko) * 2013-10-04 2015-04-14 삼성전자주식회사 전력 절감을 위하여 이미지를 처리하는 방법 및 디바이스
US9310908B2 (en) * 2013-10-30 2016-04-12 Htc Corporation Color sampling method and touch control device thereof
US9916613B1 (en) * 2014-06-26 2018-03-13 Amazon Technologies, Inc. Automatic color palette based recommendations for affiliated colors
US9652868B2 (en) * 2014-06-26 2017-05-16 Amazon Technologies, Inc. Automatic color palette based recommendations
US9135719B1 (en) * 2014-06-26 2015-09-15 Amazon Technologies, Inc. Color name generation from images and color palettes
US9524563B2 (en) * 2014-06-26 2016-12-20 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
KR102329862B1 (ko) 2015-02-10 2021-11-23 삼성전자주식회사 영상의 컬러 변환 방법 및 전자 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060236251A1 (en) 2005-04-19 2006-10-19 Takashi Kataoka Apparatus with thumbnail display
US20090015593A1 (en) 2007-07-09 2009-01-15 Samsung Electronics Co., Ltd. Method and apparatus for automatically changing color

Also Published As

Publication number Publication date
US20190251710A1 (en) 2019-08-15
US10726585B2 (en) 2020-07-28
KR20160097974A (ko) 2016-08-18
US20160232686A1 (en) 2016-08-11
US10380768B2 (en) 2019-08-13

Similar Documents

Publication Publication Date Title
KR102329862B1 (ko) 영상의 컬러 변환 방법 및 전자 장치
US10244177B2 (en) Method for processing image to generate relevant data based on user inputs and electronic device supporting the same
US20160364888A1 (en) Image data processing method and electronic device supporting the same
CN107665485B (zh) 用于显示图形对象的电子装置和计算机可读记录介质
KR102603426B1 (ko) 이미지 처리장치 및 방법
US9792878B2 (en) Method for content adaptation based on ambient environment of electronic device and electronic device thereof
KR102272108B1 (ko) 영상 처리 장치 및 방법
KR102332782B1 (ko) 시각 특성을 고려한 영상 데이터 압축
KR102343990B1 (ko) 디스플레이의 서로 다른 영역을 독립적으로 제어하는 전자 장치 및 방법
US10412339B2 (en) Electronic device and image encoding method of electronic device
KR20180024337A (ko) 곡선 표시 영역을 포함하는 디스플레이의 구동 방법과 이를 지원하는 디스플레이 구동 회로 및 이를 포함하는 전자 장치
US10909420B2 (en) Method and apparatus for continuously displaying images on basis of similarity of images
KR20180014498A (ko) 텍스트의 시인성을 향상시키는 전자 장치와 이의 동작 방법
KR102434754B1 (ko) 전자 장치 및 전자 장치의 컨텐츠 표시 방법
KR102457247B1 (ko) 이미지를 처리하는 전자 장치 및 그 제어 방법
US10623630B2 (en) Method of applying a specified effect to an area of an image and electronic device supporting the same
US10956588B2 (en) Server, electronic device, and method for processing image by electronic device
KR102305909B1 (ko) 이미지 처리 방법과 이를 지원하는 전자 장치
KR20230000932A (ko) 이미지를 분석하는 방법 및 분석 장치
KR102638876B1 (ko) 전자 장치 및 그 제어 방법
US11210828B2 (en) Method and electronic device for outputting guide
KR20160095762A (ko) 전자장치 및 전자장치의 영상데이터 처리 방법
KR102519803B1 (ko) 촬영 장치 및 그 제어 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant