KR20180116466A - 추천을 위한 카메라 메타데이터의 사용 기법 - Google Patents

추천을 위한 카메라 메타데이터의 사용 기법 Download PDF

Info

Publication number
KR20180116466A
KR20180116466A KR1020187029885A KR20187029885A KR20180116466A KR 20180116466 A KR20180116466 A KR 20180116466A KR 1020187029885 A KR1020187029885 A KR 1020187029885A KR 20187029885 A KR20187029885 A KR 20187029885A KR 20180116466 A KR20180116466 A KR 20180116466A
Authority
KR
South Korea
Prior art keywords
image
module
feedback
user
camera
Prior art date
Application number
KR1020187029885A
Other languages
English (en)
Other versions
KR102379647B1 (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 KR20180116466A publication Critical patent/KR20180116466A/ko
Application granted granted Critical
Publication of KR102379647B1 publication Critical patent/KR102379647B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • G06Q30/0271Personalized advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • G06F17/30265
    • G06K9/00671
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Library & Information Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Studio Devices (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

다양한 예시적인 실시예에서, 추천을 행하기 위해 카메라 메타데이터를 사용하기 위한 시스템 및 방법이 제시된다. 카메라 메타데이터를 갖는 적어도 하나의 이미지 파일이 수신된다. 적어도 하나의 이미지 파일의 카메라 메타데이터는 적어도 하나의 이미지 파일과 연관된 이미지 캡처 양태에 대한 향상을 결정하도록 분석된다. 적어도 하나의 이미지 파일과 연계된 이미지 캡처 양태에 대한 향상에 관련된 피드백이 생성된다. 몇몇 실시예에서, 피드백은 카메라 및 다른 제품 업그레이드 추천을 발생하는데 사용될 수 있다.

Description

추천을 위한 카메라 메타데이터의 사용 기법{USE OF CAMERA METADATA FOR RECOMMENDATIONS}
우선권 주장
이 국제 출원은 본 명세서에 그대로 참조로서 합체되어 있는 2014년 7월 23일 출원된 미국 특허 출원 제 14/339,358호의 우선권 이익을 청구한다.
저작권 고지
본 특허 문서의 개시내용의 일부는 저작권 보호를 받게 되는 자료를 포함한다. 저작권 소유자는 미국 특허 상표청에 특허 파일 또는 기록으로 나타나 있기 때문에, 본 특허 문서 또는 특허 개시내용의 임의의 자에 의한 복사에 이의를 제기하지 않지만, 그렇지 않은 어떠한 경우에도 모든 저작권 권리를 보유한다. 이하의 고지는 본 문서의 부분을 형성하는 도면 및 이하에 설명되는 바와 같은 소프트웨어 및 데이터에 적용된다: 저작권 eBay Inc. 2014년, 판권 보유(All Rights Reserved).
기술분야
본 발명의 실시예는 일반적으로 전자 상거래(e-commerce)에 관한 것으로서, 더 구체적으로는 추천을 위한 카메라 메타데이터의 사용에 관한 것이나, 이에 국한되지 않는다.
온라인 상거래의 영역에서, 광범위한 제품이 인터넷을 통해 소비자에게 구매가능하다. 소비자는 검색 또는 브라우징 섹션을 거쳐, 하나 이상의 아이템을 식별하고 이들 아이템을 구매할 수 있다. 다양한 전자 상거래 시스템은 소비자가 제품 선택을 더 효율적으로 하는 것을 돕기 위해 자동화된 제품 추천 시스템을 전개한다.
첨부 도면 중 다양한 도면은 단지 본 발명의 예시적인 실시예를 예시하고 있고, 그 범주를 한정하는 것으로서 고려될 수 없다.
도 1은 예시적인 실시예에 따른, 고레벨 클라이언트-서버 기반 네트워크 아키텍처를 도시하고 있는 블록도이다.
도 2a는 예시적인 실시예에 따른, 네트워킹된 시스템의 예시적인 실시예를 도시하고 있는 블록도이다.
도 2b는 예시적인 실시예에 따른, 클라이언트 애플리케이션의 예시적인 실시예를 도시하고 있는 블록도이다.
도 3은 예시적인 실시예에 따른, 이미지 피드백 시스템을 도시하고 있는 블록도이다.
도 4a는 예시적인 실시예에 따른, Exif 파일 데이터 구성을 도시하고 있는 블록도이다.
도 4b는 사진을 위한 Exif 데이터의 예를 도시하고 있다.
도 4c는 WAV 파일로 발견된 Exif 데이터의 예를 도시하고 있다.
도 5는 예시적인 실시예에 따른, 이미지 캡처 디바이스를 도시하고 있는 블록도이다.
도 6은 예시적인 실시예에 따른, 이미지 분석 모듈을 도시하고 있는 블록도이다.
도 7 및 도 8은 예시적인 실시예에 따른, 이미지 파일과 연계된 이미지 캡처 양태에 대한 향상에 관한 피드백을 생성하기 위한 예시적인 방법을 도시하고 있는 흐름도이다.
도 9는 예시적인 실시예에 따른, 모바일 디바이스를 도시하는 블록도이다.
도 10은 예시적인 실시예에 따른, 기계가 본 명세서에 설명된 방법의 하나 이상을 수행하게 하기 위한 명령어 세트가 실행될 수 있는 컴퓨터 시스템의 형태의 기계의 개략적인 표현을 도시하고 있다.
이어지는 설명은 본 발명의 예시적인 실시예를 구체화하는 시스템, 방법, 기술, 명령어 시퀀스, 및 컴퓨팅 기계 프로그램 제품을 포함한다. 이하의 설명에서, 설명의 목적으로, 수많은 특정 상세가 본 발명의 요지의 다양한 실시예의 이해를 제공하기 위해 설명된다. 그러나, 본 발명의 요지의 실시예는 이들 특정 상세 없이 실시될 수 있다는 것이 당 기술 분야의 숙련자에게 명백할 것이다. 일반적으로, 공지의 명령어 인스턴스, 프로토콜, 구조, 및 기술은 반드시 상세히 개시되어 있지는 않다.
부가적으로, 후술된 다양한 예시적인 실시예는 마켓플레이스(marketplace) 환경에 초점을 맞추지만, 실시예는 단지 본 명세서에 명료화를 위해 제공된다. 따라서, 다양한 시스템 아키텍처를 포함하여, 임의의 유형의 전자 출판물, 전자 상거래, 소셜 네트워킹, 또는 전자 비즈니스 시스템 및 방법은 본 명세서에 설명된 시스템 및 방법의 다양한 실시예를 이용할 수 있고, 예시적인 실시예의 범주 내에 있는 것으로서 고려될 수 있다. 다양한 예시적인 실시예의 각각이 상세히 설명된다.
예시적인 실시예는 업로드된 이미지로부터 얻어질 수 있는 카메라 메타데이터에 기초하여 사용자에 피드백 또는 추천을 제공하기 위한 시스템 및 방법을 제공한다. 블로거, 핀터레스트(Pinterest) 사용자, 페이팔(PayPal) 사용자, 또는 이베이(eBay) 판매자와 같은 콘텐츠 공급자는 다양한 전자 출판물, 전자 상거래, 소셜 네트워킹, 또는 다른 비즈니스 시스템 내로 사진을 종종 업로드한다. 업로드된 사진에 대응하는 이미지 파일은 카메라 메타데이터를 포함할 수도 있다. 몇몇 실시예에서, 카메라 메타데이터는 날짜 및 시간 정보, 카메라 설정(카메라 모델 및 제조사), 및 배향(회전), 조리개(aperture), 셔터 속도, 초점 길이, 측광 방식(metering mode), 및 ISO 속도 정보와 같은 각각의 이미지에 따라 변동하는 정보와 같은 메타데이터 태그의 광범위한 스펙트럼을 커버하는 Exif 표준에 의해 규정될 수 있다. 이미지 파일로부터 인출되거나(retrieved) 추출된(extracted) 카메라 메타데이터는 미래 사진을 촬영할 때 향상을 결정하도록 분석될 수 있다. 예를 들어, 향상은 사진 촬영(사진술 또는 영상촬영술) 스킬, 카메라 설정의 사용 또는 사용자의 요구에 적합하는 카메라 제품 및 액세서리의 식별과 연계된 화상 캡처 양태에 관련된 수 있다. 부가의 실시예에서, 환경 또는 장면 조건에 관련된 콘텍스트 데이터(context data), 사진을 촬영하는 목적에 관련된 사용 정보, 또는 다른 메타데이터(예를 들어, 휴대폰으로부터의 GPS)와 같은 다른 이미지 데이터가 또한 이미지 파일을 분석하는데 사용될 수 있다. 분석된 데이터는 사용자에 피드백을 제공하는데 사용될 수 있다. 피드백은 사용자의 요구에 일치하는 더 적합한 특징을 갖는 카메라 모델, 또는 촬영된 사진의 품질을 향상시키는 것을 도울 수 있는 카메라 액세서리(예를 들어, 렌즈 및 필터)와 같은 제품 업그레이드를 위한 추천을 포함할 수 있다. 피드백은 특정 환경(예를 들어, 일시, 위치, 날씨 조건, 카메라가 지향하는 배향 또는 방향, 장면과 카메라 사이의 거리) 또는 목적(예를 들어, 결혼식 또는 스포츠 이벤트에서 촬영된 사진)을 위한 카메라 설정 조정에 관련된 코멘트를 또한 포함할 수 있다.
도 1을 참조하면, 고레벨 클라이언트-서버 기반 네트워크 아키텍처(100)의 예시적인 실시예가 도시되어 있다. 네트워크 기반 마켓플레이스 또는 지불 시스템의 예시적인 형태의 네트워킹된 시스템(102)은 네트워크(104)(예를 들어, 인터넷 또는 광대역 네트워크(WAN))를 거쳐 하나 이상의 클라이언트 디바이스(110)에 서버측 기능성을 제공한다. 도 1은 예를 들어, 웹 클라이언트(106)(예를 들어, 미국 워싱턴주 레드몬즈 소재의 Microsoft® Corporation에 의해 개발된 Internet Explorer® 브라우저와 같은 브라우저), 클라이언트 애플리케이션(들)(107), 및 클라이언트 디바이스(들)(110) 상에서 실행하는 프로그램 클라이언트(108)를 도시하고 있다. 클라이언트 디바이스(들)(110)는 웹 클라이언트(106), 클라이언트 애플리케이션(들)(107), 및 프로그램 클라이언트(108)를 단독으로, 함께, 또는 임의의 조합으로 포함할 수 있다. 도 1은 하나의 클라이언트 디바이스(110)를 도시하고 있지만, 다수의 디바이스 기계가 네트워크 아키텍처(100) 내에 포함될 수 있다.
클라이언트 디바이스(들)(110)는 적어도 디스플레이 및 네트워킹된 시스템(102)에 액세스하기 위한 네트워크(104)와의 통신 기능을 포함하는 컴퓨팅 디바이스를 포함할 수 있다. 클라이언트 디바이스(들)(110)는 원격 디바이스, 워크 스테이션, 컴퓨터, 범용 컴퓨터, 인터넷 기기, 핸드헬드 디바이스, 무선 디바이스, 휴대형 디바이스, 웨어러블 컴퓨터 또는 디바이스, 셀룰러폰 또는 휴대폰, 휴대형 디지털 어시스턴트(PDA), 스마트폰, 태블릿, 울트라북, 넷북, 랩탑, 데스크탑, 멀티-프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능 소비자 전자 기기, 게임 콘솔, 셋탑 박스, 네트워크 PC, 미니컴퓨터 등을 포함할 수 있지만, 이들에 한정되는 것은 아니다. 다른 실시예에서, 클라이언트 디바이스(들)(110)는 터치 스크린, 가속도계, 자이로스코프, 바이오메트릭 센서, 카메라, 마이크로폰, 글로벌 포지셔닝 시스템(GPS) 디바이스 등 중 하나 이상을 포함할 수 있다. 클라이언트 디바이스(들)(110)는 유선 또는 무선 접속을 거쳐 네트워크(104)와 통신할 수 있다. 예를 들어, 네트워크(104)의 하나 이상의 부분은 애드혹 네트워크(ad hoc network), 인트라넷(intranet), 익스트라넷(extranet), 가상 개인 네트워크(virtual private network: VPN), 근거리 네트워크(local area network: LAN), 무선 LAN(WLAN), 광대역 네트워크(wide area network: WAN), 무선 WAN(WWAN), 도시권 네트워크(metropolitan area network: MAN), 인터넷의 부분, 공중 전화 교환 네트워크(Public Switched Telephone Network: PSTN)의 부분, 휴대 전화 네트워크, 무선 네트워크, WiFi 네트워크, WiMax 네트워크, 다른 유형의 네트워크, 또는 2개 이상의 이러한 네트워크의 조합일 수 있다.
클라이언트 디바이스(들)(110)는 이들에 한정되는 것은 아니지만, 웹 브라우저, 메시징 애플리케이션, 전자 메일(이메일) 애플리케이션, 전자 상거래 사이트 애플리케이션(또한 마켓플레이스 애플리케이션이라 칭함) 등과 같은 하나 이상의 애플리케이션(또한 "앱"이라 칭함)을 포함할 수 있다. 예를 들어, 클라이언트 애플리케이션(들)(107)은 사용자에게 정보를 제시하고 네트워킹된 시스템(102)과 통신하도록 동작가능한 다양한 구성요소를 포함할 수 있다. 몇몇 실시예에서, 전자 상거래 사이트 애플리케이션이 클라이언트 디바이스(110) 중 소정의 하나 내에 포함되면, 이 애플리케이션은 로컬하게 이용가능하지 않은 데이터 또는 프로세싱 기능(예를 들어, 판매를 위해 이용가능한 아이템의 데이터베이스로의 액세스, 사용자를 인증하기 위해, 지불 방법을 검증하기 위해 등)에 대해, 필요에 따라, 네트워킹된 시스템(102)과 통신하도록 구성된 애플리케이션을 갖는 기능성의 적어도 일부 및 사용자 인터페이스를 로컬하게 제공하도록 구성될 수 있다. 역으로, 전자 상거래 사이트 애플리케이션이 클라이언트 디바이스(110) 중 소정의 하나 내에 포함되지 않으면, 클라이언트 디바이스(110)의 소정의 하나는 자신의 웹 브라우저를 사용하여 네트워킹된 시스템(102) 상에 호스팅된 전자 상거래 사이트(또는 그 변형예)에 액세스할 수 있다.
다양한 예시적인 실시예에서, 하나 이상의 사용자(105)는 사람, 기계, 또는 클라이언트 디바이스(들)(110)와 상호작용하는 다른 수단일 수 있다. 예시적인 실시예에서, 사용자(105)는 네트워크 아키텍처(100)의 부분이 아니지만, 클라이언트 디바이스(들)(110) 또는 다른 수단을 거쳐 네트워크 아키텍처(100)와 상호작용할 수 있다. 예를 들어, 사용자(105)는 사진 또는 비디오를 촬영하기 위한 카메라 또는 캠코더와 같은 이미지 캡처 디바이스(112)를 사용할 수 있다. 촬영된 사진 또는 비디오("이미지"라 총칭함)는 뷰잉 또는 추가의 프로세싱을 위해, 네트워크(104)를 통해 클라이언트 디바이스(110) 또는 네트워킹 시스템(102)으로 전달된 이들의 이미지 파일을 가질 수 있다. 몇몇 실시예에서, 이미지 캡처 디바이스(112)는 클라이언트 디바이스(110) 내에 임베드될 수 있다.
애플리케이션 프로그램 인터페이스(Application Program Interface: API) 서버(114) 및 웹 서버(116)가 하나 이상의 애플리케이션 서버(118)에 결합되어 프로그램 및 웹 인터페이스를 각각 이들 애플리케이션 서버에 제공한다. 애플리케이션 서버(118)는 하나 이상의 퍼블리케이션 애플리케이션(120) 및 지불 애플리케이션(122)을 호스팅할 수 있는데, 그 각각은 하나 이상의 모듈 또는 애플리케이션을 포함할 수 있고 그 각각은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로서 구체화될 수 있다. 애플리케이션 서버(118)는 이어서 하나 이상의 정보 저장 저장소 또는 데이터베이스(들)(126)로의 액세스를 용이하게 하는 하나 이상의 데이터베이스 서버(124)에 결합된 것으로 도시되어 있다. 예시적인 실시예에서, 데이터베이스(126)는 퍼블리케이션 시스템(120)에 포스팅될(예를 들어, 퍼블리케이션 또는 리스팅) 정보를 저장하는 저장 디바이스이다. 데이터베이스(126)는 또한 예시적인 실시예에 따른 디지털 상품 정보를 저장할 수 있다.
퍼블리케이션 시스템(들)(120)은 네트워킹된 시스템(102)에 액세스하는 사용자(105)에 다수의 퍼블리케이션 기능 및 서비스를 제공할 수 있다. 지불 시스템(들)(122)은 마찬가지로 지불 및 트랜잭션을 수행하거나 용이하게 하는 다수의 기능을 제공할 수 있다. 퍼블리케이션 시스템(120) 및 지불 시스템(들)(122)은 모두 네트워킹된 시스템(102)의 부분을 형성하는 것으로 도 1에 도시되어 있지만, 대안적인 실시예에서, 각각의 시스템(120, 122)은 네트워킹된 시스템(102)으로부터 분리되고 별개인 지불 서비스의 부분을 형성할 수 있다는 것이 이해될 수 있을 것이다. 몇몇 실시예에서, 지불 시스템(들)(122)은 퍼블리케이션 시스템(들)(120)의 부분을 형성할 수 있다. 예시적인 실시예에서, 퍼블리케이션 시스템(120)은 이미지 파일(또는 다양한 유형의 미디어 파일)을 분석하고 사용자(105)에 피드백을 제공하기 위한 시스템을 포함할 수도 있다. 사용자(105)로의 피드백은 이미지 캡처 디바이스(112) 또는 클라이언트 디바이스(110)와 같은 사용자 디바이스에 제공될 수 있다. 몇몇 실시예에서, 피드백은 사용자(105)가 퍼블리케이션 시스템(120)(예를 들어, 전자 상거래 시스템) 또는 지불 시스템(122)을 통해 구매할 수 있는 제품 추천을 포함할 수 있다.
또한, 도 1에 도시된 클라이언트-서버 기반 네트워크 아키텍처(100)는 클라이언트-서버 아키텍처를 이용하지만, 본 발명의 요지는 물론 이러한 아키텍처에 한정되는 것은 아니고, 예를 들어, 분산형, 또는 피어-투-피어 아키텍처 시스템에서 용례를 동등하게 양호하게 발견할 수 있다. 다양한 퍼블리케이션 시스템(120) 및 지불 시스템(122)은 또한 네트워킹 기능을 반드시 가질 필요는 없는 자립형 소프트웨어 프로그램으로서 구현될 수 있다.
웹 클라이언트(106)는 웹 서버(116)에 의해 지원된 웹 인터페이스를 거쳐 다양한 퍼블리케이션 및 지불 시스템(120, 122)에 액세스할 수 있다. 유사하게, 프로그램 클라이언트(108)는 API 서버(114)에 의해 제공된 프로그램 인터페이스를 거쳐 퍼블리케이션 시스템(120) 및 지불 시스템(122)에 의해 제공된 다양한 서비스 및 기능에 액세스한다. 프로그램 클라이언트(108)는 예를 들어, 판매자가 오프라인 방식으로 네트워킹된 시스템(102) 상에 리스팅을 작성하고 관리하고, 프로그램 클라이언트(108)와 네트워킹된 시스템(102) 사이의 배치-모드(batch-mode) 통신을 수행하는 것을 가능하게 하기 위한 판매자 애플리케이션(예를 들어, 미국 캘리포니아주 산호세 소재의 eBay® Inc.에 의해 개발된 Turbo Lister 애플리케이션)일 수 있다.
부가적으로, 제 3 파티 서버(들)(130) 상에서 실행하는 제 3 파티 애플리케이션(들)(128)이 API 서버(114)에 의해 제공된 프로그램 인터페이스를 거쳐 네트워킹된 시스템(102)으로의 프로그램 액세스를 갖는 것으로서 도시되어 있다. 예를 들어, 제 3 파티 애플리케이션(들)(128)은 네트워킹된 시스템(102)으로부터 인출된 정보를 이용하여, 제 3 파티에 의해 호스팅된 웹사이트 상의 하나 이상의 특징 또는 기능을 지원할 수 있다. 제 3 파티 웹사이트는 예를 들어 네트워킹된 시스템(102)의 관련 애플리케이션에 의해 지원되는 하나 이상의 프로모션, 마켓플레이스, 또는 지불 기능을 제공할 수 있다.
도 2a는 몇몇 실시예에 따른 네트워킹된 시스템(102) 내에 제공된 구성요소를 도시하고 있는 블록도를 도시하고 있다. 네트워킹된 시스템(102)은 서버 기계들 사이의 통신을 가능하게 하도록 통신가능하게 결합된 전용 또는 공유 서버 기계(도시 생략) 상에 호스팅될 수도 있다. 구성요소들은 서로에 대해 그리고 다양한 데이터 소스에 통신가능하게 결합되어(예를 들어, 적절한 인터페이스를 거쳐), 정보가 애플리케이션 사이에 통과되게 하거나 또는 애플리케이션이 공통 데이터를 공유하고 액세스하게 한다. 더욱이, 구성요소는 데이터베이스 서버(들)(124)를 거쳐 데이터베이스(126)의 하나 이상에 액세스할 수 있다.
네트워킹된 시스템(102)을 검색하는 것은 검색 엔진(210)에 의해 용이하게 된다. 예를 들어, 검색 엔진(210)은 네트워킹된 시스템(102)을 거쳐 퍼블리싱된 리스팅의 키워드 질의를 가능하게 한다. 예시적인 실시예에서, 검색 엔진(210)은 사용자(105)의 디바이스(예를 들어, 클라이언트 디바이스(110))로부터 키워드 질의를 수신하고 리스팅 정보를 저장하는 저장 디바이스(예를 들어, 데이터베이스(126))의 리뷰를 행한다. 리뷰는 분류되어 사용자의 클라이언트 디바이스(예를 들어, 클라이언트 디바이스(110))에 리턴될 수 있는 리스팅의 결과 세트의 컴파일을 가능하게 할 것이다. 검색 엔진(210)은 질의(예를 들어, 키워드) 및 임의의 후속의 사용자 동작 및 행동(예를 들어, 네비게이션, 선택, 또는 클릭 스루)을 기록할 수 있다.
검색 엔진(210)은 또한 사용자의 위치에 기초하여 검색을 수행할 수 있다. 예를 들어, 사용자는 모바일 디바이스를 거쳐 검색 엔진(210)에 액세스하고 검색 질의를 발생할 수 있다. 검색 질의 및 사용자의 위치를 사용하여, 검색 엔진(210)은 제품, 서비스, 오퍼, 경매 등에 대한 관련 검색 결과를 사용자에게 리턴할 수 있다. 검색 엔진(210)은 리스트 형태로 그리고 맵 상에 그래픽으로 모두로 관련 검색 결과를 식별할 수 있다. 맵 상의 그래픽 지시기의 선택은 선택된 검색 결과에 관한 부가의 상세를 제공할 수 있다. 몇몇 실시예에서, 사용자(105)는 검색 질의의 부분으로서, 검색 결과를 제한하기 위해 사용자(105)의 현재 위치로부터 반경 또는 거리를 지정할 수 있다. 몇몇 실시예에서, 사용자(105)는 다양한 카메라 제품에 관한 피드백을 수신할 수 있고, 검색 엔진(210)을 사용하여 다양한 카메라 제품을 검색할 수 있다. 다양한 실시예에서, 검색 엔진(210)은 카메라 메타데이터 또는 이미지와 연계된 다른 메타데이터 태그에 기초하여 이미지 파일을 검색하는데 사용될 수 있다.
다양한 실시예에서, 네트워킹된 시스템(102)은 이미지, 비디오, 또는 다른 미디어를 분석하기 위한 이미지 분석 엔진(230)을 포함할 수 있다. 이미지 분석 엔진(230)은 사용자를 위한 피드백을 생성할 수 있다. 피드백은 단독으로 또는 다른 유형의 정보 또는 데이터와 조합하여 카메라 메타데이터를 사용하여 발생될 수 있다. 카메라 메타데이터는 이미지에 대한 정보를 설명하고 제공하는 데이터의 세트를 칭한다. 디지털 카메라는 사진이 촬영될 때, 이미지의 캡처, 이미지 특성 등을 식별하는 카메라 메타데이터 정보를 임베드할 수 있다. 부가적으로, 사진가, 영상촬영가, 및 다른 사용자는 이미지를 위한 메타데이터를 향상할 수 있고, 예를 들어 정보는 저작권 정보 및 기술 정보와 같은 Exif 데이터에 추가될 수 있다.
다양한 실시예에서, 이미지 분석 엔진(230)은 다른 사용자 디바이스(예를 들어, 모바일 디바이스)와 연계된 다른 메타데이터와 함께 카메라 메타데이터(하나 이상의 이미지 파일의)를 분석할 수 있다. 다른 실시예에서, 이미지 분석 엔진(230)은 장면 조건 또는 환경 인자(예를 들어, 일시, 위치, 태양의 위치)를 결정하도록 이미지 파일의 콘텍스트를 분석할 수 있다. 또 다른 실시예에서, 이미지 분석 엔진(230)은 사진을 촬영하는 목적을 분석할 수 있다. 다양한 실시예에서, 이미지 분석 엔진(230)에 의해 발생된 피드백은 예를 들어, 이미지 파일 내에 임베드된 Exif 메타데이터, 다른 사용자 디바이스로부터의 다른 메타데이터, 이미지 콘텍스트 정보, 및 이미지 분석 엔진(230)에 의해 생성된(또는 이미지 분석 엔진(230)에 의해 인출되거나 그에 제공된) 이미지 사용 정보와 같은, 다수의 소스로부터 유도된 정보에 기초하여 이미지 파일을 분석할 수 있다. 달리 말하면, 이미지는 이미지 품질 또는 이미지의 구성을 결정하도록 분석될 수 있다. 몇몇 실시예에서, 이미지 분석 엔진(230)은 이하의 유형의 정보: 카메라 메타데이터, 다른 메타데이터, 이미지 콘텍스트, 및 사진의 목적 중 임의의 것에 기초하여 적어도 하나의 이미지 파일을 인덱싱할 수 있다.
예시적인 실시예에서, 메타데이터는 메타데이터 태그의 광범위한 스펙트럼: 날짜 및 시간 정보(디지털 카메라가 현재 데이터 및 시간을 기록하고 이를 메타데이터 내에 세이브할 수 있음); 카메라 설정(이는 카메라 모델 및 제조사와 같은 정적 정보, 및 배향(회전)과 같은 각각의 이미지에 따라 변동하는 정보); 조리개; 셔터 속도; 초점 길이; 측광 방식; 및 ISO 속도 정보를 커버하는 Exif 표준에 의해 규정될 수 있다. 메타데이터; 카메라의 LCD 스크린 상의, 파일 관리자 내의, 또는 포토 조작 소프트웨어 내의 사진을 프리뷰하기 위한 썸네일; 기술; 및 저작권 정보가 이미지를 발견하는 것을 돕는데 사용될 수 있다. 다양한 실시예에서, Exif는 JPEG 사양에 합치하여 JPEG 내로 카메라 메타데이터(썸네일 이미지를 포함함)의 일부를 삽입한다. 사용자는 이어서 JPEG 대응 인터넷 브라우저, 사진 뷰어, 포토 리터치 소프트웨어 등을 사용하여 JPEG 이미지 파일로서 Exif 포맷 이미지 파일을 뷰잉할 수 있다. Exif 데이터는 이미지 파일 자체 내에 임베드될 수 있고, 또한 이미지 파일로부터 파싱되거나(parsed) 추출될 수 있다. 예를 들어, 소프트웨어 라이브러리(C를 위한 libexif, C++을 위한 Adobe XMP 툴킷 또는 Exiv2, 자바를 위한 Metadata Extractor, 또는 펄을 위한 Image ExifTool)가 이미지 파일로부터 Exif 데이터를 파싱하고 Exif 태그값을 판독/기록할 수 있다.
예시적인 실시예에서, 피드백은 미리 촬영된 사진에 대응하는 하나 이상의 이미지 파일에 기초하여 미래의 사진 촬영의 다양한 양태를 향상하는 것에 관련될 수 있다. 몇몇 실시예에서, 피드백은 위치 또는 일시에 기초하여 광을 제어하는 것(자연광에서 촬영할 때)에 관련될 수 있다. 다른 예에서, 피드백은 카메라 설정(예를 들어, 조리개 크기와 같은 카메라 노출 설정, ISO, 셔터 속도 및 화이트 밸런스)에 관련될 수 있다. 또 다른 예에서, 피드백은 단일의 이미지 파일 또는 이미지 파일의 그룹의 분석에 기초할 수 있다. 다른 예에서, 피드백은 즉시 또는 사용자가 여전히 사진 촬영을 하는 동안에 사용자에 제공될 수 있어 사용자는 사용자가 특정 세션, 위치, 또는 이벤트 중에 촬영하는 사진의 이미지 품질을 향상시킬 수 있게 된다. 부가의 예에서, 피드백은 카메라 또는 액세서리(예를 들어, 렌즈, 필터 등)를 업그레이드하기 위한 제품 추천을 제공할 수 있다. 사용자 피드백(추천을 포함함)은 네트워킹된 시스템(102)과 통신하는 클라이언트 디바이스 또는 이미지 캡처 디바이스(112)를 포함할 수 있는 뷰잉 디바이스 상에 표시될 수 있다.
다양한 실시예에서, 피드백은 카메라 메타데이터, 다른 메타데이터(예를 들어, 다른 디바이스로부터 또는 사용자에 의해 추가된), 콘텍스트 정보(예를 들어, 환경 또는 장면 조건에 관련된), 또는 사진을 촬영하는 사용자의 목적(예를 들어, 생일 파티, 결혼식, 휴가, 스포츠 이벤트와 같은 특정 이벤트)과 같은 정보 유형의 하나 또는 조합을 사용하여 발생할 수 있다.
예에서, 이미지 분석 엔진(230)은 야간에 서쪽으로 카메라를 지향하는 동안, 그리고 표준 렌즈를 사용하여, 사진이 플래시로 촬영되었다고 판정한다. 이 정보는 카메라 메타데이터 및 콘텍스트 정보로부터 유도될 수 있다. 더욱이, 이미지 분석 엔진(230)은 GPS 정보(또한 사용자 디바이스로부터의 "다른 메타데이터"라 칭함)에 기초하여, 사진이 촬영되었을 때 날씨 조건이 청명하고 흐리지 않았다고 판정한다. 이미지 분석 엔진(230)은 또한 사진의 구성이 렌즈 메타데이터 및 사진 내의 비행기의 크기에 기초하여 멀리 이격되어 있는 비행기를 포함한다고 또한 판정할 수 있다. 이미지 분석 엔진(230)은 사용자 정보(사용자 입력, 임의의 수의 소스로부터 유도되거나 인출된 다른 정보에 의해 제공된)에 기초하여, 사용자가 파리에서 휴가중이라고 판정할 수 있다. 다양한 실시예에서, 이미지 분석 엔진(230)은 다양한 소스로부터 정보를 수신할 수 있고, 수신된 정보에 기초하여 정보를 또한 유도할 수 있다. 예를 들어, 카메라 메타데이터에 기초하여, 이미지 분석 엔진(230)은 사진이 어디서 촬영되었는지 그리고 무엇을 촬영하였는지를 판정하고, 다른 메타데이터(예를 들어, GPS 데이터)에 기초하여, 파리에서 야간에, 샌프란시스코에서 아침에, 동쪽으로부터 촬영된 사진, 폭풍우 날씨, 일시 등과 같은 다른 정보를 추출할 수 있다.
피드백을 생성할 때, 이미지 분석 엔진(230)은 (1) 사진을 촬영하는데 사용된 이미지 캡처 디바이스(예를 들어, 이미지 캡처 디바이스(112))가 이 유형의 사진을 위해 적합한 줌 렌즈를 갖지만, 사용자가 렌즈를 최적으로 또는 적절하게 주밍하지 않았음; (2) 사용된 이미지 캡처 디바이스가 줌 렌즈를 포함하지 않았음; 및 (3) 사용자가 사진이 촬영되었을 때의 당시 조건에 적절한 카메라 설정을 사용하지 않았다는 관점으로부터 사진이 불량 사진이었음과 같은 다양한 인자를 고려할 수 있다.
이미지 분석 엔진(230)이 고려할 수 있는 다른 인자는 사진을 촬영하는 목적(또한 "사용 정보"라 칭함)이다. 예를 들어, 사진을 촬영하는 목적이 전자 상거래 사이트에서 제품을 판매하는 것이면, 이미지 분석 엔진(230)은 잠재적인 구매자가 판매를 위해 오퍼된 제품을 적절하게 보고 평가하기에는 사진이 너무 밝거나 너무 어둡다는 피드백을 제공할 수 있다. 예를 들어, 이미지 분석 엔진(230)은 미래에 촬영될 사진의 이미지 품질에 대한 향상에 관련된 피드백을 사용자에게 제공할 수 있다. 예로서, 사용자로의 피드백은 (1) 사용자의 카메라에 줌 렌즈를 사용하고; (2) 사용자가 동쪽을 바라보고 있기 때문에 플래시를 턴업하고; (3) 카메라 설정의 하나 이상을 조정하고; (4) 더 강력한 플래시를 사용하고; (5) 더 소프트한 플래시를 사용하는 등을 하도록 사용자에게 추천할 수 있다.
다른 예에서, 네비게이션 엔진(220)은 그에 따라 리스팅이 네트워킹된 시스템(102) 내에서 분류될 수 있는 다양한 카테고리, 카탈로그, 또는 재고 데이터 구조를 통해 사용자를 네비게이팅할 수 있다. 예를 들어, 네비게이션 엔진(220)은 특정 리스팅의 세트가 도달할 때까지 사용자가 카테고리의 계층을 포함하는 카테고리 트리(예를 들어, 카테고리 트리 구조)를 연속적으로 네비게이팅 다운하게 할 수 있다. 네비게이션 엔진(220) 내에서 다양한 다른 네비게이션 애플리케이션이 검색 및 브라우징 애플리케이션을 보충하도록 제공될 수 있다. 예를 들어, 네비게이션 엔진(220)은 사용자가 이미지 분석 엔진(230)에 의해 추천된 다양한 카메라 제품 및 액세서리, 뿐만 아니라 다른 제품 또는 서비스를 브라우징할 수 있게 한다. 네비게이션 엔진(220)은 또한 이미지 파일 또는 다른 미디어 파일을 브라우징하는데 사용될 수 있다. 네비게이션 엔진(220)은 카테고리 트리를 네비게이팅 다운하기 위해 사용자에 의해 수행된 다양한 사용자 동작(예를 들어, 클릭)을 기록할 수 있다.
도 2b는 추천된 아이템을 포함하는 피드백을 사용자에게 제시하도록 동작가능한 다수의 기능을 제공할 수 있는 클라이언트 애플리케이션(들)(107)의 블록도이다. 예시적인 실시예에서, 클라이언트 애플리케이션(들)(107)은 사용자 인터페이스 모듈(240), 통신 모듈(250), 및 로직 모듈(260)을 포함할 수 있다. 모듈(240 내지 260)의 모두 또는 일부는 예를 들어, 네트워크 결합, 공유 메모리 등을 거쳐 서로 통신할 수 있다. 각각의 모듈은 단일 모듈로서 구현될 수 있고, 다른 모듈과 조합될 수 있고, 또는 다수의 모듈로 더 세분될 수 있다는 것이 이해될 수 있을 것이다. 예시적인 실시예에 속하지 않는 다른 모듈이 또한 포함될 수 있지만, 도시되어 있지는 않다.
사용자 인터페이스 모듈(240)은 사용자(105)와 같은 사용자로부터 정보를 상호작용식으로 제시하고 수신하도록 동작가능한 다양한 사용자 인터페이스 기능을 제공할 수 있다. 예를 들어, 사용자 인터페이스 모듈(240)은 사용자에 추천된 아이템 리스팅, 뿐만 아니라 다른 피드백을 사용자에게 제시할 수 있다. 제시된 추천된 아이템은 사진 또는 다른 미디어 파일의 하나 이상의 이미지 파일에 기초하여 사진의 다양한 양태를 향상하는 것에 관련된 발생된 피드백에 기초할 수 있다. 정보는 정보를 시각적으로 표시하는 것 및 다른 디바이스 출력(예를 들어, 오디오, 촉각 등)을 사용하는 것을 포함하는 다양한 수단을 사용하여 제시될 수 있다. 유사하게, 정보는 문자숫자식 입력 또는 다른 디바이스 입력(예를 들어, 하나 이상의 터치 스크린, 카메라, 촉각 센서, 라이트 센서, 적외선 센서, 바이오메트릭 센서, 마이크로폰, 자이로스코프, 가속도계, 및 다른 센서)을 포함하는 다양한 수단에 의해 수신될 수 있다. 사용자 인터페이스 모듈(240)은 본 명세서에 설명된 기능성을 용이하게 하기 위해 다수의 다른 사용자 인터페이스를 제공할 수 있다는 것이 이해될 수 있을 것이다. 제시는 통신된 정보를 사용하여 제시를 수행하도록 동작가능한 기능성을 갖는 다른 디바이스에 정보를 통신하는 것을 포함하도록 의도된다.
통신 모듈(250)은 클라이언트 디바이스(110)를 위한 다양한 통신 기능성을 제공할 수 있다. 예를 들어, 네트워킹된 시스템(102), 데이터베이스 서버(124), 제 3 파티 서버(130), 및 이미지 캡처 디바이스(112)와 통신하는 것과 같은 네트워크 통신이 제공될 수 있다. 다양한 예시적인 실시예에서, 네트워크 통신은 통신 기능성을 제공하도록 임의의 유선 또는 무선 수단을 통해 동작할 수 있다. 웹 서비스는 제 3 파티 서버(130) 및 애플리케이션 서버(118)로부터 정보를 인출하는 것을 포함하도록 의도된다. 통신 모듈(250)에 의해 인출된 정보는 사용자(105)와 연계된 데이터(예를 들어, 온라인 계정으로부터 사용자 프로파일 정보, 사용자(105)와 연계된 소셜 네트워킹 데이터), 아이템과 연계된 데이터(예를 들어, 아이템의 이미지, 아이템의 리뷰), 및 다른 데이터를 포함한다.
로직 모듈(260)은 클라이언트 애플리케이션(들)(107)의 동작을 용이하게 하기 위한 다양한 로직을 제공할 수 있다. 예를 들어, 사용자 인터페이스 모듈(240)에 의해 수신된 사용자 입력을 분석하기 위한 로직 및 사용자 입력에 기초하여 동작을 결정하기 위한 로직이 로직 모듈(260)에 의해 제공될 수 있다. 로직 모듈(260)은 광범위한 애플리케이션 로직을 수행할 수 있다. 예시적인 실시예에서, 로직 모듈(260)은 메타데이터를 액세스하고, 발생하거나, 또는 클라이언트 디바이스(110)로부터 이미지 분석 엔진(230)에 제공할 수 있다.
도 3은 다양한 실시예에 따른 하나 이상의 이미지 파일을 캡처하고 분석하는 것에 기초하는 이미지 피드백 시스템(300)을 도시하고 있다. 이미지 피드백 시스템(300)은 이미지 캡처 디바이스(112), 이미지 분석 엔진(230), 및 뷰잉 디바이스(360)를 포함한다. 뷰잉 디바이스(360)는 클라이언트 디바이스(110)를 표현할 수 있고 또는 이미지 캡처 디바이스(112)로부터 뷰잉을 표현할 수 있다. 모듈의 모두는 예를 들어 네트워크 결합, 공유 메모리 등을 거쳐 서로 통신할 수 있다. 각각의 모듈은 단일 모듈로서 구현될 수 있고, 다른 모듈과 조합될 수 있고, 또는 다수의 모듈로 더 세분될 수 있다는 것이 이해될 수 있을 것이다. 예시적인 실시예에 속하지 않는 다른 모듈이 또한 포함될 수 있지만, 도시되어 있지는 않다.
몇몇 실시예에서, 이미지 캡처 디바이스(112)는 도 4a에 도시된 바와 같이, Exif 파일 포맷을 사용하는 카메라(디지털 카메라와 같은)일 수 있다. 대안 실시예에서, 이미지 캡처 디바이스(112)는 모바일 디바이스(예를 들어, 도 9에 도시된 모바일 디바이스(900)) 또는 컴퓨팅 디바이스(예를 들어, 도 10에 도시된 컴퓨팅 디바이스) 내에 통합될 수 있다. 다른 실시예에서, 이미지 캡처 디바이스(112)는 이미지 또는 다른 형태의 미디어를 캡처할 수 있는 다른 유형의 디바이스(예를 들어, 스캐닝 디바이스, 비디오, 및 오디오 레코딩 디바이스)를 포함할 수 있다. Exif 파일 포맷 이외의 부가의 파일 포맷이 이미지 파일 또는 다른 미디어 파일과 연계된 카메라 메타데이터를 임베드하거나 제공하는데 사용될 수 있다. 다수의 설명된 실시예는 용어 "이미지 파일"을 사용하고 있지만, 다른 실시예는 다른 유형의 미디어 파일을 사용할 수 있다. 이미지 캡처 디바이스(112)의 예가 도 5에 도시되어 있고, 후술될 것이다.
이미지 분석 엔진(230)은 예시적인 실시예에 따른, 통신 모듈(330), 이미지 분석 모듈(340), 및 피드백 모듈(350)을 포함한다. 통신 모듈(330)은 이미지 분석 엔진(230)을 위한 다양한 통신 기능성을 제공할 수 있다. 예를 들어, 이미지 캡처 디바이스(112), 클라이언트 디바이스(110), 및 제 3 파티 서버(130)와 통신하는 것과 같은 네트워크 통신이 제공될 수 있다. 다양한 예시적인 실시예에서, 네트워크 통신은 통신 기능성을 제공하기 위해 임의의 유선 또는 무선 수단을 통해 동작할 수 있다. 웹 서비스는 제 3 파티 서버(130) 및 애플리케이션 서버(118)로부터 정보를 인출하는 것을 포함하도록 의도된다. 통신 모듈(330)에 의해 인출된 정보는 사용자(105)와 연계된 데이터(예를 들어, 온라인 계정으로부터 사용자 프로파일 정보, 사용자(105)와 연계된 소셜 네트워킹 데이터), 아이템과 연계된 데이터(예를 들어, 아이템의 이미지, 아이템의 리뷰), 이미지 파일을 분석하는 것과 연계된 데이터(예를 들어, 카메라 메타데이터, 다른 사용자 디바이스로부터 다른 메타데이터, 이미지 콘텍스트 정보, 이미지 사용 정보, 및 다른 사용자 제공된 데이터), 및 다른 데이터를 포함한다.
예시적인 실시예에서, 이미지 분석 엔진(230)은 이미지 캡처 디바이스(112)로부터, 카메라 메타데이터를 포함하는 이미지 파일을 수신한다. 몇몇 실시예에서, 이미지 캡처 디바이스(112)는, 이미지 분석 엔진(230)에 의해 발생된 피드백이 이미지 캡처 디바이스(112)에 제공되도록 뷰잉 디바이스(360)로서 또한 동작할 수 있다. 다른 실시예에서, 이미지 분석 엔진(230)은 뷰잉 디바이스(360)에 피드백을 제공한다. 뷰잉 디바이스(360)의 예는 사용자의 모바일 디바이스 또는 사용자의 컴퓨팅 디바이스(예를 들어, 데스크탑, 랩탑 등)일 수 있는 클라이언트 디바이스(110)(도 1에 도시됨)이다. 뷰잉 디바이스(360)를 거쳐 뷰잉된 피드백은 사진의 하나 이상의 이미지 파일(또는 다른 미디어 파일)을 분석하는 것에 기초하여 미래 사진(또는 비디오)을 촬영하는 다양한 양태를 향상하는 것에 관련될 수도 있다. 몇몇 실시예에서, 피드백은 위치 또는 일시에 기초하여 광을 제어하는 것(자연광에서 촬영할 때)에 관련될 수 있다. 다른 예에서, 피드백은 카메라 설정(예를 들어, 조리개 크기와 같은 카메라 노출 설정, ISO, 셔터 속도 및 화이트 밸런스)에 관련될 수 있다. 또 다른 예에서, 피드백은 단일의 이미지 파일 또는 이미지 파일의 그룹의 분석에 기초할 수 있다. 다른 예에서, 피드백은 즉시 또는 사용자가 여전히 사진 촬영을 하는 동안에 사용자에 제공될 수 있어 사용자는 사용자가 특정 세션, 위치, 또는 이벤트 중에 촬영하는 사진의 이미지 품질을 향상시킬 수 있게 된다. 부가의 예에서, 피드백은 카메라 또는 액세서리(예를 들어, 렌즈, 필터)를 업그레이드하기 위한 제품 추천을 제공할 수 있다. 사용자 피드백(추천을 포함함)은 네트워킹된 시스템(102)과 통신하는 클라이언트 디바이스 또는 이미지 캡처 디바이스(112)를 포함할 수 있는 뷰잉 디바이스(360) 상에 표시될 수 있다.
피드백은 이후의 시간에 실시간으로 제공될 수 있다(예를 들어, 소프트웨어 향상 뷰어를 사용하여 사진을 뷰잉할 때). 피드백은 촬영된 개별 사진 또는 촬영된 사진의 집합에 기초할 수 있다. 다양한 예가 이하에 제공된다:
예 1: 피드백은 니콘 쿨픽스(Nikon Coolpix) 700 카메라를 더 신모델로 업그레이드하거나 구매하는 추천을 포함할 수 있다. 사용자로의 피드백은 "$300에 당신의 카메라를 업그레이드할 수 있습니다"와 같은 가격 정보를 포함할 수 있다.
예 2: 피드백은 해변에서 아이들의 사진을 촬영하는 사용자에 실시간 또는 거의 실시간 피드백을 제공할 수 있다. 피드백은 해변에서 부가의 사진을 촬영할 때 사용자가 에프-스톱(f-stop)과 관련된 카메라 설정을 조정하는 것을 추천할 수 있다.
예 3: 스키 여행에서 촬영된 사진의 피드백은 스키 여행 사진이 모두 흔들리는 것을 사용자에게 지시할 수 있다.
예 4: 스포츠 게임에서 촬영된 인-모션(in-motion) 사진에 대한 피드백은 고속 카메라로 업그레이드하라고 추천할 수 있다.
예 5: 신용카드, 예금 수표, 운전면허증, 홀로그램, 반사 실버 페인트, 및 모바일 지불 시스템에 사용되는 다른 아이템을 촬영하는 페이팔 사용자로의 피드백은 숫자 7이 숫자 3처럼 보인다고 지시할 수 있다.
예 6: 피드백은 특정 카메라에 고유할 수 있다. 예를 들어, 캐논 카메라로 촬영된 사진은 엷은 누르스름한 빛깔(yellowish tinge)을 갖는다. 다양한 유형의 피드백을 제공함으로써, 사용자는 미래에 그 또는 그녀가 어떻게 사진을 촬영할 것인지를 조정할 수 있다.
예 7: 피드백은 야구경기에서 경기장에서 촬영된 사진에 기초할 수 있다. 이미지 분석 엔진(230)은 사용자가 많은 스포츠 사진을 촬영하였다고 판정할 수 있고, 부가의 필터를 구매하는 것을 추천하도록 피드백을 제공할 수 있다.
예 8: 이미지 분석 엔진(230)은 사용자가 아침에 많은 사진을 촬영하였다고 판정할 수 있고, UV 필터를 구매하는 것을 추천하도록 피드백을 제공할 수 있다.
예 9: 이미지 분석 엔진(230)은 다른 메타데이터(예를 들어, 웨어러블 디바이스 또는 휴대폰)에 기초하여 사용자가 움직이는 동안에(예를 들어, 사이클링) 사진을 촬영하였다고 판정할 수 있고, 감소된 움직임 흐려짐을 갖는 적합한 카메라를 추천할 수 있다.
몇몇 실시예에서, 뷰잉 디바이스(360)는 제품 추천과 같은 피드백을 뷰잉하고, 이어서 추천된 제품을 브라우징하거나 구매하도록 진행하는데 사용될 수 있다.
예시적인 실시예에서, 이미지 분석 모듈(340)은 예를 들어, 카메라 메타데이터, 다른 사용자 디바이스로부터의 다른 메타데이터, 이미지 콘텍스트 정보, 이미지 목적 정보, 다른 사용자 제공된 데이터 등과 같은 다양한 데이터를 사용하여 이미지 파일을 분석한다. 이미지 분석 모듈(340)의 예시적인 실시예가 도 6에 도시되어 있다. 일단 다양한 소스로부터의 데이터가 분석되면, 피드백 모듈(350)은 피드백을 생성하고, 이 피드백은 이어서 통신 모듈(330)을 통해, 몇몇 실시예에서 뷰잉 디바이스(360)로, 또는 다른 실시예에서 이미지 캡처 디바이스(112)로 통신된다.
도 4a는 이미지 파일을 위한 Exif 포맷의 예를 도시하고 있다. Exif(Exchangeable Image File Format)는 캡처, 이미지 특성 등에 대한 기술적 메타데이터를 저장한다. 다수의 디지털 카메라는 Exif 데이터라 칭하는 카메라 메타데이터를 이들이 생성하는 이미지 파일로 임베드하는(주로 JPEG 및 TIFF 포맷으로) 기능을 갖는다. Exif의 주 특징은 캡처의 점에서 이미지 파일 내에 카메라 정보를 기록하는 것이다. Exif는 JCIA(Japan Camera Industry Association)에 의해 수립된 표준이고, 현재 JEITA(Japan Electronics and Information Technology Industries Association)에 의해 관리되고 CIPA(Japan Camera Industry Association)에 의해 장려된다.
Exif 파일 데이터 구성(400)은 헤더(410), 썸네일(420), 및 주 이미지 데이터(430)를 포함한다. 카메라 메타데이터는 예시적인 실시예에서, Exif 파일 데이터 구성(400)을 사용하는 Exif 데이터라 칭할 수 있다. 헤더(410)는 이미지를 캡처링하는 점에서 이미지 파일 내에 임베드될 수 있는 카메라 메타데이터(또한 "기술적 메타데이터"라 칭함)를 저장한다. 카메라 메타데이터는 이미지 파일 내에 카메라 정보를 기록한다. 일 예에서, 헤더(410)는 카메라 메타데이터를 저장하기 위한 이하의 데이터 필드: 카메라 제조사 및 모델, 그 시리얼 넘버, 이미지 캡처의 날짜 및 시간, 셔터 속도, 조리개, 사용된 렌즈, ISO 속도 설정, 화이트 밸런스, 피사체로의 거리, 및 다른 기술적 상세 중 하나 이상을 포함한다. Exif 파일 데이터 포맷(400)은 단일의 이미지 파일 내에 저장된 기술적 및 주 이미지 데이터(헤더(410) 및 주 이미지 데이터(430) 각각에 의해 표현됨)와 함께 썸네일(420)을 또한 포함할 수 있다.
Exif는 다수의 디지털 카메라(스마트폰을 포함함), 스캐너, 및 다지털 카메라에 의해 기록된 이미지 및 사운드 파일을 핸들링하는 다른 시스템에 의해 사용되는 이미지, 사운드, 및 보조 태그를 위한 포맷을 지정하는 표준이다. 사양은 특정 메타데이터 태그의 추가에 의해 기존의 파일 포맷을 사용한다. 표준은 Exif 이미지 파일 사양 및 Exif 오디오 파일 사양을 포함한다.
Exif 포맷은 위치 정보를 위한 표준 태그를 갖는다. 다수의 카메라 및 휴대폰은 사진이 촬영될 때 Exif 헤더(410) 내에 위치 정보를 저장하는 내장형 GPS 수신기를 갖는다. 몇몇 다른 카메라는 플래시 커넥터 또는 핫슈(hot shoe) 내에 끼워지는 개별 GPS 수신기를 갖는다. 기록된 GPS 데이터는 또한 핸드헬드 GPS 수신기로부터 GPS 기록과 포토그래프의 타임 스탬프를 상관함으로써 또는 맵 또는 맵핑 소프트웨어를 사용하여 자동으로, 컴퓨터 상의 임의의 디지털 포토그래프에 추가될 수 있다. 포토그래프에 지리학적 정보를 추가하는 프로세스는 "지오태깅(geo-tagging)"이라 칭한다. Exif 태그는 사진이 GPS 기능 카메라로 촬영되면, 사진이 촬영된 정확한 위치 및 시간, 디바이스의 고유 ID 번호가 인지되도록(일반적으로 디폴트에 의해) 사진에 대한 메타데이터를 포함한다.
도 4b는 통상의 디지털 카메라로 촬영된 사진을 위한 Exif 데이터의 예를 도시하고 있다. 테이블(450)은 카시오(Casio) QV-4000 카메라로 촬영된 사진으로부터 카메라 메타데이터를 표현한다. 테이블(450)은 값(452)과 연계된 태그(451)를 포함한다. 이들 필드의 대부분은 카메라의 출력 내에 제공된다. 저자 및 저작권 정보의 고지와 같은 몇몇 필드가 프로세싱의 이후의 스테이지 중에 기입될(filled in)(사용자에 의해) 수 있다. 다양한 다른 실시예에서, 다른 태그(451)가 포함될 수 있고, 또는 태그(451)의 일부가 생략된다.
Exif 사양은 WAV 오디오 파일을 위해 사용된 RIFF 파일 포맷을 또한 기술하고, 이들 파일 내에 예술가, 저작권, 창작 등과 같은 메타데이터를 저장하기 위한 다수의 태그를 형성한다. 도 4c는 WAV 파일로 발견된 Exif 데이터의 예를 도시하고 있다. 테이블(460)은 펜탁스(Pentax) Optio WP 디지털 카메라로부터 기록된 카메라 메타데이터를 표현한다. 테이블(460)은 태그(461) 및 연계된 값(462)을 포함한다. 다양한 다른 실시예에서, 다른 태그(461)가 포함될 수 있고, 또는 태그(461)의 일부가 생략된다.
도 5는 이미지 캡처 디바이스(112)의 예시적인 실시예를 도시하고 있다. 이미지 캡처 디바이스(112)는 예시적인 실시예에서 정지 화상 및 동화상(예를 들어, 비디오)의 모두를 취득하도록 구성될 수 있다. 이미지 캡처 디바이스(112)는 이미지 캡처 모듈(510), 장면 조건 센서(520), 사용자 입력 모듈(530), 저장 장치(540), 이미지 프로세싱 모듈(550), 디스플레이 모듈(560), 및 접속성 모듈(570)을 포함한다. 이미지 캡처 디바이스(112)는 예시적인 실시예에서 디지털 카메라를 표현할 수 있다. 이미지 캡처 디바이스(112)는 다른 예시적인 실시예에서 모바일 디바이스(예를 들어, 도 9에 도시된 모바일 디바이스(900) 또는 도 10에 도시된 다른 컴퓨팅 디바이스) 내에 통합될 수 있다. 모듈의 모두는 예를 들어 네트워크 결합, 공유 메모리 등을 거쳐 서로 통신할 수 있다. 각각의 모듈은 단일 모듈로서 구현될 수 있고, 다른 모듈과 조합될 수 있고, 또는 다수의 모듈로 더 세분될 수 있다는 것이 이해될 수 있을 것이다. 예시적인 실시예에 속하지 않는 다른 모듈이 또한 포함될 수 있지만, 도시되어 있지는 않다.
이미지 캡처 모듈(510)은 렌즈(511), 하나 이상의 이미지 센서(512), 및 광(501)을 캡처하여 전기 신호로 변환하기 위한 플래시(513)를 포함할 수 있다. 사용자 입력(502)이 사용자 입력 모듈(530)을 거쳐 이미지 캡처 디바이스(112)에 의해 수신된다. 사용자 입력(502)은 사진을 촬영하기 위해 셔터 버튼을 줄곧 아래로 누름으로써 수신될 수 있다. 예로서, 이미지 센서(들)(512)는 상보적 금속 산화물 실리콘(CMOS) 이미지 센서 또는 하전 결합 소자(CCD) 센서를 포함할 수 있다. 일반적으로, 이미지 센서(들)(512)는 화소의 어레이를 갖는 집적 회로를 포함하고, 각각의 화소는 광을 감지하기 위한 광검출기를 포함한다. 이미지 센서(들)(512)는 컬러 정보를 캡처하기 위해 이미지 센서(들)(512)의 화소 어레이를 오버레이할 수 있는 도 5에는 도시되지 않은 컬러 필터 어레이(color filter array: CFA)를 포함할 수 있다. 이와 함께, 광검출기 및 컬러 필터 어레이는 캡처된 이미지를 대표할 수 있는 이미지 캡처 디바이스(112)를 통해 캡처된 광에 관하여 파장 및 강도 정보의 모두를 제공할 수 있다.
저장 장치(540)는 특정 유형의 이미지 캡처 디바이스(112)에 따라, 하나 이상의 유형의 데이터 저장 매체를 포함할 수 있다. 예를 들어, 저장 장치(540)는 랜덤 액세스 메모리와 같은 고정식 휘발성 및 비휘발성 메모리, 플래시 메모리와 같은 이동식 비휘발성 저장 장치, 또는 광학 또는 자기 디스크 드라이브와 같은 대용량 저장 장치를 포함할 수 있다. 저장 장치(540)는 다양한 카메라 기능을 구현하는 다수의 프로그램 모듈을 또한 포함할 수 있다. 저장 장치(540)는 이미지 캡처 모듈(510)로부터 원시 이미지 데이터 및 이미지 프로세싱 모듈(550)로부터 프로세싱된 이미지 데이터를 포함하여, 이미지 데이터(541)를 저장할 수 있다. 저장 장치(540)는 카메라 메타데이터 및 썸네일을 포함하는 메타데이터(542)를 또한 포함할 수 있다. 저장 장치(540)는 장면 조건 센서(520)에 의해 검출된 데이터를 표현할 수 있는 이미지 통계 데이터(도시 생략)를 또한 포함할 수 있다. 저장 장치(540)는 사용자 입력(502) 및 피드백(504)으로부터 수신된 다른 데이터를 또한 포함할 수 있다.
이미지 프로세싱 모듈(550)은 결함 화소 검출/보정, 렌즈 공유 보정, 디모자이킹(demosaicing), 이미지 선명화(image sharpening), 노이즈 감소, 감마 보정, 이미지 향상, 컬러-공간 변환, 이미지 압축, 이미지 스케일링 동작 등과 같은 다양한 프로세싱 단계를 수행할 수 있다. 이미지 프로세싱 모듈(550)은 이미지 캡처 모듈(510)로부터 원시 이미지 데이터를 수신할 수 있는 이미지 신호 프로세서(image signal processor: ISP)(551)를 포함할 수 있다. ISP(551)는 원시 이미지 데이터에 하나 이상의 이미지 프로세싱 동작을 수행하고, 뿐만 아니라 이미지 데이터에 대한 통계를 수집할 수 있다. ISP(551)는 이미지 데이터(541) 및 메타데이터(542)를 저장하는 저장 장치(540)로부터 화소 데이터를 수신할 수 있다. 다양한 실시예에서, Exif 파일 데이터 구성(400)이 사용될 수 있다. ISP(551)의 주 역할 중 하나는 각각의 화소에 대한 RGB를 보간하기 위해 디모자이킹을 수행하는 것이다. ISP(551)의 다른 역할은 오토포커스, 자동 밝기조절, 및 오토 화이트밸런스를 포함한다. ISP(551)는 또한 렌즈 셰이딩, 기하학/왜곡, 및 비네팅(vignetting)과 같은 렌즈 불완전성을 보정한다. ISP(551)는 또한 노이즈 감소, 필터링, HDR, 세척, 및 JPEG을 도울 수 있고, CMOS/초점 조립체를 위한 콘트롤러이다.
ISP(551)에 의해 수집된 스태틱스(statics)는 제어 로직(552)에 제공될 수 있다. 제어 로직(552)은 통계 데이터에 기초하여 이미지 캡처 디바이스(112)를 위한 다수의 제어 파라미터를 결정하도록 구성될 수 있는 하나 이상의 루틴(예를 들어, 펌웨어)을 실행하도록 구성된 프로세서 또는 마이크로콘트롤러를 포함할 수 있다. 통계 데이터는 예를 들어, 자동 밝기조절, 오토 화이트 밸런스, 오토포커스, 플릭커 검출(flicker detection), 블랙 레벨 보상(black level compensation: BLC), 렌즈 셰이딩 보정 등에 관한 이미지 센서 통계를 포함할 수 있다. 제어 파라미터의 예는 센서 제어 파라미터(예를 들어, 이득, 노출 제어를 위한 적분 시간, 카메라 플래시 제어 파라미터), 렌즈 제어 파라미터(예를 들어, 포커싱 또는 줌을 위한 초점 길이), 또는 이러한 파라미터의 조합을 포함한다. 다른 제어 파라미터는 오토 화이트 밸런스 및 컬러 조정을 위한 이득 레벨 컬러 보정 매트릭스(color correction matrix: CCM), 렌즈 셰이딩 보정 파라미터 등을 포함할 수 있다.
프로세싱된 이미지 데이터는 사용자에 의해 뷰잉을 위해 디스플레이 모듈(560)에 제공될 수 있거나 또는 그래픽 엔진 또는 GPU에 의해 또한 프로세싱될 수 있다. 부가적으로, 프로세싱된 데이터는 저장 장치(540) 내에 저장되고 디스플레이 모듈(560)에 의해 액세스될 수 있다. 몇몇 실시예에서, ISP(551)의 출력은 ISP(551)로부터 직접 또는 저장 장치(540)로부터 액세스된 이미지 데이터(예를 들어, 정지 화상을 인코딩하기 위한 JPEG 압축 엔진 또는 비디오 이미지를 인코딩하기 위한 H.264, 도시 생략)를 위한 압축 엔진에 제공될 수 있다. 다른 실시예에서, 이미지 데이터를 위한 대응 압축해제 엔진이 사용될 수 있다(도시 생략).
사용자 입력 모듈(530)은 예를 들어, 셔터 버튼(사진을 촬영하기 위한), 콘트롤 버튼(다양한 카메라 세팅을 조정하기 위한), 슈팅 모드 다이얼(상이한 장면 모드, 조정 노출 선택 등 중에서 변경하기 위해), 마이크로폰(영화 클립 및 음성 주석을 위해 오디오를 캡처하기 위한), 광학 뷰파인더(사진을 프레이밍하고 구성하기 위한), 줌 렌즈 콘트롤(이미지의 크기를 확대하거나 축소하기 위한), 전원 스위치(카메라를 턴 온 또는 오프하기 위한), 디스플레이 콘트롤/메뉴 버튼, 사진 리뷰 버튼, 커서 패드 등과 같은 다양한 입력을 포함할 수 있다. 사용자 입력(502)은 사용자 모듈(530)에 의해 수신되고 이미지 프로세싱 모듈(550) 내에 입력으로서 사용될 수 있는 신호로 변환된다.
접속성 모듈(570)은 예시적인 실시예에서 외부 I/O 인터페이스일 수 있다. 다양한 실시예에서, 이미지 프로세싱 모듈(550)(예를 들어, 메타데이터(503)를 갖는 이미지 파일)에 의해 캡처되거나 프로세싱된 이미지는 접속성 모듈(570)을 거쳐 네트워킹된 시스템(102), 클라이언트 디바이스(110)(예를 들어, 모바일 디바이스 또는 임의의 다른 컴퓨팅 디바이스)에 전송될 수 있다. 몇몇 실시예에서, 피드백(504)은 이미지 분석 엔진(230)으로부터 수신될 수 있다.
이미지 캡처 디바이스(112)는 하나 이상의 장면 조건 센서(520)를 또한 포함할 수 있다. 장면 조건 센서(520)는 장면 내의 특정 조건 또는 물체를 검출하는데 사용될 수 있고, 이미지 캡처 프로세스 중에 다양한 조건을 감지하는 것이 가능한 회로 또는 구조를 갖는 고체 상태 또는 집적 회로 디바이스일 수 있다. 장면 내의 물체는 하나 이상의 센서에 의해 검출될 수 있다. 장면 조건 센서(520)의 일 예는 주위광 레벨이라 또한 칭하는 이미지 캡처 디바이스(112)를 둘러싸는 환경 내의 가시광 강도의 레벨의 측정치를 제공할 수 있는 주위광 센서 검출기(ALS)를 포함한다. 장면 조건 센서(520)의 다른 예는 물체까지의 거리 또는 위치의 측정치를 결정하는 것을 돕기 위한 오토포커스 센서를 포함한다. 오토포커스 센서는 적외선 송신기 및 수신기를 포함할 수 있다.
장면 조건 센서(520) 중 하나 이상에 의해 얻어진 장면에 대한 정보, 및 그리고 이미지 캡처 모듈(510)에 의해 캡처되고 이미지 프로세싱 모듈(550)에 의해 프로세싱된 이미지를 분석하는 것에 기초하여, 이미지 정보가 도 6에 도시된 이미지 콘텍스트 모듈(630)에 제공될 수 있어, 환경 또는 장면 조건에 관련된 이미지 콘텍스트 정보를 발생한다. 이미지 콘텍스트 정보는 또한 다른 실시예에서 하나 이상의 장면 조건 센서(520)에 의해 얻어진 장면 정보 없이, 그리고 이미지 캡처 모듈(510)에 의해 캡처되고 이미지 프로세싱 모듈(550)에 의해 프로세싱된 이미지를 분석하는 것에만 기초하여 발생될 수도 있다. 다른 실시예에서, 사진을 촬영하는 목적에 관련된 이미지 사용 정보는 또한 이미지 캡처 모듈(510)에 의해 캡처되고 이미지 프로세싱 모듈(550)에 의해 프로세싱된 이미지를 분석하는 것에 기초할 수 있다. 메타데이터(503)를 갖는 이미지 파일은 일반적으로 이미지 캡처 모듈(510)에 의해 캡처되고 이미지 프로세싱 모듈(550)에 의해 프로세싱된 이미지를 표현한다.
도 6은 이미지 분석 모듈(340)의 예시적인 실시예의 블록도를 도시하고 있다. 이미지 분석 모듈(340)은 이하의 모듈: 콘텐츠 평가 모듈(610), 카메라 메타데이터 추출 모듈(620), 타이밍 모듈(625), 이미지 콘텍스트 모듈(630), 사용 모듈(640), 및 다른 메타데이터 모듈(650) 중 하나 이상을 포함한다.
이미지 분석 모듈(340)은 이미지 분석 엔진(230) 내에 포함될 수 있고, 카메라 메타데이터를 포함하여, 이미지 데이터에 기초하여 사진을 분석하는데 사용된다. 이미지 분석은 이어서 피드백 모듈(350)에 제공되어, 도 3에 도시된 바와 같이, 사용자로의 피드백을 생성한다. 사용자로의 피드백은 이미지 품질, 이미지 캡처 프로세스를 향상시키기 위한 추천, 카메라 업그레이드를 위한 추천 및 이미지 품질을 향상시킬 수 있는 액세서리 등에 관련될 수 있다. 카메라 메타데이터를 포함하는 이미지 데이터는 이미지 캡처 디바이스(112)에 의해 제공될 수 있다.
사용자로의 피드백은 다른 정보와 함께, 카메라 메타데이터를 포함하는 이미지 데이터에 또한 기초할 수 있다. 다른 정보는 이미지 콘텍스트 모듈(630)에 의해 발생되거나 제공될 수 있는 하나 이상의 이미지의 환경 또는 장면 조건에 관련된 이미지 콘텍스트 정보를 포함할 수 있다. 다른 정보는 사용 모듈(640)에 의해 발생되거나 제공될 수 있는 사진을 촬영하는 목적에 관련된 이미지 사용 정보를 포함할 수 있다.
이미지 콘텍스트 정보 및 사용 정보는 이미지 캡처 디바이스(112)로부터 수신된 입력에 기초하여 발생될 수 있다. 예를 들어, 이미지 캡처 디바이스(112) 내의 이미지 프로세싱 모듈(550)은 이미지 분석을 수행할 수 있고, 이 이미지 분석 데이터는 이미지 파일 내에 포함되거나 이미지 분석 엔진(230)(이미지 분석 모듈(340)을 포함함)에 개별적으로 송신될 수 있다.
다른 정보는 사용자의 모바일 디바이스와 같은 다른 디바이스로부터 이용가능하고 다른 메타데이터 모듈(650)에 제공된 메타데이터를 표현하는 다른 메타데이터를 포함할 수 있다. 카메라 메타데이터를 포함하는 이미지 데이터는 단독으로 또는 하나 이상의 유형의 다른 정보와 함께, 콘텐츠 평가 모듈(610)에 의해 지능형 방식으로 평가되거나 인덱싱될 수 있다. 이미지 분석 모듈(340)에 의해 수행된 이미지 분석은 일반적으로 전술된 다양한 정보 유형에 기초하여 사용자로의 피드백을 생성하기 위해 피드백 모듈(350)에 제공된다.
타이밍 모듈(625)은 특정 상황에서 사용자로의 피드백을 즉시 송신하고 또는 표시된 사용자로의 피드백을 송신하는데 사용될 수 있다. 특정 실시예에서, 타이밍 모듈(625)은 이미지를 캡처하거나 사진을 촬영하는 목적에 관련된 사용 정보와 같은 다른 정보를 사용할 수 있다. 예를 들어, 이미지 캡처 디바이스(112)가 피드백을 수신하기 위한 뷰잉 디바이스(360)를 표현하면, 타이밍 모듈(625)은 이미지 캡처 디바이스(112)의 사용자가 여전히 사진을 촬영하는 동안(예를 들어, 축구 게임과 같은 특정 이벤트에) 이미지 캡처 디바이스(112)에 실시간, 또는 거의 실시간 피드백을 제공하도록 결정할 수 있고, 그 특정 이벤트에 사진을 향상시키기 위해 피드백을 합체할 수 있다. 다른 상황에, 타이밍 모듈(625)은 사진을 촬영하는 사용자의 목적이 최근의 휴가의 디지털 포토 앨범을 생성하기 위한 것이라는 결정을 행할 수 있고, 지연된 피드백은 적절할 수 있다. 타이밍 모듈(625)은 또한 이미지 분석이 다수의 사진(예를 들어, 디지털 포토 앨범 내에 포함된 것들과 같은)의 이미지 분석에 대한 단일의 사진 또는 소수의 사진에 기초하는지 여부를 고려할 수 있다.
도 7은 예시적인 실시예에 따른, 이미지 파일과 연계된 이미지 캡처 양태에 대한 향상에 관련된 피드백을 생성하기 위한 방법(700)을 도시하고 있는 흐름도이다. 일 실시예에서, 방법은 동작(710)에서, 카메라 메타데이터를 포함하는 이미지 데이터를 갖는 이미지 파일을 수신하는 단계; 동작(720)에서, 이미지 파일과 연계된 이미지 캡처 양태에 대한 향상을 결정하기 위해 이미지 파일의 카메라 메타데이터를 분석하는 단계; 및 동작(730)에서, 이미지 파일과 연계된 이미지 캡처 양태에 대한 향상에 관련된 피드백을 생성하는 단계를 포함한다. 예시적인 실시예에서, 방법(700)의 흐름도는 이미지 분석 엔진(230)(도 3에 도시됨)의 하나 이상의 모듈을 사용하여 구현될 수 있다. 예를 들어, 동작(710)은 통신 모듈(330)에 의해 수행될 수 있고, 동작(720)은 이미지 분석 모듈(340)에 의해 수행될 수 있고, 동작(730)은 피드백 모듈(350)에 의해 수행될 수 있다. 다른 실시예에서, 동작(720)은 이미지 분석 모듈(340) 내의 하나 이상의 모듈에 의해 수행될 수 있다. 예를 들어, 콘텐츠 평가 모듈(610), 이미지 콘텍스트 모듈(630), 사용 모듈(640) 또는 다른 메타데이터 모듈(650)이 동작(720)을 수행하는데 사용될 수 있다. 대안 실시예에서, 부가의 동작이 방법(700)에 추가될 수 있고 또는 하나 이상의 동작이 방법(700)으로부터 삭제될 수 있다. 다른 실시예에서, 방법(700, 800)의 동작, 또는 이들 흐름도의 변형예는 조합될 수 있다.
도 8은 다른 예시적인 실시예에 따른, 적어도 하나의 이미지 파일과 연계된 이미지 캡처 양태에 대한 향상에 관련된 피드백을 생성하기 위한 방법(800)을 도시하고 있는 흐름도이다. 일 실시예에서, 방법(800)은 동작(810)에서, 카메라 메타데이터를 포함하는 이미지 데이터를 갖는 이미지를 수신하는 단계; 동작(820)에서, 이미지 파일과 연계된 이미지 캡처 양태에 대한 향상을 결정하기 위해 이미지 파일의 카메라 메타데이터를 분석하는 단계; 동작(830)에서, 이하의 이미지 데이터: 적어도 하나의 이미지 파일을 위한 다른 메타데이터, 적어도 하나의 이미지 파일을 위한 콘텍스트 정보, 및 적어도 하나의 이미지 파일에 대한 사용 정보 중 하나 이상을 분석하여 적어도 하나의 이미지 파일을 위한 이미지 캡처 프로세스에 관련된 향상을 결정하는 단계; 동작(840)에서, 분석된 이미지 데이터를 제공하는 단계; 동작(850)에서, 분석된 이미지 데이터에 기초하여 이미지 파일을 인덱싱하는 단계; 및 동작(860)에서, 이미지 파일에 연계된 피드백을 표시를 위해 디바이스에 제공하는 단계를 포함한다. 예시적인 실시예에서, 방법(800)의 흐름도는 이미지 분석 모듈(340)의 하나 이상의 모듈 또는 피드백 시스템(300)의 하나 이상의 모듈을 포함하는 이미지 분석 엔진(230)의 하나 이상의 모듈을 사용하여 구현될 수 있다. 예를 들어, 동작(810)은 통신 모듈(330)에 의해 수행될 수 있고, 동작(820, 830, 840 및 850)은 이미지 분석 모듈(340)에 의해 수행될 수 있고, 동작(860)은 피드백 모듈(350)에 의해 수행될 수 있다. 다른 예에서, 동작(820)은 콘텐츠 평가 모듈(610) 및 카메라 메타데이터 추출 모듈(620)에 의해 수행될 수 있고; 동작(830)은 이미지 콘텍스트 모듈(630), 사용 모듈(640) 및 다른 메타데이터 모듈(650)에 의해 수행될 수 있고; 동작(850)은 콘텍스트 평가 모듈(610)에 의해 수행될 수 있고; 동작(860)은 타이밍 모듈(625)에 의해 수행될 수 있다. 대안 실시예에서, 부가의 동작이 방법(800)에 추가될 수 있고 또는 하나 이상의 동작이 방법(800)으로부터 삭제될 수 있다. 다른 실시예에서, 방법(700, 800)의 동작, 또는 이들 흐름도의 변형예는 조합될 수 있다.
다른 실시예에서, 적어도 하나의 이미지 파일과 연계된 이미지 캡처 양태에 대한 향상에 관련된 피드백을 생성하기 위한 방법은 적어도 하나의 이미지 파일을 위한 카메라 메타데이터를 추출하는 단계; 적어도 하나의 이미지 파일을 위한 다른 디바이스와 연계된 다른 메타데이터를 수신하는 단계; 및
기계의 적어도 하나의 프로세서를 사용하여, 적어도 하나의 이미지 파일을 위한 이미지 캡처 프로세스에 관련된 향상을 결정하기 위한 다른 메타데이터를 분석하는 단계를 포함할 수 있다.
다른 실시예에서, 적어도 하나의 이미지 파일과 연계된 이미지 캡처 양태에 대한 향상에 관련된 피드백을 생성하기 위한 방법은 적어도 하나의 이미지 파일을 위한 장면 조건에 관련된 이미지 콘텍스트 정보를 발생하는 단계를 포함할 수 있다. 다른 실시예에서, 적어도 하나의 이미지 파일과 연계된 이미지 캡처 양태에 대한 향상에 관련된 피드백을 생성하기 위한 방법은 적어도 하나의 이미지 파일을 위한 사진을 촬영하기 위한 사용자의 목적에 관련된 사용 정보를 발생하는 단계를 포함할 수 있다. 다른 실시예에서, 피드백을 생성하는 단계는 목적을 위한 카메라 및 카메라 액세서리 중 적어도 하나를 추천하기 위한 피드백을 포함할 수 있다. 또 다른 실시예에서, 피드백을 생성하는 단계는 적어도 하나의 카메라 설정을 조정하는 것을 추천하기 위해 피드백을 생성하는 단계를 포함할 수 있다. 대안 실시예에서, 피드백을 생성하는 단계는 이미지 품질을 향상시키는 것과 연계된 피드백; 이미지 캡처 디바이스 추천과 연계된 피드백; 및 이미지 캡처 디바이스 특징 및 설정을 사용하여 사진을 촬영하는 것과 연계된 피드백 중 하나 이상에 관련된 피드백을 생성하는 단계를 포함할 수 있다.
다른 실시예에서, 피드백을 생성하는 단계는 하나의 이미지 파일을 분석하는 것에 기초할 수 있고 또는 피드백을 생성하는 것은 적어도 하나의 이미지 파일로부터 이미지 파일의 그룹을 분석하는 것이 기초할 수 있다. 몇몇 다른 실시예에서, 적어도 하나의 이미지 파일이 이미지 캡처 디바이스에 의해 발생된 후에 적어도 하나의 이미지 파일과 연계된 즉시 피드백이 제공될 수 있다.
도 9는 예시적인 실시예에 따른, 모바일 디바이스(900)를 도시하는 블록 다이어그램이다. 모바일 디바이스(900)는 프로세서(910)를 포함할 수 있다. 프로세서(910)는 모바일 디바이스에 적합한 임의의 다양한 상이한 유형의 상업적으로 입수가능한 프로세서(예를 들어, XScale 아키텍처 마이크로프로세서, 인터로킹된 파이프라인 스테이지를 갖지 않는 마이크로프로세서(microprocessor without interlocked pipeline stages: MIPS) 아키텍처 프로세서, 또는 다른 유형의 프로세서)일 수 있다. 랜덤 액세스 메모리(RAM), 플래시 메모리, 또는 다른 유형의 메모리와 같은 메모리(920)가 통상적으로 프로세서(910)에 액세스가능하다. 메모리(920)는 운영 체제(OS)(930), 뿐만 아니라 사용자에 로케이션 기반 서비스(location based service: LBS)를 제공할 수 있는 모바일 로케이션 인에이블링 애플리케이션과 같은 애플리케이션 프로그램(940)을 저장하도록 적용될 수 있다.
프로세서(910)는 디스플레이(950)에 그리고 키패드, 터치 패널 센서, 마이크로폰 등과 같은 하나 이상의 입출력(I/O) 디바이스(960)에 직접적으로 또는 적절한 중간 하드웨어를 거쳐 결합될 수 있다. 유사하게, 몇몇 실시예에서, 프로세서(910)는 안테나(990)와 인터페이스하는 송수신기(970)에 결합될 수 있다. 송수신기(970)는 모바일 디바이스(900)의 성질에 따라, 안테나(990)를 거쳐 셀룰러 네트워크 신호, 무선 데이터 신호, 또는 다른 유형의 신호를 전송 및 수신하도록 구성될 수 있다. 이 방식으로, 도 1의 네트워크와 같은 네트워크와의 접속이 설정될 수 있다. 또한, 몇몇 구성에서, GPS 수신기(980)는 또한 GPS 신호를 수신하기 위해 안테나(990)를 사용할 수 있다.
모듈, 구성요소 및 로직
도 10은 본 명세서에 설명된 방법론의 임의의 하나 이상을 수행하고 기계 판독가능 매체로부터 명령어를 판독하는 것이 가능한, 몇몇 예시적인 실시예에 따른, 기계(1000)의 구성요소를 도시하는 블록도이다. 구체적으로, 도 10은 기계(1000)가 본 명세서에 설명된 방법론의 임의의 하나 이상을 수행하게 하기 위한 명령어(1024)(예를 들어, 소프트웨어, 프로그램, 애플리케이션, 애플릿, 앱, 또는 다른 실행가능 코드)가 실행될 수 있는 컴퓨터 시스템의 예시적인 형태의 기계(1000)의 개략적 표현을 도시하고 있다. 대안 실시예에서, 기계(1000)는 독립형 디바이스로서 동작하거나 또는 다른 기계에 접속될(예를 들어, 네트워킹될) 수 있다. 네트워킹된 전개에서, 기계(1000)는 서버-클라이언트 네트워크 환경에서 서버 기계 또는 클라이언트 기계의 기능으로, 또는 피어-투-피어(또는 분산형) 네트워크 환경에서 피어 기계로서 동작할 수 있다. 기계(1000)는 서버 컴퓨터, 클라이언트 컴퓨터, 퍼스널 컴퓨터(personal computer: PC), 태블릿 컴퓨터, 랩탑 컴퓨터, 넷북, 셋탑 박스(STB), 개인 휴대 정보 단말(personal digital assistant: PDA), 휴대폰, 스마트폰, 웹 기기, 네트워크 라우터, 네트워크 스위치, 네트워크 브리지, 또는 그 기계에 의해 취해질 동작을 지정하는 명령어(1024)를 순차적으로 또는 다른 방식으로 실행하는 것이 가능한 임의의 기계일 수 있다. 또한, 단지 단일의 기계(1000)가 예시되어 있지만, 용어 "기계"는 또한 본 명세서에 설명된 방법론의 임의의 하나 이상을 수행하기 위해 명령어(1024)를 개별적으로 또는 연합하여 실행하는 기계(1000)의 집합을 포함하도록 취해질 수도 있다.
기계(1000)는 버스(1008)를 거쳐 서로 통신하도록 구성된 프로세서(1002)(예를 들어, 중앙 처리 유닛(central processing unit: CPU), 그래픽 프로세싱 유닛(graphics processing unit: GPU), 디지털 신호 프로세서(digital signal processor: DSP), 응용 주문형 집적 회로(application specific integrated circuit: ASIC), 무선 주파수 집적 회로(radio- frequency integrated circuit: RFIC), 또는 이들의 임의의 적합한 조합), 메모리(1004), 및 정적 메모리(1006)를 포함한다. 기계(1000)는 비디오 디스플레이(1010)(예를 들어, 플라즈마 디스플레이 패널(plasma display panel: PDP), 발광 다이오드(light emitting diode: LED) 디스플레이, 액정 디스플레이(liquid crystal display: LCD), 프로젝터, 또는 음극선관(cathode ray tube: CRT))를 추가로 포함할 수 있다. 기계(1000)는 문자숫자식 입력 디바이스(1012)(예를 들어, 키보드), 커서 콘트롤 디바이스(1014)(예를 들어, 마우스, 터치패드, 트랙볼, 조이스틱, 모션 센서, 또는 다른 포인팅 기구), 저장 유닛(1016), 신호 발생 디바이스(1018)(예를 들어, 스피커), 및 네트워크 인터페이스 디바이스(1020)를 또한 포함할 수 있다.
저장 유닛(1016)은 본 명세서에 설명된 방법론 또는 기능 중 임의의 하나 이상을 구체화하는 명령어(1024)가 저장되어 있는 기계 판독가능 매체(1022)를 포함한다. 명령어(1024)는 또한 기계(1000)에 의한 그 실행 중에, 메인 메모리(1004) 내에, 정적 메모리(1006) 내에, 프로세서(1002) 내에(예를 들어, 프로세서의 캐시 메모리 내에), 또는 모든 3개 내에 완전하게 또는 적어도 부분적으로 상주할 수 있다. 이에 따라, 메인 메모리(1004), 정적 메모리(1006) 및 프로세서(1002)는 기계 판독가능 매체(1022)로 고려될 수 있다. 명령어(1024)는 네트워크 인터페이스 디바이스(1020)를 거쳐 네트워크(1026)를 통해 전송되거나 수신될 수 있다.
몇몇 예시적인 실시예에서, 기계(1000)는 스마트폰 또는 태블릿 컴퓨터와 같은 휴대형 컴퓨팅 디바이스일 수 있고, 하나 이상의 부가의 입력 구성요소(1030)(예를 들어, 센서 또는 게이지)를 가질 수 있다. 이러한 입력 구성요소(1030)의 예는 이미지 입력 구성요소(예를 들어, 하나 이상의 카메라), 오디오 입력 구성요소(예를 들어, 하나 이상의 마이크로폰), 방향 입력 구성요소(예를 들어, 나침반), 위치 입력 구성요소(예를 들어, 글로벌 포지셔닝 시스템(GPS) 수신기), 배향 구성요소(예를 들어, 자이로스코프), 모션 검출 구성요소(예를 들어, 하나 이상의 가속도계), 고도 검출 구성요소(예를 들어, 고도계), 및 가스 검출 구성요소(예를 들어, 가스 센서)를 포함한다. 이들 입력 구성요소(1030)의 임의의 하나 이상에 의해 수확된 입력은 본 명세서에 설명된 임의의 모듈에 의한 사용을 위해 액세스가능하고 이용가능할 수 있다.
본 명세서에 사용될 때, 용어 "메모리"는 데이터를 일시적으로 또는 영구적으로 저장하는 것이 가능한 기계 판독가능 매체(1022)를 칭하고, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 버퍼 메모리, 플래시 메모리, 및 캐시 메모리를 포함하도록 취해질 수 있지만, 이들에 한정되는 것은 아니다. 기계 판독가능 매체(1022)는 예시적인 실시예에서 단일 매체인 것으로 도시되어 있지만, 용어 "기계 판독가능 매체"는 명령어(1024)를 저장하는 것이 가능한 단일 매체 또는 다수의 매체(예를 들어, 집중형 또는 분산형 데이터베이스, 또는 연계된 캐시 및 서버)를 포함하도록 취해져야 한다. 용어 "기계 판독가능 매체"는 또한 기계(예를 들어, 기계(1000))에 의해 실행을 위한 명령어(예를 들어, 명령어(1024))를 저장하는 것이 가능하여, 기계(1000)의 하나 이상의 프로세서(예를 들어, 프로세서(1002))에 의해 실행될 때, 명령어가 기계(1000)로 하여금 본 명세서에 설명된 방법론의 임의의 하나 이상을 수행하게 하는 임의의 매체 또는 다수의 매체의 조합을 포함할 수 있다. 이에 따라, "기계 판독가능 매체"는 단일의 저장 장치 또는 디바이스, 뿐만 아니라 다수의 저장 장치 또는 디바이스를 포함하는 "클라우드 기반" 저장 시스템 또는 저장 네트워크를 칭한다. 용어 "기계 판독가능 매체"는 이에 따라 고체 상태 메모리, 광학 매체, 자기 매체, 또는 이들의 임의의 적합한 조합의 형태의 하나 이상의 데이터 저장소를 포함하도록 취해져야 하지만, 이들에 한정되는 것은 아니다.
더욱이, 기계 판독가능 매체(1022)는 예를 들어 전송 매체와 같은 전파 신호를 구체화하는 점에서 일시적일 수 있다.
명령어(1024)는 또한 네트워크 인터페이스 디바이스(1020)를 거쳐 통신 매체를 사용하여 그리고 다수의 공지의 전송 프로토콜(예를 들어, 하이퍼텍스트 전송 프로토콜(HTTP)) 중 임의의 하나를 사용하여 통신 네트워크(1026)를 통해 전송되거나 수신될 수 있다. 통신 네트워크의 예는 근거리 통신망(local area network: LAN), 광대역 통신망(wide area network: WAN), 인터넷, 이동 전화 네트워크(예를 들어, 3GPP, 4G LTE, 3GPP2, GSM, UMTS/HSPA, WiMAX, 및 다양한 표준 세팅 기관에 의해 규정된 다른 것들), 기존 전화 시스템(plain old telephone service: POTS) 네트워크, 및 무선 데이터 네트워크(예를 들어, WiFi 및 블루투스 네트워크)를 포함할 수 있다. 용어 "전송 매체"는 기계(1000)에 의해 실행되는 명령어(1024)를 저장하고, 인코딩하거나, 전달하는 것이 가능한 임의의 무형의 매체를 포함할 수 있고, 이러한 소프트웨어의 통신을 용이하게 하기 위한 디지털 또는 아날로그 통신 신호 또는 다른 무형의 매체를 포함한다.
본 명세서 전체에 걸쳐, 복수의 인스턴스는 단일의 인스턴스로서 설명된 구성요소, 동작, 또는 구조를 구현할 수 있다. 하나 이상의 방법의 개별적인 동작이 개별 동작으로서 예시되고 설명되어 있지만, 개별 동작의 하나 이상은 동시에 수행될 수도 있고, 동작이 예시된 순서로 수행되어야 한다고 요구되지 않는다. 예시적인 구성에서 개별적인 구성요소로서 제시된 구조 및 기능성은 조합된 구조체 또는 구성요소로서 구현될 수 있다. 유사하게, 단일의 구성요소로서 제시된 구조체 및 기능성은 개별 구성요소로서 구현될 수 있다. 이들 및 다른 변형, 수정, 추가, 및 향상이 본 명세서의 요지의 범주 내에 있다.
특정 실시예는 로직 또는 다수의 구성요소, 모듈, 또는 메커니즘을 포함하는 것으로서 본 명세서에 설명된다. 모듈은 소프트웨어 모듈(예를 들어, 기계 판독가능 매체(1022) 상에 또는 전송 신호 내에 구체화된 코드) 또는 하드웨어 모듈을 구성할 수 있다. "하드웨어 모듈"은 특정 동작을 수행하는 것이 가능한 유형의 유닛(tangible unit)이고, 특정 물리적 방식으로 구성되거나 배열될 수 있다. 다양한 예시적인 실시예에서, 하나 이상의 컴퓨터 시스템(예를 들어, 독립형 컴퓨터 시스템, 클라이언트 컴퓨터 시스템, 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 하드웨어 모듈(예를 들어, 프로세서 또는 프로세서의 그룹)은 본 명세서에 설명된 바와 같은 특정 동작을 수행하도록 동작하는 하드웨어 모듈로서 소프트웨어(예를 들어, 애플리케이션 또는 애플리케이션 부분)에 의해 구성될 수 있다.
몇몇 실시예에서, 하드웨어 모듈은 기계식으로, 전자식으로, 또는 이들의 임의의 적합한 조합으로 구현될 수 있다. 예를 들어, 하드웨어 모듈은 특정 동작을 수행하도록 영구적으로 구성된 전용 회로 또는 로직을 포함할 수 있다. 예를 들어, 하드웨어 모듈은 필드 프로그램가능 게이트 어레이(field programmable gate array: FPGA) 또는 ASIC과 같은 특정 용도 프로세서일 수 있다. 하드웨어 모듈은 특정 동작을 수행하도록 소프트웨어에 의해 일시적으로 구성된 프로그램가능 로직 또는 회로를 또한 포함할 수 있다. 예를 들어, 하드웨어 모듈은 범용 프로세서 또는 다른 프로그램가능 프로세서 내에 포함된 소프트웨어를 포함할 수 있다. 하드웨어 모듈을 기계식으로, 전용된 영구적으로 구성된 회로에, 또는 일시적으로 구성된 회로(예를 들어, 소프트웨어에 의해 구성됨)에 구현하기 위한 판정은 비용 및 시간 고려사항에 의해 추구될 수 있다는 것이 이해될 수 있을 것이다.
이에 따라, 구문 "하드웨어 모듈"은 유형의 엔티티를 포함하는 것으로 이해되어야 하고, 특정 방식으로 동작하고 그리고/또는 본 명세서에 설명된 특정 동작을 수행하도록 물리적으로 구성되고, 영구적으로 구성되고(예를 들어, 유선 접속됨) 또는 일시적으로 구성된(예를 들어, 프로그램된) 엔티티이어야 한다. 본 명세서에 사용될 때, "하드웨어-구현된 모듈"은 하드웨어 모듈을 칭한다. 하드웨어 모듈이 일시적으로 구성되는(예를 들어, 프로그램됨) 실시예를 고려하면, 각각의 하드웨어 모듈은 임의의 일 시간 인스턴스에 구성되거나 인스턴스화될 필요가 없다. 예를 들어, 하드웨어 모듈이 특정 용도 프로세서가 되도록 소프트웨어에 의해 구성된 범용 프로세서를 포함하는 경우에, 범용 프로세서는 상이한 시간에 각각의 상이한 특정 용도 프로세서(예를 들어, 상이한 하드웨어 모듈을 포함함)로서 구성될 수 있다. 소프트웨어는 이에 따라 예를 들어 일 시간 인스턴스에 특정 하드웨어 모듈을 구성하고 다른 시간 인스턴스에 상이한 하드웨어 모듈을 구성하도록 프로세서를 구성할 수 있다.
하드웨어 모듈은 다른 하드웨어 모듈에 정보를 제공하고, 그로부터 정보를 수신할 수 있다. 이에 따라, 설명된 하드웨어 모듈은 통신가능하게 결합된 것으로서 간주될 수 있다. 다수의 하드웨어 모듈이 동시에 존재하는 경우에, 통신은 하드웨어 모듈의 2개 이상 사이 또는 중의 신호 전송을 통해(예를 들어, 적절한 회로 및 버스에 걸쳐) 성취될 수 있다. 다수의 하드웨어 모듈이 상이한 시간에 구성되거나 인스턴스화되는 실시예에서, 이러한 하드웨어 모듈들 사이의 통신은 예를 들어, 다수의 하드웨어 모듈이 액세스하고 있는 메모리 구조체 내의 정보의 저장 및 인출을 통해 성취될 수 있다. 예를 들어, 일 하드웨어 모듈은 동작을 수행하고 이것이 통신가능하게 결합되어 있는 메모리 디바이스 내에 그 동작의 출력을 저장할 수 있다. 추가의 하드웨어 모듈은 이어서 이후의 시간에, 저장된 출력을 인출하여 프로세싱하기 위해 메모리 디바이스에 액세스할 수 있다. 하드웨어 모듈은 또한 입력 또는 출력 디바이스와 통신을 개시할 수 있고, 리소스(예를 들어, 정보의 집합) 상에서 동작할 수 있다.
본 명세서에 설명된 예시적인 방법의 다양한 동작은 적어도 부분적으로는, 관련 동작을 수행하도록 일시적으로 구성된(예를 들어, 소프트웨어에 의해) 또는 영구적으로 구성된 하나 이상의 프로세서(1002)에 의해 수행될 수 있다. 일시적으로 또는 영구적으로 구성되건간에, 이러한 프로세서(1002)는 본 명세서에 설명된 하나 이상의 동작 또는 기능을 수행하도록 동작하는 프로세서 구현된 모듈을 구성할 수 있다. 본 명세서에 사용될 때, "프로세서-구현된 모듈"은 하나 이상의 프로세서(1002)를 사용하여 구현된 하드웨어 모듈을 칭한다.
유사하게, 본 명세서에 설명된 방법은 적어도 부분적으로 프로세서-구현될 수 있고, 프로세서(1002)는 하드웨어의 예이다. 예를 들어, 방법의 동작의 적어도 일부는 하나 이상의 프로세서(1002) 또는 프로세서 구현된 모듈에 의해 수행될 수 있다. 더욱이, 하나 이상의 프로세서(1002)는 "클라우드 컴퓨팅" 환경에서 또는 "소프트웨어 애즈 어 서비스(software as a service: SaaS)"로서 관련 동작의 수행을 지원하도록 또한 동작할 수 있다. 예를 들어, 동작의 적어도 일부는 컴퓨터의 그룹(예를 들어, 프로세서(1002)를 포함하는 기계(1000)의 예로서)에 의해 수행될 수 있고, 이들 동작은 네트워크(1026)(예를 들어, 인터넷)를 거쳐 그리고 하나 이상의 적절한 인터페이스(예를 들어, 애플리케이션 인터페이스(API))를 거쳐 액세스 가능하다.
특정 동작의 수행은 단일 기계(1000) 내에 상주할 뿐만 아니라 다수의 기계(1000)를 가로질러 전개된 하나 이상의 프로세서(1002) 사이에 분산될 수 있다. 몇몇 예시적인 실시예에서, 하나 이상의 프로세서(1002) 또는 프로세서-구현된 모듈은 단일의 지리학적 위치에(예를 들어, 가정 환경, 사무실 환경, 또는 서버팜 내에) 위치될 수 있다. 다른 예시적인 실시예에서, 하나 이상의 프로세서(1002) 또는 프로세서-구현된 모듈이 다수의 지리학적 위치를 가로질러 분배될 수 있다.
본 발명의 요지의 개요가 특정 예시적인 실시예를 참조하여 설명되었지만, 다양한 수정 및 변경이 본 발명의 실시예의 더 넓은 범주로부터 벗어나지 않고 이들 실시예에 이루어질 수 있다. 본 발명의 요지의 이러한 실시예는 개별적으로 그리고/또는 집합적으로 본 명세서에 언급될 수 있는데, 용어 "발명"이라는 것은 단지 편의를 위한 것이고 하나 초과가 실제로 개시되면 임의의 단일의 개시내용 또는 발명적 개념에 본 출원의 범주를 임의로 한정하려고 의도하는 것은 아니다.
본 명세서에 예시된 실시예는 당 기술 분야의 숙련자들이 개시된 교시를 실시하는 것을 가능하게 하도록 충분한 상세로 설명된다. 다른 실시예가 그로부터 사용되고 유도될 수 있어, 구조적 및 논리적 치환 및 변경이 본 발명의 범주로부터 벗어나지 않고 이루어질 수 있게 된다. 따라서, 상세한 설명은 한정의 개념으로 취해져서는 안되고, 다양한 실시예의 범주는 이러한 청구범위가 자격부여되는 전체 범위의 등가물과 함께, 첨부된 청구범위에 의해서만 규정된다.
본 명세서에 사용될 때, 용어 "또는"은 포함적 또는 배타적 의미로 해석될 수 있다. 더욱이, 복수의 인스턴스가 단일의 인스턴스로서 본 명세서에 설명된 리소스, 동작, 또는 구조를 위해 제공될 수 있다. 부가적으로, 다양한 리소스, 동작, 모듈, 엔진, 및 데이터 저장부 사이의 경계는 다소 임의적이고, 특정 동작이 특정 예시적인 구성의 맥락에서 예시된다. 기능성의 다른 할당이 고려되고, 본 발명의 다양한 실시예의 범주 내에 있을 수 있다. 일반적으로, 예시적인 구성에서 개별적인 리소스로서 제시된 구조 및 기능성은 조합된 구조 또는 리소스로서 구현될 수 있다. 유사하게, 단일의 리소스로서 제시된 구조 및 기능성은 개별 리소스로서 구현될 수 있다. 이들 및 다른 변형, 수정, 추가, 및 향상이 첨부된 청구범위에 의해 표현된 바와 같은 본 명세서의 요지의 범주 내에 있다. 이에 따라, 명세서 및 도면은 한정적인 개념보다는 예시적인 것으로 간주되어야 한다.

Claims (1)

  1. 시스템으로서,
    카메라 메타데이터를 포함하는 이미지 데이터를 갖는 이미지 파일을 수신하도록 구성된 통신 모듈;
    적어도 하나의 프로세서를 포함하고, 상기 이미지 파일과 연관된 이미지 캡처 양태(image capture aspects)에 대한 향상을 결정하기 위해 상기 이미지 파일의 상기 카메라 메타데이터를 분석하도록 구성된 이미지 분석 모듈; 및
    상기 적어도 하나의 프로세서를 포함하고, 상기 이미지 파일과 연관된 상기 이미지 캡처 양태에 대한 상기 향상에 관련된 피드백을 생성하도록 구성된 피드백 모듈을 포함하는
    시스템.
KR1020187029885A 2014-07-23 2015-07-22 추천을 위한 카메라 메타데이터의 사용 기법 KR102379647B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14/339,358 2014-07-23
US14/339,358 US10248862B2 (en) 2014-07-23 2014-07-23 Use of camera metadata for recommendations
PCT/US2015/041519 WO2016014657A1 (en) 2014-07-23 2015-07-22 Use of camera metadata for recommendations
KR1020177005058A KR20170034428A (ko) 2014-07-23 2015-07-22 추천을 위한 카메라 메타데이터의 사용 기법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020177005058A Division KR20170034428A (ko) 2014-07-23 2015-07-22 추천을 위한 카메라 메타데이터의 사용 기법

Publications (2)

Publication Number Publication Date
KR20180116466A true KR20180116466A (ko) 2018-10-24
KR102379647B1 KR102379647B1 (ko) 2022-03-28

Family

ID=55163690

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020187029885A KR102379647B1 (ko) 2014-07-23 2015-07-22 추천을 위한 카메라 메타데이터의 사용 기법
KR1020177005058A KR20170034428A (ko) 2014-07-23 2015-07-22 추천을 위한 카메라 메타데이터의 사용 기법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020177005058A KR20170034428A (ko) 2014-07-23 2015-07-22 추천을 위한 카메라 메타데이터의 사용 기법

Country Status (4)

Country Link
US (4) US10248862B2 (ko)
EP (1) EP3172619A4 (ko)
KR (2) KR102379647B1 (ko)
WO (1) WO2016014657A1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8708227B1 (en) 2006-10-31 2014-04-29 United Services Automobile Association (Usaa) Systems and methods for remote deposit of checks
US7873200B1 (en) 2006-10-31 2011-01-18 United Services Automobile Association (Usaa) Systems and methods for remote deposit of checks
US9058512B1 (en) 2007-09-28 2015-06-16 United Services Automobile Association (Usaa) Systems and methods for digital signature detection
US10380562B1 (en) 2008-02-07 2019-08-13 United Services Automobile Association (Usaa) Systems and methods for mobile deposit of negotiable instruments
US10504185B1 (en) 2008-09-08 2019-12-10 United Services Automobile Association (Usaa) Systems and methods for live video financial deposit
US8452689B1 (en) 2009-02-18 2013-05-28 United Services Automobile Association (Usaa) Systems and methods of check detection
US10956728B1 (en) 2009-03-04 2021-03-23 United Services Automobile Association (Usaa) Systems and methods of check processing with background removal
US9779392B1 (en) 2009-08-19 2017-10-03 United Services Automobile Association (Usaa) Apparatuses, methods and systems for a publishing and subscribing platform of depositing negotiable instruments
US8699779B1 (en) 2009-08-28 2014-04-15 United Services Automobile Association (Usaa) Systems and methods for alignment of check during mobile deposit
US9129340B1 (en) 2010-06-08 2015-09-08 United Services Automobile Association (Usaa) Apparatuses, methods and systems for remote deposit capture with enhanced image detection
US10380565B1 (en) 2012-01-05 2019-08-13 United Services Automobile Association (Usaa) System and method for storefront bank deposits
US9286514B1 (en) 2013-10-17 2016-03-15 United Services Automobile Association (Usaa) Character count determination for a digital image
US10248862B2 (en) 2014-07-23 2019-04-02 Ebay Inc. Use of camera metadata for recommendations
US9992407B2 (en) * 2015-10-01 2018-06-05 International Business Machines Corporation Image context based camera configuration
US10506281B1 (en) 2015-12-22 2019-12-10 United Services Automobile Association (Usaa) System and method for capturing audio or video data
US10380993B1 (en) 2016-01-22 2019-08-13 United Services Automobile Association (Usaa) Voice commands for the visually impaired to move a camera relative to a document
US10325420B1 (en) 2016-03-10 2019-06-18 United Services Automobile Association (Usaa) VIN scan recall notification
JP6808497B2 (ja) * 2017-01-05 2021-01-06 キヤノン株式会社 画像処理装置、画像処理装置の制御方法及びプログラム
US11436626B2 (en) * 2018-02-02 2022-09-06 Comenity Llc Authenticated account interaction via cellular text message
CN108391057B (zh) * 2018-04-04 2020-10-16 深圳市冠旭电子股份有限公司 摄像头拍摄控制方法、装置、智能设备及计算机存储介质
US11030752B1 (en) 2018-04-27 2021-06-08 United Services Automobile Association (Usaa) System, computing device, and method for document detection
US11010809B2 (en) * 2018-09-12 2021-05-18 L'oreal Advanced techniques for improved product photography, interactivity, and information distribution
WO2020245352A1 (en) * 2019-06-07 2020-12-10 Koninklijke Philips N.V. Patient sleep therapy mask selection tool
US11386473B2 (en) * 2019-10-24 2022-07-12 Shopify Inc. Systems and methods for providing product image recommendations
US11431894B2 (en) * 2020-02-06 2022-08-30 Palo Alto Research Center Incorporated System and method for smart-image capturing
US11900755B1 (en) 2020-11-30 2024-02-13 United Services Automobile Association (Usaa) System, computing device, and method for document detection and deposit processing
JP2023028152A (ja) * 2021-08-18 2023-03-03 キヤノン株式会社 画像処理装置、制御方法及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060239674A1 (en) * 2003-06-12 2006-10-26 Manson Susan E System and method for analyzing a digital image
US20090016565A1 (en) * 2007-07-11 2009-01-15 Sriram Kulumani Image analysis
US20120229655A1 (en) * 2011-03-08 2012-09-13 Neal Solomon System and methods for network computing interaction with camera
KR20130108673A (ko) * 2011-02-02 2013-10-04 이베이 인크. 로컬 인벤토리를 탐색하기 위한 메타데이터의 이용
KR20140023705A (ko) * 2012-08-17 2014-02-27 삼성전자주식회사 단말의 촬영 제어 방법 및 그 단말

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040174434A1 (en) 2002-12-18 2004-09-09 Walker Jay S. Systems and methods for suggesting meta-information to a camera user
US9910341B2 (en) * 2005-01-31 2018-03-06 The Invention Science Fund I, Llc Shared image device designation
US7761912B2 (en) * 2006-06-06 2010-07-20 Microsoft Corporation Reputation driven firewall
US20090160970A1 (en) 2007-12-20 2009-06-25 Fredlund John R Remote determination of image-acquisition settings and opportunities
KR20090107907A (ko) 2008-04-10 2009-10-14 삼성전자주식회사 메타 데이터에 기초한 디지털 이미지 개선 방법 및 화상형성장치
US8718383B2 (en) * 2008-08-06 2014-05-06 Obschestvo s ogranischennoi otvetstvennostiu “KUZNETCH” Image and website filter using image comparison
US8028246B2 (en) * 2008-08-21 2011-09-27 Eastman Kodak Company Concierge—shopping assistant
US8611678B2 (en) * 2010-03-25 2013-12-17 Apple Inc. Grouping digital media items based on shared features
US20130212094A1 (en) * 2011-08-19 2013-08-15 Qualcomm Incorporated Visual signatures for indoor positioning
US8484099B1 (en) 2012-02-06 2013-07-09 Amazon Technologies, Inc. Method, medium, and system for behavior-based recommendations of product upgrades
US20130286234A1 (en) 2012-04-25 2013-10-31 Atif Hussain Method and apparatus for remotely managing imaging
US20130321245A1 (en) 2012-06-04 2013-12-05 Fluor Technologies Corporation Mobile device for monitoring and controlling facility systems
US20140074866A1 (en) * 2012-09-10 2014-03-13 Cisco Technology, Inc. System and method for enhancing metadata in a video processing environment
US8928776B2 (en) 2012-11-21 2015-01-06 International Business Machines Corporation Camera resolution modification based on intended printing location
US9396528B2 (en) * 2013-03-15 2016-07-19 Digitalglobe, Inc. Atmospheric compensation in satellite imagery
US20140372183A1 (en) * 2013-06-17 2014-12-18 Motorola Solutions, Inc Trailer loading assessment and training
US9247136B2 (en) * 2013-08-21 2016-01-26 Xerox Corporation Automatic mobile photo capture using video analysis
US9384422B2 (en) * 2014-04-04 2016-07-05 Ebay Inc. Image evaluation
KR20150118813A (ko) * 2014-04-15 2015-10-23 삼성전자주식회사 햅틱 정보 운용 방법 및 이를 지원하는 전자 장치
US10142598B2 (en) * 2014-05-30 2018-11-27 Sony Corporation Wearable terminal device, photographing system, and photographing method
US10248862B2 (en) 2014-07-23 2019-04-02 Ebay Inc. Use of camera metadata for recommendations

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060239674A1 (en) * 2003-06-12 2006-10-26 Manson Susan E System and method for analyzing a digital image
US20090016565A1 (en) * 2007-07-11 2009-01-15 Sriram Kulumani Image analysis
KR20130108673A (ko) * 2011-02-02 2013-10-04 이베이 인크. 로컬 인벤토리를 탐색하기 위한 메타데이터의 이용
US20120229655A1 (en) * 2011-03-08 2012-09-13 Neal Solomon System and methods for network computing interaction with camera
KR20140023705A (ko) * 2012-08-17 2014-02-27 삼성전자주식회사 단말의 촬영 제어 방법 및 그 단말

Also Published As

Publication number Publication date
US20230306737A1 (en) 2023-09-28
US11704905B2 (en) 2023-07-18
EP3172619A1 (en) 2017-05-31
KR20170034428A (ko) 2017-03-28
US12002264B2 (en) 2024-06-04
WO2016014657A1 (en) 2016-01-28
US20190188476A1 (en) 2019-06-20
US20240312207A1 (en) 2024-09-19
EP3172619A4 (en) 2018-01-24
KR102379647B1 (ko) 2022-03-28
US20160026866A1 (en) 2016-01-28
US10248862B2 (en) 2019-04-02

Similar Documents

Publication Publication Date Title
US12002264B2 (en) Use of camera metadata for recommendations
US11368615B2 (en) Modifying image parameters using wearable device input
JP2022095738A (ja) デジタル画像撮影装置システム及び方法
AU2017401161B2 (en) Image display method and electronic device
US20120321131A1 (en) Image-related handling support system, information processing apparatus, and image-related handling support method
US9819897B2 (en) Digital photographing apparatus capable of reconfiguring image signal processor and method of controlling the same
US9521315B2 (en) Apparatus and method for forming new images by determining stylistic settings of existing images
WO2017047012A1 (ja) 撮像装置および撮像装置とサーバとを含むシステム
WO2015167975A1 (en) Rating photos for tasks based on content and adjacent signals
US20160350826A1 (en) High-quality image marketplace
CN110581950B (zh) 相机、选择相机设置的系统和方法
JP2015198300A (ja) 情報処理装置、撮像装置、画像管理システム
US9456148B1 (en) Multi-setting preview for image capture
US10552888B1 (en) System for determining resources from image data
JP2017184021A (ja) コンテンツ提供装置及びコンテンツ提供プログラム
JP5651975B2 (ja) 画像閲覧装置およびカメラ
WO2022019171A1 (ja) 情報処理装置、情報処理方法、プログラム
WO2016017224A1 (ja) 情報処理装置、情報処理方法およびプログラム
JP2017017471A (ja) 情報処理システム、及びその制御方法、プログラム
JP6644560B2 (ja) 動画像提供サーバ、動画像提供方法、及びプログラム
JP2023062380A (ja) 撮像装置、撮像装置の制御方法、及びプログラム
KR20140094331A (ko) 촬영자 식별 장치 및 방법
JP2012094955A (ja) カメラ

Legal Events

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