KR20150121069A - 전자 디바이스에 의한 상호작용적 이미지 캐리커처링을 위한 시스템들 및 방법들 - Google Patents

전자 디바이스에 의한 상호작용적 이미지 캐리커처링을 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR20150121069A
KR20150121069A KR1020157025391A KR20157025391A KR20150121069A KR 20150121069 A KR20150121069 A KR 20150121069A KR 1020157025391 A KR1020157025391 A KR 1020157025391A KR 20157025391 A KR20157025391 A KR 20157025391A KR 20150121069 A KR20150121069 A KR 20150121069A
Authority
KR
South Korea
Prior art keywords
image
caricature
gesture input
electronic device
mesh
Prior art date
Application number
KR1020157025391A
Other languages
English (en)
Inventor
쉬안 저우
판 링
닝 비
레이 장
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20150121069A publication Critical patent/KR20150121069A/ko

Links

Images

Classifications

    • 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
    • G06F3/04883Interaction 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 for inputting data by handwriting, e.g. gesture 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Processing (AREA)

Abstract

전자 디바이스에 의한 상호작용적 이미지 캐리커처링을 위한 방법이 기술된다. 방법은 이미지의 적어도 하나의 피처 로케이션을 검출하는 단계를 포함한다. 방법은 또한, 적어도 하나의 피처 로케이션에 기초하여, 적어도 하나의 수평 라인 및 적어도 하나의 수직 라인의 그리드를 포함하는 이미지 메시를 생성하는 단계를 더 포함한다. 방법은 제스처 입력을 획득하는 단계를 추가적으로 포함한다. 방법은 또한, 적어도 하나의 제스처 입력에 기초하여 적어도 하나의 캐리커처 액션을 결정하는 단계를 포함한다. 방법은, 이미지 메시, 적어도 하나의 캐리커처 액션 및 상기 이미지에 기초하여 캐리커처 이미지를 생성하는 단계를 더 포함한다.

Description

전자 디바이스에 의한 상호작용적 이미지 캐리커처링을 위한 시스템들 및 방법들{SYSTEMS AND METHODS FOR INTERACTIVE IMAGE CARICATURING BY AN ELECTRONIC DEVICE}
본 개시는 일반적으로 전자 디바이스에 관한 것이다. 보다 구체적으로는, 본 개시는 전자 디바이스에 의한 상호작용적 이미지 캐리커처링 (interactive image caricaturing) 을 위한 시스템들 및 방법들에 관한 것이다.
지난 수십년간, 전자 디바이스들의 사용은 보편화되었다. 특히, 전자 기술에서의 진보들은 점점 복잡하고 유용해지는 전자 디바이스들의 비용을 감소시켰다. 비용 감축 및 소비자 요구는 전자 디바이스들의 사용이 급증하게 하여, 그들이 현대 사회에서 실제로 아주 흔하게 되도록 하였다. 전자 디바이스들의 사용이 확장됨에 따라, 전자 디바이스들에 대한 새롭고 향상된 피처들 (features) 에 대한 욕구를 갖게 되었다. 보다 구체적으로, 새로운 기능들을 수행하고/하거나, 더 빨리, 보다 효율적으로, 또는 더 높은 품질로 기능들을 수행하는 전자 디바이스들이 종종 요구되고 있다.
몇몇 전자 디바이스들 (예컨대, 셀룰러 전화기들, 스마트폰들, 디지털 카메라들, 캠코더들, 컴퓨터들 등) 은 화상들 (pictures) 또는 이미지들 (images) 을 캡처 (capture) 한다. 예를 들어, 스마트폰은 통합된 이미지 감지 (sensing) 디바이스로 이미지를 캡처한다.
화상들 또는 이미지들을 캡처하고 편집하는 것이 유익할 수도 있지만, 이러한 프로세스들은 종종 시간 소모적이고 힘든 것이다. 이 논의로부터 관찰될 수 있는 바와 같이, 이미지 편집의 새로운 및/또는 향상된 피처들을 부가하는 시스템들 및 방법들은 유익할 수도 있다.
도 1 은 상호작용적 이미지 캐리커처링을 위한 시스템들 및 방법들이 구현될 수도 있는 전자 디바이스의 일 구성을 나타내는 블록도이다.
도 2 는 전자 디바이스에 의해 상호작용적 이미지 캐리커처링을 하는 방법의 일 구성을 나타내는 흐름도이다.
도 3 은 본 명세서에 개시된 시스템들 및 방법들을 이용하여 생성될 수도 있는 얼굴 이미지 및 캐리커처 이미지들의 예들을 나타낸다.
도 4 는 본 명세서에 개시된 시스템들 및 방법들을 이용하여 생성될 수도 있는 메시-기반 모델의 일 예를 나타낸다.
도 5 는 상호작용적 이미지 캐리커처링을 위한 시스템들 및 방법들이 구현될 수도 있는 전자 디바이스의 보다 구체적인 구성을 나타내는 블록도이다.
도 6 은 전자 디바이스에 의해 상호작용적 이미지 캐리커처링을 하는 방법의 보다 구체적인 구성을 나타내는 흐름도이다.
도 7 은 전자 디바이스에 의해 제스처 입력을 검증하는 방법의 일 구성을 나타내는 흐름도이다.
도 8 은 수직 핀치 이격 제스처 입력의 일 예를 나타낸다.
도 9 는 수직 핀치 근접 제스처 입력의 일 예를 나타낸다.
도 10 은 수평 핀치 이격 제스처 입력의 일 예를 나타낸다.
도 11 은 수평 핀치 근접 제스처 입력의 일 예를 나타낸다.
도 12 는 본 명세서에서 개시된 시스템들 및 방법들을 이용하여 생성될 수도 있는 얼굴 이미지의 다른 예 및 캐리커처 이미지들의 예들을 나타낸다.
도 13 은 상호작용적 이미지 캐리커처링을 위한 시스템들 및 방법들이 구현될 수도 있는 전자 디바이스의 보다 구체적인 구성을 나타내는 블록도이다.
도 14 는 전자 디바이스에서 이용될 수도 있는 다양한 컴포넌트들을 나타낸다.
전자 디바이스에 의한 상호작용적 이미지 캐리커처링을 위한 방법이 기술된다. 방법은 이미지의 적어도 하나의 피처 로케이션을 검출하는 단계를 포함한다. 방법은 또한, 적어도 하나의 피처 로케이션에 기초하여, 적어도 하나의 수평 라인 (horizontal line) 및 적어도 하나의 수직 라인 (vertical line) 의 그리드 (grid) 를 포함하는 이미지 메시 (image mesh) 를 생성하는 단계를 포함한다. 방법은 적어도 하나의 제스처 입력을 획득하는 단계를 또한 포함한다. 방법은, 적어도 하나의 제스처 입력에 기초하여 적어도 하나의 캐리커처 액션 (caricature action) 을 결정하는 단계를 포함한다. 방법은, 이미지 메시, 적어도 하나의 캐리커처 액션 및 상기 이미지에 기초하여 캐리커처 이미지를 생성하는 단계를 더 포함한다.
상기 이미지는 얼굴 이미지일 수도 있다. 이미지 메시의 버텍스들은 적어도 하나의 피처 로케이션 (feature location) 에 대응할 수도 있다. 적어도 하나의 제스처 입력은 터치 입력을 포함할 수도 있다. 방법은, 상기 이미지 및 상기 캐리커처 이미지 중 적어도 하나를 디스플레이하는 단계를 포함할 수도 있다. 캐리커처 이미지를 생성하는 단계는, 상기 이미지에 적어도 하나의 캐리커처 액션을 적용하는 단계를 포함할 수도 있다.
적어도 하나의 캐릭터 액션은, 이미지 메시의 적어도 하나의 버텍스 (vertex) 에 대한 시프팅 (shifting) 정보를 제공할 수도 있다. 적어도 하나의 캐릭터 액션은, 시프팅 정보에 기초하여 이미지 버텍스 픽셀을 대응하는 캐리커처 이미지 버텍스 픽셀에 맵핑하는 픽셀 맵 (pixel map) 을 또한 제공할 수도 있다. 캐리커처 이미지를 생성하는 단계는, 픽셀 맵에 기초하여 캐리커처 이미지에서 다른 픽셀들의 로케이션을 보간 (interpolating) 하는 단계를 포함할 수도 있다.
방법은 적어도 하나의 제스처 입력을 검증 (validating) 하는 단계를 포함할 수도 있다. 적어도 하나의 제스처 입력을 검증하는 단계는, 제스처 입력의 모션 (motion) 이 모션 임계치보다 더 큰지 여부를 결정하는 단계를 포함할 수도 있다.
적어도 하나의 제스처 입력은 다수의 제스처 입력들을 포함할 수도 있다. 방법은, 제스처 입력들의 서로에 대한 모션을 결정하는 단계를 포함할 수도 있다. 방법은, 제스처 입력들이 수평으로 정렬되는 것을 결정하는 단계를 포함할 수도 있다. 방법은, 제스처 입력들이 수직으로 정렬되는 것을 결정하는 단계를 포함할 수도 있다.
방법은 캐리커처 액션 리스트를 유지하는 단계를 포함할 수도 있다. 방법은, 캐리커처 액션 리스트에 적어도 하나의 캐리커처 액션을 추가하는 단계를 포함할 수도 있다.
상호작용적 이미지 캐리커처링을 위한 전자 디바이스가 기술된다. 전자 디바이스는, 이미지의 적어도 하나의 피처 로케이션을 검출하는 피처 로케이션 검출 회로를 포함한다. 전자 디바이스는, 피처 로케이션 검출 회로에 커플링된 (coupled) 이미지 메시 생성 회로를 또한 포함한다. 이미지 메시 생성 회로는, 적어도 하나의 피처 로케이션에 기초하여, 적어도 하나의 수평 라인 및 적어도 하나의 수직 라인의 그리드를 포함하는 이미지 메시를 생성한다. 전자 디바이스는, 적어도 하나의 제스처 입력을 획득하는 감지 회로를 또한 포함한다. 전자 디바이스는, 감지 회로에 커플링된 캐리커처 액션 결정 회로를 또한 포함한다. 캐리커처 액션 결정 회로는, 적어도 하나의 제스처 입력에 기초하여 적어도 하나의 캐리커처 액션을 결정한다. 전자 디바이스는, 이미지 메시 생성 회로 및 캐리커처 액션 결정 회로에 커플링된 캐리커처 이미지 생성 회로를 더 포함한다. 캐리커처 이미지 생성 회로는, 이미지 메시, 적어도 하나의 캐리커처 액션 및 상기 이미지에 기초하여 캐리커처 이미지를 생성한다.
상호작용적 이미지 캐리커처링을 위한 컴퓨터 프로그램 제품이 기술된다. 컴퓨터 프로그램 제품은 명령들을 갖는 비-일시성 (non-transitory) 유형의 (tangible) 컴퓨터 판독가능 매체를 포함한다. 명령들은, 전자 디바이스로 하여금 이미지의 적어도 하나의 피처 로케이션을 검출하게 하기 위한 코드를 포함한다. 명령들은 또한, 전자 디바이스로 하여금, 적어도 하나의 피처 로케이션에 기초하여, 적어도 하나의 수평 라인 및 적어도 하나의 수직 라인의 그리드를 포함하는 이미지 메시를 생성하게 하기 위한 코드를 포함한다. 명령들은 또한, 전자 디바이스로 하여금, 적어도 하나의 제스처 입력을 획득하게 하기 위한 코드를 포함한다. 명령들은 또한, 전자 디바이스로 하여금 적어도 하나의 제스처 입력에 기초하여 적어도 하나의 캐리커처 액션을 결정하게 하기 위한 코드를 포함한다. 명령들은, 전자 디바이스로 하여금 이미지 메시, 적어도 하나의 캐리커처 액션 및 상기 이미지에 기초하여 캐리커처 이미지를 생성하게 하기 위한 코드를 더 포함한다.
상호작용적 이미지 캐리커처링을 위한 장치가 기술된다. 장치는, 이미지의 적어도 하나의 피처 로케이션을 검출하는 수단을 포함한다. 장치는, 적어도 하나의 피처 로케이션에 기초하여, 적어도 하나의 수평 라인 및 적어도 하나의 수직 라인의 그리드를 포함하는 이미지 메시를 생성하는 수단을 또한 포함한다. 장치는, 적어도 하나의 제스처 입력을 획득하는 수단을 또한 포함한다. 장치는, 적어도 하나의 제스처 입력에 기초하여 적어도 하나의 캐리커처 액션을 결정하는 수단을 또한 포함한다. 장치는, 이미지 메시, 적어도 하나의 캐리커처 액션 및 상기 이미지에 기초하여 캐리커처 이미지를 생성하는 수단을 더 포함한다.
본 명세서에서 개시된 시스템들 및 방법들의 몇몇 구성들은 상호작용적 이미지 (예컨대, 얼굴) 캐리커처링을 제공한다. 얼굴 캐리커처링은 보통의 얼굴 이미지로부터 과장된 얼굴 컴포넌트들을 갖는 얼굴 이미지를 생성하는 하나 이상의 절차들을 나타낼 수도 있다. 이전에, 이것은 아티스트들에 의해 수작업으로 행해졌었지만, 요즘에는 컴퓨터-기반 자동 얼굴 캐리커처링이 이용가능하게 되었다.
컴퓨터 기반 얼굴 캐리커처링의 한가지 방법은 다음과 같은 단계들을 포함할 수도 있다. 첫번째, 입력 이미지에서 얼굴 피처 로케이션들을 검출한다. 이들 피처들은 눈 구석들, 콧구멍들, 입 구석들, 턱 및 다른 얼굴 윤곽 포인트들을 포함할 수도 있다. 두번째, 각각의 피처 로케이션에 대해, 입력 이미지에서의 이 피처 로케이션과 평균 얼굴에서의 대응하는 것 사이의 거리를 상향 또는 하향 스케일링 (scaling) 함으로써 캐리커처된 얼굴에 대한 새로운 로케이션을 계산한다. 세번째, 입력 이미지에서의 얼굴의 텍스처 (texture) 를 캐리커처된 얼굴로 왜곡 (warp) 하기 위해 텍스처 와핑 기법 (texture warping technique) 을 적용한다. 텍스처 와핑은, 입력 이미지에서의 각각의 얼굴 피처 로케이션을 캐리커처링된 얼굴에서의 대응하는 얼굴 피처 로케이션으로 맵핑하는 변환에 기초할 수도 있다.
하지만, 사용자 상호작용 (user interaction) 이 캐리커처링의 사용자-소망된 스타일 (예컨대, 확대된 눈들 및 쪼그라든 코를 갖는 특별한 스타일) 을 달성하기 위해 컴퓨터 얼굴 캐리커처링에 부가될 수도 있다. 본 명세서에서 개시된 시스템들 및 방법들은 상호작용적 얼굴 캐리커처링을 달성하고, 터치 스크린을 갖는 모바일 디바이스들에 적용될 수도 있다. 터치 스크린 상의 상이한 손가락 제스처들은 메시-기반 얼굴 캐리커처링 모델에 대한 상이한 캐리커처링 액션들로서 해석될 수도 있어, 사용자는 터치 스크린 상의 단순한 손가락 이동들을 이용함으로써 쉽게 흥미있는 캐리커처링을 생성할 수 있다. 도 3 은 본 명세서에서 개시된 시스템들 및 방법들에 기초한 캐리커처링의 예들을 제공한다. 특히, 도 3 은 좌측에 원래의 얼굴 이미지를 나타내고, 나머지 이미지들에서 3 개의 캐리커처링 효과들을 나타낸다.
본 명세서에서 개시된 시스템들 및 방법들에 따른 상호작용적 얼굴 캐리커처링의 하나의 애플리케이션 시나리오에서, 얼굴 이미지가 터치 스크린 상에 디스플레이될 수도 있고, 사용자는 그 얼굴 이미지에 원하는 캐리커처링 액션(들)을 부가하기 위해 터치 스크린 상에 그의/그녀의 손가락들을 이용할 수도 있다. 각각의 액션 후에, 디스플레이되는 캐리커처링된 얼굴 이미지는 원래의 얼굴 이미지에 순차적으로 적용된 이전의 캐리커처링 액션들의 결과일 수도 있다.
다양한 구성들이 이제 도면들을 참조하여 설명되고, 도면들에서 유사한 참조 부호들은 기능적으로 유사한 엘리먼트들을 나타낼 수도 있다. 본 명세서에서 도면들에서 일반적으로 기술되고 도시된 시스템들 및 방법들은 아주 다양한 상이한 구성들로 배열 및 설계될 수 있을 것이다. 따라서, 도면들에서 나타난 바와 같이, 몇몇 구성들의 이하의 보다 상세한 설명은 청구된 바와 같은 범위를 제한하려는 의도가 아니고, 단지 시스템들 및 방법들을 대표하는 것이다.
도 1 은 상호작용적 이미지 캐리커처링을 위한 전자 디바이스 (102) 의 일 구성을 나타내는 블록도이다. 본 명세서에서 사용된 바와 같이, "캐리커처링 (caricaturing)" 이라는 용어는 이미지 (104) 의 조작 (manipulation) 을 지칭할 수도 있다. 이미지 캐리커처링은 이미지의 하나 이상의 픽셀들을 조작할 수도 있다. 예를 들어, 이미지 캐리커처링은 픽셀의 일반적인 로케이션을 변경하는 것을 포함할 수도 있다. 예를 들어, 이미지 캐리커처링은 이미지 (104) 에서 다른 픽셀들에 대한 픽셀의 로케이션을 변경하는 것을 포함할 수도 있다. 캐리커처링은 또한 새로운 픽셀들을 보간하는 것을 포함할 수도 있다.
전자 디바이스 (102) 의 예들은 스마트폰들, 셀룰러 전화기들, 디지털 카메라들, 데스크탑 컴퓨터들, 랩탑 컴퓨터들, 태블릿들, 개인 휴대 정보 단말기 (PDA) 들, 모바일 디바이스들 등을 포함한다. 전자 디바이스 (102) 는 피처 로케이션 검출 블록/모듈 (106), 이미지 메시 생성 블록/모듈 (110), 캐리커처 액션 결정 블록/모듈 (116) 및 캐리커처 이미지 생성 블록/모듈 (120) 중 하나 이상을 포함할 수도 있다. 본 명세서에서 사용된 바와 같이, "블록/모듈 (block/module)" 이라는 용어는, 특정 엘리먼트가 하드웨어 (예컨대, 회로), 소프트웨어 또는 양자의 조합으로 구현될 수도 있는 것을 나타내기 위해 사용될 수도 있다. 예를 들어, 캐리커처 액션 결정 블록/모듈 (116) 은 하드웨어 (예컨대, 회로), 소프트웨어 또는 양자의 조합으로 구현될 수도 있다.
전자 디바이스 (102) 는 이미지 (104) 를 획득할 수도 있다. 일부 구현들에서, 이미지 (104) 는 얼굴 이미지 (104) 일 수도 있다. 추가적으로 또는 대안적으로, 이미지 (104) 는 이전에 생성된 캐리커처 이미지 (122) 일 수도 있다. 전자 디바이스 (102) 는 이미지 (104) 를 캡처하는 이미지 감지 디바이스 (미도시) 를 포함할 (또는 에 커플링될) 수도 있다. 이미지 감지 디바이스는 이미지 센서를 포함할 수도 있다. 이미지 감지 디바이스의 예들은 카메라 및 스캐너를 포함할 수도 있다. 예를 들어, 스마트폰 (예컨대, 전자 디바이스 (102)) 은 얼굴 이미지 (104) 를 캡처하는 카메라 (예컨대, 이미지 감지 디바이스) 를 포함할 수도 있다.
다른 예에서, 전자 디바이스 (102) 는 다른 디바이스로부터 이미지 (104) 를 수신할 수도 있다. 예를 들어, 전자 디바이스 (102) 는 네트워크 (예컨대, 로컬 영역 네트워크 (LAN), 인터넷, 셀룰러 네트워크 등) 를 통해서 또는 직접 연결 (예컨대, 범용 직렬 버스 (USB) 케이블, 블루투스 무선 링크 등) 을 통해서 다른 디바이스로부터 이미지 (104) 를 수신할 수도 있다.
이미지 (104) (예컨대, 얼굴 이미지) 는 피처 로케이션 검출 블록/모듈 (106) 및 캐리커처 이미지 생성 블록/모듈 (120) 에 제공된다. 피처 로케이션 검출 블록/모듈 (106) 을 통해, 전자 디바이스 (102) 는 이미지 (104) 의 적어도 하나의 피처 로케이션 (108) 을 검출할 수도 있다. 피처 로케이션 (108) 은 이미지 (104) 의 구분되는 피처의 로케이션을 지칭할 수도 있다. 예를 들어, 얼굴 이미지 (104) 는 얼굴의 윤곽들, 눈의 구석들, 코의 끝, 코의 구석들, 콧구멍들, 입의 구석들, 이마, 턱, 귀들, 뺨들 등과 같은 피처들을 포함할 수도 있다. 피처 로케이션 (108) 은 피처를 이루는 픽셀들의 로케이션을 지칭할 수도 있다. 본 명세서에서 사용된 바와 같이, 픽셀들의 로케이션은 이미지를 구성하는 픽셀들의 (예를 들어 x, y 좌표 시스템에서의) 좌표들을 지칭할 수도 있다. 피처 로케이션 결정 블록/모듈 (106) 은 하나 이상의 알고리즘에 기초하여 피처 로케이션 (108) 을 결정할 수도 있다. 예를 들어, 피처 로케이션 결정 블록/모듈 (106) 은 이미지 (104) 의 피처가 어디에 위치되는지를 결정하기 위해 하나 이상의 픽셀들 (예컨대, 픽셀 색조) 을 분석할 수도 있다.
피처 로케이션 (108) (예컨대, 얼굴 피처 로케이션들) 은 이미지 메시 생성 블록/모듈 (110) 에 제공될 수도 있다. 이미지 메시 생성 블록/모듈 (110)은 이미지 메시 (112) 를 생성할 수도 있다. 이미지 메시 (112) 는 적어도 하나의 수평 라인 및 적어도 하나의 수직 라인의 그리드를 포함할 수도 있다. 라인들은 하나 이상의 버텍스들에서 교차할 수도 있다. 다르게 말하면, 이미지 메시 (112) 는 수평 라인 및 수직 라인의 교차점을 각각 나타내는 버텍스들의 그리드를 포함할 수도 있다.
일부 구현들에서, 이미지 메시 (112) 는 적어도 하나의 피처 로케이션 (108) 에 기초할 수도 있다. 예를 들어, 이미지 메시 (112) 의 버텍스들의 일부는 상이한 피처 로케이션들 (108) 에 대응할 수도 있다. 예를 들어, 얼굴 이미지 (104) 에 대해, 이미지 메시 (112) 는 다수의 얼굴 피처 로케이션들 (108) (예컨대, 눈들의 구석들, 코의 구석들, 입의 구석들 등) 에 대응하는 다수의 버텍스들을 포함할 수도 있다. 다르게 말하면, 버텍스들은 얼굴 피처들을 구성하는 이미지 (104) 의 픽셀들에 대응할 수도 있다. 또한, 이 예에서, 피처들 중 하나 이상은 이미지 메시 (112) 의 동일한 라인에 대응할 수도 있다. 예를 들어, 적어도 도 4 와 관련하여 이하 설명될 바와 같이, 눈들의 구석들은 이미지 메시 (112) 의 동일한 수평 라인에 대응할 수도 있다. 몇몇 구현들에서, 모든 버텍스들이 피처 로케이션들과 정렬할 수도 있는 것은 아니라는 것을 유의하여야 한다.
이하 설명될 바와 같이, 버텍스들이 제스처 입력 (114) 에 기초하여 이동됨에 따라, 대응하는 피처들 (예컨대, 피처들을 구성하는 픽셀들) 은 유사한 방식으로 이동될 수도 있다. 예를 들어, 이미지 메시 (112) 의 수평 라인이 상방으로 이동되는 경우, 이 수평 라인 상의 버텍스들에 대응하는 피처들 (예컨대, 눈들의 구석들) 또한 상방으로 이동할 수도 있다.
전자 디바이스 (102) 는 제스처 입력 (114) 을 획득할 수도 있다. 본 명세서에서 사용된 바와 같이, 제스처 입력 (114) 은 전자 디바이스 (102) 에 의해 입력으로서 수신되는 모션을 지칭할 수도 있다. 예를 들어, 오브젝트 (예컨대, 손가락 또는 스타일러스) 는 시작 포인트로부터 수직 방향으로 이동할 수도 있다. 이것은 전자 디바이스 (102) 에 의해 제스처 입력 (114) 으로서 수신될 수도 있다. 일부 구현들에서, 제스처 입력 (114) 은 터치 입력일 수도 있다. 예를 들어, 스마트폰 (예컨대, 전자 디바이스 (102)) 는 터치 스크린을 포함할 (또는, 에 커플링될) 수도 있다. 이 예에서, 사용자는 시작 포인트에서 터치 스크린에 오브젝트 (예컨대, 손가락 또는 스타일러스) 를 터치할 수도 있고, 터치 스크린과의 접촉을 유지하면서 수직 방향으로 그 오브젝트를 이동시킬 수도 있다. 유사한 방식으로, 터치 스크린은 수평 제스처 입력 (114) 을 검출할 수도 있다.
일부 구현들에서, 제스처 입력 (114) 은 터치 입력이 아닐 수도 있다. 예를 들어, 전자 디바이스 (102) 는 모션을 검출하는 모션 감지 디바이스 (예를 들어, 카메라) 를 포함할 수도 있다. 이 예에서, 모션 감지 디바이스는 전자 디바이스 (102) 와 접촉하지 않는 오브젝트 (예컨대, 손가락 또는 스타일러스) 의 이동을 검출할 수도 있다. 예를 들어, 전자 디바이스 (102) 와 접촉하지 않는 오브젝트가 수직 방향으로 이동할 수도 있다. 전자 디바이스 (102) 는, 카메라 (예컨대, 모션 감지 디바이스) 를 통해, 제스처 입력 (114) 을 검출할 수도 있다.
일부 구현들에서, 제스처 입력 (114) 은 다수의 제스처 입력들 (114) 을 포함할 수도 있다. 예를 들어, 전자 디바이스 (102) 는 (예를 들어, 터치 스크린을 통해) (사용자의 2 개의 손가락들을 통한) 2 개의 제스처 입력들 (114) 을 검출할 수도 있다. 예를 들어, 전자 디바이스 (102) 는 수직 핀치 근접 제스처 입력 (vertical pinch close gesture input) (114) 을 검출할 수도 있다. 수직 핀치 근접 제스처 입력 (114) 은 서로를 향해 이동하는 2 개의 수직 제스처 입력들 (114) 을 포함할 수도 있다. 반면에, 전자 디바이스 (102) 는, 서로로부터 멀리 이동하는 2 개의 수직 제스처 입력들 (114) 을 포함할 수도 있는 수직 핀치 이격 제스처 입력 (vertical pinch open gesture input) (114) 을 검출할 수도 있다. 유사하게, 전자 디바이스 (102) 는 수평 핀치 이격 제스처 입력 (114) (예컨대, 서로로부터 멀리 이동하는 2 개의 수평 제스처 입력들 (114)) 또는 수평 핀치 근접 제스처 입력 (114) (예컨대, 서로를 향해 이동하는 2 개의 수평 제스처 입력들 (114)) 을 검출할 수도 있다.
제스처 입력(들) (114) 은 캐리커처 액션 (118) 을 결정할 수도 있는 캐리커처 액션 결정 블록/모듈 (116) 에 제공될 수도 있다. 캐리커처 액션 (118) 은 캐리커처 이미지 (122) 를 생성하기 위해 이미지 (104) 가 어떻게 조작될 수도 있는지에 관한 정보를 포함할 수도 있다. 예를 들어, 캐리커처 액션 (118) 은, 캐리커처 이미지 (122) 를 생성하기 위해 이미지 메시 (112) 의 버텍스들이 어떻게 이동될 수도 있는지를 나타내는 정보를 포함할 수도 있다. 일부 구현들에서, 그 정보는 이미지 메시 (112) 의 버텍스가 이미지 (104) 와 캐리커처 이미지 (122) 사이에서 어떻게 이동하는지를 나타내는 맵핑 (mapping) 을 포함할 수도 있다.
일부 구현들에서, 캐리커처 액션 (118) 은 제스처 입력(들) (114) 에 기초할 수도 있다. 예를 들어, 전자 디바이스 (102) 가 수직 핀치 이격 제스처 입력 (114) 을 획득하는 경우에, 캐리커처 액션 (118) 은 하나 이상의 버텍스들이 서로로부터 더 멀리 떨어지게 이동될 수도 있는 것을 나타내는 정보를 포함할 수도 있다. 제스처 입력(들) (114) 에 기초한 버텍스들의 이동에 관한 보다 상세한 내용은 도 8 내지 도 11 중 적어도 하나와 관련하여 주어진다. 도 8 내지 도 11 중 적어도 하나와 관련하여 설명될 바와 같이, 어느 버텍스들이 이동하고, 얼마나 많은 버텍스들이 이동하는지는 제스처 입력 (114) 의 시작 포인트로부터의 버텍스들의 거리 및 버텍스들의 로케이션에 기초할 수도 있다.
캐리커처 액션 (118) 은 제스처 입력(들) (114) 이전의 (예컨대, 원래 이미지 (104) 의) 버텍스와 제스처 입력(들) (114) 후의 (예컨대, 캐리커처 이미지 (122) 의) 동일한 버텍스 사이의 맵핑을 제공할 수도 있다. 예를 들어, 캐리커처 액션 (118) 은 원래 이미지 (104) 에서의 제 1 버텍스의 로케이션과, 캐리커처 이미지 (122) 에서의 동일한 제 1 버텍스의 로케이션 사이의 맵핑을 제공할 수도 있다. 제 1 버텍스의 로케이션 (예컨대, x, y 좌표들) 이 이미지 (104) 와 캐리커처 이미지 (122) 사이에서 변화할 수도 있다는 점에 유의하여야 한다.
일부 구현들에서, 캐리커처 액션 (118) 은 이미지 (104) 의 비-버텍스 (non-vertex) 픽셀들 (예컨대, 이미지 메시 (112) 의 버텍스에 대응하지 않는 픽셀들) 의 보간을 제공할 수도 있다. 예를 들어, 이미지 메시 (112) 의 맵핑에 기초하여, 전자 디바이스 (102) 는 이미지 (104) 에서의 다른 픽셀들의 이동을 보간할 수도 있다. 이 보간에 기초하여, 전자 디바이스 (102) 는 맵핑에 기초하여 이미지에서의 픽셀들에 텍스처 와핑을 적용할 수도 있다.
이미지 메시 (112), 캐리커처 액션 (118) 및 이미지 (104) 는 캐리커처 이미지 생성 블록/모듈 (120) 에 제공될 수도 있다. 캐리커처 이미지 생성 블록/모듈 (120) 은 이미지 메시 (112), 캐리커처 액션 (118) 및 이미지 (104) 에 기초하여 캐리커처 이미지 (122) 를 생성할 수도 있다. 캐리커처 이미지 (122) 는 조작된 이미지 (104) 의 버전 (version) 을 지칭할 수도 있다. 예를 들어, 이미지 (104) 의 픽셀들 중 하나 이상은 캐리커처 이미지 (122) 를 생성하기 위해 상이하게 포지셔닝될 수도 있다. 캐리커처 이미지 생성 블록/모듈 (120) 은 이미지 메시 (112) 및 이미지 (104) 에 캐리커처 액션 (118) 을 적용함으로써 캐리커처 이미지 (122) 를 생성할 수도 있다. 예를 들어, 도 8 내지 도 11 에서 보다 상세하게 설명될 바와 같이, 캐리커처 액션 (118) 이 제 1 버텍스가 제 2 버텍스로부터 멀리 이동될 것이라는 것을 나타내는 정보를 포함하는 경우에, 캐리커처 이미지 생성 블록/모듈 (120) 은 이미지 메시 (112) 의 제 1 버텍스 및 그 제 1 버텍스에 대응하는 이미지 (104) 의 피처를 이미지 메시 (112) 의 제 2 버텍스에 대응하는 이미지 (104) 의 피처로부터 멀리 이동시킬 수도 있다. 유사하게, 캐리커처 이미지 생성 블록/모듈 (120) 은 캐리커처 액션 (118) 에서 표시된 비-버텍스 픽셀 맵핑에 따라 이미지 (104) 의 비-버텍스 픽셀들을 조작할 수도 있다. 전술한 바와 같이, 비-버텍스 픽셀 맵핑은 이미지 메시 (112) 의 버텍스들의 맵핑의 보간에 의해 생성될 수도 있고, 텍스처 와핑이 픽셀들에 적용될 수도 있다.
도 2 는 전자 디바이스 (102) 에 의해 상호작용적 이미지 캐리커처링을 하기 위한 방법 (200) 의 일 구성을 나타내는 흐름도이다. 전자 디바이스 (102) 는 이미지 (104) 의 적어도 하나의 피처 로케이션 (108) 을 검출할 수도 있다 (202). 예를 들어, 전자 디바이스 (102) 는 얼굴 이미지 (104) 의 적어도 하나의 얼굴 피처 로케이션 (108) 을 검출할 수도 있다 (202). 얼굴 피처들의 예들은 눈들의 구석들, 코의 끝, 코의 구석들, 입의 구석들, 이마, 턱, 귀들, 뺨들 등을 포함한다. 전자 디바이스 (102) 는 이미지 (104) 에서 피처 로케이션들 (108) 을 결정하기 위해 하나 이상의 접근법들을 이용할 수도 있다. 예를 들어, 전자 디바이스 (102) 는 얼굴 이미지 (104) 의 얼굴 윤곽들 또는 에지들 (예컨대, 상부, 측면들, 하부 또는 턱 등), 눈들, 코 (예컨대, 콧구멍들), 입, 이마 등의 픽셀 로케이션들을 결정할 수도 있다.
일부 구현들에서, 이미지 (104) 는 전자 디바이스 (102) 에 커플링된 이미지 감지 디바이스 (예컨대, 카메라 또는 스캐너) 에 의해 검출되었던 것일 수도 있다. 다른 구현들에서, 이미지 (104) 는 다른 디바이스 (예컨대, 인터넷 서버, 다른 전자 디바이스 등) 에 의해 수신되었던 것일 수도 있다.
일부 구현들에서, 이미지 (104) 는 이전에 생성되었던 캐리커처 이미지일 수도 있다. 예를 들어, 방법 (200) 의 이전 사이클에서, 캐리커처 이미지는 이전의 (또는 기존의) 캐리커처 액션들 및 이전 이미지에 기초하여 생성되었을 수도 있다. 이 예에서, 방법 (200) 은 이전에 생성된 캐리커처 이미지에 대해 이미지 캐리커처링을 수행하는 것을 포함할 수도 있다.
전자 디바이스 (102) 는 적어도 하나의 수평 라인 및 적어도 하나의 수직 라인의 그리드를 포함하는 이미지 메시 (112) 를 생성할 수도 있다 (204). 일부 구현들에서, 각 라인은 인덱스에 대응할 수도 있다. 예를 들어, 제 1 수평 라인은 제 1 수평 인덱스 (예를 들어, H0) 를 가질 수도 있고, 제 2 수평 라인은 제 2 수평 인덱스 (예를 들어, H1) 를 가질 수도 있다. 유사하게, 제 1 수직 라인은 제 1 수직 인덱스 (예를 들어, V0) 를 가질 수도 있고, 제 2 수직 라인은 제 2 수직 인덱스 (예를 들어, V1) 를 가질 수도 있다. 수평 라인 및 수직 라인의 교차는 이미지 메시 (112) 의 버텍스를 초래할 수도 있다. 이미지 메시 (112) 의 각 버텍스는 좌표 폼에서 그것의 수평 라인 인덱스 (예컨대, H0, H1, ..., H6) 및 그것의 수직 라인 인덱스 (V0, V1, ..., V7) 에 의해 특정될 수도 있다. 예를 들어, 제 1 수평 라인 (예컨대, H0) 및 제 1 수직 라인 (예컨대, V0) 의 교차점에서의 제 1 버텍스는 좌표들 (H0, V0) 에 의해 특정될 수도 있다. 이미지 좌표 시스템 X-O-Y (예컨대, x, y 좌표 시스템) 에서의 버텍스 좌표들에 의해 표시되는 바와 같은, 이미지 메시 (112) 상의 각 버텍스의 실제 로케이션은 캐리커처 액션 (118) 후에 변경될 수도 있다는 점에 유의하여야 한다.
일부 구현들에서, 전자 디바이스 (102) 는 적어도 하나의 캐리커처 로케이션 (108) 에 기초하여 이미지 메시 (112) 를 생성할 수도 있다 (204). 예를 들어, 전자 디바이스 (102) 는, 적어도 하나의 버텍스 (예컨대, 수평 라인 및 수직 라인의 교차점) 가 피처 로케이션 (108) 에 대응하는 이미지 메시 (112) 를 생성할 수도 있다 (204). 예를 들어, 전자 디바이스 (102) 는, 버텍스들이 눈들의 구석들, 입의 구석들, 코의 구석들 등 중 하나 이상에 대응할 수도 있는 이미지 메시 (112) 를 생성할 수도 있다 (204). 일부 경우들에서, 하나 이상의 피처들 (및 대응하는 버텍스들) 은 동일한 수평 라인에 속할 수도 있음에 유의하여야 한다. 예를 들어, 눈들의 구석들은 동일한 수평 라인에 대응하는 이미지 메시 (112) 의 버텍스들에 대응할 수도 있다.
전자 디바이스 (102) 는 적어도 하나의 제스처 입력 (114) 을 획득할 수도 있다 (206). 전술한 바와 같이, 일부 구현들에서, 제스처 입력(들) (114) 은 터치 입력일 수도 있다. 이들 구현들에서, 전자 디바이스 (102) 는 터치 입력을 검출하는 터치 스크린을 포함할 (또는 에 커플링될) 수도 있다. 다른 구현들에서, 전자 디바이스는 그 전자 디바이스 (102) 에 커플링된 모션 감지 디바이스를 통해 제스처 입력(들) (114) 을 획득할 수도 있다 (206). 이 예에서, 전자 디바이스 (102) 는 전자 디바이스 (102) 와의 물리적인 접촉 없이 제스처 입력(들) (114) 을 획득할 수도 있다 (206). 일부 구현들에서, 적어도 하나의 제스처 입력 (114) 을 획득하는 것 (206) 은 제스처 입력(들) (114) 의 방향을 결정하는 것을 포함할 수도 있다. 예를 들어, 터치 스크린은 수직 제스처 입력 (114) 을 검출할 수도 있다. 유사하게, 터치 스크린은 수평 제스처 입력 (114) 을 검출할 수도 있다.
일부 구현들에서, 전자 디바이스 (102) 는 다수의 제스처 입력들 (114) 을 획득할 수도 있다 (206). 예를 들어, 전자 디바이스 (102) 에 커플링된 터치 스크린은 다수의 오브젝트들 (예컨대, 2 개의 손가락들) 로부터 동시에 터치 입력들을 수신할 수도 있다. 이 예에서, 터치 스크린은 또한 제스처 입력들 (114) 의 상대적인 모션을 검출할 수도 있다. 예를 들어, 터치 스크린은, 제스처 입력들 (114) 이 함께 더 가깝게 이동하고 있는지 또는 더 멀리 떨어지게 이동하고 있는지 여부를 검출할 수도 있다.
터치 스크린은 제스처 입력들 (114) 이 정렬되는지 여부를 검출할 수도 있다. 예를 들어, 터치 스크린은, 제스처 입력들 (114) 의 시작 포인트들이 수평으로 정렬되는지 또는 수직으로 정렬되는지 여부를 검출할 수도 있다. 일부 구현들에서, 정렬되는 것은, 제스처 입력들 (114) 의 시작 포인트들이 동일한 라인 (예컨대, 수평으로 정렬된 제스처 입력들 (114) 에 대해 동일한 수평 라인 및 수직으로 정렬된 제스처 입력들 (114) 에 대해 동일한 수직 라인) 상에 실질적으로 속하는 것을 나타낼 수도 있다. 다른 구현들에서, 제스처 입력들 (114) 이 정렬되는지 여부를 결정하는 것은, 제스처 입력들 (114) 이 서로의 임계 각도 내에 있는지를 결정하는 것을 포함할 수도 있다. 또 다른 구현들에서, 정렬되는 것은, 제스처 입력들 (114) 의 시작 포인트들이 임계 거리보다 적게 이미지 메시 (112) 의 라인으로부터 떨어져 있다는 것을 의미할 수도 있다.
전자 디바이스 (102) 는 제스쳐 입력 (114) 에 기초하여 적어도 하나의 캐리커처 액션 (118) 을 결정할 수도 있다 (208). 캐리커처 액션 (118) 은 이미지 메시 (112) 의 적어도 하나의 버텍스에 대해 시프팅 정보를 제공할 수도 있다. 시프팅 정보는, 캐리커처 이미지 (122) 를 생성하기 위해 이미지 (114) 의 피처 로케이션들 (108) (및 이미지 메시 (112) 버텍스들) 이 어떻게 조작될 수도 있는지를 나타낼 수도 있다. 예를 들어, 전자 디바이스 (102) 가 수직 방향으로 서로로부터 더 멀리 떨어지게 이동하고 있는 2 개의 제스처 입력들 (114) (예컨대, 수직 핀치 이격 제스처 입력 (114)) 을 획득 (206) 하는 경우에, 캐리커처 액션 (118) 은 하나 이상의 버텍스들이 또한 서로로부터 더 멀리 떨어지게 이동될 수도 있음을 나타내는 정보를 포함할 수도 있다. 일부 구현들에서, 버텍스들이 이동하는 거리는 제스처 입력들 (114) 의 이동과 동일할 수도 있고 또는 상이할 수도 있다는 점에 유의하여야 한다. 제스처 입력 (114) 에 기초한 버텍스들의 이동에 관한 보다 상세한 내용은 이하 도 8 내지 도 11 과 관련하여 주어진다. 이 예에서, 캐리커처 액션 (118) 은 이미지 버텍스를 시프팅 정보에 기초하여 그것의 대응하는 캐리커처 이미지 버텍스 픽셀로 맵핑하는 버텍스 픽셀 맵을 제공할 수도 있다. 픽셀 맵은 특정 픽셀이 어떻게 제스처 입력 (114) 에 기초하여 이동될 수도 있는지를 나타낼 수도 있다.
전자 디바이스 (102) 는 이미지 메시 (112), 적어도 하나의 캐리커처 액션 (118) 및 이미지 (104) (또는 이전에 생성된 캐리커처 이미지) 에 기초하여 캐리커처 이미지 (122) 를 생성할 수도 있다 (210). 일부 구현들에서, 캐리커처 이미지 (122) 를 생성하는 것 (210) 은 이미지 (104) (또는 이전에 생성된 캐리커처 이미지) 에 적어도 하나의 캐리커처 액션 (118) 을 적용하는 것을 포함할 수도 있다. 예를 들어, 전술한 바와 같이, 적어도 하나의 캐리커처 액션 (118) 은, 제스처 입력 (114) 전의 이미지 (104) (또는 이전에 생성된 캐리커처 이미지) 에서의 적어도 하나의 버텍스의, 제스처 입력 (114) 후의 캐리커처 이미지 (122) 에서의 대응하는 버텍스로의 맵핑을 포함할 수도 있다. 이 예에서, 전자 디바이스 (102) 는 맵핑을 적용하고, 이미지 (104) (또는 이전에 생성된 캐리커처 이미지) 의 대응하는 피처 로케이션들 (108) 및/또는 메시 이미지 (112) 의 버텍스들을 이동시킬 수도 있다.
캐리커처 이미지 (112) 를 생성하는 것 (210) 은 또한, 이미지 메시 (112) 의 버텍스와 연관되지 않은 하나 이상의 픽셀들을 유지하는 것을 포함할 수도 있다. 예를 들어, 캐리커처 액션 (118) 은 캐리커처 이미지 (122) 에서 다른 픽셀들 (예컨대, 버텍스에 대응하지 않는 픽셀들) 의 로케이션의 보간을 포함할 수도 있다. 이 예에서, 전자 디바이스 (102) 는 픽셀 맵에 기초하여 다른 픽셀들의 로케이션을 보간하고 그 픽셀들에 대해 텍스처 와핑을 수행할 수도 있다.
도 3 은 얼굴 이미지 (304) 및 본 명세서에서 개시된 시스템들 및 방법들을 이용하여 생성될 수도 있는 캐리커처 이미지들 (322a-c) 의 예들을 나타낸다. 전술한 바와 같이, 전자 디바이스 (102) 는 전자 디바이스 (102) 에 커플링된 이미지 감지 디바이스 (예컨대, 카메라 또는 스캐너) 를 통해 얼굴 이미지 (304) 를 수신할 수도 있다. 일부 구현들에서, 다수의 캐리커처 이미지들 (322a-c) 이 생성될 수도 있다. 예를 들어, 제 1 캐리커처 이미지 (322a) 는 얼굴 이미지 (304) 및 캐리커처 액션들 (118) 의 제 1 셋트에 기초하여 생성될 수도 있다. 이 예에서, 제스처 입력들 (114) 의 제 1 셋트는 본 명세서에서 기술된 바와 같이 캐리커처 액션들 (118) 의 제 1 셋트를 나타낼 수도 있다. 이 예에서, 전자 디바이스 (102) 는 얼굴 이미지 (304) 에 적용된 캐리커처 액션들을 포함하는 캐리커처 액션 리스트를 유지할 수도 있다. 예를 들어, 캐리커처 액션 리스트는 캐리커처 액션들 (118) 의 제 1 셋트를 포함할 수도 있다.
일부 예들에서, 제 2 캐리커처 이미지 (322b) 는 캐리커처 액션들 (118) 의 제 2 셋트 및 제 1 캐리커처 이미지 (322a) 에 기초하여 생성될 수도 있다. 이 예에서, 제스처 입력들 (114) 의 제 2 셋트는 캐리커처 액션들 (118) 의 제 2 셋트를 나타낼 수도 있다. 캐리커처 액션들 (118) 의 제 2 셋트는 (예컨대, 캐리커처 액션들 (118) 의 제 1 셋트를 포함하는) 캐리커처 액션 리스트에 첨부될 수도 있다.
일부 예들에서, 제 3 캐리커처 이미지 (322c) 는 캐리커처 액션들 (118) 의 제 3 셋트 및 제 2 캐리커처 이미지 (322b) 에 기초하여 생성될 수도 있다. 이 예에서, 제스처 입력들 (114) 의 제 3 셋트는 캐리커처 액션들 (118) 의 제 3 셋트를 나타낼 수도 있다. 캐리커처 액션들 (118) 의 제 3 셋트는 (예컨대, 캐리커처 액션들 (118) 의 제 1 셋트 및 캐리커처 액션들 (118) 의 제 2 셋트를 포함하는) 캐리커처 액션 리스트에 첨부될 수도 있다. 각각의 캐리커처 이미지 (322a-b) 는 이전의 캐리커처 액션들 (118) 의 결과일 수도 있음에 유의하여야 한다. 예를 들어, 제 3 캐리커처 이미지 (322c) 는 캐리커처 액션들 (118) 의 제 1, 제 2 및 제 3 셋트가 얼굴 이미지 (304) 에 적용된 결과일 수도 있다.
도 4 는 상호작용적 이미지 캐리커처링을 위한 시스템들 및 방법들이 구현될 수도 있는 메시-기반 모델의 일 예를 나타낸다. 일부 구현들에서, 메시-기반 모델은 이미지 (404) 상에 중첩된 이미지 메시 (412) 를 포함할 수도 있다. 이미지 메시 (412) 및 이미지 (404) 는 도 1 과 관련하여 설명된 대응하는 엘리먼트들의 예들일 수도 있다. 전술한 바와 같이, 이미지 메시 (412) 는 피처 로케이션들 (108) 에 대응하는 버텍스들 (428) 을 포함할 수도 있다. 예를 들어, 버텍스들 A, B, C 및 D (428a-d) 은 눈 구석 피처 로케이션들 (108) 에 대응할 수도 있다. 버텍스들 E 및 F (428e-f) 은 코 구석 피처 로케이션들 (108) 에 대응할 수도 있다. 버텍스들 G 및 H (428g-h) 는 입 구석 피처 로케이션들 (108) 에 대응할 수도 있다.
전술한 바와 같이, 이미지 메시 (412) 는 적어도 하나의 수평 라인 (424) 및 적어도 하나의 수직 라인 (426) 을 포함할 수도 있다. 각 수평 라인 (424) 및 수직 라인 (426) 은 라인 인덱스 (line index) 에 의해 식별될 수도 있다. 예를 들어, 제 1 수평 라인 (424a) 은 수평 라인 인덱스 (H0) 를 가질 수도 있다. 유사하게, 다른 수평 라인들 (424b-g) 은 대응하는 수평 라인 인덱스들 (H1-H6) 을 가질 수도 있다. 각 수평 라인 (424) 은 또한 하나 이상의 피처 로케이션들 (108) 을 포함할 수도 있다. 예를 들어, 상부로부터 하부로, 제 1 수평 라인 (예컨대, H0) (424a) 은 상부 이미지 경계일 수도 있고, 제 2 수평 라인 (예컨대, H1) (424b) 은 이마에 의해 정의될 수도 있고, 제 3 수평 라인 (예컨대, H2) (424c) 은 2 개의 눈들을 가로지를 수도 있으며, 제 4 수평 라인 (예컨대, H3) (424d) 은 콧구멍들을 가로지를 수도 있고, 제 5 수평 라인 (예컨대, H4) (424e) 은 입에 의해 정의될 수도 있고, 제 6 수평 라인 (예컨대, H5) (424f) 은 턱에 의해 정의될 수도 있으며, 마지막 수평 라인 (예컨대 H6) (424g) 은 하부 이미지 경계일 수도 있다.
유사한 방식으로, 각 수직 라인 (426a-h) 은 수직 라인 인덱스 (V0-V7) 를 가질 수도 있고, 하나 이상의 피처 로케이션들을 포함할 수도 있다. 예를 들어, 좌에서 우로, 제 1 수직 라인 (예컨대, V0) (426a) 은 좌측 이미지 경계일 수도 있고, 제 2 수직 라인 (예컨대, V1) (426b) 은 가장 좌측의 얼굴 윤곽 포인트에 의해 정의될 수도 있고, 제 3 수직 라인 (예컨대, V2) (426c) 은 바깥쪽 좌측 눈 구석에 의해 정의될 수도 있고, 제 4 수직 라인 (예컨대, V3) (426d) 은 안쪽 좌측 눈 구석에 의해 정의될 수도 있으며, 제 5 수직 라인 (예컨대, V4) (426e) 은 안쪽 우측 눈 구석에 의해 정의될 수도 있고, 제 6 수직 라인 (예컨대, V5) (426f) 은 바깥쪽 우측 눈 구석에 의해 정의될 수도 있으며, 제 7 수직 라인 (예컨대, V6) (426g) 은 가장 우측 얼굴 윤곽 포인트에 의해 정의될 수도 있고, 마지막 수직 라인 (예컨대, V7) (426h) 은 우측 이미지 경계에 의해 정의될 수도 있다.
이미지 메시 (412) 상의 각 버텍스는 그것의 수평 라인 인덱스 (예컨대, H0, H1, ..., H6) 및 그것의 수직 라인 인덱스 (예컨대, V0, V1, ..., V7) 에 의해 특정될 수도 있다. 예를 들어, (바깥 쪽 좌측 눈 구석 피처 로케이션 (108) 에 대응하는) 버텍스 A (428a) 는 Vert (H2, V2) 일 수도 있다. 이미지 좌표 시스템 X-O-Y (예컨대, x, y 좌표 시스템) 에서 버텍스 좌표들에 의해 표시되는 바와 같은, 이미지 (404) 상의 각 버텍스의 로케이션은 캐리커처 액션 (118) 후에 변경될 수도 있음에 유의하여야 한다.
도 5 는 상호작용적 이미지 캐리커처링을 위한 시스템들 및 방법들이 구현될 수도 있는 전자 디바이스 (502) 의 보다 구체적인 구성을 나타내는 블록도이다. 전자 디바이스 (502) 는 도 1 과 관련하여 설명된 전자 디바이스 (502) 의 일 예일 수도 있다. 전자 디바이스 (502) 는, 도 1 과 관련하여 설명된 대응하는 엘리먼트들의 예들일 수도 있는, 피처 로케이션 검출 블록/모듈 (506), 이미지 메시 생성 블록/모듈 (510), 캐리커처 액션 결정 블록/모듈 (516) 및 캐리커처 이미지 생성 블록/모듈 (520) 중 하나 이상을 포함할 수도 있다. 일부 구현들에서, 전자 디바이스 (502) 는, 도 1 과 관련하여 설명된 대응하는 엘리먼트들의 예들일 수도 있는, 이미지 (504), 하나 이상의 피처 로케이션들 (508), 이미지 메시 (512), 제스처 입력 (514), 캐리커처 액션 (518) 및 캐리커처 이미지 (522) 를 패스 (pass) 할 수도 있다.
일부 구현들에서, 전자 디바이스 (502) 는 이미지 (504), 캐리커처 이미지 (522) 및 이미지 메시 (512) 중 적어도 하나를 디스플레이하는 디스플레이 (536) 를 포함할 (또는 에 커플링될) 수도 있다. 다른 예에서, 전자 디바이스 (502) 는 프로젝터 (projector) 에 커플링될 수도 있고, 이미지 (504), 이미지 메시 (512) 및/또는 캐리커처 이미지 (522) 를 투영할 수도 있다. 일부 구현들에서, 디스플레이 (536) 는 도 4 에서 묘사된 메시-기반 모델로서 얼굴 이미지 (504) 에 추가하여 디스플레이될 수도 있는 이미지 메시 (512) 를 제시할 수도 있다. 도 13 과 관련하여 설명될 바와 같이, 이미지 메시 (512) 는 또한, 왜곡된 이미지 메시로서 캐리커처 이미지 (522) 에 추가하여 디스플레이될 수도 있다.
전자 디바이스 (502) 는 또한, 제스처 입력(들) (514) 이 유효한지 여부를 결정하는 제스처 입력 검증 블록/모듈 (530) 을 포함할 수도 있다. 예를 들어, 터치 스크린 상의 손가락 제스처들은 그들이 유효한 제스처 입력들 (514) 인지 여부를 결정하기 위해 검출되고 체크될 수도 있다. 유효한 제스처 입력 (514) 은 전자 디바이스 (502) 에 의해 인식되는 제스처 입력 (514) 일 수도 있다. 예를 들어, 유효한 제스처 입력 (514) 은 캐리커처 액션 (518) 이 그것으로부터 결정될 수도 있는 것일 수도 있다. 유효한 제스처 입력들 (514) 의 예들은 비제한적으로, 수평 또는 수직 방향들에서의 핀치 이격 및 핀치 근접 제스처 입력들을 포함한다.
일부 구현들에서, 제스처 입력 검증 블록/모듈 (530) 은, 서로에 대한 제스처 입력들 (514) 의 모션이 모션 임계치보다 더 클 때 제스처 입력 (514) 이 유효하다고 결정할 수도 있다. 예를 들어, 2 개의 손가락들이 모션 임계치 (예를 들어, 30 픽셀들) 보다 더 큰 거리에 대해 더 가까워지도록 또는 더 멀어지도록 수평으로 또는 수직으로 이동할 때, 전자 디바이스 (502) 는 제스처 입력 (514) 이 유효하다고 결정할 수도 있다.
제스처 입력 (514) 을 검증하는 것은 또한, 제스처 입력 (514) 이 정렬되는지 여부를 결정하는 것을 포함할 수도 있다. 수평 제스처 입력들 (514) 은, 제스처 입력들 (514) 의 시작 포인트들이 이미지 메시 (512) 의 동일한 수평 라인 상에 실질적으로 속하는 경우에, 수평으로 정렬될 수도 있다. 유사하게, 수직 제스처 입력들 (514) 은, 제스처 입력들 (514) 의 시작 포인트들이 이미지 메시 (512) 의 동일한 수직 라인 상에 실질적으로 속하는 경우에, 수직으로 정렬될 수도 있다. 일부 구현들에서, 전자 디바이스 (502) 는 정렬되지 않은 제스처 입력들 (514) 은 유효한 제스처 입력들 (514) 이 아니라고 결정할 수도 있다. 반면에, 전자 디바이스 (502) 는, 정렬되는 제스처 입력들 (514) 은 유효한 제스처 입력들 (514) 이라고 결정할 수도 있다. 일단 제스처 입력 (514) 이 인증되었다면, 인증된 제스처 입력 (532) 은, 도 2 와 관련하여 설명되는 바와 같이 캐리커처 액션 (518) 을 결정할 수도 있는, 캐리커처 액션 결정 블록/모듈 (516) 에 제공될 수도 있다.
일부 구현들에서, 전자 디바이스 (502) 는 결정된 모든 캐리커처 액션들 (518) 의 리스트를 포함하는 캐리커처 액션 리스트 (534) 를 유지할 수도 있다. 일부 구현들에서, 캐리커처 액션 리스트 (534) 는, 예를 들어 방법 (200) 의 이전 인스턴스들에서 이미지 (504) 에 이전에 적용되었던 캐리커처 액션들 (518) 을 포함할 수도 있다. 이 예에서, 현재 적용되고 있는 캐리커처 액션 (518) 은 캐리커처 액션 리스트 (534) 에 첨부될 수도 있다. 예를 들어, 캐리커처 액션 (518) 이 제스처 입력 (514) 에 의해 식별됨에 따라, 전자 디바이스 (502) 는 캐리커처 액션 (518) 을 (예컨대, 이미지 (504) 에 적용된 이전 캐리커처 액션 (518) 을 포함할 수도 있고 또는 포함하지 않을 수도 있는) 캐리커처 액션 리스트 (534) 에 저장할 수도 있다.
도 6 은 전자 디바이스 (502) 에 의해 상호작용적 이미지 캐리커처링을 하기 위한 방법 (600) 의 보다 구체적인 구성을 나타내는 흐름도이다. 전자 디바이스 (502) 는 이미지 (504) 의 적어도 하나의 피처 로케이션 (508) 을 검출할 수도 있다 (602). 일부 구현들에서, 이는 도 2 와 관련하여 설명된 바와 같이 행해질 수도 있다.
일부 구현들에서, 전자 디바이스 (502) 는 이미지 (504) 를 디스플레이할 수도 있다 (604). 예를 들어, 전자 디바이스 (502) 는 이미지 (504) 를 제시하는 디스플레이 (536) 에 커플링될 수도 있다. 디스플레이 (536) 의 예들은 전자 디바이스 (502) 의 디스플레이 스크린, 텔레비전, 프로젝터 등을 포함할 수도 있다. 전술한 바와 같이, 이미지 (504) 는 이전에 생성된 (예컨대, 이전의, 또는 기존의, 캐리커처 액션들에 기초하여 생성된) 캐리커처 이미지일 수도 있다. 이 예에서, 전자 디바이스 (502) 는 이전에 생성된 캐리커처 이미지를 디스플레이할 수도 있다 (604).
전자 디바이스 (502) 는, 적어도 하나의 피처 로케이션 (508) 에 기초하여, 적어도 하나의 수평 라인 (424) 및 적어도 하나의 수직 라인 (426) 의 그리드를 포함하는 이미지 메시 (512) 를 생성할 수도 있다 (606). 일부 구현들에서, 이는 도 2 와 관련하여 설명된 바와 같이 행해질 수도 있다. 일부 구현들에서, 전자 디바이스 (502) 는 또한 이미지 메시 (512) 를 디스플레이할 수도 있다. 예를 들어, 디스플레이 (536) 는 도 4 에서 묘사된 바와 같이 이미지 (504) (또는 이전에 생성된 캐리커처 이미지) 의 상부 상에 이미지 메시 (512) 의 수평 라인 (424) 및 수직 라인 (426) 을 중첩할 수도 있다.
전자 디바이스 (502) 는 적어도 하나의 제스처 입력 (514) 을 획득할 수도 있다 (608). 일부 구현들에서, 이는 도 2 와 관련하여 설명된 바와 같이 행해질 수도 있다.
전자 디바이스 (502) 는 제스처 입력(들) (514) 을 검증할 수도 있다 (610). 제스처 입력(들) (514) 을 검증하는 것 (610) 은, 제스처 입력(들) (514) 이 전자 디바이스 (502) 에 의해 인식되는지 여부를 결정하는 것을 포함할 수도 있다. 제스처 입력(들) (514) 을 검증하는 것 (610) 은 제스처 입력(들) (514) 이 캐리커처 액션 (518) 을 결정할 수도 있는지 여부를 결정하는 것을 포함할 수도 있다. 예를 들어, 전자 디바이스 (502) 는, 제스처 입력 (514) 이 수직 핀치 근접 제스처 입력, 수직 핀치 이격 제스처 입력, 수평 핀치 근접 제스처 입력 또는 수평 핀치 이격 제스처 입력 중 하나인지 여부를 결정할 수도 있다.
일부 구현들에서, 제스처 입력(들) (514) 을 검증하는 것 (610) 은, 서로에 대한 제스처 입력들 (514) 의 모션이 모션 임계치보다 더 큰지 여부를 결정하는 것을 포함할 수도 있다. 예를 들어, 2 개의 손가락들이 소정 수의 픽셀들 (예컨대, 예를 들어 30 픽셀들) 보다 더 큰 양만큼 서로 더 가깝게 또는 서로로부터 더 멀리 수평으로 또는 수직으로 이동할 때, 제스처 입력 (514) 은 유효한 것으로 결정될 수도 있다. 반면에, 손가락들이 소정 수의 픽셀들보다 더 큰 양만큼 서로 더 가깝게 또는 서로로부터 더 멀리 이동하지 않았을 때, 전자 디바이스 (502) 는, 제스처 입력 (514) 이 유효하지 않은 것으로 결정할 수도 있다 (610).
제스처 입력 (514) 을 검증하는 것 (610) 은 또한, 제스처 입력들 (514) 이 정렬되는지 여부를 결정하는 것을 포함할 수도 있다. 예를 들어, 정렬되는 제스처 입력들 (514) 은 유효한 것으로 결정될 수도 있다. 반면에, 정렬되지 않은 제스처 입력들 (514) 은 유효하지 않은 것으로 결정될 수도 있다. 제스처 입력들 (514) 은 수직으로 또는 수평으로 정렬될 수도 있다. 제스처 입력들 (514) 의 시작 포인트들이 이미지 메시 (512) 의 동일 라인 (예컨대, 수평으로 정렬된 제스처 입력들 (514) 에 대해 동일한 수평 라인 및 수직으로 정렬된 제스처 입력들 (514) 에 대해 동일한 수직 라인) 상에 실질적으로 속하는 경우에, 제스처 입력들 (514) 은 정렬될 수도 있다. 또 다른 구현에서, 수직으로 정렬된 제스처 입력들 (514) 은 서로로부터 소정 각도 임계치 내에 있을 수도 있다. 다른 실시형태에서, 정렬된 제스처 입력들 (514) 은 서로로부터 소정의 각도 임계치 내에 있을 수도 있다.
전자 디바이스 (502) 는 적어도 하나의 제스처 입력 (514) 에 기초하여 적어도 하나의 캐리커처 액션 (518) 을 결정할 수도 있다 (612). 일부 구현들에서, 이는 도 2 와 관련하여 설명된 바와 같이 행해질 수도 있다.
전자 디바이스 (502) 는 캐리커처 액션 리스트 (534) 를 유지할 수도 있다 (614). 일부 구현들에서, 캐리커처 액션 리스트 (534) 는 이미지 (504) (또는 이전에 생성된 캐리커처 이미지) 에 이전에 적용되었던 모든 캐리커처 액션들 (518) 의 리스트를 포함할 수도 있다. 일부 구현들에서, 캐리커처 액션 리스트 (534) 를 유지하는 것 (614) 은 캐리커처 액션 리스트 (534) 에 현재 사용되는 캐리커처 액션 (518) 을 첨부하는 것을 포함할 수도 있다. 예를 들어, 제스처 입력들 (514) 의 제 1 셋트에 기초하여, 제 1 캐리커처 액션 (518) 이 결정될 수도 있다. 이 예에서, 전자 디바이스 (502) 는 캐리커처 액션 (518) 을 캐리커처 액션 리스트 (534) 에 저장할 수도 있다. 유사하게, 제스처 입력들 (514) 의 제 2 셋트가 제 2 캐리커처 액션 (518) 을 프롬프트하는 경우에, 전자 디바이스 (502) 는 제 2 캐리커처 액션 (518) 을 캐리커처 액션 리스트 (534) 에 첨부할 수도 있고, 이 캐리커처 액션 리스트 (534) 는 이 시점에서 제 1 캐리커처 액션 (518) (및 임의의 이전에 적용된 캐리커처 액션 (518)) 을 포함할 수도 있다.
전자 디바이스 (502) 는 이미지 메시 (512), 적어도 하나의 캐리커처 액션 (518) 및 이미지 (504) (또는 이전에 생성된 캐리커처 이미지) 에 기초하여 캐리커처 이미지 (522) 를 생성할 수도 있다 (616). 일부 구현들에서, 이는 도 2 와 관련하여 설명된 바와 같이 행해질 수도 있다. 이하 설명될 바와 같이, 일부 구성들에서, 다수의 캐리커처 액션들 (518) (예를 들어, 제 1 셋트 및 제 2 셋트) 는 이미지 (504) (또는 이전에 생성된 캐리커처 이미지) 에 동시에 적용될 수도 있다. 예를 들어, 캐리커처 액션들 (518) 로 인한 (예컨대, 캐리커처 이미지 (522) 에서의) 모든 버텍스들의 새로운 로케이션들이 계산될 수도 있고, 그 다음, 캐리커처 이미지 (522) 를 생성하기 위해 단일의 텍스처 와핑이 이미지 (504) (또는 이전에 생성된 캐리커처 이미지) 에 한번 적용될 수도 있다.
일부 구현들에서, 전자 디바이스 (502) 는 캐리커처 이미지 (522) 를 디스플레이할 수도 있다 (618). 예를 들어, 전자 디바이스 (502) 는 캐리커처 이미지 (522) 를 제시하는 디스플레이 (536) 를 포함할 (또는 에 커플링될) 수도 있다. 디스플레이 (536) 의 예들은 전자 디바이스 (502) 의 디스플레이 스크린, 텔레비전, 프로젝터 등을 포함할 수도 있다. 일부 구현들에서, 전자 디바이스 (502) 는 또한, 이미지 메시 (512) 를 디스플레이할 수도 있다. 예를 들어, 디스플레이 (536) 는, 도 13 과 관련하여 설명될 바와 같이, 캐리커처 이미지 (522) 상에 (예컨대, 캐리커처 액션들 (518) 에 기초하여) 왜곡된 이미지 메시를 중첩시킬 수도 있다. 캐리커처 이미지 (522) 와 함께 디스플레이되는 왜곡된 이미지 메시는 이미지 (504) 와 함께 디스플레이되는 이미지 메시 (512) 와 상이할 수도 있음에 유의하여야 한다. 예를 들어, 캐리커처 이미지 (522) 와 함께 디스플레이된 왜곡된 이미지 메시에서, 하나 이상의 버텍스들 (또는 하나 이상의 라인들) 사이의 간격은 이미지 (504) 와 함께 디스플레이된 이미지 메시 (512) 에서의 간격보다 더 클수도 있고 또는 더 작을 수도 있다.
도 7 은 전자 디바이스 (502) 에 의해 제스처 입력(들) (514) 을 검증하기 위한 방법 (700) 의 일 구성을 나타내는 흐름도이다. 전자 디바이스 (502) 는 다스의 제스처 입력들 (514) (예컨대, 터치 스크린 상에서 이동하는 2 개의 손가락들) 을 획득할 수도 있다 (702). 일부 구현들에서, 이는 도 2 와 관련하여 설명된 바와 같이 행해질 수도 있다.
전자 디바이스 (502) 는 제스처 입력들 (514) 이 수직으로 정렬되는지 여부를 결정할 수도 있다 (704). 일부 구현들에서, 제스처 입력들 (514) 은, 제스처 입력들 (514) (예를 들어, 제스처 입력의 시작 포인트들) 이 동일한 수직 라인 (426) 상에 실질적으로 속하는 경우에, 수직으로 정렬될 수도 있다. 반면, 제스처 입력들 (514) 은, 제스처 입력들 (514) 이 동일한 수직 라인 (426) 상에 실질적으로 속하지 않는 경우에, 수직으로 정렬되지 않을 수도 있다. 다른 예에서, 전자 디바이스 (502) 는, 제스처 입력들 (514) 이 서로의 소정의 임계 각도 내에 있는 경우에, 제스처 입력들 (514) 이 수직으로 정렬된다고 결정할 수도 있다 (704). 반면에, 전자 디바이스 (502) 는, 제스처 입력들 (514) 이 서로의 소정의 임계 각도 내에 있지 않은 경우에, 제스처 입력들 (514) 이 수직으로 정렬되지 않는다고 결정할 수도 있다. 또 다른 예에서, 전자 디바이스 (502) 는, 제스처 입력들 (514) 이 동일한 수직 라인으로부터 임계 거리보다 적게 떨어져 있는 경우에, 제스처 입력들 (514) 이 수직으로 정렬된다고 결정할 수도 있다 (704). 역으로, 전자 디바이스 (502) 는, 제스처 입력들 (514) 이 동일한 수직 라인으로부터 임계 거리보다 크게 떨어져 있는 경우에, 제스처 입력들 (514) 이 수직으로 정렬되지 않는다고 결정할 수도 있다 (704).
전자 디바이스 (502) 가, 제스처 입력들 (514) 이 수직으로 정렬된다고 결정 (704) 하는 경우에, 전자 디바이스 (502) 는 제스처 입력들 (502) 의 수직 모션이 모션 임계치보다 더 큰지를 결정할 수도 있다 (706). 예를 들어, 전자 디바이스 (502) 는, 2 개의 제스처 입력들 (514) (예컨대, 터치 스크린 상에서 이동하고 있는 2 개의 손가락들) 이, 적어도 결정된 수 (예컨대, 30) 의 픽셀들과 동일한 양만큼 서로에 대해 상대적으로 (서로로부터 멀어지거나 아니면 서로를 향해) 이동하고 있는지를 결정할 수도 있다 (706). 전자 디바이스 (502) 가, 제스처 입력들 (514) 의 수직 모션이 모션 임계치보다 더 크지 않다고 결정 (706) 하는 경우에, 전자 디바이스 (502) 는 제스처 입력들 (514) 이 유효하지 않다고 결정할 수도 있다 (708).
하지만, 전자 디바이스 (502) 가, 제스처 입력들 (514) 의 수직 모션이 모션 임계치보다 더 크다고 결정 (706) 하는 경우에, 전자 디바이스 (502) 는 제스처 입력들 (514) 이 수직으로 서로 더 가깝게 이동하고 있는지 여부를 결정할 수도 있다 (710). 예를 들어, 전자 디바이스 (502) 는, 시작 포인트들에서의 제스처 입력들 (514) 사이의 픽셀들의 수가 모션의 종단부에서의 제스처 입력들 (514) 사이의 픽셀들의 수보다 더 큰 경우에, 제스처 입력들 (514) 이 함께 더 가깝게 이동하고 있다고 결정할 수도 있다 (710). 다르게 말하면, 전자 디바이스 (502) 는, 제스처 입력들 (514) 사이의 픽셀들의 수가 더 작아지고 있는 경우에, 제스처 입력들 (514) 이 더 가깝게 이동하고 있다고 결정할 수도 있다 (710). 반면에, 전자 디바이스 (502) 는, 시작 포인트들에서의 제스처 입력들 (514) 사이의 픽셀들의 수가 모션의 종단부에서의 제스처 입력들 (514) 사이의 픽셀들의 수보다 더 작은 경우에, 제스처 입력들 (514) 이 서로 떨어지게 이동하고 있다고 결정할 수도 있다 (710). 다르게 말하면, 전자 디바이스 (502) 는, 제스처 입력들 (514) 사이의 픽셀들의 수가 더 커지고 있는 경우에, 제스처 입력들 (514) 이 떨어지게 이동하고 있다고 결정할 수도 있다 (710).
제스처 입력들 (514) 이 수직으로 함께 더 가깝게 이동하고 있다고 전자 디바이스 (502) 가 결정하는 경우에 (710), 전자 디바이스 (502) 는, 제스처 입력 (514) 이 수직 핀치 근접 제스처 입력 (514) 이라고 결정할 수도 있다 (712). 반면에, 제스처 입력들 (514) 이 수직으로 함께 더 가깝게 이동하고 있지 않다고 (예를 들어, 그들이 수직으로 더 멀리 떨어지게 이동하고 있다고) 전자 디바이스 (502) 가 결정 (710) 하는 경우에, 전자 디바이스 (502) 는, 제스처 입력 (514) 이 수직 핀치 이격 제스처 입력 (514) 이라고 결정할 수도 있다 (714).
전자 디바이스 (502) 가, 제스처 입력들 (514) 이 수직으로 정렬되지 않는다고 결정 (704) 하는 경우에, 전자 디바이스 (502) 는, 제스처 입력들 (514) 의 수평 모션이 모션 임계치보다 더 큰지를 결정할 수도 있다 (716). 예를 들어, 전자 디바이스 (502) 는, 2 개의 제스처 입력들 (514) (예를 들어, 터치 스크린 상에서 이동하고 있는 2 개의 손가락들) 이, 적어도 결정된 수 (예컨대, 30) 의 픽셀들과 동일한 양만큼 서로에 대해 상대적으로 (서로로부터 멀어지거나 아니면 서로를 향해) 이동하고 있는지를 결정할 수도 있다 (716). 전자 디바이스 (502) 가, 제스처 입력들 (514) 의 수평 모션이 모션 임계치보다 더 크지 않다고 결정 (716) 하는 경우에, 전자 디바이스 (502) 는 제스처 입력(들) (514) 이 유효하지 않다고 결정할 수도 있다 (708).
하지만, 전자 디바이스 (502) 가, 제스처 입력들 (514) 의 수평 모션이 모션 임계치보다 더 크다고 결정 (716) 하는 경우에, 전자 디바이스 (502) 는 제스처 입력들 (514) 이 수평으로 서로 더 가깝게 이동하고 있는지 여부를 결정할 수도 있다 (718). 예를 들어, 전자 디바이스 (502) 는, 시작 포인트들에서의 제스처 입력들 (514) 사이의 픽셀들의 수가 모션의 종단부에서의 제스처 입력들 (514) 사이의 픽셀들의 수보다 더 큰 경우에, 제스처 입력들 (514) 이 수평으로 함께 더 가깝게 이동하고 있다고 결정할 수도 있다 (718). 다르게 말하면, 전자 디바이스 (502) 는, 제스처 입력들 (514) 사이의 픽셀들의 수가 더 작아지고 있는 경우에, 제스처 입력들 (514) 이 함께 더 가깝게 이동하고 있다고 결정할 수도 있다 (718). 반면에, 전자 디바이스 (502) 는, 시작 포인트들에서의 제스처 입력들 (514) 사이의 픽셀들의 수가 모션의 종단부에서의 제스처 입력들 (514) 사이의 픽셀들의 수보다 더 작은 경우에, 제스처 입력들 (514) 이 서로 떨어지게 이동하고 있다고 결정할 수도 있다 (718). 다르게 말하면, 전자 디바이스 (502) 는, 제스처 입력들 (514) 사이의 픽셀들의 수가 더 커지고 있는 경우에, 제스처 입력들 (514) 이 떨어지게 이동하고 있다고 결정할 수도 있다 (718).
제스처 입력들 (514) 이 수평으로 함께 더 가깝게 이동하고 있다고 전자 디바이스 (502) 가 결정하는 경우에 (718), 전자 디바이스 (502) 는, 제스처 입력 (514) 이 수평 핀치 근접 제스처 입력 (514) 이라고 결정할 수도 있다 (720). 반면에, 제스처 입력들 (514) 이 수평으로 함께 더 가깝게 이동하고 있지 않다고 (예를 들어, 그들이 수평으로 더 멀리 떨어지게 이동하고 있다고) 전자 디바이스 (502) 가 결정 (718) 하는 경우에, 전자 디바이스 (502) 는, 제스처 입력 (514) 이 수평 핀치 이격 제스처 입력 (514) 이라고 결정할 수도 있다 (722). 방법 (700) 에서의 단계들 중 하나 이상은 전자 디바이스 (502) 의 터치 스크린에 의해 수행될 수도 있음에 유의하여야 한다. 예를 들어, 터치 스크린은 수직 정렬, 수평 정렬, 및/또는 모션이 모션 임계치보다 더 큰지 여부를 검출할 수도 있다.
도 8 은 수직 핀치 이격 제스처 입력의 일 예를 나타낸다. 보다 구체적으로, 도 8 은 수직 핀치 이격 제스처 입력 (좌측 이미지) 및 대응하는 캐리커처 액션 (118) 으로부터 초래되는 왜곡된 이미지 메시 (812b) (우측 이미지) 를 나타낸다. 전술한 바와 같이, 일부 구현들에서, 터치 스크린 (838) 은 전자 디바이스 (102) 에 커플링될 수도 있다. 이 예에서, 수직 핀치 이격 제스처 입력은 캐리커처 이미지 (122) 를 생성하기 위한 다수의 제스처 입력들 (814a-b) 을 포함할 수도 있다.
이 예에서, 캐리커처 액션 (118) 의 해석을 위한 이미지 좌표 시스템 상에서 제 1 제스처 입력 시작 포인트 (840a) (예컨대, 터치 스크린 (838) 상의 손가락끝 시작 포지션) 는 좌표들 (X1start, Y1start) 을 갖는 제 1 버텍스 (828a) 에 맵핑될 수도 있고, 제 2 제스처 입력 시작 포인트 (840b) 는 좌표들 (X2start, Y2start) 을 갖는 제 2 버텍스 (828b) 에 맵핑될 수도 있다. 제 1 버텍스 (828a) 및 제 2 버텍스 (828b) 는 이미지 (804) 의 피처 로케이션들 (108) 에 대응할 수도 있다. 예를 들어, 제 1 버텍스 (828a) 는 우측 눈의 안쪽 구석에 대응할 수도 있고, 제 2 버텍스 (828b) 는 입의 우측 구석에 대응할 수도 있다. 전술한 바와 같이, 캐리커처 액션 (118) 은 이미지 메시 (812a) 의 어느 버텍스들이 로케이션들을 변경할 수도 있는지에 관한 정보를 포함한다. 도 8 에서 묘사된 바와 같이, 제스처 입력 시작 포인트들 (840a-b) 은 버텍스들 (828a-b) 과 정확히 줄이 맞지는 않을 수도 있음에 유의하여야 한다. 이 예에서, 제스처 입력 시작 포인트들 (840a-b) 은, 그 제스처 입력 시작 포인트들 (840a-b) 에 가장 가까운 버텍스들 (828a-b) 에 맵핑될 수도 있다. 다른 예에서, 제스처 입력 시작 포인트들 (840a-b) 은 그 제스처 입력 시작 포인트들 (840a-b) 에 가장 가까운 수직 라인에 맵핑될 수도 있다.
수직 캐리커처 액션 (118) 은 4 개의 엘리먼트들, 캐리커처 방향 (예컨대, Cd), 이미지 메시 (812a) 에서의 (상부로부터) 처음으로 영향받는 수평 라인 (824a) 의 인덱스 (예컨대, Ch1), (상부로부터) 마지막으로 영향받는 수평 라인 (824b) 의 인덱스 (예컨대, Ch2) 및 0 과 1 사이의 값을 갖는 미리정의된 수직 캐리커처링 레벨을 포함할 수도 있다. 단순함을 위해, 도 8 에서, 수평 라인들은 그들의 인덱스들에 의해 지칭될 수도 있다.
수직 캐리커처 액션 (118) 에 대해, Y1start 가 Y2start 보다 더 크다고 가정하면, 라인 Ch1 (824a) 은 Y1start 에 가장 가까운 수평 라인일 수도 있고, 라인 Ch2 (824b) 은 Y2start 에 가장 가까운 수평 라인일 수도 있다. 이 예에서, (제 1 버텍스 (828a) 를 포함할 수도 있는) 라인 Ch1 (824a) 상의 버텍스들 및 (제 2 버텍스 (828b) 를 포함할 수도 있는) 라인 Ch2 (824b) 상의 버텍스들 및 라인 Ch1 (824a) 과 라인 Ch2 (824b) 사이의 수평 라인 상의 버텍스들은 포지션을 변경할 수도 있다.
도 8 에서 묘사된 바와 같이 손가락 제스처가 수직 핀치 이격 제스처 입력 (814) 인 경우에는, 라인 Ch1 (824a) 상의 모든 이미지 메시 (812a) 버텍스들은, 왜곡된 이미지 메시 (812b) 에서 묘사된 바와 같이 라인 Ch1-1 (824c) 와 라인 Ch1 (824a) 사이의 현재 거리에 의해 곱해진 수직 캐리커처 액션의 레벨 (예컨대, CLv) 과 동일한 값만큼 라인 Ch1-1 (824c) 을 향해 상방으로 이동할 수도 있다. 유사하게, 라인 Ch2 (824b) 상의 모든 버텍스들은, 왜곡된 이미지 메시 (812b) 에서 묘사된 바와 같이 라인 Ch2+1 (824d) 와 라인 Ch2 (824b) 사이의 현재 거리에 의해 곱해진 수직 캐리커처 액션의 레벨 (예컨대, CLv) 과 동일한 값만큼 라인 Ch2+1 (824d) 을 향해 하방으로 이동할 수도 있다. 한편, 라인 Ch1 (824a) 과 라인 Ch2 (824b) 사이의 수평 라인들 상의 버텍스들의 새로운 로케이션들은, 라인 Ch1 (824a) 상의 버텍스들 및 라인 Ch2 (824b) 상의 버텍스들의 새로운 로케이션들로부터의 선형 보간에 의해 결정될 수도 있다.
도 9 는 수직 핀치 근접 제스처 입력의 일 예를 나타낸다. 보다 구체적으로, 도 9 는 수직 핀치 근접 제스처 입력 (좌측 이미지) 및 대응하는 캐리커처 액션 (118) 으로부터 초래되는 왜곡된 이미지 메시 (912b) (우측 이미지) 를 나타낸다. 전술한 바와 같이, 일부 구현들에서, 터치 스크린 (938) 은 전자 디바이스 (102) 에 커플링될 수도 있다. 이 예에서, 수직 핀치 근접 제스처 입력은 캐리커처 이미지 (122) 를 생성하기 위한 다수의 제스처 입력들 (914a-b) 을 포함할 수도 있다.
이 예에서, 캐리커처 액션 (118) 의 해석을 위한 이미지 좌표 시스템 상에서 제 1 제스처 입력 시작 포인트 (940a) (예컨대, 터치 스크린 (938) 상의 손가락끝 시작 포지션) 는 좌표들 (X1start, Y1start) 을 갖는 제 1 버텍스 (928a) 에 맵핑될 수도 있고, 제 2 제스처 입력 시작 포인트 (940b) 는 좌표들 (X2start, Y2start) 을 갖는 제 2 버텍스 (928b) 에 맵핑될 수도 있다. 제 1 버텍스 (928a) 및 제 2 버텍스 (928b) 는 이미지 (904) 의 피처 로케이션들 (108) 에 대응할 수도 있다. 예를 들어, 제 1 버텍스 (928a) 는 우측 눈의 안쪽 구석에 대응할 수도 있고, 제 2 버텍스 (928b) 는 입의 우측 구석에 대응할 수도 있다. 전술한 바와 같이, 캐리커처 액션 (118) 은 이미지 메시 (912a) 의 어느 버텍스들이 로케이션들을 변경할 수도 있는지에 관한 정보를 포함한다. 도 9 에서 묘사된 바와 같이, 제스처 입력 시작 포인트들 (940a-b) 은 버텍스들 (928a-b) 과 정확히 줄이 맞지는 않을 수도 있음에 유의하여야 한다. 이 예에서, 제스처 입력 시작 포인트들 (940a-b) 은, 그 제스처 입력 시작 포인트들 (940a-b) 에 가장 가까운 버텍스들 (928a-b) 에 맵핑될 수도 있다. 다른 예에서, 제스처 입력 시작 포인트들 (940a-b) 은 그 제스처 입력 시작 포인트들 (940a-b) 에 가장 가까운 수직 라인에 맵핑될 수도 있다.
수직 캐리커처 액션 (118) 은 4 개의 엘리먼트들, 캐리커처 방향 (예컨대, Cd), 이미지 메시 (912a) 에서의 (상부로부터) 처음으로 영향받는 수평 라인 (924a) 의 인덱스 (예컨대, Ch1), (상부로부터) 마지막으로 영향받는 수평 라인 (924b) 의 인덱스 (예컨대, Ch2) 및 0 과 1 사이의 값을 갖는 미리정의된 수직 캐리커처링 레벨을 포함할 수도 있다. 단순함을 위해, 도 9 에서, 수평 라인들은 그들의 인덱스들에 의해 지칭될 수도 있다.
수직 캐리커처 액션 (118) 에 대해, Y1start 가 Y2start 보다 더 크다고 가정하면, 라인 Ch1 (924a) 은 Y1start 에 가장 가까운 수평 라인일 수도 있고, 라인 Ch2 (924b) 은 Y2start 에 가장 가까운 수평 라인일 수도 있다. 이 예에서, (제 1 버텍스 (928a) 를 포함할 수도 있는) 라인 Ch1 (924a) 상의 버텍스들 및 (제 2 버텍스 (928b) 를 포함할 수도 있는) 라인 Ch2 (924b) 상의 버텍스들 및 라인 Ch1 (924a) 과 라인 Ch2 (924b) 사이의 수평 라인 상의 버텍스들은 포지션을 변경할 수도 있다.
도 9 에서 묘사된 바와 같이 손가락 제스처가 수직 핀치 근접 제스처 입력 (914) 인 경우에는, 라인 Ch1 (924a) 상의 모든 이미지 메시 (912a) 버텍스들은, 왜곡된 이미지 메시 (912b) 에서 묘사된 바와 같이 라인 Ch1 (924a) 과 라인 Ch1+1 (924c) 사이의 현재 거리에 의해 곱해진 수직 캐리커처 액션의 레벨 (예컨대, CLv) 과 동일한 값만큼 라인 Ch1+1 (924c) 을 향해 하방으로 이동할 수도 있다. 유사하게, 라인 Ch2 (924b) 상의 모든 버텍스들은, 왜곡된 이미지 메시 (912b) 에서 묘사된 바와 같이 라인 Ch2 (924d) 와 라인 Ch2-1 사이의 현재 거리에 의해 곱해진 수직 캐리커처 액션의 레벨 (예컨대, CLv) 과 동일한 값만큼 라인 Ch2-1 을 향해 상방으로 이동할 수도 있다. 도 9 에서 묘사된 바와 같이, 라인 Ch2-1 은 라인 Ch1+1 (924c) 와 동일할 수도 있다. 다르게 말하면, 라인 Ch2 (924b) 상의 모든 버텍스들은, 왜곡된 이미지 메시 (912b) 에서 묘사된 바와 같이 라인 Ch2 (924b) 와 라인 Ch1+1 (924c) 사이의 현재 거리에 의해 곱해진 수직 캐리커처 액션의 레벨 (예컨대, CLv) 과 동일한 값만큼 라인 Ch1+1 (924c) 을 향해 상방으로 이동할 수도 있다. 한편, 라인 Ch1 (924a) 와 라인 Ch2 (924b) 사이의 수평 라인들 상의 버텍스들의 새로운 로케이션들은 라인 Ch1 (924a) 상의 버텍스들 및 라인 Ch2 (924b) 상의 버텍스들의 새로운 로케이션들로부터의 선형 보간에 의해 결정될 수도 있다.
도 10 은 수평 핀치 이격 제스처 입력의 일 예를 나타낸다. 보다 구체적으로, 도 10 은 수평 핀치 이격 제스처 입력 (좌측 이미지) 및 대응하는 캐리커처링 액션 (118) 으로부터 초래되는 왜곡된 이미지 메시 (1012b) (우측 이미지) 를 나타낸다. 전술한 바와 같이, 일부 구현들에서, 터치 스크린 (1038) 은 전자 디바이스 (102) 에 커플링될 수도 있다. 이 예에서, 수평 핀치 이격 제스처 입력은 캐리커처 이미지 (122) 를 생성하기 위한 다수의 제스처 입력들 (1014a-b) 을 포함할 수도 있다.
이 예에서, 캐리커처 액션 (118) 의 해석을 위한 이미지 좌표 시스템 상에서 제 1 제스처 입력 시작 포인트 (1040a) (예컨대, 터치 스크린 (1038) 상의 손가락끝 시작 포지션) 는 제 1 버텍스 (1028a) 에 맵핑될 수도 있고, 제 2 제스처 입력 시작 포인트 (1040b) 는 제 2 버텍스 (1028b) 에 맵핑될 수도 있다. 제 1 버텍스 (1028a) 및 제 2 버텍스 (1028b) 는 이미지 (1004) 의 피처 로케이션들 (108) 에 대응할 수도 있다. 예를 들어, 제 1 버텍스 (1028a) 는 좌측 눈의 바깥쪽 구석에 대응할 수도 있고, 제 2 버텍스 (1028b) 는 우측 눈의 안쪽 구석에 대응할 수도 있다. 전술한 바와 같이, 캐리커처 액션 (118) 은 이미지 메시 (1012a) 의 어느 버텍스들이 로케이션들을 변경할 수도 있는지에 관한 정보를 포함한다. 도 10 에서 묘사된 바와 같이, 제스처 입력 시작 포인트들 (1040a-b) 은 버텍스들 (1028a-b) 과 정확히 줄이 맞지는 않을 수도 있음에 유의하여야 한다. 이 예에서, 제스처 입력 시작 포인트들 (1040a-b) 은, 그 제스처 입력 시작 포인트들 (1040a-b) 에 가장 가까운 버텍스들 (1028a-b) 에 맵핑될 수도 있다.
수평 캐리커처 액션 (118) 은 5 개의 엘리먼트들: 캐리커처 방향 (예컨대, Cd), 영향받는 수평 제어 라인 (1024) 의 인덱스 (예컨대, Ch), 수평 제어 라인 (1024) 상의 처음으로 영향받는 버텍스 (1028a) 의 인덱스 (예컨대, Cv1), 수평 제어 라인 (1024) 상의 마지막으로 영향받는 버텍스 (1028b) 의 인덱스 (예컨대, Cv2) 및 미리정의된 수평 캐리커처링 레벨 (예컨대, CLh) 을 포함할 수도 있다. 이 예에서, 캐리커처 방향은 수평일 수도 있고, 영향받는 수평 제어 라인 (1024) 은 제스처 입력들의 시작 포인트들 (1040a-b) 의 (예컨대, 수직 방향에서의) 중간 포인트에 가장 가까운 수평 라인일 수도 있다. 단순함을 위해, 도 10 에서, 라인들은 그들의 대응하는 인덱스에 의해 지칭될 수도 있다.
일부 구현들에서, 버텍스 Cv1 (1028a) 및 버텍스 Cv2 (1028b) 는 제 1 제스처 입력 시작 포인트 (1040a) (예컨대, X1start, Y1start) 및 제 2 제스처 입력 시작 포인트 (1040b) (예컨대, X2start, Y2start) 에 가장 가까운 2 개의 버텍스들로서 정의될 수도 있다. 버텍스 Cv1 (1028a) 및 버텍스 Cv2 (1028b) 는 제스처 입력 시작 포인트들 (1040a-b) 의 로케이션들과 무관하게 2 개의 특정 버텍스들로서 또한 정의될 수도 있다. 예를 들어, 라인 Ch (1024) 이 2 개의 눈들을 연결하는 라인 (H2) 인 경우에, 버텍스 Cv1 (1028a) 는 Vert (H2, V2) 로서 정의될 수도 있고, 버텍스 Cv2 (1028b) 는 Vert (H2, V5) 로서 정의될 수도 있으며, 이는 좌측 눈의 바깥족 눈 구석, 및 우측 눈의 안쪽 구석에 대응한다. 단순함을 위해, 도 10 에서, 버텍스들은 그들의 대응하는 인덱스에 의해 지칭될 수도 있다. 예를 들어, 제 1 버텍스 (1028a) 및 제 2 버텍스 (1028b) 는 버텍스 Vert (Ch, Cv1) (1028a) 로서 지칭될 수도 있고, 제 2 버텍스 (1028b) 는 버텍스 Vert (Ch, Cv2) (1028b) 로서 각각 지칭될 수도 있다. 다른 버텍스들에 대한 참조들은 유사하게 버텍스 인덱스에 기초할 수도 있다. 일부 구현들에서, 수평 캐리커처링에 대해, 수평 제어 라인 (1024) 상의 버텍스들만이 포지션을 변경할 수도 있다. 다르게 말하면, Vert (Ch, Cv1), Vert (Ch, Cv1+1), ..., Vert (Ch, Cv2) 로서 정의된 버텍스들만이 그들의 로케이션들을 변경할 수도 있다.
도 10 에서 묘사된 바와 같이 손가락 제스처가 수평 핀치 이격 제스처 입력 (1014) 인 경우에는, 버텍스 Vert (Ch, Cv1) (1028a) 는, 왜곡된 이미지 메시 (1012b) 에서 묘사된 바와 같이 버텍스 Vert (Ch, Cv1) (1028a) 와 버텍스 Vert (Ch, Cv1-1) (1028c) 사이의 현재 거리에 의해 곱해진 수평 캐리커처 액션의 레벨 (예컨대, CLh) 과 동일한 값만큼 좌측으로 이동할 수도 있다. 유사하게, 버텍스 Vert (Ch, Cv2) (1028b) 는, 왜곡된 이미지 메시 (1012b) 에서 묘사된 바와 같이 버텍스 Vert (Ch, Cv2) (1028b) 와 버텍스 Vert (Ch, Cv2+1) (1028d) 사이의 현재 거리에 의해 곱해진 수평 캐리커처 액션의 레벨 (예컨대, CLh) 과 동일한 양만큼 우측으로 이동할 수도 있다. 한편, 버텍스들 Vert (Ch, Cv1+1), ..., Vert (Ch, Cv2-1) 의 새로운 로케이션들은, 버텍스 Vert (Ch, Cv1) (1028a) 및 버텍스 Vert (Ch, Cv2) (1028b) 의 새로운 로케이션들로부터의 선형 보간에 의해 결정될 수도 있다. 도 10 에서 묘사된 바와 같이, 수평 제어 라인 (1024) 이외의 수평 라인들 상의 버텍스들은 로케이션을 이동하지 않을 수도 있다. 이들 버텍스들의 로케이션은 수평 라인들과, 그 수평 라인들에 직교하는 수직 라인들 사이에 교차 포인트들을 그대로 남길 수도 있다.
도 11 은 수평 핀치 근접 제스처 입력의 일 예를 나타낸다. 보다 구체적으로, 도 11 은 수평 핀치 근접 제스처 입력 (좌측 이미지) 및 대응하는 캐리커처 액션 (118) 으로부터 초래되는 왜곡된 이미지 메시 (1112b) (우측 이미지) 를 나타낸다. 전술한 바와 같이, 일부 구현들에서, 터치 스크린 (1138) 은 전자 디바이스 (102) 에 커플링될 수도 있다. 이 예에서, 수평 핀치 이격 제스처 입력은 캐리커처 이미지 (122) 를 생성하기 위한 다수의 제스처 입력들 (1114a-b) 을 포함할 수도 있다.
이 예에서, 캐리커처 액션 (118) 의 해석을 위한 이미지 좌표 시스템 상에서 제 1 제스처 입력 시작 포인트 (1140a) (예컨대, 터치 스크린 (1138) 상의 손가락끝 시작 포지션) 는 제 1 버텍스 (1128a) 에 맵핑될 수도 있고, 제 2 제스처 입력 시작 포인트 (1140b) 는 제 2 버텍스 (1128b) 에 맵핑될 수도 있다. 제 1 버텍스 (1128a) 및 제 2 버텍스 (1128b) 는 이미지 (1104) 의 피처 로케이션들 (118) 에 대응할 수도 있다. 예를 들어, 제 1 버텍스 (1128a) 는 좌측 눈의 바깥쪽 구석에 대응할 수도 있고, 제 2 버텍스 (1128b) 는 우측 눈의 안쪽 구석에 대응할 수도 있다. 전술한 바와 같이, 캐리커처 액션 (118) 은 이미지 메시 (1112a) 의 어느 버텍스들이 로케이션들을 변경할 수도 있는지에 관한 정보를 포함한다. 도 11 에서 묘사된 바와 같이, 제스처 입력 시작 포인트들 (1140a-b) 은 버텍스들 (1128a-b) 과 정확히 줄이 맞지는 않을 수도 있음에 유의하여야 한다. 이 예에서, 제스처 입력 시작 포인트들 (1140a-b) 은, 그 제스처 입력 시작 포인트들 (1140a-b) 에 가장 가까운 버텍스들 (1128a-b) 에 맵핑될 수도 있다.
수평 캐리커처 액션 (118) 은 5 개의 엘리먼트들: 캐리커처 방향 (예컨대, Cd), 영향받는 수평 제어 라인 (1124) 의 인덱스 (예컨대, Ch), 수평 제어 라인 (1124) 상의 처음으로 영향받는 버텍스 (1128a) 의 인덱스 (예컨대, Cv1), 수평 제어 라인 (1124) 상의 마지막으로 영향받는 버텍스 (1128b) 의 인덱스 (예컨대, Cv2) 및 미리정의된 수평 캐리커처링 레벨 (예컨대, CLh) 을 포함할 수도 있다. 이 예에서, 캐리커처 방향은 수평일 수도 있고, 영향받는 수평 제어 라인 (1124) 은 제스처 입력들의 시작 포인트들 (1140a-b) 의 (예컨대, 수직 방향에서의) 중간 포인트에 가장 가까운 수평 라인일 수도 있다. 단순함을 위해, 도 11 에서, 라인들은 그들의 대응하는 인덱스에 의해 지칭될 수도 있다.
일부 구현들에서, 버텍스 Cv1 (1128a) 및 버텍스 Cv2 (1128b) 는 제 1 제스처 입력 시작 포인트 (1140a) (예컨대, X1start, Y1start) 및 제 2 제스처 입력 시작 포인트 (1140b) (예컨대, X2start, Y2start) 에 가장 가까운 2 개의 버텍스들로서 정의될 수도 있다. 버텍스 Cv1 (1128a) 및 버텍스 Cv2 (1128b) 는 제스처 입력 시작 포인트들 (1140a-b) 의 로케이션들과 무관하게 2 개의 특정 버텍스들로서 또한 정의될 수도 있다. 예를 들어, 라인 Ch (1124) 이 2 개의 눈들을 연결하는 라인 (H2) 인 경우에, 버텍스 Cv1 (1128a) 는 Vert (H2, V2) 로서 정의될 수도 있고, 버텍스 Cv2 (1128b) 는 Vert (H2, V5) 로서 정의될 수도 있으며, 이는 좌측 눈의 바깥족 눈 구석, 및 우측 눈의 안쪽 구석에 대응한다. 단순함을 위해, 도 11 에서, 버텍스들은 그들의 대응하는 인덱스에 의해 지칭될 수도 있다. 예를 들어, 제 1 버텍스 (1128a) 는 버텍스 Vert (Ch, Cv1) (1128a) 로서 지칭될 수도 있고, 제 2 버텍스 (1128b) 는 버텍스 Vert (Ch, Cv2) (1128b) 로서 각각 지칭될 수도 있다. 다른 버텍스들에 대한 참조들은 유사하게 버텍스 인덱스에 기초할 수도 있다. 일부 구현들에서, 수평 캐리커처링에 대해, 수평 제어 라인 (1124) 상의 버텍스들만이 포지션을 변경할 수도 있다. 다르게 말하면, Vert (Ch, Cv1), Vert (Ch, Cv1+1), ..., Vert (Ch, Cv2) 로서 정의된 버텍스들만이 그들의 로케이션들을 변경할 수도 있다.
도 11 에서 묘사된 바와 같이 손가락 제스처가 수평 핀치 근접 제스처 입력 (1114) 인 경우에는, 버텍스 Vert (Ch, Cv1) (1128a) 는, 왜곡된 이미지 메시 (1112b) 에서 묘사된 바와 같이 버텍스 Vert (Ch, Cv1) (1128a) 와 버텍스 Vert (Ch, Cv1+1) (1128c) 사이의 현재 거리에 의해 곱해진 수평 캐리커처 액션의 레벨 (예컨대, CLh) 과 동일한 값만큼 우측으로 이동할 수도 있다. 유사하게, 버텍스 Vert (Ch, Cv2) (1128b) 는, 왜곡된 이미지 메시 (1112b) 에서 묘사된 바와 같이 버텍스 Vert (Ch, Cv2) (1128b) 와 버텍스 Vert (Ch, Cv2-1) (1128d) 사이의 현재 거리에 의해 곱해진 캐리커처 액션의 레벨 (예컨대, CLh) 과 동일한 양만큼 좌측으로 이동할 수도 있다. 한편, 버텍스들 Vert (Ch, Cv1+1), ..., Vert (Ch, Cv2-1) 의 새로운 로케이션들은, 버텍스 Vert (Ch, Cv1) (1128a) 및 버텍스 Vert (Ch, Cv2) (1128b) 의 새로운 로케이션들로부터의 선형 보간에 의해 결정될 수도 있다. 도 11 에서 묘사된 바와 같이, 수평 제어 라인 (1124) 이외의 수평 라인들 상의 버텍스들은 로케이션을 이동하지 않을 수도 있다. 이들 버텍스들의 로케이션은 수평 라인들과, 그 수평 라인들에 직교하는 수직 라인들 사이에 교차 포인트들을 그대로 남길 수도 있다.
도 12 는 얼굴 이미지 (1204) 및 본 명세서에서 개시된 시스템들 및 방법들을 이용하여 생성될 수도 있는 캐리커처 이미지들 (1222a-b) 의 예들의 또 다른 예를 나타낸다. 상기 설명된 바와 같이, 일부 구현들에서, 전자 디바이스 (102) 에 커플링된 디스플레이 (536) 는 메시-기반 모델에서 이미지 메시 (1212a) 및 얼굴 이미지 (1204) 를 제시할 수도 있다.
제 1 캐리커처 이미지 (1222a) 는 얼굴 이미지 (1204) 및 캐리커처 액션들 (118) 의 제 1 셋트에 기초하여 생성될 수도 있다. 이 예에서, 제스처 입력들 (114) 의 제 1 셋트는 본 명세서에서 기술된 바와 같이 캐리커처 액션들 (118) 의 제 1 셋트를 나타낼 수도 있다. 도 12 는 또한, 제 1 왜곡된 이미지 메시 (1212b) 를 묘사한다. 제 1 왜곡된 이미지 메시 (1212b) 는, 중간 이미지에서 도시된 바와 같이, 얼굴 이미지 (1204) 의 이마, 눈들, 코, 입 등 상의 일련의 수평 핀치 액션들 후의 하나 이상의 버텍스들의 포지션에서의 변화를 나타낼 수도 있다. 전술한 바와 같이, 캐리커처 액션들 (118) 의 제 1 셋트는 캐리커처 액션 리스트 (534) 에 첨부될 수도 있다. 캐리커처 액션 리스트 (534) 는 얼굴 이미지 (1204) 에서의 모든 이미지 메시 (1212a) 버텍스의 로케이션과 제 1 캐리커처 이미지 (1222a) 에서의 그것의 새로운 로케이션 사이의 맵핑들을 결정할 수도 있다. 이 버텍스 맵핑에 기초하여, 제 1 캐리커처 이미지 (1222a) 에서의 비-버텍스 픽셀들과 얼굴 이미지 (1204) 에서의 그들의 원래의 로케이션들의 각각에 대한 맵핑이 계산될 수도 있다. 이들 픽셀들에 대한 컬러가 그 다음 획득될 수도 있다.
제 2 캐리커처 이미지 (1222b) 는 제 1 캐리커처 이미지 (1222a) 와 캐리커처 액션들 (118) 의 제 2 셋트에 기초하여 생성될 수도 있다. 이 예에서, 제스처 입력들 (114) 의 제 2 셋트는 본 명세서에서 기술된 바와 같이 캐리커처 액션들 (118) 의 제 2 셋트를 나타낼 수도 있다. 도 12 는 또한, 제 2 왜곡된 이미지 메시 (1212c) 를 묘사한다. 제 2 왜곡된 이미지 메시 (1212c) 는, 우측 이미지에서 도시된 바와 같이, 제 1 캐리커처 이미지 (1222a) 의 이마, 턱 등 상에 추가로 적용되는 일련의 수직 핀치 액션들 후의 하나 이상의 버텍스들의 포지션에서의 변화를 나타낼 수도 있다. 전술한 바와 같이, 캐리커처 액션들 (118) 의 제 2 셋트는 (예컨대, 캐리커처 액션들 (118) 의 제 1 셋트를 포함할 수도 있는) 캐리커처 액션 리스트 (534) 에 첨부될 수도 있다. 각각의 캐리커처 이미지 (1222a-b) 가 이전 캐리커처 액션들 (118) 의 결과일 수도 있음에 유의하여야 한다. 예를 들어, 제 2 캐리커처 이미지 (1222b) 는 얼굴 이미지 (1204) 에 적용되는 제 1 및 제 2 셋트의 캐리커 액션들 (118) 의 결과들일 수도 있다.
일부 구현들에서, 캐리커처 액션들 (118) (예컨대, 제 1 셋트의 캐리커처 액션들 (118) 및 제 2 셋트의 캐리커처 액션들 (118)) 을 적용하기 위해, 결합된 캐리커처 액션들 (118) 로 인한 모든 버텍스들의 새로운 로케이션들이 계산될 수도 있다. (제 1 셋트의 캐리커처 액션들 (118) 및 제 2 셋트의 캐리커처 액션들 (118) 양자에 기초한) 단일의 텍스처 와핑은 그러면 얼굴 이미지 (1204) 에 한번 적용될 수도 있다.
도 13 은, 상호작용적 이미지 캐리커처링을 위한 시스템들 및 방법들이 구현될 수도 있는 전자 디바이스 (1302) 의 보다 구체적인 구성을 나타내는 브록도이다. 전자 디바이스 (1302) 는 도 1 과 관련하여 기술된 전자 디바이스 (102) 의 일 예일 수도 있다. 전자 디바이스 (1302) 는 도 1 과 관련하여 기술된 이미지 (104) 의 일 예일 수도 있는 얼굴 이미지 (1304) 를 수신할 수도 있다. 예를 들어, 얼굴 이미지 (1304) 는 이전에 캐리커처링된 얼굴 이미지일 수도 있다. 하나의 구현형태에서, 얼굴 이미지 (1304) 는, 도 1 과 관련하여 기술된 피처 로케이션 검출 블록/모듈 (106) 의 기능의 전부 또는 일부를 포함할 수도 있는 얼굴 검출 블록/모듈 (1342) 에 제공될 수도 있다. 예를 들어, 얼굴 검출 블록/모듈 (1342) 은 도 1 과 관련하여 기술된 피처 로케이션들 (108) 의 예들일 수도 있는 얼굴 피처 로케이션들 (1308) 을 검출할 수도 있다. 얼굴 피처 로케이션들 (1308) 은 도 1 과 관련하여 기술된 이미지 메시 생성 블록/모듈 (110) 의 일 예일 수도 있는 이미지 메시 생성 블록/모듈 (1310) 에 제공될 수도 있다. 이 구현형태에서, 이미지 메시 생성 블록/모듈 (1310) 은 얼굴 피처 로케이션들 (1308) 에 대응하는 이미지 메시의 버텍스들의 로케이션들을 나타내는 이미지 버텍스 좌표들 (1344) 을 생성할 수도 있다. 이미지 버텍스 좌표들 (1344) 은 버텍스에서 교차하는 수평 라인 및 수직 라인 (예컨대, H1, V2) 의 인덱스들에 기초하여 정의될 수도 있다.
전자 디바이스 (1302) 는 도 1 과 관련하여 기술된 제스처 입력 (114) 의 일 예일 수도 있는 손가락 제스처 입력 (1314) 을 수신할 수도 있다. 손가락 제스처 입력 (1314) 은, 도 1 과 관련하여 기술된 캐리커처 액션 결정 블록/모듈 (116) 의 기능성의 전부 또는 일부를 포함할 수도 있는 상호작용적 캐리커처 액션 해석 블록/모듈 (1346) 에 제공될 수도 있다. 예를 들어, 상호작용적 캐리커처 액션 해석 블록/모듈 (1346) 은 손가락 제스처 입력 (1314) 에 기초하여 새로운 캐리커처 액션 (1318) 을 결정할 수도 있다.
새로운 캐리커처 액션 (1318) 은 캐리커처 액션 리스트를 업데이트할 수도 있는 캐리커처 액션 업데이트 블록/모듈 (1348) 에 제공될 수도 있다. 전술한 바와 같이, 전자 디바이스 (1302) 는 결정된 모든 캐리커처 액션들의 리스트를 포함하는 캐리커처 액션 리스트를 유지할 수도 있다. 얼굴 이미지 (1304) (또는 이전에 생성된 캐리커처 이미지) 에 적용되었을 수도 있는 모든 이전 캐리커처 액션들의 리스트를 포함하는 이전 캐리커처 액션 리스트 (1350a) 는, 캐리커처 이미지 버텍스들 좌표들을 생성하기 위해 이용될 버텍스들 리맵핑 (remapping) 블록/모듈 (1352) 에 제공될 수도 있다. 일부 구현들에서, 이전 캐리커처 액션 리스트 (1350a) 는 새로운 캐리커처 액션 (1318) (예컨대, 현재 결정되고 있는 캐리커처 액션) 을 포함하지 않을 수도 있다.
버텍스들 리맵핑 블록/모듈 (1352) 은 이전 캐리커처 액션 리스트 (1350a) 및 이미지 버텍스들 좌표들 (1344) 에 기초하여 이전 캐리커처 이미지 버텍스들 좌표들 (1354a) 을 결정할 수도 있다. 이전 캐리커처 액션 리스트 (1350a) 및 이전 캐리커처 이미지 버텍스들 (1354a) 은 (예를 들어 방법 (200) 의 이전 인스턴스에서) 결정되었던 이전 캐리커처 액션에 관계될 수도 있다. 일부 구현들에서, 이전 캐리커처 이미지 버텍스들 좌표들 (1354a) 은 새로운 캐리커처 액션 (1318) 을 결정하는 것을 보조하기 위해 상호작용적 캐리커처 액션 해석 블록/모듈 (1346) 에 제공될 수도 있다.
일부 구현들에서, 캐리커처 액션 업데이트 블록/모듈 (1348) 은 새로운 캐리커처 액션 리스트 (1350b) 를 생성하기 위해 (이전에 결정되었던 임의의 캐리커처 액션들을 포함하는) 캐리커처 액션 리스트에 새로운 캐리커처 액션 (1318) 을 부가할 수도 있다. 새로운 캐리커처 액션 리스트 (1350b) 는 버텍스들 리맵핑 블록/모듈 (1352) 에 제공될 수도 있다. 이미지 버텍스들 좌표들 (1344) 이 또한 버텍스들 리맵핑 블록/모듈 (1352) 에 패스될 수도 있다.
일부 구현들에서, 버텍스들 리맵핑 블록/모듈 (1352) 은 새로운 캐리커처 액션 리스트 (1350b) 및 이미지 버텍스들 좌표들 (1344) 에 기초하여 새로운 캐리커처 이미지 버텍스들 좌표들 (1354b) 을 결정할 수도 있다. 예를 들어, 버텍스들 리맵핑 블록/모듈 (1352) 은, (이전에 결정된 캐리커처 액션들 및 새로운 캐리커처 액션 (1318) 을 포함할 수도 있는) 새로운 캐리커처 액션 리스트 (1350b) 에 기초하여 얼굴 이미지 (1304) 의 버텍스들의 (캐리커처 이미지 (1322) 에서의) 로케이션을 결정할 수도 있다.
새로운 캐리커처 이미지 버텍스들 좌표들 (1354b) 은 리맵핑 생성 블록/모듈 (1356) 에 패스될 수도 있다. 리맵핑 생성 블록/모듈 (1356) 은 또한 이미지 버텍스들 좌표들 (1344) 을 수신할 수도 있다. 리맵핑 생성 블록/모듈 (1356) 은 이미지 버텍스들 좌표들 (1344) 및 새로운 캐리커처 이미지 버텍스들 좌표들 (1354b) 사이의 맵핑을 생성할 수도 있다. 리맵핑 생성 블록/모듈 (1356) 의 출력은 이미지 버텍스들과 캐리커처 이미지 버텍스들의 (예컨대, 그들의 좌표들에 기초한) 포지션에서의 변화 사이의 관계를 반영하는 하나 이상의 맵핑 매트릭스들 (1358) 일 수도 있다.
맵핑 매트릭스들 (1358) 및 얼굴 이미지 (1304) 는 얼굴 이미지 (1304) 의 텍스처 와핑을 수행하는 텍스처 와핑 블록/모듈 (1360) 에 제공될 수도 있다. 예를 들어, 텍스처 와핑 블록/모듈 (1360) 은 캐리커처 이미지 (1322) 를 생성하기 위해 얼굴 이미지 (1304) 에서 하나 이상의 픽셀들의 포지션을 변경할 수도 있다.
도 14 는 전자 디바이스 (1402) 에서 이용될 수도 있는 다양한 컴포넌트들을 나타낸다. 예시된 컴포넌트들은 동일한 물리적인 구조 내에 또는 별도의 하우징들 또는 구조들에 위치될 수도 있다. 도 14 와 관련하여 설명된 전자 디바이스 (1402) 는 본 명세서에서 설명된 전자 디바이스들 중의 하나 이상에 따라 구현될 수도 있다. 전자 디바이스 (1402) 는 프로세서 (1462) 를 포함한다. 프로세서 (1462) 는 범용 단일-칩 또는 멀티-칩 마이크로프로세서 (예컨대, ARM), 특수 목적 마이크로프로세서 (예컨대, 디지털 신호 프로세서 (digital signal processor; DSP)), 마이크로제어기, 프로그래밍가능한 게이트 어레이 등일 수도 있다. 프로세서 (1462) 는 중앙 처리 유닛 (CPU) 으로서 지칭될 수도 있다. 단지 단일 프로세서 (1462) 가 도 14 의 전자 디바이스 (1402) 에서 도시되어 있지만, 대안적인 구성에서는, 프로세서들 (예컨대, ARM 및 DSP) 의 조합이 이용될 수 있을 것이다.
전자 디바이스 (1402) 는 또한 프로세서 (1462) 와 전자 통신하는 메모리 (1464) 를 포함한다. 즉, 프로세서 (1462) 는 메모리 (1464) 로부터 정보를 판독하고 및/또는 정보를 메모리 (1464) 에 기록할 수 있다. 메모리 (1464) 는 전자적 정보를 저장할 수 있는 임의의 전자 컴포넌트일 수도 있다. 메모리 (1464) 는 랜덤 액세스 메모리 (RAM), 판독 전용 메모리 (ROM), 자기디스크 저장 매체들, 광학 저장 매체들, RAM 에서의 플래시 메모리 디바이스들, 프로세서와 함께 포함된 온-보드 메모리, 프로그래밍가능한 판독 전용 메모리 (programmable read-only memory; PROM), 소거가능 프로그래밍가능한 판독 전용 메모리 (erasable programmable read-only memory; EPROM), 전기적으로 소거가능한 PROM (electrically erasable PROM; EEPROM), 레지스터들 및 기타 등등일 수도 있으며, 그 조합들을 포함할 수도 있다.
데이터 (1466a) 및 명령들 (1468a) 은 메모리 (1464) 내에 저장될 수도 있다. 명령들 (1468a) 은 하나 이상의 프로그램들, 루틴들, 서브-루틴들, 함수들, 프로시저들 등을 포함할 수도 있다. 명령들 (1468a) 은 단일 컴퓨터 판독가능 스테이트먼트 (statement) 또는 많은 컴퓨터 판독가능 스테이트먼트들을 포함할 수도 있다. 명령들 (1468a) 은 위에서 설명된 방법들, 기능들 및 절차들 중의 하나 이상을 구현하기 위하여 프로세서 (1462) 에 의해 실행가능할 수도 있다. 명령들 (1468a) 을 실행하는 것은 메모리 (1464) 내에 저장된 데이터 (1466a) 의 이용을 수반할 수도 있다. 도 14 는 (명령들 (1468a) 및 데이터 (1466a) 로부터 유래될 수도 있는) 프로세서 (1462) 로 로딩되는 몇몇 명령들 (1468b) 및 데이터 (1466b) 를 도시한다.
전자 디바이스 (1402) 는 또한 다른 전자 디바이스들과 통신하기 위한 하나 이상의 통신 인터페이스들 (1470) 을 포함할 수도 있다. 통신 인터페이스들 (1470) 은 유선 통신 기술, 무선 통신 기술, 또는 양자에 기초할 수도 있다. 상이한 타입들의 통신 인터페이스들 (1470) 의 예들은 직렬 포트, 병렬 포트, 범용 직렬 버스 (USB), 이더넷 어댑터, IEEE 1394 버스 인터페이스, 소형 컴퓨터 시스템 인터페이스 (small computer system interface; SCSI) 버스 인터페이스, 적외선 (infrared; IR) 통신 포트, 블루투스 무선 통신 어댑터, 및 기타 등등을 포함한다.
전자 디바이스 (1402) 는 또한 하나 이상의 입력 디바이스들 (1472) 및 하나 이상의 출력 디바이스들 (1474) 을 포함할 수도 있다. 상이한 종류들의 입력 디바이스들 (1472) 의 예들은 키보드, 마우스, 마이크로폰, 원격 제어 디바이스, 버튼, 조이스틱, 트랙볼, 터치패드, 라이트펜 등을 포함한다. 예를 들어, 전자 디바이스 (1402) 는 음향 신호들을 캡처하기 위한 하나 이상의 마이크로폰들 (1476) 을 포함할 수도 있다. 하나의 구성에서, 마이크로폰 (1476) 은 음향 신호들 (예컨대, 보이스, 스피치) 을 전기적 또는 전자적 신호들로 변환하는 트랜스듀서일 수도 있다. 상이한 종류들의 출력 디바이스들 (1474) 의 예들은 스피커, 프린터 등을 포함한다. 예를 들어, 전자 디바이스 (1402) 는 하나 이상의 스피커들 (1478) 을 포함할 수도 있다. 하나의 구성에서, 스피커 (1478) 는 전기 또는 전자 신호들을 음향 신호들로 변환하는 트랜스듀서일 수도 있다. 전자 디바이스 (1402) 내에 통상적으로 포함될 수도 있는 하나의 구체적인 타입의 출력 디바이스는 디스플레이 디바이스 (1434) 이다. 본 명세서에서 개시된 구성들과 함께 이용된 디스플레이 디바이스들 (1434) 은 액정 디스플레이 (LCD), 발광 다이오드 (LED), 가스 플라즈마, 전계발광, 음극선관 (CRT) 등과 같은, 임의의 적합한 이미지 투영 기술을 이용할 수도 있다. 디스플레이 제어기 (1480) 는 또한, 메모리 (1464) 내에 저장된 데이터를, 디스플레이 디바이스 (1434) 상에 도시된 텍스트, 그래픽스, 및/또는 동영상들로 (적절하게) 변환하기 위하여 제공될 수도 있다.
전자 디바이스 (1402) 의 다양한 컴포넌트들은 하나 이상의 버스들에 의해 함께 결합될 수도 있으며, 버스들은 전력 버스, 제어 신호 버스, 상태 신호 버스, 데이터 버스 등을 포함할 수도 있다. 간결성을 위하여, 다양한 버스들은 도 14 에서 버스 시스템 (1482) 으로서 도시되어 있다. 도 14 는 전자 디바이스 (1402) 의 오직 하나의 가능한 구성을 예시한다는 것에 유의해야 한다. 다양한 다른 아키텍쳐들 및 컴포넌트들이 이용될 수도 있다.
상기 설명에서, 참조 번호들은 때때로 다양한 용어들과 관련하여 이용되었다. 용어가 참조 부호와 관련하여 이용될 경우, 이것은 도면들 중의 하나 이상에서 도시되는 특정 엘리먼트를 지칭하도록 의도될 수도 있다. 용어가 참조 부호 없이 이용될 경우, 이것은 임의의 특정 도면에 대한 제한없이 일반적으로 그 용어를 지칭하도록 의도될 수도 있다.
용어 "결정하는 것" 은 광범위한 액션들을 포괄하고, 그러므로, "결정하는 것" 은 계산하는 것, 컴퓨팅하는 것, 프로세싱하는 것, 유도하는 것, 조사하는 것, 룩업하는 것 (예컨대, 테이블, 데이터베이스 또는 또 다른 데이터 구조에서 룩업하는 것), 확인하는 것 및 기타 등등을 포함할 수 있다. 또한, "결정하는 것" 은 수신하는 것 (예컨대, 정보를 수신하는 것), 액세스하는 것 (예컨대, 메모리 내의 데이터를 액세스하는 것) 및 기타 등등을 포함할 수 있다. 또한, "결정하는 것" 은 분석하는 것, 선택하는 것, 선정하는 것, 확립하는 것 등을 포함할 수 있다.
어구 "에 기초하여 (based on)" 는 명백히 달리 규정되지 않는 한, "에 오직 기초하여" 를 의미하지 않는다. 다시 말해서, 어구 "에 기초하여 (based on)" 는 "에 오직 기초하여" 및 "에 적어도 기초하여" 의 양자를 기술한다.
본 명세서에서 기술된 구성들 중의 임의의 하나와 관련하여 설명된, 특징들, 기능들, 절차들, 컴포넌트들, 엘리먼트들, 구조들 등 중의 하나 이상은, 호환가능한 경우, 본 명세서에서 기술된 다른 구성들 중의 임의의 것과 관련하여 설명된, 기능들, 절차들, 컴포넌트들, 엘리먼트들, 구조들 등 중의 하나 이상과 조합될 수도 있다는 것에 유의하여야 한다. 다시 말해서, 본 명세서에서 기술된, 기능들, 절차들, 컴포넌트들, 엘리먼트들 등의 임의의 호환가능한 조합은 본 명세서에서 개시된 시스템들 및 방법들에 따라 구현될 수도 있다. 일부 구성들에서, 본 명세서에서 개시된 기능들 또는 절차들의 하나 이상의 서브셋트들 또는 부분들은 본 명세서에서 개시된 다른 기능들 또는 절차들과는 독립적으로 적용될 수도 있다.
본 명세서에서 기술된 기능들은 프로세서 판독가능 또는 컴퓨터 판독가능 매체 상에 하나 이상의 명령들로서 저장될 수도 있다. 용어 "컴퓨터 판독가능 매체" 는 컴퓨터 또는 프로세서에 의해 액세스될 수 있는 임의의 이용가능한 매체를 지칭한다. 제한이 아닌 예로서, 이러한 매체는 RAM, ROM, EEPROM, 플래시 메모리, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 저장 디바이스들, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하기 위하여 이용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수도 있다. 디스크 (disk) 및 디스크 (disc) 는, 본 명세서에서 이용될 때, 컴팩트 디스크 (compact disc; CD), 레이저 디스크 (laser disc), 광학 디스크 (optical disc), 디지털 다기능 디스크 (digital versatile disc; DVD), 플로피 디스크 (floppy disk) 및 Blu-ray® 디스크 (disc) 를 포함하며, 여기서, 디스크 (disk) 들은 통상적으로 데이터를 자기적으로 재생하는 반면, 디스크 (disc) 들은 레이저들로 데이터를 광학적으로 재생한다. 컴퓨터 판독가능 매체는 유형적이고 비일시적일 수도 있다는 것에 유의해야 한다. 용어 "컴퓨터 프로그램 제품" 은 컴퓨팅 디바이스 또는 프로세서에 의해 실행되거나, 프로세싱되거나 또는 컴퓨팅될 수도 있는 코드 또는 명령들 (예컨대, "프로그램") 과 조합하여 컴퓨팅 디바이스 또는 프로세서를 지칭한다. 본 명세서에서 이용될 때, 용어 "코드" 는 컴퓨팅 디바이스 또는 프로세서에 의해 실행가능한 소프트웨어, 명령들, 코드 또는 데이터를 지칭할 수도 있다.
소프트웨어 또는 명령들은 또한 전송 매체를 통해서 전송될 수도 있다. 예를 들어, 동축 케이블, 광섬유 케이블, 트위스트 페어 (twisted pair), 디지털 가입자 회선 (digital subscriber line; DSL), 또는 무선 기술들 예컨대, 적외선, 라디오, 및 마이크로파를 이용하여, 웹사이트, 서버, 또는 다른 원격 소스로부터 소프트웨어가 전송될 경우, 동축 케이블, 광섬유 케이블, 트위스트 페어, DSL, 또는 무선 기술들 예컨대, 적외선, 라디오, 및 마이크로파는 전송 매체의 정의 내에 포함된다.
본 명세서에서 개시된 방법들은 설명된 방법을 달성하기 위한 하나 이상의 단계들 또는 액션들을 포함한다. 방법 단계들 및/또는 액션들은 청구 범위로부터 이탈하지 않으면서 서로 상호 교환될 수도 있다. 다시 말해서, 기술되고 있는 방법의 적절한 동작을 위하여 단계들 또는 액션들의 특정한 순서가 요구되지 않는 한, 특정한 단계들 및/또는 액션들의 순서 및/또는 이용은 청구 범위로부터 이탈하지 않으면서 수정될 수도 있다.
청구항들은 위에서 예시된 정확한 구성 및 컴포넌트들에 제한되지 않는 것으로 이해되어야 한다. 청구 범위로부터 이탈하지 않고, 다양한 수정들, 변경들 및 변화들이 본 명세서에서 기술되는 시스템들, 방법들, 및 장치의 배열, 동작 및 상세사항들에서 이루어질 수도 있다.

Claims (50)

  1. 전자 디바이스에 의한 상호작용적 이미지 캐리커처링을 위한 방법으로서,
    이미지의 적어도 하나의 피처 로케이션을 검출하는 단계;
    상기 적어도 하나의 피처 로케이션에 기초하여, 적어도 하나의 수평 라인 및 적어도 하나의 수직 라인의 그리드를 포함하는 이미지 메시를 생성하는 단계;
    적어도 하나의 제스처 입력을 획득하는 단계;
    상기 적어도 하나의 제스처 입력에 기초하여 적어도 하나의 캐리커처 액션을 결정하는 단계; 및
    상기 이미지 메시, 상기 적어도 하나의 캐리커처 액션 및 상기 이미지에 기초하여 캐리커처 이미지를 생성하는 단계를 포함하는, 상호작용적 이미지 캐리커처링을 위한 방법.
  2. 제 1 항에 있어서,
    상기 이미지는 얼굴 이미지인, 상호작용적 이미지 캐리커처링을 위한 방법.
  3. 제 1 항에 있어서,
    상기 이미지 메시의 버텍스들 (vertices) 은 상기 적어도 하나의 피처 로케이션에 대응하는, 상호작용적 이미지 캐리커처링을 위한 방법.
  4. 제 1 항에 있어서,
    상기 적어도 하나의 제스처 입력은 터치 입력을 포함하는, 상호작용적 이미지 캐리커처링을 위한 방법.
  5. 제 1 항에 있어서,
    상기 이미지 및 상기 캐리커처 이미지 중 적어도 하나를 디스플레이하는 단계를 더 포함하는, 상호작용적 이미지 캐리커처링을 위한 방법.
  6. 제 1 항에 있어서,
    상기 캐리커처 이미지를 생성하는 단계는, 상기 이미지에 상기 적어도 하나의 캐리커처 액션을 적용하는 단계를 포함하는, 상호작용적 이미지 캐리커처링을 위한 방법.
  7. 제 6 항에 있어서,
    상기 적어도 하나의 캐리커처 액션은, 상기 이미지 메시의 적어도 하나의 버텍스에 대한 시프팅 정보를 제공하고, 상기 시프팅 정보에 기초하여 이미지 버텍스 픽셀을 대응하는 캐리커처 이미지 버텍스 픽셀로 맵핑하는 픽셀 맵을 제공하며,
    상기 캐리커처 이미지를 생성하는 단계는, 상기 픽셀 맵에 기초하여 상기 캐리커처 이미지에서 다른 픽셀들의 로케이션을 보간하는 단계를 포함하는, 상호작용적 이미지 캐리커처링을 위한 방법.
  8. 제 1 항에 있어서,
    상기 적어도 하나의 제스처 입력을 검증하는 단계를 더 포함하는, 상호작용적 이미지 캐리커처링을 위한 방법.
  9. 제 8 항에 있어서,
    상기 적어도 하나의 제스처 입력을 검증하는 단계는, 상기 제스처 입력의 모션이 모션 임계치보다 더 큰지 여부를 결정하는 단계를 포함하는, 상호작용적 이미지 캐리커처링을 위한 방법.
  10. 제 1 항에 있어서,
    상기 적어도 하나의 제스처 입력은 다수의 제스처 입력들을 포함하는, 상호작용적 이미지 캐리커처링을 위한 방법.
  11. 제 10 항에 있어서,
    서로에 대한 상기 제스처 입력들의 모션을 결정하는 단계를 더 포함하는, 상호작용적 이미지 캐리커처링을 위한 방법.
  12. 제 10 항에 있어서,
    상기 제스처 입력들이 수평으로 정렬되는 것을 결정하는 단계를 더 포함하는, 상호작용적 이미지 캐리커처링을 위한 방법.
  13. 제 10 항에 있어서,
    상기 제스처 입력들이 수직으로 정렬되는 것을 결정하는 단계를 더 포함하는, 상호작용적 이미지 캐리커처링을 위한 방법.
  14. 제 1 항에 있어서,
    캐리커처 액션 리스트를 유지하는 단계를 더 포함하는, 상호작용적 이미지 캐리커처링을 위한 방법.
  15. 제 14 항에 있어서,
    상기 캐리커처 액션 리스트에 상기 적어도 하나의 캐리커처 액션을 추가하는 단계를 더 포함하는, 상호작용적 이미지 캐리커처링을 위한 방법.
  16. 상호작용적 이미지 캐리커처링을 위한 전자 디바이스로서,
    이미지의 적어도 하나의 피처 로케이션을 검출하는 피처 로케이션 검출 회로;
    상기 피처 로케이션 검출 회로에 커플링된 이미지 메시 생성 회로로서, 상기 이미지 메시 생성 회로는, 상기 적어도 하나의 피처 로케이션에 기초하여, 적어도 하나의 수평 라인 및 적어도 하나의 수직 라인의 그리드를 포함하는 이미지 메시를 생성하는, 상기 이미지 메시 생성 회로;
    적어도 하나의 제스처 입력을 획득하는 감지 회로;
    상기 감지 회로에 커플링된 캐리커처 액션 결정 회로로서, 상기 캐리커처 액션 결정 회로는, 상기 적어도 하나의 제스처 입력에 기초하여 적어도 하나의 캐리커처 액션을 결정하는, 상기 캐리커처 액션 결정 회로; 및
    상기 이미지 메시 생성 회로 및 상기 캐리커처 액션 결정 회로에 커플링된 캐리커처 이미지 생성 회로로서, 상기 캐리커처 이미지 생성 회로는, 상기 이미지 메시, 상기 적어도 하나의 캐리커처 액션 및 상기 이미지에 기초하여 캐리커처 이미지를 생성하는, 상기 캐리커처 이미지 생성 회로를 포함하는, 상호작용적 이미지 캐리커처링을 위한 전자 디바이스.
  17. 제 16 항에 있어서,
    상기 이미지는 얼굴 이미지인, 상호작용적 이미지 캐리커처링을 위한 전자 디바이스.
  18. 제 16 항에 있어서,
    상기 이미지 메시의 버텍스들 (vertices) 은 상기 적어도 하나의 피처 로케이션에 대응하는, 상호작용적 이미지 캐리커처링을 위한 전자 디바이스.
  19. 제 16 항에 있어서,
    상기 적어도 하나의 제스처 입력은 터치 입력을 포함하는, 상호작용적 이미지 캐리커처링을 위한 전자 디바이스.
  20. 제 16 항에 있어서,
    상기 캐리커처 이미지 생성 회로에 커플링되고 상기 이미지 및 상기 캐리커처 이미지 중 적어도 하나를 디스플레이하는 디스플레이를 더 포함하는, 상호작용적 이미지 캐리커처링을 위한 전자 디바이스.
  21. 제 16 항에 있어서,
    상기 캐리커처 이미지를 생성하는 것은, 상기 이미지에 상기 적어도 하나의 캐리커처 액션을 적용하는 것을 포함하는, 상호작용적 이미지 캐리커처링을 위한 전자 디바이스.
  22. 제 21 항에 있어서,
    상기 적어도 하나의 캐리커처 액션은, 상기 이미지 메시의 적어도 하나의 버텍스에 대한 시프팅 정보를 제공하고, 상기 시프팅 정보에 기초하여 이미지 버텍스 픽셀을 대응하는 캐리커처 이미지 버텍스 픽셀로 맵핑하는 픽셀 맵을 제공하며,
    상기 캐리커처 이미지를 생성하는 것은, 상기 픽셀 맵에 기초하여 상기 캐리커처 이미지에서 다른 픽셀들의 로케이션을 보간하는 것을 포함하는, 상호작용적 이미지 캐리커처링을 위한 전자 디바이스.
  23. 제 16 항에 있어서,
    상기 감지 회로에 커플링된 제스처 입력 검증 회로를 더 포함하고,
    상기 제스처 입력 검증 회로는, 상기 적어도 하나의 제스처 입력을 검증하는, 상호작용적 이미지 캐리커처링을 위한 전자 디바이스.
  24. 제 23 항에 있어서,
    상기 적어도 하나의 제스처 입력을 검증하는 것은, 상기 제스처 입력의 모션이 모션 임계 값보다 더 큰지 여부를 결정하는 것을 포함하는, 상호작용적 이미지 캐리커처링을 위한 전자 디바이스.
  25. 제 16 항에 있어서,
    상기 적어도 하나의 제스처 입력은 다수의 제스처 입력들을 포함하는, 상호작용적 이미지 캐리커처링을 위한 전자 디바이스.
  26. 제 25 항에 있어서,
    제스처 입력 검증 회로는, 서로에 대한 상기 제스처 입력들의 모션을 결정하는, 상호작용적 이미지 캐리커처링을 위한 전자 디바이스.
  27. 제 25 항에 있어서,
    제스처 입력 검증 회로는, 상기 제스처 입력들이 수평으로 정렬되는 것을 결정하는, 상호작용적 이미지 캐리커처링을 위한 전자 디바이스.
  28. 제 25 항에 있어서,
    제스처 입력 검증 회로는, 상기 제스처 입력들이 수직으로 정렬되는 것을 결정하는, 상호작용적 이미지 캐리커처링을 위한 전자 디바이스.
  29. 제 16 항에 있어서,
    상기 전자 디바이스는, 캐리커처 액션 리스트를 유지하는, 상호작용적 이미지 캐리커처링을 위한 전자 디바이스.
  30. 제 29 항에 있어서,
    상기 전자 디바이스는, 상기 캐리커처 액션 리스트에 상기 적어도 하나의 캐리커처 액션을 추가하는, 상호작용적 이미지 캐리커처링을 위한 전자 디바이스.
  31. 명령들을 갖는 비-일시성 유형의 컴퓨터 판독가능 매체를 포함하는, 상호작용적 이미지 캐리커처링을 위한 컴퓨터 프로그램 제품으로서,
    상기 명령들은,
    전자 디바이스로 하여금, 이미지의 적어도 하나의 피처 로케이션을 검출하게 하기 위한 코드;
    상기 전자 디바이스로 하여금, 상기 적어도 하나의 피처 로케이션에 기초하여, 적어도 하나의 수평 라인 및 적어도 하나의 수직 라인의 그리드를 포함하는 이미지 메시를 생성하게 하기 위한 코드;
    상기 전자 디바이스로 하여금, 적어도 하나의 제스처 입력을 획득하게 하기 위한 코드;
    상기 전자 디바이스로 하여금, 상기 적어도 하나의 제스처 입력에 기초하여 적어도 하나의 캐리커처 액션을 결정하게 하기 위한 코드; 및
    상기 전자 디바이스로 하여금, 상기 이미지 메시, 상기 적어도 하나의 캐리커처 액션 및 상기 이미지에 기초하여 캐리커처 이미지를 생성하게 하기 위한 코드를 포함하는, 비-일시성 유형의 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  32. 제 31 항에 있어서,
    상기 이미지는 얼굴 이미지인, 비-일시성 유형의 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  33. 제 31 항에 있어서,
    상기 이미지 메시의 버텍스들 (vertices) 은 상기 적어도 하나의 피처 로케이션에 대응하는, 비-일시성 유형의 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  34. 제 31 항에 있어서,
    상기 적어도 하나의 제스처 입력은 터치 입력을 포함하는, 비-일시성 유형의 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  35. 제 31 항에 있어서,
    상기 명령들은, 상기 전자 디바이스로 하여금 상기 이미지 및 상기 캐리커처 이미지 중 적어도 하나를 디스플레이하게 하기 위한 코드를 더 포함하는, 비-일시성 유형의 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  36. 제 31 항에 있어서,
    상기 전자 디바이스로 하여금 캐리커처 이미지를 생성하게 하기 위한 상기 코드는, 상기 전자 디바이스로 하여금 상기 이미지에 상기 적어도 하나의 캐리커처 액션을 적용하게 하기 위한 코드를 포함하는, 비-일시성 유형의 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  37. 제 31 항에 있어서,
    상기 명령들은, 상기 전자 디바이스로 하여금 상기 적어도 하나의 제스처 입력을 검증하게 하기 위한 코드를 더 포함하는, 비-일시성 유형의 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  38. 제 31 항에 있어서,
    상기 적어도 하나의 제스처 입력은 다수의 제스처 입력들을 포함하는, 비-일시성 유형의 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  39. 제 31 항에 있어서,
    상기 명령들은, 상기 전자 디바이스로 하여금 캐리커처 액션 리스트를 유지하게 하기 위한 코드를 더 포함하는, 비-일시성 유형의 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  40. 제 39 항에 있어서,
    상기 명령들은, 상기 전자 디바이스로 하여금 상기 캐리커처 액션 리스트에 상기 적어도 하나의 캐리커처 액션을 추가하게 하기 위한 코드를 더 포함하는, 비-일시성 유형의 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  41. 상호작용적 이미지 캐리커처링을 위한 장치로서,
    이미지의 적어도 하나의 피처 로케이션을 검출하는 수단;
    상기 적어도 하나의 피처 로케이션에 기초하여, 적어도 하나의 수평 라인 및 적어도 하나의 수직 라인의 그리드를 포함하는 이미지 메시를 생성하는 수단;
    적어도 하나의 제스처 입력을 획득하는 수단;
    상기 적어도 하나의 제스처 입력에 기초하여 적어도 하나의 캐리커처 액션을 결정하는 수단; 및
    상기 이미지 메시, 상기 적어도 하나의 캐리커처 액션 및 상기 이미지에 기초하여 캐리커처 이미지를 생성하는 수단을 포함하는, 상호작용적 이미지 캐리커처링을 위한 장치.
  42. 제 41 항에 있어서,
    상기 이미지는 얼굴 이미지인, 상호작용적 이미지 캐리커처링을 위한 장치.
  43. 제 41 항에 있어서,
    상기 이미지 메시의 버텍스들 (vertices) 은 상기 적어도 하나의 피처 로케이션에 대응하는, 상호작용적 이미지 캐리커처링을 위한 장치.
  44. 제 41 항에 있어서,
    상기 적어도 하나의 제스처 입력은 터치 입력을 포함하는, 상호작용적 이미지 캐리커처링을 위한 장치.
  45. 제 41 항에 있어서,
    상기 이미지 및 상기 캐리커처 이미지 중 적어도 하나를 디스플레이하는 수단을 더 포함하는, 상호작용적 이미지 캐리커처링을 위한 장치.
  46. 제 41 항에 있어서,
    상기 캐리커처 이미지를 생성하는 수단은, 상기 이미지에 상기 적어도 하나의 캐리커처 액션을 적용하는 수단을 포함하는, 상호작용적 이미지 캐리커처링을 위한 장치.
  47. 제 41 항에 있어서,
    상기 적어도 하나의 제스처 입력을 검증하는 수단을 더 포함하는, 상호작용적 이미지 캐리커처링을 위한 장치.
  48. 제 41 항에 있어서,
    상기 적어도 하나의 제스처 입력은 다수의 제스처 입력들을 포함하는, 상호작용적 이미지 캐리커처링을 위한 장치.
  49. 제 41 항에 있어서,
    캐리커처 액션 리스트를 유지하는 수단을 더 포함하는, 상호작용적 이미지 캐리커처링을 위한 장치.
  50. 제 49 항에 있어서,
    상기 캐리커처 액션 리스트에 상기 적어도 하나의 캐리커처 액션을 추가하는 수단을 더 포함하는, 상호작용적 이미지 캐리커처링을 위한 장치.
KR1020157025391A 2013-02-23 2013-02-23 전자 디바이스에 의한 상호작용적 이미지 캐리커처링을 위한 시스템들 및 방법들 KR20150121069A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/000179 WO2014127494A1 (en) 2013-02-23 2013-02-23 Systems and methods for interactive image caricaturing by an electronic device

Publications (1)

Publication Number Publication Date
KR20150121069A true KR20150121069A (ko) 2015-10-28

Family

ID=51390460

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157025391A KR20150121069A (ko) 2013-02-23 2013-02-23 전자 디바이스에 의한 상호작용적 이미지 캐리커처링을 위한 시스템들 및 방법들

Country Status (8)

Country Link
US (3) US10379734B2 (ko)
EP (2) EP3575947B1 (ko)
JP (1) JP6328669B2 (ko)
KR (1) KR20150121069A (ko)
CN (2) CN112215914B (ko)
ES (1) ES2769546T3 (ko)
HU (1) HUE046808T2 (ko)
WO (1) WO2014127494A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8788968B1 (en) * 2012-06-04 2014-07-22 Google Inc. Transitioning an interface to a neighboring image
EP3575947B1 (en) 2013-02-23 2022-06-22 QUALCOMM Incorporated Systems and methods for interactive image caricaturing by an electronic device
GB201706300D0 (en) * 2017-04-20 2017-06-07 Microsoft Technology Licensing Llc Debugging tool
US10559116B2 (en) * 2018-03-05 2020-02-11 Adobe Inc. Interactive caricature generation from a digital image
CN111145084B (zh) * 2019-12-25 2023-06-16 北京市商汤科技开发有限公司 图像处理方法及装置、图像处理设备及存储介质
US11328385B2 (en) * 2020-04-14 2022-05-10 Adobe Inc. Automatic image warping for warped image generation

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6069622A (en) * 1996-03-08 2000-05-30 Microsoft Corporation Method and system for generating comic panels
JPH09305780A (ja) * 1996-05-10 1997-11-28 Dainippon Printing Co Ltd レイアウト装置
JPH1010970A (ja) * 1996-06-18 1998-01-16 Matsushita Electric Ind Co Ltd 地図データ更新システム
DE69934478T2 (de) 1999-03-19 2007-09-27 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. Verfahren und Gerät zur Bildverarbeitung auf Basis von Metamorphosemodellen
KR20020030226A (ko) * 2000-10-16 2002-04-24 김란숙 영상기반 캐리커츄어 제작 방법
CN1174346C (zh) 2001-04-25 2004-11-03 中国科学技术大学 一种三维人脸动画的制作方法
KR100450210B1 (ko) * 2002-10-25 2004-09-24 (주)엔룩스 3차원 스캔 얼굴모델의 합성 시스템과 그 방법 및 3차원스캔 얼굴모델의 합성기능을 갖춘 프로그램이 수록된기록매체
GB0400894D0 (en) 2004-01-15 2004-02-18 British Telecomm Adaptive closed group caricaturing
TW200614094A (en) * 2004-10-18 2006-05-01 Reallusion Inc System and method for processing comic character
GB0813685D0 (en) 2008-07-25 2008-09-03 Omniperception Ltd A system & method for facial recognition
US8798374B2 (en) * 2008-08-26 2014-08-05 The Regents Of The University Of California Automated facial action coding system
KR20100041006A (ko) 2008-10-13 2010-04-22 엘지전자 주식회사 3차원 멀티 터치를 이용한 사용자 인터페이스 제어방법
CN101887593A (zh) * 2009-05-15 2010-11-17 中山大学 一种聪明图形驱动的网格图像变形方法
US20100302138A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Methods and systems for defining or modifying a visual representation
CN101923726B (zh) 2009-06-09 2012-04-04 华为技术有限公司 一种语音动画生成方法及系统
US8405659B2 (en) * 2009-06-24 2013-03-26 International Business Machines Corporation System and method for establishing correspondence, matching and repairing three dimensional surfaces of arbitrary genus and arbitrary topology in two dimensions using global parameterization
CN101692681A (zh) * 2009-09-17 2010-04-07 杭州聚贝软件科技有限公司 一种在话机终端上实现虚拟形象互动界面的方法和系统
US20120306874A1 (en) * 2009-12-14 2012-12-06 Agency For Science, Technology And Research Method and system for single view image 3 d face synthesis
US8786559B2 (en) * 2010-01-06 2014-07-22 Apple Inc. Device, method, and graphical user interface for manipulating tables using multi-contact gestures
JP5565671B2 (ja) * 2010-02-17 2014-08-06 学校法人立命館 画像変形方法、画像処理装置、及びコンピュータプログラム
US8233789B2 (en) * 2010-04-07 2012-07-31 Apple Inc. Dynamic exposure metering based on face detection
JP5240795B2 (ja) 2010-04-30 2013-07-17 オムロン株式会社 画像変形装置、電子機器、画像変形方法、および画像変形プログラム
KR101514327B1 (ko) 2010-11-04 2015-04-22 한국전자통신연구원 얼굴 아바타 생성 장치 및 방법
US8717381B2 (en) * 2011-01-11 2014-05-06 Apple Inc. Gesture mapping for image filter input parameters
CN102737362B (zh) * 2011-04-01 2015-07-08 国基电子(上海)有限公司 具漫画图像分割功能的电子装置及方法
US8687023B2 (en) * 2011-08-02 2014-04-01 Microsoft Corporation Cross-slide gesture to select and rearrange
CN102306389B (zh) * 2011-08-03 2013-05-08 湖南互动传媒有限公司 一种手机动漫人物及背景的浮雕效果实现方法
CN102521867B (zh) * 2011-12-16 2014-09-17 拓维信息系统股份有限公司 一种手机动漫人物及背景创作方法
US20140092015A1 (en) * 2012-09-29 2014-04-03 Zhaohui Xing Method and apparatus for manipulating a graphical user interface using camera
US8584049B1 (en) * 2012-10-16 2013-11-12 Google Inc. Visual feedback deletion
EP3575947B1 (en) 2013-02-23 2022-06-22 QUALCOMM Incorporated Systems and methods for interactive image caricaturing by an electronic device
US9129152B2 (en) * 2013-11-14 2015-09-08 Adobe Systems Incorporated Exemplar-based feature weighting

Also Published As

Publication number Publication date
EP3575947B1 (en) 2022-06-22
US11526272B2 (en) 2022-12-13
US20160011769A1 (en) 2016-01-14
ES2769546T3 (es) 2020-06-26
EP2959458B1 (en) 2019-10-30
CN105074780A (zh) 2015-11-18
EP3575947A2 (en) 2019-12-04
US10379734B2 (en) 2019-08-13
WO2014127494A1 (en) 2014-08-28
US10761721B2 (en) 2020-09-01
EP3575947A3 (en) 2019-12-11
EP2959458A4 (en) 2016-12-28
JP2016515236A (ja) 2016-05-26
CN112215914B (zh) 2024-04-26
JP6328669B2 (ja) 2018-05-23
HUE046808T2 (hu) 2020-03-30
CN112215914A (zh) 2021-01-12
US20200363946A1 (en) 2020-11-19
CN105074780B (zh) 2020-11-10
EP2959458A1 (en) 2015-12-30
US20190278474A1 (en) 2019-09-12

Similar Documents

Publication Publication Date Title
US10761721B2 (en) Systems and methods for interactive image caricaturing by an electronic device
US9645735B2 (en) Information processing device and information processing method
JP6089722B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
CN107077197B (zh) 3d可视化图
EP3341851B1 (en) Gesture based annotations
US10311295B2 (en) Heuristic finger detection method based on depth image
JP2017182302A (ja) 画像処理プログラム、画像処理装置、及び画像処理方法
CN105988566B (zh) 一种信息处理方法及电子设备
TW201416911A (zh) 手勢辨識方法與電子裝置
JP2014029656A (ja) 画像処理装置および画像処理方法
TWI489859B (zh) 影像形變方法及其電腦程式產品
JP2016018458A (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
CN103853475A (zh) 二维界面的三维化方法和装置
CN109857244B (zh) 一种手势识别方法、装置、终端设备、存储介质及vr眼镜
CN104238734A (zh) 三维交互系统及其交互感测方法
US20230206566A1 (en) Method of learning a target object using a virtual viewpoint camera and a method of augmenting a virtual model on a real object implementing the target object using the same
US11983802B2 (en) Systems and methods for annotating a scene to include digital objects
TW201617937A (zh) 用於產生一影像之一互動索引碼圖之電子計算裝置、其方法及其電腦程式產品
CN114998508A (zh) 一种基于Dlib和OpenGL的视频人脸表情生成方法
TW201508549A (zh) 追蹤與記錄指尖軌跡的影像處理方法
CN108021331A (zh) 一种空隙消除方法、装置、设备及存储介质
JP2016110597A (ja) 情報処理システム、情報処理装置、座標変換方法およびプログラム
KR20140112323A (ko) 방향성 제스처 인식 방법 및 장치와 그 방법에 대한 프로그램 소스를 저장한 기록 매체
TW201435661A (zh) 虛擬觸控裝置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid