KR101952569B1 - 디바이스를 위한 이미지 편집 기법들 - Google Patents

디바이스를 위한 이미지 편집 기법들 Download PDF

Info

Publication number
KR101952569B1
KR101952569B1 KR1020167023875A KR20167023875A KR101952569B1 KR 101952569 B1 KR101952569 B1 KR 101952569B1 KR 1020167023875 A KR1020167023875 A KR 1020167023875A KR 20167023875 A KR20167023875 A KR 20167023875A KR 101952569 B1 KR101952569 B1 KR 101952569B1
Authority
KR
South Korea
Prior art keywords
image
delete delete
user input
mobile device
layer
Prior art date
Application number
KR1020167023875A
Other languages
English (en)
Other versions
KR20160124129A (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 KR20160124129A publication Critical patent/KR20160124129A/ko
Application granted granted Critical
Publication of KR101952569B1 publication Critical patent/KR101952569B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

디바이스에 의해 이미지를 조작하는 방법이 개시된다. 그 방법은 이미지에 대응하는 이미지 데이터를 제 1 이미지 계층과 제 2 이미지 계층으로 세그먼트화하는 단계를 포함한다. 그 방법은 사용자 입력에 기초하여 제 2 이미지 계층의 제 2 속성과는 독립적으로 제 1 이미지 계층의 제 1 속성을 조정하는 단계를 더 포함한다.

Description

디바이스를 위한 이미지 편집 기법들{IMAGE EDITING TECHNIQUES FOR A DEVICE}
본 개시물은 대체로 디바이스를 위한 이미지 편집에 관한 것이다.
기술에서의 진보가 전자 디바이스들이 더 작고 더 강력해지게 하였다. 예를 들어, 다양한 모바일 디바이스들, 이를테면 무선 전화기들, 개인 정보 단말기 (personal digital assistant, PDA) 들, 및 페이징 디바이스들이 현재 존재하고 있다. 무선 디바이스가 작으며, 경량이고, 사용자들에 의해 쉽사리 휴대될 수도 있다. 무선 전화기들, 이를테면 셀룰러 전화기들 및 인터넷 프로토콜 (Internet Protocol, IP) 전화기들이 무선 네트워크들을 통해 음성 및 데이터 패킷들을 통신할 수 있다. 또한, 무선 전화기들은, 소프트웨어 애플리케이션들, 이를테면 인터넷에 액세스하는데 사용될 수 있는 웹 브라우저 애플리케이션을 포함하는 실행가능 명령들을 프로세싱할 수 있다. 게다가, 많은 무선 전화기들은 그 속에 통합되는 다른 유형들의 디바이스들을 구비한다. 예를 들어, 무선 전화기가 디지털 스틸 카메라, 디지털 비디오 카메라, 디지털 레코더, 및 오디오 파일 플레이어를 또한 포함할 수 있다. 이처럼, 무선 전화기들과 다른 모바일 디바이스들은 상당한 컴퓨팅 능력들을 구비할 수 있다.
모바일 디바이스가 카메라와 카메라로 캡처된 이미지들을 수정 (또는 "편집") 하기 위해 사용 가능한 이미지 편집 애플리케이션을 구비할 수도 있다. 모바일 디바이스의 사용자가 카메라를 사용하여 이미지를 캡처한 다음, 이를테면 친구들 또는 가족과 이미지를 공유하기 전에 그 이미지를 이미지 편집 애플리케이션을 사용하여 수정할 수도 있다. 특정한 이미지 편집 애플리케이션들은 사용자가 이미지의 부분을 제거 (또는 "크로핑 (cropping)") 하는 것과 같은 계산적으로 단순한 동작들을 수행하는 것을 가능하게 할 수도 있다. 더욱 고급 이미지 편집 애플리케이션들은 모바일 디바이스 상의 더욱 계산 집약적인 동작들을 사용자가 수행하는 것을 가능하게 할 수도 있지만, 이들 동작들은 특정한 이미지 편집 효과를 달성하기 위한 이미지 편집 동작들을 동안 충분한 제어를 사용자에게 여전히 제공하지 못하여, 모바일 디바이스의 사용자를 잠재적으로 불만스럽게 만들 수도 있다. 고급 이미지 편집 애플리케이션들은 사용자들이 어려워하거나 또는 사용이 불편해지게 할 수도 있는 복잡한 사용자 입력 기법들을 또한 이용할 수도 있다.
프로세서가 이미지에 대응하는 이미지 데이터를 수신할 수도 있다. 예시하기 위해, 모바일 디바이스가 프로세서와 카메라를 구비할 수도 있고, 카메라는 이미지를 캡처할 수도 있다. 프로세서는 이미지 데이터를 (예컨대, 세그먼트화 기법을 사용하여) 제 1 이미지 계층과 제 2 이미지 계층으로 세그먼트화할 수도 있다. 구체적인 예들로서, 제 1 이미지 계층은 이미지의 포어그라운드에 대응할 수도 있고 제 2 이미지 계층은 이미지의 백그라운드에 대응할 수도 있다. 대안으로, 제 1 이미지 계층과 제 2 이미지 계층은 각각 이미지의 포어그라운드 부분들 (또는 이미지의 백그라운드 부분들) 에 대응할 수도 있다.
제 1 이미지 계층과 제 2 이미지 계층은 하나 이상의 시각적 효과들을 생성하기 위해 사용자에 의해 독립적으로 편집될 수도 있다. 예시하기 위해, 사용자가 제 2 이미지 계층은 아니고 제 1 이미지 계층 상에서 이미지 편집 동작을 수행할 수도 있다 (또는 반대의 경우로도 수행할 수도 있다). 사용자는 이미지 편집 동작을 수행하기 위해 이미지 편집 애플리케이션을 이용할 수도 있는데, 이 이미지 편집 동작은 프로세서에 의해 실행될 수도 있다. 이미지 편집 동작은 제 2 이미지 계층은 아니고 제 1 이미지 계층의 컬러 속성을 변경하는 것 (예컨대, 오브젝트의 컬러를 다른 오브젝트의 컬러와는 독립적으로 변경하는 것) 을 포함할 수도 있다. 다른 예로서, 이미지 편집 동작은, 이를테면, 포어그라운드가 초점이 맞고 포어그라운드가 백그라운드보다 더 선명한 이미지를 캡처하기 위해 큰 개구 (aperture) 를 사용하는 카메라의 "슈퍼 초점 (super focus)" 카메라 효과를 근사화하기 위해 포어그라운드는 아니고 백그라운드를 "블러링 (blurring)"함으로써, 제 2 이미지 계층은 아니고 제 1 이미지 계층을 블러링하는 단계를 포함할 수도 있다. 그러므로 사용자가 전체 이미지 (예컨대, 이미지의 모든 이미지 계층들) 가 특정 이미지 편집 동작에 기초하여 편집되는 기존의 시스템들과 비교하여 이미지의 시각적 효과들의 더 많은 제어를 경험할 수도 있다.
특정 실시형태에서, 클러스터들의 식별은 이미지를 선택하는 사용자 입력에 응답하여 자동으로 개시된다. 예를 들어, 클러스터들의 식별은 사용자 인터페이스 (UI) 를 통한 이미지의 사용자 선택 (예컨대, 이미지 갤러리로부터의 이미지의 선택) 에 응답하여 자동으로 개시될 수도 있다. 클러스터들을 자동으로 식별하는 것은 클러스터들의 식별에 연관된 시간 지체 (time lag) 를 "숨길 (hide)"수도 있다. 예를 들어, UI를 통한 이미지의 선택에 응답하여 클러스터들을 자동으로 식별함으로써, 클러스터들의 식별에 연관된 시간 지체는 이미지의 로딩 동안 "숨겨질" 수도 있다. 다시 말하면, 시간 지체가 이미지를 로딩한 후에 개시되는 특정 이미지 편집 동작의 개시에 연관되는 것이 아니라 이미지의 로딩에 연관된다는 것을 사용자가 인지할 수도 있다. 이 예에서, 사용자가 이미지 편집 동작을 개시할 때, 클러스터 식별은 이미 완료되었을 수도 있으며, 이는 이미지 편집 동작이 사용자에게 더 빨리 보이게 할 수도 있다.
프로세서는 제 1 이미지 계층에 관련된 사용자 입력에 응답하여 하나 이상의 이미지 프로세싱 동작들을 자동으로 개시할 수도 있다. 예시하기 위해, 다수의 이미지 계층들 (예컨대, 다수의 포어그라운드 오브젝트들 및/또는 다수의 백그라운드 오브젝트들) 을 포함하는 이미지에 대해, 각 개개의 이미지 계층의 프로세싱은 시간 지체와 연관될 수도 있다. 이미지 세그먼트화에 연관된 시간 지체를 줄이기 위해, 프로세서는 다수의 이미지 계층들의 각각에 관련된 사용자 입력을 수신하기 전에 하나 이상의 식별된 클러스터들을 사용하여 제 1 이미지 계층에 연관된 하나 이상의 이미지 프로세싱 동작들 (예컨대, 이미지 세그먼트화 동작 및/또는 이미지 라벨링 동작) 을 개시할 수도 있다. 이 예에서, 이미지의 포어그라운드 부분의 이미지 프로세싱이 이미지의 백그라운드에 관련된 사용자 입력을 수신하기 전에 개시될 수도 있다. 따라서, 프로세서의 이미지 편집 성능은, 사용자 입력이 각각의 이미지 계층에 대해 수신되기까지 이미지 프로세싱 동작들을 개시하는 것을 기다리는 디바이스에 비하여 개선될 수도 있다.
대안으로 또는 덧붙여서, 모바일 디바이스가 사용자 입력에 응답하여 모바일 디바이스에서 수행될 수도 있는 이미지 편집 동작들을 결정하는 사용자 구성 파라미터들을 저장할 수도 있다. 예시하기 위해, 모바일 디바이스는 디스플레이 (예컨대, 터치스크린) 를 구비할 수도 있다. 디스플레이는, 이를테면 모바일 디바이스에 의해 실행되는 이미지 편집 애플리케이션에 관련하여 이미지를 묘사할 수도 있다. 이미지 편집 애플리케이션은 사용자 입력에 응답하여 이미지에 대한 이미지 편집 동작들을 수행할 수도 있다. 예를 들어, 사용자 구성 파라미터들은, 모바일 디바이스가 특정 방향의 움직임, 이를테면 수직 (또는 실질적으로 수직) 방향에서 터치스크린을 가로지르는 "스와이프 (swipe)"를 나타내는 제 1 사용자 입력의 수신에 응답하여 특정 이미지 편집 동작 (예컨대, 컬러 변경 동작) 을 수행하기 위한 것임을 나타낼 수도 있다. 사용자 구성 파라미터들은 모바일 디바이스가 제 1 사용자 입력 후에 수신된 특정 방향을 나타내는 제 2 사용자 입력 (예컨대, 후속 수직 스와이프 동작) 에 응답하여 제 2 이미지 편집 동작을 수행하기 위한 것임을 추가로 나타낼 수도 있다. 예를 들어, 사용자 구성 파라미터들은 이미지 블러링 동작이 제 2 사용자 입력에 응답하여 수행될 것임을 나타낼 수도 있다.
사용자 구성 파라미터들은 사용자에 의해 구성 가능할 수도 있다. 예를 들어, 사용자 구성 파라미터들은 제 2 이미지 편집 동작이 (예컨대, 제 1 사용자 입력에 응답하여) 제 1 이미지 편집 동작 전에 수행될 것임을 나타내기 위해 사용자에 의해 수정될 수도 있다. 특정 실시형태에서, 제 1 사용자 입력 후에 그리고 제 2 사용자 입력 후에 수신된 제 3 사용자 입력은 제 1 이미지 편집 동작과 제 2 이미지 편집 동작을 "되돌리기 (undo)"할 수도 있다. 따라서, 이미지 편집은 모바일 디바이스의 사용자를 위해 단순화된다. 게다가, 이미지 편집 동작들은 사용자 구성 파라미터들을 사용하여 구성 가능할 수도 있다.
특정 실시형태에서, 디바이스에 의해 이미지를 조작하는 방법이 개시된다. 그 방법은 이미지에 대응하는 이미지 데이터를 제 1 이미지 계층과 제 2 이미지 계층으로 세그먼트화하는 단계를 포함한다. 그 방법은 사용자 입력에 기초하여 제 2 이미지 계층의 제 2 속성과는 독립적으로 제 1 이미지 계층의 제 1 속성을 조정하는 단계를 더 포함한다.
다른 특정 실시형태에서, 장치가 메모리와 그 메모리에 커플링된 프로세서를 포함한다. 그 프로세서는 이미지에 대응하는 이미지 데이터를 제 1 이미지 계층과 제 2 이미지 계층으로 세그먼트화하도록 구성된다. 그 프로세서는 또한, 사용자 입력에 기초하여 제 2 이미지 계층의 제 2 속성과는 독립적으로 제 1 이미지 계층의 제 1 속성을 조정하도록 구성된다.
다른 특정 실시형태에서, 비일시적 컴퓨터 판독가능 매체가 명령들을 저장한다. 그 명령들은 프로세서가 이미지에 연관된 이미지 데이터를 제 1 이미지 계층과 제 2 이미지 계층으로 세그먼트화하게 하도록 프로세서에 의해 실행 가능하다. 그 명령들은 사용자 입력에 기초하여 제 2 이미지 계층의 제 2 속성과는 독립적으로 제 1 이미지 계층의 제 1 속성을 조정하도록 프로세서에 의해 추가로 실행 가능하다.
다른 특정 실시형태에서, 장치가 이미지에 연관된 이미지 데이터를 제 1 이미지 계층과 제 2 이미지 계층으로 세그먼트화하는 수단을 구비한다. 그 장치는 사용자 입력에 기초하여 제 2 이미지 계층의 제 2 속성과는 독립적으로 제 1 이미지 계층의 제 1 속성을 조정하는 수단을 더 구비한다.
다른 특정 실시형태에서, 방법이 모바일 디바이스에서 제 1 이미지를 디스플레이하는 단계를 포함한다. 그 방법은 모바일 디바이스에서 제 1 사용자 입력을 수신하는 단계를 더 포함한다. 제 1 사용자 입력은 모바일 디바이스를 기준으로 하여 방향을 나타낸다. 제 1 사용자 입력에 기초하여, 제 1 이미지 편집 동작이 제 2 이미지를 생성하기 위해 제 1 이미지에 대해 수행된다. 그 방법은 모바일 디바이스에서 제 2 이미지를 디스플레이하는 단계와 모바일 디바이스에서 제 2 사용자 입력을 수신하는 단계를 더 포함한다. 제 2 사용자 입력은 방향을 나타낸다. 그 방법은 제 2 사용자 입력에 기초하여 제 3 이미지를 생성하기 위해 제 2 이미지에 대한 제 2 이미지 편집 동작을 수행하는 단계를 더 포함한다.
다른 특정 실시형태에서, 장치가 메모리와 그 메모리에 커플링된 프로세서를 포함한다. 그 프로세서는 모바일 디바이스가 제 1 이미지를 디스플레이하게 하도록 그리고 모바일 디바이스에서 제 1 사용자 입력을 수신하게 하도록 구성된다. 제 1 사용자 입력은 모바일 디바이스를 기준으로 하여 방향을 나타낸다. 그 프로세서는 또한, 제 1 사용자 입력에 기초하여 제 2 이미지를 생성하기 위해 제 1 이미지에 대한 제 1 이미지 편집 동작을 수행하도록, 모바일 디바이스가 제 2 이미지를 디스플레이하게 하도록, 그리고 제 2 사용자 입력을 수신하도록 구성된다. 제 2 사용자 입력은 방향을 나타낸다. 프로세서는 또한, 제 2 사용자 입력에 기초하여 제 3 이미지를 생성하기 위해 제 2 이미지에 대한 제 2 이미지 편집 동작을 수행하도록 구성된다.
다른 특정 실시형태에서, 컴퓨터 판독가능 매체가, 모바일 디바이스가 모바일 디바이스에서 제 1 이미지를 디스플레이하게 하도록 그리고 모바일 디바이스에서 제 1 사용자 입력을 수신하게 하도록 프로세서에 의해 실행 가능한 명령들을 저장한다. 제 1 사용자 입력은 모바일 디바이스를 기준으로 하여 방향을 나타낸다. 그 명령들은 또한, 제 1 사용자 입력에 기초하여 제 2 이미지를 생성하기 위해 제 1 이미지에 대한 제 1 이미지 편집 동작을 수행하도록, 모바일 디바이스에서 제 2 이미지를 디스플레이하도록, 그리고 모바일 디바이스에서 제 2 사용자 입력을 수신하도록 프로세서에 의해 실행 가능하다. 제 2 사용자 입력은 방향을 나타낸다. 그 명령들은 또한, 제 2 사용자 입력에 기초하여, 제 3 이미지를 생성하기 위해 제 2 이미지에 대한 제 2 이미지 편집 동작을 수행하도록 프로세서에 의해 실행 가능하다.
다른 특정 실시형태에서, 장치가 모바일 디바이스에서 제 1 이미지를 디스플레이하는 수단과 모바일 디바이스에서 제 1 사용자 입력을 수신하는 수단을 구비한다. 제 1 사용자 입력은 모바일 디바이스를 기준으로 하여 방향을 나타낸다. 그 장치는 제 1 사용자 입력에 기초하여 제 2 이미지를 생성하기 위해 제 1 이미지에 대한 제 1 이미지 편집 동작을 수행하는 수단, 모바일 디바이스가 제 2 이미지를 디스플레이하게 하는 수단, 및 제 2 사용자 입력을 수신하는 수단을 더 구비한다. 제 2 사용자 입력은 방향을 나타낸다. 그 장치는 제 2 사용자 입력에 기초하여 제 3 이미지를 생성하기 위해 제 2 이미지에 대한 제 2 이미지 편집 동작을 수행하는 수단을 더 포함한다.
다른 특정 실시형태에서, 방법이 사용자 인터페이스로부터 제 1 사용자 입력을 수신하는 단계를 포함한다. 제 1 사용자 입력은 디스플레이 동작을 위한 이미지를 선택한다. 그 방법은 제 1 사용자 입력에 기초하여 디스플레이 동작을 수행하는 단계와 제 1 사용자 입력에 기초하여 이미지에 대응하는 이미지 데이터를 사용하여 클러스터링 동작을 자동으로 개시하는 단계를 더 포함한다.
다른 특정 실시형태에서, 장치가 메모리와 그 메모리에 커플링된 프로세서를 포함한다. 그 프로세서는 사용자 인터페이스로부터 제 1 사용자 입력을 수신하도록 구성된다. 제 1 사용자 입력은 디스플레이 동작을 위한 이미지를 선택한다. 그 프로세서는 또한, 제 1 사용자 입력에 기초하여 디스플레이 동작을 수행하도록 그리고 제 1 사용자 입력에 기초하여 이미지에 대응하는 이미지 데이터를 사용하여 클러스터링 동작을 자동으로 개시하도록 구성된다.
다른 특정 실시형태에서, 컴퓨터 판독가능 매체가, 프로세서가 사용자 인터페이스로부터 제 1 사용자 입력을 수신하게 하도록 프로세서에 의해 실행 가능한 명령들을 저장한다. 제 1 사용자 입력은 디스플레이 동작을 위한 이미지를 선택한다. 그 명령들은 또한, 제 1 사용자 입력에 기초하여 디스플레이 동작을 수행하도록 그리고 제 1 사용자 입력에 기초하여 이미지에 대응하는 이미지 데이터를 사용하여 클러스터링 동작을 자동으로 개시하도록 프로세서에 의해 실행 가능하다.
다른 특정 실시형태에서, 장치가 사용자 인터페이스로부터 제 1 사용자 입력을 수신하는 수단을 포함한다. 제 1 사용자 입력은 디스플레이 동작을 위한 이미지를 선택한다. 그 장치는 제 1 사용자 입력에 기초하여 디스플레이 동작을 수행하는 수단과 제 1 사용자 입력에 기초하여 이미지에 대응하는 이미지 데이터를 사용하여 클러스터링 동작을 자동으로 개시하는 수단을 더 포함한다.
개시된 실시형태들 중 적어도 하나에 의해 제공되는 하나의 특정 장점은 이미지의 제 1 이미지 계층 및 제 2 이미지 계층의 독립적 이미지 편집이다. 사용자가 그러므로, 전체 이미지 (예컨대, 이미지의 모든 이미지 계층들) 가 특정 이미지 편집 동작에 기초하여 편집되는 기존의 시스템들에 비하여 이미지 편집 동작들을 "미세 튜닝"하는 것이 가능하게 될 수도 있다. 개시된 실시형태들 중 적어도 하나에 의해 제공되는 다른 특정 장점은 모바일 디바이스의 사용자에 의한 사용자 인터페이스 (UI) 의 단순화된 제어이다. 예를 들어, UI는 특정한 이미지 편집 동작들을 특정 사용자 입력 (예컨대, 특정 방향에서의 스와이프) 에 배정하는 사용자 구성 파라미터들을 사용자가 설정하는 것을 가능하게 할 수도 있으며, 이는 모바일 디바이스에 의해 실행되는 이미지 편집 애플리케이션의 사용자 제어를 단순화시킨다. 개시된 실시형태들 중 적어도 하나의 실시형태의 다른 특정 장점이 디바이스의 사용자에 의해 인지되는 바와 같은 더 빠른 이미지 편집 경험이다. 본 개시물의 다른 양태들, 장점들, 및 특징들은 다음의 섹션들을 포함하는 전체 출원의 검토 후에 명확하게 될 것이다. 도면들, 상세한 설명, 및 청구범위의 간략한 설명.
도1은 프로세서의 특정 예시적인 실시형태의 블록도이며;
도 2는 도 1의 프로세서에 의해 수행될 수도 있는 특정한 예의 이미지 프로세싱 동작들의 양태들을 도시하며;
도 3은 도 1의 프로세서에 의해 수행될 수도 있는 예의 이미지 프로세싱 동작들의 추가의 양태들을 도시하며;
도 4는 도 1의 프로세서에 의해 수행될 수도 있는 예의 이미지 프로세싱 동작들의 추가의 양태들을 도시하며;
도 5는 도 1의 프로세서에 의해 수행될 수도 있는 예의 이미지 프로세싱 동작들의 추가의 양태들을 도시하며;
도 6은 도 1의 프로세서에 의해 수행될 수도 있는 방법을 예시하는 흐름도이며;
도 7은 도 1의 프로세서에 의해 수행될 수도 있는 다른 방법을 예시하는 흐름도이며;
도 8은 도 1의 프로세서를 포함할 수도 있는 모바일 디바이스의 특정 예시적인 실시형태의 블록도이며;
도 9는 모바일 디바이스의 예의 동작 상태들을 도시하는 블록도이며;
도 10은 도 9의 모바일 디바이스에 의해 수행될 수도 있는 방법을 예시하는 흐름도이며;
도 11은 도 9의 모바일 디바이스의 특정 예시적인 실시형태의 블록도이며; 그리고
도 12는 디바이스, 이를테면 도 1의 프로세서를 구비하는 모바일 디바이스에 의해 수행될 수도 있는 방법을 예시하는 흐름도이다.
도 1을 참조하면, 프로세서의 특정 예시적인 실시형태가 묘사되어 있고 전체가 100으로 지정된다. 프로세서 (100) 는 클러스터 식별자 (124), 이미지 세그먼트 생성자 (128), 이미지 컴포넌트 라벨러 (132), 및 이미지 수정자 (136) 를 구비한다.
동작 시, 프로세서 (100) 는 이미지 데이터 (102) 에 응답할 수도 있다. 예를 들어, 이미지 데이터 (102) 는 카메라로부터 또는 카메라에 연관된 카메라 제어기로부터 수신될 수도 있다. 이미지 데이터 (102) 는 하나 이상의 이미지 계층들, 이를테면 이미지 계층 (104a) 및 이미지 계층 (106a) 을 포함할 수도 있다. 이미지 계층들 (104a, 106a) 은 이미지의 포어그라운드 부분과 이미지의 백그라운드 부분에 각각 대응할 수도 있다. 대안으로, 이미지 계층들 (104a, 106a) 은 각각 포어그라운드 부분에 대응할 수도 있거나 또는 각각 백그라운드 부분에 대응할 수도 있다.
이미지 데이터 (102) 는 화소들의 하나 이상의 클러스터들 (예컨대, 이미지에서 묘사된 오브젝트에 대응하는 화소 클러스터) 을 더 포함할 수도 있다. 예를 들어, 도 1은 이미지 계층 (104a) 이 클러스터 (108a) 와 클러스터 (110a) 를 포함할 수도 있음을 예시한다. 다른 예로서, 도 1은 또한 이미지 계층 (106a) 이 클러스터 (112a) 와 클러스터 (114a) 를 포함할 수도 있음을 예시한다. 클러스터들 (108a, 110a, 112a, 및 114a) 은 하나 이상의 속성들, 이를테면 속성 (116), 속성 (118a), 속성 (120a), 및/또는 속성 (122a) 을 포함할 수도 있다. 속성들 (116, 118a, 120a, 및/또는 122a) 은 이미지의 시각적 양태들, 이를테면 구체적인 예들로서 이미지의 컬러, 선명도, 콘트라스트, 콘텍스트 (예컨대, 백그라운드 설정과 같은 설정), 블러링 효과 및/또는 다른 양태에 대응할 수도 있다.
클러스터 식별자 (124) 는 하나 이상의 클러스터 식별 기법들을 사용하여 이미지의 하나 이상의 클러스터들을 식별하기 위해 이미지 데이터 (102) 에 응답할 수도 있다. 예를 들어, 클러스터 식별자 (124) 는 이미지 데이터 (102) 의 하나 이상의 클러스터들, 이를테면 클러스터들 (108a, 110a, 112a, 또는 114a) 중 하나 이상을 식별할 수도 있다. 클러스터 식별자 (124) 는 클러스터 식별ID (126) 를 생성하기 위해 이미지 데이터 (102) 를 분석할 수도 있다. 클러스터 식별ID (126) 는 클러스터들 (108a, 110a, 112a, 또는 114a) 중 하나 이상을 식별할 수도 있다. 클러스터가 이미지 데이터 (102) 의 유사한 화소들의 그룹에 대응할 수도 있다. 예시하기 위해, 화소들이 (예컨대, 공통 임계 영역 내에서) 공간적으로 유사하다면 그리고/또는 화소들이 (예컨대, 화소 값 임계 범위 내에서) 수치적으로 유사하다면 화소들은 유사할 수도 있다. 클러스터 식별자 (124) 는 유사한 화소들의 하나 이상의 그룹들을 식별하여 클러스터 식별ID (126) 를 생성하기 위해 이미지 데이터 (102) 의 화소들을 비교하는 하나 이상의 동작들을 수행할 수도 있다.
클러스터 식별자 (124) 는 이미지 데이터 (102) 의 하나 이상의 슈퍼화소 (superpixel) 들을 식별하는 "슈퍼화소" 기법을 사용하여 클러스터 식별ID (126) 를 생성하도록 구성될 수도 있다. 하나 이상의 슈퍼화소들은 클러스터들 (108a, 110a, 112a, 및 114a) 에 대응할 수도 있다. 특정 예에서, 클러스터 식별자 (124) 는 단순 선형 반복 클러스터링 (simple linear iterative clustering, SLIC) 기법에 따라 동작하도록 구성된다. SLIC 기법은 이미지 데이터를 "그리드"로 분할할 수도 있고 이미지 데이터 (102) 의 클러스터들을 식별하기 위해 그리드의 각각의 컴포넌트 내의 이미지 데이터 (102) 의 화소들을 비교할 수도 있다. SLIC 기법은 컬러들을 다차원 모델에 매핑하는 컬러 공간 모델, 이를테면 국제조명위원회 (International Commission on Illumination) L *, a *, 및 b * (CIELAB) 컬러 공간 모델에 관련하여 수행될 수도 있다.
SLIC 기법은, k = 1, 2,... K에 대한 K 개의 슈퍼화소 중심들 (C_k) 을 식별할 수도 있으며, 여기서 각각의 그리드 간격이 그리드 간격 사이즈 (S) 를 갖는 그리드 간격들에서 C_k = [l_k, a_k, b_k, x_k, y_k]T 이며, K는 양의 정수, T는 전치행렬 (transpose) 동작을 나타내고, l, a, b, x, 및 y는 CIELAB 컬러 공간 모델에 연관된 파라미터들을 나타낼 수도 있다. 특정 실시형태에서, 임의의 슈퍼화소의 공간적 범위가 대략 2S이다. 따라서, 특정 슈퍼화소에 포함된 화소들은 (x-y 평면을 기준으로) 슈퍼화소의 중심 주위의 2S×2S 영역 내에 놓일 수도 있다. 2S×2S 영역은 각각의 슈퍼화소 중앙과는 유사한 화소들에 대한 "검색 영역"에 대응할 수도 있다.
CIELAB 컬러 공간 모델에서, 특정한 유클리드 거리들 (예컨대, 다차원 모델에서 컬러들을 나타내는 포인트들 간의 거리) 이 디스플레이에서 구현되는 경우 사용자에 의해 인지 가능하여, 열악한 시각적 외관 또는 다른 효과를 잠재적으로 초래할 수도 있다. 공간적 화소 거리들이 이러한 인지 컬러 거리 임계값을 초과한다면, 공간적 화소 거리들은 화소 컬러 유사도들보다 중대하여, 이미지 왜곡을 초래할 수도 있다 (예컨대, 지역 경계들은 아니고, 이미지 평면에서의 근접성만 중요시하는 슈퍼화소들을 초래할 수도 있다). 그러므로, 5-차원 (5D) 공간에서 단순 유클리드 노름 (Euclidean norm) 을 사용하는 대신, D_s = d_lab + (m/S)d_xy 이며 여기서 d_lab = sqrt[(l_k - l_i)^2 + (a_k - a_i)^2 + (b_k - b_i)^2)], d_xy = sqrt[(x_k - x_y)^2 + (x_k - x_y)^2], m이 슈퍼화소의 밀집도 (compactness) 의 제어를 가능하게 하는 변수이고, S가 그리드 간격 사이즈 (S) 를 나타내도록 거리 측정값 (D_s) 이 정의될 수도 있다. 이 예에서, D_s는 랩 (lab) 거리 (d_lab) 와 그리드 간격 사이즈 (S) 에 의해 정규화되고 변수 m에 의해 결정된 "밀집도"를 갖는 x-y 평면 거리 (d_xy) 의 합에 대응한다. 더 예시하기 위해, 표 1은 클러스터 식별자 (124) 의 일 예의 동작에 대응하는 예의 의사-코드를 도시한다.
1: 규칙적인 그리드 단계들 (S) 에서 화소들을 샘플링함으로써 클러스터 중심들 C_k = [l_k, a_k, b_k, x_k, y_k]T 를 초기화.
2: 최저 경사도 포지션까지 n×n 이웃에서 클러스터 중심들을 교란.
3: repeat
4: for 각각의 클러스터 중심 (C_k) do
5: 거리 측정값 (D_S) 에 따라 클러스터 중심 주위에 2S×2S 평방 이웃으로부터의 최상의 매칭 화소들을 배정
6: end for
7: 새로운 클러스터 중심들과 잔차 에러 (E) {이전의 중심들 및 재컴퓨팅된 중심 간의 L1 거리}를 컴퓨팅
8: until E ≤ 임계값
9: 접속성 강화.
이미지 세그먼트 생성자 (128) 는 하나 이상의 세그먼트화 기법들을 사용하여 이미지를 세그먼트화하기 위해 클러스터 식별자 (124) 에 응답할 수도 있다. 예를 들어, 이미지 세그먼트 생성자 (128) 는 클러스터 식별ID (126) 에 기초하여 세그먼트화 마스크 (130) 를 생성할 수도 있다. 특정 예에서, 세그먼트화 마스크 (130) 는, 이를테면 클러스터 식별ID (126) 에 기초하여 이미지 계층 (106a) 으로부터 이미지 계층 (104a) 을 분리함으로써, 이미지 데이터 (102) 의 하나 이상의 포어그라운드 또는 백그라운드 계층들을 식별한다. 이미지 세그먼트 생성자 (128) 는 클러스터 식별자 (124) 에 의해 식별된 하나 이상의 클러스터들을 이미지 데이터 (102) 의 나머지로부터 격리시킴으로써 세그먼트화 마스크 (130) 를 생성할 수도 있다. 예를 들어, 이미지 세그먼트 생성자 (128) 는 세그먼트화 마스크 (130) 를 생성하기 위해 이미지 데이터 (102) 로부터 클러스터 식별ID (126) 에 의해 나타내어진 화소들의 하나 이상의 그룹들을 세그먼트화 (예컨대, 제거, 구획화 등) 할 수도 있다.
특정 실시형태에서, 이미지 세그먼트 생성자 (128) 는 클러스터 식별자 (124) 에 의해 생성된 슈퍼화소들의 세트 (z_n) 에 응답한다. 슈퍼화소들은 CIELAB 컬러 공간 모델을 사용하여 표현될 수도 있다. 이미지 세그먼트 생성자 (128) 는 "그랩컷 (grabcut)" 기법을 슈퍼화소들의 세트에 적용할 수도 있다. 이미지 세그먼트 생성자 (128) 는 그랩컷 기법을 사용하여 가우시안 혼합 모델 (Gaussian mixture model, GMM) 을 생성할 수도 있다. 특정 실시형태에서, 이미지 세그먼트 생성자 (128) 는 이미지의 포어그라운드의 슈퍼화소들에 대응하는 가우시안 분포들의 제 1 세트를 갖는 제 1 GMM을 생성하도록 구성되고, 또한, 이미지의 백그라운드의 슈퍼화소들에 대응하는 가우시안 분포들의 제 2 세트를 갖는 제 2 GMM을 생성하도록 구성된다. 각각의 GMM은 양의 정수의 K 개 성분들 (예컨대, K = 5) 을 갖는 전체-공분산 가우시안 혼합에 대응할 수도 있다. 이미지 프로세싱 동작들의 취급용이성 (tractability) 을 개선하기 위해, 벡터 k = {k_1,... k_n,... k_N }은, k_n ∈ {1,... K}인 GMM들에 관련하여 사용될 수도 있다. 대응하는 GMM 컴포넌트 (예컨대, α_n) 가 각각의 화소에 배정될 수도 있다. GMM 컴포넌트는 백그라운드 GMM 또는 포어그라운드 GMM 중 어느 하나로부터 (예컨대, α_n = 0 또는 α_n = 1에 따라) 선택될 수도 있다.
이미지 세그먼트 생성자 (128) 의 동작은 에너지 소비량, 이를테면 E(α,k,θ,z) = U(α,k,θ,z) + V(α,z) 에 대응하는 깁스 (Gibbs) 에너지와 연관될 수도 있으며, 여기서 k는 GMM 변수를 나타낼 수도 있으며, U는 데이터 항, U(α,k,θ,z) = Σ n D n (α n ,k n ,θ,z n ) 을 나타낼 수도 있으며, D n (α n ,k n ,θ,z n ) = -logp(z n |α n ,k n ) - logπ(α n ,k n ), D n 은 가우시안 확률 분포를 나타낼 수도 있고, p(·) 는 혼합 가중 계수들을 나타낼 수도 있어서, (상수가 되기까지) 다음이 된다: D n (α n ,k n ,θ,z n ) = -logπ(α n ,k n ) + ½logdetΣ(α n ,k n ) + ½[z n - μ(α n ,k n )] T Σ(α n ,k n )-1[z n - μ(α n ,k n )]. 그러므로, 모델의 파라미터들은 θ = {π(α,k),μ(α,k),∑(α,k),α=0,1, k=1...K} (즉, 백그라운드 및 포어그라운드 분포들에 대한 2K 개 가우시안 성분들의 가중치들 π, 평균 μ, 및 공분산들 Σ) 에 대응할 수도 있다. 특정 예에서, 평활도 (smoothness) 항 (V) 은 콘트라스트 항이 다음에 따라 컬러 공간에서 유클리드 거리를 사용하여 컴퓨팅된다는 것을 제외하면 모노크롬 예에 비하여 변경되지 않는다: V(α,z)=γ(m,n)∈C[α m α n ]exp(-β∥z m -z n 2). 더 예시하기 위해, 표 2는 프로세서 (100) 의 일 예의 동작에 대응하는 예의 의사-코드를 도시한다.
초기화
Figure 112016084340336-pct00001
포어그라운드 상의 슈퍼화소들은 T F 로 설정되며; 백그라운드 상의 슈퍼화소들은 T B 로 설정된다. 슈퍼화소들의 나머지는 T U =1-T F -T B 로 설정된다.
Figure 112016084340336-pct00002
슈퍼화소 상의 접속성 네트워크를 생성
Figure 112016084340336-pct00003
n∈T B 에 대해 α n = 0 으로 그리고 n∈T F 에 대해 α n = 1 로 초기화
Figure 112016084340336-pct00004
슈퍼화소들의 각각의 쌍 간의 가중치를 계산
반복적 최소화
1. 백그라운드 및 포어그라운드 GMM들이 각각 세트들 (α n = 0 및 α n = 1) 로부터의 평균을 사용하여 (예컨대, 백그라운드 및/또는 포어그라운드 사용자 입력에 따라) 초기화됨.
2. GMM 컴포넌트들을 화소들에 배정: T U 에서의 각각의 n 에 대해,
Figure 112016084340336-pct00005
3.세그먼트화를 추정: 풀이를 위해 최소 컷을 사용:
Figure 112016084340336-pct00006
4. 결과 마스크 상의 컴포넌트 라벨링을 행함 (예컨대, 이미지 컴포넌트 라벨러 (132) 에 의해 세그먼트화 마스크 (130) 상의 이미지 컴포넌트 라벨링을 수행)
사용자 편집
Figure 112016084340336-pct00007
동작을 리파인: 추가의 사용자 입력 (예컨대, 사용자 스와이프 액션들) 을 수신하고 전체 반복적 최소화 알고리즘 (예컨대, 반복 1, 2, 3, 및/또는 4) 을 수행
이미지 컴포넌트 라벨러 (132) 는 이미지 세그먼트 생성자 (128) 에 응답할 수도 있다. 예를 들어, 이미지 컴포넌트 라벨러 (132) 는 하나 이상의 이미지 아티팩트들, 이를테면 이미지 아티팩트 (134) 에 대해 세그먼트화 마스크 (130) 를 분석할 수도 있다. 이미지 아티팩트 (134) 는 이미지의 다른 부분과는 분리되는 "고의 아니게" 분리되는 이미지의 부분에 대응할 수도 있다. 예를 들어, 이미지의 부분이 이미지의 포어그라운드 또는 백그라운드에 있는 것으로서 "오식별 (misidentified)"될 수도 있고, 이미지 아티팩트 (134) 는 "오식별된" 부분에 대응할 수도 있다. 특정 실시형태에서, 이미지 컴포넌트 라벨러 (132) 는 이미지 아티팩트 (134) 를 식별하기 위해 사용자 입력에 응답할 수도 있다.
특정 실시형태에서, 이미지 컴포넌트 라벨러 (132) 는 이미지 세그먼트 생성자 (128) 의 동작을 보상하도록 구성된다. 예시를 위하여, 세그먼트화 마스크 (130) 는 이미지 세그먼트 생성자 (128) 의 컬러 기반 동작으로 인한 하나 이상의 "홀들" (예컨대, 이미지 아티팩트들, 이를테면 이미지 아티팩트 (134)) 을 가질 수도 있다. 게다가, 하나 이상의 오브젝트들 또는 계층들은 컬러 유사도로 인해 "오라벨링될 (mislabeled)" 수도 있다. 예를 들어, 공통 오브젝트의 상이한 컬러들이 포어그라운드 및 백그라운드로서 오라벨링될 수도 있고, 그리고/또는 상이한 오브젝트들의 유사한 컬러들이 포어그라운드 또는 백그라운드로서 오라벨링될 수도 있다. 이미지 컴포넌트 라벨러 (132) 는 오브젝트로서의 포어그라운드 지역에 대해 동작하도록 구성될 수도 있고, 오브젝트는 도메인, 이를테면 "단순-접속성 도메인"으로서 운용될 수도 있다. 더 예시하기 위해, 표 3은 이미지 컴포넌트 라벨러 (132) 의 일 예의 동작에 대응하는 예의 의사-코드를 도시한다.
1: repeat
2: for 각각의 포어그라운드 슈퍼화소 do
3: 이 슈퍼화소를 대응하는 지역을 라벨링하기 위한 시드로서 취함
4: 이 지역의 윤곽을 찾음
5: 이 지역을 FloodFill에 의해 채움
6: end for
7: until 모든 슈퍼화소들이 프로세싱됨
8: 포어그라운드/백그라운드 스트로크 상의 슈퍼화소를 체크.
이미지 수정자 (136) 는 이미지 컴포넌트 라벨러 (132) 에 응답할 수도 있다. 이미지 수정자 (136) 는 또한, 이미지 데이터 (102) 의 제 2 계층의 제 2 속성과는 독립적으로 이미지 데이터 (102) 의 제 1 계층의 제 1 속성을 조정하기 위해, 이를테면 프로세서 (100) 를 포함하는 디바이스의 사용자 인터페이스 (UI) 를 통해 사용자 입력에 응답할 수도 있다. 예시하기 위해, 도 1의 예는 이미지 데이터 (102) 에 대응하는 수정된 이미지 데이터 (138) 를 생성할 수도 있는 이미지 수정자 (136) 를 도시한다. 수정된 이미지 데이터 (138) 는 이미지 계층 (106a) 에 대하여 이미지 계층 (104a) 의 독립적 수정을 묘사할 수도 있다.
수정된 이미지 데이터 (138) 는 이미지 계층 (104a) 에 대응하는 이미지 계층 (104b) 을 포함할 수도 있고 또한, 이미지 계층 (106a) 에 대응하는 이미지 계층 (106b) 을 포함할 수도 있다. 이미지 계층 (104b) 은 클러스터들 (108a, 110a) 에 대응하는 클러스터들 (108b, 110b) 을 포함할 수도 있고, 이미지 계층 (106b) 은 클러스터들 (112a, 114a) 에 대응하는 클러스터들 (112b, 114b) 을 포함할 수도 있다. 도 1의 예는 클러스터 (108b) 가 속성 (116) 에 비하여 (예컨대, 사용자 입력에 기초하여) 수정된 속성 (140) 을 가짐을 도시한다. 예시하기 위해, 사용자 입력은 프로세서 (100) 가 수정된 이미지 데이터 (138) 를 생성하게 하는 이미지 데이터 (102) 의 컬러 속성, 선명도 속성, 블러링 속성, 및/또는 콘텍스트 속성의 수정을 나타낼 수도 있다. 게다가, 도 1의 예는 하나 이상의 다른 속성들과는 독립적으로, 이를테면 (속성들 (118a, 120a, 및 122a) 에 비하여 변경 없이 남아 있을 수도 있는 또는 특정 사용자 입력에 의존하여 조정되었을 수도 있는) 속성들 (118b, 120b, 및 122b) 과는 독립적으로 속성 (140) 을 생성하기 위해 속성 (116) 이 수정되었음을 도시한다.
도 1의 기법들은 하나 이상의 시각적 효과들을 달성하기 위한 이미지의 다수의 계층들의 독립적 조정을 예시한다. 도 1의 예는 그러므로 프로세서 (100) 를 구비하는 디바이스의 이미지 편집 동작들의 증대된 사용자 제어를 가능하게 한다. 특정 예시적인 예에서, 디바이스의 사용자가, 이를테면 포어그라운드는 아니고 백그라운드를 (또는 반대의 경우로) "블러링"함으로써, 이미지의 백그라운드의 속성에 비하여 이미지의 포어그라운드의 속성을 독립적으로 수정할 수도 있다. 특정 예로서, 백그라운드는 "슈퍼 초점" 카메라 효과를 근사화하기 위해 블러링될 수도 있다.
게다가, 도 1은 이미지 계층들을 추출하기 위한 "슈퍼화소 기반 그랩컷" 기법의 일 예를 설명한다. 특정한 기존의 이미지 프로세싱 기법들은 이미지를 "전역적으로" (또는 " 화소 마다" 기반으로) 세그먼트화하는 것을 시도한다. 도 1의 예는 이미지 데이터 (102) 의 클러스터들을 식별하고 클러스터들에 기초하여 이미지를 세그먼트화하는데, 이는 글로벌 기법들과 비교하면 이미지 프로세싱 동작들의 성능을 개선시킬 수도 있다. 게다가, 화소마다 기반으로 이미지 데이터를 분석하는 글로벌 기법과 비교하면, 이미지 리파인먼트 동작들 (예컨대, 이미지 계층 또는 오브젝트의 하나 이상의 경계들을 "정정"하는 하나 이상의 알고리즘 반복들) 이 슈퍼화소 기반 그랩컷 기법을 사용하여 가속화될 수도 있다. 덧붙여서, 에지 리콜과 밀집도가 클러스터링 기법 (예컨대, SLIC) 의 두 개의 특징들이라는 것이 발견되었다. 에지 리콜은 향상된 경계 검출과 연관될 수도 있고, 밀접도는 이미지 세그먼트화 동작 (예컨대, 그랩컷) 에 관련하여 유용할 수도 있다. 따라서, 슈퍼화소 기반 그랩컷 기법을 이용하는 디바이스가 개선된 성능을 특징으로 할 수도 있다.
도 2를 참조하면, 이미지의 일 예가 묘사되어 있고 전체가 200으로 지정된다. 이미지 (200) 는 백그라운드 (202) 와 포어그라운드 (204) 를 포함한다. 특정 예에서, 백그라운드 (202) 는 이미지 계층 (104a) 에 대응하고, 포어그라운드 (204) 는 이미지 계층 (106a) 에 대응한다. 이미지 (200) 는 이미지 데이터 (102) 에 대응할 수도 있다 (예컨대, 이미지 데이터 (102) 는 이미지 (200) 를 표현할 수도 있다).
도 2는 또한 클러스터링된 이미지 (210) 를 예시한다. 클러스터링된 이미지 (210) 는 클러스터 식별자 (124) 에 의해 생성될 수도 있다. 클러스터링된 이미지 (210) 는 이미지 (200) 의 화소들의 다수의 클러스터들, 이를테면 대표 클러스터 (212) 를 포함한다. 클러스터 (212) 는 클러스터 식별ID (126) 에 의해 식별될 수도 있다.
도 2는 또한 결과적인 이미지 (220) 를 예시한다. 결과적인 이미지 (220) 는 클러스터링된 이미지 (210) 에 기초한 이미지 (200) 의 제 2 계층의 제 2 속성과는 독립적인 이미지 (200) 의 제 1 계층의 제 1 속성의 조정을 예시한다. 예를 들어, 도 2에 예시된 바와 같이, 이미지 (200) 의 백그라운드 부분 (202) 은 결과적인 이미지 (220) 를 생성하기 위해 제거되었다. 예시하기 위해, 백그라운드 (202) 는 클러스터링된 이미지 (210) 에 기초하여, 이를테면 클러스터링된 이미지 (210) 의 클러스터들의 유사도들에 기초하여 제거될 수도 있다. 특정 실시형태에서, 미리 결정된 콘텐츠가 백그라운드 (202) 를 대신할 수 있다. 특정 예시적인 예로서, 백그라운드 (202) 에 해당하는 삼림 장면이 해변 장면 (또는 다른 장면) 으로 대체될 수도 있다.
도 2의 예는 이미지의 계층들의 독립적 수정을 예시한다. 디바이스의 사용자가 그러므로, 이미지 편집 효과를 전체 이미지에 적용하는 디바이스와 비교하면 이미지 편집 동작들의 더 많은 제어를 경험할 수도 있다.
도 3은 이미지 (300), 이미지 (300) 에 대응하는 세그먼트화 마스크 (310) 의 예시적인 묘사, 및 수정된 이미지 (320) 의 일 예를 묘사한다. 도 3에서, 수정된 이미지 (320) 는 이미지 (300) 를 수정하기 위해 세그먼트화 마스크 (310) 를 사용하여 생성된다. 예를 들어, 도 3에 예시된 바와 같이, 세그먼트화 마스크 (310) 는 다수의 포어그라운드 오브젝트들을 식별한다. 도 1의 이미지 세그먼트 생성자 (128) 는 이미지 (300) 의 백그라운드에 비하여 다수의 포어그라운드 오브젝트들을 세그먼트화함으로써 이미지 (300) 를 세그먼트화할 수도 있다. 이런 방식으로, 이미지 계층 속성들의 독립적 수정이 가능하게 된다.
이미지 (300) 의 다수의 계층들을 세그먼트화함으로써, 이미지 (300) 의 다수의 계층들은 독립적으로 조정될 수 있다. 도 3의 예에서, 수정된 이미지 (320) 는 블러링된 백그라운드를 포함한다. 게다가, 수정된 이미지 (320) 는, 이를테면 하나 이상의 포어그라운드 오브젝트들의 컬러 속성을 변경함으로써, 이미지 (300) 에 비하여 수정된 하나 이상의 포어그라운드 오브젝트들을 포함할 수도 있다. 예시하기 위해, 세그먼트화 마스크 (310) 는, 이를테면 하나의 포어그라운드 오브젝트의 셔츠 컬러를 다른 포어그라운드 오브젝트의 셔츠 컬러와는 독립적으로 수정함으로써, 각각이 서로에 비하여 (그리고 백그라운드에 비하여) 독립적으로 수정될 수 있는 다수의 포어그라운드 오브젝트들을 식별한다.
도 3의 예는 세그먼트화 마스크 (이를테면 세그먼트화 마스크 (310)) 가 이미지의 계층들의 속성들의 독립적 조정을 가능하게 하기 위해 사용될 수도 있다는 것을 도시한다. 예를 들어, 세그먼트화 마스크 (310) 는 이미지 (300) 의 포어그라운드 부분들의 독립적 컬러 조정을 가능하게 할 수도 있다.
도 4를 참조하면, 이미지가 묘사되어 있고 전체가 400으로 지정된다. 이미지 (400) 는 사용자 인터페이스 (UI) 에서 디스플레이될 수도 있다. UI는 이미지 (400) 의 제 2 계층의 제 2 속성에 비하여 이미지 (400) 의 제 1 계층의 제 1 속성을 사용자가 독립적으로 조정하는 것을 가능하게 할 수도 있다. 예시하기 위해, 도 4의 예는 사용자 입력 (402) 을 도시한다. 사용자 입력 (402) 은 이미지 (400) 를 디스플레이하는 모바일 디바이스의 디스플레이 디바이스에서와 같은 사용자에 의한 디스플레이 디바이스에서의 스와이프 액션에 해당할 수도 있다. 도 4의 예에서, 사용자 입력 (402) 은 이미지 (400) 의 이미지 계층, 이를테면 이미지 백그라운드를 나타낼 수도 있다. 사용자 입력 (402) 은 이미지 (400) 의 이미지 계층을 선택하기 위하여 적어도 UI의 화소들의 임계 수를 나타낼 수도 있다. 예시를 위하여, 사용자가 뜻하지 않게 UI를 터치하여 사용자 입력 (402) 을 생성한다면, 사용자 입력 (402) 은 화소들의 임계 수보다 더 적은 것을 나타낼 수도 있고, 사용자 입력 (402) 은 계층의 선택을 야기하지 않을 수도 있다. 대안으로, 사용자 입력 (402) 이 적어도 화소들의 임계 수를 나타낸다면, 사용자 입력 (402) 은 계층의 선택을 야기할 수도 있다.
도 4는 또한 이미지 (410) 를 예시한다. 이미지 (410) 에서, 백그라운드 부분은, 이를테면 사용자 입력 (402) 에 응답하여 제거되었다. 예를 들어, 사용자 입력 (402) 이 이미지 (400) 의 백그라운드 부분을 지정하면, 이미지 (400) 의 백그라운드 부분은 클러스터 식별 및/또는 세그먼트화 기법, 이를테면 도 1 내지 도 3을 참조하여 설명된 하나 이상의 기법들을 사용하여 제거될 수도 있다.
도 4는 또한 이미지 (410) 의 리파인먼트에 대응하는 이미지 (420) 를 예시한다. 예를 들어, 추가적인 사용자 입력에 기초하여, 이미지 (410) 의 추가적인 백그라운드 부분은 이미지 (420) 를 생성하기 위해 제거될 수도 있다.
도 4에서, 사용자 입력은 하나 이상의 부가적인 백그라운드 부분들을 제거하도록 이미지 (420) 를 업데이트하기 위해 수신될 수도 있다. 예를 들어, 추가적인 사용자 입력은 세그먼트화 마스크 (430) 를 생성하기 위해 수신될 수도 있다. 세그먼트화 마스크 (430) 는 이미지 아티팩트 (432) 를 포함한다. 이미지 아티팩트 (432) 는 도 1의 이미지 아티팩트 (134) 에 대응할 수도 있다. 예시하기 위해, 이미지 세그먼트 생성자 (128) 의 동작은 세그먼트화 마스크 (430) 에 대응하는 세그먼트화 마스크 (130) 를 생성할 수도 있다. 그러나, 세그먼트화 마스크 (130) 는 하나 이상의 이미지 아티팩트들, 이를테면 이미지 아티팩트 (432) 를 포함할 수도 있다. 특정 실시형태에서, 이미지 컴포넌트 라벨러 (132) 는 이미지 (440) 를 생성하기 위해 이미지 아티팩트 (432) 를 제거하도록 동작한다. 이미지 (400) 는 수정된 이미지 데이터 (138) 에 대응할 수도 있다.
도 4는 이미지 편집 동작들의 사용자에 의한 더 많은 제어를 가능하게 하는 기법들을 예시한다. 도 4는 또한, 이미지 편집 동작들의 품질을 더욱 개선하기 위한 이미지 아티팩트 (432) 와 같은 이미지 아티팩트의 제거를 예시한다. 도 4의 기법들은 도 5를 참조하여 추가로 설명되는 바와 같이, 사용자 인터페이스 (UI) 에 관련하여 이용될 수도 있다.
도 5는 사용자 인터페이스 (UI) (500) 의 일 예를 도시한다. UI (500) 는 디스플레이에서, 이를테면 모바일 디바이스의 디스플레이에서 제시될 수도 있다. 디스플레이는 사용자 입력을 수신하도록 구성된 터치스크린 디스플레이에 해당할 수도 있다. 도 5의 예에서, UI (500) 는 이미지 편집 애플리케이션 (예컨대, 이미지들을 그래픽으로 제시하고 이미지들 상의 이미지 편집 동작들을 용이하게 하는 모바일 디바이스 애플리케이션) 에 관련하여 사용자에게 제시되는 다수의 이미지들을 나타낸다.
도 5는 또한, 이미지 (502) 의 선택 시 UI (500) 에 해당하는 UI (510) 를 예시한다. 이미지 (502) 를 나타내는 사용자 입력 (504) 에 응답하여, 이미지 편집 애플리케이션은 (예컨대, 섬네일 뷰로부터 전체 뷰로 이미지를 확대함으로써) UI (520) 를 생성하기 위해 이미지 (502) 를 확대할 수도 있다. 사용자 입력 (504) 은 구체적인 예들로서, UI (510) 에서의 스와이프 액션 또는 탭 액션에 해당할 수도 있다.
특정 예시적인 실시형태에서, 사용자 인터페이스 (UI) (530) 는 다수의 버튼들, 이를테면 버튼들 (532, 534, 536, 538) 에 관련하여 이미지 (502) 를 묘사한다. 버튼들 (532, 534, 536, 및 538) 은 하나 이상의 동작들, 이를테면 이미지 (502) 의 이미지 속성들의 조정에 배정될 수도 있다.
예시하기 위해, 사용자가 버튼 (534) 을 선택할 수도 있다. 버튼 (534) 은 UI (530) 에 의해 묘사되는 이미지의 백그라운드 또는 포어그라운드 부분의 표시를 용이하게 하기 위해 사용자에 의해 선택될 수도 있다. 더 예시하기 위해, 도 5는 사용자 입력이 이미지 (502) 의 백그라운드 및/또는 포어그라운드를 지정하기 위해 수신되는 UI (540) 를 예시한다. 사용자 입력은 도 4의 사용자 입력 (402) 에 해당할 수도 있다. 특정 예시로서, 사용자가 버튼 (534) 을 (예컨대, 동작의 백그라운드 지정 모드로 진입하기 위해) 선택한 다음 UI (540) 에 디스플레이된 이미지의 백그라운드 부분을 지정하기 위해 사용자 입력 (예컨대, 사용자 입력 (402)) 을 입력할 수도 있다. 사용자 입력은 이미지의 백그라운드 부분에 지정되는 스와이프 액션에 해당할 수도 있다. 버튼들 (532, 536, 및 538) 중 하나 이상은 이미지의 포어그라운드 부분을 지정하기 위해 사용 가능한 포어그라운드 지정 버튼으로서 기능을 할 수도 있다. 버튼들 (532, 536, 538) 중 하나 이상은 디폴트 동작들 (예컨대, 특정 이미지 편집 애플리케이션에 연관됨) 및/또는 사용자 정의 동작들 (예컨대, 사용자 선호 입력 (user preference input) 에 기초한 사용자 정의 동작들) 에 해당할 수도 있다.
더 예시하기 위해, 이미지 계층 내의 다수의 오브젝트들이 식별된다면, 버튼들 (532, 536, 및 538) 은 사용자가 다수의 오브젝트들 사이에서 선택하는 것을 가능하게 할 수도 있다. 특정 예로서, 다수의 포어그라운드 오브젝트들이 (예컨대, 도 3의 이미지 (300) 에 관련하여) 식별된다면, 버튼 (536) 은 제 1 포어그라운드 오브젝트를 지정하는데 사용될 수도 있고, 버튼 (538) 은 제 2 포어그라운드 오브젝트를 지정하는데 사용될 수도 있다. 이 예에서, 버튼 (536) 을 누른 후, 제 1 포어그라운드 오브젝트를 가리키는 사용자 스와이프 액션이 제 1 포어그라운드 오브젝트을 타겟으로 하는 이미지 편집 동작을 개시하게 할 수도 있다. 마찬가지로, 버튼 (538) 을 누른 후, 제 2 포어그라운드 오브젝트를 가리키는 사용자 스와이프 액션이 제 2 포어그라운드 오브젝트를 타겟으로 하는 이미지 편집 동작을 개시하게 할 수도 있다.
도 5는 사용자가 이미지 편집 동작들을 간단히 그리고 효과적으로 제어하는 것을 가능하게 하는 향상된 사용자 인터페이스 (UI) 기법들을 예시한다. 예를 들어, 사용자가 도 5의 예에서 설명된 바와 같이 버튼 (534) 을 사용하여 이미지의 백그라운드 부분 (또는 포어그라운드 부분) 을 지정할 수도 있다.
도 6을 참조하면, 방법의 특정 예시적인 실시형태가 묘사되어 있고 전체가 600으로 지정된다. 방법 (600) 은 디바이스에서, 이를테면 프로세서를 구비하는 모바일 디바이스에서 수행될 수도 있다. 특정 예시적 실시형태에서, 방법 (600) 은 도 1의 프로세서 (100) 에 의해 수행된다.
방법 (600) 은, 604에서, 이미지에 대응하는 이미지 데이터를 수신하는 단계를 포함한다. 이미지 데이터는 이미지 데이터 (102) 에 해당할 수도 있다. 이미지는 카메라에 의해 캡처된 이미지에 해당할 수도 있고, 이미지 데이터는 이미지의 편집을 가능하게 하는 이미지 편집 애플리케이션에 관련하여 로딩될 수도 있다. 방법 (600) 은, 608에서, 이미지 데이터에 연관된 클러스터를 식별하는 단계를 더 포함할 수도 있다. 특정 예에서, 클러스터 식별자 (124) 는 이미지 데이터 (102) 의 클러스터, 이를테면 클러스터 (108a) 를 식별할 수도 있다.
방법 (600) 은, 612에서, 클러스터에 기초하여 이미지의 제 1 이미지 계층을 식별함으로써 이미지 데이터를 세그먼트화하는 단계를 더 포함할 수도 있다. 예시하기 위해, 클러스터 식별자 (124) 는 클러스터 식별ID (126) 를 이미지 세그먼트 생성자 (128) 에게 제공할 수도 있다. 클러스터 식별ID (126) 에 기초하여, 이미지 세그먼트 생성자 (128) 는 이미지의 포어그라운드 부분을 식별함으로써 이미지 데이터를 세그먼트화할 수도 있다. 이미지 세그먼트 생성자 (128) 는 이미지의 이미지 계층들의 독립적 수정을 가능하게 하기 위해 세그먼트화 마스크 (130) 를 생성할 수도 있다.
방법 (600) 은, 616에서, 제 1 이미지 계층을 사용하여 하나 이상의 컴포넌트 라벨링 동작들을 개시하는 단계를 더 포함할 수도 있다. 방법 (600) 은, 620에서, 이미지의 제 2 이미지 계층 (예컨대, 백그라운드) 을 식별하는 단계를 더 포함할 수도 있다. 방법 (600) 은, 624에서, 제 2 이미지 계층의 제 2 속성과는 독립적으로 제 1 이미지 계층의 제 1 속성을 조정할 것을 디바이스의 사용자에게 프롬프트하는 단계를 더 포함할 수도 있다. 특정 예로서, 디바이스의 사용자에게는 속성들 (118a, 120a, 및 122a) 중 하나 이상과는 독립적으로 (예컨대, 속성 (140) 을 생성하기 위해) 속성 (116) 을 조정할 것이 프롬프트될 수도 있다.
방법 (600) 은, 628에서, 사용자 입력을 수신하는 단계를 더 포함할 수도 있다. 특정 실시형태에서, 사용자 입력은 디바이스의 디스플레이에서, 이를테면 터치스크린에서 수신된다. 방법 (600) 은, 640에서, 수정된 이미지를 사용자 입력에 기초하여 생성하는 단계를 더 포함할 수도 있다. 수정된 이미지는 도 1의 수정된 이미지 데이터 (138) 에 대응할 수도 있다.
도 6의 방법 (600) 은 사용자에 의한 이미지 편집 동작들의 단순화된 그리고 효율적인 제어를 가능하게 한다. 예를 들어, 방법 (600) 은 이미지 편집 동작들을 통한 높은 레벨의 사용자 제어 (예컨대, 이미지의 계층들의 독립적 조정) 를 여전히 가능하게 하면서도 휴대용 디바이스 (예컨대, 터치스크린 사용자 인터페이스를 갖는 모바일 디바이스) 에 관련하여 이용될 수도 있다.
도 7을 참조하면, 방법의 특정 예시적인 실시형태가 묘사되어 있고 전체가 700으로 지정된다. 방법 (700) 은 디바이스에서, 이를테면 프로세서를 구비하는 모바일 디바이스에서 수행될 수도 있다. 특정 예시적 실시형태에서, 방법 (700) 은 도 1의 프로세서 (100) 에 의해 수행된다.
방법 (700) 은, 708에서, 이미지에 대응하는 이미지 데이터를 제 1 이미지 계층과 제 2 이미지 계층으로 세그먼트화하는 단계를 포함한다. 제 1 이미지 계층과 제 2 이미지 계층은 구체적인 예들로서 이미지 계층들 (104a, 106a) 에 각각 해당할 수도 있다.
방법 (700) 은, 712에서, 사용자 입력에 기초하여 제 2 이미지 계층의 제 2 속성과는 독립적으로 제 1 이미지 계층의 제 1 속성을 조정하는 단계를 더 포함할 수도 있다. 특정 예에서, 제 1 속성은 속성 (116) 에 해당하고, 제 2 속성은 속성들 (120a, 122a) 중 하나 이상에 해당한다.
방법 (700) 은 향상된 이미지 편집 동작들을 용이하게 한다. 예를 들어, 이미지 편집 동작이 하나의 이미지 계층에 대해 다른 이미지 계층에 비하여 상이한 이미지 편집 효과를 달성하기 위해 이미지 계층들 (예컨대, 백그라운드 및 포어그라운드) 을 따로따로 타겟으로 할 수도 있다.
도 8을 참조하면, 모바일 디바이스의 특정 예시적인 실시형태의 블록도가 묘사되어 있고 전체가 800으로 지정된다. 모바일 디바이스 (800) 는 하나 이상의 프로세싱 자원들 (810) 을 구비할 수도 있다. 하나 이상의 프로세싱 자원들 (810) 은 프로세서 (100) 를 포함한다. 하나 이상의 프로세싱 자원들 (810) 은 컴퓨터 판독가능 매체에, 이를테면 메모리 (832) (예컨대, 비일시적 컴퓨터 판독가능 매체) 에 커플링될 수도 있다. 메모리 (832) 는 하나 이상의 프로세싱 자원들 (810) 에 의해 실행 가능한 명령들 (858) 과 하나 이상의 프로세싱 자원들 (810) 에 의해 사용 가능한 데이터 (852) 를 저장할 수도 있다. 메모리 (832) 는 또한, 클러스트 식별 명령들 (892), 이미지 세그먼트화 명령들 (894), 및/또는 이미지 라벨링 명령들 (896) 을 저장할 수도 있다.
모바일 디바이스 (800) 는 이미지 센서, 이를테면 전하 결합 소자 (charge-coupled device, CCD) 이미지 센서 및/또는 상보성 금속-산화물-반도체 (complementary metal-oxide-semiconductor, CMOS) 이미지 센서를 갖는 카메라를 포함할 수도 있다. 예를 들어, 도 8은 카메라 (856) 가 카메라 제어기 (890) 에 커플링될 수도 있다는 것을 묘사한다. 카메라 제어기 (890) 는 하나 이상의 프로세싱 자원들 (810) 에 커플링될 수도 있다. 명령들 (858) 은 카메라 (856) 에 의해 캡처된 하나 이상의 이미지들을 편집하기 위해 프로세싱 자원들 (810) 에 의해 실행 가능한 이미지 편집 애플리케이션을 포함할 수도 있고, 데이터 (852) 는 하나 이상의 이미지들에 대응하는 이미지 데이터, 이를테면 이미지 데이터 (102) 를 포함할 수도 있다.
도 8은 하나 이상의 프로세싱 자원들 (810) 에 그리고 디스플레이 (828) 에 커플링되는 디스플레이 제어기 (826) 를 또한 도시한다. 그 디스플레이는 사용자 인터페이스 (UI) (872) 를 제시하도록 구성될 수도 있다. 특정 실시형태에서, 디스플레이 (828) 는 터치스크린을 포함하고, UI (872) 는 터치스크린에서의 사용자 동작들 (예컨대, 스와이프 동작) 에 응답한다.
코더/디코더 (CODEC) (834) 가 하나 이상의 프로세싱 자원들 (810) 에 또한 커플링될 수 있다. 스피커 (836) 와 마이크로폰 (838) 이 CODEC (834) 에 커플링될 수 있다. 도 8은 무선 제어기 (840) 가 하나 이상의 프로세싱 자원들 (810) 에 커플링될 수 있음을 또한 나타낸다. 무선 제어기 (840) 는 라디오 주파수 (RF) 인터페이스 (880) 를 통해 안테나 (842) 에 추가로 커플링될 수도 있다.
특정 실시형태에서, 하나 이상의 프로세싱 자원들 (810), 메모리 (832), 디스플레이 제어기 (826), 카메라 제어기 (890), CODEC (834), 및 무선 제어기 (840) 는 시스템-인-패키지 (system-in-package) 또는 시스템-온-칩 디바이스 (822) 에 구비된다. 입력 디바이스 (830) 와 전력 공급부 (844) 가 시스템-온-칩 디바이스 (822) 에 커플링될 수도 있다.
더구나, 특정 실시형태에서, 그리고 도 8에 예시된 바와 같이, 디스플레이 (828), 입력 디바이스 (830), 카메라 (856), 스피커 (836), 마이크로폰 (838), 안테나 (842), RF 인터페이스 (880), 및 전력 공급부 (844) 는 시스템-온-칩 디바이스 (822) 외부에 있다. 그러나, 디스플레이 (828), 입력 디바이스 (830), 카메라 (856), 스피커 (836), 마이크로폰 (838), 안테나 (842), RF 안테나 (880), 및 전력 공급부 (844) 의 각각은 시스템-온-칩 디바이스 (822) 의 컴포넌트에, 이를테면 인터페이스에 또는 제어기에 커플링될 수 있다.
설명된 실시형태들에 관련하여, 비일시적 컴퓨터 판독가능 매체가 명령들을 저장한다. 비일시적 컴퓨터 판독가능 매체는 메모리 (832) 에 해당할 수도 있고, 명령들은 클러스터 식별 명령들 (892), 이미지 세그먼트화 명령들 (894), 이미지 라벨링 명령들 (896), 및/또는 명령들 (858) 중 임의의 것을 포함할 수도 있다. 그 명령들은 프로세서가 이미지에 연관된 이미지 데이터를 제 1 이미지 계층과 제 2 이미지 계층으로 세그먼트화하게 하도록 프로세서 (예컨대, 프로세서 (100)) 에 의해 실행 가능하다. 이미지 데이터는 이미지 데이터 (102) 에 해당할 수도 있고, 제 1 이미지 계층과 제 2 이미지 계층은 이미지 계층들 (104a, 106a) 에 해당할 수도 있다. 그 명령들은 사용자 입력에 기초하여 제 2 이미지 계층의 제 2 속성과는 독립적으로 제 1 이미지 계층의 제 1 속성을 조정하도록 프로세서에 의해 추가로 실행 가능하다. 제 1 속성과 제 2 속성은, 예시적인 예로서, 속성들 (116, 120a) 에 해당할 수도 있다.
다른 특정 실시형태에서, 장치 (예컨대, 프로세서 (100)) 가 이미지에 연관된 이미지 데이터를 제 1 이미지 계층과 제 2 이미지 계층으로 세그먼트화하는 수단을 구비한다. 제 1 이미지 계층과 제 2 이미지 계층은 이미지 계층들 (104a, 106a) 에 해당할 수도 있다. 이미지 데이터를 세그먼트화하는 수단은 이미지 세그먼트 생성자 (128) 에 해당할 수도 있고, 이미지 데이터는 이미지 데이터 (102) 에 해당할 수도 있다. 그 장치는 사용자 입력에 기초하여 제 2 이미지 계층의 제 2 속성과는 독립적으로 제 1 이미지 계층의 제 1 속성을 조정하는 수단을 더 구비한다. 제 1 속성을 조정하는 수단은 이미지 수정자 (136) 에 해당할 수도 있다. 제 1 속성과 제 2 속성은, 예시적인 예로서, 속성들 (116, 120a) 에 해당할 수도 있다.
도 9를 참조하면, 모바일 디바이스 (902) 의 제 1 동작 상태가 묘사되어 있고 전체가 900으로 지정된다. 모바일 디바이스 (902) 는 프로세서 (100) (도 9에 도시되지 않음) 를 포함할 수도 있다. 대안으로 또는 덧붙여서, 모바일 디바이스는 다른 프로세서를 포함할 수도 있다.
모바일 디바이스 (902) 는 디스플레이 디바이스 (904) 와 메모리 (906) 를 구비한다. 디스플레이 디바이스 (904) 는 속성 (910) (예컨대, 컬러 속성) 을 갖는 그리고 추가로 속성 (912) (예컨대, 블러링 속성) 을 갖는 이미지 (908) 를 디스플레이할 수도 있다. 속성들 (910, 912) 은 이미지 (908) 의 공통 계층에 또는 그 이미지의 별개의 계층들에 해당할 수도 있다. 특정 예에서, 속성 (910) 은 이미지 계층 (104a) 의 속성 (116) 에 해당하고, 속성 (912) 은 이미지 계층 (106a) 의 속성 (120a) 에 해당한다.
메모리 (906) 는 이미지 (908) 에 대응하는 이미지 데이터 (914) 를 저장할 수도 있고 하나 이상의 사용자 구성 파라미터들 (916) 을 더 저장할 수도 있다. 사용자 구성 파라미터들 (916) 은 모바일 디바이스 (902) 에서 수신된 사용자 입력이 속성들 (910, 912) 중 하나 이상에 영향을 미치는 방법을 결정할 수도 있다. 예시하기 위해, 사용자 입력 (918) 은 모바일 디바이스 (902) 에서 수신될 수도 있다. 사용자 입력 (918) 은 모바일 디바이스 (902) 를 기준으로 하여 제 1 방향, 이를테면 세로 방향 또는 가로 방향을 실질적으로 나타낼 수도 있다.
본원에서 사용되는 바와 같이, 사용자 입력은, 특정 디바이스 구성 및/또는 애플리케이션에 의존하여 사용자 입력이 방향을 나타내는 것으로서 디바이스에 의해 인식될 것이라면, 그 방향을 "실질적으로" 가질 수도 있다. 예시하기 위해, 스와이프 입력이 정확히 수직이 아닐 수도 있지만 디바이스가 세로 방향을 나타내는 것으로서 스와이프 입력을 인식할 것이라면 실질적으로 수직일 수도 있다. 특정 비제한적 예로서, 스와이프 동작이 방향 내에 특정한 벡터 성분을 갖는다면, 스와이프 동작은 그 방향을 나타내는 것으로 인식되도록 디바이스가 구성될 수도 있다. 예를 들어, 디바이스에서의 사용자 입력은 디바이스에 의해 다수의 방향 성분들 (예컨대, 벡터들) 로 분해될 수도 있다. 디바이스는 다수의 방향 성분들의 비율을 결정하기 위해 다수의 방향 성분들을 비교할 수도 있다. 그 비율이 임계값을 초과한다면, 디바이스는 사용자 입력이 방향을 나타낸다고 결정할 수도 있다. 더 예시하기 위해, 사용자 입력이 일직선이 아니라면 (또는 대략적으로 직선이 아니라면), 디바이스는 기법에 따라 사용자 입력에 연관된 포인트들을 라인에 피팅 (예컨대, 보간) 함으로써 사용자 입력을 근사화할 수도 있다. 그 기법은 예시적인 예로서, "최소 평균 제곱 오차" (minimum mean squared error, MMSE) 기법을 포함할 수도 있다.
사용자 구성 파라미터들 (916) 은 제 1 방향을 나타내는 사용자 입력이 이미지 (908) 상에서 수행될 제 1 이미지 편집 동작을 나타낸다는 것을 나타낼 수도 있다. 예를 들어, 사용자 구성 파라미터들 (916) 은 제 1 방향을 나타내는 사용자 입력이 컬러 속성 변경 동작을 나타낸다는 것을 나타낼 수도 있다. 특정 실시형태에서, 사용자 입력 (918) 은 스와이프 동작 (예컨대, 수직 또는 수평 스와이프) 을 포함한다. 하나 이상의 대체예들에서, 사용자 입력 (918) 은 특정 구현예에 따라, 다른 동작, 이를테면 호버 (hover) 동작, 탭 (tap) 동작, 스타일러스 입력 동작, 적외선 (IR) 기반 동작, 포인팅 제스처 (예컨대, 포인팅 제스처들을 검출하도록 구성된 멀티-카메라 배열체에 관련됨), 또는 다른 동작을 포함할 수도 있다는 것이 이해되어야 한다.
도 9는 모바일 디바이스 (902) 의 제 2 동작 상태 (902) 를 더 나타낸다. 제 2 동작 상태 (920) 에서, 속성 (910) 은 사용자 입력 (918) 에 기초하여 수정되어, 속성 (922) 을 생성하였다. 모바일 디바이스 (902) 는 사용자 입력 (918) 에 응답하여 수정된 이미지 데이터 (926) 를 생성할 수도 있다.
사용자 입력 (928) 은 모바일 디바이스 (902) 에서 수신될 수도 있다. 사용자 입력 (928) 은 제 1 방향을 실질적으로 나타낼 수도 있다. 사용자 구성 파라미터들 (916) 은 제 1 방향을 식별하는 사용자 입력이 이미지 (908) 상에서 다른 이미지 편집 동작을 유발하기 위한 것임을 나타낼 수도 있다. 예를 들어, 모바일 디바이스 (902) 의 제 3 동작 상태 (930) 가, 속성 (932) 을 생성하기 위해 속성 (912) 이 사용자 입력 (928) 에 기초하여 수정되었다는 것을 나타낸다. 속성 (932) 은 이미지 (908) 의 이미지 계층의 블러링에 대응할 수도 있다. 모바일 디바이스 (902) 는 속성 (932) 을 나타내는 수정된 이미지 데이터 (936) 를 생성할 수도 있다. 수정된 이미지 데이터 (936) 는 (예컨대, 수정된 이미지 데이터 (926) 에의 가우시안 블러링 기법의 적용 후) "블러링" 효과를 갖는 수정된 이미지 데이터 (926) 에 해당할 수도 있다.
특정 실시형태에서, 제 1 방향을 나타내는 사용자 입력은 제 1 이미지 편집 동작을 나타낸다. 예시하기 위해, 수평 스와이프 액션이 이미지의 특정 계층 (예컨대, 포어그라운드) 을 타겟으로 하는 컬러 변경 동작을 나타낼 수도 있다. 하나 이상의 후속 수평 스와이프 액션들은 (예컨대, 적색에서 청색으로 녹색으로 등으로의) 상이한 컬러 변경 동작들을 통해 "순환"할 수도 있다. 제 2 방향을 나타내는 사용자 입력은 제 2 이미지 편집 동작, 이를테면 이미지의 상이한 계층에 대한 이미지 편집 동작을 나타낼 수도 있다. 예를 들어, 수직 스와이프 액션이, 이를테면 이미지의 백그라운드에 대해 이미지 블러링 동작을 선택 또는 유발할 수도 있다. 하나 이상의 후속 수직 스와이프 액션들이, 이를테면 백그라운드를 미리 결정된 콘텐츠 (예컨대, 해변 장면) 및/또는 다른 콘텐츠로 대체함으로써, 백그라운드에 대해 하나 이상의 부가적인 이미지 편집 동작들을 선택 또는 유발할 수도 있다. 따라서, 하나의 실시형태에서, 제 1 방향에서의 (예컨대, 수직으로의) 스위핑이 상이한 가용 이미지 편집 동작들 (예컨대, 시각적 효과들) 사이에서 순환할 수도 있고, 제 2 방향에서의 (예컨대, 수평으로의) 스위핑이 선택된 이미지 편집 동작에 대한 상이한 옵션들 (예컨대, 컬러들, 블러링 세기들 등) 사이에서 순환할 수도 있다. 대체 실시형태에서, 상이한 방향들에서의 또는 상이한 축들을 따르는 스위핑은 상이한 이미지 편집 동작들 (예컨대, 컬러 변경들을 위한 업/다운 스위핑, 블러링을 위한 좌/우 스위핑, 백그라운드 장면 교체를 위한 대각선 스위핑 등) 에 해당할 수도 있다. 사용자 입력 동작들에 연관된 특정 방향들은 사용자에 의해 구성될 수도 있다. 예를 들어, 사용자 구성 파라미터들 (916) 은 대각 스와이프 액션이 (예컨대, 가로 방향 대신) 컬러 변경 동작들을 나타내는 것 또는 (예컨대, 세로 방향 대신) 이미지 블러링 동작들을 나타내는 것임을 나타내도록 사용자 구성 가능할 수도 있다. 사용자 구성 파라미터들 (916) 의 사용자 구성은 도 11을 참조하여 더 설명된다.
도 9의 예는 이미지 편집 동작들의 단순화된 제어를 예시한다. 예를 들어, 사용자 입력 (918, 928) 이 각각의 이미지 편집 동작들에 해당하기 때문에, 모바일 디바이스 (902) 의 사용자가 이미지 편집 동작들의 복잡도를 줄이기 위해, 편리하고 빠른 입력 방법 (예컨대, 스와이프 액션) 을 사용하여 다수의 이미지 편집 동작들을 수행할 수도 있다.
도 10을 참조하면, 방법의 특정 예시적인 실시형태가 묘사되어 있고 전체가 1000으로 지정된다. 방법 (1000) 은, 1004에서, 모바일 디바이스에서 제 1 이미지를 디스플레이하는 단계를 포함한다. 모바일 디바이스는 모바일 디바이스 (902) 에 해당할 수도 있고, 제 1 이미지는 이미지 (908) 에 해당할 수도 있다.
방법 (1000) 은, 1008에서, 모바일 디바이스에서 제 1 사용자 입력을 수신하는 단계를 더 포함한다. 제 1 사용자 입력은 모바일 디바이스를 기준으로 하여 방향을 나타낸다. 예를 들어, 제 1 사용자 입력은 세로 방향 또는 가로 방향을 나타낼 수도 있다. 제 1 사용자 입력은 사용자 입력 (918) 에 해당할 수도 있다.
방법 (1000) 은, 1012에서, 제 2 이미지를 생성하기 위해 제 1 사용자 입력에 기초하여 제 1 이미지에 대한 제 1 이미지 편집 동작을 수행하는 단계를 더 포함할 수도 있다. 제 1 이미지 편집 동작은, 이를테면 속성 (922) 을 생성하기 위해 속성 (910) 을 수정함으로써 이미지 (924) 를 생성할 수도 있다. 특정 예로서, 제 1 이미지 편집 동작은 이미지 (924) 를 생성하기 위해 이미지 (908) 의 컬러 속성을 수정하는 단계를 포함할 수도 있다.
방법 (1000) 은, 1016에서, 모바일 디바이스에서 제 2 이미지를 디스플레이하는 단계를 더 포함할 수도 있다. 예를 들어, 이미지 (924) 는 모바일 디바이스 (902) 의 디스플레이 디바이스 (904) 에서 디스플레이될 수도 있다.
방법 (1000) 은, 1020에서, 모바일 디바이스에서 제 2 사용자 입력을 수신하는 단계를 더 포함할 수도 있다. 제 2 사용자 입력은 방향을 나타낸다. 하나 이상의 다른 구성들에서, 제 2 사용자 입력은 모바일 디바이스를 기준으로 하여 다른 방향 (예컨대, 제 1 사용자 입력에 의해 나타내어진 세로 방향 대신 가로 방향 등) 을 실질적으로 나타낼 수도 있다. 제 2 사용자 입력은 사용자 입력 (928) 에 해당할 수도 있다.
방법 (1000) 은, 1024에서, 제 3 이미지를 생성하기 위해 제 2 이미지에 대한 제 2 이미지 편집 동작을 수행하는 단계를 더 포함할 수도 있다. 예를 들어, 제 2 이미지 편집 동작은, 이를테면 이미지 (924) 의 계층을 블러링함으로써, 속성 (932) 을 생성하기 위해 속성 (912) 을 수정할 수도 있다. 제 3 이미지는 이미지 (934) 에 해당할 수도 있다.
방법 (1000) 은 모바일 디바이스를 기준으로 하여 방향을 나타내는 제 3 사용자 입력을 수신하는 단계를 옵션으로 포함할 수도 있다. 제 3 사용자 입력은 제 1 이미지 편집 동작 및 제 2 이미지 편집 동작을 되돌리기 위한 커맨드에 해당한다. 예시하기 위해, 모바일 디바이스의 사용자가 제 1 이미지 편집 동작 및 제 2 이미지 편집 동작으로 만족되지 않는다면, 그 사용자는 제 1 이미지 편집 동작 및 제 2 이미지 편집 동작을 "되돌리기"위해 사용자 입력 (예컨대, 실질적으로 특정 방향에서의 스와이프 동작) 을 "반복"할 수도 있다.
방법 (1000) 은 이미지 편집 동작들의 단순화된 제어를 예시한다. 예를 들어, 모바일 디바이스의 사용자가 이미지 편집 동작들의 복잡도를 줄이기 위해, 특정 입력 방법 (예컨대, 스와이프 액션) 을 사용하여 다수의 이미지 편집 동작들을 수행할 수도 있다. 게다가, 도 11을 참조하여 설명된 바와 같이, 사용자가, 이를테면 이미지 편집 동작들의 순서를 조정하기 위해, 사용자 구성 파라미터들을 재구성할 수도 있다.
도 11은 모바일 디바이스 (902) 의 특정 예시적인 실시형태를 묘사한다. 모바일 디바이스 (902) 는 하나 이상의 프로세싱 자원들 (1110) (예컨대, 프로세서, 이를테면 프로세서 (100), 다른 프로세서, 또는 그것들의 조합) 을 포함할 수도 있다. 하나 이상의 프로세싱 자원들 (1110) 은 컴퓨터 판독가능 매체에, 이를테면 메모리 (906) (예컨대, 비일시적 컴퓨터 판독가능 매체) 에 커플링될 수도 있다. 메모리 (906) 는 하나 이상의 프로세싱 자원들 (1110) 에 의해 실행 가능한 명령들 (1158) 과 하나 이상의 프로세싱 자원들 (1110) 에 의해 사용 가능한 데이터 (1152) 를 저장할 수도 있다. 메모리 (906) 는 이미지 데이터 (914) 와 사용자 구성 파라미터들 (916) 을 저장할 수도 있다.
모바일 디바이스 (902) 는 이미지 센서, 이를테면 전하 결합 소자 (CCD) 이미지 센서 및/또는 상보성 금속-산화물-반도체 (CMOS) 이미지 센서를 갖는 카메라를 포함할 수도 있다. 예를 들어, 도 11은 카메라 (1156) 가 카메라 제어기 (1190) 에 커플링될 수도 있다는 것을 묘사한다. 카메라 제어기 (1190) 는 하나 이상의 프로세싱 자원들 (1110) 에 커플링될 수도 있다. 이미지 데이터 (914) 는 카메라 (1156) 에 의해 캡처된 이미지에 대응할 수도 있다.
도 11은 하나 이상의 프로세싱 자원들 (1110) 에 그리고 디스플레이 디바이스 (904) 에 커플링되는 디스플레이 제어기 (1126) 를 또한 도시한다. 디스플레이 디바이스 (904) 는 사용자 인터페이스 (UI) (1172) 를 제시하도록 구성될 수도 있다. 특정 실시형태에서, 디스플레이 디바이스 (904) 는 터치스크린을 구비하고, UI (1172) 는 터치스크린에서의 사용자 동작들 (예컨대, 스와이프 동작) 에 응답한다.
코더/디코더 (CODEC) (1134) 가 하나 이상의 프로세싱 자원들 (1110) 에 또한 커플링될 수 있다. 스피커 (1136) 와 마이크로폰 (1138) 이 CODEC (1134) 에 커플링될 수 있다. 도 11은 무선 제어기 (1140) 가 하나 이상의 프로세싱 자원들 (1110) 에 커플링될 수 있음을 또한 나타낸다. 무선 제어기 (1140) 는 라디오 주파수 (RF) 인터페이스 (1180) 를 통해 안테나 (1142) 에 추가로 커플링될 수도 있다.
특정 실시형태에서, 하나 이상의 프로세싱 자원들 (1110), 메모리 (906), 디스플레이 제어기 (1126), 카메라 제어기 (1190), CODEC (1134), 및 무선 제어기 (1140) 는 시스템-인-패키지 또는 시스템-온-칩 디바이스 (1122) 에 구비된다. 입력 디바이스 (1130) 와 전력 공급부 (1144) 가 시스템-온-칩 디바이스 (1122) 에 커플링될 수도 있다.
더구나, 특정 실시형태에서, 그리고 도 11에 예시된 바와 같이, 디스플레이 디바이스 (904), 입력 디바이스 (1130), 카메라 (1156), 스피커 (1136), 마이크로폰 (1138), 안테나 (1142), RF 인터페이스 (1180), 및 전력 공급부 (1144) 는 시스템-온-칩 디바이스 (1122) 외부에 있다. 그러나, 디스플레이 디바이스 (904), 입력 디바이스 (1130), 카메라 (1156), 스피커 (1136), 마이크로폰 (1138), 안테나 (1142), RF 안테나 (1180), 및 전력 공급부 (1144) 의 각각은 시스템-온-칩 디바이스 (1122) 의 컴포넌트에, 이를테면 인터페이스에 또는 제어기에 커플링될 수 있다.
동작 시, 사용자 선호 입력 (1192) 이 모바일 디바이스 (902) 에서 수신될 수도 있다. 사용자 선호 입력 (1192) 은 사용자 구성 파라미터들을 조정할 수도 있다. 사용자 선호 입력 (1192) 은 디스플레이 디바이스 (904) 에서 (예컨대, 디스플레이 디바이스 (904) 의 터치스크린에서), 입력 디바이스 (1130) 에서 (예컨대, 입력 디바이스 (1130) 의 키보드에서), 또는 그것들의 조합에서 수신될 수도 있다. 도 11의 예에서, 사용자 선호 입력 (1192) 은 모바일 디바이스 (902) 에서 수행되는 이미지 편집 동작들의 순서를 재구성할 수도 있다. 사용자 선호 입력 (1192) 은, 예시적인 예로서, 컬러 변경 동작들이 이미지 블러링 동작들에 선행하는 것임을 나타내기 위해 사용자 구성 파라미터들 (916) 을 재구성할 수도 있다.
더 예시하기 위해, 사용자 선호 입력 (1192) 은 사용자 구성 파라미터들 (916) 을 제 1 상태로부터 제 2 상태로 재구성할 수도 있다. 제 1 상태는 초기 사용자 입력 (예컨대, 도 9의 사용자 입력 (918)) 이 컬러 변경 동작을 개시하기 위한 것이고 후속 사용자 입력 (예컨대, 도 9의 사용자 입력 (928)) 이 이미지 블러링 동작을 개시하기 위한 것임을 나타낼 수도 있다. 사용자 선호 입력 (1192) 을 제 1 상태로부터 제 2 상태로 재구성함으로써, 초기 사용자 입력 (예컨대, 도 9의 사용자 입력 (918)) 은 이미지 블러링 동작을 개시하게 할 수도 있고 그 후속 사용자 입력 (예컨대, 도 9의 사용자 입력 (928)) 은 컬러 변경 동작을 개시하게 할 수도 있다.
도 11의 기법들은 모바일 디바이스의 사용자에 의한 사용자 인터페이스 (UI) 의 단순화된 제어를 가능하게 한다. 예를 들어, UI는 특정한 이미지 편집 동작들을 특정 사용자 입력 (예컨대, 특정 방향에서의 스와이프) 에 배정하는 사용자 구성 파라미터들을 사용자가 설정하는 것을 가능하게 할 수도 있으며, 이는 모바일 디바이스에 의해 실행되는 이미지 편집 애플리케이션의 사용자 제어를 단순화할 수도 있다.
명령들 (1158) 은 본원에서 설명되는 하나 이상의 동작들을 수행하기 위해 하나 이상의 프로세싱 자원들 (1110) 에 의해 실행 가능할 수도 있다. 더 예시하기 위해, 설명된 실시형태들에 관련하여, 모바일 디바이스 (예컨대, 모바일 디바이스 (902)) 가 모바일 디바이스에서 제 1 이미지 (예컨대, 이미지 (908)) 를 디스플레이하게 하도록 그리고 모바일 디바이스에서 제 1 사용자 입력 (예컨대, 사용자 입력 (918)) 을 수신하게 하도록 프로세서 (예컨대, 하나 이상의 프로세싱 자원들 (1110)) 에 의해 실행 가능한 명령들 (예컨대, 명령들 (1158)) 을 컴퓨터 판독가능 매체 (예컨대, 메모리 (906)) 가 저장한다. 제 1 사용자 입력은 모바일 디바이스를 기준으로 하여 방향을 나타낸다. 그 명령들은 또한, 제 1 사용자 입력에 기초하여, 제 2 이미지 (예컨대, 이미지 (924)) 를 생성하기 위해 제 1 이미지에 대한 제 1 이미지 편집 동작을 수행하도록, 모바일 디바이스에서 제 2 이미지를 디스플레이하도록, 및 모바일 디바이스에서 제 2 사용자 입력 (예컨대, 사용자 입력 (928)) 을 수신하도록 프로세서에 의해 실행 가능하다. 제 2 사용자 입력은 모바일 디바이스를 기준으로 하여 방향을 나타낸다. 그 명령들은 또한, 제 2 사용자 입력에 기초하여, 제 3 이미지 (예컨대, 이미지 (934)) 를 생성하기 위해 제 2 이미지에 대한 제 2 이미지 편집 동작을 수행하도록 프로세서에 의해 실행 가능하다.
설명된 실시형태들에 관련하여, 장치가 모바일 디바이스 (예컨대, 모바일 디바이스 (902)) 에서 제 1 이미지 (예컨대, 이미지 (908)) 를 디스플레이하는 수단 (예컨대, 디스플레이 디바이스 (904)) 과 모바일 디바이스에서 제 1 사용자 입력 (예컨대, 사용자 입력 (918)) 을 수신하는 수단 (예컨대, 디스플레이 디바이스 (904) 및/또는 입력 디바이스 (1130)) 을 구비한다. 제 1 사용자 입력은 모바일 디바이스를 기준으로 하여 방향을 나타낸다. 그 장치는, 제 1 사용자 입력에 기초하여 제 2 이미지 (예컨대, 이미지 (924)) 를 생성하기 위해 제 1 이미지에 대한 제 1 이미지 편집 동작을 수행하는 수단 (예컨대, 하나 이상의 프로세싱 자원들 (1110)), 모바일 디바이스가 제 2 이미지를 디스플레이하게 하는 수단 (예컨대, 디스플레이 디바이스 (904) 및/또는 입력 디바이스 (1130)), 및 제 2 사용자 입력 (예컨대, 사용자 입력 (928)) 을 수신하는 수단 (예컨대, 디스플레이 디바이스 (904) 및/또는 입력 디바이스 (1130)) 을 더 구비한다. 제 2 사용자 입력은 모바일 디바이스를 기준으로 하여 방향을 나타낸다. 그 장치는 제 2 사용자 입력에 기초하여 제 3 이미지 (예컨대, 이미지 (934)) 를 생성하기 위해 제 2 이미지에 대한 제 2 이미지 편집 동작을 수행하는 수단 (예컨대, 하나 이상의 프로세싱 자원들 (1110)) 을 더 구비한다.
도 12를 참조하면, 방법의 특정 실시형태가 묘사되어 있고 전체가 1200으로 지정된다. 방법 (1200) 은 프로세서, 이를테면 프로세서 (100) 및/또는 프로세싱 자원들 (810, 1110) 중 임의의 프로세싱 자원에 의해 수행될 수도 있다. 방법 (1200) 은 디바이스, 이를테면 모바일 디바이스 (예컨대, 모바일 디바이스들 (800, 902) 중 하나 이상) 에서 수행될 수도 있다.
방법 (1200) 은, 1204에서, 사용자 인터페이스로부터 제 1 사용자 입력을 수신하는 단계를 포함한다. 제 1 사용자 입력은 사용자 입력 (504) 에 해당할 수도 있고, 사용자 인터페이스는 UI들 (500, 872, 및 1172) 중 임의의 UI에 해당할 수도 있다. 제 1 사용자 입력은 디스플레이 동작을 위한 이미지를 나타낸다. 일 예로서, 그 이미지는 이미지 (502) 에 해당할 수도 있다. 더 예시하기 위해, 제 1 사용자 입력은 사용자 인터페이스에서 제시되는 이미지 갤러리로부터 이미지를 선택하는 터치스크린 동작에 해당할 수도 있다. 제 1 사용자 입력은 사용자 인터페이스에서의 이미지를 "섬네일" 뷰로부터 "전체 " 뷰로 확대하라는 요청에 해당할 수도 있다.
방법 (1200) 은, 1208에서, 제 1 사용자 입력에 기초하여, 디스플레이 동작을 수행하는 단계와 이미지에 대응하는 이미지 데이터를 사용하여 클러스터링 동작을 자동으로 개시하는 단계를 더 포함한다. 예시하기 위해, 클러스터링 동작은 이미지가 모바일 디바이스에 "로딩되는" 것과 동시에 수행될 수도 있다. 이미지를 로딩하는 것은, 구체적인 예들로서, 이미지를 (예컨대, 섬네일 뷰로부터 전체 뷰로) 확대하는 것 또는 이미지 편집 애플리케이션을 런칭하는 것을 포함할 수도 있다. 클러스터링 동작은 SLIC 동작을 포함할 수도 있다. 디스플레이 동작이 이미지를 섬네일 뷰로부터 전체 뷰로 확대하기 위해 수행되는 동안 클러스터링 동작은 이미지 데이터 내의 클러스터들을 식별하기 위해 개시될 수도 있다.
방법 (1200) 은, 1216에서, 사용자 인터페이스로부터 제 2 사용자 입력을 수신하는 단계를 더 포함할 수도 있다. 제 2 사용자 입력은 사용자 입력 (918) 에 해당할 수도 있다. 제 2 사용자 입력은 이미지의 제 1 이미지 계층을 식별한다. 제 1 이미지 계층은 이미지 계층 (104a) 에 해당할 수도 있다. 제 2 사용자 입력은 터치스크린 디바이스에서 스와이프 액션을 사용하여 이미지의 포어그라운드를 식별할 수도 있다. 제 2 사용자 입력은 포어그라운드를 타겟으로 하는 이미지 편집 동작 (예컨대, 컬러 변경 동작, 이미지 블러 (blur) 동작 등) 을 나타낼 수도 있다.
방법 (1200) 은, 1220에서, 제 1 이미지 계층에 연관된 이미지 세그먼트화 동작을 자동으로 개시하는 단계를 더 포함할 수도 있다. 예를 들어, 이미지 세그먼트화 동작은 제 2 사용자 입력의 완료 (예컨대, 스와이프 액션의 완료) 시 자동으로 개시될 수도 있다. 하나 이상의 다른 예들에서, 이미지 세그먼트화 동작은 이미지의 백그라운드를 식별하는 사용자 입력의 수신 시 자동으로 개시될 수도 있다.
방법 (1200) 은, 1222에서, 이미지 컴포넌트 라벨링 동작을 수행하는 단계를 더 포함할 수도 있다. 이미지 컴포넌트 라벨링 동작은 이미지 세그먼트화 동작을 완료한 후에 개시될 수도 있다.
방법 (1200) 은, 1224에서, 사용자 인터페이스로부터 제 3 사용자 입력을 수신하는 단계를 더 포함할 수도 있다. 제 3 사용자 입력은 이미지의 제 2 이미지 계층을 식별한다. 예를 들어, 제 3 사용자 입력은 터치스크린 디바이스에서 스와이프 액션을 사용하여 이미지의 백그라운드를 식별할 수도 있다. 백그라운드는 제 2 이미지 계층에 해당할 수도 있다. 제 3 사용자 입력은 사용자 입력 (928) 에 해당할 수도 있다. 제 3 사용자 입력은 백그라운드를 타겟으로 하는 이미지 편집 동작 (예컨대, 컬러 변경 동작, 이미지 블러 동작 등) 을 나타낼 수도 있다.
방법 (1200) 은, 1228에서, 수정된 이미지를 생성하기 위해 제 3 사용자 입력에 기초하여 이미지를 수정하는 단계를 더 포함할 수도 있다. 특정 예시적인 예로서, 수정된 이미지는 각각 제 2 사용자 입력 및 제 3 사용자 입력에 기초하여 수정되는 포어그라운드 및 백그라운드를 포함할 수도 있다.
방법 (1200) 은 사용자의 향상된 이미지 편집 경험을 용이하게 한다. 예를 들어, 이미지의 로딩 동안 이미지 클러스터링 동작에 연관된 지체를 "숨김"으로써, 이미지 편집 동작이 사용자에게는 더 빨리 보여질 수도 있다 (예를 들어 이미지의 한 이미지 계층 상에서 수행될 이미지 편집 동작을 나타내는 사용자 입력을 통해 이미지 편집 동작을 사용자가 직접 개시하기 전에 이미지의 클러스터링이 완료될 수도 있어서이다). 게다가, 이미지 세그먼트화 동작은 이미지의 모든 이미지 계층들의 이미지 프로세싱 동작들에 관련된 사용자 입력을 수신하기 전에 개시될 수도 있다. 예를 들어, 이미지 세그먼트화 동작은 제 2 이미지 계층 (예컨대, 백그라운드) 에 관련된 사용자 입력이 수신되는 일 없이 (또는 그러한 수신 전에) 제 1 이미지 계층 (예컨대, 포어그라운드) 에 관련된 사용자 입력이 수신되자마자 개시될 수도 있다. 특정 예에서, 이미지 세그먼트화 및 컴포넌트 라벨링 동작들은 사용자가 제 2 이미지 계층에 연관된 이미지 편집 동작을 개시하기 위한 스와이프 액션을 수행하는 동안 제 1 이미지 계층에 대하여 수행되어, 이미지 편집 동작들의 반응성 및 속력을 향상시키고 사용자 경험을 개선한다.
설명된 실시형태들에 관련하여, 컴퓨터 판독가능 매체가 프로세서로 하여금 사용자 인터페이스로부터 제 1 사용자 입력을 수신하게 하도록 프로세서에 의해 실행 가능한 명령들을 저장할 수도 있다. 컴퓨터 판독가능 매체는 메모리들 (832, 906) 중 하나 이상에 해당할 수도 있고, 프로세서는 프로세서 (100) 및/또는 프로세싱 자원들 (810, 1110) 중 임의의 프로세싱 자원에 해당할 수도 있다. 사용자 인터페이스는 UI들 (500, 872, 및 1172) 중 임의의 UI에 해당할 수도 있다. 제 1 사용자 입력은 디스플레이 동작을 위한 이미지를 선택한다. 그 이미지는 이미지 (502) 에 해당할 수도 있고, 제 1 사용자 입력은 사용자 입력 (504) 에 해당할 수도 있다. 그 명령들은 또한, 제 1 사용자 입력에 기초하여 디스플레이 동작을 수행하도록 그리고 제 1 사용자 입력에 기초하여 이미지에 대응하는 이미지 데이터를 사용하여 클러스터링 동작을 자동으로 개시하도록 프로세서에 의해 실행 가능하다. 이미지 데이터는 이미지 데이터 (102) 에 해당할 수도 있다.
설명된 실시형태들에 관련하여, 장치 (예컨대, 모바일 디바이스들 (800, 902) 중 임의의 것) 가 사용자 인터페이스로부터 제 1 사용자 입력을 수신하는 수단을 구비한다. 제 1 사용자 입력을 수신하는 수단은 디스플레이 (828) 및/또는 디스플레이 디바이스 (904) 에 해당할 수도 있다. 사용자 인터페이스는 UI들 (500, 872, 및 1172) 중 임의의 UI에 해당할 수도 있다. 제 1 사용자 입력은 디스플레이 동작을 위한 이미지를 선택한다. 그 이미지는, 예시적인 예로서, 이미지 (502) 에 해당할 수도 있다. 그 장치는 제 1 사용자 입력에 기초하여 디스플레이 동작을 수행하는 수단 (예컨대, 디스플레이 (828) 및/또는 디스플레이 디바이스 (904)) 과, 제 1 사용자 입력에 기초하여 이미지에 대응하는 이미지 데이터 (예컨대, 이미지 데이터 (102)) 를 사용하여 클러스터링 동작을 자동으로 개시하는 수단 (예컨대, 프로세서 (100) 및/또는 프로세싱 자원들 (810, 1110) 중 임의의 프로세싱 자원) 을 더 포함한다.
당업자들은 전술한 개시된 디바이스들 및 기능들이 컴퓨터-판독가능 매체들 상에 저장된 컴퓨터 파일들 (예컨대, RTL, GDSII, GERBER 등) 속으로 설계 및 구성될 수도 있다는 것을 이해할 것이다. 이러한 파일들의 일부 또는 전부는 이러한 파일들에 기초하여 디바이스들을 제작하는 제작 취급자들에게 제공될 수도 있다. 결과적인 제품들은 반도체 다이들로 분리되고 반도체 칩들로 패키징된 반도체 웨이퍼들을 포함한다. 반도체 칩들은 그러면 디바이스들 내에서, 이를테면 모바일 디바이스 (800) 및/또는 모바일 디바이스 (902) 내에서 채용된다.
당업자들은 본원에서 개시된 실시형태들에 관련하여 설명되는 다양한 예시적인 논리 블록들, 구성들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양쪽 모두의 조합들로서 구현될 수도 있다는 것을 추가로 이해할 것이다. 다양한 예시적인 컴포넌트들, 블록들, 구성들, 모듈들, 회로들, 및 단계들은 일반적으로 그것들의 기능성의 측면에서 위에서 설명되었다. 이러한 기능성이 하드웨어 또는 소프트웨어 중 어느 것으로 구현되는지는 전체 시스템에 부과되는 특정 애플리케이션 및 설계 제약들에 달려있다. 당업자들은 설명된 기능성을 각 특정 애플리케이션에 대하여 다양한 방식들로 구현할 수도 있지만, 이러한 구현 결정들은 본 개시물의 범위를 벗어나도록 야기하는 것으로서 해석되지 않아야 한다.
본원에 개시된 실시형태들에 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이들 두 가지의 조합으로 직접 실시될 수도 있다. 소프트웨어 모듈은 RAM (random-access memory), 플래시 메모리, ROM (read-only memory), 프로그래밍가능 ROM (PROM), 소거가능 프로그래밍가능 ROM (EPROM), 전기적 소거가능 프로그래밍가능 ROM (EEPROM), 레지스터들, 하드 디스크, 착탈실 디스크, CD-ROM (compact disc read-only memory), 또는 이 기술분야에서 알려진 임의의 다른 형태의 저장 매체에 존재할 수도 있다. 예시적인 비일시적 매체가 프로세서에 커플링되어서 그 프로세서는 저장 매체로부터 정보를 읽을 수 있고 그 저장 매체에 정보를 쓸 수 있다. 대체예에서, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서와 저장 매체는 주문형 집적회로 (ASIC) 및/또는 필드 프로그램가능 게이트 어레이 (FPGA) 내에 존재할 수도 있다. ASIC 및/또는 FPGA는 컴퓨팅 디바이스 또는 사용자 단말 내에 존재할 수도 있다. 대체예에서, 프로세서와 저장 매체는 컴퓨팅 디바이스 또는 사용자 단말에 개별 컴포넌트들로서 존재할 수도 있다.
개시된 실시형태들의 이전의 설명은 당업자가 개시된 실시형태들을 제작하고 사용하는 것을 가능하게 하기 위해 제공된다. 이들 실시형태들에 대한 다양한 변형예들은 당업자들에게 쉽사리 명확하게 될 것이고, 본원에서 정의된 원리들은 본 개시물의 범위로부터 벗어남 없이 다른 실시형태들에 적용될 수도 있다. 따라서, 본 개시물은 본원에서 보인 실시형태들로 한정될 의도는 없으며 다음의 청구항들에 의해 정의된 원리들 및 신규한 특징들과 일치하는 가능한 가장 넓은 범위에 일치하는 것이다.

Claims (108)

  1. 이동 디바이스에 의해 이미지를 조작하는 방법으로서,
    상기 이미지에 대응하는 이미지 데이터를 제 1 이미지 계층과 제 2 이미지 계층으로 세그먼트화하는 단계;
    상기 이동 디바이스에서 제 1 사용자 입력을 수신하는 단계로서, 상기 제 1 사용자 입력은 상기 이동 디바이스에 대한 방향을 나타내는, 상기 제 1 사용자 입력을 수신하는 단계;
    상기 제 1 사용자 입력에 기초하여 상기 제 1 이미지 계층에 대해 제 1 이미지 편집 동작을 수행하는 단계;
    상기 이동 디바이스에서 제 2 사용자 입력을 수신하는 단계로서, 상기 제 2 사용자 입력은 상기 이동 디바이스에 대한 상기 방향을 나타내는, 상기 제 2 사용자 입력을 수신하는 단계; 및
    상기 제 2 사용자 입력에 기초하여 상기 제 1 이미지 계층에 대해 제 2 이미지 편집 동작을 수행하는 단계로서, 상기 제 2 이미지 편집 동작은 상기 제 1 이미지 편집 동작과 별개인, 상기 제 2 이미지 편집 동작을 수행하는 단계를 포함하는, 이동 디바이스에 의한 이미지 조작 방법.
  2. 제 1 항에 있어서,
    상기 이미지 데이터를 세그먼트화하기 전에, 상기 이동 디바이스에서 제 3 사용자 입력을 수신하는 단계로서, 상기 제 3 사용자 입력은 디스플레이 동작을 위해 상기 이미지를 선택하는, 상기 제 3 사용자 입력을 수신하는 단계; 및
    상기 제 3 사용자 입력에 기초하여:
    상기 디스플레이 동작을 수행하는 단계; 및
    상기 이미지 데이터를 사용하여 클러스터링 동작을 자동적으로 개시하는 단계로서, 상기 이미지 데이터의 상기 세그먼트화는 상기 클러스터링 동작에 기초하여 수행되는, 상기 클러스터링 동작을 자동적으로 개시하는 단계를 더 포함하는, 이동 디바이스에 의한 이미지 조작 방법.
  3. 제 2 항에 있어서,
    상기 제 3 사용자 입력은 상기 이동 디바이스의 사용자 인터페이스에서 제시되는 이미지 갤러리로부터 상기 이미지를 선택하는 터치스크린 동작에 대응하는, 이동 디바이스에 의한 이미지 조작 방법.
  4. 제 2 항에 있어서,
    상기 클러스터링 동작은 상기 이미지 데이터 내의 클러스터들을 식별하기 위해 개시되는 반면, 상기 디스플레이 동작은 상기 이미지를 섬네일 뷰로부터 전체 뷰로 확대하기 위해 수행되는, 이동 디바이스에 의한 이미지 조작 방법.
  5. 제 4 항에 있어서,
    상기 클러스터링 동작은 상기 클러스터들을 식별하기 위해 단순 선형 반복 클러스터링 (SLIC) 기법을 사용하는, 이동 디바이스에 의한 이미지 조작 방법.
  6. 제 1 항에 있어서,
    상기 제 1 이미지 편집 동작에 기초하여 제 2 이미지를 생성하는 단계;
    상기 제 2 이미지를 디스플레이하는 단계;
    상기 제 2 이미지 편집 동작에 기초하여 제 3 이미지를 생성하는 단계; 및
    상기 제 3 이미지를 디스플레이하는 단계를 더 포함하는, 이동 디바이스에 의한 이미지 조작 방법.
  7. 제 1 항에 있어서,
    상기 이동 디바이스에서 상기 이동 디바이스에 대한 제 2 방향을 나타내는 제 3 사용자 입력을 수신하는 단계로서, 상기 제 2 방향은 상기 방향과 별개인, 상기 제 3 사용자 입력을 수신하는 단계;
    상기 제 3 사용자 입력에 기초하여 제 3 이미지 편집 동작을 수행하는 단계;
    상기 이동 디바이스에서 상기 제 2 방향을 나타내는 제 4 사용자 입력을 수신하는 단계; 및
    상기 제 4 사용자 입력에 기초하여 상기 제 3 이미지 편집 동작과 별개인 제 4 이미지 편집 동작을 수행하는 단계를 더 포함하는, 이동 디바이스에 의한 이미지 조작 방법.
  8. 제 7 항에 있어서,
    상기 제 3 이미지 편집 동작 및 상기 제 4 이미지 편집 동작은 상기 제 1 이미지 계층과는 독립적으로 상기 제 2 이미지 계층에 대해 수행되는, 이동 디바이스에 의한 이미지 조작 방법.
  9. 제 7 항에 있어서,
    상기 제 1 이미지 편집 동작 및 상기 제 2 이미지 편집 동작은 이미지 편집 동작들의 제 1 시퀀스에 포함되고,
    상기 제 3 이미지 편집 동작 및 상기 제 4 이미지 편집 동작은 상기 제 1 시퀀스와 상이한 이미지 편집 동작들의 제 2 시퀀스에 포함되며,
    상기 방향을 나타내는 제 5 사용자 입력에 응답하여 상기 제 1 시퀀스에서의 다음의 이미지 편집 동작을 수행하는 단계; 및
    상기 제 2 방향을 나타내는 제 6 사용자 입력에 응답하여 상기 제 2 시퀀스에서의 다음의 이미지 편집 동작을 수행하는 단계를 더 포함하는, 이동 디바이스에 의한 이미지 조작 방법.
  10. 제 1 항에 있어서,
    상기 제 1 이미지 편집 동작 및 상기 제 2 이미지 편집 동작은 상기 제 2 이미지 계층과는 독립적으로 상기 제 1 이미지 계층에 대해 수행되는, 이동 디바이스에 의한 이미지 조작 방법.
  11. 제 10 항에 있어서,
    상기 제 1 사용자 입력 및 상기 제 2 사용자 입력은 상기 이동 디바이스의 사용자 인터페이스 (UI) 를 통해 수신되는, 이동 디바이스에 의한 이미지 조작 방법.
  12. 메모리; 및
    상기 메모리에 커플링된 프로세서를 포함하며,
    상기 프로세서는,
    이미지에 대응하는 이미지 데이터를 제 1 이미지 계층 및 제 2 이미지 계층으로 세그먼트화하고;
    이동 디바이스에 대한 방향을 나타내는 제 1 사용자 입력을 수신하며;
    상기 제 1 사용자 입력에 기초하여 상기 제 1 이미지 계층에 대해 제 1 이미지 편집 동작을 수행하고;
    상기 이동 디바이스에 대한 상기 방향을 나타내는 제 2 사용자 입력을 수신하며;
    상기 제 2 사용자 입력에 기초하여 상기 제 1 이미지 계층에 대해 상기 제 1 이미지 편집 동작과는 별개인 제 2 이미지 편집 동작을 수행하도록 구성되는, 장치.
  13. 제 12 항에 있어서,
    상기 제 1 이미지 계층 및 상기 제 2 이미지 계층 중 하나는 상기 이미지의 포어그라운드의 제 1 부분에 대응하고, 상기 제 1 이미지 계층 및 상기 제 2 이미지 계층 중 다른 하나는 상기 이미지의 상기 포어그라운드의 제 2 부분에 대응하는, 장치.
  14. 제 12 항에 있어서,
    상기 제 1 이미지 계층 및 상기 제 2 이미지 계층 중 하나는 상기 이미지의 백그라운드의 제 1 부분에 대응하고, 상기 제 1 이미지 계층 및 상기 제 2 이미지 계층 중 다른 하나는 상기 이미지의 상기 백그라운드의 제 2 부분에 대응하는, 장치.
  15. 제 12 항에 있어서,
    상기 프로세서는 또한, 상기 이미지 데이터에 연관된 클러스터를 식별하도록 그리고 상기 클러스터에 기초하여 상기 이미지 데이터를 세그먼트화하도록 구성되는, 장치.
  16. 제 12 항에 있어서,
    상기 프로세서는 또한, 상기 제 1 이미지 계층을 사용하여 하나 이상의 컴포넌트 라벨링 동작들을 수행하도록 구성되는, 장치.
  17. 제 12 항에 있어서,
    디스플레이 디바이스를 더 포함하며,
    상기 프로세서는 또한, 사용자 인터페이스 (UI) 가 상기 디스플레이 디바이스에 디스플레이되게 하도록 구성되고,
    상기 제 1 사용자 입력 및 상기 제 2 사용자 입력은 상기 디스플레이 디바이스를 통해 수신되는, 장치.
  18. 프로세서에 의해 실행 가능한 명령들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 상기 프로세서로 하여금,
    이미지와 연관된 이미지 데이터를 제 1 이미지 계층과 제 2 이미지 계층으로 세그먼트화하고;
    이동 디바이스에서 상기 이동 디바이스에 대한 방향을 나타내는 제 1 사용자 입력을 수신하며;
    상기 제 1 사용자 입력에 기초하여 상기 제 1 이미지 계층에 대해 제 1 이미지 편집 동작을 수행하고;
    상기 이동 디바이스에서 상기 이동 디바이스에 대한 상기 방향을 나타내는 제 2 사용자 입력을 수신하며; 및
    상기 제 2 사용자 입력에 기초하여 상기 제 1 이미지 계층에 대해 상기 제 1 이미지 편집 동작과는 별개인 제 2 이미지 편집 동작을 수행하도록
    하는, 비일시적 컴퓨터 판독가능 저장 매체.
  19. 제 18 항에 있어서,
    상기 제 1 이미지 계층 및 상기 제 2 이미지 계층 중 하나는 상기 이미지의 포어그라운드에 대응하고, 상기 제 1 이미지 계층 및 상기 제 2 이미지 계층 중 다른 하나는 상기 이미지의 백그라운드에 대응하는, 비일시적 컴퓨터 판독가능 저장 매체.
  20. 제 18 항에 있어서,
    상기 제 1 사용자 입력은 상기 이동 디바이스의 디스플레이 디바이스에서의 제 1 스와이프 동작에 대응하고,
    상기 제 2 사용자 입력은 상기 디스플레이 디바이스에서의 제 2 스와이프 동작에 대응하는, 비일시적 컴퓨터 판독가능 저장 매체.
  21. 제 18 항에 있어서,
    상기 제 1 이미지 편집 동작은 이미지 블러링 동작을 포함하고,
    상기 제 2 이미지 편집 동작은 컬러 변경 동작을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  22. 제 18 항에 있어서,
    상기 명령들은 상기 이미지 데이터에 연관된 클러스터를 식별하도록 그리고 상기 클러스터에 기초하여 상기 이미지 데이터를 세그먼트화하도록 상기 프로세서에 의해 추가로 실행 가능한, 비일시적 컴퓨터 판독가능 저장 매체.
  23. 제 18 항에 있어서,
    상기 제 1 이미지 편집 동작 및 상기 제 2 이미지 편집 동작의 순서는 상기 이동 디바이스에 저장된 사용자 구성 파라미터들에 기초하는, 비일시적 컴퓨터 판독가능 저장 매체.
  24. 제 18 항에 있어서,
    상기 명령들은 사용자 인터페이스 (UI) 를 통해 상기 제 1 사용자 입력 및 상기 제 2 사용자 입력을 수신하도록 상기 프로세서에 의해 추가로 실행 가능한, 비일시적 컴퓨터 판독가능 저장 매체.
  25. 이미지와 연관된 이미지 데이터를 제 1 이미지 계층과 제 2 이미지 계층으로 세그먼트화하는 수단;
    이동 디바이스에 대한 방향을 나타내는 제 1 사용자 입력을 수신하는 수단;
    상기 제 1 사용자 입력에 기초하여 상기 제 1 이미지 계층에 대해 제 1 이미지 편집 동작을 수행하는 수단;
    상기 이동 디바이스에 대한 상기 방향을 나타내는 제 2 사용자 입력을 수신하는 수단; 및
    상기 제 2 사용자 입력에 기초하여 상기 제 1 이미지 계층에 대해 상기 제 1 이미지 편집 동작과는 별개인 제 2 이미지 편집 동작을 수행하는 수단을 포함하는, 장치.
  26. 제 25 항에 있어서,
    상기 제 1 이미지 계층 및 상기 제 2 이미지 계층 중 하나는 상기 이미지의 포어그라운드에 대응하고, 상기 제 1 이미지 계층 및 상기 제 2 이미지 계층 중 다른 하나는 상기 이미지의 백그라운드에 대응하는, 장치.
  27. 제 25 항에 있어서,
    상기 제 1 이미지 계층 및 상기 제 2 이미지 계층 중 하나는 상기 이미지의 포어그라운드의 제 1 부분에 대응하고, 상기 제 1 이미지 계층 및 상기 제 2 이미지 계층 중 다른 하나는 상기 이미지의 상기 포어그라운드의 제 2 부분에 대응하는, 장치.
  28. 제 25 항에 있어서,
    상기 제 1 이미지 계층 및 상기 제 2 이미지 계층 중 하나는 상기 이미지의 백그라운드의 제 1 부분에 대응하고, 상기 제 1 이미지 계층 및 상기 제 2 이미지 계층 중 다른 하나는 상기 이미지의 상기 백그라운드의 제 2 부분에 대응하는, 장치.
  29. 제 25 항에 있어서,
    상기 이미지 데이터에 연관된 클러스터를 식별하는 수단을 더 포함하며, 상기 이미지 데이터는 상기 클러스터에 기초하여 세그먼트화되는, 장치.
  30. 제 25 항에 있어서,
    상기 제 1 이미지 계층을 사용하여 하나 이상의 컴포넌트 라벨링 동작들을 수행하는 수단을 더 포함하는, 장치.
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
  70. 삭제
  71. 삭제
  72. 삭제
  73. 삭제
  74. 삭제
  75. 삭제
  76. 삭제
  77. 삭제
  78. 삭제
  79. 삭제
  80. 삭제
  81. 삭제
  82. 삭제
  83. 삭제
  84. 삭제
  85. 삭제
  86. 삭제
  87. 삭제
  88. 삭제
  89. 삭제
  90. 삭제
  91. 삭제
  92. 삭제
  93. 삭제
  94. 삭제
  95. 삭제
  96. 삭제
  97. 삭제
  98. 삭제
  99. 삭제
  100. 삭제
  101. 삭제
  102. 삭제
  103. 삭제
  104. 삭제
  105. 삭제
  106. 삭제
  107. 삭제
  108. 삭제
KR1020167023875A 2014-02-19 2014-02-24 디바이스를 위한 이미지 편집 기법들 KR101952569B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461941996P 2014-02-19 2014-02-19
US61/941,996 2014-02-19
PCT/CN2014/000172 WO2015123792A1 (en) 2014-02-19 2014-02-24 Image editing techniques for a device

Publications (2)

Publication Number Publication Date
KR20160124129A KR20160124129A (ko) 2016-10-26
KR101952569B1 true KR101952569B1 (ko) 2019-02-27

Family

ID=53877493

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167023875A KR101952569B1 (ko) 2014-02-19 2014-02-24 디바이스를 위한 이미지 편집 기법들

Country Status (6)

Country Link
US (1) US10026206B2 (ko)
EP (1) EP3108379B1 (ko)
JP (1) JP6355746B2 (ko)
KR (1) KR101952569B1 (ko)
CN (1) CN105940392B (ko)
WO (1) WO2015123792A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10268698B2 (en) * 2014-11-21 2019-04-23 Adobe Inc. Synchronizing different representations of content
KR20170029978A (ko) * 2015-09-08 2017-03-16 엘지전자 주식회사 이동단말기 및 그 제어방법
US10270965B2 (en) * 2015-12-04 2019-04-23 Ebay Inc. Automatic guided capturing and presentation of images
KR101823035B1 (ko) * 2015-12-16 2018-02-01 남기원 소셜 기반의 이미지 설정값 공유 시스템 및 그 방법
JP6148426B1 (ja) * 2016-05-27 2017-06-14 楽天株式会社 画像処理装置、画像処理方法及び画像処理プログラム
JP2018056792A (ja) * 2016-09-29 2018-04-05 アイシン精機株式会社 画像表示制御装置
US10325372B2 (en) * 2016-12-20 2019-06-18 Amazon Technologies, Inc. Intelligent auto-cropping of images
JP6434568B2 (ja) * 2017-05-18 2018-12-05 楽天株式会社 画像処理装置、画像処理方法、及びプログラム
KR101961015B1 (ko) * 2017-05-30 2019-03-21 배재대학교 산학협력단 가상 스튜디오 연동 스마트 증강현실 서비스 시스템 및 방법
EP3567548B1 (en) * 2018-05-09 2020-06-24 Siemens Healthcare GmbH Medical image segmentation
US11138699B2 (en) 2019-06-13 2021-10-05 Adobe Inc. Utilizing context-aware sensors and multi-dimensional gesture inputs to efficiently generate enhanced digital images
EP4032062A4 (en) 2019-10-25 2022-12-14 Samsung Electronics Co., Ltd. IMAGE PROCESSING METHOD, APPARATUS, ELECTRONIC DEVICE AND COMPUTER READABLE STORAGE MEDIA
EP4085422A4 (en) * 2019-12-31 2023-10-18 Qualcomm Incorporated METHODS AND APPARATUS FOR FACILITATE REGION OF INTEREST TRACKING FOR MOVING IMAGES
US11217020B2 (en) * 2020-03-16 2022-01-04 Snap Inc. 3D cutout image modification
US11069044B1 (en) * 2020-03-18 2021-07-20 Adobe Inc. Eliminating image artifacts using image-layer snapshots
CN112860163B (zh) * 2021-01-21 2022-11-11 维沃移动通信(深圳)有限公司 图像编辑方法和装置
US11995757B2 (en) 2021-10-29 2024-05-28 Snap Inc. Customized animation from video
US20230252687A1 (en) * 2022-02-10 2023-08-10 Qualcomm Incorporated Systems and methods for facial attribute manipulation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090252429A1 (en) 2008-04-03 2009-10-08 Dan Prochazka System and method for displaying results of an image processing system that has multiple results to allow selection for subsequent image processing
US20120148151A1 (en) 2010-12-10 2012-06-14 Casio Computer Co., Ltd. Image processing apparatus, image processing method, and storage medium
US20140029868A1 (en) 2008-06-25 2014-01-30 Jon Lorenz Image layer stack interface

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973212B2 (en) 2000-09-01 2005-12-06 Siemens Corporate Research, Inc. Graph cuts for binary segmentation of n-dimensional images from object and background seeds
US20040008886A1 (en) 2002-07-02 2004-01-15 Yuri Boykov Using graph cuts for editing photographs
JP2004246460A (ja) * 2003-02-12 2004-09-02 Daihatsu Motor Co Ltd コンピュータ・グラフィックス装置及び意匠設計プログラム
KR100698845B1 (ko) * 2005-12-28 2007-03-22 삼성전자주식회사 인물 외형 추출 알고리즘을 이용한 영상 편집 방법 및 그장치
EP1826723B1 (en) * 2006-02-28 2015-03-25 Microsoft Corporation Object-level image editing
US7593020B2 (en) 2006-05-30 2009-09-22 Microsoft Corporation Image editing using image-wide matting
US8644600B2 (en) 2007-06-05 2014-02-04 Microsoft Corporation Learning object cutout from a single example
CN101802867B (zh) * 2007-07-18 2012-11-21 新加坡南洋理工大学 提供图形数据以及显示图形数据的方法
JP2009037282A (ja) * 2007-07-31 2009-02-19 Sharp Corp 画像閲覧装置
US7995841B2 (en) 2007-09-24 2011-08-09 Microsoft Corporation Hybrid graph model for unsupervised object segmentation
US8259208B2 (en) * 2008-04-15 2012-09-04 Sony Corporation Method and apparatus for performing touch-based adjustments within imaging devices
WO2011085248A1 (en) * 2010-01-07 2011-07-14 Swakker, Llc Methods and apparatus for modifying a multimedia object within an instant messaging session at a mobile communication device
CN101976194A (zh) * 2010-10-29 2011-02-16 中兴通讯股份有限公司 一种设置用户界面的方法及装置
US8823726B2 (en) * 2011-02-16 2014-09-02 Apple Inc. Color balance
US9153031B2 (en) * 2011-06-22 2015-10-06 Microsoft Technology Licensing, Llc Modifying video regions using mobile device input
US8873813B2 (en) * 2012-09-17 2014-10-28 Z Advanced Computing, Inc. Application of Z-webs and Z-factors to analytics, search engine, learning, recognition, natural language, and other utilities
KR101792641B1 (ko) 2011-10-07 2017-11-02 엘지전자 주식회사 이동 단말기 및 그의 아웃 포커싱 이미지 생성방법
CN102592268B (zh) * 2012-01-06 2015-04-01 清华大学深圳研究生院 一种分割前景图像的方法
US9569078B2 (en) 2012-03-06 2017-02-14 Apple Inc. User interface tools for cropping and straightening image
US10089527B2 (en) 2012-03-26 2018-10-02 Panasonic Intellectual Property Corporation Of America Image-processing device, image-capturing device, and image-processing method
TWI543582B (zh) 2012-04-17 2016-07-21 晨星半導體股份有限公司 影像編輯方法以及相關之模糊參數建立方法
US9285971B2 (en) 2012-06-20 2016-03-15 Google Inc. Compartmentalized image editing system
CN103885623A (zh) * 2012-12-24 2014-06-25 腾讯科技(深圳)有限公司 一种将滑动事件处理成编辑手势的方法、系统及移动终端
CN103152521B (zh) 2013-01-30 2016-08-17 广东欧珀移动通信有限公司 一种移动终端中实现景深效果的方法及移动终端
CN103294362A (zh) 2013-06-28 2013-09-11 贝壳网际(北京)安全技术有限公司 用于移动设备的屏幕显示控制方法、装置和移动设备
US9697820B2 (en) * 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US9965865B1 (en) * 2017-03-29 2018-05-08 Amazon Technologies, Inc. Image data segmentation using depth data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090252429A1 (en) 2008-04-03 2009-10-08 Dan Prochazka System and method for displaying results of an image processing system that has multiple results to allow selection for subsequent image processing
US20140029868A1 (en) 2008-06-25 2014-01-30 Jon Lorenz Image layer stack interface
US20120148151A1 (en) 2010-12-10 2012-06-14 Casio Computer Co., Ltd. Image processing apparatus, image processing method, and storage medium

Also Published As

Publication number Publication date
KR20160124129A (ko) 2016-10-26
JP2017512335A (ja) 2017-05-18
CN105940392B (zh) 2019-09-27
JP6355746B2 (ja) 2018-07-11
EP3108379B1 (en) 2023-06-21
EP3108379A4 (en) 2018-01-17
CN105940392A (zh) 2016-09-14
WO2015123792A1 (en) 2015-08-27
US10026206B2 (en) 2018-07-17
US20160335789A1 (en) 2016-11-17
EP3108379A1 (en) 2016-12-28

Similar Documents

Publication Publication Date Title
KR101952569B1 (ko) 디바이스를 위한 이미지 편집 기법들
EP3457683B1 (en) Dynamic generation of image of a scene based on removal of undesired object present in the scene
TWI543610B (zh) 電子裝置及其影像選擇方法
WO2021208600A1 (zh) 一种图像处理方法、智能设备及计算机可读存储介质
US9153061B2 (en) Segmentation of 3D point clouds for dense 3D modeling
US8606042B2 (en) Blending of exposure-bracketed images using weight distribution functions
US9373187B2 (en) Method and apparatus for producing a cinemagraph
CN110300264B (zh) 图像处理方法、装置、移动终端以及存储介质
KR101620933B1 (ko) 제스쳐 인식 메커니즘을 제공하는 방법 및 장치
US20190371050A1 (en) Image processing method and apparatus, electronic device and computer readable medium
US10621730B2 (en) Missing feet recovery of a human object from an image sequence based on ground plane detection
US10726524B2 (en) Low-resolution tile processing for real-time bokeh
CN105701762B (zh) 一种图片处理方法和电子设备
KR20140035273A (ko) 화상 처리장치, 화상 처리프로그램을 기록한 컴퓨터-리더블 기록매체, 및 화상 처리방법
CN111080546B (zh) 一种图片处理方法及装置
CN111160240A (zh) 图像对象的识别处理方法、装置及智能设备、存储介质
CN110766631A (zh) 人脸图像的修饰方法、装置、电子设备和计算机可读介质
US10990802B2 (en) Imaging apparatus providing out focusing and method for controlling the same
JP6155349B2 (ja) デコンボリューション画像において色収差を減じる方法、装置及びコンピュータプログラム製品
WO2022105757A1 (zh) 图像处理方法及装置
CN115170581A (zh) 人像分割模型的生成方法、人像分割模型及人像分割方法
CN116405768A (zh) 视频画面区域确定方法、装置、计算机设备和存储介质

Legal Events

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