KR102445699B1 - 전자 장치 및 그의 동작 방법 - Google Patents

전자 장치 및 그의 동작 방법 Download PDF

Info

Publication number
KR102445699B1
KR102445699B1 KR1020160019141A KR20160019141A KR102445699B1 KR 102445699 B1 KR102445699 B1 KR 102445699B1 KR 1020160019141 A KR1020160019141 A KR 1020160019141A KR 20160019141 A KR20160019141 A KR 20160019141A KR 102445699 B1 KR102445699 B1 KR 102445699B1
Authority
KR
South Korea
Prior art keywords
image
still image
file
video
electronic device
Prior art date
Application number
KR1020160019141A
Other languages
English (en)
Other versions
KR20170097414A (ko
Inventor
정봉수
고봉혁
김창호
이우용
김형준
박승기
이정원
이후형
이흥기
류장희
유형진
조상흠
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020160019141A priority Critical patent/KR102445699B1/ko
Priority to PCT/KR2017/001647 priority patent/WO2017142302A1/en
Priority to EP17753463.3A priority patent/EP3409007B1/en
Priority to US15/434,459 priority patent/US10148879B2/en
Publication of KR20170097414A publication Critical patent/KR20170097414A/ko
Application granted granted Critical
Publication of KR102445699B1 publication Critical patent/KR102445699B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • H04N5/772Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera the recording apparatus and the television camera being placed in the same enclosure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2625Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects for obtaining an image which is composed of images from a temporal image sequence, e.g. for a stroboscopic effect
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/667Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234336Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/10Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/10Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths
    • H04N23/11Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths for generating image signals from visible and infrared light wavelengths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/57Mechanical or electrical details of cameras or camera modules specially adapted for being embedded in other devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • H04N23/632Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters for displaying or modifying preview images prior to image capturing, e.g. variety of image resolutions or capturing parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/633Control of cameras or camera modules by using electronic viewfinders for displaying additional information relating to control or operation of the camera
    • H04N5/23229
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/775Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Studio Devices (AREA)
  • Telephone Function (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

본 발명의 다양한 실시 예들은 전자 장치에서 영상 촬영 시 정지 영상과 동영상을 하나의 데이터로 제공하는 방법 및 장치에 관하여 개시한다. 본 발명의 다양한 실시 예들에 따르면, 전자 장치에 있어서, 카메라 모듈; 디스플레이; 메모리; 및 상기 카메라 모듈, 상기 디스플레이, 및 상기 메모리와 기능적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 촬영 모드 진입에 응답하여 상기 카메라 모듈을 통해 영상을 획득하고, 획득된 영상을 상기 디스플레이를 통해 프리뷰 영상으로 표시하고, 정지 영상을 촬영하는 동작 지시에 응답하여, 상기 영상으로부터 정지 영상을 획득하고, 상기 프리뷰 영상의 적어도 일부로부터 동영상을 획득하고, 상기 정지 영상과 상기 동영상에 기초하여 이미지 형식의 정지 영상 파일을 생성하고, 및 상기 정지 영상 파일을 상기 메모리에 저장하도록 구성할 수 있다. 다양한 실시 예들이 가능하다.

Description

전자 장치 및 그의 동작 방법{ELECTRONIC DEVICE AND OPERATING METHOD THEREOF}
본 발명의 다양한 실시 예들은 전자 장치에서 영상 촬영 시 정지 영상과 동영상을 하나의 데이터로 제공하는 방법 및 장치에 관하여 개시한다.
최근 디지털 기술의 발달과 함께 이동통신 단말기, 스마트폰(smart phone), 태블릿(tablet) PC(personal computer), 노트북(notebook), 웨어러블 장치(wearable device) 또는 디지털 카메라(digital camera) 등과 같은 다양한 유형의 전자 장치가 널리 사용되고 있다. 전자 장치는 성능 발전과 이에 따른 카메라 기술의 발전으로 촬영 가능한 카메라의 해상도가 증가하고 있다. 또한 최근에는 소셜 네트워크 서비스(SNS(social network services))의 발달로 인하여, 사용자는 카메라를 사용하여 촬영한 정지 영상과 동영상을 공유하고 있다. 최근에는, 예를 들면, 4K와 같은 높은 해상도의 동영상을 촬영(예: 레코딩(recording))하여 저장하고, 저장된 동영상에서 순간의 의미 있는 스틸 이미지를 추출하여, 정지 영상과 동영상을 동시에 촬영하는 것과 같은 기능이 제공되고 있다.
하지만, 종래의 방식은 동영상을 위한 레코딩 동작으로 인하여 추출된 스틸 이미지의 화질 열화가 발생할 수 있다. 예를 들면, 정지 영상과 동영상을 동시에 저장하는 경우 정지 영상(예: 스틸 이미지)의 화질, 슈팅 속도를 낮추고 동영상의 프레임 레이트(frame rate), 또는 해상도 등을 낮추어 획득하는 방식으로 스틸 이미지의 화질 열화가 발생할 수 있다. 또한 사용자는 기존에 익숙한 사진 촬영 경험이 아닌 레코딩 동작을 수행해야 하는 문제가 있다.
다양한 실시 예들에서는, 전자 장치에서 정지 영상 촬영과 함께 동영상을 동시에 획득할 수 있는 장치 및 방법에 관하여 개시한다.
다양한 실시 예들에서는, 전자 장치에서 정지 영상 촬영 시 시스템 성능을 극대화 하면서, 동시에 동영상 획득이 가능한 장치 및 방법에 관하여 개시한다.
다양한 실시 예들에서는, 전자 장치에서 정지 영상 촬영 시 정지 영상을 촬영하기 전의 일정 시간만큼의 영상을 동영상으로 저장할 수 있는 장치 및 방법에 관하여 개시한다.
다양한 실시 예들에서는, 전자 장치에서 매우 짧은 촬영 간격에서도 정지 영상 이전의 동영상을 저장할 수 있는 장치 및 방법에 관하여 개시한다.
다양한 실시 예들에서는, 정지 영상과 동영상을 하나의 정지 영상 파일로 생성하여 저장하고, 정지 영상 파일에 저장된 동영상을 재생 가능한 장치 및 방법에 관하여 개시한다.
다양한 실시 예들에서는, 정지 영상을 처리하는 파이프라인(pipeline)과 동영상 레코딩을 수행하는 파이프라인을 분리한 비동기식 처리를 통행, 영상 촬영 간 속도 지연을 최소화 할 수 있는 장치 및 방법에 관하여 개시한다.
본 발명의 다양한 실시 예들에 따른 전자 장치는, 카메라; 디스플레이; 적어도 하나의 메모리; 및 상기 카메라, 상기 디스플레이, 및 상기 메모리와 기능적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 카메라의 실행에 대응하는 제1 입력에 응답하여 상기 카메라를 통해 적어도 하나의 외부 객체에 대한 영상을 획득하고, 상기 획득된 영상의 적어도 일부 영상을 상기 디스플레이를 통해 프리뷰 영상으로 표시하고, 상기 표시하는 동작은 상기 적어도 일부 영상을 상기 적어도 하나의 메모리에 버퍼링하는 동작을 포함하고, 상기 프리뷰 영상이 표시되는 동안에, 영상의 촬영에 대응하는 제2 입력에 응답하여, 상기 획득된 영상을 이용하여 상기 적어도 하나의 외부 객체에 대한 정지 영상을 획득하고, 상기 버퍼링된 적어도 일부 영상을 이용하여 상기 적어도 하나의 외부 객체에 대한 동영상을 획득하고,상기 정지 영상과 상기 동영상에 기초하여 이미지 형식의 정지 영상 파일을 생성하고, 및 상기 정지 영상 파일을 상기 적어도 하나의 메모리에 저장하도록 구성할 수 있다.
본 발명의 다양한 실시 예들에 따른 전자 장치는, 카메라 모듈; 디스플레이; 메모리; 및 상기 카메라 모듈, 상기 디스플레이, 및 상기 메모리와 기능적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 촬영 모드 진입에 응답하여 상기 카메라 모듈을 통해 영상을 획득하고, 획득된 영상을 상기 디스플레이를 통해 프리뷰 영상으로 표시하고, 정지 영상을 촬영하는 동작 지시에 응답하여, 상기 영상으로부터 정지 영상을 획득하고, 상기 프리뷰 영상의 적어도 일부로부터 동영상을 획득하고, 상기 정지 영상과 상기 동영상에 기초하여 이미지 형식의 정지 영상 파일을 생성하고, 및 상기 정지 영상 파일을 상기 메모리에 저장하도록 구성할 수 있다.
본 발명의 다양한 실시 예들에 따른 전자 장치의 동작 방법은, 촬영 모드 진입에 응답하여 카메라 모듈을 통해 영상을 획득하는 동작, 획득된 영상을 디스플레이를 통해 프리뷰 영상으로 표시하는 동작, 정지 영상을 촬영하는 동작 지시에 응답하여, 상기 영상으로부터 정지 영상을 획득하고, 상기 프리뷰 영상의 적어도 일부로부터 동영상을 획득하는 동작, 상기 정지 영상과 상기 동영상에 기초하여 이미지 형식의 정지 영상 파일을 생성하는 동작, 및 상기 정지 영상 파일을 메모리에 저장하는 동작을 포함할 수 있다.
상기와 같은 과제를 해결하기 위하여 본 발명의 다양한 실시 예들에서는, 상기 방법을 프로세서에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체를 포함할 수 있다.
다양한 실시 예들에 따른 전자 장치 및 그의 동작 방법에 따르면, 사용자는 일반적인 사진 촬영 경험과 동일한 경험으로, 정지 영상과 촬영된 정지 영상 이전의 일정 시간만큼의 동영상을 동시에 획득할 수 있어, 사용자에게 다양한 경험을 제공할 수 있다. 다양한 실시 예들에 따르면, 사용자에 의한 정지 영상 촬영 시, 정지 영상과 동영상을 하나의 정지 영상 파일(예: jpeg 파일)로 생성하여 저장하고, 정지 영상 파일의 정지 영상과 정지 영상에 관련된 동영상을 함께 제공하여, 사용자에게 다양한 경험을 제공할 수 있다.
다양한 실시 예들에 따르면, 정지 영상을 처리하는 파이프라인(pipeline)과 동영상 레코딩을 수행하는 파이프라인을 분리한 비동기식 처리를 제공할 수 있다. 이에 따라, 다양한 실시 예들에서는, 영상 촬영 간 속도 지연을 최소화 할 수 있고, 기존의 촬영시퀀스를 개선하여 영상 촬영 속도의 지연을 주지 않으면서, 사용자에 의한 빠른 영상 촬영을 제공할 수 있고, 정지 영상과 동영상을 하나의 결과물로 빠르게 저장할 수 있다.
도 1은 다양한 실시 예들에 따른 전자 장치를 포함하는 네트워크 환경을 도시하는 도면이다.
도 2는 다양한 실시 예들에 따른 전자 장치의 블록도이다.
도 3은 다양한 실시 예들에 따른 프로그램 모듈의 블록도이다.
도 4는 본 발명의 다양한 실시 예들에 따른 전자 장치의 구성을 개략적으로 도시하는 도면이다.
도 5는 본 발명의 다양한 실시 예들에 따른 전자 장치에서 데이터 처리 구조를 설명하기 위해 도시하는 도면이다.
도 6a 및 도 6b는 본 발명의 다양한 실시 예들에 따른 정지 영상 파일 구조의 예시를 도시하는 도면들이다.
도 7은 본 발명의 다양한 실시 예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
도 8a 및 도 8b는 본 발명의 다양한 실시 예들에 따른 전자 장치의 데이터 생성 동작을 설명하기 위해 도시하는 도면들이다.
도 9 및 도 10은 본 발명의 다양한 실시 예들에 따른 전자 장치에서 데이터 생성을 위한 구조를 설명하기 위해 도시하는 도면들이다.
도 11은 본 발명의 다양한 실시 예들에 따른 전자 장치에서 동영상 버퍼링 동작을 설명하기 위해 도시하는 도면이다.
도 12는 본 발명의 다양한 실시 예들에 따른 전자 장치에서 동영상 버퍼링 동작을 설명하기 위해 도시하는 도면이다.
도 13은 본 발명의 다양한 실시 예들에 따른 전자 장치에서 동영상 버퍼링 동작을 설명하기 위해 도시하는 도면이다.
도 14는 본 발명의 다양한 실시 예들에 따른 전자 장치에서 동영상 버퍼링 동작을 설명하기 위해 도시하는 도면이다.
도 15는 본 발명의 다양한 실시 예들에 따른 전자 장치에서 데이터 처리 방법을 도시하는 흐름도이다.
도 16은 본 발명의 다양한 실시 예들에 따른 전자 장치에서 촬영 방식에 따라 동영상을 획득하는 동작을 도시하는 흐름도이다.
도 17은 본 발명의 다양한 실시 예들에 따른 전자 장치에서 다른 버퍼링 동작을 설명하기 위해 도시하는 도면이다.
도 18은 본 발명의 다양한 실시 예들에 따른 전자 장치에서 영상을 제공하는 화면 예시를 도시하는 도면이다.
도 19는 본 발명의 다양한 실시 예들에 따른 전자 장치에서 영상을 제공하는 동작을 설명하기 위해 도시하는 도면이다.
도 20은 본 발명의 다양한 실시 예들에 따른 전자 장치에서 영상을 제공하는 방법을 도시하는 흐름도이다.
도 21은 본 발명의 다양한 실시 예들에 따른 전자 장치에서 데이터를 공유하는 동작을 도시하는 흐름도이다.
도 22, 도 23 및 도 24는 본 발명의 다양한 실시 예들에 따른 전자 장치에서 영상의 비동기식 처리 동작을 설명하기 위해 도시하는 도면들이다.
이하, 본 문서의 다양한 실시 예들이 첨부된 도면을 참조하여 기재된다. 실시 예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B" 또는 "A 및/또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째", 또는 "둘째" 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서, "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어(hardware)적 또는 소프트웨어(software)적으로 "~에 적합한", "~하는 능력을 가지는", "~하도록 변경된", "~하도록 만들어진", "~를 할 수 있는", 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU(central processing unit) 또는 AP(application processor))를 의미할 수 있다.
본 문서의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(HMD(head-mounted-device), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식형 회로(implantable circuit) 중 적어도 하나를 포함할 수 있다. 어떤 실시 예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(예: 혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM(automated teller machine), 상점의 POS(point of sales), 또는 사물 인터넷(IoT(internet of things)) 장치(예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다. 어떤 실시 예에 따르면, 전자 장치는 가구, 건물/구조물 또는 자동차의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터, 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예들에서, 전자 장치는 플렉서블(flexible)하거나, 또는 전술한 다양한 장치들 중 둘 이상의 조합일 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 다양한 실시 예들에 따른 전자 장치를 포함하는 네트워크 환경을 도시하는 도면이다.
도 1을 참조하여, 다양한 실시 예들에서의, 네트워크 환경(100) 내의 전자 장치(101)가 기재된다. 전자 장치(101)는 버스(110), 프로세서(120), 메모리(130), 입출력 인터페이스(150), 디스플레이(160), 및 통신 인터페이스(170)를 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(101)는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가적으로 구비할 수 있다.
버스(110)는 구성요소들(110-170)을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 또는 데이터)을 전달하는 회로를 포함할 수 있다.
프로세서(120)는, 중앙처리장치(CPU), 어플리케이션 프로세서(AP), 또는 커뮤니케이션 프로세서(CP(communication processor)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서(120)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
메모리(130)는, 휘발성 메모리(volatile memory) 및/또는 비휘발성 메모리(non-volatile memory)를 포함할 수 있다. 메모리(130)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시 예에 따르면, 메모리(130)는 소프트웨어 및/또는 프로그램(140)을 저장할 수 있다. 프로그램(140)은, 예를 들면, 커널(kernel)(141), 미들웨어(middleware)(143), 어플리케이션 프로그래밍 인터페이스(API(application programming interface))(145), 및/또는 어플리케이션 프로그램(application program)(또는 "어플리케이션")(147) 등을 포함할 수 있다. 커널(141), 미들웨어(143), 또는 API(145)의 적어도 일부는, 운영 시스템(OS(operating system))으로 지칭될 수 있다.
커널(141)은, 예를 들면, 다른 프로그램들(예: 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147))에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)을 제어 또는 관리할 수 있다. 또한, 커널(141)은 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147)에서 전자 장치(101)의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
미들웨어(143)는, 예를 들면, API(145) 또는 어플리케이션 프로그램(147)이 커널(141)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 미들웨어(143)는 어플리케이션 프로그램(147)으로부터 수신된 하나 이상의 작업 요청들을 우선 순위에 따라 처리할 수 있다. 예를 들면, 미들웨어(143)는 어플리케이션 프로그램(147) 중 적어도 하나에 전자 장치(101)의 시스템 리소스(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)를 사용할 수 있는 우선 순위를 부여하고, 상기 하나 이상의 작업 요청들을 처리할 수 있다. API(145)는 어플리케이션(147)이 커널(141) 또는 미들웨어(143)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(function)(예: 명령어)를 포함할 수 있다.
입출력 인터페이스(150)는, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치(101)의 다른 구성요소(들)에 전달하거나, 또는 전자 장치(101)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
디스플레이(160)는, 예를 들면, 액정 디스플레이(LCD(liquid crystal display)), 발광 다이오드(LED(light emitting diode)) 디스플레이, 유기 발광 다이오드(OLED(organic LED)) 디스플레이, 또는 마이크로 전자기계 시스템(MEMS(micro-electromechanical systems)) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이(160)는, 예를 들면, 사용자에게 각종 콘텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 및/또는 심볼 등)을 표시할 수 있다. 디스플레이(160)는, 터치 스크린(touchscreen)을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스처, 근접, 또는 호버링 입력을 수신할 수 있다.
통신 인터페이스(170)는, 예를 들면, 전자 장치(101)와 외부 장치(예: 제 1 외부 전자 장치(102), 제 2 외부 전자 장치(104), 또는 서버(106)) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스(170)는 무선 통신 또는 유선 통신을 통해서 네트워크(162)에 연결되어 외부 장치(예: 제 2 외부 전자 장치(104) 또는 서버(106))와 통신할 수 있다.
무선 통신은, 예를 들면, LTE(long term evolution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(wireless broadband), 또는 GSM(global system for mobile communications) 등 중 적어도 하나를 사용하는 셀룰러 통신을 포함할 수 있다. 한 실시 예에 따르면, 무선 통신은, 예를 들면, WiFi(wireless fidelity), 블루투스(Bluetooth), 블루투스 저전력(BLE(Bluetooth low energy)), 지그비(Zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(magnetic secure transmission), 라디오 프리퀀시(RF(radio frequency)), 또는 보디 에어리어 네트워크(BAN(body area network)) 중 적어도 하나를 포함할 수 있다. 한 실시 예에 따르면, 무선 통신은 GNSS를 포함할 수 있다. GNSS는, 예를 들면, GPS(global positioning system), Glonass(global navigation satellite system), Beidou Navigation Satellite System(이하 “Beidou”) 또는 Galileo, the European global satellite-based navigation system일 수 있다. 이하, 본 문서에서는, “GPS”는 “GNSS”와 상호 호환적으로 사용될 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 전력선 통신(power line communication), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다.
네트워크(162)는 텔레커뮤니케이션 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(예: LAN(local area network) 또는 WAN(wide area network)), 인터넷, 또는 텔레폰 네트워크(telephone network) 중 적어도 하나를 포함할 수 있다.
제 1 및 제 2 외부 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 다양한 실시 예들에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치(102, 104), 또는 서버(106)에서 실행될 수 있다. 한 실시 예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치(102, 104), 또는 서버(106))에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치(102, 104), 또는 서버(106))는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅(cloud computing), 분산 컴퓨팅(distributed computing), 또는 클라이언트-서버 컴퓨팅(client-server computing) 기술이 이용될 수 있다.
도 2는 다양한 실시 예들에 따른 전자 장치의 블록도이다.
전자 장치(201)는, 예를 들면, 도 1에 도시된 전자 장치(101)의 전체 또는 일부를 포함할 수 있다. 전자 장치(201)는 하나 이상의 프로세서(예: AP)(210), 통신 모듈(220), 가입자 식별 모듈(224), 메모리(230), 센서 모듈(240), 입력 장치(250), 디스플레이(260), 인터페이스(270), 오디오 모듈(280), 카메라 모듈(291), 전력 관리 모듈(295), 배터리(296), 인디케이터(297), 및 모터(298) 를 포함할 수 있다.
프로세서(210)는, 예를 들면, 운영 체제 또는 어플리케이션 프로그램을 구동하여 프로세서(210)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(210)는, 예를 들면, SoC(system on chip)로 구현될 수 있다. 한 실시 예에 따르면, 프로세서(210)는 GPU(graphic processing unit) 및/또는 이미지 시그널 프로세서(ISP(image signal processor))를 더 포함할 수 있다. 프로세서(210)는 도 2에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈(221))를 포함할 수도 있다. 프로세서(210)는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드하여 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다.
통신 모듈(220)은, 예를 들면, 도 1에 도시된 통신 인터페이스(170)와 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈(220)은, 예를 들면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227), NFC 모듈(228) 및 RF 모듈(229)을 포함할 수 있다.
셀룰러 모듈(221)은, 예를 들면, 통신 네트워크를 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈(221)은 가입자 식별 모듈(예: SIM(subscriber identification module) 카드)(224)을 이용하여 통신 네트워크 내에서 전자 장치(201)의 구별 및 인증을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈(221)은 프로세서(210)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈(221)은 커뮤니케이션 프로세서(CP)를 포함할 수 있다. 어떤 실시 예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 일부(예: 두 개 이상)는 하나의 IC(integrated chip) 또는 IC 패키지 내에 포함될 수 있다.
RF 모듈(229)은, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈(229)은, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터, LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시 예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다.
가입자 식별 모듈(224)은, 예를 들면, 가입자 식별 모듈을 포함하는 카드 또는 임베디드 SIM을 포함할 수 있으며, 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
메모리(230)(예: 메모리(130))는, 예를 들면, 내장 메모리(232) 또는 외장 메모리(234)를 포함할 수 있다. 내장 메모리(232)는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM(random access memory)), SRAM(synchronous RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(예: OTPROM(one time programmable ROM(read only memory)), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically EPROM), mask ROM, flash ROM, 플래시 메모리, 하드 드라이브, 또는 솔리드 스테이트 드라이브(SSD(solid state drive)) 중 적어도 하나를 포함할 수 있다. 외장 메모리(234)는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱 등을 포함할 수 있다. 외장 메모리(234)는 다양한 인터페이스를 통하여 전자 장치(201)와 기능적으로 또는 물리적으로 연결될 수 있다.
센서 모듈(240)은, 예를 들면, 물리량을 계측하거나 전자 장치(201)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서 모듈(240)은, 예를 들면, 제스처 센서(gesture sensor)(240A), 자이로 센서(gyro sensor)(240B), 기압 센서(barometer sensor)(240C), 마그네틱 센서(magnetic sensor)(240D), 가속도 센서(acceleration sensor)(240E), 그립 센서(grip sensor)(240F), 근접 센서(proximity sensor)(240G), 컬러 센서(color sensor)(240H)(예: RGB(red, green, blue) 센서), 생체 센서(medical sensor)(240I), 온/습도 센서(temperature-humidity sensor)(240J), 조도 센서(illuminance sensor)(240K), 또는 UV(ultra violet) 센서(240M) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로(additionally or alternatively), 센서 모듈(240)은, 예를 들면, 후각(e-nose) 센서, 일렉트로마이오그라피(EMG(electromyography)) 센서, 일렉트로엔씨팔로그램 센서(EEG(electroencephalogram) sensor), 일렉트로카디오그램 센서(ECG(electrocardiogram) sensor), IR(infrared) 센서, 홍채 센서(iris scan sensor) 및/또는 지문 센서(finger scan sensor)를 포함할 수 있다. 센서 모듈(240)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(201)는 프로세서(210)의 일부로서 또는 별도로, 센서 모듈(240)을 제어하도록 구성된 프로세서를 더 포함하여, 프로세서(210)가 슬립(sleep) 상태에 있는 동안, 센서 모듈(240)을 제어할 수 있다.
입력 장치(250)는, 예를 들면, 터치 패널(252), (디지털) 펜 센서(254), 키(256), 또는 초음파 입력 장치(258)를 포함할 수 있다. 터치 패널(252)은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널(252)은 제어 회로를 더 포함할 수도 있다. 터치 패널(252)은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다. (디지털) 펜 센서(254)는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키(256)는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 초음파 입력 장치(258)는 마이크(288)를 통해, 입력 도구에서 발생된 초음파를 감지하여, 상기 감지된 초음파에 대응하는 데이터를 확인할 수 있다.
디스플레이(260)(예: 디스플레이(160))는 패널(262), 홀로그램 장치(264), 프로젝터(266), 및/또는 이들을 제어하기 위한 제어 회로를 포함할 수 있다.
패널(262)은, 예를 들면, 유연하게, 투명하게, 또는 착용할 수 있게 구현될 수 있다. 패널(262)은 터치 패널(252)과 하나 이상의 모듈로 구성될 수 있다. 한 실시 예에 따르면, 패널(262)은 사용자의 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서(또는 포스 센서)를 포함할 수 있다. 상기 압력 센서는 터치 패널(252)과 일체형으로 구현되거나, 또는 터치 패널(252)과는 별도의 하나 이상의 센서로 구현될 수 있다. 홀로그램 장치(264)는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터(266)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 전자 장치(201)의 내부 또는 외부에 위치할 수 있다.
인터페이스(270)는, 예를 들면, HDMI(272), USB(274), 광 인터페이스(optical interface)(276), 또는 D-sub(D-subminiature)(278)를 포함할 수 있다. 인터페이스(270)는, 예를 들면, 도 1에 도시된 통신 인터페이스(170)에 포함될 수 있다. 추가적으로 또는 대체적으로, 인터페이스(270)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD카드/MMC(multi-media card) 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
오디오 모듈(280)은, 예를 들면, 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈(280)의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스(145)에 포함될 수 있다. 오디오 모듈(280)은, 예를 들면, 스피커(282), 리시버(284), 이어폰(286), 또는 마이크(288) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
카메라 모듈(291)은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시 예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, 이미지 시그널 프로세서(ISP), 또는 플래시(예: LED 또는 xenon lamp 등)를 포함할 수 있다.
전력 관리 모듈(295)은, 예를 들면, 전자 장치(201)의 전력을 관리할 수 있다. 한 실시 예에 따르면, 전력 관리 모듈(295)은 PMIC(power management integrated circuit), 충전 IC, 배터리 또는 연료 게이지(fuel gauge)를 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리(296)의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리(296)는, 예를 들면, 충전식 전지(rechargeable battery) 및/또는 태양 전지(solar battery)를 포함할 수 있다.
인디케이터(297)는 전자 장치(201) 또는 그 일부(예: 프로세서(210))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터(298)는 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동, 또는 햅틱 효과 등을 발생시킬 수 있다. 전자 장치(201)는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어플로(mediaFloTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있는 모바일 TV 지원 장치(예: GPU)를 포함할 수 있다.
본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시 예들에서, 전자 장치(예: 전자 장치(101, 201))는 일부 구성요소가 생략되거나, 추가적인 구성요소를 더 포함하거나, 또는, 구성요소들 중 일부가 결합되어 하나의 개체로 구성되되, 결합 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.
도 3은 다양한 실시 예들에 따른 프로그램 모듈의 블록도이다.
한 실시 예에 따르면, 프로그램 모듈(310)(예: 프로그램(140))은 전자 장치(예: 전자 장치(101, 201))에 관련된 자원을 제어하는 운영 체제 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램(147))을 포함할 수 있다. 운영 체제는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다.
도 3을 참조하면, 프로그램 모듈(310)은 커널(320)(예: 커널(141)), 미들웨어(330)(예: 미들웨어(143)), API(360)(예: API(145)), 및/또는 어플리케이션(370)(예: 어플리케이션 프로그램(147))을 포함할 수 있다. 프로그램 모듈(310)의 적어도 일부는 전자 장치 상에 프리로드(preload) 되거나, 외부 전자 장치(예: 전자 장치(102, 104), 서버(106) 등)로부터 다운로드(download) 가능하다.
커널(320)은, 예를 들면, 시스템 리소스 매니저(321) 및/또는 디바이스 드라이버(323)를 포함할 수 있다. 시스템 리소스 매니저(321)는 시스템 리소스의 제어, 할당, 또는 회수를 수행할 수 있다. 한 실시 예에 따르면, 시스템 리소스 매니저(321)는 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부를 포함할 수 있다. 디바이스 드라이버(323)는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다. 미들웨어(330)는, 예를 들면, 어플리케이션(370)이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션(370)이 전자 장치 내부의 제한된 시스템 자원을 사용할 수 있도록 API(360)를 통해 다양한 기능들을 어플리케이션(370)으로 제공할 수 있다.
한 실시 예에 따르면, 미들웨어(330)는 런타임 라이브러리(runtime library)(335), 어플리케이션 매니저(application manager)(341), 윈도우 매니저(window manager)(342), 멀티미디어 매니저(multimedia manager)(343), 리소스 매니저(resource manager)(344), 파워 매니저(power manager)(345), 데이터베이스 매니저(database manager)(346), 패키지 매니저(package manager)(347), 커넥티비티 매니저(connectivity manager)(348), 노티피케이션 매니저(notification manager)(349), 로케이션 매니저(location manager)(350), 그래픽 매니저(graphic manager)(351), 또는 시큐리티 매니저(security manager)(352) 중 적어도 하나를 포함할 수 있다.
런타임 라이브러리(335)는, 예를 들면, 어플리케이션(370)이 실행되는 동안에 프로그래밍 언어(programming language)를 통해 새로운 기능을 추가하기 위해 컴파일러(compiler)가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리(335)는 입출력 관리, 메모리 관리, 또는 산술 함수 처리를 수행할 수 있다.
어플리케이션 매니저(341)는, 예를 들면, 어플리케이션(370)의 생명 주기(life cycle)를 관리할 수 있다. 윈도우 매니저(342)는 화면에서 사용되는 GUI(graphical user interface) 자원을 관리할 수 있다. 멀티미디어 매니저(343)는 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱을 이용하여 미디어 파일의 인코딩 또는 디코딩을 수행할 수 있다. 리소스 매니저(344)는 어플리케이션(370)의 소스 코드 또는 메모리의 공간을 관리할 수 있다. 파워 매니저(345)는, 예를 들면, 배터리의 용량 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보를 제공할 수 있다. 한 실시 예에 따르면, 파워 매니저(345)는 바이오스(BIOS(basic input/output system))와 연동할 수 있다. 데이터베이스 매니저(346)는, 예를 들면, 어플리케이션(370)에서 사용될 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(347)는 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 갱신을 관리할 수 있다.
커넥티비티 매니저(348)는, 예를 들면, 무선 연결을 관리할 수 있다. 노티피케이션 매니저(349)는, 예를 들면, 도착 메시지, 약속, 근접성 알림 등의 이벤트를 사용자에게 제공할 수 있다. 로케이션 매니저(350)는, 예를 들면, 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저(351)는, 예를 들면, 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 시큐리티 매니저(352)는, 예를 들면, 시스템 보안 또는 사용자 인증을 제공할 수 있다.
한 실시 예에 따르면, 미들웨어(330)는 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화(telephony) 매니저 또는 전술된 구성요소들의 기능들의 조합을 형성할 수 있는 하는 미들웨어 모듈을 포함할 수 있다. 한 실시 예에 따르면, 미들웨어(330)는 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 미들웨어(330)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다.
API(360)는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
어플리케이션(370)은, 예를 들면, 홈(371), 다이얼러(372), SMS/MMS(373), IM(instant message)(374), 브라우저(375), 카메라(376), 알람(377), 컨택트(378), 음성 다이얼(379), 이메일(380), 달력(381), 미디어 플레이어(382), 앨범(383), 와치(384), 헬스 케어(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보(예: 기압, 습도, 또는 온도 정보) 제공 어플리케이션을 포함할 수 있다.
한 실시 예에 따르면, 어플리케이션(370)은 전자 장치와 외부 전자 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치에 특정 정보를 전달하기 위한 노티피케이션 릴레이(notification relay) 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다. 예를 들면, 노티피케이션 릴레이 어플리케이션은 전자 장치의 다른 어플리케이션에서 발생된 알림 정보를 외부 전자 장치로 전달하거나, 또는 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 전자 장치의 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴-온(turn-on)/턴-오프(turn-off) 또는 디스플레이의 밝기(또는, 해상도) 조절), 또는 외부 전자 장치에서 동작하는 어플리케이션을 설치, 삭제, 또는 갱신할 수 있다. 한 실시 예에 따르면, 어플리케이션(370)은 외부 전자 장치의 속성에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션)을 포함할 수 있다.
한 실시 예에 따르면, 어플리케이션(370)은 외부 전자 장치로부터 수신된 어플리케이션을 포함할 수 있다. 프로그램 모듈(310)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어(예: 프로세서(210)), 또는 이들 중 적어도 둘 이상의 조합으로 구현(예: 실행)될 수 있으며, 하나 이상의 기능을 수행하기 위한 모듈, 프로그램, 루틴, 명령어 세트 또는 프로세스를 포함할 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛(unit)을 포함하며, 예를 들면, 로직(logic), 논리 블록(logic block), 부품(component), 또는 회로(circuit) 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있다. 다양한 실시 예들에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체(예: 메모리(130))에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical recording media)(예: CD-ROM(compact disc read only memory), DVD(digital versatile disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 내장 메모리 등을 포함할 수 있다. 명령어는 컴파일러에 의해 만들어지는 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 다양한 실시 예들에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
제안하는 본 발명의 다양한 실시 예들에서는, 전자 장치에서 정지 영상(예: 스틸 이미지) 촬영 시, 정지 영상 촬영 시점을 기준으로 이전 또는 이후의 일정 시간만큼의 영상을 동영상으로 저장 가능한 장치 및 방법에 관하여 개시한다. 다양한 실시 예들에 따르면, 전자 장치에서 영상 촬영 시, 매우 짧은 촬영 간격(예: 연속 촬영, 스피드 샷 등)에서도 정지 영상과 동영상을 함께 획득하여 저장할 수 있다. 다양한 실시 예들에 따르면, 정지 영상과 동영상을 하나의 정지 영상 파일로 생성하여 저장하고, 정지 영상 파일에 저장된 정지 영상과 동영상을 재생하도록 할 수 있다. 다양한 실시 예들에 따르면, 정지 영상과 동영상을 별도로 구분하여 저장하고, 정지 영상에 동영상의 연결 정보(예: 링크 정보 등)를 추가하여, 정지 영상과 정지 영상에 연결된 동영상을 재생하도록 할 수도 있다.
본 발명의 다양한 실시 예들에 따른 전자 장치는, 카메라 기능을 지원하며, AP, CP, GPU, 및 CPU 등의 다양한 프로세서 중 하나 또는 그 이상을 사용하는 모든 장치를 포함할 수 있다. 예를 들면, 다양한 실시 예들에 따른 전자 장치는, 카메라 기능을 지원하는 모든 정보통신기기, 멀티미디어기기, 웨어러블 장치(wearable device), IoT 기기, 또는 그에 대한 응용기기를 포함할 수 있다.
이하에서, 첨부 도면을 참조하여 본 발명의 다양한 실시 예들에 따른 동작 방법 및 장치에 대하여 살펴보기로 한다. 하지만, 본 발명의 다양한 실시 예들이 하기에서 기술하는 내용에 의해 제한되거나 한정되는 것은 아니므로, 하기의 실시 예에 의거하여 다양한 실시 예들에 적용할 수 있음에 유의하여야 한다. 이하에서 설명되는 본 발명의 다양한 실시 예들에서는 하드웨어적인 접근 방법을 예시로서 설명한다. 하지만, 본 발명의 다양한 실시 예들에서는 하드웨어와 소프트웨어를 모두 사용하는 기술을 포함하고 있으므로, 본 발명의 다양한 실시 예들이 소프트웨어 기반의 접근 방법을 제외하는 것은 아니다.
도 4는 본 발명의 다양한 실시 예들에 따른 전자 장치의 구성을 개략적으로 도시하는 도면이다.
도 4를 참조하면, 본 발명의 다양한 실시 예들에 따른 전자 장치(400)는, 예를 들면, 무선 통신부(410), 사용자 입력부(420), 터치스크린(630), 오디오 처리부(440), 메모리(450), 인터페이스부(460), 카메라 모듈(470), 제어부(480)(예: 프로세서(120)), 그리고 전원 공급부(490)를 포함할 수 있다. 본 발명의 다양한 실시 예들에서 전자 장치(400)는 도 4에 도시된 구성들이 필수적인 것은 아니어서, 도 4에 도시된 구성들보다 많은 구성들을 가지거나, 또는 그보다 적은 구성들을 가지는 것으로 구현될 수 있다.
무선 통신부(410)는, 예를 들면, 도 2의 통신 모듈(220)과 동일 또는 유사한 구성을 가질 수 있다. 무선 통신부(410)는 전자 장치(400)와 다른 외부 장치(예: 다른 전자 장치(102, 104), 서버(106)) 사이의 무선 통신을 가능하게 하는 하나 또는 그 이상의 모듈들을 포함할 수 있다. 예를 들어, 무선 통신부(410)는 이동통신 모듈(411), 무선 랜(WLAN, wireless local area network) 모듈(413), 근거리 통신 모듈(415), 그리고 위치 산출 모듈(417) 등을 포함하여 구성될 수 있다. 다양한 실시 예들에서 무선 통신부(410)는 주변의 외부 장치와 통신을 수행하기 위한 모듈(예: 근거리 통신 모듈, 원거리 통신 모듈 등)을 포함할 수 있다.
이동통신 모듈(411)은, 예를 들면, 도 2의 셀룰러 모듈(221)과 동일 또는 유사한 구성을 가질 수 있다. 이동통신 모듈(411)은 이동통신 네트워크 상에서 기지국, 외부 전자 장치(예: 다른 전자 장치(104)), 그리고 다양한 서버들(예: 어플리케이션 서버, 관리 서버, 통합 서버(integration server), 프로바이더 서버(provider server), 컨텐츠 서버(content server), 인터넷 서버(internet server), 또는 클라우드 서버(cloud server) 등) 중 적어도 하나와 무선 신호를 송수신할 수 있다. 무선 신호는 음성 신호, 데이터 신호 또는 다양한 형태의 제어 신호를 포함할 수 있다. 이동통신 모듈(411)은 전자 장치(400)의 동작에 필요한 다양한 데이터들을 사용자 요청에 응답하여 외부 전자 장치(예: 서버(106) 또는 다른 전자 장치(104) 등)로 전송할 수 있다.
무선 랜 모듈(413)은, 예를 들면, 도 2의 WiFi 모듈(223)과 동일 또는 유사한 구성을 가질 수 있다. 무선 랜 모듈(413)은 무선 인터넷 접속 및 다른 외부 장치(예: 다른 전자 장치(102) 또는 서버(106) 등)와 무선 랜 링크(link)를 형성하기 위한 모듈을 나타낼 수 있다. 무선 랜 모듈(413)은 전자 장치(400)에 내장되거나 외장될 수 있다. 무선 인터넷 기술로는 WiFi, Wibro, WiMax(world interoperability for microwave access), HSDPA(high speed downlink packet access), 또는 mmWave(millimeter Wave) 등이 이용될 수 있다. 무선 랜 모듈(413)은 전자 장치(400)와 네트워크(예: 무선 인터넷 네트워크)(예: 네트워크(162))를 통해 연결되어 있는 다른 외부 장치(예: 다른 전자 장치(104) 등)와 연동하여, 전자 장치(400)의 다양한 데이터들을 외부로 전송하거나, 또는 외부로부터 수신할 수 있다. 무선 랜 모듈(413)은 상시 온(on) 상태를 유지하거나, 전자 장치(400)의 설정 또는 사용자 입력에 따라 턴-온 될 수 있다.
근거리 통신 모듈(415)은 근거리 통신(short range communication)을 수행하기 위한 모듈을 나타낼 수 있다. 근거리 통신 기술로 블루투스, 저전력 블루투스(BLE), RFID(radio frequency identification), 적외선 통신(IrDA), UWB(ultra wideband), 지그비(Zigbee), 또는 NFC 등이 이용될 수 있다. 근거리 통신 모듈(415)은 전자 장치(400)와 네트워크(예: 근거리 통신 네트워크)를 통해 연결되어 있는 다른 외부 장치(예: 다른 전자 장치(102) 등)와 연동하여, 전자 장치(400)의 다양한 데이터들을 외부 장치로 전송하거나 수신 받을 수 있다. 근거리 통신 모듈(415)은 상시 온 상태를 유지하거나, 전자 장치(400)의 설정 또는 사용자 입력에 따라 턴-온 될 수 있다.
위치 산출 모듈(417)은, 예를 들면, 도 2의 GNSS 모듈(227)과 동일 또는 유사한 구성을 가질 수 있다. 위치 산출 모듈(417)은 전자 장치(400)의 위치를 획득하기 위한 모듈로서, 대표적인 예로는 GPS(global position system) 모듈을 포함할 수 있다. 위치 산출 모듈(417)은 삼각 측량의 원리로 전자 장치(400)의 위치를 측정할 수 있다.
사용자 입력부(420)는 전자 장치(400)의 동작 제어를 위한 입력 데이터를 사용자 입력에 응답하여 발생할 수 있다. 사용자 입력부(420)는 사용자의 다양한 입력을 검출하기 위한 적어도 하나의 입력 장치(input device)를 포함할 수 있다. 예를 들어, 사용자 입력부(420)는 키패드(key pad), 돔 스위치(dome switch), 물리 버튼, 터치패드(정압/정전), 조그셔틀(jog & shuttle), 그리고 센서(예: 센서 모듈(240)) 등을 포함할 수 있다.
사용자 입력부(420)는 일부가 전자 장치(400)의 외부에 버튼 형태로 구현될 수 있으며, 일부 또는 전체가 터치 패널(touch panel)로 구현될 수도 있다. 사용자 입력부(420)는 본 발명의 다양한 실시 예들에 따른 전자 장치(400)의 동작(예: 촬영 기능, 데이터 생성 기능, 데이터 재생 기능 등)을 개시(initiation)하기 위한 사용자 입력을 수신할 수 있고, 사용자 입력에 따른 입력 신호를 발생할 수 있다.
터치스크린(430)은 입력 기능과 표시 기능을 동시에 수행할 수 있는 입출력 장치를 나타내며, 디스플레이(431)(예: 디스플레이(160, 260))와 터치감지부(433)를 포함할 수 있다. 터치스크린(430)은 전자 장치(400)와 사용자 사이에 입출력 인터페이스를 제공하며, 사용자의 터치 입력을 전자 장치(400)에게 전달할 수 있고, 또한 전자 장치(400)로부터의 출력을 사용자에게 보여주는 매개체 역할을 포함할 수 있다. 터치스크린(430)은 사용자에게 시각적인 출력(visual output)을 보여줄 수 있다. 시각적 출력은 텍스트(text), 그래픽(graphic), 비디오(video)와 이들의 조합의 형태로 나타날 수 있다.
디스플레이(431)는 전자 장치(400)에서 처리되는 다양한 정보를 표시(출력)할 수 있다. 예를 들어, 디스플레이(431)는 전자 장치(400)가 영상 촬영을 수행하는 동작, 촬영된 영상에서, 정지 영상과 동영상을 재생하는 동작, 촬영 옵션(또는 기능) 설정 등과 관련된 유저 인터페이스(UI, user interface) 또는 그래픽 유저 인터페이스(GUI, graphical UI)를 표시 할 수 있다. 디스플레이(431)는 다양한 디스플레이(예: 디스플레이(160))가 사용될 수 있다. 다양한 실시 예들에서 디스플레이(431)는 벤디드 디스플레이가 사용될 수 있다.
터치감지부(433)는 디스플레이(431)에 안착될 수 있으며, 터치스크린(430) 표면에 접촉 또는 근접하는 사용자 입력을 감지할 수 있다. 사용자 입력은 싱글터치(single-touch), 멀티터치(multi-touch), 포스터치(force-touch), 호버링(hovering), 또는 에어 제스처 중 적어도 하나에 기반하여 입력되는 터치 입력 또는 근접 입력을 포함할 수 있다. 터치감지부(433)는 다양한 실시 예들에서 전자 장치(400)의 사용과 관련된 동작을 개시하기 위한 사용자 입력을 수신할 수 있고, 사용자 입력에 따른 입력 신호를 발생할 수 있다.
오디오 처리부(440)는, 예를 들면, 도 2의 오디오 모듈(280)과 동일 또는 유사한 구성을 가질 수 있다. 오디오 처리부(440)는 제어부(480)로부터 입력 받은 오디오 신호를 스피커(SPK(speaker))(441)로 전송하고, 마이크(MIC(microphone))(443)로부터 입력 받은 음성 등의 오디오 신호를 제어부(480)에 전달하는 기능을 수행할 수 있다. 오디오 처리부(440)는 음성/음향 데이터를 제어부(480)의 제어에 따라 스피커(441)를 통해 가청음으로 변환하여 출력하고, 마이크(443)로부터 수신되는 음성 등의 오디오 신호를 디지털 신호로 변환하여 제어부(480)에게 전달할 수 있다.
스피커(441)는 무선 통신부(410)로부터 수신되거나, 또는 메모리(450)에 저장된 오디오 데이터를 출력할 수 있다. 스피커(441)는 전자 장치(400)에서 수행되는 다양한 동작(기능)과 관련된 음향 신호를 출력할 수도 있다.
마이크(443)는 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리할 수 있다. 마이크(443)에는 외부의 음향 신호를 입력 받는 과정에서 발생되는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘(noise reduction algorithm)이 구현될 수 있다. 마이크(443)는 음성 명령(예: 촬영 실행, 촬영 옵션(또는 기능) 설정 등의 기능을 개시하기 위한 음성 명령) 등과 같은 오디오 스트리밍의 입력을 담당할 수 있다.
메모리(450)(예: 메모리(130, 230))는 제어부(480)에 의해 실행되는 하나 또는 그 이상의 프로그램들(one or more programs)을 저장할 수 있고, 입/출력되는 데이터들의 임시 저장을 위한 기능을 수행할 수도 있다. 입/출력되는 데이터들은, 예를 들면, 동영상, 이미지, 사진, 또는 오디오 등의 파일을 포함할 수 있다. 메모리(450)는 획득된 데이터를 저장하는 역할을 담당하며, 실시간으로 획득된 데이터는 일시적인 저장 장치에 저장할 수 있고, 저장하기로 확정된 데이터는 오래 보관 가능한 저장 장치에 저장할 수 있다.
메모리(450)는 다양한 실시 예들에서, 제어부(480)(예: 프로세서)가, 촬영 모드 진입에 응답하여 상기 카메라 모듈(470)을 통해 영상을 획득하고, 획득된 영상을 상기 디스플레이(431)를 통해 프리뷰 영상으로 표시하고, 정지 영상을 촬영하는 동작 지시에 응답하여, 상기 영상으로부터 정지 영상을 획득하고, 상기 프리뷰 영상의 적어도 일부로부터 동영상을 획득하고, 상기 정지 영상과 상기 동영상에 기초하여 이미지 형식의 정지 영상 파일을 생성하고, 및 상기 정지 영상 파일을 상기 메모리(450)에 저장하도록 하는 것과 관련되는 하나 또는 그 이상의 프로그램들, 데이터 또는 인스트럭션들(instructions)을 저장할 수 있다.
메모리(450)는 다양한 실시 예들에서, 제어부(480)(예: 프로세서)가, 상기 프리뷰 영상의 적어도 일부를 버퍼링 하고, 및 상기 동작 지시에 응답하여, 상기 버퍼링된 상기 프리뷰 영상에서, 상기 동작 지시 시점으로부터 이전 또는 이후의 일정 시간 동안의 영상에 기초하여 상기 동영상을 생성하도록 하는 것과 관련되는 하나 또는 그 이상의 프로그램들, 데이터 또는 인스트럭션들을 저장할 수 있다.
메모리(450)는 다양한 실시 예들에서, 제어부(480)(예: 프로세서)가, 영상 표시를 위한 입력에 응답하여 선택된 영상을 분석하고, 선택된 영상의 종류를 판단하고, 상기 선택된 영상이 동영상이 포함된 정지 영상 파일이면, 상기 정지 영상 파일에서 정지 영상 부분과 동영상 부분을 구분하고, 상기 정지 영상 파일에서, 상기 정지 영상 부분을 추출하여 정지 영상을 표시하고, 상기 정지 영상을 표시한 후 상기 정지 영상 파일에서 상기 동영상 부분의 시작 위치에서 동영상을 재생하여 표시하고, 및 상기 동영상의 재생이 완료되면, 상기 정지 영상을 표시하도록 하는 것과 관련되는 하나 또는 그 이상의 프로그램들, 데이터 또는 인스트럭션들을 저장할 수 있다.
메모리(450)는 하나 이상의 어플리케이션 모듈(또는 소프트웨어 모듈) 등을 포함할 수 있다.
인터페이스부(460)는, 예를 들면, 도 2의 인터페이스(270)와 동일 또는 유사한 구성을 가질 수 있다. 인터페이스부(460)는 다른 전자 장치로부터 데이터를 전송 받거나, 전원을 공급받아 전자 장치(400) 내부의 각 구성들에 전달할 수 있다. 인터페이스부(460)는 전자 장치(400) 내부의 데이터가 다른 전자 장치로 전송되도록 할 수 있다. 예를 들어, 유/무선 헤드폰 포트(port), 외부 충전기 포트, 유/무선 데이터 포트, 메모리 카드(memory card) 포트, 오디오 입/출력(input/output) 포트, 비디오 입/출력 포트, 이어폰 포트 등이 인터페이스부(460)에 포함될 수 있다. 다양한 실시 예들에 따라, 전자 장치(400)와 외부 카메라가 유선 통신 방식으로 연결되는 경우, 인터페이스부(660)의 적어도 일부 포트에 기초하여 연결될 수 있다.
카메라 모듈(470)(예: 카메라 모듈(291))은 전자 장치(400)의 촬영 기능을 지원하는 구성을 나타낸다. 카메라 모듈(470)은 제어부(480)의 제어에 따라 임의의 피사체를 촬영하고, 촬영된 데이터(예: 이미지)를 디스플레이(431) 및 제어부(480)에 전달할 수 있다.
제어부(480)(예: 프로세서, 제어 회로)는 전자 장치(400)의 전반적인 동작을 제어할 수 있다. 다양한 실시 예들에서 제어부(480)는, 예를 들면, 도 2의 프로세서(210)와 동일 또는 유사한 구성을 가질 수 있다.
다양한 실시 예들에서 제어부(480)는 촬영 모드 진입에 응답하여 카메라 모듈(470)을 통해 영상을 획득하는 동작, 획득된 영상을 디스플레이(431)를 통해 프리뷰 영상으로 표시하는 동작, 정지 영상을 촬영하는 동작 지시에 응답하여, 상기 영상으로부터 정지 영상을 획득하고, 상기 프리뷰 영상의 적어도 일부로부터 동영상을 획득하는 동작, 상기 정지 영상과 상기 동영상에 기초하여 이미지 형식의 정지 영상 파일을 생성하는 동작, 및 상기 정지 영상 파일을 메모리(450)에 저장하는 동작을 처리할 수 있다.
다양한 실시 예들에서 제어부(480)는 상기 프리뷰 영상의 적어도 일부를 버퍼링 하는 동작, 및 상기 동작 지시에 응답하여, 상기 버퍼링된 상기 프리뷰 영상에서, 상기 동작 지시 시점으로부터 이전 또는 이후의 일정 시간 동안의 영상에 기초하여 상기 동영상을 생성하는 동작을 처리할 수 있다.
다양한 실시 예들에서 제어부(480)는 상기 메모리(450)에 저장된 상기 정지 영상 파일을 표시하기 위한 입력을 감지하는 동작, 상기 정지 영상 파일에서 정지 영상 부분과 동영상 부분을 구분하는 동작, 상기 정지 영상 파일에서, 상기 정지 영상 부분을 추출하여 정지 영상을 표시하는 동작, 상기 정지 영상을 표시한 후 상기 정지 영상 파일에서 상기 동영상 부분의 시작 위치에서 동영상을 재생하여 표시하는 동작, 및 상기 동영상의 재생이 완료되면, 상기 정지 영상을 표시하는 동작을 처리할 수 있다.
제어부(480)는 전자 장치(400)의 동작을 제어하기 위한 하나 또는 그 이상의 프로세서들을 포함할 수 있다. 다양한 실시 예들에서 제어부(480)는 오디오 처리부(440), 인터페이스부(460), 디스플레이(431), 카메라 모듈(470) 등의 하드웨어적 모듈의 동작을 제어할 수 있다. 본 발명의 다양한 실시 예들에 따른 제어부(480)의 제어 동작은 후술하는 도면들을 참조하여 구체적으로 설명된다. 본 발명의 다양한 실시 예들에 따르면, 제어부(480)는 메모리(450)에 저장되는 하나 또는 그 이상의 프로그램들을 실행하여 본 발명의 다양한 실시 예들에 따른 전자 장치(400)의 동작을 제어하는 하나 또는 그 이상의 프로세서들(one or more processors)로 구현될 수 있다.
전원 공급부(490)는 제어부(480)의 제어에 의해 외부의 전원, 내부의 전원을 인가 받아 각 구성 요소들의 동작에 필요한 전원을 공급할 수 있다. 본 발명의 다양한 실시 예들에서 전원 공급부(490)는 제어부(480)의 제어에 의해 무선 통신부(410), 디스플레이(431), 카메라 모듈(470) 등에 전원을 공급 또는 차단(on/off)할 수 있다.
도 5는 본 발명의 다양한 실시 예들에 따른 전자 장치에서 데이터 처리 구조를 설명하기 위해 도시하는 도면이고, 도 6a 및 도 6b는 본 발명의 다양한 실시 예들에 따른 정지 영상 파일 구조의 예시를 도시하는 도면들이다.
도 5에 도시한 바와 같이, 다양한 실시 예들에서는, 카메라 모듈(470)을 이용하여 정지 영상을 촬영하고, 정지 영상 촬영 시 동영상을 함께 생성하여 하나의 정지 영상 파일(예: jpeg 파일)로 생성 및 저장할 수 있다. 다양한 실시 예들에서는, 정지 영상과 동영상이 하나의 파일(예: a.jpg)로 구성된 정지 영상 파일을, 정지 영상과 동영상으로 각각 재생할 수 있다.
도 5를 참조하면, 카메라 모듈(470)의 이미지 센서(471)(예: 전면 센서 또는 후면 센서)를 통해 획득(투영)된 이미지는, 이미지 시그널 프로세서(ISP)(473)를 통해 디스플레이(431) 기반의 프리뷰 출력을 위한 영상, 실제 촬영되는 정지 영상(예: 스틸 이미지), 및 정지 영상 이전의 일정 시간만큼의 동영상으로 시그널 처리될 수 있다.
예를 들면, 이미지 시그널 프로세서(473)는 전자 장치(400)의 디스플레이(431)에 표시하기 위한 프리뷰 영상으로, 실제 촬영 이미지의 크기보다 작은 해상도의 이미지(이하, 제1 이미지 또는 저해상도 이미지)를 디스플레이(431)에 제공할 수 있다. 이미지 시그널 프로세서(473)는 프리뷰 영상을 제어부(480)에 제공할 수 있다. 다양한 실시 예들에 따라, 이미지 시그널 프로세서(473)에서 제1 이미지는 디스플레이(431)에 의한 프리뷰 영상을 표시하기 위한 경로(path)와, 제어부(480)에 의한 동영상 획득을 위한 경로로 제공될 수 있다.
이미지 시그널 프로세서(473)는 사용자 입력(예: 촬영 버튼 입력)에 대응하여 촬영하는 정지 영상으로, 프리뷰 영상 보다 높은 품질과 해상도의 이미지(이하, 제2 이미지 또는 고해상도 이미지), 제어부(480)에 제공할 수 있다. 다양한 실시 예들에 따라, 제2 이미지는 전자 장치(400)에 설정된 촬영 옵션(예: 해상도, 품질, 크기 등)에 적어도 일부 기반하여 촬영될 수 있고, 촬영 옵션에 따라 다양한 품질과 해상도로 촬영될 수 있다.
제어부(480)는, 예를 들면, 데이터 생성부(510)와 데이터 재생부(530)를 포함할 수 있다. 데이터 생성부(510)는 동영상 저장부(511), 정지 영상 저장부(513), 및 스플리터(splitter)(515)를 포함하여 구성할 수 있다. 동영상 저장부(511)와 정지 영상 저장부(513)은 적어도 하나의 버퍼(buffer)로 구성될 수 있다. 데이터 재생부(530)는 파일 분석부(531) 및 동영상 재생부(533)를 포함하여 구성할 수 있다.
다양한 실시 예들에 따르면, 제어부(480)는 사용자의 설정(예: 촬영 해상도, 초점, 촬영 버튼 등)을 입력 받아, 카메라 설정 변경, 정지 영상 촬영, 동영상 촬영, 및 저장을 제어할 수 있다. 제어부(280)는 이미지 시그널 프로세서(473)로부터 제1 이미지(예: 동영상, 프리뷰 영상)와 제2 이미지(예: 정지 영상)를 각각 수신할 수 있고, 제1 이미지는 동영상 저장부(511)를 통해 저장(예: 버퍼링(buffering))하고, 제2 이미지는 정지 영상 저장부(513)를 통해 저장(예: 버퍼링)할 수 있다. 제어부(480)는 동영상 저장부(511)와 정지 영상 저장부(513)에 각각 저장하는 제1 이미지(예: 동영상)와 제2 이미지(예: 정지 영상)를, 스플리터(515)를 통해 하나의 파일로 통합할 수 있다.
다양한 실시 예들에 따라, 제어부(480)는 전자 장치(400)의 소모 전류, 메모리(450) 상태, 저장하는 영상(예: 정지 영상, 동영상)의 화질 등에 적어도 일부 기초하여, 제1 이미지(예: 동영상)의 저장(예: 버퍼링) 방식을 결정할 수 있다. 제어부(480)는 사용자 입력에 기초하여 정지 영상 촬영 시, 정지 영상 촬영 시점에서 일정 시간만큼 이전 또는 이후의 영상에 기초하여 동영상을 획득(생성)하도록 동작할 수 있다. 예를 들면, 제어부(480)는 정지 영상 촬영을 감지하면, 정지 영상을 정지 영상 저장부(513)에 저장하고, 동영상 저장부(511)에서 정지 영상 촬영 시점 이전 또는 이후의 소정의 시간만큼의 버퍼링된 동영상을 저장하도록 동작할 수 있다.
제어부(480)는 스플리터(515)를 통해 정지 영상 저장부(513)에 저장된 정지 영상의 뒷부분에 동영상 저장부(511)에 저장된 동영상을 통합(추가)하여 하나의 정지 영상 파일(예: jpeg 파일로, 예를 들면, a.jpg)로 구성하도록 동작할 수 있다. 제어부(480)는 정지 영상과 동영상을 하나의 정지 영상 파일로 구성하고, 구성된 정지 영상 파일(예: a.jpg)을 메모리(450)에 저장할 수 있다. 다양한 실시 예들에 따라, 정지 영상 파일의 예시가 도 6a 및 도 6b에 도시된다.
도 6a에 도시한 바와 같이, 도 6a는 정지 영상과 동영상이 통합된 jpeg 파일(정지 영상 파일) 구조의 예시를 나타낸 것으로, jpeg 파일은 정지 영상 데이터(610)와 동영상 데이터(630)가 구분되어 하나의 파일로 구성할 수 있다. 다양한 실시 예들에 따르면, 정지 영상과 압축한 동영상을 하나의 jpeg 파일로 생성할 수 있으며, 예를 들면, 정지 영상과 동영상을 서로 다른 메모리 영역에 저장하여 관리하는 것이 아니라, 하나의 jpeg 파일로 저장하여 관리할 수 있다.
다양한 실시 예들에 따라, 제어부(480)는 정지 영상과 동영상이 하나의 파일로 구성된 정지 영상 파일(예: jpeg 파일로, 예를 들면, a. jpg)을 사용자 입력(예: 영상 재생 입력)에 대응하여 재생하여 디스플레이(431)를 통해 표시할 수 있다. 한 실시 예에 따르면, 제어부(480)는 메모리(450)에 저장된 정지 영상 파일(예: a.jpg)의 재생을 위한 사용자 입력을 감지할 수 있다. 제어부(480)는 사용자 입력에 응답하여, 파일 분석부(531)를 통해 정지 영상 파일(예: a.jpg)에서 정지 영상 부분(예: 도 6a의 정지 영상 데이터(610))와 동영상 부분(예: 도 6a의 동영상 데이터(630))를 분석 및 구분(또는 분리)할 수 있다. 제어부(480)는, 동영상 재생부(533)를 정지 영상 파일에서 동영상 부분을 재생하여 디스플레이(431)를 통해 표시하도록 제어할 수 있다. 한 실시 예에 따라, 제어부(480)는 정지 영상 어플리케이션(예: 갤러리 어플리케이션)(미도시)을 통해, 정지 영상 파일에서 정지 영상 부분을 표시하도록 할 수 있고, 동영상 재생부(533)를 통해, 정지 영상 파일에서 동영상 부분을 재생하도록 할 수 있다. 한 실시 예에 따라, 제어부(480)는 정지 영상 파일에서 정지 영상 이후에, 동영상의 시작 위치부터 동영상 재생을 수행할 수 있다. 제어부(480)는 동영상의 종료 위치에서 동영상 재생을 종료하고, 다시 정지 영상을 표시하도록 동작할 수 있다.
도 6b에 도시한 바와 같이, 도 6b는 다양한 실시 예들에 따른 정지 영상 파일 구조의 다른 예시를 나타낸다. 다양한 실시 예들에 따라, 정지 영상 파일은 정지 영상 데이터(610)와 동영상 연결 정보(650)가 구분되어 하나의 파일로 구성하여 메모리(450)의 일 위치에 저장할 수 있고, 동영상 데이터(630)는 정지 영상과는 별도로 메모리(450)의 다른 위치에 저장할 수 있다. 다양한 실시 예들에 따르면, 동영상은 메모리(450)의 다른 위치에 저장할 수 있고, 정지 영상의 뒷부분에 메모리(450)의 다른 위치에 저장된 동영상의 연결 정보(예: 링크 정보)를 추가하여 정지 영상 파일로 생성할 수 있으며, 예를 들면, 정지 영상과 동영상을 서로 다른 메모리 영역에 저장하여 관리할 수 있다. 연결 정보는, 예를 들면, 동영상이 저장된 메모리(450)의 위치, 동영상의 파일 이름 등이 포함될 수 있다.
다양한 실시 예들에 따라, 제어부(480)는 정지 영상과 동영상 연결 정보가 하나의 파일로 구성된 정지 영상 파일을 사용자 입력(예: 영상 재생 입력)에 대응하여 재생하여 디스플레이(431)를 통해 표시할 수 있다. 한 실시 예에 따르면, 제어부(480)는 메모리(450)의 제1 위치에 저장된 정지 영상 파일의 재생을 위한 사용자 입력을 감지할 수 있다. 제어부(480)는 사용자 입력에 응답하여, 파일 분석부(531)를 통해 정지 영상 파일에서 정지 영상 부분(예: 도 6b의 정지 영상 데이터(610))과 동영상 연결 정보 부분(예: 도 6b의 동영상 데이터(650))를 분석 및 구분(또는 분리)할 수 있다. 제어부(480)는, 동영상 재생부(533)를 통해 정지 영상 파일에서 동영상 연결 정보에 기초하여 메모리(450)의 제2 위치에 저장된 동영상을 재생하여 디스플레이(431)를 통해 표시하도록 제어할 수 있다. 한 실시 예에 따라, 제어부(480)는 정지 영상 어플리케이션(예: 갤러리 어플리케이션)을 통해, 정지 영상 파일에서 정지 영상 부분을 표시하도록 할 수 있고, 동영상 재생부(533)를 통해, 동영상 연결 정보에 연관된 동영상을 재생하도록 할 수 있다. 한 실시 예에 따라, 제어부(480)는 메모리(450)의 제2 위치의 동영상 재생을 완료하면, 메모리(450)의 제1 위치의 정지 영상을 다시 표시하도록 동작할 수 있다.
이상에서 살펴본 바와 같이, 본 발명의 다양한 실시 예들에 따른 전자 장치(400)는, 카메라(예: 카메라 모듈(470)); 디스플레이(431); 적어도 하나의 메모리(450); 및 상기 카메라, 상기 디스플레이, 및 상기 메모리와 기능적으로 연결된 프로세서(예: 제어부(480))를 포함하고, 상기 프로세서는, 상기 카메라의 실행에 대응하는 제1 입력에 응답하여 상기 카메라를 통해 적어도 하나의 외부 객체에 대한 영상을 획득하고, 상기 획득된 영상의 적어도 일부 영상을 상기 디스플레이를 통해 프리뷰 영상으로 표시하고, 상기 표시하는 동작은 상기 적어도 일부 영상을 상기 적어도 하나의 메모리에 버퍼링하는 동작을 포함하고, 상기 프리뷰 영상이 표시되는 동안에, 영상의 촬영에 대응하는 제2 입력에 응답하여, 상기 획득된 영상을 이용하여 상기 적어도 하나의 외부 객체에 대한 정지 영상을 획득하고, 상기 버퍼링된 적어도 일부 영상을 이용하여 상기 적어도 하나의 외부 객체에 대한 동영상을 획득하고,상기 정지 영상과 상기 동영상에 기초하여 이미지 형식의 정지 영상 파일을 생성하고, 및 상기 정지 영상 파일을 상기 적어도 하나의 메모리에 저장하도록 구성할 수 있다.
다양한 실시 예들에 따라, 상기 제1 입력은, 카메라에 대한 지정된 모드로의 진입을 요청하는 입력을 포함하며, 예를 들면, 전자 장치(400)의 다양한 촬영 모드들(예: 동시 촬영 모드, 모션 포토 촬영 모드 등) 중 어느 하나의 촬영 모드 진입을 위한 입력을 포함할 수 있다. 다양한 실시 예들에 따라, 상기 제2 입력은, 정지 영상 촬영을 요청하는 입력을 포함할 수 있다. 다양한 실시 예들에 따라, 상기 획득된 영상의 상기 적어도 일부 영상은, 해상도 또는 크기 등에 따라 구분되는 프리뷰 영상, 또는 프리뷰 영상 중 YUV 영상을 포함할 수 있다.
다양한 실시 예들에 따라, 상기 적어도 하나의 외부 객체에 대한 영상 또는 동영상은, 상기 카메라를 통해 실시간으로 입력되는 실세계(real world)의 피사체(예: 실제 촬영 대상)의 실시간 영상(real-time video)에 적어도 일부 기초하여 획득할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 상기 제2 입력에 응답하여, 상기 버퍼링된 적어도 일부 영상에서, 상기 제2 입력 시점으로부터 이전의 일정 시간 동안의 영상에 기초하여 상기 동영상을 생성하도록 구성할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 상기 제1 입력에 응답하여 장치 상태를 판단하고, 상기 장치 상태에 적어도 일부 기초하여, 동영상 저장을 위한 버퍼링 방식을 결정하고, 상기 버퍼링 방식으로 제1 동작 정보를 결정하면, 제1 버퍼링 동작에 기초하여 동영상을 처리하고, 및 상기 버퍼링 방식으로 제2 동작 정보를 결정하면, 제2 버퍼링 동작에 기초하여 동영상을 처리할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 상기 메모리의 크기, 상기 인코더의 소모 전류, 이미지 처리 능력, 또는 고화질 동영상 촬영에 적어도 일부에 기초하여 상기 장치 상태를 판단하도록 구성할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 상기 메모리의 크기가 작고 상기 인코더의 소모 전류가 적은 경우 상기 제1 동작 정보를 결정하고, 상기 메모리의 크기가 크고 저전력이 요구되는 경우 상기 제2 동작 정보를 결정하도록 구성할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 상기 제1 동작 정보를 결정하면, 상기 프리뷰 영상을 선 인코딩 및 후 버퍼링 하는 버퍼링 방식에 기초하여 상기 동영상을 획득하고, 및 상기 제2 동작 정보를 결정하면, 상기 프리뷰 영상 중 YUV 영상을 선 버퍼링 및 후 인코딩 하는 버퍼링 방식에 기초하여 상기 동영상을 획득하도록 구성할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 상기 제2입력이 연사 정지 영상 촬영에 대응하는 입력인 경우, 상기 제2 입력에 응답하여, 제1 시점에 대응하는 제1 정지 영상과 제2 시점에 대응하는 제2 정지 영상 및, 상기 제1 정지 영상에 대응하는 제1 동영상과 상기 제2 정지 영상에 대응하는 제2 동영상을 획득하고, 상기 제1 정지 영상과 상기 제1 동영상에 기초하여 상기 이미지 형식의 제1 정지 영상 파일과, 상기 제2 정지 영상과 상기 제2 동영상에 기초하여 상기 이미지 형식의 제2 정지 영상 파일을 생성하도록 구성할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 촬영 간격 시간과 일정 시간에 적어도 일부 기초하여, 상기 제2 입력이 제1 촬영 방식에 의한 정지 영상 촬영인지, 또는 제2 촬영 방식에 의한 연사 정지 영상 촬영인지 여부를 판단하도록 구성할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 상기 촬영 간격 시간이 상기 일정 시간보다 커지는 제3 시점까지 상기 제1 동영상과 상기 제2 동영상을 하나의 동영상으로 획득하도록 구성할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 영상을 표시하기 위한 제3 입력에 응답하여 선택된 영상을 분석하고, 상기 선택된 영상의 종류를 판단하고, 상기 선택된 영상이 동영상이 포함된 정지 영상 파일이면, 상기 정지 영상 파일에서 정지 영상 부분과 동영상 부분을 구분하고, 상기 정지 영상 파일에서, 상기 정지 영상 부분을 추출하여 정지 영상을 표시하고, 상기 정지 영상을 표시한 후 상기 정지 영상 파일에서 상기 동영상 부분의 시작 위치에서 동영상을 재생하여 표시하고, 및 상기 동영상의 재생이 완료되면, 상기 정지 영상을 표시하도록 구성할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 데이터를 공유하기 위한 제4 입력에 응답하여 선택된 데이터를 분석하고, 상기 선택된 데이터의 종류를 판단하고, 상기 선택된 데이터가 동영상이 포함된 정지 영상 파일이면, 공유 방식 선택을 위한 인터페이스에 기초하여 공유 방식을 결정하고, 및 상기 결정된 공유 방식에 대응하여, 상기 정지 영상 파일, 상기 정지 영상 파일의 정지 영상, 또는 상기 정지 영상 파일의 동영상을 선택적으로 공유하도록 구성할 수 있다.
이상에서 살펴본 바와 같이, 본 발명의 다양한 실시 예들에 따른 전자 장치(400)는, 카메라 모듈(470); 디스플레이(431); 메모리(450); 및 상기 카메라 모듈(470), 상기 디스플레이(431), 및 상기 메모리(450)와 기능적으로 연결된 프로세서(예: 제어부(480))를 포함하고, 상기 프로세서는, 촬영 모드 진입에 응답하여 상기 카메라 모듈을 통해 영상을 획득하고, 획득된 영상을 상기 디스플레이를 통해 프리뷰 영상으로 표시하고, 정지 영상을 촬영하는 동작 지시에 응답하여, 상기 영상으로부터 정지 영상을 획득하고, 상기 프리뷰 영상의 적어도 일부로부터 동영상을 획득하고, 상기 정지 영상과 상기 동영상에 기초하여 이미지 형식의 정지 영상 파일을 생성하고, 및 상기 정지 영상 파일을 상기 메모리에 저장하도록 구성할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 상기 프리뷰 영상의 적어도 일부를 버퍼링 하고, 및 상기 동작 지시에 응답하여, 상기 버퍼링된 상기 프리뷰 영상에서, 상기 동작 지시 시점으로부터 이전의 일정 시간 동안의 영상에 기초하여 상기 동영상을 생성하도록 구성할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 상기 촬영 모드에 진입하면, 장치 상태를 판단하고, 상기 장치 상태에 적어도 일부 기초하여, 동영상 저장을 위한 버퍼링 방식을 결정하고, 상기 버퍼링 방식으로 제1 동작 정보를 결정하면, 제1 버퍼링 동작에 기초하여 동영상을 처리하고, 및 상기 버퍼링 방식으로 제2 동작 정보를 결정하면, 제2 버퍼링 동작에 기초하여 동영상을 처리하도록 구성할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 상기 메모리의 크기, 상기 인코더의 소모 전류, 이미지 처리 능력, 또는 고화질 동영상 촬영에 적어도 일부에 기초하여 상기 전자 장치의 상태를 판단하도록 구성할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 상기 메모리의 크기가 작고 상기 인코더의 소모 전류가 적은 경우 상기 제1 동작 정보를 결정하고, 상기 메모리의 크기가 크고 저전력이 요구되는 경우 상기 제2 동작 정보를 결정하도록 구성할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 상기 제1 동작 정보를 결정하면, 상기 프리뷰 영상을 선 인코딩 및 후 버퍼링 하는 버퍼링 방식에 기초하여 상기 동영상을 생성하고, 및 상기 제2 동작 정보를 결정하면, 상기 프리뷰 영상 중 YUV 영상을 선 버퍼링 및 후 인코딩 하는 버퍼링 방식에 기초하여 상기 동영상을 생성하도록 구성할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 상기 정지 영상을 촬영하는 동작 지시를 감지하면, 상기 정지 영상을 획득하고, 및 상기 동작 지시에 대응하는 촬영 방식에 따라, 상기 정지 영상에 대응하는 상기 동영상을 독립적 또는 일괄적으로 획득하도록 구성할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 상기 정지 영상을 촬영하는 동작 지시에 응답하여, 촬영 간격 시간과 일정 시간에 적어도 일부 기초하여 제1 촬영 방식에 의한 일반 촬영인지, 또는 제2 촬영 방식에 의한 연사 촬영인지 여부를 결정하고, 상기 제1 촬영 방식을 결정하면, 정지 영상을 촬영하는 시점을 기준으로, 해당 시점의 이전의 일정 시간 동안의 영상을, 하나의 정지 영상에 대한 동영상으로 획득하고, 정지 영상과 동영상에 기초하여 정지 영상 파일을 생성하고, 및 상기 제2 촬영 방식을 결정하면, 정지 영상 촬영을 위한 촬영 간격 시간이 일정 시간보다 커지는 시점까지 하나의 동영상을 지속적으로 획득하고, 상기 동영상에서 정지 영상을 촬영하는 복수의 시점을 기준으로, 각 시점의 이전의 일정 시간 동안의 영상을, 각 정지 영상에 대응하는 각각의 동영상으로 획득하고, 각 정지 영상과 각 동영상에 기초하여 복수의 정지 영상 파일들을 생성하도록 구성할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 영상 표시를 위한 입력에 응답하여 선택된 영상을 분석하고, 상기 선택된 영상의 종류를 판단하고, 상기 선택된 영상이 동영상이 포함된 정지 영상 파일이면, 상기 정지 영상 파일에서 정지 영상 부분과 동영상 부분을 구분하고, 상기 정지 영상 파일에서, 상기 정지 영상 부분을 추출하여 정지 영상을 표시하고, 상기 정지 영상을 표시한 후 상기 정지 영상 파일에서 상기 동영상 부분의 시작 위치에서 동영상을 재생하여 표시하고, 및 상기 동영상의 재생이 완료되면, 상기 정지 영상을 표시하도록 구성할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 상기 정지 영상을 표시한 후, 상기 동영상을 자동으로 재생하여 표시하거나, 또는 동영상 가이드 아이템의 선택에 응답하여 상기 동영상을 재생하여 표시하도록 구성할 수 있다.
다양한 실시 예들에 따라, 상기 프로세서는, 데이터 공유를 위한 입력에 응답하여 선택된 데이터를 분석하고, 상기 선택된 데이터의 종류를 판단하고, 상기 선택된 데이터가 동영상이 포함된 정지 영상 파일이면, 공유 방식 선택을 위한 인터페이스에 기초하여 공유 방식을 결정하고, 및 상기 결정된 공유 방식에 대응하여, 상기 정지 영상 파일, 상기 정지 영상 파일의 정지 영상, 또는 상기 정지 영상 파일의 동영상을 선택적으로 공유하도록 구성할 수 있다.
도 7은 본 발명의 다양한 실시 예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
도 7을 참조하면, 동작 701에서, 전자 장치(400)의 제어부(480)는 촬영 모드에 진입하면, 동작 703에서, 프리뷰 영상 표시 및 버퍼링 동작을 처리할 수 있다. 예를 들면, 제어부(480)는 카메라 어플리케이션 실행에 응답하여, 카메라 모듈(470)을 통해 입력되는 프리뷰 영상을 디스플레이(431)을 통해 표시하고, 프리뷰 영상을 동영상 저장부(511)를 통해 버퍼링 하도록 동작할 수 있다.
동작 705에서, 제어부(480)는 정지 영상 촬영을 위한 입력 여부를 판단할 수 있다.
동작 705에서, 제어부(480)는 정지 영상 촬영이 감지되지 않으면(동작 705의 아니오), 동작 703으로 진행하여, 동작 703 이하의 동작 수행을 처리할 수 있다.
동작 705에서, 제어부(480)는 정지 영상 촬영이 감지되면(동작 705의 예), 동작 707에서, 정지 영상을 저장할 수 있다. 예를 들면, 제어부(480)는 카메라 어플리케이션으로부터, 정지 영상을 촬영하기 위한 동작 지시를 감지하면, 동작 지시에 응답하여 정지 영상을 촬영하여 정지 영상 저장부(513)에 저장할 수 있다.
동작 709에서, 제어부(480)는 정지 영상을 촬영하는 시점을 기준으로, 해당 시점의 이전 또는 이후의 일정 시간 동안의 버퍼링 영상을 동영상으로 저장할 수 있다. 예를 들면, 제어부(480)는 카메라 어플리케이션으로부터, 정지 영상을 촬영하기 위한 동작 지시를 감지하면, 동작 지시에 응답하여, 동작 지시 시점을 기준으로 이전 또는 이후에 동영상 저장부(511)를 통해 버퍼링된 프리뷰 영상 중에서 일정 시간에 대응하는 버퍼링 영상을 정지 영상에 대응하는 동영상으로 저장할 수 있다.
다양한 실시 예들에 따라, 동작 707과 동작 709는 도 7에 도시된 동작 순서에 한정되지 않으며, 순차적으로, 병렬적으로, 또는 역 순차적으로 동작할 수 있다.
동작 711에서, 제어부(480)는 정지 영상과 동영상을 하나의 파일로 생성할 수 있다. 예를 들면, 제어부(480)는 정지 영상 저장부(513)의 정지 영상과 동영상 저장부(511)의 동영상을, 스플리터(515)를 통해 결합하여 이미지 형식으로 하나의 정지 영상 파일(예: jpeg 파일)로 생성할 수 있다.
동작 713에서, 제어부(480)는 생성된 파일을 메모리(450)에 저장할 수 있다.
다양한 실시 예들에 따라, 동작 711에서, 제어부(480)는 정지 영상 및 정지 영상에 관련된 동영상을 메모리(450)의 다른 위치에 각각 저장할 수도 있다. 이러한 경우, 제어부(480)는 정지 영상의 뒷부분에 동영상의 연결 정보를 추가하여 정지 영상 파일을 생성할 수 있다. 예를 들면, 제어부(480)는 정지 영상 저장부(513)의 정지 영상과 동영상 저장부(511)의 동영상의 연결 정보를, 스플리터(515)를 통해 결합하여 이미지 형식으로 하나의 정지 영상 파일(예: jpeg 파일)로 생성할 수 있고, 실제 동영상은 메모리(450)의 다른 위치에 저장할 수 있다.
도 8a 및 도 8b는 본 발명의 다양한 실시 예들에 따른 전자 장치의 데이터 생성 동작을 설명하기 위해 도시하는 도면들이다.
도 8a에 도시한 바와 같이, 다양한 실시 예들에서는 정지 영상(예: 스틸 이미지)(810, 820, 830)을 생성하는 시점을 기준으로, 일정 시간(예: T초(sec), T는 자연수)만큼의 프리뷰 영상을 동영상(815, 825, 835)으로 획득하고, 정지 영상(810, 820, 830)과 대응하는 동영상(815, 825, 835)을 하나의 파일로 저장할 수 있다. 다양한 실시 예들에 따라, 촬영된 정지 영상과 동영상(예: T시간 동안의 프리뷰 영상)은 각 정지 영상과 연관되게 하나의 파일로 통합 저장될 수 있다. 한 실시 예에 따르면, 제1 촬영 시점에서 정지 영상(810)과 그에 연관된 동영상(815)이 하나의 파일로 저장되고, 제2 촬영 시점에서 정지 영상(820)과 그에 연관된 동영상(825)이 하나의 파일로 저장되고, 제3 촬영 시점에서 정지 영상(830)과 그에 연관된 동영상(835)이 하나의 파일로 저장될 수 있다.
도 8a를 참조하면, 전자 장치(400)는 사용자에 의해 정지 영상을 촬영하기 위한 버튼(예: 셔터) 입력(예: shutter pressed)을 감지하면, 해당 시점에서 정지 영상(예: 정지 영상(810))을 촬영하고, 정지 영상(810) 이전의 T시간의 동영상(예: 동영상(815))을 함께 저장할 수 있다. 한 실시 예에 따라, 각 정지 영상(810, 820, 830)에 대응하는 T시간 동안의 각 동영상(815, 825, 835)은 동일한 프레임(frame) 수(예: 3개, 4개, 5개 등의 프레임 등)로 구성될 수 있다. 다양한 실시 예들에서, T시간은 2초, 3초, 4초, 5초 등과 같이 다양하게 설정될 수 있다.
도 8b를 참조하면, 도 8b는 제1 데이터(D1) 내지 제9 데이터(D9)의 영상들에 대응하는 프레임들이 제1 데이터(D1)에서부터 순차적으로 입력되고, 사용자에 의해 제1 촬영 시점(P1), 제2 촬영 시점(P2), 제3 촬영 시점(P3), 제4 촬영 시점(P4), 제5 촬영 시점(P5)에서 정지 영상 촬영을 위한 입력(예: shutter pressed)이 수행되는 경우를 나타낼 수 있다. 도 8B에서는 설명의 편의를 위해 초당 1 프레임이 입력되는 것을 예로 하며, 일정 시간(T)이 3초인 것을 예로 설명한다. 한 실시 예에 따라, 도 8B에서는 제1 데이터(D1)가 가장 먼저 입력된 과거 데이터일 수 있고, 제9 데이터(D9)가 가장 나중에 입력된 최근 데이터일 수 있다.
한 실시 예에 따라, 전자 장치(400)는 제1 촬영 시점(P1)에서, 제1 촬영 시점(P1)을 기준으로, 이전 3초 동안의 과거 데이터(예: 제3 데이터(D3), 제2 데이터(D2), 제1 데이터(D1))에 기초하여 하나의 동영상(MP1)으로 획득할 수 있다. 동영상(MP1)은 제1 데이터(D1), 제2 데이터(D2), 제3 데이터(D3)의 순서로 재생될 수 있다.
한 실시 예에 따라, 전자 장치(400)는 제2 촬영 시점(P2)에서, 제2 촬영 시점(P2)을 기준으로, 이전 3초 동안의 과거 데이터(예: 제4 데이터(D4), 제3 데이터(D3), 제2 데이터(D2))에 기초하여 하나의 동영상(MP2)으로 획득할 수 있다. 동영상(MP2)은 제2 데이터(D2), 제3 데이터(D3), 제4 데이터(D4)의 순서로 재생될 수 있다.
한 실시 예에 따라, 전자 장치(400)는 제3 촬영 시점(P1)에서, 제3 촬영 시점(P3)을 기준으로, 이전 3초 동안의 과거 데이터(예: 제6 데이터(D6), 제5 데이터(D5), 제4 데이터(D4))에 기초하여 하나의 동영상(MP3)으로 획득할 수 있다. 동영상(MP3)은 제4 데이터(D4), 제5 데이터(D5), 제6 데이터(D6)의 순서로 재생될 수 있다.
한 실시 예에 따라, 전자 장치(400)는 제4 촬영 시점(P4)에서, 제4 촬영 시점(P4)을 기준으로, 이전 3초 동안의 과거 데이터(예: 제8 데이터(D8), 제7 데이터(D7), 제6 데이터(D6))에 기초하여 하나의 동영상(MP4)으로 획득할 수 있다. 동영상(MP4)은 제6 데이터(D6), 제7 데이터(D7), 제8 데이터(D8)의 순서로 재생될 수 있다.
한 실시 예에 따라, 전자 장치(400)는 제5 촬영 시점(P5)에서, 제5 촬영 시점(P5)을 기준으로, 이전 3초 동안의 과거 데이터(예: 제9 데이터(D9), 제8 데이터(D8), 제7 데이터(D7))에 기초하여 하나의 동영상(MP5)으로 획득할 수 있다. 동영상(MP5)은 제7 데이터(D7), 제8 데이터(D8), 제9 데이터(D9)의 순서로 재생될 수 있다.
도 8b에 도시한 바와 같이, 제1 촬영 시점(P1) 내지 제5 촬영 시점(P5)은 일정 시간(T)보다 짧은 촬영 간격(예: 연사 촬영)을 가질 수 있고, 다양한 실시 예들에서는 촬영 간격 시간이 일정 시간보다 작은 경우, 각 촬영 시점에 따른 각 동영상(예: MP1 내지 MP5)은 적어도 일부 영역(또는 구간, 프레임)이 중첩될 수 있다.
한 실시 예에 따라, 제1 촬영 시점(P1)의 동영상(MP1)과 제2 촬영 시점(P2)의 동영상(MP2)은 제2 데이터(D1)와 제3 데이터(D3)를 공통적으로 포함할 수 있고, 제2 촬영 시점(P2)의 동영상(MP2)과 제3 촬영 시점(P3)의 동영상(MP3)은 제4 데이터(D4)를 공통적으로 포함할 수 있고, 제3 촬영 시점(P3)의 동영상(MP3)과 제4 촬영 시점(P4)의 동영상(MP4)은 제6 데이터(D6)를 공통적으로 포함할 수 있고, 제4 촬영 시점(P4)의 동영상(MP4)과 제5 촬영 시점(P5)의 동영상(MP5)은 제7 데이터(D7)와 제8 데이터(D8)를 공통적으로 포함할 수 있다.
다양한 실시 예들에서는, 연사 촬영과 같은 방식에서는 촬영 간격 시간(△T)이 일정 시간(T)보다 작기 때문에, 촬영 간격 시간에 대응하여, 각 동영상(MP1 내지 MP5)는 적어도 하나의 다른 동영상과 중첩 영역을 포함할 수 있다.
다양한 실시 예들에서는, 연사 촬영과 같이 촬영 간격 시간이 일정 시간(T)보다 작은 경우에는 가장 마지막 촬영 시점(예: 촬영 간격 시간이 일정 시간보다 커지는 지점으로, 예를 들면, 제5 촬영 시점(P5))에서부터 역순차적으로 일정 시간만큼의 데이터들을 획득할 수도 있다. 예를 들면, 가장 최근의 제5 촬영 시점(P5)에서부터 제1 촬영 시점(P1)으로 진행하면서, 동영상 구성을 위한 동작을 처리할 수 있다. 이는, 사용자에게 가장 최근에 촬영된 영상이 최상위에서 보여지도록 하기 위한 것일 수 있다. 도 8b에서 동영상(MP1)이 가장 과거의 동영상일 수 있고, 동영상(MP5)이 가장 최근의 동영상일 수 있다.
도 9 및 도 10은 본 발명의 다양한 실시 예들에 따른 전자 장치에서 데이터 생성을 위한 구조를 설명하기 위해 도시하는 도면들이다.
도 9 및 도 10을 참조하면, 도 9 및 도 10은 전자 장치(400)에서 동영상 데이터를 버퍼링 하기 위한 버퍼링 구조의 예시들을 나타낸다. 다양한 실시 예들에 따라, 전자 장치(400)는, 프리뷰 영상(동영상)의 레코딩을 위한 영상 레코딩 엔진(video recording engine)(900)을 포함할 수 있다. 다양한 실시 예들에서, 영상 레코딩 엔진(900)의 적어도 일부 구성요소는 어플리케이션 모듈(또는 소프트웨어 모듈)과 같이 소프트웨어적으로 구현하거나, 또는 하드웨어적으로 구성할 수도 있다. 한 실시 예에 따르면, 영상 레코딩 엔진(900)의 적어도 일부는, 도 5에 도시된 제어부(480)(예: 데이터 생성부(510)와 데이터 재생부(530))의 전체 또는 일부에 포함될 수 있다.
다양한 실시 예들에서, 영상 레코딩 엔진(900)은 전자 장치(400)의 다양한 조건(예: 성능, 사용 상태, 메모리 용량 등)에 따라 다양한 버퍼 방식(또는 버퍼링 구조)으로 구현 가능하다.
한 실시 예에 따르면, 전자 장치(400)에서 메모리 사용량이 적고, 프리뷰 영상(동영상)의 크기를 변경 없이 압축이 가능하여 고화질의 프리뷰 영상을 저장하고자 하는 경우, 도 9의 영상 레코딩 엔진(900)에 기초한 프리뷰 영상의 레코딩 방식으로 동작할 수 있다. 도 9에 도시한 바와 같이, 영상 레코딩 엔진(900)은 Control Unit(910), Video Codec(920), Muxer(930), Encoded stream buffer(940), 및 Media splitter(950)를 포함할 수 있다. 도 9에 따른 동영상 버퍼링 방식은, 인코더(encoder)(미도시)가 프리뷰 영상을 항상 인코딩 하여 Encoded stream buffer(940)에 제공할 수 있다. 이에 대해, 후술하는 도면들을 참조하여 구체적으로 설명된다.
한 실시 예에 따르면, 전자 장치(400)의 메모리 크기가 작고, 소모 전류를 감소하여 프리뷰 영상을 저장하고자 하는 경우, 도 10의 영상 레코딩 엔진(900)에 기초한 프리뷰 영상의 레코딩 방식으로 동작할 수 있다. 도 10에 도시한 바와 같이, 도 10의 영상 레코딩 엔진(900)은 도 9의 영상 레코딩 엔진(900)에서 Encoded stream buffer(940)에 대신하여, YUV buffer(1020)를 포함할 수 있다. 또한, 추가적으로 또는 선택적으로, 도 10의 영상 레코딩 엔진(900)은 Resizer(1010)를 포함할 수 있다.
도 10에 따른 동영상 버퍼링 방식은, 프리뷰 영상에서 YUV 영상만을 추출하여 YUV buffer(1020)를 통해 저장하는 버퍼링을 수행할 수 있다. 이러한 경우, 메모리 사용량이 증가할 수 있고, 이에, Resizer(1010)를 통해 프리뷰 영상의 해상도를 줄이거나, 또는 버퍼링 영상의 개수를 줄이고 인코더(미도시)를 통해 동영상 압축의 프레임 레이트(frame rate)를 낮추어 수행할 수 있다. 도 10에 따른 동영상 버퍼링 방식은, 사용자에 의한 정지 영상 촬영 입력이 있는 경우에 인코더에 의한 인코딩 동작을 수행함에 따라, 인코더의 인코딩에 따른 소모 전류를 감소할 수 있다. 예를 들면, 도 10에 따른 동영상 버퍼링 방식은, 일정 시간(T시간)만큼을 항상 인코딩 하는 것이 아니라, 프리뷰 영상의 압축되지 않은 YUV 영상을 일정 시간(T시간)만큼 버퍼링 하는 구조이다. 한 실시 예에 따르면, 도 10과 같은 구조에서는 도 9의 구조와 달리, 인코딩을 수행하지 않고 YUV 데이터를 버퍼링만 하고 있다가 정지 영상 촬영 지시(명령)가 발생하면 촬영 지시 시점을 기준으로 이전 또는 이후에 버퍼링된 YUV데이터를 인코딩할 수 있다. 이에 대해, 후술하는 도면들을 참조하여 구체적으로 설명된다.
다양한 실시 예들에서, 도 10의 Resizer(1010)는 이미지 시그널 프로세서(473)를 통해 처리된 이미지(예: 프리뷰 영상) 또는 카메라 모듈(470)의 카메라 버퍼(미도시)에 저장된 이미지(예: 프리뷰 영상)를 대상으로 크기나 해상도를 설정하거나 제어할 수 있다. 한 실시 예에 따라, 도 10의 Resizer(1010)는 카메라 모듈(470)의 이미지 시그널 프로세서(473)에 의해 수행할 수도 있다.
다양한 실시 예들에서, 도 9 또는 도 10의 Muxer(930)는 동영상 인코더로 압축된 비트스트림을 동영상 재생부(533)에서 재생 가능하도록 특정 형식(예: mp4)의 멀티미디어 컨테이너(multimedia container)로 만들어 주는 작업을 수행할 수 있다.
다양한 실시 예들에 따르면, 전자 장치(400)는 정지 영상 촬영 시점에서, 촬영 시점 이전 또는 이후의 T시간의 동영상 저장을 위한 버퍼링 방식은, 전자 장치(400)의 다양한 조건에 적어도 일부 기초하여, 제어부(480)(예: 도 9 및 도 10의 Control Unit(910))에서 선택적으로 결정하여 사용할 수 있다. 한 실시 예에 따르면, 제어부(480)는 전자 장치(400)에 구비된 메모리(450)의 크기(용량)가 작고(또는 여유 저장 공간이 일정 기준 미만), 동영상 인코더의 소모 전류가 적은 경우, 도 9의 버퍼링 방식을 선택할 수 있다. 다른 한 실시 예에 따르면, 제어부(480)는 전자 장치(400)에 구비된 메모리(450)의 크기(용량)가 크고(또는 여유 저장 공간이 일정 기준 이상), 저전력(예: 매우 적은 소모 전류)이 요구되는 경우, 도 10의 버퍼링 방식을 선택할 수 있다.
도 11은 본 발명의 다양한 실시 예들에 따른 전자 장치에서 동영상 버퍼링 동작을 설명하기 위해 도시하는 도면이다.
도 11을 참조하면, 도 11은 도 9에 기초하여 동영상 버퍼링 동작을 수행하는 예시를 도시하는 도면이다.
다양한 실시 예들에 따르면, 제어부(480)(예: 도 9의 Control Unit(910))는, 카메라 어플리케이션(또는 기능)이 실행된 상태에서, 인코더(1110)에 기반하여 프리뷰 영상을 항상 계속하여 인코딩 하도록 동작할 수 있다. 한 실시 예에 따르면, 제어부(480)는 카메라 어플리케이션으로부터, 프리뷰 영상을 출력하기 위한 동작 지시(예: 카메라 어플리케이션 활성화 등)를 감지하면, 동작 지시에 응답하여, 인코딩 중인 프리뷰 영상에서 설정된 일정 시간(예: T시간) 동안의 인코딩된 비트스트림(encoded bitstream)을 버퍼(1120)(예: encoded stream buffer(940))에 저장할 수 있다.
다양한 실시 예들에 따르면, 제어부(480)는 카메라 어플리케이션으로부터, 정지 영상을 촬영하기 위한 동작 지시(예: 동작 1101의 정지 영상 촬영 명령)를 감지하면, 일정 시간(예: T시간)만큼 버퍼링 하고 있던 인코딩된 비트스트림을 파일(예: 동영상 파일)(1130)로 저장하고, Media splitter(950)를 통해 정지 영상과 동영상을 하나의 jpeg 파일로 저장할 수 있다.
다양한 실시 예들에 따르면, 제어부(480)는 카메라 어플리케이션으로부터, 프리뷰 영상을 출력하기 위한 동작 지시(예: 정지 영상 촬영 종료)를 감지하면, 동작 지시에 응답하여, 인코딩 중인 프리뷰 영상에서 설정된 일정 시간(예: T시간) 동안의 인코딩된 비트스트림(encoded bitstream)을 버퍼(1120)에 저장할 수 있고, 카메라 어플리케이션으로부터, 정지 영상을 촬영하기 위한 동작 지시(예: 동작 1103의 정지 영상 촬영 명령)를 감지하면, 일정 시간(예: T시간)만큼 버퍼링 하고 있던 인코딩된 비트스트림을 파일(예: 동영상 파일)(1140)로 저장하고, Media splitter(950)를 통해 정지 영상과 동영상을 다른 하나의 jpeg 파일로 저장할 수 있다.
다양한 실시 예들에 따르면, 전자 장치(400)는 정지 영상을 촬영하기 위한 사용자 입력(예: 촬영 명령)을 수신하면, 정지 영상의 촬영 시점 이전 또는 이후의 일정 시간(예: T시간)만큼의 동영상을 획득하여, 정지 영상과 동영상을 하나의 파일로 생성할 수 있다. 도 11에서는, 정지 영상 촬영을 위한 촬영 간격 시간(예: △T)이 동영상에 관련된 인코딩된 비트스트림 저장에 설정된 버퍼링 시간(예: 일정 시간, T)보다 큰 경우(예: △T > T)를 나타내며, 일정 시간(예: T시간)만큼의 동영상 레코딩을 수행하여, 정지 영상과 레코딩된 동영상을 하나의 파일(예: jpeg 파일)로 저장할 수 있다. 다양한 실시 예들에 따르면, 전자 장치(400)는 정지 영상 촬영 시점 이전 또는 이후의 일정 시간(예: T시간)만큼의 동영상을 획득하여 정지 영상과 독립적으로 저장할 수 있고, 정지 영상에 다른 위치에 저장된 동영상에 연관된 연결 정보를 추가하여 하나의 파일로 생성할 수도 있다.
도 12는 본 발명의 다양한 실시 예들에 따른 전자 장치에서 동영상 버퍼링 동작을 설명하기 위해 도시하는 도면이다.
도 12를 참조하면, 도 12는 도 9에 기초하여 동영상 버퍼링 동작을 수행하는 예시를 도시하는 도면이다. 도 12에서는, 사용자에 의해 연사 촬영, 예를 들면, 연속된 정지 영상 촬영 방식(예: 연속 촬영, 스피드 샷 등)으로, 정지 영상 촬영 간격 시간(△T)이, 동영상을 저장하기 위한 일정 시간(T)보다 짧은 경우(예: △T < T)의 예시를 나타낸다.
다양한 실시 예들에 따르면, 연사 촬영과 같이 정지 영상을 위한 촬영 간격 시간(△T)이 동영상을 저장하기 위한 설정된 버퍼링 시간(예: 일정 시간, T)보다 작은 경우(예: △T < T)에서도, 일정 시간(예: T시간)만큼의 동영상 레코딩을 제공할 수 있다.
한 실시 예에 따르면, 도 12에 도시한 바와 같이, 제어부(480)는 프리뷰 영상을 디스플레이(431)를 통해 출력하는 상태에서, 카메라 어플리케이션으로부터, 정지 영상을 촬영하기 위한 동작 지시(예: 동작 1201, 동작 1203, 동작 1205, 동작 1207, 동작 1209, 동작 1211의 연속된 정지 영상 촬영 명령)를 감지하면, 동작 지시에 응답하여, 해당 시점을 기준으로 일정 시간(예: T시간)만큼 버퍼링 하고 있던 인코딩된 비트스트림을 파일로 저장하지 않고, 예를 들면, 촬영 간격 시간(△T)이 일정 시간(T)보다 커지는 시점까지 계속적으로 버퍼(1120)에 버퍼링된 인코딩된 비트스트림을 파일(예: 동영상 파일)(1200)로 저장할 수 있다.
한 실시 예에 따르면, 제어부(480)는, Media splitter(950)(또는 Bitstream Splitter)를 통해, 촬영 간격 시간(△T)이 일정 시간(T)보다 커지는 시점까지 계속적으로 저장된 파일(1200)에서, 해당 정지 영상(예: 동작 1201 내지 동작 1211의 각 동작 지시에 따라 촬영된 각각의 정지 영상)과, 해당 정지 영상에 대응되는(또는 연관된) 동영상 영역(또는 구간)을 일정 시간(예: T시간)만큼 추출(또는 분리, 잘라내기)할 수 있다. 제어부(480)는 정지 영상과 각 정지 영상에 대응되는 추출된 동영상을 하나의 jpeg 파일로 저장할 수 있다. 예를 들면, 동작 1201 내지 동작 1211과 같이, 6번의 동작 지시에 따라 6개의 정지 영상이 획득될 수 있고, 6개의 정지 영상에 대응되는 6개의 동영상(1210, 1220, 1230, 1240, 1250, 1260)이 동영상 파일(1200)로부터 추출될 수 있다. 제어부(480)는 6개의 정지 영상과 추출된 6개의 동영상 각각을 연관 지어 6개의 jpeg 파일을 각각 생성할 수 있다. 따라서 다양한 실시 예들에서는, 촬영 간격이 매우 짧은 촬영 방식에서도 정의된 일정 시간(예: T시간)만큼의 동영상을 확보할 수 있다.
다양한 실시 예들에 따르면, 연속 촬영 등과 같이 촬영 간격 시간(△T)이 일정 시간(T)보다 작은 경우, 연속된 동작 지시에 따른 각 정지 영상에 연관된 각 동영상은 적어도 일부 영역(또는 구간, 프레임)이 중첩될 수 있다.
예를 들면, 제1 동작 지시(동작 1201)에 대응하는 동영상(mp4_1)(1210)은 제1 동작 지시(동작 1201) 시점부터 이전 또는 이후의 T시간에 대응하는 적어도 하나의 제1 프레임으로 구성될 수 있다. 제2 동작 지시(동작 1203)에 대응하는 동영상(mp4_2)(1220)은 제2 동작 지시(동작 1203) 시점부터 이전 또는 이후의 T시간에 대응하는 적어도 하나의 제2 프레임으로 구성될 수 있다. 이때, 제1 동작 지시(동작 1201)와 제2 동작 지시(동작 1203)에 따른 촬영 간격 시간(△T1)이 T시간보다 작기 때문에, 동영상(mp4_1)(1210)에 대응하는 제1 프레임과 동영상(mp4_2)(1220)에 대응하는 제2 프레임은 적어도 일부가 중첩(예: 동일한 영상)될 수 있다.
한 실시 예에 따르면, T시간이 3초이고, 촬영 간격 시간(△T1)이 1초이고, 초당 1프레임을 갖는다고 가정하면, 동영상(mp4_1)(1210)은 1초, 2초, 3초에 대응하는 3개의 제1 프레임으로 구성될 수 있고, 동영상(mp4_2)(1220)은 촬영 간격 시간(△T1) 차이에 따라 2초, 3초, 4초에 대응하는 3개의 제2 프레임으로 구성될 수 있다. 따라서 동영상(mp4_1)(1210)과 동영상(mp4_2)(1220)은 2초, 3초에 대응하는 프레임을 공통적으로 포함, 예를 들면, 동일한 영역을 포함할 수 있다. 이와 같이, 촬영 간격 시간(△T1, △T2, △T3, △T4, △T5)에 대응하여, 각 동영상(mp4_1 - mp4_6)(1210 - 1260)은 적어도 하나의 다른 동영상과 중첩 영역을 포함할 수 있다.
도 13은 본 발명의 다양한 실시 예들에 따른 전자 장치에서 동영상 버퍼링 동작을 설명하기 위해 도시하는 도면이다.
도 13을 참조하면, 도 13은 도 10에 기초하여 동영상 버퍼링 동작을 수행하는 예시를 도시하는 도면이다.
다양한 실시 예들에 따르면, 제어부(480)(예: 도 10의 Control Unit(910))는, 카메라 어플리케이션(또는 기능)이 실행된 상태에서, 프리뷰 영상을 버퍼링 하도록 동작할 수 있다. 다양한 실시 예들에서, 제어부(480)는 프리뷰 영상에서 YUV 영상을 버퍼(1120)(예: YUV buffer(1020))에 버퍼링 하도록 동작할 수 있다. 한 실시 예에 따르면, 제어부(480)는 카메라 어플리케이션으로부터, 프리뷰 영상을 출력하기 위한 동작 지시(예: 카메라 어플리케이션 활성화 등)를 감지하면, 동작 지시에 응답하여, 버퍼(1120)에 버퍼링 중인 YUV 영상을 인코더(1110)를 통해 인코딩 할 수 있다. 제어부(480)는 인코더(1110)에 의해 인코딩된 일정 시간(예: T시간) 동안의 YUV 영상에 기초하여 파일(예: 동영상 파일)로 저장할 수 있다. 제어부(480)는 동작 지시에 따라 일정 시간 동안의 YUV 영상의 인코딩 후 인코딩 동작을 종료하도록 할 수 있다.
다양한 실시 예들에 따르면, 제어부(480)는 카메라 어플리케이션으로부터, 정지 영상을 촬영하기 위한 동작 지시(예: 동작 1301의 정지 영상 촬영 명령)를 감지하면, 동작 지시에 응답하여, 버퍼링 중인 YUV 영상에서 설정된 일정 시간(예: T시간)만큼 버퍼링된 YUV 영상을 인코딩하여 파일(예: 동영상 파일)(1310)로 저장하고, Media splitter(950)를 통해 정지 영상과 동영상을 하나의 jpeg 파일로 저장할 수 있다.
다양한 실시 예들에 따르면, 제어부(480)는 동작 지시에 응답하여, 버퍼링 중인 YUV 영상에서 설정된 일정 시간(예: T시간)만큼 버퍼링된 YUV 영상을 인코딩하여 파일(예: 동영상 파일)(1310)로 정지 영상과 독립적으로 저장할 수 있고, Media splitter(950)를 통해 정지 영상에 다른 위치에 저장된 동영상에 연관된 연결 정보를 추가하여 하나의 파일로 저장할 수도 있다.
다양한 실시 예들에 따르면, 제어부(480)는 카메라 어플리케이션으로부터, 프리뷰 영상을 출력하기 위한 동작 지시(예: 정지 영상 촬영 이후)를 감지하면, 동작 지시에 응답하여, 인코딩을 중지(종료)하고, YUV 영상을 버퍼(1120)에 저장할 수 있고, 카메라 어플리케이션으로부터, 정지 영상을 촬영하기 위한 동작 지시(예: 동작 1303의 정지 영상 촬영 명령)를 감지하면, 동작 지시에 응답하여, 버퍼링 중인 YUV 영상에서 설정된 일정 시간(예: T시간)만큼 버퍼링된 YUV 영상을 인코딩하여 파일(예: 동영상 파일)((1320)로 저장하고, Media splitter(950)를 통해 정지 영상과 동영상을 하나의 jpeg 파일로 저장할 수 있다.
다양한 실시 예들에 따르면, 전자 장치(400)는 정지 영상을 촬영하기 위한 사용자 입력(예: 촬영 명령)을 수신하면, 정지 영상의 촬영 시점 이전 또는 이후의 일정 시간(예: T시간)만큼의 동영상을 획득하여, 정지 영상과 동영상을 하나의 파일로 생성할 수 있다. 도 13에서는, 정지 영상 촬영을 위한 촬영 간격 시간(예: △T)이 동영상에 관련된 설정된 버퍼링 시간(예: 일정 시간, T)보다 큰 경우(예: △T > T)를 나타내며, 일정 시간(예: T시간)만큼의 동영상 레코딩을 수행하여, 정지 영상과 레코딩된 동영상을 하나의 파일(예: jpeg 파일)로 저장할 수 있다.
도 14는 본 발명의 다양한 실시 예들에 따른 전자 장치에서 동영상 버퍼링 동작을 설명하기 위해 도시하는 도면이다.
도 14를 참조하면, 도 14는 도 10에 기초하여 동영상 버퍼링 동작을 수행하는 예시를 도시하는 도면이다. 도 14에서는, 사용자에 의해 연사 촬영, 예들 들면, 연속된 정지 영상 촬영 방식(예: 연속 촬영, 스피드 샷 등)으로, 정지 영상 촬영 간격 시간(△T)이, 동영상을 저장하기 위한 일정 시간(T)보다 짧은 경우(예: △T < T)의 예시를 나타낸다.
다양한 실시 예들에 따르면, 도 14에 도시한 바와 같이, 제어부(480)는 프리뷰 영상을 디스플레이(431)를 통해 출력하는 상태에서, 카메라 어플리케이션으로부터, 정지 영상을 촬영하기 위한 동작 지시(예: 동작 1401, 동작 1403, 동작 1405, 동작 1407, 동작 1409, 동작 1411의 연속된 정지 영상 촬영 명령)를 감지하면, 동작 지시에 응답하여, 해당 시점을 기준으로 일정 시간(예: T시간)만큼 버퍼링 하고 있던 YUV 영상에 인코딩 후 인코딩 동작을 종료하지 않고, 예를 들면, 촬영 간격 시간(△T)이 일정 시간(T)보다 커지는 시점까지 버퍼(1120)의 버퍼링된 YUV 영상을 계속적으로 인코딩 하여 파일(예: 동영상 파일)(1400)로 저장할 수 있다.
한 실시 예에 따르면, 제어부(480)는, Media splitter(950)(또는 Bitstream Splitter)를 통해, 촬영 간격 시간(△T)이 일정 시간(T)보다 커지는 시점까지 계속적으로 인코딩된 파일(1400)에서, 해당 정지 영상(예: 동작 1401 내지 동작 1411의 각 동작 지시에 따라 촬영된 각각의 정지 영상)과, 해당 정지 영상에 대응되는(또는 연관된) 동영상 영역(또는 구간)을 일정 시간(예: T시간)만큼 추출(또는 분리, 잘라내기)할 수 있다. 제어부(480)는 정지 영상과 각 정지 영상에 대응되는 추출된 동영상을 하나의 jpeg 파일로 저장할 수 있다. 예를 들면, 동작 1401 내지 동작 1411과 같이, 6번의 동작 지시에 따라 6개의 정지 영상이 획득될 수 있고, 6개의 정지 영상에 대응되는 6개의 동영상(1410, 1420, 1430, 1440, 1450, 1460)이 동영상 파일(1400)로부터 추출될 수 있다. 제어부(480)는 6개의 정지 영상과 추출된 6개의 동영상 각각을 연관 지어 6개의 jpeg 파일을 각각 생성할 수 있다. 따라서 다양한 실시 예들에서는, 촬영 간격이 매우 짧은 촬영 방식에서도 정의된 일정 시간(예: T시간)만큼의 동영상을 확보할 수 있다.
다양한 실시 예들에 따르면, 연속 촬영 등과 같이 촬영 간격 시간(△T)이 일정 시간(T)보다 작은 경우, 연속된 동작 지시에 따른 각 정지 영상에 연관된 각 동영상은 적어도 일부 영역(또는 구간)이 중첩될 수 있다.
예를 들면, 제1 동작 지시(동작 1401)에 대응하는 동영상(mp4_1)(1410)은 제1 동작 지시(동작 1401) 시점부터 이전 또는 이후의 T시간에 대응하는 적어도 하나의 제1 프레임으로 구성될 수 있다. 제2 동작 지시(동작 1403)에 대응하는 동영상(mp4_2)(1420)은 제2 동작 지시(동작 1403) 시점부터 이전 또는 이후의 T시간에 대응하는 적어도 하나의 제2 프레임으로 구성될 수 있다. 이때, 제1 동작 지시(동작 1401)와 제2 동작 지시(동작 1403)에 따른 촬영 간격 시간(△T1)이 T시간보다 작기 때문에, 동영상(mp4_1)(1410)에 대응하는 제1 프레임과 동영상(mp4_2)(1420)에 대응하는 제2 프레임은 적어도 일부가 중첩(예: 동일한 영상)될 수 있다.
한 실시 예에 따르면, T시간이 3초이고, 촬영 간격 시간(△T1)이 1초이고, 초당 1프레임을 갖는다고 가정하면, 동영상(mp4_1)(1410)은 1초, 2초, 3초에 대응하는 3개의 제1 프레임으로 구성될 수 있고, 동영상(mp4_2)(1420)은 촬영 간격 시간(△T1) 차이에 따라 2초, 3초, 4초에 대응하는 3개의 제2 프레임으로 구성될 수 있다. 따라서 동영상(mp4_1)(1410)과 동영상(mp4_2)(1420)은 2초, 3초에 대응하는 프레임을 공통적으로 포함, 예를 들면, 동일한 영역을 포함할 수 있다. 이와 같이, 촬영 간격 시간(△T1, △T2, △T3, △T4, △T5)에 대응하여, 각 동영상(mp4_1 - mp4_6)(1410 - 1460)은 적어도 하나의 다른 동영상과 중첩 영역을 포함할 수 있다.
도 15는 본 발명의 다양한 실시 예들에 따른 전자 장치에서 데이터 처리 방법을 도시하는 흐름도이다.
도 15를 참조하면, 동작 1501에서, 전자 장치(400)의 제어부(480)는 촬영 모드에 진입하면, 동작 1503에서 장치 상태를 판단할 수 있다. 예를 들면, 제어부(480)는 전자 장치(400)의 메모리(450)의 크기(용량), 인코더의 소모 전류, 이미지 처리 능력, 또는 고화질 동영상 촬영 등 다양한 조건들 중에서 적어도 일부에 기초하여 전자 장치(400)의 상태를 판단할 수 있다.
동작 1505에서, 제어부(480)는 장치 상태에 따른 동작 정보를 결정할 수 있다. 예를 들면, 제어부(480)는 판단하는 장치 상태에 적어도 일부 기초하여, 동영상 저장을 위한 버퍼링 방식으로, 제1 동작 정보 또는 제2 동작 정보를 결정할 수 있다. 한 실시 예에 따르면, 제어부(480)는 전자 장치(400)에 구비된 메모리(450)의 크기(용량)가 작고(또는 여유 저장 공간이 일정 기준 미만), 동영상 인코더의 소모 전류가 적은 경우, 제1 동작 정보(예: 도 9의 버퍼링 방식)을 선택할 수 있다. 다른 한 실시 예에 따르면, 제어부(480)는 전자 장치(400)에 구비된 메모리(450)의 크기(용량)가 크고(또는 여유 저장 공간이 일정 기준 이상), 매우 적은 소모 전류가 요구되는 경우, 제2 동작 정보(예: 도 10의 버퍼링 방식)을 선택할 수 있다.
동작 1507에서, 제어부(480)는 장치 상태에 따라, 버퍼링 방식으로 제1 동작 정보를 결정하면(동작 1507의 예), 동작 1509에서, 제1 버퍼링 동작에 기초하여 동영상을 처리할 수 있다. 예를 들면, 제어부(480)는 제1 동작 정보를 결정하면, 전술한 도 9, 도 11 및 도 12의 예시와 같이, 프리뷰 영상을 인코딩하여 버퍼링하고, 버퍼링된 프리뷰 영상을 동영상으로 처리하도록 동작할 수 있다. 한 실시 예에 따르면, 제어부(480)는 프리뷰 영상을 선 인코딩 및 후 버퍼링 하는 버퍼링 방식으로 동영상을 처리할 수 있다.
동작 1507에서, 제어부(480)는 장치 상태에 따라, 버퍼링 방식으로 제2 동작 정보를 결정하면(동작 1507의 아니오), 동작 1511에서, 제2 버퍼링 동작에 기초하여 동영상을 처리하도록 동작할 수 있다. 예를 들면, 제어부(480)는 제2 동작 정보를 결정하면, 전술한 도 10, 도 13 및 도 14의 예시와 같이, 프리뷰 영상 중에서 YUV 영상만을 버퍼링하고, 버퍼링된 YUV 영상을 인코딩하여 동영상으로 처리하도록 동작할 수 있다. 한 실시 예에 따르면, 제어부(480)는 프리뷰 영상 중 YUV 영상을 선 버퍼링 및 후 인코딩 하는 버퍼링 방식으로 동영상을 처리할 수 있다.
동작 1513에서, 제어부(480)는 정지 영상 촬영을 감지하면, 동작 1515에서, 정지 영상을 획득(촬영)하고, 촬영 방식에 대응하는 동영상을 획득할 수 있다. 한 실시 예에 따르면, 제어부(480)는 제1 촬영 방식에 따라, 정지 영상을 촬영하는 시점을 기준으로, 해당 시점의 이전의 일정 시간 동안의 영상(예: 프리뷰 영상, YUV 영상)을, 하나의 정지 영상에 대한 동영상으로 획득할 수 있다. 다른 한 실시 예에 따르면, 제어부(480)는 제2 촬영 방식에 따라, 정지 영상을 촬영하는 복수의 시점을 기준으로, 각 시점의 이전의 일정 시간 동안의 영상(예: 프리뷰 영상, YUV 영상)을, 각 정지 영상에 대응하는 각각의 동영상으로 획득할 수 있다. 예를 들면, 제어부(480)는 정지 영상 촬영을 위한 촬영 간격 시간에 따라 매 촬영 시점마다 동영상을 독립적으로 획득하거나, 또는 촬영 간격 시간이 일정 시간보다 커지는 시점까지 하나의 동영상으로 생성하고, 생성된 동영상에서 각 촬영 시점을 기준으로, 각 시점의 이전의 일정 시간 동안의 영상(예: 프리뷰 영상, YUV 영상)을, 각 정지 영상에 대응하는 각각의 동영상으로 일괄적으로 획득할 수 있다.
동작 1517에서, 제어부(480)는 정지 영상과 동영상에 기초하여 적어도 하나의 정지 영상 파일을 생성할 수 있다. 한 실시 예에 따르면, 제어부(480)는 제1 촬영 방식에 기초하여, 하나의 정지 영상과 하나의 동영상에 기초하여 하나의 정지 영상 파일을 생성할 수 있다. 다른 한 실시 예에 따르면, 제어부(480)는 제2 촬영 방식에 기초하여, 각 촬영 시점에 대응하는 각각의 정지 영상들과 각각의 정지 영상들에 대응하는 각각의 동영상들에 기초하여 복수의 정지 영상 파일들을 일괄적으로 생성할 수 있다. 예를 들면, 제어부(480)는 촬영 방식(예: 촬영 간격 시간이 일정 시간보다 큰 일반적인 제1 촬영 방식, 촬영 간격 시간이 일정 시간보다 작은 연속적인 제2 촬영 방식)에 기초하여, 하나 또는 그 이상의 jpeg 파일을 생성할 수 있다.
도 16은 본 발명의 다양한 실시 예들에 따른 전자 장치에서 촬영 방식에 따라 동영상을 획득하는 동작을 도시하는 흐름도이다.
도 16을 참조하면, 동작 1601에서, 전자 장치(400)의 제어부(480)는 정지 영상 촬영을 감지할 수 있다. 예를 들면, 제어부(480)는 카메라 어플리케이션을 실행하고, 프리뷰 영상을 디스플레이(431)를 통해 표시하는 중에, 정지 영상을 촬영하는 동작 지시를 감지할 수 있다.
동작 1603에서, 제어부(480)는 정지 영상 촬영 감지에 응답하여, 촬영 간격 시간이 일정 시간 이상인지 여부를 판단할 수 있다. 예를 들면, 제어부(480)는 정지 영상을 촬영하는 동작 지시가, 제1 촬영 방식(예: 촬영 간격 시간 > 일정 시간)에 의한 일반 촬영인지, 또는 제2 촬영 방식(예: 촬영 간격 시간 < 일정 시간)에 의한 연속 촬영 또는 스피드 샷 등과 같은 연사 촬영인지 여부를 판단할 수 있다.
동작 1603에서, 제어부(480)는 촬영 간격 시간이 일정 시간보다 큰 것으로 판단하면(동작 1603의 예), 예를 들면, 제1 촬영 방식에 의한 일반 촬영인 것으로 판단하면, 동작 1605에서, 정지 영상과 일정 시간 동안의 동영상을 획득할 수 있다. 한 실시 예에 따르면, 제어부(480)는 제1 촬영 방식에 따라, 정지 영상을 촬영하는 시점을 기준으로, 해당 시점의 이전의 일정 시간 동안의 영상(예: 프리뷰 영상, YUV 영상)을, 하나의 정지 영상에 대한 동영상으로 획득할 수 있다. 예를 들면, 제어부(480)는 정지 영상 촬영을 위한 촬영 간격 시간에 따라 매 촬영 시점마다 동영상을 독립적으로 획득할 수 있다.
동작 1607에서, 제어부(4180)는 정지 영상과 동영상에 기초하여 정지 영상 파일을 생성할 수 있다. 예를 들면, 제어부(480)는 제1 촬영 방식에 기초하여, 하나의 정지 영상과 하나의 동영상에 기초하여 하나의 정지 영상 파일을 생성할 수 있다.
동작 1603에서, 제어부(480)는 촬영 간격 시간이 일정 시간보다 작은 것으로 판단하면(동작 1603의 아니오), 예를 들면, 제2 촬영 방식에 의한 연사 촬영인 것으로 판단하면, 동작 1609에서, 동영상을 지속적으로 획득할 수 있다. 예를 들면, 제어부(480)는 후술하는 동작 1611 및 동작 1613에 기초하여, 촬영 간격 시간이 일정 시간보다 커지는 시점까지 동영상을 지속적으로 획득하도록 동작할 수 있다.
동작 1611에서, 제어부(480)는 촬영 간격 시간을 체크하여, 동작 1613에서, 촬영 간격 시간이 일정 시간보다 커지는지 여부를 판단할 수 있다. 한 실시 예에 따르면, 제어부(480)는 제2 촬영 방식에 의한 연사 촬영에 대응하는 정지 영상을 촬영하는 동작 지시가 완료되는지 여부를 판단할 수 있다.
동작 1613에서, 제어부(480)는 촬영 간격 시간이 일정 시간보다 크지 않으면(동작 1613의 아니오), 동작 1609로 진행하여, 동작 1609 이하의 동작 수행을 처리할 수 있다.
동작 1613에서, 제어부(480)는 촬영 간격 시간이 일정 시간보다 크면(동작 1613의 예), 동작 1615에서, 촬영 시점에 대응하는 각각의 정지 영상을 획득할 수 있고, 동작 1617에서, 각 정지 영상의 일정 시간에 대응하는 각 동영상을 획득할 수 있다. 한 실시 예에 따르면, 제어부(480)는 제2 촬영 방식에 따라, 정지 영상을 촬영하는 복수의 시점을 기준으로, 각 시점의 이전의 일정 시간 동안의 영상(예: 프리뷰 영상, YUV 영상)을, 각 정지 영상에 대응하는 각각의 동영상으로 획득할 수 있다. 예를 들면, 제어부(480)는 정지 영상 촬영을 위한 촬영 간격 시간이 일정 시간보다 커지는 시점까지 하나의 동영상으로 생성하고, 생성된 동영상에서 각 촬영 시점을 기준으로, 각 시점의 이전의 일정 시간 동안의 영상(예: 프리뷰 영상, YUV 영상)을, 각 정지 영상에 대응하는 각각의 동영상으로 일괄적으로 획득할 수 있다.
동작 1619에서, 제어부(480)는 각 정지 영상과 각 동영상을 매칭할 수 있고, 동작 1621에서, 정지 영상과 동영상에 기초하여 각각의 정지 영상 파일을 생성할 수 있다. 예를 들면, 제어부(480)는 제2 촬영 방식에 기초하여, 각 촬영 시점에 대응하는 각각의 정지 영상들과 각각의 정지 영상들에 대응하는 각각의 동영상들에 기초하여 복수의 정지 영상 파일들을 일괄적으로 생성할 수 있다.
도 17은 본 발명의 다양한 실시 예들에 따른 전자 장치에서 다른 버퍼링 동작을 설명하기 위해 도시하는 도면이다.
도 17에 도시한 바와 같이, 도 17은 전자 장치에서 촬영 시점 이전의 일정 시간의 동영상을 저장하기 위한 버퍼링 관리 동작의 다른 예를 나타낸다. 예를 들면, 도 17은 빠른 연사의 촬영 방식에서 복잡도를 줄이기 위한 버퍼 제어 방법을 나타낼 수 있다. 예를 들면, 다양한 실시 예들에서는, 트랜잭션 매니저(transaction manager)(1740)를 포함하고, 트랜잭션 매니저(1740)에 기반하여, 전술한 도 12 또는 도 14의 예시에서와 같이 빠른 연사 촬영 방식에서 트랜잭션을 처리하도록 한다.
데이터 프로바이더(data provider)(1710)는, 도 9 및 도 12와 같은 버퍼링 구조에서는 프리뷰 영상을 인코딩하여 인코딩된 영상을 제공하는 인코더(1110)를 나타낼 수 있고, 도 10 및 도 14와 같은 버퍼링 구조에서는 프리뷰 영상 중 YUV 영상을 나타낼 수 있다.
데이터 컨슈머(data consumer)(1720)는, 도 9 및 도 12와 같은 버퍼링 구조에서는 동영상을 저장하는 Muxer(930)를 나타낼 수 있고, 도 10 및 도 14와 같은 버퍼링 구조에서는 버퍼링된 YUV 영상을 인코딩하여 제공하는 인코더(1110)를 나타낼 수 있다.
TRC(transaction base ringbuffer control) 블록(1730)은 도 9 및 도 10의 버퍼링 구조 또는 도 10 및 도 14의 버퍼링 구조에서, 버퍼(1120) 및 버퍼(1120)의 버퍼링 제어를 위한 블록을 나타낼 수 있다. 예를 들면, TRC(1730)는, 트랜잭션 매니저(1740)와 버퍼(1750)(예: ring buffer)를 포함할 수 있다. 한 실시 예에 따라, 버퍼(1750)는 인덱스 단계(index stage)(1751), 커미트 단계(commit stage)(1753), 클린 단계(clean stage)(1755)를 포함할 수 있다. 다양한 실시 예들에서, TRC 블록(1730)은, 트랜잭션 매니저(1740)를 포함하고, 제어부(480)가 아닌, 트랜잭션 매니저(1740)에 기반하여, 전술한 빠른 연사 촬영 방식에서 트랜잭션을 처리할 수 있다.
도 17을 참조하면, 트랜잭션 매니저(1740)는 적정 이벤트 발생 간격을 기준으로 버퍼(1750)에 버퍼링된 데이터(예: 인코딩된 영상, 또는 YUV 영상)를 트랜잭션 단위로 관리할 수 있다. 트랜잭션 매니저(1740)는 버퍼(1750)의 단수 또는 복수의 단계들(예: 인덱스 단계(1751), 커미트 단계(1753), 클린 단계(1755))에 대한 스케줄링(scheduling)을 처리하여, 트랜잭션의 라이프 사이클(life cycle)(예: 트랜잭션 시작(start)/종료(stop))을 관리할 수 있다. 예를 들면, 트랜잭션 매니저(1740)는 버퍼(1750)의 트랜잭션의 라이프 사이클(예: 트랜잭션 시작/종료)과, 데이터 컨슈머(1720)의 라이프 사이클(예: 트랜잭션 시작/종료)을 동기화 하도록 버퍼(1750)의 하나 또는 그 이상의 단계들(1751, 1753, 1755)을 스케줄링 할 수 있다.
다양한 실시 예들에 따르면, 트랜잭션 매니저(1740)는 제어부(480)로부터 트리거 신호(trigger signal)(예: 도 12 또는 도 14의 정지 영상 촬영을 위한 연속적인 동작 지시에 따른 각각의 트리거 신호)에 응답하여, 인코더(1110)로부터 전달되는 인코딩된 프리뷰 영상 또는 카메라 모듈(470)로부터 전달되는 YUV 영상을 트랜잭션 단위(예: 연사 촬영에 따른 각 동작 지시 단위)로 구분할 수 있다. 예를 들면, 제어부(480)는 동작 지시(예: 도 12의 동작 1201 내지 동작 1211, 또는 도 14의 동작 1401 내지 동작 1411)에 따른 트리거 신호를 트랜잭션 매니저(1740)와 데이터 컨슈머(1720)에 전달할 수 있다.
트랜잭션 매니저(1740)는 트리거 신호에 따른 이벤트 발생 간격을 기준으로 버퍼(1750)에 버퍼링된 영상(예: 프리뷰 영상 또는 YUV 영상)을 트랙잭션 단위로 관리하고, 인덱스 단계(1751)에서 버퍼링된 영상에 트랜잭션 단위로 인덱스(예: 동영상 구분 시점으로, 예를 들면, 트랜잭션 시작 또는 트랜잭션 종료)를 부여하여 커미트 단계(1753)에 커미트(commit)할 수 있다. 한 실시 예에 따라, 커미트 단계(1753)에서는 최종적으로 사용자에게 보여지는 순서와 동일하여 보여주도록 뒤섞인 각 영상의 순서를 정렬하는 역할을 수행할 수 있다.
데이터 컨슈머(1720)(예: 미디어 스플리터(950), 인코더(1110))는 트리거 신호에 응답하여, 태스크(task)(예: 동영상 생성과 관련된 동작)를 시작(task start)할 수 있다.
트랜잭션 매니저(1740)는 마지막 트랜잭션을 판단하면(예: 최종 동작 지시에 따른 최종 트리거 신호 수신 이후 더 이상의 트리거 신호가 없는 경우), 제어부(480)에 EOT(end of transaction) 노티피케이션을 전달할 수 있다. 제어부(480)는 트랜잭션 매니저(1740)의 EOT 노티피케이션에 응답하여, 데이터 컨슈머(1720)에 트리거 신호를 전달할 수 있다. 데이터 컨슈머(1720)는 제어부(480)의 트리거 신호에 응답하여, 태스크를 종료(task step)할 수 있다.
다양한 실시 예들에 따르면, 데이터 컨슈머(1720)는 버퍼링된 영상에 부여된 인덱스에 기초하여, 동영상 구분 시점을 확인하고, 구분 시점에 기초하여 각 정지 영상에 대응하는 동영상 생성과 관련된 태스크(예: 정지 영상 별 동영상 생성 또는 인코딩)를 처리할 수 있다. 이와 같이, 다양한 실시 예들에서는, 트랜잭션 매니저(1740)에 기초하여 데이터 컨슈머(1720)의 라이프 사이클(예: 트랙잭션 시작/종료)을 트랜잭션의 라이프 사이클과 동기화 하도록 하여, 제어부(480)에 의한 트랜잭션 관리에 비해, 제어부(480)의 연산 복잡도를 줄이고, 빠른 버퍼 제어가 가능하도록 할 수 있다.
이상에서는 전자 장치에서 정지 영상과 동영상을 정지 영상 파일(예: jpeg 파일)로 결합하여 동시에 저장하는 다양한 실시 예들에 대하여 살펴보았다. 이하에서는 전자 장치에서 정지 영상과 동영상이 결합된 정지 영상 파일을 재생하는 동작에 대하여 살펴보기로 한다.
도 18은 본 발명의 다양한 실시 예들에 따른 전자 장치에서 영상을 제공하는 화면 예시를 도시하는 도면이다.
도 18을 참조하면, 도 18의 화면 (A)는 전자 장치(400)에 저장된 영상(예: 정지 영상, 동영상 등)에 대한 리스트가 표시되는 예시를 나타낼 수 있다. 한 실시 예에 따르면, 영상들의 리스트는, 예를 들면, 각 영상들의 썸네일 이미지(thumbnail image)(1810)로 제공할 수 있다. 다양한 실시 예들에 따르면, 리스트는, 텍스트 또는 썸네일 이미지 중 적어도 하나에 기초하여 제공할 수 있고, 매트릭스 방식 또는 나열 방식 등 다양한 구조로 제공될 수 있다.
도 18의 화면 (A)와 같이 리스트가 표시된 상태에서, 사용자는 특정 영상을 표시(또는 재생)하고자 리스트에서 특정 썸네일 이미지(1815)를 선택(예: 터치)할 수 있다. 도 18의 예시에서는, 사용자에 의해 선택되는 영상이 정지 영상과 동영상이 결합된 정지 영상 파일의 썸네일 이미지인 것을 예시로 한다.
전자 장치(400)는 사용자 선택에 응답하여, 화면 (B) 및 화면 (C)에 도시한 바와 같이, 선택된 썸네일 이미지(1815)에 대응하는 영상을 표시(재생)할 수 있다. 예를 들면, 전자 장치(400)는 선택된 영상이 정지 영상과 동영상을 포함하는 정지 영상 파일인 경우, 정지 영상 파일에서 정지 영상 부분을 추출하여 화면 (B)와 같이 정지 영상(1830)을 표시할 수 있다. 다양한 실시 예들에서, 전자 장치(400)는 표시하는 정지 영상(1830)이 동영상이 포함된 영상인 것을 가이드(guide)하는 동영상 가이드 아이템(1820)을 화면의 어느 일 측에 제공할 수 있다. 예를 들면, 동영상 가이드 아이템(1820)은 정지 영상(1830) 이후에, 관련 동영상이 더 포함되는 것을 나타낼 수 있다.
전자 장치(400)는 화면 (B)와 같이 정지 영상(1830)을 표시한 후, 이어서, 화면 (C)와 같이 정지 영상(1830)과 관련된 동영상(1840)을 재생하여 표시할 수 있다. 예를 들면, 전자 장치(400)는 정지 영상(1830)의 화면 (B)에서 자동으로 동영상(1840)의 화면 (C)로 전환하여 제공할 수 있다. 다양한 실시 예들에 따라, 동영상(1840)은 정지 영상(1830)이 촬영되는 시점으로부터 이전 또는 이후의 일정 시간 동안의 동영상을 나타낼 수 있다. 다양한 실시 예들에 따르면, 전자 장치(400)에 설정되는 옵션(option)(예: 정지 영상과 동영상의 표시 방식에 대한 설정)에 따라 정지 영상(1830)의 화면 (B)에서 동영상 가이드 아이템(1820)의 선택에 따라, 동영상(1840)을 재생하여 표시하는 화면 (C)로 전환할 수도 있다. 예를 들면, 정지 영상(1830)의 화면 (B)에서 수동으로 동영상(1840)의 화면 (C)로 전환하여 제공할 수도 있다.
전자 장치(400)는 화면 (C)와 같이 동영상(1840)을 표시한 후, 동영상(1840)의 재생이 완료되면, 화면 (D)와 같이 정지 영상(1830)을 표시할 수 있다. 다양한 실시 예들에서, 화면 (D)와 화면 (B)는 동일한 화면을 나타내며, 화면 (D)는 설명의 편의를 위해 도시한 것이다. 예를 들면, 전자 장치(400)는 동영상(1840)의 재생이 완료되면, 동영상(1840) 재생 이전의 정지 영상(1830)의 화면(예: 화면 (B), (C))으로 자동으로 전환하여 표시할 수 있다.
도 19는 본 발명의 다양한 실시 예들에 따른 전자 장치에서 영상을 제공하는 동작을 설명하기 위해 도시하는 도면이다.
도 19에 도시한 바와 같이, 도 19는 정지 영상과 동영상이 결합된 정지 영상 파일(예: jpeg 파일)(1900)을 재생하여 표시하는 동작을 나타낸다.
도 19를 참조하면, 정지 영상 파일(1900)은 정지 영상 데이터(1910)와 동영상 데이터(1920)로 구분될 수 있고, 예를 들면, jpeg 파일로 생성될 수 있다. 전자 장치(400)는, 정지 영상 파일(1900)에서, 정지 영상 데이터(1910) 부분의 정지 영상(1930)을 디스플레이(431)를 통해 표시할 수 있다.
전자 장치(400)는, 정지 영상(1930)을 표시한 후, 자동 방식 또는 수동 방식에 기초하여, 정지 영상 파일(1900)에서 동영상 데이터(1920) 부분의 동영상(1940)을 재생하여 디스플레이(431)를 통해 표시할 수 있다. 예를 들면, 전자 장치(400)는 파일 분석부(531)를 통해 동영상 데이터(1920)의 시작 위치와 종료 위치를 분석할 수 있고, 시작 위치로 이동하여 해당 위치부터, 동영상 재생부(533)를 통해 동영상(1940)을 재생하도록 처리할 수 있다.
전자 장치(400)는 동영상(1940)의 재생이 완료되면, 예를 들면, 동영상 데이터(1920)의 종료 위치까지 동영상(1940) 재생이 완료되면, 정지 영상 파일(1900)의 정지 영상 데이터(1910) 부분(위치)으로 이동하여 정지 영상(1930)을 디스플레이(431)를 통해 다시 표시하도록 처리할 수 있다.
도 20은 본 발명의 다양한 실시 예들에 따른 전자 장치에서 영상을 제공하는 방법을 도시하는 흐름도이다.
도 20을 참조하면, 동작 2001에서, 전자 장치(400)의 제어부(480)는 영상 표시를 감지할 수 있다. 예를 들면, 제어부(480)는 전술한 도 18을 참조한 설명 부분에서 설명한 바와 같이, 영상들의 리스트에서 사용자에 의해 특정 영상이 선택되면, 영상 표시를 위한 입력으로 판단할 수 있다.
동작 2003에서, 제어부(480)는 영상 표시 감지에 응답하여, 선택된 영상을 분석하고, 동작 2005에서, 선택된 영상이 정지 영상 파일인지 여부를 판단할 수 있다. 예를 들면, 제어부(480)는 영상의 종류를 판단할 수 있다. 다양한 실시 예들에 따라, 영상의 종류는, 정지 영상, 동영상, 또는 정지 영상과 동영상이 결합된 영상(예: 정지 영상 파일) 등을 포함할 수 있다.
동작 2005에서, 제어부(480)는 선택된 영상이 동영상을 포함한 정지 영상 파일이 아닌 것으로 판단하면(동작 2005의 아니오), 동작 2007에서, 해당 영상의 표시를 처리할 수 있다. 예를 들면, 제어부(480)는 선택된 영상이 정지 영상인 경우, 해당 정지 영상을 디스플레이(431)를 통해 표시하도록 처리할 수 있고, 선택된 영상이 동영상인 경우, 동영상을 재생하여 디스플레이(431)를 통해 표시하도록 처리할 수 있다.
동작 2005에서, 제어부(480)는 선택된 영상이 동영상을 포함한 정지 영상 파일인 것으로 판단하면(동작 2005의 예), 동작 2009에서, 정지 영상의 표시를 처리할 수 있다. 예를 들면, 제어부(480)는 정지 영상 파일에서, 정지 영상에 대응하는 부분을 추출하여 정지 영상을 디스플레이(431)에 표시하도록 처리할 수 있다. 한 실시 예에 따라, 제어부(480)는 선택된 영상이 정지 영상 파일인 것을 판단하면, 정지 영상 파일에서 정지 영상 부분과 동영상 부분을 구분할 수 있고, 동영상 부분의 시작 지점(위치)와 종료 지점(위치)를 분석할 수 있다.
동작 2011에서, 제어부(480)는 정지 영상을 표시한 후, 동영상을 재생할 수 있다. 예를 들면, 제어부(480)는 정지 영상 파일에서 동영상 시작 지점으로 이동하여 동영상을 재생할 수 있다. 한 실시 예에 따르면, 제어부(480)는 정지 영상을 표시한 후, 자동으로 동영상의 시작 지점부터 동영상을 재생하여 디스플레이(431)에 표시하도록 동작할 수 있다. 다른 한 실시 예에 따르면, 제어부(480)는 정지 영상을 표시한 후, 사용자의 동영상 가이드 아이템(1820) 선택에 기초하여 동영상의 시작 지점부터 동영상을 재생하여 디스플레이(431)에 표시하도록 동작할 수 있다.
동작 2013에서, 제어부(480)는 동영상의 재생 완료 여부를 판단할 수 있다. 예를 들면, 제어부(480)는 동영상 재생 중에 동영상의 종료 지점에 도달(예: 동영상 재생 완료)되는지 여부를 판단할 수 있다.
동작 2013에서, 제어부(480)는 동영상의 재생이 완료되지 않은 경우(동작 2013의 아니오), 동작 2011로 진행하여, 동작 2011 이하의 동작 수행을 처리할 수 있다.
동작 2013에서, 제어부(480)는 동영상의 재생이 완료되는 경우(동작 2013의 예), 동작 2015에서, 동영상 재생을 종료하고 정지 영상을 표시하도록 동작할 수 있다. 예를 들면, 제어부(480)는 동영상 재생 이전의 정지 영상을 표시할 수 있다.
도 21은 본 발명의 다양한 실시 예들에 따른 전자 장치에서 데이터를 공유하는 동작을 도시하는 흐름도이다.
도 21을 참조하면, 동작 2101에서, 전자 장치(400)의 제어부(480)는 데이터 공유를 감지할 수 있다. 예를 들면, 제어부(480)는 영상들의 리스트 표시 또는 다양한 소셜 네트워크 서비스(SNS, social network service) 실행 중에, 특정 영상을 공유하기 위한 사용자 입력에 기초하여 데이터 공유를 판단할 수 있다.
동작 2103에서, 제어부(480)는 데이터를 분석하고, 동작 2105에서, 데이터의 종류가 동영상을 포함한 정지 영상 파일인지 여부를 판단할 수 있다. 예를 들면, 제어부(480)는 사용자에 의해 공유 요청된 데이터(예: 공유를 위해 선택된 데이터)의 종류를 분석할 수 있다. 다양한 실시 예들에 따라, 데이터는 정지 영상, 동영상 또는 정지 영상과 동영상이 결합된 영상(예: 정지 영상 파일) 등을 포함할 수 있다.
동작 2105에서, 제어부(480)는 데이터가 동영상이 포함된 정지 영상 파일이 아닌 것으로 판단하면(동작 2105의 아니오), 동작 2107에서, 해당 데이터의 공유를 수행할 수 있다. 예를 들면, 제어부(480)는 데이터가 정지 영상 또는 동영상인 경우, 해당 정지 영상 또는 동영상을 통신 회로(예: 무선 통신부(410))를 통해 다른 장치(예: 전자 장치(102, 104), 서버(106))에 전송하도록 처리할 수 있다.
동작 2105에서, 제어부(480)는 데이터가 정지 영상 파일인 것으로 판단하면(동작 2105의 예), 동작 2109에서, 공유 데이터 선택을 위한 인터페이스를 표시할 수 있다. 예를 들면, 제어부(480)는 정지 영상과 동영상을 포함하는 정지 영상 파일 자체를 공유할 지, 정지 영상 파일에서 정지 영상만을 공유할 지, 또는 정지 영상 파일에서 동영상만을 공유할 지를 설정(또는 선택)할 수 있는 GUI(예: 팝업 윈도우(pop-window))를 디스플레이(431)에 표시하도록 처리할 수 있다.
동작 2111에서, 제어부(480)는 공유 데이터 선택을 위한 인터페이스에 기초하여, 데이터 선택을 감지할 수 있다. 예를 들면, 사용자는 공유 데이터 선택을 위한 인터페이스에서, 정지 영상 파일, 정지 영상, 또는 동영상 중 어느 하나를 선택할 수 있다.
동작 2113에서, 제어부(480)는 데이터 공유 종류를 판단할 수 있다. 예를 들면, 제어부(480)는 정지 영상 파일 자체를 공유하는 제1 공유 방식, 정지 영상 파일에서 정지 영상만을 공유하는 제2 공유 방식, 또는 정지 영상 파일에서 동영상만을 공유하는 제3 공유 방식 중, 선택된 데이터에 기초하여 어느 하나의 공유 방식을 판단할 수 있다. 제어부(480)는 데이터 공유 방식에 기초하여 관련 데이터를 공유하기 위한 동작을 처리할 수 있다.
한 실시 예에 따르면, 동작 2113에서, 제어부(480)는 데이터 공유 종류가 제1 공유 방식인 것을 판단하면, 동작 2115에서, 정지 영상 파일의 공유를 수행할 수 있다. 예를 들면, 제어부(480)는 정지 영상 파일을 통신 회로(예: 무선 통신부(410))를 통해 다른 장치(예: 전자 장치(102, 104), 서버(106))에 전송하도록 처리할 수 있다.
한 실시 예에 따르면, 동작 2113에서, 제어부(480)는 데이터 공유 종류가 제2 공유 방식인 것을 판단하면, 동작 2117에서, 정지 영상 파일로부터 정지 영상을 추출할 수 있다. 예를 들면, 제어부(480)는 전술한 바와 같이 정지 영상 파일에서 정지 영상 부분과 동영상 부분을 구분할 수 있고, 정지 영상 파일에서 정지 영상 부분을 추출할 수 있다. 동작 2119에서, 제어부(480)는 정지 영상의 공유를 수행할 수 있다. 예를 들면, 제어부(480)는 정지 영상을 통신 회로(예: 무선 통신부(410))를 통해 다른 장치(예: 전자 장치(102, 104), 서버(106))에 전송하도록 처리할 수 있다.
한 실시 예에 따르면, 동작 2113에서, 제어부(480)는 데이터 공유 종류가 제3 공유 방식인 것을 판단하면, 동작 2121에서, 정지 영상 파일로부터 동영상을 추출할 수 있다. 예를 들면, 제어부(480)는 전술한 바와 같이 정지 영상 파일에서 정지 영상 부분과 동영상 부분을 구분할 수 있고, 정지 영상 파일에서 동영상 부분을 추출할 수 있다. 동작 2123에서, 제어부(480)는 동영상의 공유를 수행할 수 있다. 예를 들면, 제어부(480)는 동영상을 통신 회로(예: 무선 통신부(410))를 통해 다른 장치(예: 전자 장치(102, 104), 서버(106))에 전송하도록 처리할 수 있다.
이상에서는 전자 장치에서 정지 영상과 동영상, 또는 정지 영상과 동영상 연결 정보에 기초하여 정지 영상 파일로 생성하는 다양한 실시 예들에 대하여 살펴보았다. 이하에서는, 다양한 실시 예들에 따라, 정지 영상의 촬영 간격 간(예: shot-to-shot) 속도 지연을 최소화 하는 동작에 대하여 살펴보기로 한다.
예를 들면, 종래에서는 하나의 파일에 정지 영상과 동영상을 함께 저장할 시 동기식으로 처리하여, 동영상 저장이 완료된 시점부터 정지 영상의 재촬영이 가능하며, 따라서 촬영 간 시간이 지연될 수 있다. 다양한 실시 예들에서는, 정지 영상을 처리하는 파이프라인(pipeline)과 동영상 레코딩을 수행하는 파이프라인을 분리하여, 비동기식 처리를 수행하도록 할 수 있다. 이를 통해, 다양한 실시 예들에서는, 기존의 영상 촬영 시퀀스를 개선하여, 정지 영상 촬영 속도에 지연을 주지 않으면서, 정지 영상과 동영상을 하나의 결과물로 저장될 수 있도록 제공할 수 있다.
도 22, 도 23 및 도 24는 본 발명의 다양한 실시 예들에 따른 전자 장치에서 영상의 비동기식 처리 동작을 설명하기 위해 도시하는 도면들이다.
도 22, 도 23 및 도 24는 전자 장치(400)의 카메라 프로그램 모듈의 예시를 나타낼 수 있다. 다양한 실시 예들에서, 카메라 프로그램 모듈은, 예를 들면, 도 3에 도시된 프로그램 모듈(310)의 전체 또는 일부를 포함할 수 있다. 예를 들면, 전자 장치(400)는 카메라 어플리케이션(camera application)(2210), 카메라 프레임워크(camera framework)(2220), 카메라 하드웨어 추상화 계층(camera HAL(hardware abstraction layer), 이하, "카메라 HAL"이라 약칭함)(2230), 및 서비스 데몬(service daemon)(2240)을 포함할 수 있다.
카메라 어플리케이션(2210)은, 카메라 프로그램 모듈의 최상위 단의 어플리케이션(예: 도 3의 어플리케이션(370)의 카메라(376))으로, 전자 장치(400)의 카메라(예: 카메라 모듈(470))을 사용하기 위해 카메라를 오픈(open)하고 관리할 수 있도록 하는 역할을 수행할 수 있다.
카메라 프레임워크(2220)는, 예를 들면, 런타임(runtime)(예: 도 3의 미들웨어(330)의 런타임 라이브러리(335))에 의해, 카메라 관련 라이브러리(library)를 호출하고, 라이브러리에서는 바인더(binder) 통신을 통해 카메라 HAL(2230)과 연결되어, 카메라를 작동시킬 수 있다.
카메라 HAL(2230)은, 실제 카메라 인터페이스(camera interface)의 추상화 계층으로, 실제 카메라 디바이스 드라이버(camera device driver)(예: 도 3의 커널(320)의 디바이스 드라이버(323))의 바로 위에 올라가는 카메라 하드웨어 제어 모듈을 포함할 수 있다.
서비스 데몬(2240)은 카메라 어플리케이션(2210) 또는 카메라 프레임워크(2220)(예: 라이브러리)에 의해 요청된 동작에 대한 서비스를 수행할 수 있다. 다양한 실시 예들에 따라, 서비스 데몬(2240)은, 도 9 또는 도 10의 영상 레코딩 엔진(900)에 대응할 수 있다. 서비스 데몬(2240)은 카메라 어플리케이션(2210)과 통신을 위한 제1 인터페이스(2250)(예: java 인터페이스), 카메라 프레임워크(2220)와 통신을 위한 제2 인터페이스(2260)(예: native 인터페이스)
도 22에 도시한 바와 같이, 도 22는 전자 장치(400)에서 촬영 동작을 시작할 때 프리뷰 영상이 제공(예: dynamic photo on)되는 예시를 나타낸다.
도 22를 참조하면, 동작 2201에서, 카메라 어플리케이션(2210)은, 카메라 어플리케이션(2210) 실행에 응답하여, 프리뷰 영상을 출력하기 위한 동작 지시(예: dynamic photo on)를 카메라 프레임워크(2220)에 전달할 수 있다.
동작 2203에서, 카메라 프레임워크(2220)는, 카메라 HAL(2230)에 프리뷰 호출(예: preview callback)을 요청(예: enable)할 수 있다.
동작 2205에서, 카메라 프레임워크(2220)는, 프리뷰 호출 요청에, 순차적으로 또는 병렬적으로, 프리뷰를 위한 동작을 시작함을 서비스 데몬(2240)에 통지할 수 있다. 예를 들면, 카메라 프레임워크(2220)는, 시작 커맨드(start command)를, 제2 인터페이스(2260)(예: native interface)를 통해 서비스 데몬(2240)에 전달할 수 있다.
동작 2207에서, 카메라 HAL(2230)은, 카메라 프레임워크(2220)의 프리뷰 호출(예: preview callback) 요청에 응답하여, 프리뷰 데이터(preview data)를 호출하여 카메라 프레임워크(2220)에 전달할 수 있다.
동작 2209에서, 카메라 프레임워크(2220)는, 카메라 HAL(2230)로부터 프리뷰 데이터가 수신되면, 프리뷰 데이터를 서비스 데몬(2240)에 전달할 수 있다. 예를 들면, 카메라 프레임워크(2220)는, 프리뷰 데이터를, 제2 인터페이스(2260)를 통해 서비스 데몬(2240)에 전달할 수 있다.
다양한 실시 예들에 따라, 서비스 데몬(2240)는 카메라 프레임워크(2220)로부터 전달된 프리뷰 데이터를, 버퍼에 저장(예: 버퍼링)할 수 있다. 한 실시 예에 따라, 서비스 데몬(2240)은 전술한 도 9 또는 도 10의 영상 레코딩 엔진(900)에 대응하는 동작을 수행할 수 있다.
도 23에 도시한 바와 같이, 도 23은 전자 장치(400)에서 영상 촬영이 수행(예: capture)되는 예시를 나타낸다.
도 23을 참조하면, 동작 2301에서, 카메라 어플리케이션(2210)은, 영상 촬영을 수행하기 위한 동작 지시에 응답하여, 상태 커맨드(state command)를 서비스 데몬(2240)에 전달할 수 있다. 예를 들면, 카메라 어플리케이션(2210)은, 영상 캡쳐(capture)를 시작함을, 제1 인터페이스(2250)(예: java interface)를 통해 서비스 데몬(2240)에 전달할 수 있다. 서비스 데몬(2240)은, 카메라 어플리케이션(2210)으로부터 캡쳐 시작을 확인하면, 버퍼에 저장하고 있던(버퍼링된) 프리뷰 데이터를 이용하여 레코딩(recording) 파일 생성을 위한 인코딩(encoding)을 시작할 수 있다.
동작 2303에서, 서비스 데몬(2240)은, 카메라 어플리케이션(2210)에서 캡쳐 시작을 통지하면, 이때, 캡쳐 별 관리를 위하여 아이디(ID)를 생성하여 , 제1 인터페이스(2250)에 기반하여 카메라 어플리케이션(2210)에 전달할 수 있다. 다양한 실시 예들에 따르면, 서비스 데몬(2240)은 캡쳐 별 ID를 카메라 어플리케이션(2210)으로 전달하고, 추후 캡쳐 별 ID를 사용하여 해당 캡쳐를 관리함으로서 중복 또는 연속 촬영 시 발생할 수 있는 문제를 미연에 방지할 수 있다.
동작 2305에서, 카메라 어플리케이션(2210)은, 서비스 데몬(2240)로부터 수신된 ID를 큐(queue)(2310)에 등록하여 관리할 수 있다.
동작 2307에서, 카메라 어플리케이션(2210)은, 캡쳐 커맨드(capture command)를 카메라 프레임워크(2220)에 전달할 수 있다.
동작 2309에서, 카메라 프레임워크(2220)는, 카메라 어플리케이션(2210)으로부터 캡쳐 커맨드를 수신하면, 현재 상황을 확인하여 촬영이 가능하면, 카메라 HAL(2230)에 캡쳐 커맨드를 전달할 수 있다.
동작 2311에서, 카메라 HAL(2230)은, 촬영에 따라 생성된 이미지 데이터(예: jpeg data)를 카메라 프레임워크(2220)로 전달할 수 있다. 다양한 실시 예들에 따라, 카메라 HAL(2230)은, 이미지 데이터를 카메라 프레임워크(2220)에 전달할 때, 이미지 데이터의 복사(copy)(예: 실질적인 이미지 데이터 전달)는 수행하지 않고, 이미지 데이터가 저장되는 메모리(450) 상의 주소를 전달할 수 있다.
동작 2313에서, 카메라 프레임워크(2220)는, 카메라 HAL(2230)로부터 전달된 이미지 데이터를 카메라 어플리케이션(2210)으로 전달할 수 있다.
동작 2315에서, 카메라 어플리케이션(2210)은, 카메라 프레임워크(2220)로부터 이미지 데이터를 수신하면 파일(2320)(예: 시스템 에디트 파일(SEF(system edit file))에 저장할 수 있다. 다양한 실시 예들에 따라, 카메라 어플리케이션(2210)은, 시스템 에디트 파일(2320)의 헤더(header) 생성을 수행하고, 이미지 데이터(예: jpeg)까지 시스템 에디터 파일(2320)에 저장하고, 이를 데이터베이스(DB)에 추가하는 작업까지 완료할 수 있다. 이에 따라, 갤러리 어플리케이션(gallery application)(2340)에서는 바로 촬영된 이미지 데이터를 확인할 수 있는 상태가 될 수 있다.
동작 2317에서, 카메라 어플리케이션(2210)은, 이미지 데이터를 저장한 파일 경로(file path)(예: 시스템 에디트 파일(2320) 경로)를, 제1 인터페이스(예: java interface)를 통해 서비스 데몬(2240)에 전달할 수 있다.
동작 2319에서, 서비스 데몬(2240)은, 카메라 어플리케이션(2210)으로부터, 이미지 데이터가 저장된 파일 경로(예: 시스템 에디트 파일(2320) 경로)를 수신하면, 파일(2320) 뒷부분(예: 이미지 데이터(예: jpeg) 이후)에 인코딩된 동영상 데이터(예: Mp4)를 추가하여, 이미지 데이터(정지 영상)과 동영상을 포함하는 파일(2330)을 생성하여 저장할 수 있다.
동작 2321에서, 서비스 데몬(2240)은, 필요에 따라, 파일(2330)을 저장하면, 파일(2330)의 저장이 완전히 끝났음을 알리는 메시지(예: save done message) 카메라 어플리케이션(2210)과 갤러리 어플리케이션(2340)에 전달할 수 있다. 이러한 다양한 실시 예들에 따라, 사용자는 정지 영상(예: jpeg) 뿐만 아니라 동영상(예: mp4)까지 볼 수 있도록 처리할 수 있다.
도 24에 도시한 바와 같이, 도 24는 전자 장치(400)에서 촬영 동작을 종료(예: dynamic photo off)하는 예시를 나타낸다.
도 24를 참조하면, 동작 2401에서, 카메라 어플리케이션(2210)은,촬영 동작을 종료하기 위한 동작 지시(예: dynamic photo off)를 카메라 프레임워크(2220)에 전달할 수 있다.
동작 2403에서, 카메라 프레임워크(2220)는, 카메라 HAL(2230)에 프리뷰 호출(예: preview callback)을 취소(예: disable)할 수 있다.
동작 2405에서, 카메라 프레임워크(2220)는, 프리뷰 호출 취소에, 순차적으로 또는 병렬적으로, 촬영 동작(예: dynamic photo)이 끝났음을 서비스 데몬(2240)에 통지할 수 있다. 예를 들면, 카메라 프레임워크(2220)는, 중지 커맨드(stop command)를, 제2 인터페이스(2260)(예: native interface)를 통해 서비스 데몬(2240)에 전달할 수 있다.
이상에서, 도 22, 도 23 및 도 24를 참조하여 살펴본 바와 같이, 다양한 실시 예들에 따르면, 정지 영상을 위한 캡쳐 파이프라인(capture pipeline)을 메인(main)으로 진행하면서, 동영상의 레코딩(recording)을 위한 서비스 데몬(2240)(또는 백그라운드 서비스(background service)(예: 도 9 또는 도 10의 영상 레코딩 엔진(900)에 대응)에 프리뷰 데이터의 공급만 수행할 수 있다. 예를 들면, 동영상을 위한 레코딩 파이프라인(recording pipeline)을, 캡쳐 파이프라인과 분리하여 비동기식으로 처리할 수 있다.
다양한 실시 예들에 따라, 서비스 데몬(2240)에서는 버퍼에 해당 프리뷰 데이터를 저장하고, 영상 캡쳐 시에만 버퍼에 버퍼링된 프리뷰 데이터를 레코딩 컨텐츠(예: mp4)로 생성하도록 할 수 있다.
다양한 실시 예들에 따라, 서비스 데몬(2240)에서는 캡쳐된 이미지 데이터(예: jpeg file)를 생성 완료함과 동시에, 해당 이미지 데이터를 사용자가 갤러리(gallery)나 뷰어(viewer)에서 바로 확인할 수 있도록, 갤러리 어플리케이션(2340)에 바로 등록할 수 있고, 이를 통해 이미지 데이터 및 데이터베이스 추가를 완료할 수 있다.
다양한 실시 예들에 따라, 정지 영상과 동영상을 비동기식 처리(또는 분리 처리)를 통해, 바로 연속 촬영이 가능하도록 하여, 버스트 샷(burst shot) 등의 촬영에서도 속도 지연을 최소화 할 수 있다.
다양한 실시 예들에 따라, 레코딩 컨텐츠(예: mp4)는 이미지 데이터(예: jpeg)에 페이로드(payload) 하여, 하나의 파일로 생성 및 관리할 수 있다.
이상에서, 도 22, 도 23 및 도 24를 참조하여 살펴본 바와 같이, 다양한 실시 예들에 따른 영상 촬영 방법은, 예를 들면, 프리뷰를 표시(또는 카메라 어플리케이션 실행)하기 위한 사용자 입력 시 동영상 레코딩 및 동영상 레코딩을 위한 버퍼링 서비스(예: 서비스 데몬, 또는 백그라운드 서비스(background service))를 통해 버퍼링을 수행하는 동작, 영상을 촬영하기 위한 캡쳐 명령에 기반하여 캡쳐 아이디(ID)를 생성하여 버퍼링 서비스에 전달하는 동작, 촬영 명령에 대응하는 정지 영상을 캡쳐 아이디와 관련지어 저장하는 동작, 정지 영상의 생성이 완료되면, 동영상에 대한 인코딩(예: mp4)을 수행하는 동작, 버퍼링 서비스가, 전달된 캡쳐 아이디를 이용하여 정지 영상과 동일 시점에 인코딩된 동영상을 정지 영상에 추가하여 저장하는 동작을 포함할 수 있다.
이상에서 살펴본 바와 같이, 본 발명의 다양한 실시 예들에 따른 전자 장치(400)는, 촬영 모드 진입에 응답하여 카메라 모듈(470)을 통해 영상을 획득하는 동작, 획득된 영상을 디스플레이(431)를 통해 프리뷰 영상으로 표시하는 동작, 정지 영상을 촬영하는 동작 지시에 응답하여, 상기 영상으로부터 정지 영상을 획득하고, 상기 프리뷰 영상의 적어도 일부로부터 동영상을 획득하는 동작, 상기 정지 영상과 상기 동영상에 기초하여 이미지 형식의 정지 영상 파일을 생성하는 동작, 및 상기 정지 영상 파일을 메모리(450)에 저장하는 동작을 포함할 수 있다.
다양한 실시 예들에 따라, 상기 동영상을 획득하는 동작은, 상기 프리뷰 영상의 적어도 일부를 버퍼링 하는 동작, 및 상기 동작 지시에 응답하여, 상기 버퍼링된 상기 프리뷰 영상에서, 상기 동작 지시 시점으로부터 이전의 일정 시간 동안의 영상에 기초하여 상기 동영상을 생성하는 동작을 포함할 수 있다.
다양한 실시 예들에 따라, 상기 버퍼링 하는 동작은, 상기 촬영 모드에 진입하면, 장치 상태를 판단하는 동작, 및 상기 장치 상태에 적어도 일부 기초하여, 동영상 저장을 위한 버퍼링 방식을 결정하는 동작을 포함하고, 상기 버퍼링 방식으로 제1 동작 정보를 결정하면, 제1 버퍼링 동작에 기초하여 동영상을 처리하는 동작, 및 상기 버퍼링 방식으로 제2 동작 정보를 결정하면, 제2 버퍼링 동작에 기초하여 동영상을 처리하는 동작을 포함할 수 있다.
다양한 실시 예들에 따라, 상기 장치 상태를 판단하는 동작은, 메모리의 크기, 인코더의 소모 전류, 이미지 처리 능력, 또는 고화질 동영상 촬영에 적어도 일부에 기초하여 상기 전자 장치의 상태를 판단하는 동작을 포함할 수 있다.
다양한 실시 예들에 따라, 상기 결정하는 동작은, 상기 메모리의 크기가 작고 상기 인코더의 소모 전류가 적은 경우 상기 제1 동작 정보를 결정하고, 상기 메모리의 크기가 크고 저전력이 요구되는 경우 상기 제2 동작 정보를 결정하는 동작을 포함할 수 있다.
다양한 실시 예들에 따라, 상기 동영상을 처리하는 동작은, 상기 제1 동작 정보를 결정하면, 상기 프리뷰 영상을 선 인코딩 및 후 버퍼링 하는 버퍼링 방식에 기초하여 상기 동영상을 생성하는 동작, 및 상기 제2 동작 정보를 결정하면, 상기 프리뷰 영상 중 YUV 영상을 선 버퍼링 및 후 인코딩 하는 버퍼링 방식에 기초하여 상기 동영상을 생성하는 동작을 포함할 수 있다.
다양한 실시 예들에 따라, 상기 정지 영상을 촬영하는 동작 지시를 감지하면, 상기 정지 영상을 획득하는 동작, 및 상기 동작 지시에 대응하는 촬영 방식에 따라, 상기 정지 영상에 대응하는 상기 동영상을 독립적 또는 일괄적으로 획득하는 동작을 포함할 수 있다.
다양한 실시 예들에 따라, 상기 획득하는 동작은, 상기 정지 영상을 촬영하는 동작 지시에 응답하여, 촬영 간격 시간과 일정 시간에 적어도 일부 기초하여 제1 촬영 방식에 의한 일반 촬영인지, 또는 제2 촬영 방식에 의한 연사 촬영인지 여부를 결정하는 동작, 상기 제1 촬영 방식을 결정하면, 정지 영상을 촬영하는 시점을 기준으로, 해당 시점의 이전의 일정 시간 동안의 영상을, 하나의 정지 영상에 대한 동영상으로 획득하고, 정지 영상과 동영상에 기초하여 정지 영상 파일을 생성하는 동작, 및 상기 제2 촬영 방식을 결정하면, 정지 영상 촬영을 위한 촬영 간격 시간이 일정 시간보다 커지는 시점까지 하나의 동영상을 지속적으로 획득하고, 상기 동영상에서 정지 영상을 촬영하는 복수의 시점을 기준으로, 각 시점의 이전의 일정 시간 동안의 영상을, 각 정지 영상에 대응하는 각각의 동영상으로 획득하고, 각 정지 영상과 각 동영상에 기초하여 복수의 정지 영상 파일들을 생성하는 동작을 포함할 수 있다.
다양한 실시 예들에 따라, 상기 메모리에 저장된 상기 정지 영상 파일을 표시하기 위한 입력을 감지하는 동작, 상기 정지 영상 파일에서 정지 영상 부분과 동영상 부분을 구분하는 동작, 상기 정지 영상 파일에서, 상기 정지 영상 부분을 추출하여 정지 영상을 표시하는 동작, 상기 정지 영상을 표시한 후 상기 정지 영상 파일에서 상기 동영상 부분의 시작 위치에서 동영상을 재생하여 표시하는 동작, 및 상기 동영상의 재생이 완료되면, 상기 정지 영상을 표시하는 동작을 포함할 수 있다.
다양한 실시 예들에 따라, 상기 동영상을 재생하여 표시하는 동작은, 상기 정지 영상을 표시한 후, 상기 동영상을 자동으로 재생하여 표시하거나, 또는 동영상 가이드 아이템의 선택에 응답하여 상기 동영상을 재생하여 표시하는 동작을 포함할 수 있다.
다양한 실시 예들에 따라, 상기 메모리에 저장된 정지 영상 파일을 공유하기 위한 입력을 감지하는 동작, 상기 정지 영상 파일의 공유 방식 선택을 위한 인터페이스에 기초하여 공유 방식을 결정하는 동작, 및 상기 결정된 공유 방식에 대응하여, 상기 정지 영상 파일, 상기 정지 영상 파일의 정지 영상, 또는 상기 정지 영상 파일의 동영상을 선택적으로 공유하는 동작을 포함할 수 있다.
본 명세서와 도면에 개시된 본 발명의 다양한 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
400: 전자 장치 431: 디스플레이
450: 메모리 470: 카메라 모듈
480: 제어부(프로세서) 510: 데이터 생성부
511: 동영상 저장부 513: 정지 영상 저장부
515: 스플리터 530: 데이터 재생부
531: 파일 분석부 533: 동영상 재생부
900: 영상 레코딩 엔진(서비스 데몬)
1110: 인코더 1120: 버퍼

Claims (30)

  1. 전자 장치에 있어서,
    카메라;
    디스플레이;
    적어도 하나의 메모리; 및
    상기 카메라, 상기 디스플레이, 및 상기 적어도 하나의 메모리와 기능적으로 연결된 프로세서를 포함하고, 상기 프로세서는,
    상기 카메라의 실행에 대응하는 제1 입력에 응답하여 상기 카메라를 통해 적어도 하나의 외부 객체에 대한 영상 데이터를 획득하고,
    상기 획득된 영상 데이터의 적어도 일부 영상 데이터에 대응하는 프리뷰 영상을 상기 디스플레이에 표시하는 동안, 상기 적어도 일부 영상 데이터를 상기 적어도 하나의 메모리에 버퍼링하고,
    상기 카메라의 촬영에 대응하는 제2 입력에 응답하여, 상기 획득된 영상 데이터를 이용하여 상기 적어도 하나의 외부 객체에 대한 정지 영상을 생성하고,
    상기 버퍼링된 적어도 일부 영상 데이터에서, 상기 제2 입력의 시점으로부터 이전 또는 이후 일정 시간 동안의 데이터에 기초하여, 상기 적어도 하나의 외부 객체에 대한 동영상을 생성하고,
    상기 생성된 정지 영상 및 상기 생성된 동영상을 포함하는 파일을 이미지 포맷으로 생성하고,
    상기 생성된 파일을 포함하는 적어도 하나의 파일을 상기 적어도 하나의 메모리에 저장하고,
    상기 파일에 대응하는 영상을 표시하기 위한 제3 입력에 응답하여, 상기 파일에 포함된 상기 정지 영상 및 상기 파일에 포함된 상기 동영상을 재생하기 위한 동영상 가이드 아이템을 상기 디스플레이에 표시하고, 및
    상기 동영상 가이드 아이템을 선택하는 제4 입력에 응답하여, 상기 정지 영상 대신 상기 동영상을 재생하여 표시하고, 상기 동영상의 재생이 완료되면, 다시 상기 정지 영상을 표시하도록 설정된 전자 장치.
  2. 제1항에 있어서, 상기 프로세서는,
    상기 제1 입력에 응답하여 장치 상태를 판단하고,
    상기 장치 상태에 기초하여 동영상 저장을 위한 버퍼링 방식을 결정하고,
    상기 버퍼링 방식으로 제1 동작 정보를 결정하면, 제1 버퍼링 동작에 기초하여 동영상을 처리하고,
    상기 버퍼링 방식으로 제2 동작 정보를 결정하면, 제2 버퍼링 동작에 기초하여 동영상을 처리하고,
    상기 장치 상태는 메모리 크기 또는 저전력이 요구되는 경우 중 적어도 하나에 기초하여 판단하도록 설정된 전자 장치.
  3. 제2항에 있어서, 상기 프로세서는,
    상기 제1 동작 정보를 결정하면, 상기 프리뷰 영상을 선 인코딩 및 후 버퍼링 하는 버퍼링 방식에 기초하여 상기 동영상을 획득하고, 및
    상기 제2 동작 정보를 결정하면, 상기 프리뷰 영상 중 YUV 영상을 선 버퍼링 및 후 인코딩 하는 버퍼링 방식에 기초하여 상기 동영상을 획득하도록 설정된 전자 장치.
  4. 제1항에 있어서, 상기 프로세서는,
    상기 제2 입력이 연사 정지 영상 촬영에 대응하는 입력인 경우, 상기 제2 입력에 응답하여, 제1 시점에 대응하는 제1 정지 영상과 제2 시점에 대응하는 제2 정지 영상 및, 상기 제1 정지 영상에 대응하는 제1 동영상과 상기 제2 정지 영상에 대응하는 제2 동영상을 획득하고,
    상기 제1 정지 영상 및 상기 제1 동영상을 포함하는 제1 파일과, 상기 제2 정지 영상 및 상기 제2 동영상을 포함하는 제2 파일을 이미지 포맷으로 생성하도록 설정된 전자 장치.
  5. 제4항에 있어서, 상기 프로세서는,
    촬영 간격 시간과 일정 시간에 적어도 일부 기초하여, 상기 제2 입력이 제1 촬영 방식에 의한 정지 영상 촬영인지, 또는 제2 촬영 방식에 의한 연사 정지 영상 촬영인지 여부를 판단하도록 설정된 전자 장치.
  6. 제5항에 있어서, 상기 프로세서는,
    상기 촬영 간격 시간이 상기 일정 시간보다 커지는 제3 시점까지 상기 제1 동영상과 상기 제2 동영상을 하나의 동영상으로 획득하도록 설정된 전자 장치.
  7. 제1항에 있어서, 상기 프로세서는,
    상기 제3 입력에 응답하여 선택된 영상을 분석하고,
    상기 선택된 영상이 동영상을 포함하는 파일이면, 상기 파일에서 정지 영상 부분과 동영상 부분을 구분하고,
    상기 파일에서, 상기 정지 영상 부분을 추출하여 정지 영상을 표시하고, 및
    상기 파일에서 상기 동영상 부분의 시작 위치에서 동영상을 재생하여 표시하도록 설정된 전자 장치.
  8. 제1항에 있어서, 상기 프로세서는,
    데이터를 공유하기 위한 제5 입력에 응답하여 선택된 데이터를 분석하고,
    상기 선택된 데이터가 동영상을 포함하는 파일이면, 공유 방식 선택을 위한 인터페이스에 기초하여 공유 방식을 결정하고,
    상기 결정된 공유 방식에 대응하여, 상기 파일, 상기 파일의 정지 영상, 또는 상기 파일의 동영상을 선택적으로 공유하도록 설정된 전자 장치.
  9. 전자 장치의 동작 방법에 있어서,
    카메라의 실행에 대응하는 제1 입력에 응답하여 상기 카메라를 통해 적어도 하나의 외부 객체에 대한 영상 데이터를 획득하는 동작,
    상기 획득된 영상 데이터의 적어도 일부 영상 데이터에 대응하는 프리뷰 영상을 디스플레이에 표시하는 동작,
    상기 프리뷰 영상을 표시하는 동안, 상기 적어도 일부 영상 데이터를 적어도 하나의 메모리에 버퍼링하는 동작,
    상기 카메라의 촬영에 대응하는 제2 입력에 응답하여, 상기 획득된 영상 데이터를 이용하여 상기 적어도 하나의 외부 객체에 대한 정지 영상을 생성하는 동작,
    상기 생성된 정지 영상과 상기 생성된 동영상을 포함하는 파일을 이미지 포맷으로 생성하는 동작,
    상기 생성된 파일을 포함하는 적어도 하나의 파일을 상기 적어도 하나의 메모리에 저장하고,
    상기 파일에 대응하는 영상을 표시하기 위한 제3 입력에 응답하여, 상기 파일에 포함된 상기 정지 영상 및 상기 파일에 포함된 상기 동영상을 재생하기 위한 동영상 가이드 아이템을 상기 디스플레이에 표시하는 동작, 및
    상기 동영상 가이드 아이템을 선택하는 제4 입력에 응답하여, 상기 정지 영상 대신 상기 동영상을 재생하여 표시하고, 상기 동영상의 재생이 완료되면 다시 상기 정지 영상을 표시하는 동작을 포함하는 방법.
  10. 제9항에 있어서, 상기 버퍼링 하는 동작은,
    장치 상태를 판단하는 동작, 및
    상기 장치 상태에 기초하여, 동영상 저장을 위한 버퍼링 방식을 결정하는 동작을 포함하고,
    상기 버퍼링 방식으로 제1 동작 정보를 결정하면, 제1 버퍼링 동작에 기초하여 동영상을 처리하는 동작, 및
    상기 버퍼링 방식으로 제2 동작 정보를 결정하면, 제2 버퍼링 동작에 기초하여 동영상을 처리하는 동작을 포함하고,
    상기 장치 상태는 메모리 크기 또는 저전력이 요구되는 경우 중 적어도 하나에 기초하여 판단하는 동작을 더 포함하는 방법.
  11. 제10항에 있어서, 상기 동영상을 처리하는 동작은,
    상기 제1 동작 정보를 결정하면, 상기 프리뷰 영상을 선 인코딩 및 후 버퍼링 하는 버퍼링 방식에 기초하여 상기 동영상을 생성하는 동작, 및
    상기 제2 동작 정보를 결정하면, 상기 프리뷰 영상 중 YUV 영상을 선 버퍼링 및 후 인코딩 하는 버퍼링 방식에 기초하여 상기 동영상을 생성하는 동작을 포함하는 방법.
  12. 제9항에 있어서,
    상기 정지 영상을 촬영하는 동작 지시를 감지하면, 상기 정지 영상을 획득하는 동작, 및
    상기 동작 지시에 대응하는 촬영 방식에 따라, 상기 정지 영상에 대응하는 상기 동영상을 독립적 또는 일괄적으로 획득하는 동작을 더 포함하는 방법.
  13. 제12항에 있어서, 상기 획득하는 동작은,
    상기 정지 영상을 촬영하는 동작 지시에 응답하여, 촬영 간격 시간과 일정 시간에 적어도 일부 기초하여 제1 촬영 방식에 의한 일반 촬영인지, 또는 제2 촬영 방식에 의한 연사 촬영인지 여부를 결정하는 동작,
    상기 제1 촬영 방식을 결정하면, 정지 영상을 촬영하는 시점을 기준으로, 해당 시점의 이전의 일정 시간 동안의 영상을, 하나의 정지 영상에 대한 동영상으로 획득하고, 정지 영상 및 동영상을 포함하는 파일을 이미지 포맷으로 생성하는 동작, 및
    상기 제2 촬영 방식을 결정하면, 정지 영상 촬영을 위한 촬영 간격 시간이 일정 시간보다 커지는 시점까지 하나의 동영상을 지속적으로 획득하고, 상기 동영상에서 정지 영상을 촬영하는 복수의 시점을 기준으로, 각 시점의 이전의 일정 시간 동안의 영상을, 각 정지 영상에 대응하는 각각의 동영상으로 획득하고, 각 정지 영상 및 각 동영상을 포함하는 복수의 파일들을 이미지 포맷으로 생성하는 동작을 포함하는 방법.
  14. 제9항에 있어서,
    상기 메모리에 저장된 상기 파일을 표시하기 위한 제3 입력을 감지하는 동작,
    상기 파일에서 정지 영상 부분과 동영상 부분을 구분하는 동작,
    상기 파일에서, 상기 정지 영상 부분을 추출하여 정지 영상을 표시하는 동작,
    상기 파일에서 상기 동영상 부분의 시작 위치에서 동영상을 재생하여 표시하는 동작을 포함하는 방법.
  15. 제9항에 있어서,
    상기 메모리에 저장된 파일을 공유하기 위한 입력을 감지하는 동작,
    상기 파일의 공유 방식 선택을 위한 인터페이스에 기초하여 공유 방식을 결정하는 동작, 및
    상기 결정된 공유 방식에 대응하여, 상기 파일, 상기 파일의 정지 영상, 또는 상기 파일의 동영상을 선택적으로 공유하는 동작을 포함하는 방법.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
KR1020160019141A 2016-02-18 2016-02-18 전자 장치 및 그의 동작 방법 KR102445699B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020160019141A KR102445699B1 (ko) 2016-02-18 2016-02-18 전자 장치 및 그의 동작 방법
PCT/KR2017/001647 WO2017142302A1 (en) 2016-02-18 2017-02-15 Electronic device and operating method thereof
EP17753463.3A EP3409007B1 (en) 2016-02-18 2017-02-15 Electronic device and operating method thereof
US15/434,459 US10148879B2 (en) 2016-02-18 2017-02-16 Electronic device for acquiring still images and corresponding video and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160019141A KR102445699B1 (ko) 2016-02-18 2016-02-18 전자 장치 및 그의 동작 방법

Publications (2)

Publication Number Publication Date
KR20170097414A KR20170097414A (ko) 2017-08-28
KR102445699B1 true KR102445699B1 (ko) 2022-09-21

Family

ID=59626130

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160019141A KR102445699B1 (ko) 2016-02-18 2016-02-18 전자 장치 및 그의 동작 방법

Country Status (4)

Country Link
US (1) US10148879B2 (ko)
EP (1) EP3409007B1 (ko)
KR (1) KR102445699B1 (ko)
WO (1) WO2017142302A1 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3130933C (en) 2016-06-08 2024-05-21 Aerial Technologies Inc. System and methods for smart intrusion detection using wireless signals and artificial intelligence
US10009536B2 (en) 2016-06-12 2018-06-26 Apple Inc. Applying a simulated optical effect based on data received from multiple camera sensors
KR101926018B1 (ko) * 2016-08-12 2018-12-06 라인 가부시키가이샤 동영상 녹화 방법 및 시스템
DK180859B1 (en) 2017-06-04 2022-05-23 Apple Inc USER INTERFACE CAMERA EFFECTS
WO2019070325A1 (en) * 2017-10-03 2019-04-11 Google Llc MICRO-VIDEO SYSTEM, FORMAT AND METHOD OF GENERATION
US11153364B1 (en) 2017-11-29 2021-10-19 Parallels International Gmbh Embedding remote applications into HTML pages
US11112964B2 (en) 2018-02-09 2021-09-07 Apple Inc. Media capture lock affordance for graphical user interface
US10375313B1 (en) 2018-05-07 2019-08-06 Apple Inc. Creative camera
US11722764B2 (en) 2018-05-07 2023-08-08 Apple Inc. Creative camera
DK201870623A1 (en) 2018-09-11 2020-04-15 Apple Inc. USER INTERFACES FOR SIMULATED DEPTH EFFECTS
JP7060703B2 (ja) * 2018-09-26 2022-04-26 富士フイルム株式会社 撮影装置、撮影方法、及びプログラム
US11770601B2 (en) 2019-05-06 2023-09-26 Apple Inc. User interfaces for capturing and managing visual media
US10645294B1 (en) 2019-05-06 2020-05-05 Apple Inc. User interfaces for capturing and managing visual media
US11128792B2 (en) 2018-09-28 2021-09-21 Apple Inc. Capturing and displaying images with multiple focal planes
US11321857B2 (en) 2018-09-28 2022-05-03 Apple Inc. Displaying and editing images with depth information
KR102664705B1 (ko) 2019-02-19 2024-05-09 삼성전자주식회사 복수의 카메라들을 이용하여 이미지의 배율을 변경하기 위한 전자 장치 및 방법
US11706521B2 (en) 2019-05-06 2023-07-18 Apple Inc. User interfaces for capturing and managing visual media
CN110213541A (zh) * 2019-06-05 2019-09-06 福建网能科技开发有限责任公司 基于流媒体的电表、互感器影像采集方法和系统
CN112104807B (zh) * 2019-06-17 2023-07-04 北京小米移动软件有限公司 前置摄像头的控制方法、系统及装置
KR102664723B1 (ko) * 2019-11-01 2024-05-09 삼성전자주식회사 프리뷰를 제공하는 방법 및 프리뷰를 표시하는 전자 장치
JP2021111852A (ja) * 2020-01-08 2021-08-02 株式会社リコー 情報処理装置、情報処理システム、情報処理方法及びプログラム
KR20210098292A (ko) 2020-01-31 2021-08-10 삼성전자주식회사 카메라를 포함하는 전자 장치 및 그 동작 방법
CN115039394A (zh) * 2020-01-31 2022-09-09 三星电子株式会社 包括相机的电子装置和运行该电子装置的方法
US11039074B1 (en) 2020-06-01 2021-06-15 Apple Inc. User interfaces for managing media
CN113946380B (zh) * 2020-07-17 2024-05-10 西安诺瓦星云科技股份有限公司 图片加载方法、装置以及视频处理设备
US11212449B1 (en) * 2020-09-25 2021-12-28 Apple Inc. User interfaces for media capture and management
EP4047923A4 (en) 2020-12-22 2022-11-23 Samsung Electronics Co., Ltd. ELECTRONIC DEVICE COMPRISING A CAMERA AND THEIR METHOD
KR20220090054A (ko) * 2020-12-22 2022-06-29 삼성전자주식회사 카메라를 구비하는 전자 장치 및 그 방법
US11539876B2 (en) 2021-04-30 2022-12-27 Apple Inc. User interfaces for altering visual media
US11778339B2 (en) 2021-04-30 2023-10-03 Apple Inc. User interfaces for altering visual media
US12112024B2 (en) 2021-06-01 2024-10-08 Apple Inc. User interfaces for managing media styles
CN115776532B (zh) * 2021-09-07 2023-10-20 荣耀终端有限公司 一种录像中抓拍图像的方法及电子设备
CN114116624A (zh) * 2021-11-29 2022-03-01 武汉联影智融医疗科技有限公司 图片资源处理方法、电子装置和存储介质
CN116708751B (zh) * 2022-09-30 2024-02-27 荣耀终端有限公司 一种拍照时长的确定方法、装置和电子设备
CN116389898B (zh) * 2023-02-27 2024-03-19 荣耀终端有限公司 图像处理方法、设备及存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6297851B1 (en) * 1997-07-17 2001-10-02 Hewlett-Packard Co Analog video frame capture and preview
US20040075750A1 (en) * 2002-10-16 2004-04-22 Logitech Europe S.A. Flexible memory management for video and still image data in a digital camera
EP1791357B1 (en) * 2004-09-08 2012-10-31 Sony Corporation Recording device and method, recording and reproduction device and method, and program
JP4441882B2 (ja) * 2005-11-18 2010-03-31 ソニー株式会社 撮影装置、表示制御方法、プログラム
JP2008011349A (ja) * 2006-06-30 2008-01-17 Nikon Corp 動画撮影が可能なカメラ
JP4656529B2 (ja) 2006-12-22 2011-03-23 日本ビクター株式会社 携帯型記録装置
US7911509B2 (en) * 2008-03-12 2011-03-22 Sony Ericsson Mobile Communications Ab Adaptive video encode scaling
KR20100001622A (ko) * 2008-06-27 2010-01-06 (주)판도라티비 섬네일 데이터 운용 방법과 이를 위한 기록매체
KR20100018666A (ko) * 2008-08-07 2010-02-18 주식회사 케이티테크 프리뷰 활용 방법, 이를 적용한 촬상 장치 및 휴대용단말기
KR101581217B1 (ko) 2008-12-12 2015-12-30 삼성전자주식회사 디지털 카메라와 디지털 카메라의 파일 관리 방법
KR101600090B1 (ko) * 2009-10-20 2016-03-04 엘지전자 주식회사 휴대 단말기에서의 이미지 데이터 저장 방법, 휴대 단말기에서의 이미지 데이터 표시 방법, 및 이를 적용한 휴대 단말기
KR20110128487A (ko) * 2010-05-24 2011-11-30 엘지전자 주식회사 전자 기기 및 전자 기기의 컨텐츠 공유 방법
JP6206699B2 (ja) * 2012-03-14 2017-10-04 パナソニックIpマネジメント株式会社 画像処理装置、撮像装置、およびコンピュータプログラム
JP5811076B2 (ja) 2012-11-30 2015-11-11 カシオ計算機株式会社 動画記録装置、動画記録方法及びプログラム
JP6180285B2 (ja) * 2013-11-06 2017-08-16 キヤノン株式会社 撮像装置、撮像方法、及びプログラム
KR102153435B1 (ko) 2013-12-20 2020-09-08 엘지전자 주식회사 이동 단말기 및 이의 제어방법
JP6249771B2 (ja) 2013-12-27 2017-12-20 キヤノン株式会社 画像処理装置、画像処理方法、プログラム
WO2015153556A1 (en) * 2014-04-04 2015-10-08 Red.Com, Inc. Video camera with capture modes
US9959681B2 (en) * 2014-07-09 2018-05-01 Ji-yeon Jeong Augmented reality contents generation and play system and method using the same

Also Published As

Publication number Publication date
EP3409007B1 (en) 2022-11-02
EP3409007A1 (en) 2018-12-05
KR20170097414A (ko) 2017-08-28
US20170244897A1 (en) 2017-08-24
US10148879B2 (en) 2018-12-04
EP3409007A4 (en) 2019-06-05
WO2017142302A1 (en) 2017-08-24

Similar Documents

Publication Publication Date Title
KR102445699B1 (ko) 전자 장치 및 그의 동작 방법
KR102444085B1 (ko) 휴대용 통신 장치 및 휴대용 통신 장치의 영상 표시 방법
US11570359B2 (en) Method for providing different indicator for image based on shooting mode and electronic device thereof
CN108289161B (zh) 电子设备及其图像捕捉方法
KR102349428B1 (ko) 이미지 처리 방법 및 이를 지원하는 전자장치
KR102593824B1 (ko) 카메라를 제어하기 위한 방법 및 그 전자 장치
US10659684B2 (en) Apparatus and method for providing dynamic panorama function
KR102289837B1 (ko) 촬영 방법 및 전자 장치
KR102486797B1 (ko) 전자 장치 및 전자 장치의 디스플레이 구동 방법
KR102399764B1 (ko) 전자 장치 및 촬영 방법
US10708650B2 (en) Method and device for generating video content
KR102657050B1 (ko) 전자 장치 및 전자 장치에서의 영상을 촬영하기 위한 방법
KR20170097860A (ko) 디스플레이를 이용하여 이미지를 촬영하는 전자 장치 및 이미지 촬영 방법
KR102398027B1 (ko) 전자 장치의 동적 프리뷰 디스플레이 방법 및 그 전자 장치
KR102424296B1 (ko) 복수의 영상들을 제공하기 위한 방법, 저장 매체 및 전자 장치
US10412339B2 (en) Electronic device and image encoding method of electronic device
KR20170043324A (ko) 전자 장치 및 전자 장치의 영상 인코딩 방법
KR20170062038A (ko) 전자 장치 및 그의 동작 방법
KR102467869B1 (ko) 전자 장치 및 그의 동작 방법
US20180173701A1 (en) Method for contents tagging and electronic device supporting the same
KR20170046496A (ko) 카메라를 갖는 전자 장치와 그의 이미지 처리 방법
US10122958B2 (en) Method for recording execution screen and electronic device for processing the same
KR20180122137A (ko) 영상에 동적 효과를 부여하기 위한 방법 및 그 전자 장치
KR102391490B1 (ko) 이미지 내의 오브젝트를 트래킹하기 위한 방법 및 그 전자 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right