KR20170094745A - 영상 인코딩 방법 및 이를 지원하는 전자 장치 - Google Patents

영상 인코딩 방법 및 이를 지원하는 전자 장치 Download PDF

Info

Publication number
KR20170094745A
KR20170094745A KR1020160110572A KR20160110572A KR20170094745A KR 20170094745 A KR20170094745 A KR 20170094745A KR 1020160110572 A KR1020160110572 A KR 1020160110572A KR 20160110572 A KR20160110572 A KR 20160110572A KR 20170094745 A KR20170094745 A KR 20170094745A
Authority
KR
South Korea
Prior art keywords
electronic device
communication unit
video call
received
video
Prior art date
Application number
KR1020160110572A
Other languages
English (en)
Other versions
KR102496225B1 (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 US15/429,507 priority Critical patent/US20170237986A1/en
Publication of KR20170094745A publication Critical patent/KR20170094745A/ko
Priority to US16/572,302 priority patent/US11216178B2/en
Application granted granted Critical
Publication of KR102496225B1 publication Critical patent/KR102496225B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/50Telephonic communication in combination with video communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/142Constructional details of the terminal equipment, e.g. arrangements of the camera and the display
    • H04N2007/145Handheld terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 영상 인코딩 방법 및 이를 지원하는 전자 장치에 관한 것으로, 본 발명의 다양한 실시예에 따른 영상 인코딩 방법에 있어서, 제1 전자 장치로부터 영상 통화 수신에 관한 신호를 통신부를 통해 수신하는 동작, 유저 인터페이스를 통해 상기 영상 통화 요청을 수락하는 사용자 입력을 수신하는 동작, 상기 영상 통화 요청을 수락하는 신호를 상기 통신부를 통해 상기 제1 전자 장치로 전송하는 동작, 상기 전자 장치의 상태 정보와 상기 통신부의 상태 정보를 기반으로 인코딩된 비디오 스트림을 상기 제1 전자 장치로부터 상기 통신부를 통해 수신하는 동작, 상기 수신된 비디오 스트림을 표시하며 수신된 오디오를 재생하는 동작, 마이크를 통해 사용자의 음성이 수신되면 상기 수신된 음성을 상기 통신부를 통해 상기 제1 전자 장치로 전송하는 동작을 포함할 수 있다. 다른 실시예도 가능할 수 있다.

Description

영상 인코딩 방법 및 이를 지원하는 전자 장치{METHOD FOR VIDEO ENCODING AND ELECTRONIC DEVICE SUPPORTING THE SAME}
본 발명의 다양한 실시예는 영상 인코딩 방법 및 이를 지원하는 전자 장치에 관한 것이다.
전자 장치의 하드웨어 기술의 발달과 이동통신 기술의 발달에 따라 전자 장치 간에 실시간 영상 통화가 가능하게 되었고, 나아가 고해상도를 갖는 영상 데이터의 실시간 전송이 가능하게 되었다.
전자 장치 간에 실시간 영상 통화가 연결되면 전자 장치의 카메라를 통해 사용자를 촬영하고, 촬영된 영상 데이터를 인코딩하여 네트워크를 통해 상대방 전자 장치로 전송할 수 있다. 이와 같은 실시간 영상 통화는 양자간 또는 다자간으로 수행 가능하며, 전자 장치는 영상 데이터를 음성 데이터와 동기화하여 압축된 스트림을 상대방 전자 장치에 전송할 수 있다.
전자 장치가 상대방 전자 장치와 영상 통화를 수행하는 경우, 전자 장치는 촬영된 영상을 인코딩하여 상기 상대방 전자 장치로 전송할 수 있다.
하지만, 전자 장치는 일반적으로 높은 해상도와 높은 배터리 레벨을 가지는 고정된 기기 간에 재생하기 위한 영상 데이터를 인코딩하는 동작으로 낮은 해상도와 제한된 배터리 용량을 가지는 웨어러블 장치에서 상기 인코딩된 영상을 재생하기에 버거울 수 있다. 다시 말해, 상기 인코딩 동작은 높은 해상도와 높은 배터리 레벨을 가지는 전자 장치 간에 영상 데이터를 재생하기에 적합할 뿐, 낮은 해상도, 제한된 전송 속도, 제한된 배터리 용량을 가지는 웨어러블 장치가 상기 인코딩된 영상 데이터를 수신하기에 제한된 전송 속도로 인해 시간이 오래 걸릴 뿐만 아니라 과도한 전력 사용으로 인한 배터리 부족이 발생할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는, 제1 전자 장치와 통신하는 통신부, 영상 통화를 수행하기 위한 유저 인터페이스를 표시하는 터치스크린, 상기 통신부 및 상기 터치스크린과 전기적으로 연결된 하나 이상의 프로세서, 및 상기 하나 이상의 프로세서와 전기적으로 연결된 메모리를 포함하며, 상기 메모리는, 실행 시에, 상기 하나 이상의 프로세서가, 상기 제1 전자 장치로부터 영상 통화 수신에 관한 신호를 상기 통신부를 통해 수신하고, 상기 유저 인터페이스를 통해 상기 영상 통화 요청을 수락하는 사용자 입력을 수신하면, 상기 영상 통화 요청을 수락하는 신호를 상기 통신부를 통해 상기 제1 전자 장치로 전송하고, 상기 전자 장치의 상태 정보와 상기 통신부의 상태 정보를 기반으로 인코딩된 비디오 스트림을 상기 제1 전자 장치로부터 상기 통신부를 통해 수신하고, 상기 수신된 인코딩된 비디오 스트림을 표시하며 수신된 오디오를 재생하고, 마이크를 통해 수신된 음성을 상기 통신부를 통해 상기 제1 전자 장치로 전송하도록 하는 인스트럭션들(instructions)을 포함할 수 있다.
본 발명의 다양한 실시예에 따른 영상 인코딩 방법에 있어서, 제1 전자 장치로부터 영상 통화 수신에 관한 신호를 통신부를 통해 수신하는 동작, 유저 인터페이스를 통해 상기 영상 통화 요청을 수락하는 사용자 입력을 수신하는 동작, 상기 영상 통화 요청을 수락하는 신호를 상기 통신부를 통해 상기 제1 전자 장치로 전송하는 동작, 상기 전자 장치의 상태 정보와 상기 통신부의 상태 정보를 기반으로 인코딩된 비디오 스트림을 상기 제1 전자 장치로부터 상기 통신부를 통해 수신하는 동작, 상기 수신된 비디오 스트림을 표시하며 수신된 오디오를 재생하는 동작, 마이크를 통해 사용자의 음성이 수신되면 상기 수신된 음성을 상기 통신부를 통해 상기 제1 전자 장치로 전송하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따른 영상 인코딩 방법 및 이를 지원하는 전자 장치는 영상 통화를 수신하는 전자 장치에 연결된 웨어러블 장치에서 영상 통화를 수행하기에 적합한 영상 데이터를 제공함으로써, 사용자는 신체에 착용된 웨어러블 장치를 통해 영상 통화를 수행할 수 있어 편리함을 느낄 수 있다.
본 발명의 다양한 실시예에 따른 영상 인코딩 방법 및 이를 지원하는 전자 장치는 웨어러블 장치의 상태를 실시간으로 분석하여 그에 따른 인코딩된 영상 데이터를 제공함으로써 제한된 배터리 레벨, 제한된 전송 속도에서도 영상 통화를 원활하게 수행할 수 있다.
도 1은 본 발명의 다양한 실시예에 따른 네트워크 환경을 도시하는 블록도이다.
도 2는 본 발명의 다양한 실시예에 따른 전자 장치의 블록도이다.
도 3은 본 발명의 다양한 실시예에 따른 프로그램 모듈의 블록도이다.
도 4는 본 발명의 다양한 실시예에 따른 제1 전자 장치 내지 제3 전자 장치 간에 연결을 도시하는 도면이다.
도 5는 본 발명의 다양한 실시예에 따른 전자 장치의 구성을 도시하는 도면이다.
도 6은 본 발명의 다양한 실시예에 따른 제1 전자 장치에서 영상 인코딩 방법을 설명하기 위한 제1 전자 장치 내지 제3 전자 장치 간에 신호 흐름을 도시하는 도면이다.
도 7은 본 발명의 다양한 실시예에 따른 제1 전자 장치에서 영상 인코딩 방법을 설명하기 위한 제1 전자 장치 내지 제3 전자 장치 간에 신호 흐름을 도시하는 도면이다.
도 8은 본 발명의 다양한 실시예에 따른 제1 전자 장치에서 영상 인코딩 방법을 설명하기 위한 제1 전자 장치 내지 제3 전자 장치 간에 신호 흐름을 도시하는 도면이다.
도 9는 본 발명의 다양한 실시예에 따른 제2 전자 장치에서 영상 인코딩 방법을 설명하기 위한 제1 전자 장치 내지 제3 전자 장치 간에 신호 흐름을 도시하는 도면이다.
도 10은 본 발명의 다양한 실시예에 따른 제1 전자 장치에서 수행되는 영상 인코딩 방법을 설명하기 위한 도면이다.
도 11은 본 발명의 다양한 실시예에 따른 제1 전자 장치에서 수행되는 영상 인코딩 방법을 설명하기 위한 도면이다.
도 12는 본 발명의 다양한 실시예에 따른 제3 전자 장치에서 인코딩된 영상을 재생하는 방법을 설명하기 위한 도면이다.
도 13은 본 발명의 다양한 실시예에 따른 제2 전자 장치에서 수행되는 영상 인코딩 방법을 설명하기 위한 도면이다.
도 14a는 본 발명의 다양한 실시예에 따른 제2 전자 장치에서 수행되는 영상 인코딩 방법을 설명하기 위한 도면이다.
도 14b는 본 발명의 다양한 실시예에 따른 post process를 설명하기 위한 도면이다.
도 15는 본 발명의 다양한 실시예에 따른 제2 전자 장치에서 수행되는 영상 인코딩 방법을 설명하기 위한 도면이다.
도 16은 본 발명의 다양한 실시예에 따른 제3 전자 장치에서 영상 데이터를 재생하는 방법을 설명하기 위한 도면이다.
도 17a 및 도 17b는 본 발명의 다양한 실시예에 따른 제2 전자 장치에서 수행되는 영상 인코딩 방법을 설명하기 위한 도면이다.
도 18은 본 발명의 다양한 실시예에 따른 제2 전자 장치에서 수행되는 영상 인코딩 방법을 설명하기 위한 도면이다.
도 19a 및 도 19b는 본 발명의 다양한 실시예에 따른 영상 통화 수신, 발신과 관련된 사용자 인터페이스를 도시하는 도면이다.
도 20a 내지 도 20d는 본 발명의 다양한 실시예에 따른 영상 통화 수신을 위한 사용자 인터페이스를 도시하는 도면이다.
도 20e는 본 발명의 다양한 실시예에 따른 제3 전자 장치에서 영상 통화를 수행하는 방법을 설명하기 위한 도면이다.
도 21a 및 도 21b는 본 발명의 다양한 실시예에 따른 사용자 입력의 압력 레벨에 따른 사용자 인터페이스를 나타내는 도면이다.
도 21c는 본 발명의 다양한 실시예에 따른 사용자 입력의 압력 레벨에 따른 기능을 설명하기 위한 도면이다.
도 21d는 본 발명의 다양한 실시예에 따른 사용자 입력의 압력 레벨에 따른 기능을 설명하기 위한 도면이다.
도 21e는 본 발명의 다양한 실시예에 따른 사용자 입력이 감지되는 방향에 따른 기능을 설명하기 위한 도면이다.
도 22a는 본 발명의 다양한 실시예에 따른 영상 통화의 품질을 나타내는 인디케이터를 포함하는 사용자 인터페이스를 나타내는 도면이다.
도 22b는 본 발명의 다양한 실시예에 따른 영상 통화의 품질을 조정하는 방법을 도시하는 도면이다.
도 23a 및 도 23b는 본 발명의 다양한 실시예에 따른 제4 전자 장치로의 영상 통화 전환 동작을 설명하기 위한 사용자 인터페이스를 나타내는 도면이다.
도 23c는 본 발명의 다양한 실시예에 따른 제4 전자 장치로의 영상 통화 전환 동작을 설명하기 위한 흐름도이다.
도 24는 본 발명의 다양한 실시예에 따른 제4 전자 장치로 영상 통화 전환 동작을 설명하기 위한 도면이다.
도 25는 본 발명의 다양한 실시예에 따른 제4 전자 장치로의 영상 통화 전환 방법을 설명하기 위한 제1 전자 장치, 제2 전자 장치, 및 제4 전자 장치 간에 신호 흐름을 도시하는 도면이다.
도 26은 본 발명의 다양한 실시예에 따른 계정관리 서버를 이용하여 제4 전자 장치로의 영상 통화 전환 방법을 설명하기 위한 제1 전자 장치, 제2 전자 장치, 및지 제4 전자 장치 간에 신호 흐름을 도시하는 도면이다.
도 27은 본 발명의 다양한 실시예에 따른 제3 전자 장치에서 주변 전자 장치를 탐색하여 영상 통화를 전환하는 기능을 설명하기 위한 사용자 인터페이스를 나타내는 도면이다.
도 28은 본 발명의 다양한 실시예에 따른 제1 전자 장치 내지 제4 전자 장치 간에 연결을 도시하는 도면이다.
도 29는 본 발명의 다양한 실시예에 따른 다중 연결 방법에 도시하는 도면이다.
도 30은 본 발명의 다양한 실시예에 따른 영상 데이터 저장 방법을 설명하기 위한 도면이다.
도 31은 본 발명의 다양한 실시예에 따른 소프트웨어를 도시하는 도면이다.
이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 기재된다. 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B" 또는 "A 및/또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1," "제 2," "첫째," 또는 "둘째,"등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서, "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자 장치는, 예를 들면, 텔레비전, 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, 상점의 POS(point of sales), 또는 사물 인터넷 장치 (예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다. 어떤 실시예에 따르면, 전자 장치는 가구, 건물/구조물 또는 자동차의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터, 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에서, 전자 장치는 플렉서블하거나, 또는 전술한 다양한 장치들 중 둘 이상의 조합일 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 본 발명의 다양한 실시예에 따른 네트워크 환경을 도시하는 블록도이다.
도 1을 참조하여, 다양한 실시예에서의, 네트워크 환경 100 내의 전자 장치 101이 기재된다. 전자 장치 101은 버스 110, 프로세서 120, 메모리 130, 입출력 인터페이스 150, 디스플레이 160, 및 통신 인터페이스 170을 포함할 수 있다. 어떤 실시예에서는, 전자 장치 101은, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가적으로 구비할 수 있다. 버스 110은 구성요소들 110-170을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 또는 데이터)을 전달하는 회로를 포함할 수 있다. 프로세서 120은, 중앙처리장치, 어플리케이션 프로세서, 또는 커뮤니케이션 프로세서(communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서 120은, 예를 들면, 전자 장치 101의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
메모리 130은, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리130은, 예를 들면, 전자 장치 101의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시예에 따르면, 메모리 130은 소프트웨어 및/또는 프로그램 140을 저장할 수 있다. 프로그램 140은, 예를 들면, 커널 141, 미들웨어 143, 어플리케이션 프로그래밍 인터페이스(API) 145, 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 147 등을 포함할 수 있다. 커널 141, 미들웨어 143, 또는 API 145의 적어도 일부는, 운영 시스템으로 지칭될 수 있다. 커널 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에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다. 입출력 인터페이스 150은, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치 101의 다른 구성요소(들)에 전달하거나, 또는 전자 장치 101의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
디스플레이 160은, 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템 (MEMS) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이 160은, 예를 들면, 사용자에게 각종 콘텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 및/또는 심볼 등)을 표시할 수 있다. 디스플레이 160은, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다. 통신 인터페이스 170은, 예를 들면, 전자 장치 101과 외부 장치(예: 제 1 외부 전자 장치 102, 제 2 외부 전자 장치 104, 또는 서버 106) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스 170은 무선 통신 또는 유선 통신을 통해서 네트워크 162에 연결되어 외부 장치(예: 제 2 외부 전자 장치 104 또는 서버 106)와 통신할 수 있다.
무선 통신은, 예를 들면, LTE, 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), 블루투스, 블루투스 저전력(BLE), 지그비(zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(magnetic secure transmission), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. 한 실시예에 따르면, 무선 통신은 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), 전력선 통신, 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크 162는 텔레커뮤니케이션 네트워크, 예를 들면, 컴퓨터 네트워크(예: LAN 또는 WAN), 인터넷, 또는 텔레폰 네트워크 중 적어도 하나를 포함할 수 있다.
제 1 및 제 2 외부 전자 장치 102, 104 각각은 전자 장치 101과 동일한 또는 다른 종류의 장치일 수 있다. 다양한 실시예에 따르면, 전자 장치 101에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치 102, 104, 또는 서버 106에서 실행될 수 있다. 한 실시예에 따르면, 전자 장치 101이 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치 101은 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치 102, 104, 또는 서버 106)에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치 102, 104, 또는 서버 106)는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치 101로 전달할 수 있다. 전자 장치 101은 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 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) 및/또는 이미지 신호 프로세서를 더 포함할 수 있다. 프로세서 210은 도 2에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈 221)를 포함할 수도 있다. 프로세서 210은 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드)하여 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다.
통신 모듈 220(예: 통신 인터페이스 170)과 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈 220은, 예를 들면, 셀룰러 모듈 221, WiFi 모듈 223, 블루투스 모듈 225, GNSS 모듈 227, NFC 모듈 228 및 RF 모듈 229를 포함할 수 있다. 셀룰러 모듈 221은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시예에 따르면, 셀룰러 모듈 221은 가입자 식별 모듈(예: SIM 카드) 224를 이용하여 통신 네트워크 내에서 전자 장치 201의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈 221은 프로세서 210이 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈 221은 커뮤니케이션 프로세서(CP)를 포함할 수 있다. 어떤 실시예에 따르면, 셀룰러 모듈 221, WiFi 모듈 223, 블루투스 모듈 225, GNSS 모듈 227 또는 NFC 모듈 228 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. RF 모듈 229는, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈 229는, 예를 들면, 트랜시버, 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, SRAM, 또는 SDRAM 등), 비휘발성 메모리(예: OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, 플래시 메모리, 하드 드라이브, 또는 솔리드 스테이트 드라이브 (SSD) 중 적어도 하나를 포함할 수 있다. 외장 메모리 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은, 예를 들면, 제스처 센서 240A, 자이로 센서 240B, 기압 센서 240C, 마그네틱 센서 240D, 가속도 센서 240E, 그립 센서 240F, 근접 센서 240G, 컬러(color) 센서 240H(예: RGB(red, green, blue) 센서), 생체 센서 240I, 온/습도 센서 240J, 조도 센서 240K, 또는 UV(ultra violet) 센서 240M 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 센서 모듈 240은, 예를 들면, 후각(e-nose) 센서, 일렉트로마이오그라피(EMG) 센서, 일렉트로엔씨팔로그램(EEG) 센서, 일렉트로카디오그램(ECG) 센서, IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 센서 모듈 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, 또는 배터리 또는 연료 게이지를 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리 296의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리 296은, 예를 들면, 충전식 전지 및/또는 태양 전지를 포함할 수 있다.
인디케이터 297은 전자 장치 201 또는 그 일부(예: 프로세서 210)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터 298은 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동, 또는 햅틱 효과 등을 발생시킬 수 있다. 전자 장치 201은, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어플로(mediaFloTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있는 모바일 TV 지원 장치(예: GPU)를 포함할 수 있다. 본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시예에서, 전자 장치(예: 전자 장치 201)는 일부 구성요소가 생략되거나, 추가적인 구성요소를 더 포함하거나, 또는, 구성요소들 중 일부가 결합되어 하나의 개체로 구성되되, 결합 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.
도 3은 본 발명의 다양한 실시예에 따른 프로그램 모듈의 블록도이다. 한 실시예에 따르면, 프로그램 모듈 310(예: 프로그램 140)은 전자 장치(예: 전자 장치 101)에 관련된 자원을 제어하는 운영 체제 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램 147)을 포함할 수 있다. 운영 체제는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다. 도 3을 참조하면, 프로그램 모듈 310은 커널 320(예: 커널 141), 미들웨어 330(예: 미들웨어 143), API 360(예: API 145), 및/또는 어플리케이션 370(예: 어플리케이션 프로그램 147)을 포함할 수 있다. 프로그램 모듈 310의 적어도 일부는 전자 장치 상에 프리로드 되거나, 외부 전자 장치(예: 전자 장치 102, 104, 서버 106 등)로부터 다운로드 가능하다.
커널 320은, 예를 들면, 시스템 리소스 매니저 321 및/또는 디바이스 드라이버 323을 포함할 수 있다. 시스템 리소스 매니저 321은 시스템 리소스의 제어, 할당, 또는 회수를 수행할 수 있다. 한 실시예에 따르면, 시스템 리소스 매니저 321은 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부를 포함할 수 있다. 디바이스 드라이버 323은, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다. 미들웨어 330은, 예를 들면, 어플리케이션 370이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션 370이 전자 장치 내부의 제한된 시스템 자원을 사용할 수 있도록 API 360을 통해 다양한 기능들을 어플리케이션 370으로 제공할 수 있다. 한 실시예에 따르면, 미들웨어 330은 런타임 라이브러리 335, 어플리케이션 매니저 341, 윈도우 매니저 342, 멀티미디어 매니저 343, 리소스 매니저 344, 파워 매니저 345, 데이터베이스 매니저 346, 패키지 매니저 347, 커넥티비티 매니저 348, 노티피케이션 매니저 349, 로케이션 매니저 350, 그래픽 매니저 351, 또는 시큐리티 매니저 352 중 적어도 하나를 포함할 수 있다.
런타임 라이브러리 335는, 예를 들면, 어플리케이션 370이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리 335는 입출력 관리, 메모리 관리, 또는 산술 함수 처리를 수행할 수 있다. 어플리케이션 매니저 341은, 예를 들면, 어플리케이션 370의 생명 주기를 관리할 수 있다. 윈도우 매니저 342는 화면에서 사용되는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저 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은 전자 장치와 외부 전자 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치에 특정 정보를 전달하기 위한 노티피케이션 릴레이 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리 어플리케이션을 포함할 수 있다. 예를 들면, 알림 전달 어플리케이션은 전자 장치의 다른 어플리케이션에서 발생된 알림 정보를 외부 전자 장치로 전달하거나, 또는 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 전자 장치의 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는, 해상도) 조절), 또는 외부 전자 장치에서 동작하는 어플리케이션을 설치, 삭제, 또는 갱신할 수 있다. 한 실시예에 따르면, 어플리케이션 370은 외부 전자 장치의 속성에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션 370은 외부 전자 장치로부터 수신된 어플리케이션을 포함할 수 있다. 프로그램 모듈 310의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어(예: 프로세서 210), 또는 이들 중 적어도 둘 이상의 조합으로 구현(예: 실행)될 수 있으며, 하나 이상의 기능을 수행하기 위한 모듈, 프로그램, 루틴, 명령어 세트 또는 프로세스를 포함할 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있다. 다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체(예: 메모리 130)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서 120)에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(예: 자기테이프), 광기록 매체(예: CD-ROM, DVD, 자기-광 매체 (예: 플롭티컬 디스크), 내장 메모리 등을 포함할 수 있다. 명령어는 컴파일러에 의해 만들어지는 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 다양한 실시예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 다른 구성요소를 더 포함할 수 있다. 다양한 실시예에 따른, 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
도 4는 본 발명의 다양한 실시예에 따른 제1 전자 장치 내지 제3 전자 장치 간에 연결을 도시하는 도면이다.
도 4를 참조하면, 본 발명의 다양한 실시예에서 제1 전자 장치 401은 영상 통화 요청 신호를 송신하는 송신 전자 장치, 제2 전자 장치 403은 상기 제1 전자 장치 401로부터 영상 통화 요청 신호를 수신하는 수신 전자 장치, 제3 전자 장치 405는 상기 제2 전자 장치 403에 연결되고 상기 제2 전자 장치 403으로부터 영상 통화 요청 신호를 전달받아 상기 제1 전자 장치 401과 영상 통화를 수행하는 전자 장치로 가정하여 설명한다. 예컨대, 상기 제3 전자 장치 405는 디스플레이의 크기가 예컨대, 4인치 이하에 해당하는 웨어러블 장치일 수 있다.
본 발명의 다양한 실시예에서 상기 제1 전자 장치 401과 상기 제2 전자 장치 403은 제1 네트워크 411 예컨대, 3G 또는 LTE를 통해 연결될 수 있으며, 상기 제2 전자 장치 403과 상기 제3 전자 장치 405는 제2 네트워크 413 예컨대, 블루투스 또는 wifi와 같은 저전력 네트워크를 통해 연결될 수 있다.
본 발명의 다양한 실시예에서 상기 제3 전자 장치 405의 디스플레이 크기는 상기 제1 전자 장치 401 및 상기 제2 전자 장치 403의 디스플레이 크기에 비해 작을 수 있다. 예컨대, 상기 제3 전자 장치 405의 디스플레이 크기는 4인치일 수 있으며, 상기 제1 전자 장치 401 및 상기 제2 전자 장치 403의 디스플레이 크기는 7인치일 수 있다. 제3 전자 장치 405의 디스플레이 크기가 작음에 따라 상기 제3 전자 장치 405가 지원하는 해상도 또한 상기 제1 전자 장치 401 및 상기 제2 전자 장치 403이 지원하는 해상도보다 낮을 수 있다. 전술한 바와 같이 상기 제3 전자 장치 405는 제2 네트워크 413 예컨대, 블루투스 또는 wifi와 같은 저전력 네트워크를 통해 연결된 제2 전자 장치 403으로부터 제어 신호를 수신하여 동작하거나, 상기 제3 전자 장치 405의 센서부를 통해 감지되는 신호를 통해 동작할 수 있다.
본 발명의 다양한 실시예에서 제1 전자 장치 401과 제2 전자 장치 403에 제2 네트워크 413을 통해 연결된 제3 전자 장치 405가 영상 통화를 수행하기 위한 영상 데이터는 상기 제1 전자 장치 401 또는 상기 제2 전자 장치 403을 통해 처리(예컨대, 인코딩)될 수 있다.
본 발명의 다양한 실시예에서 제1 전자 장치 401이 영상 통화를 수행하기 위한 영상 데이터를 처리하는 동작은 후술하는 도 6 내지 도 8을 참조하여 상세히 설명하도록 한다.
본 발명의 다양한 실시예에서 제2 전자 장치 403이 영상 통화를 수행하기 위한 영상 데이터를 처리하는 동작은 후술하는 도 9를 참조하여 상세히 설명하도록 한다.
도 5는 본 발명의 다양한 실시예에 따른 전자 장치의 구성을 도시하는 도면이다.
도 5를 참조하면, 본 발명의 다양한 실시예에 따른 전자 장치는 통신부 510, 메모리 520, 터치스크린 530, 센서부 540, 카메라 550, 오디오 처리부 560, 및 프로세서 570을 포함할 수 있다.
본 발명의 다양한 실시예에서 상기 전자 장치는 영상 통화를 요청하는 송신 전자 장치 예컨대, 도 4의 제1 전자 장치 401, 상기 영상 통화를 수신하는 수신 전자 장치 예컨대, 도 4의 제2 전자 장치 403, 상기 영상 통화 요청을 수락하여 상기 영상 통화를 수행하는 전자 장치 예컨대, 도 4의 제3 전자 장치 405로 동작할 수 있다.
본 발명의 다양한 실시예에서 통신부 510(예컨대, 도 1의 통신 인터페이스 170, 도 2의 통신 모듈 220)은 제1 네트워크와 제2 네트워크를 포함할 수 있다. 상기 제1 네트워크는 상기 영상 통화를 요청하는 송신 전자 장치 예컨대, 도 4의 제1 전자 장치 401과 상기 영상 통화를 수신하는 수신 전자 장치 예컨대, 도 4의 제2 전자 장치 403의 통신을 연결할 수 있다. 상기 제2 네트워크는 상기 영상 통화를 수신하는 수신 전자 장치 예컨대, 도 4의 제2 전자 장치 403과 상기 영상 통화 요청을 수락하여 상기 영상 통화를 수행하는 전자 장치 예컨대, 도 4의 제3 전자 장치 405의 통신을 연결할 수 있다. 상기 제1 네트워크 및 상기 제2 네트워크를 통해 전자 장치 간에 영상 통화 요청 신호 및 영상 통화 요청 신호에 대한 수락 신호를 송수신할 수 있다. 상기 제1 네트워크 및 상기 제2 네트워크를 통해 전자 장치 간에 영상 통화를 수행하기 위한 영상 데이터, 각 전자 장치의 정보를 송수신할 수 있다.
본 발명의 다양한 실시예에서 메모리 520(예컨대, 도 1의 메모리 130, 도 2의 메모리 230)은 영상 통화를 수행할 수 있는 적어도 하나의 전자 장치에 대한 정보(예컨대, 상기 적어도 하나의 전자 장치의 타입, 디스플레이 크기, 형태(예컨대, 원형, 직사각형, 또는 정사각형), 배터리 용량, 화면 해상도, 또는 CPU 파워)를 저장할 수 있다. 상기 메모리 520은 사용자 입력, 상기 사용자 입력의 유지 시간, 호버링 입력의 레벨, 상기 사용자 입력의 압력 레벨, 또는 상기 사용자 입력이 감지되는 방향에 따라 표시되는 사용자 인터페이스 또는 기능을 매핑(mapping)하여 저장할 수 있다.
본 발명의 다양한 실시예에서 터치스크린 530는 표시부 531(예컨대, 도 1의 디스플레이 160, 도 2의 디스플레이 260)과 터치패널 533(예컨대, 도 2의 입력 장치 250)을 포함하는 일체형으로 구성될 수 있다.
본 발명의 다양한 실시예에서 상기 표시부 531은 영상 통화와 관련된 기능을 제어하기 위한 사용자 인터페이스를 표시할 수 있다. 상기 표시부 531은 상기 영상 통화를 수행하기 위한 영상 데이터를 표시할 수 있다. 상기 표시부 531은 프로세서 570의 제어 하에 사용자 입력을 감지하면, 상기 감지된 사용자 입력의 유지 시간, 상기 감지된 사용자 입력의 압력 레벨, 또는 상기 사용자 입력이 감지되는 방향에 매핑된 사용자 인터페이스를 표시할 수 있다. 또는, 상기 표시부 531은 프로세서 570의 제어 하에 호버링 입력을 감지하면, 상기 감지된 호버링 입력의 레벨을 분석하고 분석된 호버링 입력 레벨에 매핑된 사용자 인터페이스를 표시할 수 있다.
본 발명의 다양한 실시예에서 센서부 540(예컨대, 도 2의 센서 모듈 240)은 물리량을 계측하거나 전자 장치의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서부 540은 예를 들면, 제스처 센서, 자이로 센서, 가속도 센서, 또는 지자계 센서 중 적어도 하나를 포함할 수 있다. 본 발명의 다양한 실시예에서 상기 지자계 센서를 이용하여 전자 장치의 헤드 방향의 움직임 각도를 측정할 수 있다. 또한, 상기 가속도 센서 및 자이로 센서를 이용하여 전자 장치의 움직임을 감지할 수 있다. 상기 센서부 540은 상기 측정된 전자 장치의 움직임 각도 및 움직임에 따른 센서 정보를 프로세서 570에 전송할 수 있다. 상기 센서부 540은 날씨 정보, 밝기 정보, 또는 사운드 정보 중 적어도 하나를 포함하는 전자 장치에 대한 외부 상황 정보를 수집할 수 있다.
본 발명의 다양한 실시예에서 전자 장치가 제1 전자 장치 401(예컨대, 영상 통화를 요청하는 송신 전자 장치)로 동작하는 경우, 카메라 550(예컨대, 도 2의 카메라 모듈 291)은 피사체의 영상을 촬영하고, 프로세서 570의 제어 하에 상기 통신부 510을 통해 상기 촬영된 피사체에 대한 영상 데이터를 제2 전자 장치 403에 전송할 수 있다.
본 발명의 다양한 실시예에서 전자 장치가 제3 전자 장치 405(예컨대, 영상 통화 요청을 수락하여 영상 통화를 수행하는 전자 장치)으로 동작하는 경우, 상기 카메라 550은 피사체의 영상을 촬영하고, 프로세서 570의 제어 하에 상기 통신부 510을 통해 상기 촬영된 피사체에 대한 영상 데이터를 제2 전자 장치 403에 전송할 수 있다. 상기 카메라 550은 상기 촬영된 피사체에 대한 영상 데이터에서 사용자의 안면, 얼굴, 또는 눈동자 중 적어도 하나를 인식할 수 있다.본 발명의 다양한 실시예에서 오디오 처리부 560(예컨대, 도 2의 오디오 모듈 280)은 통화 시 송수신되는 오디오 신호(송화음 또는 수화음), 수신된 메시지에 포함된 오디오 신호, 메모리 433에 저장된 오디오 파일의 재생에 따른 오디오 신호 등을 출력하기 위한 스피커(SPK, speaker) 561 및 사용자의 음성 또는 기타 오디오 신호를 수집하기 위한 적어도 하나의 마이크(MIC, microphone) 563과 연결될 수 있다.
본 발명의 다양한 실시예에서 오디오 처리부 560은 마이크 563을 통해 영상 통화와 관련된 기능을 제어하기 위한 음성을 수신하면, 상기 음성 신호를 프로세서 570에 전달할 수 있다. 오디오 처리부 560는 스피커 561을 통해 제1 전자 장치 401로부터 수신하는 영상 데이터에서 프로세서 570의 제어 하에 추출된 음성을 출력할 수 있다. 상기 오디오 처리부 560은 스피커 561을 통해 영상 통화 수신, 영상 통화 전환의 알림과 관련된 오디오 신호를 출력할 수 있다.
본 발명의 다양한 실시예에서 전자 장치가 제1 전자 장치 401(예컨대, 영상 통화를 요청하는 송신 전자 장치)로 동작하는 경우, 프로세서 570(예컨대, 도 1의 프로세서 120, 도 2의 프로세서 210)은 통신부 510을 통해 제2 전자 장치 403(예컨대, 영상 통화를 수신하는 수신 전자 장치) 또는, 제3 전자 장치 405(예컨대, 영상 통화 요청을 수락하여 상기 영상 통화를 수행하는 전자 장치)에 영상 통화 연결을 요청할 수 있다. 프로세서 570은 상기 제2 전자 장치 403 또는 제3 전자 장치 405로부터 상기 영상 통화 연결 요청에 대한 수락 신호를 수신하면, 상기 제2 전자 장치 403의 상태 정보, 제3 전자 장치 405의 상태 정보 및 네트워크 연결 정보를 획득할 수 있다.
본 발명의 다양한 실시예에서 프로세서 570은 상기 획득된 정보를 기반으로 상기 카메라 550에 의해 촬영되는 영상 데이터(예컨대, 비디오 스트림)에 대한 인코딩 스킴을 결정할 수 있다. 프로세서 570은 상기 결정된 인코딩 스킴을 기반으로 상기 영상 데이터를 인코딩하여 제2 전자 장치 403 또는 제3 전자 장치 405에 전송할 수 있다. 또는, 프로세서 570은 상기 영상 데이터를 기반으로 복수의 이미지들을 생성하고, 오디오 신호를 추출하여 제2 전자 장치 403 또는 제3 전자 장치 405에 전송할 수 있다. 프로세서 570은 제2 전자 장치 403 또는 제3 전자 장치 405가 지원하는 최대 해상도, 최대 화질, 또는 최대 fps 중 적어도 하나를 확인하고, 상기 제2 네트워크의 상태 정보를 기반으로 상기 최대 해상도, 최대 화질, 또는 최대 fps 중 적어도 하나를 조정하고, 상기 조정된 해상도, 화질, 또는 fps 중 적어도 하나를 기반으로 영상 데이터를 인코딩할 수 있다. 본 발명의 다양한 실시예에서 상기 프로세서 570은 제2 전자 장치 403으로부터 제3 전자 장치 405에 대한 영상 데이터를 수신하면, 상기 제3 전자 장치 405에 대한 영상 데이터를 기반으로 인코딩 스킴을 결정하고, 상기 결정된 인코딩 스킴을 기반으로 영상 데이터를 인코딩할 수 있다. 본 발명의 다양한 실시예에서 상기 프로세서 570은 제2 전자 장치 403으로부터 영상 데이터의 품질 조정값(예컨대, 화질 변경값, 해상도 변경값, 또는 fps 변경값)을 수신하면, 상기 수신된 품질 조정값 및 네트워크 상태에 따른 전송 속도를 기반으로 상기 영상 데이터를 인코딩하여 상기 제2 전자 장치 403에 전송할 수 있다.
본 발명의 다양한 실시예에서 전술한 인코딩 스킴을 결정하는 동작, 상기 결정된 인코딩 스킴을 기반으로 영상 데이터를 인코딩하는 동작은 제1 전자 장치 401뿐만 아니라, 제2 전자 장치 403에서도 동일하게 수행될 수 있다.
본 발명의 다양한 실시예에서 전자 장치가 제2 전자 장치 403(예컨대, 영상 통화를 수신하는 수신 전자 장치)으로 동작하는 경우, 프로세서 570은 통신부 431을 통해 제1 전자 장치 401(예컨대, 영상 통화를 요청하는 송신 전자 장치)로부터 영상 통화 요청 신호를 수신하면, 상기 영상 통화 요청 신호를 제3 전자 장치 405(예컨대, 영상 통화 요청을 수락하여 상기 영상 통화를 수행하는 전자 장치)에 전달할 수 있다. 프로세서 570은 상기 제3 전자 장치 405로부터 상기 영상 통화 연결 요청에 대한 수락 신호를 수신하면, 상기 수락 신호를 제1 전자 장치 401에 전달할 수 있다. 상기 프로세서 570은 상기 제1 전자 장치 401과 제3 전자 장치 305 간에 영상 통화 수행을 위한 영상 데이터 및 제어 신호를 송수신할 수 있다.
본 발명의 다양한 실시예에서 전자 장치가 제3 전자 장치 405(예컨대, 영상 통화 요청을 수락하여 영상 통화를 수행하는 전자 장치)로 동작하는 경우, 프로세서 570은 통신부 510을 통해 제2 전자 장치 403(예컨대, 영상 통화를 수신하는 수신 전자 장치)으로부터 영상 통화 요청 신호를 수신할 수 있다. 프로세서 570은 상기 영상 통화 요청을 수락하는 사용자 입력이 감지되면, 상기 영상 통화 요청에 대한 수락 신호를 제2 전자 장치 403에 전달할 수 있다. 프로세서 570은 상기 제3 전자 장치 405의 상태 정보 및 제2 네트워크 정보를 기반으로 인코딩된 영상 데이터를 제2 전자 장치 403으로부터 수신하여 재생할 수 있다. 또는, 본 발명의 다양한 실시예에서 프로세서 570은 상기 제3 전자 장치 405의 상태 정보와 제2 네트워크 정보를 기반으로 생성된 복수의 이미지들과 오디오 신호를 상기 제2 전자 장치 403으로부터 수신하여 재생할 수 있다.
본 발명의 다양한 실시예에서 프로세서 570은 카메라 550을 통해 피사체에 대한 영상을 촬영하고, 상기 촬영된 피사체에 대한 영상 데이터를 제2 전자 장치 403에 전달할 수 있다. 상기 제2 전자 장치 403에 전달하는 영상 데이터는 상기 제3 전자 장치 405에 대한 상태 정보와 제2 네트워크 상태 정보를 기반으로 인코딩된 영상 데이터일 수 있다. 본 발명의 다양한 실시예에서 상기 프로세서 570은 상기 인코딩된 영상 데이터를 표시하며 상기 영상 데이터에 대한 품질을 조정할 수 있는 인디케이터를 표시할 수 있다. 프로세서 570은 상기 인디케이터를 통해 영상 데이터의 품질을 조정하는 입력을 감지할 수 있다. 프로세서 570은 상기 감지된 품질을 조정하는 입력에 대응하여 조정된 품질값(예컨대, 화질 변경값, 해상도 변경값, fps 변경값)을 결정하고, 이를 제2 전자 장치 403에 전송할 수 있다. 상기 프로세서 570은 상기 조정된 품질값을 기반으로 인코딩된 영상 데이터를 제2 전자 장치 403으로부터 수신하여 재생할 수 있다. 프로세서 570은 센서부 540을 통해 제3 전자 장치 405의 움직임을 감지할 수 있다. 프로세서 570은 상기 제3 전자 장치 405의 움직임에 대한 센서 정보를 수집하고, 이를 기반으로 영상 데이터 및/또는 오디오 신호를 재생할 수 있다. 예컨대, 프로세서 570은 상기 센서 정보를 기반으로 상기 전자 장치의 움직임이 기 설정된 범위 내에 포함되는 경우 오디오 신호를 재생하며 상기 영상 데이터를 메모리 520에 저장할 수 있다. 프로세서 570은 상기 전자 장치의 움직임이 기 설정된 범위 내에 포함되지 않는 경우 상기 메모리 520에 저장된 영상 데이터를 재생할 수 있다. 프로세서 570은 영상 통화를 수행하는 중에 상기 영상 통화를 전환하기 위한 신호가 감지되면, 영상 통화 전환이 가능한 적어도 하나의 전자 장치를 검색하여 표시할 수 있다. 프로세서 570은 기 설정된 시간 동안 상기 표시된 적어도 하나의 전자 장치 중에서 상기 영상 통화를 전환할 전자 장치를 선택하는 입력이 감지되면, 상기 선택된 전자 장치에 영상 통화 전환 신호를 전송할 수 있다. 프로세서 570은 기 설정된 시간 동안 상기 표시된 적어도 하나의 전자 장치 중에서 상기 영상 통화를 전환할 전자 장치를 선택하는 입력이 감지되지 않으면, 상기 표시된 적어도 하나의 전자 장치에 대한 상태 정보, 제2 네트워크 정보를 분석하여 우선순위를 부여하고, 상기 부여된 우선순위가 높은 전자 장치를 영상 통화를 전환할 전자 장치로 자동으로 선택할 수 있다.
본 발명의 다양한 실시예에서 전자 장치는 제1 전자 장치와 통신하는 통신부, 영상 통화를 수행하기 위한 유저 인터페이스를 표시하는 터치스크린, 상기 통신부 및 상기 터치스크린과 전기적으로 연결된 하나 이상의 프로세서, 및 상기 하나 이상의 프로세서와 전기적으로 연결된 메모리를 포함하며, 상기 메모리는, 실행 시에, 상기 하나 이상의 프로세서가, 상기 제1 전자 장치로부터 영상 통화 수신에 관한 신호를 상기 통신부를 통해 수신하고, 상기 유저 인터페이스를 통해 상기 영상 통화 요청을 수락하는 사용자 입력을 수신하면, 상기 영상 통화 요청을 수락하는 신호를 상기 통신부를 통해 상기 제1 전자 장치로 전송하고, 상기 전자 장치의 상태 정보와 상기 통신부의 상태 정보를 기반으로 인코딩된 비디오 스트림을 상기 제1 전자 장치로부터 상기 통신부를 통해 수신하고, 상기 수신된 인코딩된 비디오 스트림을 표시하며 수신된 오디오를 재생하고, 마이크를 통해 수신된 음성을 상기 통신부를 통해 상기 제1 전자 장치로 전송하도록 하는 인스트럭션들(instructions)을 포함할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 전자 장치의 타입 정보, 상기 터치스크린의 크기, 프로세싱 파워, 최대 해상도, 배터리 상태, 메모리 상태, 또는 카메라 구비 유무 중 적어도 하나를 포함하는 상기 전자 장치의 상태 정보와 영상 통화를 수행하기 위한 영상 통화 품질 상태 포함하는 상기 통신부의 상태 정보를 기반으로 인코딩된 비디오 스트림을 상기 제1 전자 장치로부터 상기 통신부를 통해 수신할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 전자 장치의 상태 또는 상기 통신부의 상태가 변경됨을 감지하면, 상기 수신된 비디오 스트림과 해상도, 화질, 또는 프레임 레이트 중 적어도 하나가 상이한 품질의 비디오 스트림을 상기 제1 전자 장치로부터 상기 통신부를 통해 수신할 수 있다.
다양한 실시예에 따르면, 전자 장치는 카메라를 더 포함하며, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 카메라를 통해 촬영되는 비디오 스트림을 상기 전자 장치의 상태 정보와 상기 통신부의 상태 정보를 기반으로 인코딩하여 상기 통신부를 통해 상기 제1 전자 장치로 전송할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 인코딩된 비디오 스트림을 표시하며 상기 비디오 스트림의 품질을 조정하기 위한 인디케이터를 표시하고, 상기 인디케이터에서 상기 비디오 스트림의 품질을 조정하기 위한 입력이 감지되면, 상기 조정된 비디오 스트림의 품질에 대응하는 인코딩 스킴을 결정하여 상기 제1 전자 장치에 전송하고, 상기 제1 전자 장치로부터 상기 인코딩 스킴을 기반으로 인코딩된 비디오 스트림을 수신하여 표시할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 표시된 비디오 스트림에서 ROI(region of interest)를 설정하여 상기 제1 전자 장치에 전송하고, 상기 ROI에 대한 포커스, 크롭, 화질 변경, 또는 노출 조정 중 적어도 하나를 기반으로 인코딩된 비디오 스트림을 상기 제1 전자 장치로부터 수신하여 표시할 수 있다.
다양한 실시예에 따르면, 전자 장치는 센서부를 더 포함하며, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 센서부를 통해 상기 전자 장치의 움직임이 감지되면, 상기 전자 장치의 움직임에 대한 제1 센서 정보를 수집하여 분석하고, 상기 분석된 센서 정보를 기반으로 상기 전자 장치의 움직임이 기 설정된 범위 내에 포함되는 경우 상기 수신된 오디오를 재생하며 상기 수신된 비디오 스트림을 상기 메모리에 저장하고, 상기 센서부를 통해 상기 전자 장치의 움직임이 감지되면, 상기 전자 장치의 움직임에 대한 제2 센서 정보를 수집하여 분석하고, 상기 분석된 센서 정보를 기반으로 상기 전자 장치의 움직임이 기 설정된 범위 내에 포함되지 않는 경우 상기 메모리에 저장된 비디오 스트림을 재생할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 카메라를 통해 사용자의 안면, 얼굴, 또는 눈동자 중 적어도 하나가 인식되는지 여부를 결정하고, 인식되지 않은 경우 상기 수신된 오디오를 재생하며 상기 수신된 비디오 스트림을 상기 메모리에 저장하고, 상기 카메라를 통해 상기 사용자의 안면, 얼굴, 또는 눈동자 중 적어도 하나가 인식되는 경우 상기 메모리에 저장된 비디오 스트림을 재생할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 인코딩된 비디오 스트림을 표시하며 수신된 오디오를 재생하는 중에 상기 영상 통화를 전환하기 위한 신호를 감지하면, 상기 영상 통화 전환이 가능한 적어도 하나의 전자 장치를 검색하여 표시하고, 상기 표시된 적어도 하나의 전자 장치 중에서 기 설정된 시간 동안 상기 영상 통화를 전환할 전자 장치를 선택하는 입력이 감지되면 상기 선택된 전자 장치에 영상 통화 전환 신호를 전송할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 표시된 적어도 하나의 전자 장치 중에서 기 설정된 시간 동안 상기 영상 통화를 전환할 전자 장치를 선택하는 입력이 감지되지 않으면, 상기 표시된 적어도 하나의 전자 장치에 대한 상태 정보, 상기 통신부의 상태 정보를 분석하여 우선순위를 부여하고, 상기 부여된 우선순위가 높은 전자 장치를 영상 통화를 전환할 전자 장치로 자동으로 선택하고, 상기 자동으로 선택된 전자 장치에 영상 통화 전환 신호를 전송할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 제1 전자 장치로부터 영상 통화 수신에 관한 신호를 상기 통신부를 통해 수신하면, 상기 전자 장치의 상태 정보, 상기 통신부의 상태 정보를 분석하고, 상기 분석된 전자 장치의 상태 정보, 상기 통신부의 상태 정보를 기반으로 수행할 수 있는 상기 영상 통화와 관련된 기능을 포함하는 상기 유저 인터페이스를 표시할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 분석된 전자 장치의 상태 정보, 상기 통신부의 상태 정보를 기반으로 고화질의 비디오 스트림을 수신하여 영상 통화 수행, 저화질의 비디오 스트림을 수신하여 영상 통화 수행, 음성 통화 수행, 제2 전자 장치로 영상 통화 수행, 또는 상기 제2 전자 장치로 음성 통화 중 적어도 하나의 상기 영상 통화와 관련된 기능을 포함하는 상기 유저 인터페이스를 표시할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 제3 전자 장치로부터 영상 통화 요청을 수신하고, 상기 수신된 제3 전자 장치로부터의 영상 통화 요청을 수락하는 사용자 입력이 감지되면, 상기 제1 전자 장치로부터 수신된 인코딩된 비디오 스트림을 상기 터치스크린의 제1 영역에 표시하도록 제어하고, 상기 제3 전자 장치와의 영상 통화를 위한 비디오 스트림을 상기 제3 전자 장치로부터 수신하여 상기 터치스크린의 제2 영역에 표시할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 수신된 비디오 스트림을 표시하며 수신된 오디오를 재생하는 중에 사용자 입력이 감지되면, 상기 감지된 사용자 입력에 대한 압력 레벨 또는 상기 사용자 입력이 감지되는 방향을 확인하고, 상기 압력 레벨 또는 상기 사용자 입력이 감지되는 방향에 대응하는 기능을 수행할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 수신된 비디오 스트림을 저장하기 위한 입력이 감지되면, 상기 센서부를 통해 외부 상황 정보를 수집하고, 상기 수집된 외부 상황 정보와 상기 입력이 감지된 시점에 대한 비디오 스트림을 저장하기 위한 요청을 상기 제1 전자 장치에 전송하고, 상기 제1 전자 장치로부터 상기 외부 상황 정보를 기반으로 인코딩된 상기 입력이 감지된 시점에 대한 비디오 스트림을 수신하여 상기 메모리에 저장할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 제1 전자 장치로부터 상기 비디오 스트림을 저장하기 위한 입력이 감지된 시점에 대한 날씨 정보, 밝기 정보, 또는 사운드 정보 중 적어도 하나를 포함하는 상기 외부 상황 정보를 기반으로 인코딩된 비디오 스트림을 수신하여 상기 메모리에 저장할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 제1 전자 장치로부터 영상 통화 수신에 관한 신호를 상기 통신부를 통해 수신하면, 상기 영상 통화 수행이 가능한 적어도 하나의 전자 장치를 검색하고, 상기 검색된 적어도 하나의 전자 장치를 표시하도록 상기 터치스크린을 제어하고, 상기 표시된 적어도 하나의 전자 장치에서 상기 영상 통화를 수행하기 위한 전자 장치를 선택하는 입력이 감지되면, 상기 선택된 전자 장치와의 영상 통화를 수락하는 신호를 상기 통신부를 통해 상기 제1 전자 장치로 전송할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 적어도 하나의 전자 장치를 아이콘으로 표시하며, 상기 통신부의 상태 정보, 상기 전자 장치의 상태 정보를 기반으로 상기 적어도 하나의 전자 장치를 나타내는 아이콘의 크기, 색상, 또는 모양 중 적어도 하나를 포함하는 아이콘에 대한 속성 정보, 또는 상기 터치스크린에 상기 아이콘이 배치되는 위치를 결정할 수 있다.
다양한 실시예에 따르면, 상기 통신부는 블루투스(bluetooth), 또는 와이파이(wifi) 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 상기 전자 장치는 웨어러블 장치를 포함할 수 있다.
본 발명의 다양한 실시예에서 전자 장치는 제1 전자 장치와 통신하는 통신부, 영상 통화를 수행하기 위한 유저 인터페이스를 표시하는 터치스크린, 상기 통신부 및 상기 터치스크린과 전기적으로 연결된 하나 이상의 프로세서, 및 상기 하나 이상의 프로세서와 전기적으로 연결된 메모리를 포함하며, 상기 메모리는, 실행 시에, 상기 하나 이상의 프로세서가, 제1 전자 장치로부터 영상 통화 수신에 관한 신호를 상기 통신부를 통해 수신하고, 유저 인터페이스를 통해 상기 영상 통화 요청을 수락하는 사용자 입력을 수신하면 상기 영상 통화 요청을 수락하는 신호를 상기 통신부를 통해 상기 제1 전자 장치로 전송하고, 상기 전자 장치의 상태 정보와 상기 통신부의 상태 정보를 기반으로 생성된 복수의 이미지들과 오디오 신호를 상기 제1 전자 장치로부터 상기 통신부를 통해 수신하고, 상기 수신된 복수의 이미지들을 표시하며 상기 수신된 오디오 신호를 재생하고, 마이크를 통해 수신된 음성을 상기 통신부를 통해 상기 제1 전자 장치로 전송하도록 하는 인스트럭션들을 포함할 수 있다.
본 발명의 다양한 실시예에서 전자 장치는 제1 전자 장치와 통신하는 제1 통신부와 제2 전자 장치와 통신하는 제2 통신부를 포함하는 통신부, 영상 통화를 수행하기 위한 유저 인터페이스를 표시하는 터치스크린, 상기 통신부 및 상기 터치스크린과 전기적으로 연결된 하나 이상의 프로세서, 및 상기 하나 이상의 프로세서와 전기적으로 연결된 메모리를 포함하며, 상기 메모리는, 실행 시에, 상기 하나 이상의 프로세서가, 상기 제1 전자 장치 또는 서버로부터 상기 제1 통신부를 통해 영상 통화 요청 신호를 수신하면 상기 수신된 영상 통화 요청 신호를 표시하고, 상기 수신된 영상 통화 요청 신호에 기초하여 알림을 생성하고, 상기 생성된 알림을 상기 제2 통신부를 통해 상기 제2 전자 장치에 전달하고, 상기 제2 전자 장치로부터 상기 제2 통신부를 통해 상기 영상 통화 요청을 수락하는 신호를 수신하면, 상기 수신된 수락 신호에 대응하여 상기 영상 통화 요청 신호를 표시하는 동작을 중단하며 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 상기 제2 전자 장치의 상태 정보와 상기 제2 통신부의 상태 정보를 기반으로 인코딩하고, 상기 인코딩한 비디오 스트림을 상기 제2 통신부를 통해 상기 제2 전자 장치로 전송하고, 상기 제2 전자 장치로부터 상기 제2 통신부를 통해 수신한 오디오 신호를 상기 제1 통신부를 통해 상기 제1 전자 장치 또는 상기 서버에 전달하도록 하는 인스트럭션들을 포함할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 전자 장치의 상태 또는 상기 제2 통신부의 상태가 변경됨을 감지하면, 상기 인코딩한 비디오 스트림과 해상도, 화질, 또는, 프레임 레이트 중 적어도 하나가 상이하도록 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 인코딩하고, 상기 인코딩한 비디오 스트림을 상기 제2 통신부를 통해 상기 제2 전자 장치로 전송할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 제2 전자 장치가 지원하는 비디오 스트림에 대한 최대 해상도, 최대 화질, 또는 최대 fps 중 적어도 하나를 확인하고, 상기 제2 통신부의 상태 정보를 기반으로 상기 최대 해상도, 최대 화질, 또는 최대 fps 중 적어도 하나를 조정하고, 상기 조정된 해상도, 화질, 또는 fps 중 적어도 하나를 기반으로 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 인코딩할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 제2 전자 장치로부터 비디오 스트림을 수신하면, 상기 수신된 비디오 스트림을 기반으로 인코딩 스킴을 결정하고, 상기 결정된 인코딩 스킴을 기반으로 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 인코딩할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 제2 전자 장치로부터 설정된 ROI를 수신하면 상기 ROI를 기준으로 포커스, 크롭, 화질 변경, 또는 노출 조정 중 적어도 하나를 통해 인코딩하고, 상기 ROI를 기준으로 인코딩한 비디오 스트림을 상기 제2 전자 장치에 상기 제2 통신부를 통해 전송할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 제2 전자 장치로부터 비디오 스트림의 저장을 요청하는 신호와 상기 제2 전자 장치의 외부 상황 정보를 수신하면, 해당 비디오 스트림을 추출하여 상기 제2 전자 장치의 외부 상황 정보를 기반으로 인코딩하여 저장하거나, 상기 상기 제2 전자 장치의 외부 상황 정보를 기반으로 인코딩한 비디오 스트림을 상기 제2 통신부를 통해 상기 제2 전자 장치에 전송할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 제2 전자 장치를 서버에 등록하고, 상기 서버에 등록된 상기 제2 전자 장치의 상태 정보와 상기 제2 통신부의 상태 정보를 기반으로 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 인코딩할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 제3 전자 장치로부터 영상 통화 요청 신호와 상기 제3 전자 장치의 정보가 수신되면, 영상 통화 연결 정보를 상기 제3 전자 장치에 전송하고, 상기 제 3 전자 장치의 정보를 상기 제1 통신부를 통해 상기 제1 전자 장치에 전송할 수 있다.
본 발명의 다양한 실시예서 전자 장치는 제1 전자 장치와 통신하는 제1 통신부와 제2 전자 장치와 통신하는 제2 통신부를 포함하는 통신부, 영상 통화를 수행하기 위한 유저 인터페이스를 표시하는 터치스크린, 상기 통신부 및 상기 터치스크린과 전기적으로 연결된 하나 이상의 프로세서, 및 상기 하나 이상의 프로세서와 전기적으로 연결된 메모리를 포함하며, 상기 메모리는, 실행 시에, 상기 하나 이상의 프로세서가, 상기 제1 전자 장치 또는 서버로부터 상기 제1 통신부를 통해 영상 통화 요청 신호를 수신하면, 상기 수신된 영상 통화 요청 신호에 기초하여 알림을 생성하고, 상기 생성된 알림을 상기 제2 통신부를 통해 상기 제2 전자 장치에 전달하고, 상기 제2 전자 장치로부터 상기 제2 통신부를 통해 상기 영상 통화 요청을 수락하는 신호를 수신하면, 상기 수신된 수락 신호에 대응하여 상기 영상 통화 요청 신호를 표시하는 동작을 중단하며 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 기초로 복수의 이미지들을 생성하고, 상기 비디오 스트림에서 오디오 신호를 추출하고, 상기 생성된 복수의 이미지들과 추출된 오디오 신호를 상기 제2 통신부를 통해 상기 제2 전자 장치로 전송하고, 상기 제2 전자 장치로부터 상기 제2 통신부를 통해 수신한 오디오 신호를 상기 제1 전자 장치 또는 상기 서버에 상기 제1 통신부를 통해 전달하도록 하는 인스트럭션들을 포함할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 제2 전자 장치의 상태 정보와 상기 제2 통신부의 상태 정보를 획득하고, 상기 획득된 제2 전자 장치의 상태 정보와 상기 제2 통신부의 상태 정보를 기반으로 상기 복수의 이미지들 중 적어도 하나의 이미지를 상기 제2 전자 장치에 전송할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 적어도 하나의 정지 이미지를 포함하는 상기 복수의 이미지들을 생성하고, 상기 제1 전자 장치로부터 수신하는 비디오 스트림에서 I-frame(intra-frame)을 추출하고, 이전에 추출된 I-frame과 상기 추출된 I-frame을 비교하여 상기 이전에 추출된 I-frame과 상기 추출된 I-frame 간에 유사도를 결정하고, 상기 유사도가 기 설정된 기준값을 초과하는 경우 상기 추출된 I-frame을 기반으로 정지 이미지를 생성할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 제1 전자 장치로부터 수신하는 비디오 스트림에 대한 방향 벡터(vector) 변화량, 키 프레임(key frame) 변화량, dominant color의 변화량, 또는 기 설정된 시간 간격 중 적어도 하나를 기반으로 상기 적어도 하나의 정지 이미지를 생성할 수 있다.
다양한 실시예에 따르면, 상기 제2 통신부가 블루투스인 경우, 상기 인스트럭션들은, 상기 하나 이상의 프로세서가, 상기 복수의 이미지들을 상기 블루투스의 SPP(serial port profile)를 통해 상기 제2 전자 장치에 전송하고, 상기 오디오 신호를 상기 블루투스의 HFP(hands free profile)를 통해 상기 제2 전자 장치에 전송할 수 있다.
본 발명의 다양한 실시예서 전자 장치는 제1 전자 장치와 통신하는 제1 통신부, 영상 통화를 수행하기 위한 유저 인터페이스를 표시하는 터치스크린, 상기 제1 통신부 상기 터치스크린과 전기적으로 연결된 하나 이상의 프로세서, 및 상기 하나 이상의 프로세서와 전기적으로 연결된 메모리를 포함하며, 상기 메모리는, 실행 시에, 상기 하나 이상의 프로세서가, 영상 통화 요청 신호를 상기 제1 통신부를 통해 상기 제1 전자 장치에 전송하고, 상기 제1 전자 장치로부터 상기 영상 통화 요청을 수락하는 신호와 상기 영상 통화를 수행하기 위한 제2 전자 장치의 상태 정보와 제2 통신부의 상태 정보를 상기 제1 통신부를 통해 수신하고, 상기 수신한 제2 전자 장치의 상태 정보와 제2 통신부의 상태 정보를 기반으로 비디오 스트림을 인코딩하여 상기 제1 통신부를 통해 상기 제1 전자 장치에 전송하고, 상기 제1 전자 장치로부터 음성 신호를 수신하도록 하는 인스트럭션들을 포함할 수 있다.
이 밖에도, 상기 도 5에 도시하지 않았지만 상기 제1 전자 장치 내지 제3 전자 장치는 위치 정보 수신을 위한 GPS(Global Positioning System) 모듈, 방송 수신을 위한 방송 수신 모듈 등의 부가 기능을 갖는 구성 요소들을 선택적으로 더 포함할 수 있다.
도 6은 본 발명의 다양한 실시예에 따른 제1 전자 장치에서 영상 인코딩 방법을 설명하기 위한 제1 전자 장치 내지 제3 전자 장치 간에 신호 흐름을 도시하는 도면이다.
본 발명의 다양한 실시예에서 제1 전자 장치 601(예컨대, 도 4의 전자 장치 401)은 제2 전자 장치 603(예컨대, 도 4의 제2 전자 장치 403)에 제2 네트워크(예컨대, 도 4의 제2 네트워크 413)을 통해 연결된 제3 전자 장치 605(예컨대, 도 4의 제3 전자 장치 405)와 영상 통화를 수행하기 위한 영상 데이터를 제3 전자 장치 605의 상태 또는 제2 네트워크 상태에 적합한 영상 데이터로 변환할 수 있다.
본 발명의 다양한 실시예에서 상기 제1 전자 장치 601은 전술한 도 4의 제1 전자 장치 401과 적어도 일부 또는 전체가 유사하거나 동일할 수 있다. 또한, 상기 제2 전자 장치 603은 전술한 도 4의 제2 전자 장치 403과 적어도 일부 또는 전체가 유사하거나 동일할 수 있다. 또한, 제3 전자 장치 605는 전술한 도 4의 제3 전자 장치 405와 적어도 일부 또는 전체가 유사하거나 동일할 수 있다.
도 6을 참조하면, 제1 전자 장치 601은 제1 네트워크(예컨대, 도 4의 제1 네트워크 411)로 연결된 제2 전자 장치 603에 영상 통화 연결을 요청 611할 수 있다. 제2 전자 장치 603은 제2 네트워크로 연결된 제3 전자 장치 605에 상기 제1 전자 장치 601로부터 영상 통화 연결 요청이 수신되었음을 알리는 알림(notification)을 전달 613할 수 있다. 제3 전자 장치 605는 상기 영상 통화 연결 요청을 수락(accept)할 수 있으며, 상기 수락 신호를 제2 전자 장치 603에 전송 615할 수 있다. 제2 전자 장치 603은 상기 제3 전자 장치 605로부터 수신한 영상 통화 연결 수락 신호를 제1 전자 장치 601에 전달 617할 수 있다.
본 발명의 다양한 실시예에서 상기 제1 전자 장치 601은 상기 제2 전자 장치 603으로부터 상기 제2 전자 장치 603의 상태 정보, 상기 제2 전자 장치 603에 제2 네트워크를 통해 연결된 제3 전자 장치 605의 상태 정보 및 네트워크 연결 정보를 획득할 수 있다. 상기 제2 전자 장치 603의 상태 정보는 상기 제2 전자 장치 603의 타입 정보, 디스플레이 크기, 프로세싱 파워, 상기 제2 전자 장치 603이 지원하는 최대 해상도, 배터리 상태(예컨대, 배터리 레벨), 메모리 상태, 또는 카메라의 구비 유무 중 적어도 하나를 포함할 수 있다. 상기 제3 전자 장치 605의 정보는 상기 제3 전자 장치 605의 타입 정보, 디스플레이 크기, 프로세싱 파워, 상기 제 전자 장치 605가 지원하는 최대 해상도, 배터리 상태(예컨대, 배터리 레벨), 메모리 상태, 또는 카메라의 구비 유무 중 적어도 하나를 포함할 수 있다. 상기 네트워크 연결 정보는 제2 네트워크의 상태 정보 또는 제1 네트워크의 상태 정보를 포함할 수 있다.
본 발명의 다양한 실시예에서 제1 전자 장치 601은 상기 획득한 정보를 기반으로 인코딩 스킴(encoding scheme)을 결정 619할 수 있다. 제1 전자 장치 601은 상기 결정된 인코딩 스킴을 기반으로 영상 통화를 수행하기 위한 영상 데이터를 인코딩 621하여 상기 제2 전자 장치 603에 전송 623할 수 있다.
본 발명의 다양한 실시예에서 상기 인코딩 스킴은 트랜스코딩(transcoding) 방식, 스케일러블 인코딩(scalable encoding) 방식, 또는 미러링(mirroring) 방식을 포함할 수 있으며, 상기 방식 중 적어도 하나의 방식을 통해 영상 데이터를 인코딩 할 수 있다. 제2 전자 장치 603은 상기 제1 전자 장치 601로부터 수신한 인코딩된 영상 데이터를 제3 전자 장치 605에 전송 625할 수 있다. 상기 제3 전자 장치 605는 상기 제2 전자 장치로 603으로부터 수신한 영상 데이터를 재생 627할 수 있다.
본 발명의 다양한 실시예에서 상기 트랜스코딩 방식을 통해 영상 데이터를 인코딩하는 동작은 후술하는 도 10 내지 도 16을 참조하여 상세히 설명하도록 한다.
본 발명의 다양한 실시예에서 상기 스케일러블 인코딩 방식을 통해 영상 데이터를 인코딩하는 동작은 후술하는 도 17a 및 도 17b를 참조하여 상세히 설명하도록 한다.
본 발명의 다양한 실시예에서 상기 미러링 방식을 통해 영상 데이터를 인코딩하는 동작은 후술하는 도 18을 참조하여 상세히 설명하도록 한다.
본 발명의 다양한 실시예에서 제3 전자 장치 605는 음성을 수신 629하고, 제2 전자 장치 603에 상기 음성 신호를 전송 631할 수 있다. 제2 전자 장치 603은 상기 제3 전자 장치 605로부터 수신한 음성 신호를 제1 전자 장치 601에 전송 633할 수 있다.
본 발명의 다양한 실시예에서 상기 제3 전자 장치 605는 카메라를 구비하는 경우 상기 카메라를 통해 수신되는 영상을 인코딩하여 음성 신호와 함께 전송할 수 있다. 예컨대, 전술한 도 4에서 살펴본 바와 같이 상기 제3 전자 장치 605가 지원하는 해상도는 제1 전자 장치 601 및 제2 전자 장치 603이 지원하는 해상도보다 낮을 수 있다. 상기 제3 전자 장치 605가 지원하는 해상도가 상기 제1 전자 장치 601 및 상기 제2 전자 장치 603보다 낮음에 따라 상기 제3 전자 장치 605는 카메라를 통해 수신되는 영상 데이터를 저전력에서도 재생 가능한 저품질의 영상 데이터로 인코딩 할 수 있다. 상기 제3 전자 장치 605는 상기 인코딩한 저품질의 영상 데이터와 음성 신호를 함께 제2 전자 장치 603으로 전송할 수 있다. 하지만 이에 한정하는 것은 아니며, 상기 제3 전자 장치 605는 상기 카메라를 통해 수신되는 영상 데이터를 이미지, 또는 이미지 시퀀스로 인코딩 할 수 있으며, 상기 이미지와 상기 음성 신호 또는 이미지 시퀀스와 음성 신호를 상기 제2 전자 장치 603에 전송할 수 있다.
도 7은 본 발명의 다양한 실시예에 따른 제1 전자 장치에서 영상 인코딩 방법을 설명하기 위한 제1 전자 장치 내지 제3 전자 장치 간에 신호 흐름을 도시하는 도면이다.
본 발명의 다양한 실시예에서 제1 전자 장치 701(예컨대, 도 4의 제1 전자 장치 401, 또는 도 6의 제1 전자 장치 601)은 제2 전자 장치 703(예컨대, 도 4의 제2 전자 장치 403, 또는 도 6의 제2 전자 장치 603)에 제2 네트워크(예컨대, 제2 네트워크 413)을 통해 연결된 제3 전자 장치 705(예컨대, 도 4의 제3 전자 장치 405, 또는 도 6의 제3 전자 장치 605)와 영상 통화를 수행할 수 있으며, 영상 통화를 수행하기 위한 제1 전자 장치 701의 영상 데이터를 서버(sever) 711로부터 수신한 제3 전자 장치 705의 정보를 기반으로 제3 전자 장치 705에 적합한 영상 데이터로 변환할 수 있다.
본 발명의 다양한 실시예에서 상기 서버 711은 사용자 계정을 기반으로 영상 통화를 수행할 수 있는 전자 장치를 관리할 수 있다. 예컨대, 상기 서버 711은 상기 사용자 계정을 기반으로 등록된 전자 장치를 모니터링 할 수 있으며, 상기 모니터링을 통해 상기 전자 장치의 상태 정보를 실시간으로 업데이트할 수 있다. 다시 말해, 상기 서버 711은 상기 전자 장치를 모니터링하여, 상기 전자 장치의 상태 정보를 통해 영상 통화가 수행 가능한지 여부를 확인할 수 있다. 상기 상태 정보는 상기 전자 장치가 현재 사용 중인지 여부, 온(on)/오프(off) 상태인지 여부, 또는 자리 비움 상태인지 여부에 대한 정보를 포함할 수 있다. 상기 제1 전자 장치 701은 상기 서버 711을 통해 업데이트된 전자 장치의 상태 정보를 기반으로 영상 통화를 수행할 전자 장치를 선택(예컨대, 폰북에서 영상 통화를 수행할 전자 장치를 선택)하고, 상기 선택된 전자 장치로 영상 통화 요청 신호를 전송할 수 있다.
도 7을 참조하면, 제3 전자 장치 705는 제2 전자 장치 703에 등록을 요청 721할 수 있다. 예컨대, 제3 전자 장치 705는 영상 통화를 수행할 수 있는 전자 장치로 상기 제3 전자 장치 705를 서버 711에 등록하도록 제2 전자 장치 703에 요청할 수 있다. 제2 전자 장치 703은 상기 제3 전자 장치 705로부터 등록 요청 721을 수신하면 서버 711에 업데이트(update) 요청 723할 수 있다. 예컨대, 제2 전자 장치 703은 서버 711에 상기 제3 전자 장치 705의 정보를 등록하거나 상기 제3 전자 장치 705의 정보를 업데이트하도록 요청할 수 있다. 서버 711은 업데이트된 제3 전자 장치 705의 정보를 기반으로 제1 전자 장치 701에 업데이트를 요청 725할 수 있다.
본 발명의 다양한 실시예에서 제1 전자 장치 701은 상기 서버 711에 등록된 정보 예컨대, 영상 통화를 수행할 수 있는 전자 장치의 정보를 기반으로 특정 전자 장치에 영상 통화를 요청할 수 있다. 예컨대, 제1 전자 장치 701은 서버 711로부터 수신하여 업데이트한 상기 제2 전자 장치 703의 정보 또는 상기 제3 전자 장치 705의 정보를 기반으로 영상 통화를 수행할 수 있는 전자 장치 예컨대, 제3 전자 장치 705를 확인할 수 있다. 또한, 상기 서버 711은 제2 전자 장치 703으로부터 상기 제2 전자 장치 703 및 상기 제3 전자 장치 705의 타입 정보, 디스플레이 크기, 프로세싱 파워, 상기 제3 전자 장치 705가 지원하는 최대 해상도, 배터리 상태(예컨대, 배터리 레벨), 메모리 상태, 카메라 구비 유무, 제1 네트워크(예컨대, 도 4의 제1 네트워크 411)의 상태 정보, 또는 제2 네트워크의 상태 정보 중 적어도 하나를 획득하여 저장할 수 있다.
제1 전자 장치 701은 상기 영상 통화를 수행할 수 있는 전자 장치로 제3 전자 장치 705로 결정하고, 제1 네트워크로 연결된 제2 전자 장치 703에 영상 통화 연결을 요청 727할 수 있다. 제2 전자 장치 703은 제2 네트워크로 연결된 제3 전자 장치 705에 상기 제1 전자 장치 701로부터 영상 통화 연결 요청이 수신되었음을 알리는 알림(notification)을 전달 729할 수 있다. 제3 전자 장치 705는 상기 영상 통화 연결 요청을 수락(accept)할 수 있으며, 상기 수락 신호를 제2 전자 장치 703에 전달 731할 수 있다. 제2 전자 장치 703은 상기 제3 전자 장치 705로부터 수신한 영상 통화 연결 수락 신호를 제1 전자 장치 701에 전송 733할 수 있다.
제1 전자 장치 701은 상기 서버 711에 저장된 상기 제2 전자 장치 703의 정보, 상기 제2 전자 장치 703에 연결된 제3 전자 장치 705의 정보 및 네트워크 연결 정보를 기반으로 인코딩 스킴을 결정 735할 수 있다. 제1 전자 장치 701은 상기 결정된 인코딩 스킴을 기반으로 영상 통화를 수행하기 위한 영상 데이터를 인코딩 737하여 상기 제2 전자 장치 703에 전송 739할 수 있다. 제2 전자 장치 703은 상기 제1 전자 장치 701로부터 수신한 인코딩된 영상 데이터를 제3 전자 장치 705에 전달 741할 수 있다. 상기 제3 전자 장치 705는 상기 제2 전자 장치로 703으로부터 수신한 인코딩된 영상 데이터를 재생 743할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치 705는 음성을 수신 745하고 제2 전자 장치 703에 상기 음성 신호를 전송 747할 수 있다. 제2 전자 장치 703은 상기 제3 전자 장치 705로부터 수신한 음성 신호를 제1 전자 장치 701에 전송 749할 수 있다.
도 8은 본 발명의 다양한 실시예에 따른 제1 전자 장치에서 영상 인코딩 방법을 설명하기 위한 제1 전자 장치 내지 제3 전자 장치 간에 신호 흐름을 도시하는 도면이다.
도 8을 참조하면, 제1 전자 장치 801(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 또는 도 7의 제1 전자 장치 701)은 제1 네트워크(예컨대, 도 4의 제1 네트워크 411)로 연결된 제2 전자 장치 803(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 또는 도 7의 제2 전자 장치 703)에 영상 통화 연결을 요청 811할 수 있다. 제2 전자 장치 803은 제2 네트워크(예컨대, 도 4의 제2 네트워크 413)로 연결된 제3 전자 장치 805에 상기 제1 전자 장치 801로부터 영상 통화 연결 요청이 수신되었음을 알리는 알림(notification)을 전달 813할 수 있다. 제3 전자 장치 805는 상기 영상 통화 연결 요청을 수락(accept)할 수 있으며, 상기 수락 신호를 제2 전자 장치 803에 전송 815할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치 805는 전술한 수락 신호뿐만 아니라 상기 제3 전자 장치 805의 영상 데이터를 제2 전자 장치 803에 전송 815할 수 있다.
예컨대, 본 발명의 다양한 실시예에서 제3 전자 장치 805는 카메라를 구비할 수 있으며, 상기 카메라를 통해 획득한 영상 데이터를 제2 전자 장치 803에 전송할 수 있다. 예컨대, 상기 제3 전자 장치 805는 상기 제3 전자 장치 805의 상태 정보와 제2 네트워크 상태 정보를 기반으로 상기 획득한 영상 데이터를 인코딩할 수 있다. 상기 제3 전자 장치 805는 상기 인코딩한 영상 데이터를 제2 전자 장치 803에 전송할 수 있다.
본 발명의 다양한 실시예에서 제2 전자 장치 803은 상기 제3 전자 장치 805로부터 수신한 수락 신호 및 제3 전자 장치 805의 영상 데이터를 제1 전자 장치 801에 전달 817할 수 있다. 또는, 제3 전자 장치 805는 음성 신호만을 생성하여 상기 제2 전자 장치 803에 전송할 수 있다.
상기 제1 전자 장치 801은 제2 전자 장치 803으로부터 수신한 제3 전자 장치 805의 영상 데이터 품질을 확인 819할 수 있다. 예컨대, 제1 전자 장치 801은 상기 수신한 제3 전자 장치 805의 영상 데이터에 대한 인코딩 스킴, 퀄리티(quality), 또는 영상의 크기(size)를 확인할 수 있다.
상기 제1 전자 장치 801은 상기 확인된 제3 전자 장치 805로부터 수신된 영상 데이터의 인코딩 스킴, 퀄리티, 또는 영상의 크기를 기반으로 송신할 영상 데이터의 인코딩 스킴을 결정할 수 있다. 이에 한정하는 것은 아니며, 본 발명의 다양한 실시예에서 상기 제1 전자 장치 801은 상기 제3 전자 장치 805의 영상 데이터 이외에 제2 전자 장치 803을 통해 전달받은 상기 제3 전자 장치 805의 디스플레이 크기, 프로세싱 파워, 상기 제3 전자 장치 805가 지원하는 최대 해상도, 배터리 상태(예컨대, 배터리 레벨), 메모리 상태, 카메라 구비 유무, 제1 네트워크의 상태 정보, 또는 제2 네트워크의 상태 정보를 영상 데이터를 인코딩하기 위한 인코딩 스킴을 결정 821하기 위해 이용할 수도 있다.
상기 제1 전자 장치 801은 상기 결정된 인코딩 스킴을 기반으로 영상 데이터를 인코딩 823하고, 상기 인코딩된 영상 데이터를 상기 제2 전자 장치 803에 전송 825할 수 있다. 제2 전자 장치 803은 상기 제1 전자 장치 801로부터 수신한 인코딩된 영상 데이터를 제3 전자 장치 805에 전달 827할 수 있다. 상기 제3 전자 장치 805는 상기 제2 전자 장치로 803으로부터 수신한 영상 데이터를 재생 829할 수 있다. 상기 제3 전자 장치 805는 음성을 수신 831하면, 제2 전자 장치 803에 상기 음성 신호를 전송 833할 수 있다. 제2 전자 장치 803은 상기 제3 전자 장치 805로부터 수신한 음성 신호를 제1 전자 장치 801에 전송 835할 수 있다.
도 9는 본 발명의 다양한 실시예에 따른 제2 전자 장치에서 영상 인코딩 방법을 설명하기 위한 제1 전자 장치 내지 제3 전자 장치 간에 신호 흐름을 도시하는 도면이다.
본 발명의 다양한 실시예에서 제2 전자 장치 903(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 또는 도 8의 제2 전자 장치 803)은 제1전자 장치 901(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 도 7의 제1 전자 장치 701, 또는 도 8의 제1 전자 장치 801)과 상기 제2 전자 장치 903에 제2 네트워크(예컨대, 도 4의 제2 네트워크 413)를 통해 연결된 제3 전자 장치 905(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 또는 도 8의 제3 전자 장치 805)와 영상 통화를 수행하기 위한 영상 데이터를 제3 전자 장치 905에 적합한 영상 데이터로 변환할 수 있다.
도 9를 참조하면, 본 발명의 다양한 실시예에서 제1 전자 장치 901은 제1 네트워크(예컨대, 도 4의 제1 네트워크 411)로 연결된 제2 전자 장치 903에 영상 통화 연결을 요청 911할 수 있다. 제2 전자 장치 903은 제2 네트워크로 연결된 제3 전자 장치 905에 상기 제1 전자 장치 901로부터 영상 통화 연결 요청이 수신되었음을 알리는 알림(notification)을 전달 913할 수 있다. 제3 전자 장치 905는 상기 영상 통화 연결 요청을 수락(accept)할 수 있으며, 상기 수락 신호를 제2 전자 장치 903에 전송 915할 수 있다. 제2 전자 장치 903은 상기 제3 전자 장치 905로부터 수신한 영상 통화 연결 승인 신호를 제1 전자 장치 901에 전달 917할 수 있다.
본 발명의 다양한 실시예에서 상기 제1 전자 장치 901은 카메라를 통해 촬영되는 영상 통화를 위한 영상 데이터를 상기 제2 전자 장치 903에 전송 919할 수 있다. 상기 제2 전자 장치 903은 상기 제1 전자 장치 901로부터 수신한 영상 데이터를 제3 전자 장치 905의 상태 정보(예컨대, 상기 제3 전자 장치 905의 타입, 화면 크기, 프로세싱 파워, 최대 해상도, 배터리 상태, 메모리 상태, 또는 카메라 구비 유무 등), 제1 네트워크의 상태 정보, 제2 네트워크의 상태 정보를 기반으로 인코딩 스킴을 결정 921할 수 있다. 제2 전자 장치 903은 상기 결정된 인코딩 스킴을 기반으로 영상 통화를 수행하기 위한 영상 데이터를 인코딩 923하여 상기 제3 전자 장치 905에 전송 925할 수 있다. 제3 전자 장치 905는 상기 제2 전자 장치로 903으로부터 수신한 영상 데이터를 재생 927할 수 있다. 상기 제3 전자 장치 905는 음성을 수신 939하면, 제2 전자 장치 903에 상기 음성 신호를 전송 931할 수 있다. 제2 전자 장치 903은 상기 제3 전자 장치 905로부터 수신한 음성 신호를 제1 전자 장치 901에 전송 933할 수 있다.
도 10은 본 발명의 다양한 실시예에 따른 제1 전자 장치에서 수행되는 영상 인코딩 방법을 설명하기 위한 도면이다.
전술한 바와 같이 본 발명의 다양한 실시예에서 전술한 바와 같이 제1 전자 장치(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 도 7의 제1 전자 장치 701, 도 8의 제1 전자 장치 801, 또는 도 9의 제1 전자 장치 901) 또는 제2 전자 장치(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 또는 도 9의 제2 전자 장치 903)는 트랜스코딩(transcoding) 방식을 이용하여 제1 전자 장치의 영상 데이터를 제3 전자 장치(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 또는 도 9의 제3 전자 장치 905에 적합한 영상 데이터로 변환할 수 있다.
본 발명의 다양한 실시예에서 후술하는 도 10은 제1 전자 장치에서 영상 데이터를 인코딩 하는 것으로 가정하여 설명한다. 하지만, 이에 한정하는 것은 아니며 상기 영상 데이터를 인코딩하는 동작은 제2 전자 장치에서 동일하게 수행될 수 있다.
본 발명의 다양한 실시예에서 Full HD(1920*1080), 또는 HD(1280*720)의 해상도와 30fps(frame per second)의 프레임 영상 데이터의 경우 제1 전자 장치 또는 제2 전자 장치에서 재생하기에 적합하고, QVGA(320*204), CIF(352*288), 또는 QCIF(176*240)의 해상도와 30fps 또는 15fps의 프레임 영상 데이터의 경우 제3 전자 장치에서 재생하기에 큰 화질의 열화 없이 효율적일 수 있다. 다시 말해, 상기 제1 전자 장치 또는 제2 전자 장치보다 작은 크기의 화면과 낮은 해상도를 가지는 제3 전자 장치에 상기 제1 전자 장치 또는 제2 전자 장치와 동일하게 Full HD(1920*1080), 또는 HD(1280*720)의 해상도와 30fps(frame per second)의 프레임 영상 데이터를 그대로 재생할 필요가 없다. 또한, 제2 전자 장치와 제3 전자 장치가 제2 네트워크(예컨대, 도 4의 제2 네트워크 413) 예컨대, 블루투스 또는 wifi와 같은 저전력 네트워크로 연결되는 경우, 상기 제2 전자 장치는 상기 제3 전자 장치로 고용량의 스트리밍 파일을 전송하기 위한 전송 속도를 확보하기 힘들 뿐만 아니라, 제3 전자 장치에서 고화질 스트리밍 재생 시 과도한 전력 사용으로 인한 배터리 지속 성능 문제가 발생할 수 있다.
전술한 바와 같이, 일 실시예에 따르면, 제3 전자 장치는 QVGA(320*204), CIF(352*288), 또는 QCIF(176*240)의 해상도와 30fps 또는 15fps의 프레임을 가지는 영상으로도 상기 제3 전자 장치의 작은 화면에서 큰 화질의 열화 없이 효율적으로 재생할 수 있다. 또한, 상기 제3 전자 장치의 영상 데이터를 재생하는 화면이 작음에 따라 사용자가 고압축의 영상으로 인한 화질 열화를 발견하기 어렵다. 이에 따라 본 발명의 다양한 실시예들은 영상 스트림의 파일 크기가 상대적으로 작아지게 됨에 따라 스트리밍을 위한 요구 대역폭도 줄어들게 되기 때문에 열악한 네트워크 환경 또는 저전력 연결을 위해 대역폭이 작은 네트워크에서 큰 이점을 얻을 수 있다.
본 발명의 다양한 실시예에서 트랜스코딩(transcoding) 방식을 이용하여 제1 전자 장치의 영상 데이터를 제3 전자 장치에 적합한 영상 데이터로 변환하기 위한 트랜스코딩 스킴 파라미터(transcoding scheme parameter)는 화질(압축률), fps(초당 프레임 수), 해상도(resize), 포커스(focus), 또는 크롭(crop)을 포함할 수 있다.
본 발명의 다양한 실시예에서 제1 전자 장치는 제2 전자 장치 또는 상기 제2 전자 장치에 제2 네트워크를 통해 연결된 제3 전자 장치의 정보(예컨대, 제3 전자 장치의 타입, 디스플레이 크기, 카메라 구비 유무, 프로세싱 파워, 지원하는 코덱, 현재 배터리 레벨, 메모리 사용량, 사용 중인 어플리케이션 개수, 또는 어플리케이션 유형), 상기 제1 전자 장치와 상기 제2 전자 장치를 연결하는 제1 네트워크(예컨대, 도 4의 제1 네트워크 411)의 정보(상태/신호 품질), 상기 제2 전자 장치와 상기 제3 전자 장치를 연결하는 제2 네트워크의 정보(상태/신호 품질)를 기반으로 인코딩하기 위한 트랜스코딩 스킴 파라미터를 결정할 수 있다.
도 10을 참조하면, 본 발명의 다양한 실시예에서 제1 전자 장치는 1001동작에서 제3 전자 장치에서 필요로 할 수 있는 영상 데이터의 최대 해상도, 최대 화질, 또는 최대 fps를 확인할 수 있다.
제1 전자 장치는 1003동작에서 네트워크 상태를 기반으로 사용 가능한 전송 속도(bit rate)를 결정할 수 있다. 상기 네트워크 상태는 제1 전자 장치와 제2 전자 장치를 연결하는 제1 네트워크 정보(상태/신호 품질), 제2 전자 장치와 제3 전자 장치를 연결하는 제2 네트워크 정보(상태/신호 품질)를 포함할 수 있다.
본 발명의 다양한 실시예에서 제1 전자 장치는 결정된 전송 속도(bit rate)에 대응하는 해상도, fps, 화질, 또는 I-frame refresh를 결정할 수 있다. 상세하게, 제1 전자 장치는 1005동작에서 전송 속도(bit rate)에 대응하는 영상 데이터의 해상도를 결정하고, 1007동작에서 상기 결정된 해상도를 기반으로 상기 영상 데이터를 resize할 수 있다. 제1 전자 장치는 1009동작에서 전송 속도(bit rate)에 대응하는 영상 데이터의 fps를 결정하고, 1011동작에서 상기 fps를 기반으로 상기 영상 데이터의 fps를 변경할 수 있다. 제1 전자 장치는 1013동작에서 전송 속도(bit rate)에 대응하는 영상 데이터의 화질(압축률)을 결정하고, 1015동작에서 상기 결정된 화질(압축률)을 기반으로 상기 영상 데이터의 압축률을 변경할 수 있다. 제1 전자 장치는 1017동작에서 전송 속도(bit rate)에 대응하는 영상 데이터의 I-frame refresh를 결정할 수 있다.
본 발명의 다양한 실시예에서 제1 전자 장치는 1019동작에서 상기 변경된 해상도, fps(초당 프레임 수), 화질, 또는 I-frame refresh를 기반으로 영상 데이터를 인코딩 할 수 있다. 제1 전자 장치는 1021동작에서 인코딩된 영상 데이터를 제1 네트워크를 통해 상기 제2 전자 장치에 전송할 수 있다.
도 11은 본 발명의 다양한 실시예에 따른 제1 전자 장치에서 수행되는 영상 인코딩 방법을 설명하기 위한 도면이다.
도 11을 참조하면, 본 발명의 다양한 실시예에서 제1 전자 장치(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 도 7의 제1 전자 장치 701, 도 8의 제1 전자 장치 801, 또는 도 9의 제1 전자 장치 901)는 네트워크 인터페이스(network interface) 1101, 영상 통화 클라이언트(video call client) 1103, 네트워크 매니저(network manager) 1105, 영상 통화 매니저(video call manager) 1107, 이미지 프로세서(image processor) 1109, 카메라 센서(camera sensor) 1111, 캡쳐 이미지 프로세싱부(captured image processing unit) 1113, 카메라 드라이버(camera driver) 1115, 인코더 드라이버(encoder driver) 1117, 인코더(encoder) 1119, 및 메모리(memory) 1121을 포함할 수 있다.
도 11을 참조하면, 본 발명의 다양한 실시예에서 1131은 제어 신호의 흐름을 나타내고, 1133은 제1 전자 장치에서 제2 전자 장치 1123(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 또는 도 9의 제2 전자 장치 903)로의 영상 통화 신호 흐름을 나타낸다.
본 발명의 다양한 실시예에서 네트워크 매니저(network manager) 1101은 연결 설정(connection establishment), 연결 모니터링(connection monitoring), 연결 조정(connection adjustments), 또는 연결 해지(connection tear down) 등의 기본적인 네트워크 연결 관리 동작을 수행할 수 있다. 또한, 상기 네트워크 매니저(network manager) 1101은 송신할 데이터를 네트워크 환경에 맞게 패킷(packet)을 생성하고, 수신한 패킷을 디패킷(de-packet)하여 원하는 신호를 복원할 수 있다. 상기 네트워크 매니저(network manager) 1101은 패킷 손실 정보(packet loss information), 라운드 트립 지연(round trip delay) 등의 피드백 데이터(feedback data)를 이용하여 네트워크 품질을 측정할 수 있으며, 상기 제3 전자 장치(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 또는 도 9의 제3 전자 장치 905)로부터 일정한 간격으로 수신하는 트레이닝 시퀀스(training sequence)를 통해 네트워크의 품질을 측정할 수 있다. 상기 측정된 네트워크 품질은 영상 통화 매니저(video call manager) 1107로 전달될 수 있다.
본 발명의 다양한 실시예에서 영상 통화 클라이언트(video call client) 1103은 영상 통화를 수행하기 위한 어플리케이션이다. 상기 영상 통화 클라이언트(video call client) 1103은 영상 통화를 위한 사용자 입력이 감지되면, 상기 사용자 입력 신호를 영상 통화 매니저(video call manager) 1107에 전달할 수 있다.
상기 영상 통화 매니저(video call manager) 1107은 영상 통화를 제어하는 모듈로, 영상 통화 서비스를 위한 네트워크 매니저(network manager) 1105, 인코더 드라이버(encoder driver) 1117 등을 제어할 수 있다. 상기 영상 통화 매니저(video call manager) 1107은 영상 통화 클라이언트(video call client) 1103으로부터 수신한 사용자 입력을 기반으로 영상 통화를 수행하기 위한 기능들을 제어할 수 있다. 상기 영상 통화 매니저(video call manager) 1105는 메모리(memory) 1121에 저장된 제3 전자 장치의 정보를 로드하여 영상 통화를 수행할 수 있다. 예컨대, 상기 영상 통화 매니저(video call manager) 1105는 메모리(memory) 1121에 저장된 제3 전자 장치의 정보 중 일부에 기반하여 영상 통화에 필요한 영상 데이터의 품질을 제어할 수 있다.
상기 영상 통화 매니저(video call manager) 1107은 제3 전자 장치와 영상 통화를 수행하기 위하여 네트워크 매니저(network manager) 1105, 메모리(memory) 1121, 영상 통화 클라이언트(video call client) 1103으로부터 획득한 상기 제3 전자 장치의 속성을 기반으로 요구 전송 속도(maximum bit rate)를 산출할 수 있다. 상기 영상 통화 매니저(video call manager) 1107은 상기 네트워크 매니저(network manager) 1105로부터 제2 네트워크(예컨대, 도 4의 제2 네트워크 413)의 네트워크 상태를 확인하고 이를 기반으로 전송 속도(bit rate)를 산출할 수 있다. 상기 영상 통화 매니저(video call manager) 1107은 상기 산출된 전송 속도(bit rate)에 대응하는 해상도, fps, 또는 화질을 결정하고, 결정된 해상도, fps, 또는 화질을 기반으로 인코더(encoder) 1119에서 영상 데이터를 인코딩하기 위한 인코딩 스킴을 결정할 수 있다.
본 발명의 다양한 실시예에서 상기 영상 통화 매니저(video call manager) 1107은 카메라 센서(camera sensor) 1111의 VBI(vertical blanking interval) 신호를 제어할 수 있다. 상기 영상 통화 매니저(video call manager) 1107은 상기 카메라 센서(camera sensor) 1111의 VBI(vertical blanking interval)를 제어하여 상기 카메라 센서(camera sensor) 1111을 통해 입력되는 영상 데이터의 프레임 드롭(frame drop)을 통해 프레임 레이트(frame rate)를 조정할 수 있다. 예컨대, 카메라 센서(camera sensor) 1111을 통해 입력되는 영상 데이터의 프레임 레이트가 30fps로 가정하면, 상기 영상 통화 매니저(video call manager) 1107은 프레임 드롭(frame drop)을 통해 상기 30fps의 프레임 레이트(frame rate)를 15fps로 조정할 수 있다.
본 발명의 다양한 실시예에서 네트워크 매니저(network manager) 1105는 버퍼를 제어하여 프레임 드롭(frame drop)으로 인코딩되는 영상 데이터의 프레임 레이트(frame rate)를 조정할 수 있다. 상기 네트워크 매니저(network manager) 1105는 전송 받은 인코딩된 영상 데이터의 프레임 드롭(frame drop)을 통해 상기 영상 데이터의 프레임 레이트(frame rate)를 조정할 수 있다. 예컨대, 네트워크 매니저(network manager) 1105는 프레임 레이트(frame rate)가 30fps인 인코딩된 영상 데이터를 수신하는 경우, 프레임 드롭(frame drop)을 통해 상기 수신한 영상 데이터의 프레임 레이트(frame rate)를 15fps로 조정할 수 있다.
본 발명의 다양한 실시예에서 카메라 센서(camera sensor) 1111은 영상 데이터를 획득하여 캡쳐 이미지 프로세싱부(captured image processing unit) 1113에 전송할 수 있다. 상기 캡쳐 이미지 프로세싱부(captured image processing unit) 1113은 상기 카메라 센서(camera sensor) 1111로부터 수신한 영상 데이터를 카메라 드라이버(camera driver) 1115를 통해 이미지 프로세서(image processor) 1109에 전송할 수 있다.
본 발명의 다양한 실시예에서 카메라 센서(camera sensor) 1111은 일정 시간 간격으로 영상 데이터를 획득하고, 일정 시간 간격으로 획득된 영상 데이터를 카메라 드라이버(camera driver) 1115를 통해 이미지 프로세서(image processor) 1109에 전송할 수 있다.
본 발명의 다양한 실시예에서 이미지 프로세서(image processor) 1109는 영상 데이터의 화질 및 크기를 조정할 수 있다. 상기 이미지 프로세서(image processor) 1109는 제3 전자 장치의 디스플레이 비율에 대응하도록 축소, 이미지의 양자화 레벨(quantization level)을 변경하여 화질을 조정, 또는 화면을 크롭(crop)하는 방법으로 상기 영상 데이터의 크기를 조정할 수 있다. 예컨대, 이미지 프로세서(image processor) 1109는 영상 데이터에서 얼굴 또는 오브젝트를 인식하여 ROI(region of interest)를 결정하고, 상기 ROI를 기반으로 제3 전자 장치의 속성에 적합하도록 영상 데이터를 크롭(crop)할 수 있다.
또 다른 실시예에 따르면, 이미지 프로세서(image processor) 1109는 상기 ROI를 기반으로, ROI 부분과 비 ROI 부분과의 인코딩 스킴을 달리할 수 있다. 이에 따라, 본 발명의 다양한 실시예들은 사용자가 관심 있는 영역(상기 ROI)을 보다 고품질의 영상으로, 관심이 적은 부분(상기 비 ROI)을 비교적 저품질의 영상으로 제공할 수도 있다. 상기 이미지 프로세서(image processor) 1109는 상기 화질 및 크기가 조정된 영상 데이터를 인코더 드라이버(encoder driver) 1117을 통해 인코더(encoder) 1119에 전송할 수 있다.
본 발명의 다양한 실시예에서 상기 인코더(encoder) 1119는 인코딩 스킴을 기반으로 상기 화질 및 크기가 조정된 영상 데이터를 인코딩하여 네트워크 매니저(network manager) 1105 및 네트워크 인터페이스(network interface) 1101을 통해 제2 전자 장치에 전송할 수 있다.
본 발명의 다양한 실시예에서 메모리(memory) 1121은 휘발성 또는 비휘발성 저장 장소를 의미하며, 하나 이상의 전자 장치 예컨대, 웨어러블 장치의 정보를 저장할 수 있다. 상기 메모리(memory) 1121은 상기 하나 이상의 전자 장치의 디스플레이 크기, 배터리 용량(레벨), 또는 전자 장치의 타입 등의 정보를 저장할 수 있다. 상기 저장된 하나 이상의 전자 장치의 정보는 영상 통화 매니저(video call manager) 1107에서 영상 통화를 제어하는 데 이용될 수 있다. 상기 전자 장치의 정보는 제1 전자 장치 또는 제2 전자 장치에 의해 수행되는 연결 가능한 장치를 찾는 디스커버리(discovery) 동작에서 획득되거나, 기 저장된 연결 정보 히스토리(history)를 통해 획득될 수 있다. 또는, 상기 전자 장치의 정보는 제품 제조 시 미리 등록된 정보일 수 있다.
도 12는 본 발명의 다양한 실시예에 따른 제3 전자 장치에서 인코딩된 영상을 재생하는 방법을 설명하기 위한 도면이다.
본 발명의 다양한 실시예에서 상기 제3 전자 장치 405는 상기 제2 전자 장치 403으로부터 수신한 인코딩된 영상 데이터를 재생할 수 있다.
도 12를 참조하면, 본 발명의 다양한 실시예에서 제3 전자 장치(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 또는 도 9의 제3 전자 장치 905)는 네트워크 인터페이스(network interface) 1201(예컨대, 도 11의 네트워크 인터페이스(network interface) 1101), 네트워크 매니저(network manager) 1203(예컨대, 도 11의 네트워크 매니저(network manager) 1105), 디코더 드라이버(decoder driver) 1205, 디코더(decoder) 1207, 영상 통화 클라이언트(video call client) 1209(예컨대, 도 11의 영상 통화 클라이언트(video call client) 1103), 및 영상 통화 매니저(video call manager) 1211(예컨대, 도 11의 영상 통화 매니저(video call manager) 1107)을 포함할 수 있다.
본 발명의 다양한 실시예에서 1221은 제어 신호의 흐름을 나타내며, 1223은 제2 전자 장치(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 도 9의 제2 전자 장치 903, 또는 도 11의 제2 전자 장치 1123)로부터 인코딩된 데이터를 수신하여 재생하는 동작의 신호 흐름을 나타낸다.
본 발명의 다양한 실시예에서 제3 전자 장치는 상기 제2 전자 장치로부터 네트워크 매니저(network manager) 1203을 통해 상기 제3 전자 장치에 최적화된 영상 데이터를 수신할 수 있다. 상기 수신한 영상 데이터는 디코더 드라이버(decoder driver) 1205 및 디코더(decoder) 1207을 통해 영상 통화 클라이언트(video call client) 1209에 전달되어 재생할 수 있다. 상기 제3 전자 장치는 네트워크 매니저(network manager) 1203을 통해 상기 제2 전자 장치의 네트워크 품질과 관련된 상태 정보, 또는 상기 제3 전자 장치의 정보를 전송할 수 있다. 본 발명의 다양한 실시예에서 상기 제3 전자 장치는 상기 제3 전자 장치 주변의 다른 전자 장치의 네트워크 품질과 관련된 상태 정보 및 상기 다른 전자 장치의 정보를 상기 제2 전자 장치로 전송할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 트랜스코딩 스킴 파라미터(transcoding scheme parameter)를 결정할 수 있다. 제3 전자 장치는 상기 결정된 파라미터(parameter)를 제1 전자 장치(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 도 7의 제1 전자 장치 701, 도 8의 제1 전자 장치 801, 또는 도 9의 제1 전자 장치 901) 또는 제2 전자 장치에 전송하며 영상 데이터의 인코딩을 요청할 수 있다. 상기 제1 전자 장치 또는 상기 제2 전자 장치는 상기 제3 전자 장치로부터 수신한 인코딩 요청에 응답하여 상기 파라미터(parameter)를 기반으로 영상 데이터를 인코딩하고, 상기 인코딩된 영상 데이터를 상기 제3 전자 장치에 전송할 수 있다.
도 13은 본 발명의 다양한 실시예에 따른 제2 전자 장치에서 수행되는 영상 인코딩 방법을 설명하기 위한 도면이다.
도 13을 참조하면, 본 발명의 다양한 실시예에서 제2 전자 장치(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 도 9의 제2 전자 장치 903, 도 11의 제2 전자 장치 1123, 또는 도 12의 제2 전자 장치 1215)는 네트워크 인터페이스(network interface) 1301(예컨대, 도 11의 네트워크 인터페이스(network interface) 1101, 또는 도 12의 네트워크 인터페이스(network interface) 1201), 네트워크 매니저(network manager) 1303(예컨대, 도 11의 네트워크 매니저(network manager) 1105, 또는 도 12의 네트워크 매니저(network manager) 1203), 트랜스코더 드라이버(transcoder driver) 1305, 인코더/디코더(encoder/decoder) 1307, 영상 통화 매니저(video call manager) 1309(예컨대, 도 11의 영상 통화 매니저(video call manager) 1107, 또는 도 12의 영상 통화 매니저(video call manager) 1211), 영상 통화 클라이언트(video call client) 1311(예컨대, 도 11의 영상 통화 클라이언트(video call client) 1103, 또는 도 12의 영상 통화 클라이언트(video call client) 1209), 및 메모리(memory) 1313(예컨대, 도 11의 메모리(memory) 1121)을 포함할 수 있다.
본 발명의 다양한 실시예에서 1321은 제어 신호 흐름을 나타내고, 1323은 제1 전자 장치 1315(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 도 7의 제1 전자 장치 701, 도 8의 제1 전자 장치 801, 또는 도 9의 제1 전자 장치 901)에서 제2 전자 장치로의 신호 흐름을 나타내고, 1325는 제2 전자 장치에서 제3 전자 장치 1317(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 또는 도 9의 제3 전자 장치 905)로의 신호 흐름을 나타낸다.
본 발명의 다양한 실시예에서 네트워크 인터페이스(network interface) 1301, 네트워크 매니저(network manager) 1303, 영상 통화 매니저(video call manager) 1309, 영상 통화 클라이언트(video call client) 1311, 메모리(memory) 1311은 각각 상기 도 11에서 전술한 네트워크 인터페이스(network interface) 1101, 네트워크 매니저(network manager) 1105, 영상 통화 클라이언트(video call client) 1103, 영상 통화 매니저(video call manager) 1107, 메모리(memory) 1121과 동일하므로 상세한 설명은 생략하기로 한다.
본 발명의 다양한 실시예에서 영상 통화 클라이언트(video call client) 1311은 영상 통화를 수행하기 위한 어플리케이션이다. 상기 영상 통화 클라이언트(video call client) 1311은 영상 통화를 수행하고자 하는 전자 장치의 선택 및 영상 데이터의 품질을 조정하는 입력을 감지할 수 있다.
본 발명의 다양한 실시예에서 네트워크 매니저(network manager) 1303은 연결 설정(connection establishment), 연결 모니터링(connection monitoring), 연결 조정(connection adjustments), 또는 연결 해지(connection tear down) 등의 기본적인 네트워크 연결 관리 동작을 수행할 수 있다. 또한, 상기 네트워크 매니저(network manager) 1303은 패킷 손실 정보(packet loss information), 라운드 트립 지연(round trip delay) 등의 피드백 데이터(feedback data)를 이용하여 네트워크 품질을 측정할 수 있으며, 상기 제3 전자 장치 1317로부터 일정한 간격으로 수신되는 트레이닝 시퀀스(training sequence)를 통해 네트워크의 품질을 측정할 수도 있다. 상기 측정된 네트워크 품질은 영상 통화 매니저(video call manager) 1311로 전달될 수 있다.
본 발명의 다양한 실시예에서 트랜스코더 드라이버(transcoder driver) 1305는 영상 통화 매니저(video call manager) 1311에서 인코딩 기준값들(encoding criterions)(예컨대, 제2 전자 장치 및 제3 전자 장치 1317의 속성 정보, 제1 네트워크(예컨대, 도 4의 제1 네트워크 411)의 상태 정보, 또는 제2 네트워크 (예컨대, 도 4의 제2 네트워크 413)의 상태 정보)에 의해 결정된 인코딩 파라미터(encoding parameter)를 이용하여 영상 데이터의 해상도, fps, 또는 화질을 결정하고, 이를 기반으로 제3 전자 장치 1317에 적합한 영상 데이터로 변환할 수 있다.
본 발명의 다양한 실시예에서 메모리(memory) 1313은 하나 이상의 전자 장치의 디스플레이 크기, 배터리 용량, 또는 전자 장치의 타입 등의 정보를 저장할 수 있다.
상기 영상 통화 매니저(video call manager) 1309는 영상 통화를 제어하는 모듈로, 영상 통화 서비스를 위한 네트워크 매니저(network manager) 1303, 인코더/디코더 드라이버(encoder/decoder driver) 1307 등을 제어할 수 있다. 상기 영상 통화 매니저(video call manager) 1311은 영상 통화 클라이언트(video call client) 1311로부터 수신한 사용자 입력을 기반으로 영상 통화를 수행하기 위한 기능들을 제어할 수 있다. 상기 영상 통화 매니저(video call manager) 1309는 상기 메모리(memory) 1313에 저장된 제3 전자 장치 1317 예컨대, 웨어러블 장치의 정보를 로드하여 영상 통화를 수행 및 영상 데이터의 품질을 제어할 수 있다.
상기 영상 통화 매니저(video call manager) 1309는 네트워크 매니저(network manager) 1303, 메모리(memory) 1313, 영상 통화 클라이언트(video call client) 1311로부터 획득한 영상 통화를 수행하기 위한 제3 전자 장치 1317의 속성을 기반으로 요구 전송 속도(maximum bit rate)를 산출할 수 있다. 상기 영상 통화 매니저(video call manager) 1309는 상기 네트워크 매니저(network manager) 1303로부터 제3 전자 장치 1317과 상기 제2 전자 장치를 연결하는 제2 네트워크의 품질 상태를 평가하여 지원 가능한 전송 속도(bit rate)를 산출할 수 있다. 상기 영상 통화 매니저(video call manager) 1309는 상기 산출된 전송 속도(bit rate)에 대응하는 해상도, fps, 또는 화질을 결정하고, 결정된 해상도, fps, 또는 화질을 기반으로 영상 데이터를 인코딩하기 위한 인코딩 스킴을 결정할 수 있다.
본 발명의 다양한 실시예에서 영상 통화 매니저(video call manager) 1309는 트랜스코더 드라이버(transcoder drive) 1305 내의 이미지 프로세서(image processor) 모듈을 통해 영상 데이터의 화질 및 크기를 조정할 수 있다. 상기 이미지 프로세서(image processor)는 영상 데이터의 화면을 일정 비율로 축소하거나, 양자화 레벨(quantization level)을 변경하여 화질을 조정할 수 있다. 또는, 상기 이미지 프로세서(image processor)는 영상 데이터의 화면을 크롭(crop)하여 크기를 조정, 얼굴 또는 오브젝트를 인식하여 ROI(region of interest)를 설정하고, 상기 설정된 ROI를 중심으로 제3 전자 장치 1317의 속성 예컨대, 디스플레이 크기에 맞추어 크롭(crop)할 수 있다.
예컨대, 제1 전자 장치 1315의 터치스크린은 가로보다 세로가 긴 형태이고, 제3 전자 장치 1317의 터치스크린은 가로 및 세로가 동일한 정사각형 형태로 가정하여 설명하면, 제1 전자 장치 1315의 이미지 프로세서(image processor)는 가로보다 세로가 긴 형태의 영상 데이터에서 ROI(예컨대, 얼굴)를 설정하고, 상기 설정된 ROI를 중심으로 영상 데이터를 크롭(crop)하여 제3 전자 장치 1317에 전송할 수 있다. 상기 영상 데이터에서 ROI를 찾을 수 없거나, ROI를 추적할 수 없는 경우 제2 전자 장치는 중앙부를 중심으로 크롭(crop)하여 제3 전자 장치 1317에 전송하거나 또는 크롭(crop) 없이 제3 전자 장치 1317에 전송할 수 있다.
본 발명의 다양한 실시예에서 상기 ROI는 사각형, 또는 원형 등의 툴(tool), 폐곡선, 터치 입력, 또는 상기 터치 입력 시간을 기반으로 설정될 수 있다.
본 발명의 다양한 실시예에서 제2 전자 장치는 상기 설정된 ROI를 차등화된 품질을 인코딩할 수 있다. 예컨대, 사용자의 얼굴이 ROI로 설정된 경우 제2 전자 장치의 이미지 프로세서(image processor)는 얼굴 및 주변부에 대하여 양자화 레벨(quantization level)을 조정하여 고화질의 영상 데이터를 생성하고, ROI가 아닌 부분은 저화질의 영상 데이터를 생성할 수 있다.
본 발명의 다양한 실시예에서 제2 전자 장치는 상기 제3 전자 장치 1317에 의해 선택된 ROI를 수신할 수 있다.
본 발명의 다양한 실시예에서 상기 ROI는 적어도 한 개 이상 설정될 수 있으며, 영상 통화 중 변경될 수 있다.
도 14a는 본 발명의 다양한 실시예에 따른 제2 전자 장치에서 수행되는 영상 인코딩 방법을 설명하기 위한 도면이다.
본 발명의 다양한 실시예에서 제2 전자 장치(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 도 9의 제2 전자 장치 903, 도 11의 제2 전자 장치 1123, 또는 도 12의 제2 전자 장치 1215 )는 제1 전자 장치 1401(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 도 7의 제1 전자 장치 701, 도 8의 제1 전자 장치 801, 또는 도 9의 제1 전자 장치 901)로부터 수신한 영상 데이터 예컨대, 비디오 스트림(video stream)을 연속적인 오디오 신호와 비연속적인 정지 영상으로 변환하여 제3 전자 장치 1413(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 또는 도 9의 제3 전자 장치 905)에 전송할 수 있다. 예컨대, 제3 전자 장치 1413은 상기 제2 전자 장치로부터 수신한 오디오 신호는 연속적으로 출력하고, 영상 신호는 상기 오디오 신호와 비동기적으로 출력할 수 있다. 예컨대, 상기 제2 전자 장치와 상기 제3 전자 장치 1413을 연결하는 제2 네트워크(예컨대, 도 4의 제2 네트워크 413)의 상태가 매우 열악한 상황이거나 제3 전자 장치 1413의 배터리 레벨이 매우 낮은 경우, 상기 제3 전자 장치 1413은 오디오 신호를 연속적으로 출력하고, 영상 신호를 상기 오디오 신호와 비동기적으로 출력하여 최소의 리소스를 통해 영상 통화 서비스를 유지하도록 제공할 수 있다.
도 14a를 참조하면, 본 발명의 다양한 실시예에서1421은 제어 신호의 흐름을 나타내고, 1423은 제1 전자 장치 1401에서 제2 전자 장치로의 영상 통화 신호 흐름을 나타내며, 1425는 제2 전자 장치에서 제3 전자 장치 1413으로 인코딩된 영상 데이터를 전송하는 신호 흐름을 나타낸다.
본 발명의 다양한 실시예에서 인코딩 동작 이후 디코더(decoder) 1407은 포스트 프로세스(post process) 1406에 의해 영상 데이터 가공 동작이 추가 수행될 수 있다. 예컨대, 본 발명의 다양한 실시예에서 상기 포스트 프로세스(post process) 1406은 디코더(decoder) 1407에 의해 디코딩(decoding)된 영상 데이터를 기반으로 정지 영상을 생성할 수 있다. 상기 디코더(decoder) 1407은 디코더 드라이버(decoder driver) 1405로부터 수신한 영상 데이터를 음성 신호와 영상 신호로 분리하여 디코딩 할 수 있다. 상기 디코더(decoder) 1407은 디코딩된 음성 신호를 네트워크 매니저(network manager) 1403을 통해 분리된 채널로 제3 전자 장치 1413에 전달할 수 있다. 상기 디코더(decoder) 1407은 디코딩된 영상 신호를 상기 포스트 프로세스(post process) 1406에 전달할 수 있다. 상기 포스트 프로세스(post process) 1406은 상기 영상 신호를 정지 영상으로 변환하고, 변환된 정지 영상을 디코더 드라이버(decoder driver) 1405, 네트워크 매니저(network manager) 1403(예컨대, 도 11의 네트워크 매니저(network manager) 1105, 도 12의 네트워크 매니저(network manager) 1203, 또는 도 13의 네트워크 매니저(network manager) 1303)을 통해 제3 전자 장치 1413에 전달할 수 있다.
상기 포스트 프로세스(post process) 1406에 관하여 후술하는 도 14b를 참조하여 상세히 설명하도록 한다.
도 14b는 본 발명의 다양한 실시예에 따른 포스트 프로세스(post process)를 설명하기 위한 도면이다.
도 14b를 참조하면, 본 발명의 다양한 실시예에서 포스트 프로세스(post process) 1406은 I-frame(intra-frame) 추출부 1415, 비교부 1417, 및 이미지 생성부 1419를 포함할 수 있다.
본 발명의 다양한 실시예에서 1421은 제어 신호의 흐름을 나타내고, 1423은 제1 전자 장치(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 도 7의 제1 전자 장치 701, 도 8의 제1 전자 장치 801, 도 9의 제1 전자 장치 901, 또는 도 14a의 제1 전자 장치 1401)에서 제2 전자 장치(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 도 9의 제2 전자 장치 903, 도 11의 제2 전자 장치 1123, 또는 도 12의 제2 전자 장치 1215)로의 영상 통화 신호 흐름을 나타내며, 1425는 제2 전자 장치에서 제3 전자 장치(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 도 9의 제3 전자 장치 905, 또는 도 14a의 제3 전자 장치 1413)로 인코딩된 영상 데이터를 전송하는 신호 흐름을 나타낸다.
본 발명의 다양한 실시예에서 상기 I-frame 추출부 1415, 비교부 1417, 이미지 생성부 1419 각각은 영상 통화 매니저(video call manager) 1409와 제어 신호를 송수신할 수 있다. 상기 I-frame 추출부 1415는 디코더(decoder) 1407에 의해 디코딩된 영상 데이터를 수신하고, 수신된 영상 데이터에서 I-frame을 추출하여 비교부 1417에 전달할 수 있다.
상기 비교부 1417은 이전의 I-frame예컨대, 제1 I-frame과 현재의 I-framed 예컨대, 제2 I-frame의 유사도를 비교할 수 있다. 상기 비교부 1417은 영상 통화 매니저(video call manager) 1409로부터 수신한 기준값을 기준으로 유사도를 결정할 수 있으며, 이를 통해 상기 영상 데이터를 기반으로 생성할 이미지의 개수를 조정할 수 있다. 예컨대, 상기 비교부 1417은 유사도가 기준값을 초과하는 것으로 결정되면, 제2 I-frame을 이미지 생성부 1419에 전달할 수 있다. 상기 이미지 생성부 1419는 상기 비교부 1417로부터 수신한 제2 I-frame을 기반으로 정지 영상을 생성할 수 있다. 상기 이미지 생성부 1419는 상기 생성된 정지 영상을 네트워크 매니저(network manager) 1403을 통해 제3 전자 장치로 전송할 수 있다.
도 15는 본 발명의 다양한 실시예에 따른 제2 전자 장치에서 수행되는 영상 인코딩 방법을 설명하기 위한 도면이다.
도 15를 참조하면, 본 발명의 다양한 실시예에서 1551은 제어 신호의 흐름을 나타내고, 1553은 제1 전자 장치(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 도 7의 제1 전자 장치 701, 도 8의 제1 전자 장치 801, 도 9의 제1 전자 장치 901, 또는 도 14a의 제1 전자 장치 1401)에서 제2 전자 장치(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 도 9의 제2 전자 장치 903, 도 11의 제2 전자 장치 1123, 또는 도 12의 제2 전자 장치 1215) 로의 영상 통화 신호 흐름을 나타내며, 1555는 제2 전자 장치에서 제3 전자 장치 1505(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 도 9의 제3 전자 장치 905, 또는 도 14a의 제3 전자 장치 1413)로 인코딩된 영상 데이터를 전송하는 신호 흐름을 나타낸 것이다.
본 발명의 다양한 실시예에서 제2 전자 장치는 정지 영상을 생성하는 방법에 있어서 제1 전자 장치로부터 제1 네트워크 1523(예컨대, 도 4의 제1 네트워크 411)을 통해 입력되는 영상 1521을 디코더(decoder) 1507(예컨대, 도 14a 또는 도 14b의 디코더 1407)을 통해 디코딩 할 수 있다. 포스트 프로세스(post process) 1506(예컨대, 도 14a 또는 도 14b의 포스트 프로세스(post process) 1406)은 상기 디코더(decoder) 1507로부터 디코딩된 영상 데이터를 수신할 수 있다. 상기 수신된 영상 데이터는 포스트 프로세스(post processing) 1506의 I-frame 추출기 1515(예컨대, 도 14b의 I-frame 추출부1415)을 통해 I-frame을 추출하여 비교부 1517(예컨대, 도 14b의 비교부 1417)에 전달할 수 있다. 상기 비교부 1517은 영상 통화 매니저(video call manager)로부터 수신한 기준값(criterions) 1535를 기준으로 이전의 I-frame 예컨대, 제1 I-frame과 현재의 I-frame 예컨대, 제2 I-frame을 비교하여 유사도를 결정할 수 있다. 예컨대, 상기 비교부 1517은 유사도가 기준값 1535를 초과(예컨대, 영상의 변위가 클 경우)하는 것으로 결정되면, 상기 제2 I-frame을 이미지 생성부 1519(예컨대, 도 14b의 이미지 생성부 1419)에 전달할 수 있다.
본 발명의 다양한 실시예에서 제2 전자 장치의 비교부 1517은 제3 전자 장치 1505로부터 제2 네트워크 1531(예컨대, 도 4의 제2 네트워크 413)을 통해 상기 제3 전자 장치 1505의 정보(예컨대, 상기 제3 전자 장치 1505의 타입 정보, 디스플레이 크기, 프로세싱 파워, 최대 해상도, 현재 배터리 레벨(용량), 메모리 사용량, 카메라 구비 유무, 영상 통화 화면의 크기(windows size; 멀티윈도우로 영상 통화하는 경우 또는 전체 화면으로 영상 통화하는 경우에 따른 해상도 차이), 지원 코덱, 사용 중인 어플리케이션 개수, 또는 어플리케이션 유형 등), 상기 제2 전자 장치와 상기 제3 전자 장치 1505를 연결하는 네트워크 예컨대, 제2 네트워크 1531의 상태 정보(예컨대, 신호 품질)를 기반으로 정지 영상 획득 주기를 조정할 수 있다. 예컨대, 제2 전자 장치는 상기 제2 네트워크 1531의 상태가 영상 통화를 수행하기에 양호하고, 배터리 상태가 충분하다면 정지 영상 획득 주기를 1초에 한번으로 설정할 수 있으며, 상기 제2 네트워크 1531의 상태가 영상 통화를 수행하기에 양호하고, 배터리 상태가 충분하지 않다면 정지 영상 획득 주기를 3초에 한번으로 설정할 수 있으며, 상기 제2 네트워크 1531의 상태가 영상 통화를 수행하기에 열악하고, 배터리 상태가 충분하지 않다면 정지 영상 획득 주기를 5초에 한번으로 설정할 수 있다. 전술한 제2 네트워크 1531 상태 및 배터리 상태를 기반으로 설정된 정지 영상 획득 주기를 나타내는 수치는 하나의 실시예일뿐 이에 한정하는 것은 아니다.
본 발명의 다양한 실시예에서 상기 이미지 생성부 1519는 상기 비교부 1517로부터 수신한 제2 I-frame을 기반으로 정지 영상을 생성할 수 있다.
본 발명의 다양한 실시예에서 상기 I-frame은 이미지 생성부 1519로 전달되기 전에 버퍼에 저장될 수 있다. 각 I-frame은 숫자, 기호, 또는 문자를 이용한 인식 코드가 부여되어 상기 버퍼에 저장될 수 있다. 상기 인식 코드는 시간 정보, 시퀀스 정보, 통화 참여자의 계정 정보, 또는 서비스를 제공하는 단말의 정보(예컨대, 단말 이름 또는 맥 어드레스(mac address))를 기반으로 부여될 수 있다. 제2 전자 장치는 제3 전자 장치 1505로부터 표시되는 영상 데이터를 캡쳐 또는 저장 요청을 수신하면 상기 캡쳐 또는 저장 요청에 해당하는 영상 데이터를 상기 부여된 I-frame의 인식 코드를 이용하여 버퍼에서 해당 I-frame의 인코딩하기 전 고해상도 이미지를 검색하여 고해상도 영상으로 저장할 수 있다. 상기 고해상도 영상은 제2 전자 장치 또는 제3 전자 장치 1505에 저장될 수 있다. 상기 버퍼는 circular 형태의 버퍼일 수 있다.
상기 이미지 생성부 1519는 상기 생성된 정지 영상을 네트워크 매니저 예컨대, BT modem 1533을 통해 제3 전자 장치 1505로 전송할 수 있다.
본 발명의 다양한 실시예에서 I-frame을 비교하여 정지 영상을 생성하는 방법을 설명하였지만 이에 한정하는 것은 아니며, 방향(움직임) 벡터(vector) 변화량, 키 프레임(key frame) 변화량, 영상의 도미넌트 컬러(dominant color) 변화량, 특정 시간 간격, 또는 랜덤 시간 간격마다 정지 영상을 생성할 수 있다.
본 발명의 다양한 실시예들은 실제적인 영상 데이터의 내용 변화를 이미지 생성의 트리거 포인트(trigger point)로 사용할 수 있다. 예컨대, 제2 전자 장치의 이미지 생성부 1519는 영상 데이터의 특정 영역 변경 예컨대, 자막의 생성, 변경 또는 등장 인물의 표정 변화 또는 등장 인물의 수 변화가 감지되면 트리거 포인트(tigger point)로 인식하고 정지 영상을 생성할 수 있다. 제2 전자 장치의 이미지 생성부 1519는 특정 영상이 나타나는 경우 또는 영상의 특정 영역이 변경되는 경우 정지 영상을 생성할 수 있다. 예컨대, 야구중계방송에서 TV 화면의 일정한 영역에 디스플레이되는 점수 정보 화면이 나타날 때마다 제2 전자 장치의 이미지 생성부 1519는 정지 영상을 획득할 수 있다. 또는, 제2 전자 장치의 비교부 1517을 통해 점수 정보의 변경이 있음을 인식하면, 이미지 생성부 1519는 정지 영상을 획득할 수 있다.
본 발명의 다양한 실시예에서 제2 전자 장치의 이미지 생성부1519는 상기 제3 전자 장치 1505의 정보 및 제2 네트워크 1531의 정보를 기반으로 정지 영상의 화질 또는 크기 중 적어도 하나를 결정할 수 있다. 예컨대, 제3 전자 장치 1505의 디스플레이가 작은 경우 입력 영상의 크기에 관계없이 디스플레이 창에 적합한 창으로 이미지의 크기를 변경하거나, 양자화 레벨(quantization level)을 조정하여 정지 영상의 화질을 낮출 수 있다.
본 발명의 다양한 실시예에서 제2 전자 장치는 생성된 정지 영상 1541을 BT modem 1533의 SPP(serial port profile) 1543을 통해 제3전자 장치 1505에 전달할 수 있으며, 오디오 신호 1545를 BT modem 1533의 HFP(hands free profile) 1547을 통해 상기 제3 전자 장치 1505에 실시간으로 전달할 수 있다.
본 발명의 다양한 실시예에서 상기 SPP 1543과 HFP 1547은 각기 다른 전자 장치에 연결될 수 있다. 예컨대, 상기 SPP 1543을 통해 전달되는 정지 영상 1541은 제3 전자 장치 1505에 연결되어 재생될 수 있으며, HFP 1547을 통해 전달되는 오디오 신호 1545는 블루투스 헤드셋(BT headset)과 같은 청각 장치 또는 외부 스피커에 연결되어 재생될 수 있다.
본 발명의 다양한 실시예에서 전술한 바와 같이 영상과 음성을 각기 다른 방법으로 제3 전자 장치 1505에 전달하는 것으로 가정하여 설명하였지만 이에 한정하는 것은 아니며 영상과 음성을 하나의 파일로 인코딩하여 전달할 수 있다. 예컨대, 이미지 파일에 음성 신호를 암호화(encryption)하거나 음성 신호에 이미지 파일을 암호화(encryption)하여 블루투스의 SPP를 통해 제3 전자 장치 1505에 전달할 수 있다.
본 발명의 다양한 실시예에서 전술한 영상 통화를 수행하기 위해 필요한 영상 데이터와 음성 신호는 상황에 따라 선택적으로 재생할 수 있다. 예컨대, 전자 장치의 상태 정보와 네트워크 상태 정보를 기반으로 영상 데이터 및 음성 데이터를 재생하거나, 음성 데이터만을 재생할 수 있다. 전술한 네트워크 상태 정보를 기반으로 영상 데이터와 음성 데이터를 선택적으로 재생하는 구성에 관하여 하기에서 상세히 설명하도록 한다.
본 발명의 다양한 실시예에서 제1 네트워크(예컨대, 도 4의 제1 네트워크 411, 또는 도 15의 제1 네트워크 1523), 또는 제2 네트워크(예컨대, 도 4의 제2 네트워크 413, 또는 도 15의 제2 네트워크 1531)의 상태가 영상 통화를 수행하기에 양호하고 제3 전자 장치(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 도 9의 제3 전자 장치 905, 도 14a의 제3 전자 장치 1413, 또는 도 15의 제3 전자 장치 1505)의 배터리가 충분하다면, 제2 전자 장치(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 도 9의 제2 전자 장치 903, 도 11의 제2 전자 장치 1123, 또는 도 12의 제2 전자 장치 1215)는 영상 통화를 수행하기 위한 영상 데이터를 네트워크 상태에 적합한 트랜스코딩 스킴 파라미터(transcoding scheme parameter)로 조정하여 트랜스코딩(transcoding) 방식으로 인코딩 할 수 있다. 다시 말해, 제2 전자 장치는 해상도, fps, 또는 화질을 조정하여 저속의 전송 속도에서도 영상 통화가 가능한 영상 데이터를 생성하여 제3 전자 장치에 전송할 수 있다.
본 발명의 다양한 실시예에서 제1 네트워크 또는 제2 네트워크의 상태가 악화되면, 제2 전자 장치는 제3 전자 장치에 오디오 신호를 실시간으로 전송하고, 영상 데이터가 아닌 정지 영상을 일정 간격(예컨대, 네트워크 상태를 기반으로 전송 주기 결정)으로 전송할 수 있다. 이에 따라, 사용자는 제한적인 영상 통화를 수행할 수 있다.
본 발명의 다양한 실시예에서 제1 네트워크 또는 제2 네트워크의 상태가 더욱 악화되면, 제2 전자 장치는 제3 전자 장치에 영상 데이터는 전송하지 않고 오디오 신호만을 전송하여 음성 통화를 수행할 수 있다.
본 발명의 다양한 실시예에서 제1 네트워크 또는 제2 네트워크의 상태가 최악의 상태 또는 제2 전자 장치와 제3 전자 장치의 거리가 기준치를 넘어서는 경우, 제2 전자 장치는 제3 전자 장치를 통해 영상 통화 서비스를 제공하지 못하는 것으로 결정하고, 상기 제2 전자 장치 또는 다른 전자 장치로 영상 통화를 전환하거나 종료하도록 제어할 수 있다.
또 다른 실시예에서 제2 전자 장치는 제3 전자 장치를 통해 영상 통화를 수행하는 중에 상기 제3 전자 장치의 이동을 감지할 수 있다. 상기 제3 전자 장치는 이동 방향과 위치 변화를 기반으로 상기 제2 전자 장치와의 네트워크 품질을 예측하여 알림을 제공할 수 있다. 예컨대, 제3 전자 장치는 상기 제2 전자 장치와의 거리가 점점 멀어짐에 따라 상기 네트워크 품질이 떨어짐을 감지하면, 영상 통화 품질의 열화 정보를 진동, 메시지 등의 알림을 출력할 수 있다.
도 16은 본 발명의 다양한 실시예에 따른 제3 전자 장치에서 영상 데이터를 재생하는 방법을 설명하기 위한 도면이다.
본 발명의 다양한 실시예에서 제3 전자 장치(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 도 9의 제3 전자 장치 905, 도 14a의 제3 전자 장치 1413, 또는 도 15의 제3 전자 장치 1505)는 상기 제3 전자 장치의 움직임이 감지되면, 상기 움직임에 따라 영상 통화 서비스를 제어할 수 있다.
도 16을 참조하면, 제3 전자 장치는 1601동작에서 영상 통화를 수행할 수 있다. 제3 전자 장치는 1603동작에서 상기 제3 전자 장치의 움직임이 감지되는지 여부를 결정할 수 있다.
상기 제3 전자 장치의 움직임이 감지되면, 제3 전자 장치는 1605동작에서 센서부를 통해 상기 제3 전자 장치의 움직임에 대한 센서 정보를 수집하고, 1607동작에서 수집된 센서 정보를 기반으로 영상 데이터 및 오디오 신호를 선택적으로 재생할 수 있다.
예컨대, 제3 전자 장치는 지자계 센서를 이용하여 상기 제3 전자 장치의 헤드 방향의 움직임 각도를 측정할 수 있다. 또한, 제3 전자 장치는 가속도 센서 및 자이로 센서를 이용하여 상기 제3 전자 장치의 움직임을 감지할 수 있다. 상기 지자계 센서, 가속도 센서 또는 자이로 센서를 통해 상기 제3 전자 장치의 움직임에 따른 센서 정보를 수집할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치를 와치로 가정하여 설명하면, 제3 전자 장치는 상기 제3 전자 장치를 착용한 손의 움직임(예컨대, 지자계 센서를 통해 제3 전자 장치의 헤드 방향의 움직임 각도 측정)에 따라 영상 데이터의 재생을 제어할 수 있다. 예컨대, 사용자가 손을 내린 상태인 경우(예컨대, 제3 전자 장치의 헤드 방향의 움직임이 0도에서 90도로 변경되는 경우), 제3 전자 장치는 사용자가 영상 통화의 영상을 보고 있지 않은 상태로 결정하고 음성만으로 통화를 수행하는 것으로 결정할 수 있다. 사용자가 손을 올린 상태인 경우(예컨대, 제3 전자 장치의 헤드 방향이 90도에서 0도로 변경되는 경우) 제3 전자 장치는 사용자가 영상 통화의 영상을 보고 있는 상태로 결정하고 영상 및 음성으로 통화를 수행하는 것으로 결정할 수 있다. 다시 말해, 본 발명의 다양한 실시 예에서 제3 전자 장치는 상기 수집된 센서 정보를 분석하여 상기 전자 장치의 움직임이 기 설정된 범위 내에 포함되는 경우 오디오를 재생하며 영상 데이터를 메모리에 저장하고, 상기 전자 장치의 움직임이 기 설정된 범위 내에 포함되지 않는 경우 상기 메모리에 저장된 비디오 스트림을 재생할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치가 카메라와 같은 영상 입력 장치를 구비하는 경우 센서를 통해 사용자의 시선 정보 획득하여 화면 응시 여부 결정하고, 이를 기반으로 영상 데이터의 재생을 제어할 수 있다. 또는, 제3 전자 장치는 사용자의 안면 인식, 얼굴 인식, 또는 눈동자 인식 중 적어도 하나를 통해 사용자의 화면 응시 여부를 결정할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 음성만으로 통화를 수행하는 것으로 결정하는 경우, 영상 데이터에 대한 업데이트를 수행하지 않고 해당 영상 데이터를 임시 버퍼에 저장할 수 있으며, 음성만을 수신할 수 있다.
제3 전자 장치는 상기 카메라를 통해 안면 인식, 얼굴 인식, 또는 눈동자 인식 중 적어도 하나를 인식하는 경우, 버퍼에 저장된 영상을 빠른 속도의 슬라이드로 재생할 수 있다. 이에 따라, 사용자는 업데이트된 이미지를 놓치지 않고 확인할 수 있다.
본 발명의 다양한 실시예에서 상기 슬라이드의 재생 속도는 재생해야 할 이미지의 개수에 의해 결정될 수 있다. 예컨대, 특정 시간으로 슬라이드 재생 시간이 결정되면 30장을 재생해야 하는 경우와 10장을 재생해야 하는 경우의 재생 속도를 상이하게 설정할 수 있다. 또는, 재생해야 하는 이미지의 개수에 따라 재생 요구 시간은 상이하게 설정될 수 있다. 이에 따라, 본 발명의 다양한 실시예는 이미지를 재생하는데 있어서 빠르게 재생되거나 느리게 재생되는 것을 방지할 수 있다.
본 발명의 다양한 실시예에서 상기 표시되는 영상 데이터를 압축하여 저장할 수 있다. 예컨대, 사용자의 안면 인식, 얼굴 인식, 또는 눈동자 인식 중 적어도 하나가 인식되지 않으면, 제3 전자 장치는 사용자가 화면을 응시하지 않는 것으로 결정하고, 상기 응시하지 않을 때의 영상 데이터를 저장할 수 있다.
본 발명의 다양한 실시예에서 상기 카메라를 통해 안면 인식, 얼굴 인식, 또는 눈동자 인식 중 적어도 하나가 인식되는 경우, 제3 전자 장치는 상기 압축되어 저장된 영상 데이터를 재생할 수 있다.
본 발명의 다양한 실시예에서 카메라를 통해 안면 인식, 얼굴 인식, 또는 눈동자 인식 중 적어도 하나가 인식되지 않는 경우 제3 전자 장치는 상기 영상 데이터에서 키 프레임(key frame)을 추출하여 이미지를 생성하여 저장할 수 있다. 상기 카메라를 통해 안면 인식, 얼굴 인식, 또는 눈동자 인식 중 적어도 하나가 인식되는 경우 제3 전자 장치는 상기 저장된 이미지들을 슬라이드로 재생할 수 있다.
도 17a 및 도 17b는 본 발명의 다양한 실시예에 따른 제2 전자 장치에서 수행되는 영상 인코딩 방법을 설명하기 위한 도면이다.
본 발명의 다양한 실시예에서 제2 전자 장치 1703 (예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 도 9의 제2 전자 장치 903, 도 11의 제2 전자 장치 1123, 또는 도 12의 제2 전자 장치 1215)은 스케일러블 인코딩(scalable encoding(spatial and time domain)) 방식을 이용하여 영상 데이터를 인코딩 할 수 있다. 상기 scalable encoding은 입력 영상 스트림을 2개 이상의 계층화된(hierarchical) 구조의 영상 스트림으로 구분하여 인코딩하는 것을 의미한다. 상기 scalable encoding은 비디오 시퀀스를 여러 계층으로 예컨대, 기본 계층(base layer)와 하나 이상의 향상 계층(enhanced layer)으로 압축할 수 있다. 상기 base layer는 독립적으로 디코딩이 가능한 비트 스트림으로 최소 품질의 영상을 복원하기 위한 정보를 포함할 수 있으며, 상기 enhanced layer는 base layer 비트 스트림을 개선하기 위한 추가 비트 스트림이며 상기 base layer에 덧붙여서 디코딩될 수 있다. 이에 따라 상기 scalable encoding은 여러 개의 비디오 계층을 하나의 비트 스트림으로 인코딩 할 수 있다. 다시 말해, 상기 계층화된 스트림은 base layer만으로 재생이 가능하고, 상기 base layer와 다른 enhanced layer를 합하여 재생하는 경우 사용하는 enhanced layer의 개수에 따라 계층적으로 고품질의 영상을 획득할 수 있다.
본 발명의 다양한 실시예에서 제2 전자 장치 1703은 제1 전자 장치 1701(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 도 7의 제1 전자 장치 701, 도 8의 제1 전자 장치 801, 도 9의 제1 전자 장치 901, 또는 도 14a의 제1 전자 장치 1401)로부터 scalable encoding된 신호의 모든 layer를 수신할 수 있다. 상기 제2 전자 장치 1703은 상기 수신한 모든 layer에서 base layer만을 제3 전자 장치 1705(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 도 9의 제3 전자 장치 905, 도 14a의 제3 전자 장치 1413, 또는 도 15의 제3 전자 장치 1505)로 전송할 수 있다. 또는, 상기 제2 전자 장치 1703은 상기 제3 전자 장치 1705의 기본 정보, 현재 상태 정보, 또는 상기 제2 전자 장치 1703과 제3 전자 장치 1705간의 제2 네트워크 (예컨대, 도 4의 제2 네트워크 413, 또는 도 15의 제2 네트워크 1531) 상태 정보를 기반으로 base layer에 덧붙여서 전송할 enhanced layer를 결정하고, 상기 base layer와 상기 결정된 enhanced layer를 제3 전자 장치 1705로 전송할 수 있다.
본 발명의 다양한 실시예에서 제1 전자 장치 1701은 scalable encoding 방식으로 인코딩하여 제2 전자 장치 1703으로 전송하는 경우 상기 제2 전자 장치 1703은 제3 전자 장치 1705의 기본 정보(예컨대, 상기 제3 전자 장치 1705의 타입, 제3 전자 장치 1705의 디스플레이 크기, 형태(예컨대, 원형, 직사각형, 또는 정사각형), 배터리 용량, 디스플레이 해상도, CPU 파워), 현재 상태 정보, 또는 상기 제2 전자 장치 1703과 제3 전자 장치 1705 간의 제2 네트워크(예컨대, 도 4의 제2 네트워크 413, 도 15의 제2 네트워크 1531) 상태 정보를 기반으로 상기 제3 전자 장치 1705에 전송할 enhanced layer를 결정할 수 있다.다시 말해, 본 발명의 다양한 실시예에서 제2 전자 장치 1703은 현재 영상 통화를 연결하고자 하는 제3 전자 장치 1705의 상태를 고려하여 제1 전자 장치 1701로부터 수신한 base layer, 또는 상기 base layer와 적어도 하나의 enhanced layer를 조합하여 상기 제3 전자 장치 1705로 전송할 수 있다.
본 발명의 다양한 실시예에서 상기 제2 전자 장치 1703의 정보는 사용자 계정 연동 서버에 등록되어 있을 수 있다. 또는,발신이 이루어지는 동작에서 제1 전자 장치 1701은 상기 제2 전자 장치 1703으로부터 획득할 수 있다. 예컨대, 사용자 계정 연동 서버는 사용자 계정(예컨대, ID)을 기반으로 사용자의 전자 장치와 상기 전자 장치에 대한 정보(예컨대, 상태 정보)를 관리할 수 있다. 이에 따라, 상기 사용자 계정 연동 서버는 영상 통화 서비스를 수행하고자 하는 전자 장치(예컨대, 제1 전자 장치)에 영상 통화를 수행할 수 있도록 상기 전자 장치에 대한 정보를 제공할 수 있다.
예컨대, 도 17a에 도시된 바와 같이 제2 전자 장치 1703에 블루투스를 통해 제3 전자 장치 1705 예컨대, 2인치 화면을 가지는 와치와 도 17b에 도시된 바와 같이 7인치 화면을 가지는 카킷(carkit)이 연결되어 있는 상태이고, 이러한 정보가 사용자의 디바이스 사용 정보로서 사용자 계정 연동 서버에 업데이트되어 있다고 가정하여 설명한다.
본 발명의 다양한 실시예에서 제1 전자 장치 1701은 상기 사용자 계정 연동 서버에 저장된 디바이스 정보를 기반으로 영상 데이터를 인코딩 하는 방식 예컨대, scalable encoding 방식을 결정할 수 있다.
예컨대, 본 발명의 다양한 실시예에서 사용자는 전자 장치와 함께 상기 전자 장치에 연결된 와치 및 카킷(또는, 카 엔터테인먼트 시스템(car entertainment system), 카 컨트롤 시스템(car control system))을 사용 중인 전자 장치로 설정하고, 상기 와치 및 카킷을 사용자 계정 연동 서버에 등록할 수 있다. 상기 사용자 계정 연동 서버는 등록된 전자 장치 예컨대, 와치 및 카킷을 모니터링할 수 있으며, 모니터링하는 중에 사용자가 차량의 상태 정보가 변경(예컨대, 상기 차량이 사용 중인 경우)되는 경우 이를 감지하고, 상기 차량의 상태 정보를 업데이트할 수 있다.
본 발명의 다양한 실시예에서 제1 전자 장치 1701은 제2 전자 장치 1703에 제2 네트워크를 통해 연결된 제3 전자 장치 1705로 전송하는 enhanced layer는 시간(time)과 공간(spatial) 요구 조건에 따라 다양하게 구성될 수 있다. 제1 전자 장치 1701은 시간 해상도(temporal resolution)(7.5fps, 15fps, 또는 30fps)와 공간 해상도(spatial resolution)(QCIF, CIF, 또는 QVGA)을 고려하여 base layer와 enhanced layer를 생성할 수 있다.
예컨대, 사용자 계정 연동 서버에 와치 및 카킷의 정보가 저장되어 있으므로, 상기 제1 전자 장치 1701은 상기 와치 또는 상기 카킷 중 적어도 하나의 전자 장치와 영상 통화를 수행할 수 있다. 제1 전자 장치 1701은 이를 고려하여 상기 와치 및 카킷에 대한 영상 데이터를 인코딩 할 수 있다. 예컨대, 제1 전자 장치 1701은 base layer 1711을 기초로 하고, enhanced layer #1 1713으로 예컨대, 와치를 위한 저품질 인코딩, enhanced layer #2 1715로 예컨대, 와치를 위한 고품질 인코딩, enhanced layer #3 1717로 예컨대, 카킷을 위한 저품질 인코딩, enhanced layer #4 1719로 예컨대, 카킷을 위한 고품질 인코딩 등을 수행하고, 제2 전자 장치 1703에 전송할 수 있다.
예컨대, 도 17a에 도시된 바와 같이 제3 전자 장치 1705 예컨대, 와치를 이용하여 영상 통화를 수신하는 경우, 제2 전자 장치 1703은 제2 네트워크의 상태 정보, 와치의 메모리 사용량, 또는 배터리 레벨 등의 상기 와치의 현재 정보에 따라 상기 와치로 base layer 1711만을 전송하거나, 상기 base layer 1711과 와치를 위한 저품질 인코딩에 해당하는 enhanced layer #1 1713을 상기 제3 전자 장치 1705에 전송할 수 있다.
본 발명의 다양한 실시예에서 도 17b에 도시된 바와 같이 제3 전자 장치 1705 예컨대, 카킷를 이용하여 영상 통화를 수신하는 경우 제2 전자 장치 1703은 제2 네트워크의 상태 정보, 상기 카킷의 메모리 사용량, CPU 파워, 또는 운영체제에서의 프로세스 점유율 등의 상기 카킷의 현재 정보에 따라 상기 카킷으로 base layer 1711만을 전송하거나, 상기 base layer 1711과 상기 카킷을 위한 저품질 인코딩에 해당하는 enhanced layer #3 1717을 상기 제3 전자 장치 1705에 전송할 수 있다.
도 18은 본 발명의 다양한 실시예에 따른 제2 전자 장치에서 수행되는 영상 인코딩 방법을 설명하기 위한 도면이다.
도 18을 참조하면, 본 발명의 다양한 실시예에서 제2 전자 장치(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 도 9의 제2 전자 장치 903, 도 11의 제2 전자 장치 1123, 도 12의 제2 전자 장치 1215, 도 17a 또는 도 17b의 제2 전자 장치 1703)는 mirroring/resized-mirroring 방식을 이용하여 영상 데이터를 인코딩 할 수 있다.
본 발명의 다양한 실시예에서 제2 전자 장치는 제1 전자 장치(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 도 7의 제1 전자 장치 701, 도 8의 제1 전자 장치 801, 도 9의 제1 전자 장치 901, 도 14a의 제1 전자 장치 1401, 도 17a 또는 도 17b의 제1 전자 장치 1701)로부터 수신한 영상 데이터를 기반으로 리사이즈된 미러링 영상 데이터를 제3 전자 장치(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 도 9의 제3 전자 장치 905, 도 14a의 제3 전자 장치 1413, 도 15의 제3 전자 장치 1505, 도 17a 또는 도 17b의 제3 전자 장치 1705)로 전송할 수 있다. 제2 전자 장치는 제3 전자 장치의 정보(예컨대, 제3 전자 장치의 타입, 디스플레이 크기, CPU 파워, 화면 형태, 배터리 레벨, 또는 메모리 사용량) 상기 제2 전자 장치와 상기 제3 전자 장치를 연결하는 제2 네트워크(예컨대, 도 4의 제2 네트워크 413, 또는 도 15의 제2 네트워크 1531) 상태 정보를 기반으로 영상 데이터의 리사이즈 크기를 결정할 수 있다.
본 발명의 다양한 실시예에서 제2 전자 장치는 상기 제3 전자 장치의 디스플레이 형태(예컨대, 원형, 정사각형, 또는 직사각형)와 컨텐츠의 정보를 이용하여 미러링 영상 데이터의 포커스를 이동하거나 미러링 영상 데이터를 크롭(crop)하여 상기 제3 전자 장치로 전송할 수 있다. 상기 제2 전자 장치는 미러링 영상 데이터의 중앙을 중심으로 포커스 또는 크롭(crop)하거나 얼굴 인식, 오브젝트 인식 방법을 이용하여 포커스 또는 크롭(crop)하여 제3 전자 장치로 전송할 수 있다.
예컨대, 도 18에 도시된 바와 같이 제3 전자 장치는 디스플레이 형태가 정사각형인 전자 장치 1803, 디스플레이 형태가 원형인 전자 장치 1805일 수 있다. 상기 디스플레이 형태가 가로보다 세로가 긴 직사각형인 전자 장치 1801의 영상 데이터가 디스플레이 형태가 정사각형인 전자 장치 1803 또는 디스플레이 형태가 원형인 전자 장치 1805에 표시되는 경우, 제2 전자 장치는 상기 전자 장치 1801에 표시된 영상 데이터에서 얼굴 영역만을 인식하여 상기 디스플레이 형태 예컨대, 정사각형 형태 1803 또는 원형 형태 1805로 crop할 수 있다. 제2 전자 장치는 상기 crop된 얼굴 영역만을 제3 전자 장치에 전송할 수 있다. 상기 제3 전자 장치는 상기 제2 전자 장치로부터 수신한 얼굴 영역에 대한 영상 데이터를 수신하여 표시할 수 있다.
도 19a 및 도 19b는 본 발명의 다양한 실시예에 따른 영상 통화 수신, 발신과 관련된 사용자 인터페이스를 도시하는 도면이다.
도 19a 및 도 19b를 참조하면, 제2 전자 장치(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 도 9의 제2 전자 장치 903, 도 11의 제2 전자 장치 1123, 도 12의 제2 전자 장치 1215, 도 17a 또는 도 17b의 제2 전자 장치 1703)는 제1 전자 장치(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 도 7의 제1 전자 장치 701, 도 8의 제1 전자 장치 801, 도 9의 제1 전자 장치 901, 도 14a의 제1 전자 장치 1401, 도 17a 또는 도 17b의 제1 전자 장치 1701)로부터 영상 통화 요청을 수신하면, 상기 제2 전자 장치에 제2 네트워크(예컨대, 도 4의 제2 네트워크 413, 또는 도 15의 제2 네트워크 1531)를 통해 연결된 제3 전자 장치(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 도 9의 제3 전자 장치 905, 도 14a의 제3 전자 장치 1413, 도 15의 제3 전자 장치 1505, 도 17a 또는 도 17b의 제3 전자 장치 1705)에 알림(notification)을 전송할 수 있다. 상기 알림을 수신한 제3 전자 장치는 상기 제2 전자 장치와 연결된 제2 네트워크의 상태 정보, 제2 전자 장치 및 제3 전자 장치의 배터리 레벨, 메모리 상태, 프로세스의 스케줄 상태 등의 정보를 이용하여 영상 통화 가능 여부를 결정하고, 이를 디스플레이에 표시할 수 있다.
예컨대, 상기 제2 네트워크의 상태가 영상 통화를 수행하기에 양호하고, 배터리 상태가 충분하다면 제3 전자 장치는 도 19a에 도시된 바와 같이 제2 전자 장치로 영상 통화 수행 1901, 제3 전자 장치로 영상 통화 수행 1903, 제3 전자 장치로 음성 통화 수행 1905, 수신 거절 1907 등의 사용자 인터페이스를 표시할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 영상 통화를 위한 영상 데이터를 수신하는 경우 상기 영상 데이터의 해상도 정보 또는 fps 정보와 같은 영상통화 품질 정보를 함께 표시하여 저품질 또는 고품질의 영상 수신을 위한 사용자 인터페이스를 표시할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 외부 전자 장치 예컨대, 제1 전자 장치에 영상 통화를 발신하는 경우 제2 전자 장치와의 제2 네트워크의 상태 정보, 제1 네트워크(예컨대, 도 4의 제1 네트워크 411, 또는 도 15의 제1 네트워크 1523)의 상태 정보, 상기 제1 전자 장치 내지 제3 전자 장치의 배터리 레벨, 또는 메모리 상태 프로세서의 스케줄 상태 등의 정보를 이용하여 영상 통화 가능 여부를 결정하고, 이를 사용자 인터페이스로 표시할 수 있다. 예컨대, 제2 네트워크의 상태가 영상 통화를 수행하기에 열악한 상황이거나, 배터리가 충분하지 않은 경우, 제3 전자 장치는 도 19b에 도시된 바와 같이 외부 전자 장치 예컨대, 제1 전자 장치로 음성으로 영상 통화 걸기 1913, 제2 전자 장치와 영상 통화 수행 1911 등의 사용자 인터페이스만을 표시할 수 있다.
본 발명의 다양한 실시예에서 상기 제3 전자 장치는 다른 전자 장치로의 영상 통화 연결을 위한 허브 또는 제어 장치(controller)로써 동작할 수 있다. 이에 따라, 제1 전자 장치는 제3 전자 장치를 통해 제1 전자 장치 내지 제3 전자 장치에 등록된 기기 또는 등록되지 않았으나 사용할 수 있는 기기로 영상 통화를 수행할 수 있다.
도 20a 내지 도 20d는 본 발명의 다양한 실시예에 따른 영상 통화 수신을 위한 사용자 인터페이스를 도시하는 도면이다.
도 20a 내지 도 20d를 참조하면, 제3 전자 장치(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 도 9의 제3 전자 장치 905, 도 14a의 제3 전자 장치 1413, 도 15의 제3 전자 장치 1505, 도 17a 또는 도 17b의 제1 전자 장치 1701)는 상기 제3 전자 장치 또는 상기 제3 전자 장치와 연결된 전자 장치, 제2 전자 장치(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 도 9의 제2 전자 장치 903, 도 11의 제2 전자 장치 1123, 도 12의 제2 전자 장치 1215, 도 17a 또는 도 17b의 제2 전자 장치 1703)와 연결 또는 등록된 전자 장치, 상기 제2 전자 장치 또는 제3 전자 장치에 등록되지 않았지만 연결 가능한 전자 장치를 표시할 수 있다. 제3 전자 장치는 상기 디스플레이된 영상 통화를 수행할 수 있는 전자 장치 중에서 하나의 전자 장치를 선택하는 입력을 수신하면, 상기 선택된 전자 장치에 영상 통화 신호를 전달할 수 있다.
본 발명의 다양한 실시예에서 상기 영상 통화를 수행할 수 있는 전자 장치를 나타내는 아이콘의 크기는 영상 통화 품질 상태를 나타낼 수 있다. 상기 영상 통화 품질 상태는 각 전자 장치의 네트워크 상태 및 각 전자 장치의 상태에 의해 결정될 수 있으며, 상기 아이콘의 크기는 영상 통화 품질 상태에 비례할 수 있다. 예컨대, 아이콘의 크기가 클수록 영상 통화 품질이 높은 상태를 의미하고, 아이콘의 크기가 작을수록 통화 품질이 낮은 상태를 의미할 수 있다.
본 발명의 다양한 실시예에서 상기 영상 통화 품질 상태에 따라 상기 아이콘의 크기를 상이하게 표시하는 구성으로 가정하여 설명하였지만, 이에 한정하는 것은 아니며 아이콘의 모양, 색상(예컨대, 명암/흑백), 아이콘 주위에 영상 통화에 적합한 전자 장치를 표시하거나, 영상 통화 품질에 따라 다른 아이콘(예컨대, 품질이 안 좋은 경우 찢어진 느낌의 아이콘)을 표시할 수 있다. 다시 말해, 본 발명의 다양한 실시 예에 따라 전술한 아이콘의 크기, 모양, 또는 색상 중 적어도 하나를 조합하여 영상 통화 품질 상태를 나타낼 수 있다.
도 20a 내지 도 20d에 도시된 바와 같이 제3 전자 장치는 영상 통화를 수행할 수 있는 전자 장치를 나타내는 아이콘들을 표시할 수 있다. 예컨대, 제3 전자 장치는 TV를 나타내는 아이콘 2011, 스마트폰을 나타내는 아이콘 2013, 카킷을 나타내는 아이콘 2015, 태블릿PC를 나타내는 아이콘 2017, 헤드셋을 나타내는 아이콘 2019, 영상 통화 거절을 나타내는 아이콘 2021, 와치를 나타내는 아이콘 2023을 표시할 수 있다.
예컨대, TV를 나타내는 아이콘 2011의 크기는 다른 전자 장치 예컨대, 스마트폰을 나타내는 아이콘 2013, 카킷을 나타내는 아이콘 2015, 태블릿PC를 나타내는 아이콘 2017, 헤드셋을 나타내는 아이콘 2019, 영상 통화 거절을 나타내는 아이콘 2021, 와치를 나타내는 아이콘 2023의 크기에 비해 큰 것을 확인할 수 있다. 다시 말해, TV를 나타내는 아이콘 2011을 선택하는 경우, 제1 전자 장치(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 도 7의 제1 전자 장치 701, 도 8의 제1 전자 장치 801, 도 9의 제1 전자 장치 901, 도 14a의 제1 전자 장치 1401, 도 17a 또는 도 17b의 제1 전자 장치 1701)는 고품질로 상기 TV와 영상 통화를 수행할 수 있다. 카킷을 나타내는 아이콘 2015의 크기는 상기 TV를 나타내는 아이콘 2111의 크기에 비해 상대적으로 작은 것을 확인할 수 있다. 다시 말해, 카킷을 나타내는 아이콘 2015를 선택하는 경우 통신 상태는 상기 TV와의 통신 상태보다 저품질일 수 있으며, 제1 전자 장치는 상기 카킷과 예컨대, 음성을 실시간으로 수신하고 영상을 일정 간격으로 수신하여 영상 통화를 수행하거나, 음성만으로 통화를 수행할 수 있다.
본 발명의 다양한 실시예에서 전술한 바와 같이 특정 전자 장치를 나타내는 아이콘의 크기는 영상 통화 품질 상태를 기반으로 조정되는 것으로 가정하여 설명하였지만 이에 한정하는 것은 아니며, 상기 특정 전자 장치를 나타내는 아이콘의 크기는 사용자의 이전 사용 이력(user history), 사용자의 사용 패턴, 또는 상황 인식(context awareness) 정보를 기반으로 조정되거나 아이콘이 배치되는 위치가 변경될 수 있다. 예컨대, 상기 특정 전자 장치를 나타내는 아이콘은 크기에 따라 정렬된 형태로 표시될 수 있다. 또한, 상기 제3 전자 장치에 표시될 전자 장치의 아이콘 수, 표시될 전자 장치의 타입 또는 속성들은 사용자에 의해 설정될 수 있다.
본 발명의 다양한 실시예에서 영상 통화를 수신하는 경우, 영상 통화를 수행하는 중에 영상 통화할 전자 장치가 변경되는 경우, 영상 통화를 수행하는 중에 사용자에 의해 영상 통화할 전자 장치를 변경하기 위한 입력이 감지되는 경우 제3 전자 장치는 영상 통화를 수행할 전환 가능한 전자 장치를 포함하는 사용자 인터페이스를 표시할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 표시된 영상 통화를 수행할 수 있는 전자 장치들 중 각 전자 장치의 네트워크 상태 또는 각 전자 장치의 상태를 분석하여 우선순위를 결정하고, 상기 결정된 우선순위를 기반으로 아이콘의 크기를 차등하여 표시할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 영상 통화를 수행할 수 있는 전자 장치들 중 각 전자 장치의 네트워크 상태 또는 각 전자 장치의 상태 변화(예컨대, 배터리 레벨 변경)를 실시간 또는 일정 시간 간격으로 분석하여 각 전자 장치를 나타내는 아이콘의 크기 또는 상기 아이콘이 표시되는 위치를 조정하여 표시할 수 있다.
본 발명의 다양한 실시예에서 일정 시간 간격, 일정 시간의 평균값, 또는 기준 임계값(threshold)을 기반으로 상기 각 전자 장치의 네트워크 상태 또는 각 전자 장치의 상태 정보를 획득하여 각 전자 장치를 나타내는 아이콘의 크기 및/또는 배치되는 위치를 업데이트할 수 있다. 이에 따라 본 발명의 다양한 실시예는 각 전자 장치를 나타내는 아이콘의 크기가 급격하게 변경되는 것을 방지할 수 있다.
본 발명의 다양한 실시예에서 각 전자 장치를 나타내는 아이콘은 부가 정보와 함께 표시될 수 있다. 예컨대, 상기 부가 정보는 전자 장치의 소유자(계정 등록자), 전자 장치의 설정 이름, 또는 권한 정보를 포함할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 특정 전자 장치를 선택하는 입력을 수신하면 상기 선택된 특정 전자 장치에 영상 통화 연결 신호를 전달할 수 있다. 예컨대, 도 20a에 도시된 바와 같이 와치를 나타내는 아이콘 2023을 선택 2025, 도 20b에 도시된 바와 같이 와치를 나타내는 아이콘 2023을 발신자 표시창 또는 영상 통화 창 2001으로 드래그 2041, 도 20c에 도시된 바와 같이 상기 발신자 표시창 또는 영상 통화 창 2001을 와치를 나타내는 아이콘 2023으로 드래그 2051하는 동작이 감지되면, 제3 전자 장치는 상기 와치에 영상 통화 연결 신호를 전달할 수 있다.
본 발명의 다양한 실시예에서 상기 제3 전자 장치가 와치이고 상기 와치에 별도로 용두를 구비하지 않은 경우, 전술한 바와 같이 전자 장치를 나타내는 아이콘을 선택하는 것으로 영상 통화를 수행할 수 있다. 또는, 상기 제3 전자 장치가 와치이고 상기 와치에 별도로 용두(미도시)를 구비하는 경우, 상기 용두를 제어하여 영상 통화를 수행할 전자 장치를 나타내는 아이콘을 선택할 수 있다. 또는, 제3 전자 장치가 원형 형태의 와치인 경우 도 20d에 도시된 바와 같이 휠(wheel) 2061을 회전하는 동작을 통해 영상 통화를 수행할 전자 장치를 나타내는 아이콘을 선택할 수 있다.
도 20e는 본 발명의 다양한 실시예에 따른 제3 전자 장치에서 영상 통화를 수행하는 방법을 설명하기 위한 도면이다.
도 20e를 참조하면, 제3 전자 장치는 2071동작에서 영상 통화를 수신할 수 있다.
본 발명의 다양한 실시예에서 영상 통화를 수신하면, 제3 전자 장치는 상기 제3 전자 장치의 착용 여부를 확인하는 동작을 추가 수행할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 센서부 예컨대, 지자기센서, 중력센서, 심박센서, 온도센서 등을 통해 사용자가 상기 제3 전자 장치를 착용한 상태인지 여부를 결정할 수 있다. 또는, 제3 전자 장치는 홀 센서(hall sensor)를 통해 시계줄의 결합 여부를 통해 사용자가 상기 제3 전자 장치를 착용한 상태인지 여부를 결정할 수 있다.
본 발명의 다양한 실시예에서 상기 제3 전자 장치를 착용한 것으로 결정되면, 제3 전자 장치는 제3 전자 장치의 착용에 대한 센서 신호를 제2 전자 장치에 전송할 수 있다. 상기 제2 전자 장치는 상기 수신된 센서 신호를 기반으로 상기 제2 전자 장치에 알림(notification)을 표시하지 않고 상기 제3 전자 장치에만 상기 알림을 표시하도록 제어 신호를 전송할 수 있다. 이에 따라, 본 발명의 다양한 실시예에서는 제2 전자 장치의 디스플레이에 영상 통화가 수신되었음을 알리는 알림을 표시하지 않을 수 있으며, 직접적으로 영상 통화를 수행하는 제3 전자 장치의 디스플레이에만 상기 영상 통화가 수신되었음을 알리는 알림을 표시할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 상기 제2 전자 장치의 위치에 따라 상이한 알람을 표시할 수 있다. 예컨대, 상기 제2 전자 장치가 거실에 위치한 경우 제3 전자 장치는 제1 알림음을 출력할 수 있다. 상기 제2 전자 장치가 침실에 위치한 경우 제3 전자 장치는 제2 알림음을 출력할 수 있다. 상기 제2 전자 장치가 주방에 위치한 경우 제3 전자 장치는 진동을 출력할 수 있다. 상기 제2 전자 장치가 현관에 위치한 경우 제3 전자 장치는 플래시의 온(on)/오프(off)를 통해 사용자에게 영상 통화 요청이 수신을 알릴 수 있다. 본 발명의 다양한 실시예에서 상기 제2 전자 장치의 위치는 예컨대, wifi, BLE 등을 이용한 indoor navigation, GPS, LTE, 또는 3G 등의 communication network를 통해 획득할 수 있다.
본 발명의 다양한 실시예에서 영상 통화 요청을 수신하면, 제3 전자 장치는 상기 영상 통화 요청이 수신되었음을 알리는 알림과 함께 상기 제2 전자 장치의 위치를 포함하는 부가 정보를 표시할 수 있다. 예컨대, 제3 전자 장치는 메모리에 저장되어 있는 지도 정보를 이용하여 획득된 제2 전자 장치의 위치를 표시할 수 있으며, 사용자가 등록해 놓은 위치의 이름 또는 서버에 저장된 위치의 이름과 속성을 함께 표시할 수 있다.
본 발명의 다양한 실시예에서 영상 통화 요청을 수신하면, 제3 전자 장치는 상기 영상 통화 요청이 수신되었음을 알리는 알림과 함께 제2 전자 장치의 위치를 나타내는 화살표를 표시할 수 있다. 예컨대, 제3 전자 장치는 지도 정도, 방향 정보, 상기 제3 전자 장치와 제2 전자 장치와의 거리 정보, 상기 거리 정보를 기반으로 제2 전자 장치까지 도달 가능한 시간을 표시할 수 있다. 상기 거리 정보는 숫자, 색상, 또는 아이콘 등의 형태로 표시될 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 2073동작에서 영상 통화를 수행할 수 있는 적어도 하나의 전자 장치를 표시할 수 있다. 제3 전자 장치는 상기 제3 전자 장치 또는 상기 제3 전자 장치와 연결된 전자 장치, 제2 전자 장치와 연결 또는 등록된 전자 장치, 상기 제2 전자 장치, 또는 제3 전자 장치에 등록되지 않았지만 연결 가능한 전자 장치를 표시할 수 있다.
본 발명의 다양한 실시예에서 상기 적어도 하나의 전자 장치는 아이콘으로 표시될 수 있으며, 상기 아이콘의 크기는 영상 통화 품질 상태(예컨대, 전자 장치의 상태(예컨대, 배터리 레벨) 또는 네트워크 상태), 사용자의 이전 사용 이력(user history), 사용자의 사용 패턴, 또는 상황 인식(context awareness) 정보를 기반으로 결정될 수 있다. 예컨대, 제3 전자 장치는 영상 통화 품질 상태가 좋은 전자 장치의 아이콘 크기를 기 설정된 크기보다 크게 설정할 수 있다. 또한, 제3 전자 장치는 사용자의 이전 사용 이력 또는 사용자의 사용 패턴을 분석하여 영상 통화를 자주 수행한 전자 장치의 아이콘 크기를 기 설정된 크기보다 크게 설정할 수 있다. 반면, 제3 전자 장치는 영상 통화 품질 상태가 나쁘거나, 사용자의 이전 사용 이력 또는 사용자의 사용 패턴을 분석하여 영상 통화를 자주 수행하지 않은 전자 장치의 아이콘 크기를 기 설정된 크기보다 작게 설정할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 2075동작에서 상기 표시된 적어도 하나의 전자 장치 중에서 영상 통화를 수행할 전자 장치를 선택하는 입력이 감지되면, 2077동작에서 선택된 전자 장치로 영상 통화 신호를 전달할 수 있다. 예컨대, 전술한 도 20a 내지 도 20c에서 살펴본 바와 같이 제3 전자 장치는 영상 통화를 수행할 전자 장치에서 터치 입력, 영상 통화를 수행할 전자 장치를 나타내는 아이콘을 발신자 표시창 또는 영상 통화 창으로 드래그, 발신자 표시창 또는 영상 통화 창을 영상 통화를 수행할 전자 장치를 나타내는 아이콘으로 드래그하는 동작을 통해 영상 통화를 수행할 전자 장치를 선택할 수 있다.
본 발명의 다양한 실시예에서 상기 제3 전자 장치가 별도로 용두를 구비하지 않은 경우, 전술한 바와 같이 전자 장치를 나타내는 아이콘을 선택하는 것으로 영상 통화를 수행할 수 있다. 또는, 상기 제3 전자 장치에 별도로 용두(미도시)를 구비하는 경우 상기 용두를 이용하여 영상 통화를 수행할 전자 장치의 아이콘을 선택할 수 있다. 또는, 제3 전자 장치의 휠(wheel)을 회전하는 동작을 통해 영상 통화를 수행할 전자 장치의 아이콘을 선택할 수 있다.
도 21a 및 도 21b는 본 발명의 다양한 실시예에 따른 사용자 입력의 압력 레벨에 따른 사용자 인터페이스를 나타내는 도면이다.
도 21a 및 도 21b를 참조하면, 제3 전자 장치(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 도 9의 제3 전자 장치 905, 도 14a의 제3 전자 장치 1413, 도 15의 제3 전자 장치 1505, 도 17a 또는 도 17b의 제3 전자 장치 1705)는 영상 통화를 전환하기 위한 입력을 감지하면, 영상 통화가 전환 가능한 적어도 하나의 전자 장치 예컨대, TV를 나타내는 아이콘 2101, 태블릿PC를 나타내는 아이콘 2103, 헤드셋을 나타내는 아이콘 2105, 스마트폰을 나타내는 아이콘 2107, 카킷을 나타내는 아이콘 2109, 영상 통화 종료를 나타내는 아이콘 2111을 상기 제3 전자 장치의 형태에 맞게 배치될 수 있다.
본 발명의 다양한 실시예에서 상기 특정 전자 장치를 나타내는 아이콘을 선택하는 터치 입력의 압력 레벨에 따라 상이한 기능을 수행할 수 있다. 예컨대, 압력 레벨 1로 터치 입력이 감지되는 경우 제3 전자 장치는 상기 압력 레벨 1의 터치 입력이 감지된 특정 전자 장치와의 영상 통화로 전환할 수 있다. 압력 레벨 2로 터치 입력이 감지되는 경우 제3 전자 장치는 상기 압력 레벨 2의 터치 입력이 감지된 특정 전자 장치에 알림(notification)을 전송할 수 있다. 이러한 알림을 통해 사용자는 영상 통화를 전환할 특정 전자 장치를 직관적으로 확인할 수 있다.
예컨대, 상기 표시된 아이콘들 중 TV를 나타내는 아이콘 2101에서 압력 레벨 2로 터치 입력 2113이 감지되는 경우, 제3 전자 장치는 상기 TV를 나타내는 아이콘 2101에 해당하는 TV에 알림을 전송할 수 있다. 상기 TV는 상기 제3 전자 장치로부터 수신한 알림에 기초하여 상기 TV의 화면이 깜빡거리도록 제어, 특정 이미지 패턴이 상기 TV 화면의 적어도 일부분에 표시, 사용자와 관련된 정보 예컨대, 사용자 계정 정보 또는 제3 전자 장치의 정보를 상기 TV 화면의 적어도 일부분에 표시할 수 있다. 또한, TV를 나타내는 아이콘 2101에서 압력 레벨 2로 터치 입력 2113이 감지되는 경우, 제3 전자 장치는 도 21a 및 도 21b에 도시된 바와 같이 “device change”로 사용자 인터페이스를 변경하여 표시할 수 있다.
본 발명의 다양한 실시예에서 TV에 디스플레이되는 화면과 제3 전자 장치에 디스플레이되는 화면을 일시적으로 일치시켜 보여줌으로써 사용자는 영상 통화가 전달될 전자 장치를 영상 통화 연결 전에 직관적으로 확인할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 영상 통화 전환이 가능한 전자 장치를 나타내는 아이콘들을 표시한 화면에서 상기 영상 통화를 전환할 전자 장치를 나타내는 아이콘으로 일시적으로 대체하여 표시하거나 발신자 정보를 표시하는 위치에 상기 영상 통화를 전환할 전자 장치를 나타내는 아이콘으로 대체하여 표시할 수 있다.
본 발명의 다양한 실시예에서 압력 레벨 3으로 터치 입력이 감지되는 경우, 제3 전자 장치는 상기 압력 레벨 3의 터치 입력이 감지된 전자 장치의 세부 속성 정보를 표시할 수 있다. 예컨대, 제3 전자 장치는 상기 터치 입력이 감지된 전자 장치의 속성과 네트워크 연결 속성과 관련된 세부적인 정보를 표시할 수 있다.
도 21c는 본 발명의 다양한 실시예에 따른 사용자 입력의 압력 레벨에 따른 기능을 설명하기 위한 도면이다.
도 21c를 참조하면, 제3 전자 장치는 2131동작에서 영상 통화를 전환하기 위한 입력을 감지하면, 2133동작에서 영상 통화 전환이 가능한 적어도 하나의 전자 장치를 표시할 수 있다.
제3 전자 장치는 2135동작에서 상기 표시된 적어도 하나의 전자 장치 중에서 영상 통화를 전환할 전자 장치를 선택하는 입력을 감지할 수 있으며, 상기 감지된 전자 장치를 선택하는 입력에 대한 압력 레벨을 확인할 수 있다. 제3 전자 장치는 2137동작에서 상기 압력 레벨에 대응하는 선택된 전자 장치와 관련된 기능을 수행할 수 있다.
예컨대, 제3 전자 장치는 압력 레벨 1로 터치 입력이 감지되는 경우 상기 압력 레벨 1의 터치 입력이 감지된 전자 장치로 영상 통화를 전환하는 동작을 수행할 수 있다. 제3 전자 장치는 압력 레벨 2로 터치 입력이 감지되는 경우 상기 압력 레벨 2의 터치 입력이 감지된 전자 장치에 알림이 출력되도록 알림(notification)을 전송할 수 있다. 제3 전자 장치 405는 압력 레벨 3으로 터치 입력이 감지되는 경우 상기 압력 레벨 3의 터치 입력이 감지된 전자 장치의 속성 정보(예컨대, 상기 터치 입력이 감지된 전자 장치의 정보, 또는 네트워크 정보)를 표시할 수 있다.
도 21d는 본 발명의 다양한 실시예에 따른 사용자 입력의 압력 레벨에 따른 기능을 설명하기 위한 도면이다.
본 발명의 다양한 실시예에서 제3 전자 장치는 감지되는 사용자 입력 및 감지된 사용자 입력의 압력 레벨에 따라 상이한 기능을 수행할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 사용자 입력이 감지되는 위치를 기반으로 영상 데이터의 오브젝트를 인식하고, 해당 오브젝트를 기반으로 인가된 압력 레벨에 따라 해상도, 포커스(focus), 또는 노출 중 적어도 하나를 조정할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 사용자 입력, 상기 사용자 입력이 유지되는 시간, 상기 사용자 입력의 면적(예컨대, 사용되는 사용자의 손가락에 따른 면적), 호버링 입력의 레벨(예컨대, 입력도구(예컨대, 사용자의 손가락, 스타일러스) 또는 터치스크린 간의 거리 간격) 중 적어도 하나를 기반으로 상이한 사용자 인터페이스를 표시할 수 있다.
도 21d를 참조하면, 제3 전자 장치는 2141동작에서 영상 통화를 수행할 수 있다. 제3 전자 장치는 2143동작에서 사용자 입력을 감지할 수 있다. 제3 전자 장치는 2145동작에서 상기 감지된 사용자 입력의 압력 레벨을 확인할 수 있다. 제3 전자 장치는 2147동작에서 상기 압력 레벨에 대응하는 기능을 수행할 수 있다.
예컨대, 제 3 전자 장치는 영상 통화 수행 중에 디스플레이의 적어도 일부 영역에서 사용자 입력이 감지되면 영상 통화 메뉴를 표시할 수 있다. 제3 전자 장치는 압력 레벨 1의 사용자 입력을 감지하면 영상 데이터의 해상도를 변경하기 위한 사용자 인터페이스를 표시할 수 있다. 제3 전자 장치는 압력 레벨 2의 사용자 입력을 감지하면 영상 통화를 전환하기 위한 사용자 인터페이스를 표시할 수 있다. 제3 전자 장치는 압력 레벨 3의 사용자 입력을 감지하면 영상 데이터의 화질을 변경하기 위한 사용자 인터페이스를 표시할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 디스플레이되는 영상의 적어도 일부 영역에서 압력 레벨 1의 사용자 입력을 감지하면 상기 압력 레벨 1의 사용자 입력을 유지되는 동안 상기 영상 데이터를 특정 시간 간격 또는 키 프레임(key frame) 간격으로 정지 영상으로서 캡쳐하여 저장할 수 있다. 제3 전자 장치는 압력 레벨 2의 사용자 입력을 감지하면 상기 압력 레벨 2의 사용자 입력이 유지되는 동안 영상 데이터를 동영상으로서 저장할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 상기 압력 레벨 2의 사용자의 입력에 의해 저장되는 이미지 또는 동영상의 적어도 일부를 디스플레이 장치의 적어도 일부분에 일정 시간 표시할 수 있다. 예컨대, 제3 전자 장치는 상기 압력 레벨 2의 사용자 입력에 응답하여 저장되는 이미지를 영상 데이터를 표시 중인 디스플레이 장치의 적어도 일부분 예컨대, 하단부에 일정 크기로 스냅샷을 표시할 수 있다. 또는, 제3 전자 장치는 상기 압력 레벨 2의 사용자 입력에 응답하여 동영상이 레코딩 중임을 나타내는 아이콘을 상기 디스플레이 장치의 적어도 일부분에 표시할 수 있다. 본 발명의 다양한 실시예에서 사용자는 상기 스냅샷 또는 레코딩 중임을 나타내는 아이콘을 통해 이미지 또는 동영상이 저장(또는, 레코딩) 중임을 직관적으로 확인할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 디스플레이되는 영상의 일부 영역에서 압력 레벨 1의 사용자 입력을 감지하면 상기 압력 레벨 1의 사용자 입력이 감지된 시점의 영상에 해당하는 고해상도의 영상을 제1 전자 장치(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 도 7의 제1 전자 장치 701, 도 8의 제1 전자 장치 801, 도 9의 제1 전자 장치 901, 도 14a의 제1 전자 장치 1401, 도 17a 또는 도 17b의 제1 전자 장치 1701) 또는 제2 전자 장치(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 도 9의 제2 전자 장치 903, 도 11의 제2 전자 장치 1123, 도 12의 제2 전자 장치 1215, 도 17a 또는 도 17b의 제2 전자 장치 1703)에 요청할 수 있다. 제3 전자 장치(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 도 9의 제3 전자 장치 905, 도 14a의 제3 전자 장치 1413, 도 15의 제3 전자 장치 1505, 도 17a 또는 도 17b의 제2 전자 장치 1703)는 디스플레이되는 영상의 일부 영역에서 압력 레벨 2의 사용자 입력을 감지하면 상기 압력 레벨 2의 사용자 입력이 감지된 영역을 중심으로 카메라의 포커스(focus) 조정을 제1 전자 장치 또는 제2 전자 장치에 요청할 수 있다. 제3 전자 장치는 디스플레이되는 영상의 일부 영역에서 압력 레벨 3의 사용자 입력을 감지하면 상기 압력 레벨 3의 사용자 입력이 감지된 영역을 중심으로 카메라의 노출 조정을 제1 전자 장치 또는 제2 전자 장치에 요청할 수 있다.
본 발명의 다양한 실시예에서 사용자 입력의 압력 레벨에 따라 상이한 기능을 수행하는 것으로 가정하여 설명하지만, 이에 한정하는 것은 아니며 상기 사용자 입력이 감지되는 방향에 따라 상이한 기능을 수행할 수 있다. 이와 관련하여 하기 도 21e를 참조하여 상세히 설명하도록 한다.
도 21e는 본 발명의 다양한 실시예에 따른 사용자 입력이 감지되는 방향에 따른 기능을 설명하기 위한 도면이다.
본 발명의 다양한 실시예에서 제3 전자 장치는 사용자 입력이 감지되는 방향에 따라 상이한 기능을 수행할 수 있다.
도 21e를 참조하면, 제3 전자 장치는 2151동작에서 영상 통화를 수행할 수 있다. 제3 전자 장치는 2153동작에서 사용자 입력을 감지할 수 있다. 본 발명의 다양한 실시예에서 상기 사용자 입력은 스와이프(swipe), 또는 드래그(drag) 입력 중 적어도 하나를 포함할 수 있다. 제3 전자 장치는 2155동작에서 상기 사용자 입력이 감지되는 방향을 확인하고, 2157동작에서 상기 사용자 입력이 감지되는 방향에 대응하는 기능을 수행할 수 있다.
본 발명의 다양한 실시예에 따라 상기 도 21e에서 상기 사용자 입력은 스와이프로 가정하여 설명한다. 제 3 전자 장치는 영상 통화 수행 중에 디스플레이의 적어도 일부 영역에서 사용자 입력 예컨대, 스와이프가 감지되면 영상 통화와 관련된 메뉴를 표시할 수 있다. 제3 전자 장치는 상기 스와이프가 감지된 방향을 분석할 수 있다. 상기 스와이프가 감지된 방향은 좌측에서 우측 방향으로의 스와이프, 우측에서 좌측 방향으로의 스와이프, 상측에서 하측 방향으로의 스와이프, 또는 하측에서 상측 방향으로의 스와이프 중 적어도 하나를 포함할 수 있다.
예컨대, 제3 전자 장치는 상기 좌측에서 우측 방향으로의 스와이프를 감지하면, 영상 데이터의 해상도를 변경하기 위한 사용자 인터페이스를 표시할 수 있다. 제3 전자 장치는 우측에서 좌측 방향으로의 스와이프를 감지하면 영상 통화를 전환하기 위한 사용자 인터페이스를 표시할 수 있다. 제3 전자 장치는 상측에서 하측 방향으로의 스와이프를 감지하면 영상 데이터의 화질을 변경하기 위한 사용자 인터페이스를 표시할 수 있다. 이에 한정하는 것은 아니며, 상기 스와이프가 감지되는 방향에 따라 따라 영상 데이터의 해상도, 영상 데이터의 포커스(focus), 또는 영상 데이터의 노출을 조정할 수 있다.
전술한 바와 같이 본 발명의 다양한 실시예에서 사용자 입력, 상기 사용자 입력의 유지 시간, 호버링 레벨, 상기 사용자 입력의 압력 레벨, 또는 상기 사용자 입력이 감지되는 방향 중 적어도 하나를 기반으로 상이한 사용자 인터페이스를 표시하거나 상이한 기능을 수행할 수 있다. 또한, 사용자 입력, 상기 사용자 입력의 유지 시간, 호버링 입력의 레벨(예컨대, 입력 도구(예컨대, 사용자 손가락, 또는 스타일러스)와 터치스크린 간의 간격), 상기 사용자 입력의 압력 레벨, 또는 상기 사용자 입력이 감지되는 방향 중 적어도 하나를 기반으로 표시되는 사용자 인터페이스를 매핑(mapping)하여 메모리에 저장할 수 있다.
도 22a는 본 발명의 다양한 실시예에 따른 영상 통화의 품질을 나타내는 인디케이터를 포함하는 사용자 인터페이스를 나타내는 도면이다.
도 22a를 참조하면, 본 발명의 다양한 실시예에서 제3 전자 장치(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 도 9의 제3 전자 장치 905, 도 14a의 제3 전자 장치 1413, 도 15의 제3 전자 장치 1505, 도 17a 또는 도 17b의 제2 전자 장치 1703)는 2201에 도시된 바와 같이 영상 통화를 수행하는 중에 영상 데이터 2209와 상기 영상 통화의 품질을 나타내는 인디케이터 2211을 표시할 수 있다. 또한, 제3 전자 장치는 2203에 도시된 바와 같이 영상 데이터 2209, 상기 영상 통화의 품질을 나타내는 인디케이터 2211, 영상 데이터의 해상도를 낮추기 위한 버튼 2213을 표시할 수 있다.
본 발명의 다양한 실시예에서 2205에 도시된 바와 같이 제3 전자 장치는 영상 데이터 2209와 네트워크 상태, 상기 제3 전자 장치의 정보를 기반으로 결정된 영상 통화 품질을 나타내며 상기 영상 통화의 품질을 조정할 수 있는 인디케이터 2215를 포함하는 사용자 인터페이스를 표시할 수 있다. 예컨대, 상기 인디케이터 2215는 네트워크 상태 및 제3 전자 장치의 정보를 기반으로 결정된 사용 가능한 최대 영상 통화 품질 2221과 현재 사용중인 영상 통화 품질 2223을 포함할 수 있다. 사용자는 상기 인디케이터 2215에서 슬라이드 컨트롤 2223을 통해 영상 통화 품질을 직관적으로 조정할 수 있다.
예컨대, 인디케이터 2215에서 2221은 재생 가능한 최대 영상 통화 품질을 나타내며, 2223은 현재 재생 중인 영상 통화의 품질을 나타낸다. 제3 전자 장치는 상기 인디케이터 2215에서 영상 통화 품질을 조정하는 입력 2225(예컨대, 상기 영상 통화 품질 영역을 선택한 후 좌측 또는 우측 방향으로 드래그)이 감지되면, 제3 전자 장치는 영상 통화 품질을 조정할 수 있다. 제3 전자 장치는 상기 조정된 영상 통화 품질에 대응하는 인코딩 스킴을 결정할 수 있다. 제3 전자 장치는 결정된 인코딩 스킴을 제1 전자 장치(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 도 7의 제1 전자 장치 701, 도 8의 제1 전자 장치 801, 도 9의 제1 전자 장치 901, 도 14a의 제1 전자 장치 1401, 도 17a 또는 도 17b의 제1 전자 장치 1701)로 전송할 수 있다. 상기 제1 전자 장치 또는 상기 제2 전자 장치는 상기 인코딩 스킴을 기반으로 영상 데이터를 인코딩하고, 상기 인코딩된 영상 데이터를 제3 전자 장치에 전송할 수 있다. 상기 제3 전자 장치는 수신한 인코딩된 영상 데이터를 재생할 수 있다.
본 발명의 다양한 실시예에서 2207에 도시된 바와 같이 인디케이터 2231에서 기준값 2230을 기준으로 왼쪽 영역에 음영이 있는 경우 영상 통화 품질은 저품질을 의미할 수 있으며, 인디케이터 2233에서 기준값 2230까지 음영이 있는 경우 영상 통화 품질은 중품질을 의미할 수 있으며, 인디케이터 2235에서 기준값 2230을 기준으로 오른쪽 영역에 음영이 있는 경우 영상 통화 품질은 고품질을 의미할 수 있다.
본 발명의 다양한 실시예에서 전술한 바와 같이 인디케이터를 통해 영상 통화 품질을 조정하는 것으로 가정하여 설명하였지만 이에 한정하는 것은 아니며, 상기 제3 전자 장치 예컨대, 와치에 별도로 구비되는 용두(미도시)의 회전 또는 휠을 회전하는 동작, 음성 입력, 제스처 입력, 또는 이들의 조합을 통해 영상 통화 품질을 조정할 수 있다.
예컨대, 본 발명의 다양한 실시예들은 배터리 소비량을 최소화하고 싶은 경우 또는 멀티태스킹으로 다른 작업을 수행하고자 하는 경우 사용자에 의해 영상 통화 품질을 최소로 조정할 수 있다. 이에 따라 사용자의 상황에 따라 영상 통화 품질을 조정할 수 있어 영상 통화 서비스에 있어서 만족도가 높을 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 영상 통화를 위한 영상 데이터를 수신하여 표시하는 경우 상기 영상 데이터에 대한 해상도 정보, 또는 fps 정보 등과 같은 영상 통화 품질 정보를 함께 표시할 수 있다. 또한, 제3 전자 장치는 상기 인디케이터를 조정하는 입력이 감지되면, 상기 조정된 입력에 대응하는 영상 통화 품질 정보를 표시할 수 있다. 본 발명의 다양한 실시예에서 상기 영상 통화 품질 정보가 함께 표시됨에 따라 사용자는 현재 표시되는 영상 데이터의 정보 또는 상기 인디케이터 조정에 따른 영상 데이터의 정보를 직관적으로 확인할 수 있다.
도 22b는 본 발명의 다양한 실시예에 따른 영상 통화의 품질을 조정하는 방법을 도시하는 도면이다.
도 22b를 참조하면, 제3 전자 장치는 2231동작에서 영상 통화에 필요한 영상 데이터를 표시하는 중에 2233동작에서 영상 데이터의 품질을 조정하는 입력이 감지되는지 여부를 결정할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 영상 통화하기 위한 영상 데이터를 표시할 수 있으며, 표시부의 일부 영역에 상기 영상 데이터의 품질을 조정하기 위한 인디케이터를 표시할 수 있다. 상기 인디케이터는 상기 제3 전자 장치의 상태 또는 네트워크 상태를 기반으로 결정된 사용 가능한 최대 영상 데이터 품질과 현재 영상 데이터 품질을 포함할 수 있다. 상기 인디케이터를 통해 영상 데이터의 품질을 조정하는 입력이 감지되면, 제3 전자 장치는 후술하는 2235동작을 수행할 수 있다.
반면, 상기 인디케이터를 통해 영상 데이터의 품질을 조정하는 입력이 감지되지 않으면, 제3 전자 장치는 2231동작의 영상 데이터를 표시하는 동작을 수행할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 2235동작에서 상기 조정된 영상 통화 품질을 기반으로 인코딩 스킴을 결정하고, 2237동작에서 상기 결정된 인코딩 스킴을 제2 전자 장치에 전송할 수 있다.
본 발명의 다양한 실시예에서 영상 데이터를 인코딩하는 동작을 제2 전자 장치에서 수행하는 경우, 상기 제2 전자 장치는 상기 제3 전자 장치로부터 수신한 인코딩 스킴을 기반으로 영상 데이터를 인코딩하여 제3 전자 장치에 전송할 수 있다. 또는, 영상 데이터를 인코딩하는 동작을 제1 전자 장치에서 수행하는 경우, 제2 전자 장치는 상기 제3 전자 장치로부터 수신한 인코딩 스킴을 상기 제1 전자 장치에 전송할 수 있다. 제2 전자 장치는 상기 제1 전자 장치로부터 상기 인코딩 스킴을 기반으로 인코딩된 영상 데이터를 수신하여 상기 제3 전자 장치에 전달할 수 있다.
제3 전자 장치는 2239동작에서 상기 제2 전자 장치로부터 상기 인코딩 스킴을 기반으로 인코딩된 영상 데이터를 수신하여 표시할 수 있다.
도 23a 및 도 23b는 본 발명의 다양한 실시예에 따른 영상 통화 전환 동작을 설명하기 위한 사용자 인터페이스를 나타내는 도면이다.
본 발명의 다양한 실시예에서 제3 전자 장치(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 도 9의 제3 전자 장치 905, 도 14a의 제3 전자 장치 1413, 도 15의 제3 전자 장치 1505, 도 17a 또는 도 17b의 제3 전자 장치 1705)는 영상 통화를 수행하는 중에 위치 이동 또는 외부 간섭 신호 발생에 의해 제2 네트워크(예컨대, 도 4의 제2 네트워크 413, 또는 도 15의 제2 네트워크 1531)의 상태 변경을 감지할 수 있다. 또는, 제3 전자 장치는 영상 통화를 수행하는 중에 상기 제3 전자 장치의 배터리 상태 변화, 멀티태스킹으로 인한 메모리 부족, 프로세싱 파워 부족 또는 제1 전자 장치(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 도 7의 제1 전자 장치 701, 도 8의 제1 전자 장치 801, 도 9의 제1 전자 장치 901, 도 14a의 제1 전자 장치 1401, 도 17a 또는 도 17b의 제1 전자 장치 1701)와 제2 전자 장치(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 도 9의 제2 전자 장치 903, 도 11의 제2 전자 장치 1123, 도 12의 제2 전자 장치 1215, 도 17a 또는 도 17b의 제2 전자 장치 1703)를 연결하는 제1 네트워크(예컨대, 도 4의 제1 네트워크 411, 또는 도 15의 제1 네트워크 1523)의 품질 열화, 제1 전자 장치 또는 제2 전자 장치의 배터리 레벨 변화, 메모리 부족, 또는 프로세싱 파워 부족 등에 의해 영상 통화를 수행하는 중에 영상 통화 품질의 변경을 감지할 수 있다.
본 발명의 다양한 실시예에서 상기 제3 전자 장치는 영상 통화 품질의 변경을 감지하면 인코딩을 수행하는 제1 전자 장치 또는 제2 전자 장치에 인코딩 스킴의 변경을 요청할 수 있다. 제3 전자 장치는 상기 제1 전자 장치 또는 제2 전자 장치로부터 인코딩 스킴의 변경 요청에 의해 변경된 인코딩 스킴을 기반으로 인코딩된 영상 데이터를 수신하여 재생할 수 있다.
본 발명의 다양한 실시예에서 영상 통화를 수행할 수 없는 경우 제3 전자 장치는 영상 통화 대신 음성 통화로 변경할 수 있으며, 더 악화될 경우 상기 제3 전자 장치와의 통화를 중단하고 제2 전자 장치 또는 상기 제2 전자 장치에 연결된 다른 전자 장치로 영상 통화를 전환할 수 있다. 상기 영상 통화가 음성 통화로 전환되는 경우, 또는 상기 제2 전자 장치에 연결된 다른 전자 장치로 영상 통화가 전환되는 경우 상기 제3 전자 장치는 음성 통화로 전환, 다른 전자 장치로의 영상 통화 전환을 위한 사용자 인터페이스(예컨대, 팝업 메시지), 음성 또는 진동을 통해 사용자에게 영상 통화 전환 알림을 제공할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 제2 전자 장치로부터 현재 연결 가능한 전자 장치의 정보를 획득할 수 있으며, 사용자의 사용 패턴, 각 전자 장치의 상태 또는 네트워크 연결 상태 정보를 기반으로 부여된 우선순위에 따라 영상 통화 전환이 가능한 전자 장치를 표시할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 상기 제3 전자 장치의 영상 통화를 제공하는 환경이 좋지 않은 경우 사용자에 의해 영상 통화를 전환할 전자 장치가 선택될 수 있도록 연결 전환 가능한 전자 장치를 포함하는 팝업 메시지를 표시할 수 있다. 예컨대, 도 23a에 도시된 바와 같이 영상 통화 전환 팝업 메시지 2311을 표시할 수 있으며, 영상 통화 전환이 가능한 제2 전자 장치에 연결된 전자 장치 예컨대, 스마트폰 2313, 카킷 2315를 표시할 수 있다. 상기 팝업 메시지에 표시된 전자 장치 예컨대, 스마트폰 2313, 또는 카킷 2315 중 하나의 전자 장치를 선택하는 입력이 감지되면, 제3 전자 장치는 상기 선택된 전자 장치로 영상 통화 전환 신호를 전달할 수 있다.
본 발명의 다양한 실시예에서 영상 통화 전환 동작은 영상 통화를 수행 중인 제3 전자 장치를 통해 동작하거나, 제2 전자 장치를 통해 동작할 수 있다. 예컨대, 도 23b에 도시된 바와 같이 제3 전자 장치에서 영상 통화를 수행하는 중에 영상 통화 품질이 변경되는 신호가 감지되면, 제2 전자 장치는 영상 통화 전환을 나타내는 팝업 메시지 2331을 표시할 수 있으며, 상기 팝업 메시지 2331에 표시된 전자 장치 예컨대, 와치 2333, 카킷 2335, 또는 폰 2337 중 하나의 전자 장치를 선택하는 입력이 감지되면, 상기 선택된 전자 장치로 영상 통화 전환 신호를 전달할 수 있다.
본 발명의 다양한 실시예에서 영상 통화를 전환하기 위한 전자 장치를 선택하는 입력이 감지되지 않으면, 제3 전자 장치는 영상 통화 전환이 가능한 전자 장치들 중 최적의 전자 장치가 자동으로 선택되도록 제어할 수 있다. 상기 최적의 전자 장치는 각 전자 장치의 상태 정보(예컨대, 배터리, 프로세스 파워, 또는 메모리), 네트워크 연결 정보를 이용하여 현재 사용자의 사용 유무, 또는 이전 연결 정보들을 기반으로 선택될 수 있다.
도 23c는 본 발명의 다양한 실시예에 따른 제4 전자 장치로의 영상 통화 전환 동작을 설명하기 위한 흐름도이다.
도 23c를 참조하면, 제3 전자 장치는 2341동작에서 영상 통화 품질이 변경되는 신호가 감지되는지 여부를 결정할 수 있다. 예컨대, 제3 전자 장치는 영상 통화를 수행하는 중에 위치 이동 또는 외부 간섭 신호 발생에 의해 제2 네트워크의 상태가 변경되는 신호를 감지할 수 있다. 또는, 상기 제3 전자 장치는 상기 제3 전자 장치의 배터리 상태 변화, 메모리 부족, 프로세싱 파워 부족, 제1 전자 장치와 제2 전자 장치를 연결하는 제1 네트워크 품질 열화, 제1 전자 장치 또는 제2 전자 장치의 배터리 레벨 변화, 메모리 부족, 또는 프로세싱 파워 부족 등에 의해 영상 통화 품질이 변경되는 신호를 감지할 수 있다.
상기 영상 통화 품질이 변경되는 신호가 감지되면, 제3 전자 장치는 2343동작에서 영상 통화 전환이 가능한 적어도 하나의 전자 장치를 표시할 수 있다. 예컨대, 전술한 도 23a에서 살펴본 바와 같이 영상 통화 전환이 가능한 적어도 하나의 전자 장치를 포함하는 팝업 메시지를 표시할 수 있다.
제3 전자 장치는 2345동작에서 기 설정된 시간 동안 영상 통화를 전환할 전자 장치를 선택하는 입력이 감지되는지 여부를 결정할 수 있다. 상기 기 설정된 시간 동안 상기 영상 통화 전환할 전자 장치를 선택하는 입력이 감지되면, 제3 전자 장치는 2349동작에서 선택된 전자 장치로 영상 통화를 전환하기 위한 신호를 전송할 수 있다. 예컨대, 상기 팝업 메시지에서 영상 통화를 전환할 전자 장치를 선택하는 입력이 감지되면, 제3 전자 장치는 상기 선택된 전자 장치로 영상 통화 신호를 전달할 수 있다. 이에 따라, 제1 전자 장치와 상기 선택된 전자 장치는 영상 통화를 수행할 수 있다.
상기 기 설정된 시간 동안 영상 통화를 전환할 전자 장치를 선택하는 입력이 감지되지 않으면, 제3 전자 장치는 2347동작에서 기 설정된 조건에 따라 영상 통화 전환할 전자 장치를 자동으로 선택하고, 2349동작에서 선택된 전자 장치로 영상 통화를 전환하기 위한 신호를 전송할 수 있다. 본 발명의 다양한 실시예에서 상기 기 설정된 조건은 영상 통화 전환이 가능한 적어도 하나의 전자 장치의 상태 및 네트워크 상태 정보일 수 있다. 제3 전자 장치는 제2 전자 장치로부터 영상 통화 전환이 가능한 전자 장치 중 적어도 하나의 전자 장치의 상태 또는 네트워크 상태 정보를 기반으로 결정된 우선순위를 수신하고, 상기 우선순위가 높은 전자 장치로 영상 통화가 자동으로 전환되도록 제어할 수 있다.
전술한 바와 같이 선택된 전자 장치로 영상 통화를 전환하는 동작을 기 설정된 시간 동안 영상 통화를 전환할 전자 장치를 선택하는 입력이 감지되는지 여부에 따라 결정하는 것으로 설명하였지만, 이에 한정하는 것은 아니며, 상기 영상 통화를 전환할 전자 장치를 자동으로 선택할지 또는 사용자 입력에 의해 선택할지 여부에 대한 팝업창을 표시할 수 있다. 상기 표시된 팝업창을 통해 영상 통화를 전환할 전자 장치를 사용자 입력에 의해 선택하는 것으로 결정하는 경우, 제3 전자 장치는 전술한 도 23c의 2345 동작 및 2349 동작을 수행할 수 있다. 또는, 상기 표시된 팝업창을 통해 영상 통화를 전환할 전자 장치를 자동으로 선택하는 것으로 결정하는 경우, 제3 전자 장치는 전술한 도 23c의 2347동작 및 2349동작을 수행할 수 있다.
도 24는 본 발명의 다양한 실시예에 따른 제4 전자 장치로 영상 통화 전환 동작을 설명하기 위한 도면이다.
도 24를 참조하면, 본 발명의 다양한 실시예에서 독립된 네트워크 접속 기능을 가지는 독립된 장치(standalone device) 예컨대, 제4 전자 장치 2411로 현재 서비스 중인 영상 통화를 전환할 수 있다.
본 발명의 다양한 실시예에서 제1 전자 장치 2401(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 도 7의 제1 전자 장치 701, 도 8의 제1 전자 장치 801, 도 9의 제1 전자 장치 901, 도 14a의 제1 전자 장치 1401, 도 17a 또는 도 17b의 제1 전자 장치 1701)과 제2 전자 장치 2405(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 도 9의 제2 전자 장치 903, 도 11의 제2 전자 장치 1123, 도 12의 제2 전자 장치 1215, 도 17a 또는 도 17b의 제2 전자 장치 1703)는 제1 네트워크 2403(예컨대, 도 4의 제1 네트워크 411, 도 15의 제1 네트워크 1523)을 통해 연결될 수 있으며, 상기 제2 전자 장치 2405와 제3 전자 장치 2409 (예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 도 9의 제3 전자 장치 905, 도 14a의 제3 전자 장치 1413, 도 15의 제3 전자 장치 1505, 도 17a 또는 도 17b의 제3 전자 장치 1705)는 제2 네트워크 2407(예컨대, 도 4의 제2 네트워크 413, 또는 도 15의 제2 네트워크 1531)을 통해 연결될 수 있다. 또한, 제4 전자 장치 2411은 제3 네트워크 2413 예컨대, wifi 등을 통해 독립적으로 외부 네트워크에 접속되거나, 유선망을 통해 외부 네트워크에 접속될 수 있다.
상기 제4 전자 장치 2411은 제2 전자 장치 2405와 연결 또는 상기 제2 전자 장치 2405에 등록된 장치이거나, 상기 제2 전자 장치 2405에 연결되거나 등록되지 않은 신규 장치일 수 있다. 상기 제4 전자 장치 2411은 제2 전자 장치 2405의 사용자 및 소유자가 상이할 수 있으며, 예컨대, 공공 장소에 비치된 TV 또는 모니터와 같은 공용 장치일 수 있다.
제2 전자 장치 2405 또는 상기 제2 전자 장치 2405와 제2 네트워크 2407을 통해 연결된 제3 전자 장치 2409는 현재 서비스 중인 영상 통화를 상기 제4 전자 장치 2411로의 전환을 요청할 수 있다. 상기 제4 전자 장치 2411은 제2 전자 장치 2405 또는 상기 제2 전자 장치 2405에 제2 네트워크 2407을 통해 연결된 제3 전자 장치 2409에 영상 통화 전환을 요청할 수 있다. 상기 제4 전자 장치 2411과 상기 제2 전자 장치 2405 또는 상기 제3 전자 장치 2409는 상기 영상 통화 전환을 위한 데이터 예컨대, IP 정보, MAC 정보, 보안 인증 정보, VPN 구성 정보, 또는 전자 장치 식별 정보를 송수신 2417, 2419할 수 있다. 예컨대, 상기 제4 전자 장치 2411은 NFC tagging, RFID, BLE, 또는 BT broadcasting 등을 통해 상기 제2 전자 장치 2405 또는 제3 전자 장치 2409에 영상 통화 전환을 요청할 수 있다.
본 발명의 다양한 실시예에서 영상 통화 서비스를 제공하는 제3 전자 장치 2409 또는 상기 제3 전자 장치 2409와 제2 네트워크 2407을 통해 연결된 제2 전자 장치 2405는 영상 통화를 전환하기 위한 이미지 패턴, QR 코드, 또는 암호화 데이터(encryption data)를 표시할 수 있다. 상기 제4 전자 장치 2411은 상기 표시된 이미지 패턴, QR 코드, 또는 암호화 데이터(encryption data)를 이미지 센서를 통해 영상 통화 정보를 획득하여 영상 통화 연결을 요청할 수 있다.
예컨대, 제4 전자 장치 2411은 영상 통화 전환을 요청하기 위해 예컨대, “영상 통화 연결하기” 메뉴를 선택하는 입력을 감지하면, 카메라를 활성화하여 플래시 또는 LED 또는 LCD 화면 밝기 신호의 일정 패턴을 제2 전자 장치 2405 또는 제3 전자 장치 2409에 전송할 수 있다. 제2 전자 장치 2405 또는 제3 전자 장치 2409는 상기 제4 전자 장치 2411로부터 상기 수신한 일정 패턴의 신호를 기반으로 표시부에 영상 통화 전환을 위한 특정 이미지 패턴을 일시적으로 표시할 수 있다. 제4 전자 장치 2411은 상기 특정 이미지 패턴을 이미지 센서를 통해 리딩하여 이를 기반으로 영상 통화 전환을 위한 데이터를 송수신할 수 있다.
본 발명의 다양한 실시예에서 상기 제2 전자 장치 2405 또는 제3 전자 장치 2409는 제4 전자 장치 2411과의 연결 전, 또는 영상 통화 전환을 위한 데이터 전송 이전에 상기 제4 전자 장치 2411과의 영상 통화 동작을 승인하는 동작을 추가 수행할 수 있다.
본 발명의 다양한 실시예에서 제4 전자 장치 2411은 상기 제4 전자 장치 2411의 정보를 초음파 또는 음파의 특정 패턴에 삽입하여 스피커와 마이크를 통해 제2 전자 장치 2405 또는 제3 전자 장치 2409에 영상 통화 요청하거나, 영상 통화 전환을 위한 데이터를 송수신할 수 있다.
예컨대, 제4 전자 장치 2411은 상기 제4 전자 장치 2411의 정보 예컨대, 제4 전자 장치 2411의 타입, MAC 정보, 연결 정보를 초음파 또는 음파의 특정 패턴 또는 BLE 신호에 삽입하여 제2 전자 장치 2405 또는 제3 전자 장치 2409에 전송할 수 있다. 상기 제2 전자 장치 2405 또는 제3 전자 장치 2409는 상기 제4 전자 장치 2411로부터 수신한 제4 전자 장치 2411의 정보를 기반으로 상기 제4 전자 장치 2411로 전송할 영상 통화를 위한 데이터를 결정하여 표시부에 표시할 수 있다. 제2 전자 장치 2405 또는 제3 전자 장치 2409는 결정된 데이터를 선택하는 입력을 감지하면 상기 제4 전자 장치 2411로 영상 통화를 전환할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치 2409는 영상 통화 연결 대기 상태에서 주변의 영상 통화 연결이 가능한 전자 장치를 검색할 수 있으며, 상기 검색을 통해 표시된 전자 장치에서 영상 통화 연결이 가능한 전자 장치를 선택할 수 있다.
본 발명의 다양한 실시예에서 3 전자 장치 2409는 상기 주변의 연결 가능한 전자 장치를 검색 및 등록하는 동작에서 제4 전자 장치 2411을 계정 서버에 일시적으로 등록할 수 있다.
도 25는 본 발명의 다양한 실시예에 따른 제4 전자 장치로의 영상 통화 전환 방법을 설명하기 위한 제1 전자 장치, 제2 전자 장치, 및 제4 전자 장치 간에 신호 흐름을 도시하는 도면이다.
도 25를 참조하면, 본 발명의 다양한 실시예에서 제4 전자 장치 2507(예컨대, 도 24의 제4 전자 장치 2411)은 제2 전자 장치 2503(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 도 9의 제2 전자 장치 903, 도 11의 제2 전자 장치 1123, 도 12의 제2 전자 장치 1215, 도 17a 및 도 17b의 제2 전자 장치 1703, 또는 도 24의 제2 전자 장치 2405)에 영상 통화 전환을 요청하며, 상기 제4 전자 장치 2507의 정보를 전송 2511할 수 있다. 제2 전자 장치 2503은 상기 제4 전자 장치 2507로부터 영상 통화 전환 요청 신호 및 상기 제4 전자 장치 2507의 정보를 수신하면, 상기 제4 전자 장치 2507을 인증하는 신호와 상기 제4 전자 장치 2507의 영상 통화 전환 요청을 수락하는 신호 2513을 상기 제4 전자 장치 2507에 전송할 수 있다. 또한, 상기 제2 전자 장치 2503는 제1 전자 장치 2501(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 도 7의 제1 전자 장치 701, 도 8의 제1 전자 장치 801, 도 9의 제1 전자 장치 901, 도 14a의 제1 전자 장치 1401, 도 17a 및 도 17b의 제1 전자 장치 1701, 또는 도 24의 제1 전자 장치 2401)과의 영상 통화 연결 정보를 상기 제4 전자 장치 2507에 전송 2515할 수 있다. 제2 전자 장치 2503은 상기 제4 전자 장치 2507의 정보를 제1 전자 장치 2501로 전송 2517할 수 있다. 상기 제1 전자 장치 2501은 상기 제2 전자 장치 2503으로부터 수신한 상기 제4 전자 장치 2507의 정보를 기반으로 인코딩 스킴을 결정 2519하고, 이를 기반으로 영상 데이터를 인코딩 2521할 수 있다. 상기 제1 전자 장치 2501은 인코딩된 영상 데이터를 상기 제4 전자 장치 2507로 전송하며 상기 제4 전자 장치 2507로 영상 통화를 전환 2523될 수 있다. 상기 제4 전자 장치 2507은 상기 제1 전자 장치 2501로부터 수신한 인코딩된 영상 데이터를 재생 2525할 수 있다. 상기 제4 전자 장치 2507은 음성을 수신 2527하고, 제2 전자 장치 2503에 상기 음성 신호를 전송 2529할 수 있다. 제2 전자 장치 2503은 상기 제4 전자 장치 2507로부터 수신한 음성 신호를 제1 전자 장치 2501에 전송 2531할 수 있다. 이에 따라, 상기 제1 전자 장치 2501과 상기 제4 전자 장치2507은 영상 통화를 수행할 수 있다.
전술한 실시예에서 제2 전자 장치 2503에 의해 상기 제4 전자 장치 2507로 영상 통화가 전환되는 동작이 제어되는 것으로 가정하여 설명하였지만, 이에 한정하는 것은 아니며, 도면에 도시하지 않았지만 제3 전자 장치(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 도 9의 제3 전자 장치 905, 도 14a의 제3 전자 장치 1413, 도 15의 제3 전자 장치 1505, 도 17a 및 도 17b의 제3 전자 장치 1705, 또는 도 24의 제 3 전자 장치 2409)에 의해 상기 제4 전자 장치 2507로 영상 통화가 전환되는 동작이 제어될 수 있다.
본 발명의 다양한 실시예에서 상기 제4 전자 장치 2507로 영상 통화가 전환되는 경우, 상기 제1 전자 장치 2501과의 영상 통화는 상기 제2 전자 장치 2503에 의해 중계되어 연결될 수 있다. 또는, 상기 제4 전자 장치 2507로 영상 통화가 전환되는 경우, 상기 제1 전자 장치 2501과의 영상 통화는 상기 제2 전자 장치 2503에 의해 중계되지 않고, 독립적인 네트워크(예컨대, 도 24의 제3 네트워크 2413)를 통해 직접 연결되어 영상 통화를 수행할 수 있다.
본 발명의 다른 실시예에서 제2 전자 장치 2503은 제1 전자 장치 2501과의 영상 통화 수행 중에 독립된 장치 예컨대, 제4 전자 장치 2507로부터 영상 통화 요청 신호를 수신할 수 있다. 본 발명의 다양한 실시예에서 제2 전자 장치 2503은 제1 전자 장치 2501과의 영상 통화를 유지하며, 상기 영상 통화 요청 신호를 전송한 제4 전자 장치 2507과 새로운 영상 통화 연결을 생성하여 3자 영상 통화를 수행할 수 있다. 상기 새로운 제4 전자 장치 2507은 제2 전자 장치 2503으로부터 제1 전자 장치 2501과의 영상 통화 연결 정보를 획득할 수 있다. 획득한 제1 전자 장치 2501의 영상 통화 연결 정보를 기반으로 제4 전자 장치 2507은 상기 제2 전자 장치 2503과의 영상 통화에 추가적으로 참여하여 제1 전자 장치 2501과 3자 통화를 수행할 수 있다. 다시 말해, 제1 전자 장치 2501, 제2 전자 장치 2503, 및 제4 전자 장치 2507은 3자 영상 통화를 수행할 수 있으며, 상기 제2 전자 장치 2503과 상기 제4 전자 장치 2507은 각각 상기 제1 전자 장치 2501과 1:1로 영상 통화를 수행할 수 있다. 본 발명의 다양한 실시예들은 주변의 다른 장치에게 제2 전자 장치 2503의 정보를 제공하지 않으면서 제1 전자 장치 2501과의 영상 통화를 가능하게 함으로써 사용자의 영상 통화 서비스 사용성을 높일 수 있다.
본 발명의 다양한 실시예에서 제4 전자 장치 2507로 영상 통화를 전환하는 동작 이후, 제2 전자 장치 2503은 상기 제4 전자 장치 2507의 영상 통화를 컨트롤하기 위한 권한을 유지하거나, 상기 영상 통화가 전환된 제4 전자 장치 2507에 의해 상기 영상 통화를 컨트롤될 수 있다.
도 26은 본 발명의 다양한 실시예에 따른 계정관리 서버를 이용하여 제4 전자 장치로의 영상 통화 전환 방법을 설명하기 위한 제1 전자 장치, 제2 전자 장치, 및 제4 전자 장치 간에 신호 흐름을 도시하는 도면이다.
도 26을 참조하면, 본 발명의 다양한 실시예에서 계정관리 서버 2600을 이용하여 제3 전자 장치(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 도 9의 제3 전자 장치 905, 도 14a의 제3 전자 장치 1413, 도 15의 제3 전자 장치 1505, 도 17a 및 도 17b의 제3 전자 장치 1705, 또는 도 24의 제 3 전자 장치 2409)에서 제4 전자 장치 2607(예컨대, 도 24의 제4 전자 장치 2411, 도 25의 제4 전자 장치 2507)로 영상 통화를 전환할 수 있다. 제4 전자 장치 2607은 제2 전자 장치 2603(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 도 9의 제2 전자 장치 903, 도 11의 제2 전자 장치 1123, 도 12의 제2 전자 장치 1215, 도 17a 및 도 17b의 제2 전자 장치 1703, 도 24의 제2 전자 장치 2405, 또는 도 25의 제2 전자 장치 2503)에 영상 통화 전환을 요청하며, 상기 제4 전자 장치 2607의 정보를 전송 2611할 수 있다. 상기 제4 전자 장치 2607로부터 영상 통화 전환 요청 신호 및 상기 제4 전자 장치 2607의 정보를 수신하면, 제2 전자 장치 2603은 상기 제4 전자 장치 2607을 인증 2613할 수 있다. 또한, 상기 제2 전자 장치 2603은 상기 제4 전자 장치 2607의 영상 통화 전환 요청을 수락하는 신호 2615를 상기 제4 전자 장치 2607에 전송할 수 있다.
상기 2613동작에서 제2 전자 장치 2603은 제4 전자 장치 2607을 인증하는 것으로 가정하여 설명하였지만 이에 한정하는 것은 아니며, 영상 통화를 수행 중인 전자 장치 예컨대, 제2 전자 장치 2603에 제2 네트워크(예컨대, 도 4의 제2 네트워크 413, 도 15의 제2 네트워크 1531, 또는 도 24의 제2 네트워크 2407)을 통해 연결된 제3 전자 장치에서 다른 전자 장치 예컨대, 제4 전자 장치 2607을 선택해서 영상 통화를 전환하는 경우 별도로 상기 제4 전자 장치 2607을 인증하는 동작을 수행하지 않을 수 있다.
제2 전자 장치 2603은는 제1 전자 장치 2601(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 도 7의 제1 전자 장치 701, 도 8의 제1 전자 장치 801, 도 9의 제1 전자 장치 901, 도 14a의 제1 전자 장치 1401, 도 17a 및 도 17b의 제1 전자 장치 1701, 도 24의 제1 전자 장치 2401, 또는 도 25의 제1 전자 장치 2501)과의 영상 통화 연결 정보를 상기 제4 전자 장치 2607에 전송 2617할 수 있다.
본 발명의 다양한 실시예에서 제2 전자 장치 2603은서버 2600에 상기 제4 전자 장치 2607의 정보를 임시로 등록 2619 할 수 있다.
본 발명의 다양한 실시예에서 상기 서버 2600은 사용자 계정 서버를 포함할 수 있으며, 상기 사용자 계정 서버는 사용자 계정 및 사용자의 전자 장치를 등록하고 관리할 수 있다. 예컨대, 상기 사용자 계정 서버는 사용자 계정을 기반으로 사용자의 전자 장치와 상기 전자 장치에 대한 정보(예컨대, 상태 정보)를 관리할 수 있다. 전술한 바와 같이 상기 사용자 계정 서버는 사용자 계정 기반으로 관리하는 방법 이외에도 전자 장치를 임시로 등록하여 상기 임시로 등록된 전자 장치와 영상 통화를 수행하도록 제공할 수 있다. 예컨대, 상기 사용자 계정 서버는 사용자 계정을 기반으로 스마트폰, 타블렛PC, 와치가 등록된 상태일 수 있으며, 추가적으로 상기 사용자 계정이 아닌 전자 장치 예컨대, TV를 임시로 등록할 수 있다. 상기 TV가 상기 사용자 계정 서버에 임시로 등록됨에 따라 영상 통화를 수행하고자 하는 전자 장치는 사용자 계정이 아닌 상기 TV와 영상 통화를 수행할 수 있다.
본 발명의 다양한 실시예에서 제1 전자 장치 2601은 영상 통화를 수행하기 위한 전자 장치로 상기 제4 전자 장치 2607을 상기 서버 2600으로부터 수신하여 업데이트 2621할 수 있다. 제2 전자 장치 2603은 상기 제4 전자 장치 2607의 정보를 제1 전자 장치 2601로 전송 2623할 수 있다.
본 발명의 다양한 실시예에서 제4 전자 장치 2607은 상기 제1 전자 장치 2601과의 영상 통화 연결 정보를 기반으로 상기 제1 전자 장치 2601에 영상 통화 연결을 요청 2625할 수 있다. 상기 제1 전자 장치 2601은 상기 제2 전자 장치 2603으로부터 수신한 상기 제4 전자 장치 2607의 정보를 기반으로 인코딩 스킴을 결정 2627하고, 이를 기반으로 영상 데이터를 인코딩 2629할 수 있다. 상기 제1 전자 장치 2601은 인코딩된 영상 데이터를 상기 제4 전자 장치 2607로 전송 2631하며, 상기 제4 전자 장치 2607로 영상 통화가 전환 2523될 수 있다. 상기 제4 전자 장치 2607은 상기 제1 전자 장치 2601로부터 수신한 인코딩된 영상 데이터를 재생 2633하며 상기 제1 전자 장치 2601과 영상 통화를 수행할 수 있다. 상기 제4 전자 장치 2607은 음성을 수신 2635하면, 제2 전자 장치 2603에 상기 음성 신호를 전송 2637할 수 있다. 제2 전자 장치 2603은 상기 제4 전자 장치 2607로부터 수신한 음성 신호를 제1 전자 장치 2601에 전송 2639할 수 있다. 이에 따라, 상기 제1 전자 장치 2601과 상기 제4 전자 장치2607은 영상 통화를 수행할 수 있다.
영상 통화가 종료되면 상기 계정관리 서버 2600에 임시로 등록된 제4 전자 장치 2607의 정보는 삭제될 수 있다.
전술한 실시예에서 제2 전자 장치 2603에 의해 상기 제4 전자 장치 2607로 영상 통화가 전환되는 동작이 제어되는 것으로 가정하여 설명하였지만, 이에 한정하는 것은 아니며, 도면에 도시하지 않았지만 제3 전자 장치에 의해 상기 제4 전자 장치 2607로 영상 통화가 전환되는 동작이 제어될 수 있다.
본 발명의 다양한 실시예에서 상기 제4 전자 장치 2607로 영상 통화가 전환되는 경우, 상기 제1 전자 장치 2601과의 영상 통화는 상기 제2 전자 장치 2603에 의해 중계되어 연결될 수 있다. 또는, 상기 제4 전자 장치 2607로 영상 통화가 전환되는 경우, 상기 제1 전자 장치 2601과의 영상 통화는 상기 제2 전자 장치 2603에 의해 중계되지 않고, 독립적인 네트워크(예컨대, 도 24의 제3 네트워크 2413)를 통해 직접 연결되어 영상 통화를 수행할 수 있다.
도 27은 본 발명의 다양한 실시예에 따른 제3 전자 장치에서 주변 전자 장치를 탐색하여 영상 통화를 전환하는 기능을 설명하기 위한 사용자 인터페이스를 나타내는 도면이다.
도 27을 참조하면, 본 발명의 다양한 실시예에서 제3 전자 장치(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 도 9의 제3 전자 장치 905, 도 14a의 제3 전자 장치 1413, 도 15의 제3 전자 장치 1505, 도 17a 및 도 17b의 제3 전자 장치 1705, 또는 도 24의 제 3 전자 장치 2409)는 영상 통화의 전환이 가능한 전자 장치를 탐색할 수 있다. 예컨대, 본 발명의 다양한 실시예에서 상기 제3 전자 장치는 BLE, wifi, 또는 zigbee 중 적어도 하나를 통해 상기 영상 통화의 전환이 가능한 전자 장치를 탐색할 수 있다. 상기 전자 장치를 탐색하는 동작에 응답하여 상기 제3 전자 장치는 동일한 네트워크에 연결되고 영상 통화의 전환이 가능한 전자 장치들을 표시할 수 있다. 예컨대, 제3 전자 장치는 동일한 네트워크에 연결되는 가전 제품, 전자 기기뿐만 아니라 헬스케어, 원격검침, 스마트홈, 또는 스마트카 등의 전자 장치들을 탐색할 수 있으며, 상기 탐색된 전자 장치들의 정보를 공유할 수 있다.
본 발명의 다양한 실시예에서 상기 영상 통화의 전환이 가능한 전자 장치는 사용자 계정에 등록되거나, 등록되지 않은 전자 장치를 포함할 수 있다. 제3 전자 장치는 상기 사용자 계정에 등록된 전자 장치일 경우 계정 정보와 함께 전자 장치를 나타내는 아이콘(예컨대, 프로필 사진)을 표시할 수 있다. 제3 전자 장치는 상기 사용자 계정에 등록되지 않은 전자 장치의 경우 계정 정보 없이 연결 가능한 전자 장치를 나타내는 아이콘만을 표시할 수 있다. 본 발명의 다양한 실시예에서 상기 계정 정보는 상기 탐색 신호에 포함되거나, 상기 탐색 신호를 기반으로 사용자 계정 서버에서 획득할 수 있다.
본 발명의 다양한 실시예에서 상기 탐색된 영상 통화의 전환이 가능한 전자 장치 중 특정 전자 장치를 선택하는 입력을 수신하면, 제3 전자 장치는 제1 전자 장치(예컨대, 도 4의 제1 전자 장치 401, 도 24의 제1 전자 장치 2401, 도 25의 제1 전자 장치 2501, 또는 도 26의 제1 전자 장치 2601)와 상기 선택된 특정 전자 장치가 연결되어 영상 통화를 수행할 수 있도록 제어할 수 있다.
예컨대, 영상 통화의 전환이 가능한 전자 장치를 탐색 동작에 응답하여 제3 전자 장치는 도 27에 도시된 바와 같이 영상 통화의 전환이 가능한 Jesse 2703, Kathryn 2705, TV 아이콘 2707을 포함하는 팝업창 2701을 표시할 수 있다. 본 발명의 다양한 실시예에서 사용자 계정에 등록된 전자 장치가 탐색되는 경우 예컨대, 2703 및 2705와 같이 Jesse 2703, Kathryn 2705의 계정 정보가 함께 전자 장치를 나타내는 아이콘을 함께 표시할 수 있다. 또는, 사용자 계정에 등록되지 않은 전자 장치가 탐색되는 경우 예컨대, 2707과 같이 TV룰 나타내는 아이콘 2707만을 표시할 수 있다. 상기 Jesse 2703, Kathryn 2705, TV 아이콘 2707 중 하나의 아이콘을 선택하는 입력이 감지되면, 선택된 아이콘에 해당하는 전자 장치로 영상 통화가 전환될 수 있다.
본 발명의 다른 실시예에서 영상 통화를 전환하는 동작은 적외선 통신을 통해 수행될 수 있다. 예컨대, 본 발명의 다양한 실시예들은 TV 리모컨 수광부와 전자 장치의 적외선 발광부를 이용하여 리모컨으로 영상 통화를 전환할 전자 장치를 선택할 수 있다. 예컨대, 전술한 영상 통화 전환을 위한 신호 및 영상 통화를 수행하기 위한 전자 장치 간에 정보를 교환하는 동작은 상기 적외선 통신을 통해 수행될 수 있다. 이에 따라, 본 발명의 다양한 실시예에서 사용자는 영상 통화를 수행하기 위한 전자 장치로 영상 통화를 전환하는 동작을 직관적으로 수행할 수 있다.
도 28은 본 발명의 다양한 실시예에 따른 제1 전자 장치 내지 제4 전자 장치 간에 연결을 도시하는 도면이다.
본 발명의 다양한 실시예에서 2개 이상의 전자 장치 또는 확장 연결 장치의 체인 구조를 통해 영상 통화를 수행할 수 있다.
도 28을 참조하면, 본 발명의 다양한 실시예에서 제1 전자 장치 2801(예컨대, 도 4의 제1 전자 장치 401, 도 6의 제1 전자 장치 601, 도 7의 제1 전자 장치 701, 도 8의 제1 전자 장치 801, 도 9의 제1 전자 장치 901, 도 14a의 제1 전자 장치 1401, 도 17a 및 도 17b의 제1 전자 장치 1701, 도 24의 제1 전자 장치 2401, 도 25의 제1 전자 장치 2501, 또는 도 26의 제1 전자 장치 2601)은 제1 네트워크 2821(예컨대, 도 4의 제1 네트워크 411, 도 15의 제1 네트워크 1523, 또는 도 24의 제1 네트워크 2403)을 통해 제2 전자 장치 2803(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 도 9의 제2 전자 장치 903, 도 11의 제2 전자 장치 1123, 도 12의 제2 전자 장치 1215, 도 17a 및 도 17b의 제2 전자 장치 1703, 도 24의 제2 전자 장치 2405, 도 25의 제2 전자 장치 2503, 또는 도 26의 제2 전자 장치 2603)과 연결될 수 있다. 상기 제2 전자 장치 2803은 제2 네트워크 2823(예컨대, 도 4의 제2 네트워크 413, 도 15의 제2 네트워크 1531, 또는 도 24의 제2 네트워크 2407)을 통해 제3 전자 장치 2805(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 도 9의 제3 전자 장치 905, 도 14a의 제3 전자 장치 1413, 도 15의 제3 전자 장치 1505, 도 17a 및 도 17b의 제3 전자 장치 1705, 또는 도 24의 제 3 전자 장치 2409)와 연결될 수 있다. 상기 제3 전자 장치 2805는 홈 네트워크 서버(home network server) 2807에 제3 네트워크 2825를 통해 연결될 수 있다. 상기 제4 전자 장치 2809는 상기 홈 네트워크 서버 2807에 제4 네트워크 2827을 통해 연결될 수 있다.
또한, 본 발명의 다양한 실시예에서 상기 홈 네트워크 서버 2807에 다수 개의 전자 장치가 연결될 수 있다. 상기 홈 네트워크 서버 2807을 통해 IoT(internet of things) 네트워크에 접속할 수 있다. 예컨대, 상기 홈 네트워크 서버 2807에 제4 전자 장치 2809뿐만 아니라 n개의 전자 장치 2811가 n개의 네트워크 2829를 통해 연결될 수 있다. 이를 통해, 홈 네트워크 서버 2807는 광범위한 지역에 존재하는 전자 장치를 등록할 수 있을 뿐만 아니라, 상기 전자 장치의 상태 정보를 모니터링할 수 있다. 이에 따라 사용자는 상기 홈 네트워크 서버 2807에 등록된 전자 장치의 상태 정보를 확인할 수 있으며, 상기 상태 정보를 기반으로 영상 통화의 수행이 가능한지 여부를 빠르게 확인할 수 있다.
본 발명의 다양한 실시예에서 상기 홈 네트워크 서버 2807을 통해 제3 전자 장치 2805와 제1 전자 장치 2801의 영상 통화를 제4 전자 장치 2809에 연결할 수 있다.
예컨대, 3개 이상의 전자 장치가 체인 형태로 연결되어 있는 경우 체인의 중간에 연결되어 있는 전자 장치 예컨대, 홈 네트워크 서버 2807은 네트워크 및 연결된 전자 장치의 정보를 중계할 수 있다.
본 발명의 다양한 실시예에서 상기 홈 네트워크 서버 2807은 인코더(encoder)로서 동작할 수 있다. 예컨대, 상기 홈 네트워크 서버 2807은 제1 전자 장치 2801, 제2 전자 장치 2803, 제3 전자 장치 2805, 상기 홈 네트워크 서버 2807의 인코더를 제어하여 영상 데이터를 제4 전자 장치 2809에 전송할 수 있다. 제1 전자 장치 2801과 제2 전자 장치 2803을 연결하는 제1 네트워크 2821, 상기 제2 전자 장치 2803과 제3 전자 장치 2805를 연결하는 제2 네트워크 2823, 상기 제3 전자 장치 2805와 상기 홈 네트워크 서버 2807을 연결하는 제3 네트워크 2825의 상태가 양호하면 제1 전자 장치 2801 또는 제2 전자 장치 2803은는 영상 데이터의 인코딩 없이 영상 통화를 위한 영상 데이터를 홈 네트워크 서버 2807에 전송할 수 있다.
본 발명의 다양한 실시예에서 상기 홈 네트워크 서버 2807은 상기 수신한 영상 통화를 위한 영상 데이터를 인코딩 예컨대, transcoding 방식으로 인코딩 할 수 있다. 예컨대, 상기 홈 네트워크 서버 2807이 고정된 전원 장치를 사용하고 있다면 제1 전자 장치 2801 또는 제2 전자 장치 2803의 배터리를 사용하여 영상 데이터를 인코딩 하는 것에 비해 효율적일 수 있다.
본 발명의 다양한 실시예에서 scalable encoding 방식으로 영상 데이터를 인코딩하는 동작 또한 각 전자 장치에서 수신하는 layer 중 일부를 다음 연결 전자 장치에 전달하면서 scalable encoding 효과를 극대화시킬 수 있다. 예컨대, 제1 전자 장치 2801은 상황에 따라 base layer와 enhanced layer #1을 제2 전자 장치 2803에 전송할 수 있다. 상기 제2 전자 장치 2803은 상기 수신한 base layer와 enhanced layer #1을 제3 전자 장치 2805에 전송할 수 있다. 또한, 상기 제3 전자 장치 2805는 제4 전자 장치 2809로 영상 통화를 전환을 감지하면, 상기 제2 전자 장치 2803으로부터 수신한 base layer와 enhanced layer #1을 홈 네트워크 서버 2807에 전송할 수 있다. 상기 홈 네트워크 서버 2807은 상기 제3 전자 장치 2805로부터 수신한 base layer와 enhanced layer #1을 모두 전송하는 것이 아니 상황에 따라 상기 base layer만을 상기 제4 전자 장치 2809에 전송할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치 2805를 기준으로 영상 통화 전환 동작이 수행되거나, 또는 홈 네트워크 서버 2807을 기준으로 영상 통화 전환 동작이 수행될 수 있다.
도 29는 본 발명의 다양한 실시예에 따른 다중 연결 방법에 도시하는 도면이다.
본 발명의 다양한 실시예에서 제2 전자 장치 (예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 도 9의 제2 전자 장치 903, 도 11의 제2 전자 장치 1123, 도 12의 제2 전자 장치 1215, 도 17a 및 도 17b의 제2 전자 장치 1703, 도 24의 제2 전자 장치 2405, 도 25의 제2 전자 장치 2503, 도 26의 제2 전자 장치 2603, 또는 도 28의 제2 전자 장치 2803) 또는 상기 제2 전자 장치에 연결된 제3 전자 장치(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 도 9의 제3 전자 장치 905, 도 14a의 제3 전자 장치 1413, 도 15의 제3 전자 장치 1505, 도 17a 및 도 17b의 제3 전자 장치 1705, 도 24의 제 3 전자 장치 2409, 또는 도 28의 제3 전자 장치 2805)에서 다중 영상 통화를 독립적으로 수행할 수 있다. 본 발명의 다양한 실시예에서 상기 제2 전자 장치 또는 상기 제2 전자 장치에 연결된 제3 전자 장치를 통해 다중 영상 통화를 수행하는 경우, 상기 제2 전자 장치 또는 제3 전자 장치와의 제1 영상 통화에 대해서는 정상적인 영상 통화(예컨대, 영상 및 음성 신호 수신/발신)를 수행할 수 있으며, 새로운 전자 장치와의 제2 영상 통화에 대해서는 영상과 함께 STT(speech to text), 또는 TTS(text to speech) 기능을 이용하여 부분적으로 영상 통화를 수행할 수 있다.
도 29를 참조하면, 제3 전자 장치는 2901동작에서 제1 영상 통화를 수행할 수 있다. 예컨대, 제3 전자 장치 예컨대, 태블릿PC를 통해 제1 영상 통화를 수행 중일 수 있다.
제3 전자 장치는 2903동작에서 새로운 전자 장치로부터 제2 영상 통화 요청을 수신할 수 있다. 예컨대, 상기 태블릿PC를 통해 제1 영상 통화를 수행 중에 새로운 전자 장치로부터 제2 영상 통화 요청을 수신할 수 있다.
제3 전자 장치는 2905동작에서 제2 영상 통화를 수락할 수 있다. 예컨대, 제3 전자 장치는 상기 태블릿PC가 아닌 다른 전자 장치 예컨대, TV 또는 카킷으로 상기 제2 영상 통화를 수행할 전자 장치로 선택하여 상기 새로운 전자 장치와 상기 제2 영상 통화를 수행할 수 있다.
제3 전자 장치는 2907동작에서 제1 영상 통화를 위한 제1 영상 데이터와 제2 영상 통화를 위한 제2 영상 데이터를 표시할 수 있다. 예컨대, 제1 영상 통화는 정상적인 방법(예컨대, 영상 및 음성 신호 수신/발신)으로 수행될 수 있으며, 제2 영상 통화는 화면만 제공된 상태에서 음성 정보를 STT/TTS 기능으로 처리될 수 있다. 예컨대, 상기 음성 정보는 자막으로 표시될 수 있으며, 제3 전자 장치는 문자를 입력하는 입력을 감지하면, 상기 입력된 문자를 음성으로써 상대 전자 장치에 전송할 수 있다. 상기 문자는 별도의 장치 예컨대, 블루투스 키보드를 통해 입력될 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치 예컨대, 와치 등의 제어 장치를 이용하여 활성화된 영상 통화와 대기 상태(예컨대, 비활성화)의 영상 통화를 구분할 수 있다. 예컨대, 제3 전자 장치는 활성화된 영상 통화에서 음성을 수신/발신할 수 있다. 제3 전자 장치는 대기 상태의 영상 통화에서 상대 전자 장치로부터 음성 신호를 수신하는 경우, 알림 또는 진동, 깜빡임, 또는 비프(beep)음 등을 이용하여 상대 전자 장치로부터 음성 신호가 수신되었음을 출력할 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 2909동작에서 상기 제1 영상 통화 및 제2 영상 통화를 수행할 수 있다. 예컨대, 상기 제3 전자 장치는의 화면은 예컨대, 2개의 영역으로 분할되어 제1 영역에 제1 영상 통화를 위한 제1 영상 데이터를 표시할 수 있으며, 제2 영역에 제2 영상 통화를 위한 제2 영상 데이터를 표시할 수 있다. 상기 분할된 두 개의 영역은 사용자에 의해 조절될 수 있다. 전술한 바와 같이 제1 영상 통화는 정상적인 영상 통화로, 제2 영상 통화는 STT/TTS 기능을 이용하여 상기 제1 영상 통화와 상기 제2 영상 통화가 동시에 수행될 수 있다. 또한, 활성/대기 상태의 영상 통화를 구분하여 부분적으로 제1 영상 통화와 제2 영상 통화가 동시에 수행될 수 있다. 본 발명의 다양한 실시예에서 음성 정보에 의한 알림은 개별 창으로 표시할 수 있으며, 제3 전자 장치 예컨대, 와치를 통해 출력될 수 있다.
도 30은 본 발명의 다양한 실시예에 따른 영상 데이터 저장 방법을 설명하기 위한 도면이다.
본 발명의 다양한 실시예에서 영상 통화를 수신하는 제2 전자 장치(예컨대, 도 4의 제2 전자 장치 403, 도 6의 제2 전자 장치 603, 도 7의 제2 전자 장치 703, 도 8의 제2 전자 장치 803, 도 9의 제2 전자 장치 903, 도 11의 제2 전자 장치 1123, 도 12의 제2 전자 장치 1215, 도 17a 및 도 17b의 제2 전자 장치 1703, 도 24의 제2 전자 장치 2405, 도 25의 제2 전자 장치 2503, 도 26의 제2 전자 장치 2603, 또는 도 28의 제2 전자 장치 2803) 또는 상기 제2 전자 장치에 연결된 제3 전자 장치(예컨대, 도 4의 제3 전자 장치 405, 도 6의 제3 전자 장치 605, 도 7의 제3 전자 장치 705, 도 8의 제3 전자 장치 805, 도 9의 제3 전자 장치 905, 도 14a의 제3 전자 장치 1413, 도 15의 제3 전자 장치 1505, 도 17a 및 도 17b의 제3 전자 장치 1705, 도 24의 제 3 전자 장치 2409, 또는 도 28의 제3 전자 장치 2805)에서 사용자 설정 또는 선택에 의해 영상 데이터를 저장할 수 있다. 예컨대, 상기 영상 데이터에서 화면 또는 음성을 저장할 수 있고, 상기 화면 및 음성을 함께 저장할 수 있다.
도 30을 참조하면, 제3 전자 장치는 3001동작에서 영상 통화를 수행하는 중에 3003동작에서 영상 데이터를 저장하기 위한 입력을 감지할 수 있다. 상기 영상 데이터를 저장하기 위한 입력이 감지되면, 상기 영상 데이터를 저장하기 위한 입력을 제2 전자 장치에 전송할 수 있다. 제2 전자 장치는 상기 수신된 영상 데이터를 저장하기 위한 입력을 기반으로 영상 통화를 송신하는 제1 전자 장치에 영상을 저장하기 위한 영상 데이터의 전송을 요청할 수 있다. 예컨대, 제2 전자 장치는 영상 통화를 위한 영상 데이터를 재생하는 중에 특정 화면을 캡쳐 또는 저장하는 입력을 제3 전자 장치로부터 수신하면, 상기 영상 통화를 수행하기 위한 영상 데이터를 생성한 제1 전자 장치에 특정 화면에 대한 영상 데이터 예컨대, 이미지 전송을 요청할 수 있다. 상기 제2 전자 장치로부터 특정 화면에 대한 영상 데이터 전송을 요청을 수신한 제1 전자 장치는 상기 특정 화면에 해당하는 영상 데이터를 추출하여 상기 제2 전자 장치에 전송할 수 있다. 상기 제1 전자 장치는 네트워크 상태 정보 등을 고려하여 재가공된 이미지가 아닌 고품질의 이미지를 제2 전자 장치에 전송할 수 있다. 상기 고품질의 이미지는 제어 신호 채널을 통해 전달되거나, 새로운 채널을 형성하여 전달될 수 있다.
본 발명의 다양한 실시예에서 제3 전자 장치는 3005동작에서 영상 데이터를 저장할 수 있다. 예컨대, 본 발명의 다양한 실시예에서 제3 전자 장치는 상기 특정 화면에 대한 영상 데이터를 제2 전자 장치 또는 상기 제3 전자 장치의 외부 상황 정보를 기반으로 저장할 수 있다. 예컨대, 제1 전자 장치의 외부 상황 정보는 밝고 시끄러운 상태이고, 제2 전자 장치의 외부 상황 정보는 어둡고 조용한 상태인 경우, 제3 전자 장치는 상기 특정 화면에 대한 영상 데이터를 상기 제2 전자 장치의 외부 상황 정보에 해당하는 낮은 조도 및 낮은 볼륨으로 설정하여 저장할 수 있다. 다시 말해, 이미지 또는 음성은 제2 전자 장치 또는 제3 전자 장치의 주변 정보를 고려하여 캡쳐 또는 저장될 수 있다.
본 발명의 다양한 실시예에서 제 3 전자 장치는 감지된 재생 중인 화면의 영상을 저장하기 위한 입력을 제2 전자 장치에 전송하면, 상기 제2 전자 장치로부터 영상 처리되기 이전의 영상 데이터를 수신하여 저장할 수 있다. 이를 통해 사용자는 보다 고품질의 영상 데이터를 획득할 수 있다. 이때 상기 영상은 제3 전자 장치로 전달되어 저장되거나, 제2 전자 장치에 저장될 수 있다. 예컨대, 영상 통화 서비스를 수행하기 위한 전자 장치로 예컨대, 외부 TV 장치를 임시로 선택되는 경우, 제3 전자 장치는 상기 영상 통화 서비스를 제공하고 있는 TV가 아닌 제2 전자 장치 또는 제3 전자 장치에 상기 영상을 저장하도록 제어할 수 있다. 다시 말해, 전자 장치의 속성, 예컨대, 계정 등록 여부, 공용 기기 여부 등에 따라 영상 데이터가 저장될 전자 장치는 변경될 수 있다.
본 발명의 다양한 실시예에서 상기 영상은 클라우드 저장소에 저장될 수 있다. 상기 클라우드 저장소는 전자 장치 owner 계정의 클라우드 저장소, 또는 영상통화 서비스를 수신한 계정의 클라우드 서버를 포함할 수 있다. 상기 클라우드 저장소는 사용자에 의해 선택될 수도 있고, 전자 장치의 속성, 예컨대, 계정 등록 여부, 공용 기기 여부 등에 따라 결정될 수 있다.
본 발명의 다양한 실시예에서 영상 데이터 예컨대, 영상 및 음성을 저장하는 경우, 제3 전자 장치는 메타 태그(meta tag)로서 예컨대, 영상 통화 시간, 장소, 또는 전자 장치의 정보를 삽입하거나, 영상이나 이미지에 워터마크(watermark) 형태로 표시할 수 있다.
본 발명의 다양한 실시예에서 영상 데이터를 저용량으로 저장하거나 음성만을 저장하고자 하는 경우, 제3 전자 장치는 key frame 추출 및 이미지 슬라이드 저장할 수 있다. 예컨대, 제3 전자 장치는 예컨대, 10분간의 영상 데이터를 기반으로 key frame 추출 및 이미지 슬라이드 방식으로 저장할 수 있다. 이에 따라, 본 발명의 다양한 실시예들은 저장 용량이 줄어든 영상 데이터를 저장할 수 있다. 또한, 상기 저장된 영상은 음성과 동기화된 형태로 저장될 수 있다.
본 발명의 다양한 실시예에서 저장된 영상 데이터는 편집 장치를 통해 특정 이미지를 중간에 삽입하거나 제거할 수 있으며, 삽입/제거된 이미지와 관계없이 기존 영상 데이터의 음성과 영상은 동기화될 수 있다.
본 발명의 다양한 실시예에서 전자 장치의 영상 인코딩 방법은, 제1 전자 장치로부터 영상 통화 수신에 관한 신호를 통신부를 통해 수신하는 동작, 유저 인터페이스를 통해 상기 영상 통화 요청을 수락하는 사용자 입력을 수신하는 동작, 상기 영상 통화 요청을 수락하는 신호를 상기 통신부를 통해 상기 제1 전자 장치로 전송하는 동작, 상기 전자 장치의 상태 정보와 상기 통신부의 상태 정보를 기반으로 인코딩된 비디오 스트림을 상기 제1 전자 장치로부터 상기 통신부를 통해 수신하는 동작, 상기 수신된 비디오 스트림을 표시하며 수신된 오디오를 재생하는 동작, 및 마이크를 통해 사용자의 음성이 수신되면, 상기 수신된 음성을 상기 통신부를 통해 상기 제1 전자 장치로 전송하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 수신된 음성을 상기 제1 전자 장치로 전송하는 동작은, 카메라를 통해 촬영되는 비디오 스트림을 상기 전자 장치의 상태 정보와 상기 통신부의 상태 정보를 기반으로 인코딩하는 동작, 및 상기 인코딩한 비디오 스트림을 상기 통신부를 통해 상기 제1 전자 장치로 전송하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 수신된 비디오 스트림을 표시하며, 상기 비디오 스트림의 품질을 조정하기 위한 인디케이터를 표시하는 동작을 더 포함하며, 상기 인디케이터를 표시하는 동작은, 상기 표시된 인디케이터에서 상기 비디오 스트림의 품질을 조정하는 입력이 감지되면, 상기 조정된 비디오 스트림의 품질에 대응하는 인코딩 스킴을 결정하여 상기 제1 전자 장치에 전송하는 동작, 및 상기 제1 전자 장치로부터 상기 인코딩 스킴을 기반으로 인코딩된 비디오 스트림을 수신하여 표시하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 수신된 비디오 스트림에서 ROI를 설정하기 위한 입력이 감지되면, 상기 설정된 ROI를 상기 제1 전자 장치로 전송하는 동작, 및 상기 제1 전자 장치로부터 상기 ROI를 기준으로 포커스, 크롭, 화질 변경, 또는 노출 조정 중 적어도 하나로 인코딩된 비디오 스트림을 수신하여 표시하는 동작을 더 포함할 수 있다.
다양한 실시예에 따른 영상 인코딩 방법은, 상기 전자 장치의 움직임을 감지하는 동작, 상기 전자 장치의 움직임에 대한 제1 센서 정보를 수집하여 분석하는 동작, 상기 분석된 센서 정보를 기반으로 상기 전자 장치의 움직임이 기 설정된 범위에 포함되는 경우, 상기 수신된 오디오를 재생하고 상기 수신된 비디오 스트림을 저장하는 동작, 상기 전자 장치의 움직임을 감지하면, 상기 전자 장치의 움직임에 대한 제2 센서 정보를 수집하여 분석하는 동작, 및 상기 분석된 센서 정보를 기반으로 상기 전자 장치의 움직임이 기 설정된 범위에 포함되지 않는 경우, 상기 저장된 비디오 스트림을 재생하는 동작을 더 포함할 수 있다.
다양한 실시예에 따른 영상 인코딩 방법은, 상기 영상 통화를 전환하기 위한 신호를 감지하는 동작, 상기 영상 통화 전환이 가능한 적어도 하나의 전자 장치를 검색하여 표시하는 동작, 상기 표시된 적어도 하나의 전자 장치 중에서 기 설정된 시간 동안 상기 영상 통화를 전환할 전자 장치를 선택하는 입력이 감지되면, 상기 선택된 전자 장치에 영상 통화 전환 신호를 전송하는 동작, 및 상기 표시된 적어도 하나의 전자 장치 중에서 기 설정된 시간 동안 상기 영상 통화를 전환을 전자 장치를 선택하는 입력이 감지되지 않으면, 상기 표시된 적어도 하나의 전자 장치에 대한 상태 정보, 상기 통신부의 상태 정보를 분석하여 우선순위를 부여하고, 상기 부여된 우선순위가 높은 전자 장치를 영상 통화를 전환할 전자 장치로 자동으로 선택하고, 상기 자동으로 선택된 전자 장치에 영상 통화 전환 신호를 전송하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 영상 통화 수신에 관한 신호를 통신부를 통해 수신하는 동작은, 상기 전자 장치의 상태 정보와 상기 통신부의 상태 정보를 분석하는 동작, 및 상기 전자 장치의 상태 정보와 상기 통신부의 상태 정보를 기반으로 수행할 수 있는 상기 영상 통화와 관련된 기능을 포함하는 상기 유저 인터페이스를 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따른 영상 인코딩 방법은, 제3 전자 장치로부터 영상 통화 요청을 수신하는 동작, 상기 수신된 제3 전자 장치로부터의 영상 통화 요청을 수락하는 사용자 입력을 감지하는 동작, 및 상기 제1 전자 장치로부터 수신된 비디오 스트림을 터치스크린의 제1 영역에 표시하고, 상기 제3 전자 장치와의 영상 통화를 위한 비디오 스트림을 상기 터치스크린의 제2 영역에 표시하는 동작을 더 포함할 수 있다.
다양한 실시예에 따른 영상 인코딩 방법은, 사용자 입력을 감지하는 동작, 상기 감지된 사용자 입력에 대한 압력 레벨 또는 상기 사용자 입력이 감지되는 방향을 확인하는 동작, 및 상기 압력 레벨 또는 상기 사용자 입력이 감지되는 방향에 대응하는 기능을 수행하는 동작을 더 포함할 수 있다.
다양한 실시예에 따른 영상 인코딩 방법은, 상기 수신된 비디오 스트림을 저장하기 위한 입력을 감지하는 동작, 상기 전자 장치의 외부 상황 정보를 수집하고, 상기 수집된 외부 상환 정보와 상기 입력이 감지된 시점에 대한 비디오 스트림을 저장하기 위한 요청을 상기 제1 전자 장치에 전송하는 동작, 및 상기 제1 전자 장치로부터 상기 외부 상황 정보를 기반으로 인코딩된 비디오 스트림을 수신하여 저장하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 외부 상황 정보는, 상기 비디오 스트림을 저장하기 위한 입력이 감지된 시점에 대한 날씨 정보, 밝기 정보, 또는 사운드 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 상기 영상 통화 수신에 관한 신호를 통신부를 통해 수신하는 동작은, 상기 영상 통화가 수행 가능한 적어도 하나의 전자 장치를 검색하는 동작, 및 상기 검색된 적어도 하나의 전자 장치를 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 사용자 입력을 수신하는 동작은, 상기 표시된 적어도 하나의 전자 장치에서 상기 영상 통화를 수행하기 위한 전자 장치를 선택하는 동작일 수 있다.
다양한 실시예에 따르면, 상기 검색된 적어도 하나의 전자 장치를 표시하는 동작은, 상기 적어도 하나의 전자 장치를 아이콘으로 표시하는 동작, 상기 통신부의 상태 정보와 상기 전자 장치의 상태 정보를 분석하는 동작, 및 상기 분석된 상기 통신부의 상태 정보와 상기 전자 장치의 상태 정보를 기반으로 상기 적어도 하나의 전자 장치를 나타내는 아이콘의 크기, 명도, 색상, 또는 모양 중 적어도 하나를 포함하는 아이콘에 대한 속성 정보 또는 상기 아이콘이 배치되는 위치를 결정하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에서 영상 인코딩 방법은, 제1 전자 장치로부터 영상 통화 수신에 관한 신호를 통신부를 통해 수신하는 동작, 유저 인터페이스를 통해 상기 영상 통화 요청을 수락하는 사용자 입력을 수신하는 동작, 상기 영상 통화 요청을 수락하는 신호를 상기 통신부를 통해 상기 제1 전자 장치로 전송하는 동작, 상기 전자 장치의 상태 정보와 상기 통신부의 상태 정보를 기반으로 생성된 복수의 이미지들과 오디오 신호를 상기 통신부를 통해 수신하는 동작, 상기 수신된 복수의 이미지들을 표시하며, 상기 오디오 신호를 재생하는 동작, 및 마이크를 통해 사용자의 음성이 수신되면, 상기 수신된 음성을 상기 통신부를 통해 상기 제1 전자 장치로 전송하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에서 영상 인코딩 방법은, 제1 전자 장치 또는 서버로부터 제1 통신부를 통해 영상 통화 요청 신호를 수신하는 동작, 상기 수신된 영상 통화 요청 신호를 표시하는 동작, 상기 수신된 영상 통화 요청 신호에 기초하여 알림을 생성하는 동작, 상기 생성된 알림을 제2 통신부를 통해 제2 전자 장치에 전달하는 동작, 상기 제2 전자 장치로부터 상기 제2 통신부를 통해 상기 영상 통화 요청을 수락하는 신호를 수신하는 동작, 상기 수신된 수락 신호에 대응하여 상기 영상 통화 요청 신호를 표시하는 동작을 중단하며, 상기 수신된 수락 신호에 대응하여 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 상기 제2 전자 장치의 상태 정보와 상기 제2 통신부의 상태 정보를 기반으로 인코딩하는 동작, 상기 인코딩한 비디오 스트림을 제2 통신부를 통해 상기 제2 전자 장치로 전송하는 동작, 및 상기 제2 전자 장치로부터 상기 제2 통신부를 통해 수신한 오디오 신호를 제1 전자 장치 또는 상기 서버에 상기 제1 통신부를 통해 전달하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 인코딩하는 동작은, 상기 제2 전자 장치가 지원하는 비디오 스트림에 대한 최대 해상도, 최대 화질, 또는 최대 fps 중 적어도 하나를 확인하는 동작, 상기 제2 통신부의 상태를 기반으로 상기 최대 해상도, 최대 화질, 또는 최대 fps 중 적어도 하나를 조정하는 동작, 및 상기 조정된 해상도, 화질, 또는 fps 중 적어도 하나를 기반으로 상기 비디오 스트림을 인코딩하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 인코딩하는 동작은, 상기 제2 전자 장치로부터 비디오 스트림을 수신하는 동작, 상기 수신된 비디오 스트림을 기반으로 인코딩 스킴을 결정하는 동작, 및 상기 결정된 인코딩 스킴을 기반으로 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 인코딩하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 인코딩하는 동작은, 상기 제2 전자 장치로부터 설정된 ROI를 수신하는 동작, 및 상기 ROI를 포커스, 크롭, 화질 변경, 또는 노출 조정 중 적어도 하나를 통해 인코딩하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 인코딩하는 동작은, 상기 제2 전자 장치를 서버에 등록하는 동작, 및 상기 서버에 등록된 상기 제2 전자 장치에 대한 상태 정보와 상기 제2 통신부의 상태 정보를 기반으로 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 인코딩하는 동작을 포함할 수 있다.
다양한 실시예에 따른 영상 인코딩 방법은, 제3 전자 장치로부터 영상 통화 요청 신호를 수신하는 동작, 상기 제3 전자 장치의 정보를 수신하는 동작, 영상 통화 연결 정보를 상기 제3 전자 장치에 전송하는 동작, 및 상기 제 3 전자 장치의 정보를 상기 제1 통신부를 통해 제1 전자 장치에 전송하는 동작을 더 포함할 수 있다.
다양한 실시예에 따른 영상 인코딩 방법은, 제1 전자 장치 또는 서버로부터 제1 통신부를 통해 영상 통화 요청 신호를 수신하는 동작, 상기 수신된 영상 통화 요청 신호에 기초하여 알림을 생성하는 동작, 상기 생성된 알림을 제2 통신부를 통해 제2 전자 장치에 전달하는 동작, 상기 제2 전자 장치로부터 상기 제2 통신부를 통해 상기 영상 통화 요청을 수락하는 신호를 수신하는 동작, 상기 수신된 수락 신호에 대응하여 상기 영상 통화 요청 신호를 표시하는 동작을 중단하며, 상기 수신된 수락 신호에 대응하여 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 기초로 복수의 이미지들을 생성하고, 상기 비디오 스트림에서 오디오 신호를 추출하는 동작, 상기 생성된 복수의 이미지들과 상기 추출된 오디오 신호를 제2 통신부를 통해 상기 제2 전자 장치로 전송하는 동작, 및 상기 제2 전자 장치로부터 상기 제2 통신부를 통해 수신한 오디오 신호를 상기 제1 전자 장치 또는 상기 서버에 상기 제1 통신부를 통해 전달하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 생성된 복수의 이미지들과 상기 추출된 오디오 신호를 제2 통신부를 통해 상기 제2 전자 장치로 전송하는 동작은, 상기 제2 전자 장치의 상태 정보와 상기 제2 통신부의 상태 정보를 획득하는 동작, 및 상기 획득된 제2 전자 장치의 상태 정보와 상기 제2 통신부의 상태 정보를 기반으로 상기 복수의 이미지들 중 적어도 하나의 이미지를 상기 제2 전자 장치에 전송하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 복수의 이미지들은 적어도 하나의 정지 이미지를 포함하며, 상기 복수의 이미지들을 생성하는 동작은, 상기 제1 전자 장치로부터 수신하는 비디오 스트림에서 I-frame을 추출하는 동작, 이전에 추출된 I-frame과 상기 추출된 I-frame을 비교하여 상기 이전에 추출된 I-frame과 상기 추출된 I-frame 간에 유사도를 결정하는 동작, 상기 유사도가 기 설정된 기준값을 초과하는 경우 상기 추출된 I-frame을 기반으로 상기 적어도 하나의 정지 이미지를 생성하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 생성된 복수의 이미지들을 상기 제2 통신부를 통해 상기 제2 전자 장치로 전송하는 동작은, 상기 복수의 이미지들을 상기 제2 통신부의 SPP(serial port profile)를 통해 상기 제2 전자 장치에 전송하는 동작이고, 상기 추출된 오디오 신호를 제2 통신부를 통해 상기 제2 전자 장치로 전송하는 동작은, 상기 오디오 신호를 상기 제2 통신부의 HFP(hands free profile)를 통해 상기 제2 전자 장치에 전송하는 동작일 수 있다.
다양한 실시예에 따른 영상 인코딩 방법은, 영상 통화 요청 신호를 제1 통신부를 통해 제1 전자 장치에 전송하는 동작, 상기 제1 전자 장치로부터 상기 영상 통화 요청을 수락하는 신호와 상기 영상 통화를 수행하기 위한 제2 전자 장치의 상태 정보와 제2 통신부의 상태 정보를 상기 제1 통신부를 통해 수신하는 동작, 상기 수신한 제2 전자 장치의 상태 정보와 제2 통신부의 상태 정보를 기반으로 비디오 스트림을 인코딩하여 상기 제1 전자 장치에 전송하는 동작, 및 상기 제1 전자 장치로부터 음성 신호를 수신하는 동작을 포함할 수 있다.
도 31은 본 발명의 다양한 실시예에 따른 소프트웨어를 도시하는 도면이다.
도 31을 참조하면, 본 발명의 다양한 실시예에서 영상 통화 동작 방법 및 사용자 인터페이스 제공 방법은 API(application programming interface)를 이용해 제공될 수 있다. 이 경우 전자 장치 제조사에서 만든 어플리케이션뿐만 아니라3rd party 어플리케이션들도 이러한 API를 통해 영상 통화를 수행하고 해당 사용자 인터페이스를 제공할 수 있다. 예컨대, API 3105는 영상 통화를 수행하기 위한 파라미터를 API-Calling components 3101호출 3109하면, 상기 API-Calling components 3101로부터 파라미터 반환 값 3103을 수신할 수 있다. 상기 API는 상기 파라미터 반환 값 3103을 상기 API-Implementing components로 전송할 수 있다. 상기 API-Implementing components는 상기 파라미터 반환 값 3103을 이용하여 영상 통화를 수행하기 위한 사용자 인터페이스를 구현할 수 있다.
이상에서는 본 발명의 실시예에 따른 영상 인코딩 방법 및 이를 지원하는 장치에 대하여 본 명세서 및 도면을 통해 바람직한 실시예들에 대하여 설명하였으며, 비록 특정 용어들이 사용되었으나 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위해 일반적인 의미에서 사용된 것일 뿐, 본 발명이 전술한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 기술적 사상에 바탕을 둔 다양한 실시예가 가능함은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
510: 통신부
520: 메모리
530: 터치스크린
540: 센서부
550: 카메라
560: 오디오 처리부
570: 프로세서

Claims (61)

  1. 전자 장치에 있어서,
    제1 전자 장치와 통신하는 통신부;
    영상 통화를 수행하기 위한 유저 인터페이스를 표시하는 터치스크린;
    상기 통신부 및 상기 터치스크린과 전기적으로 연결된 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서와 전기적으로 연결된 메모리를 포함하며,
    상기 메모리는, 실행 시에, 상기 하나 이상의 프로세서가,
    상기 제1 전자 장치로부터 영상 통화 수신에 관한 신호를 상기 통신부를 통해 수신하고,
    상기 유저 인터페이스를 통해 상기 영상 통화 요청을 수락하는 사용자 입력을 수신하면, 상기 영상 통화 요청을 수락하는 신호를 상기 통신부를 통해 상기 제1 전자 장치로 전송하고,
    상기 전자 장치의 상태 정보와 상기 통신부의 상태 정보를 기반으로 인코딩된 비디오 스트림을 상기 제1 전자 장치로부터 상기 통신부를 통해 수신하고,
    상기 수신된 인코딩된 비디오 스트림을 표시하며 수신된 오디오를 재생하고,
    마이크를 통해 수신된 음성을 상기 통신부를 통해 상기 제1 전자 장치로 전송하도록 하는 인스트럭션들(instructions)을 포함하는 것을 특징으로 하는 전자 장치.
  2. 제 1 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 전자 장치의 타입 정보, 상기 터치스크린의 크기, 프로세싱 파워, 최대 해상도, 배터리 상태, 메모리 상태, 또는 카메라 구비 유무 중 적어도 하나를 포함하는 상기 전자 장치의 상태 정보와 영상 통화를 수행하기 위한 영상 통화 품질 상태 포함하는 상기 통신부의 상태 정보를 기반으로 인코딩된 비디오 스트림을 상기 제1 전자 장치로부터 상기 통신부를 통해 수신하는 것을 특징으로 하는 전자 장치.
  3. 제 2 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 전자 장치의 상태 또는 상기 통신부의 상태가 변경됨을 감지하면, 상기 수신된 비디오 스트림과 해상도, 화질, 또는 프레임 레이트 중 적어도 하나가 상이한 품질의 비디오 스트림을 상기 제1 전자 장치로부터 상기 통신부를 통해 수신하는 것을 특징으로 하는 전자 장치.
  4. 제 2 항에 있어서,
    카메라를 더 포함하며,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 카메라를 통해 촬영되는 비디오 스트림을 상기 전자 장치의 상태 정보와 상기 통신부의 상태 정보를 기반으로 인코딩하여 상기 통신부를 통해 상기 제1 전자 장치로 전송하는 것을 특징으로 하는 전자 장치.
  5. 제 1 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 인코딩된 비디오 스트림을 표시하며 상기 비디오 스트림의 품질을 조정하기 위한 인디케이터를 표시하고, 상기 인디케이터에서 상기 비디오 스트림의 품질을 조정하기 위한 입력이 감지되면, 상기 조정된 비디오 스트림의 품질에 대응하는 인코딩 스킴을 결정하여 상기 제1 전자 장치에 전송하고, 상기 제1 전자 장치로부터 상기 인코딩 스킴을 기반으로 인코딩된 비디오 스트림을 수신하여 표시하는 것을 특징으로 하는 전자 장치.
  6. 제 1 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 표시된 비디오 스트림에서 ROI(region of interest)를 설정하여 상기 제1 전자 장치에 전송하고, 상기 ROI에 대한 포커스, 크롭, 화질 변경, 또는 노출 조정 중 적어도 하나를 기반으로 인코딩된 비디오 스트림을 상기 제1 전자 장치로부터 수신하여 표시하는 것을 특징으로 하는 전자 장치.
  7. 제 1 항에 있어서,
    센서부를 더 포함하며,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 센서부를 통해 상기 전자 장치의 움직임이 감지되면, 상기 전자 장치의 움직임에 대한 제1 센서 정보를 수집하여 분석하고, 상기 분석된 센서 정보를 기반으로 상기 전자 장치의 움직임이 기 설정된 범위 내에 포함되는 경우 상기 수신된 오디오를 재생하며 상기 수신된 비디오 스트림을 상기 메모리에 저장하고, 상기 센서부를 통해 상기 전자 장치의 움직임이 감지되면, 상기 전자 장치의 움직임에 대한 제2 센서 정보를 수집하여 분석하고, 상기 분석된 센서 정보를 기반으로 상기 전자 장치의 움직임이 기 설정된 범위 내에 포함되지 않는 경우 상기 메모리에 저장된 비디오 스트림을 재생하는 것을 특징으로 하는 전자 장치.
  8. 제 4 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 카메라를 통해 사용자의 안면, 얼굴, 또는 눈동자 중 적어도 하나가 인식되는지 여부를 결정하고, 인식되지 않은 경우 상기 수신된 오디오를 재생하며 상기 수신된 비디오 스트림을 상기 메모리에 저장하고, 상기 카메라를 통해 상기 사용자의 안면, 얼굴, 또는 눈동자 중 적어도 하나가 인식되는 경우 상기 메모리에 저장된 비디오 스트림을 재생하는 것을 특징으로 하는 전자 장치.
  9. 제 1 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 인코딩된 비디오 스트림을 표시하며 수신된 오디오를 재생하는 중에 상기 영상 통화를 전환하기 위한 신호를 감지하면, 상기 영상 통화 전환이 가능한 적어도 하나의 전자 장치를 검색하여 표시하고, 상기 표시된 적어도 하나의 전자 장치 중에서 기 설정된 시간 동안 상기 영상 통화를 전환할 전자 장치를 선택하는 입력이 감지되면 상기 선택된 전자 장치에 영상 통화 전환 신호를 전송하는 것을 특징으로 하는 전자 장치.
  10. 제 9 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 표시된 적어도 하나의 전자 장치 중에서 기 설정된 시간 동안 상기 영상 통화를 전환할 전자 장치를 선택하는 입력이 감지되지 않으면, 상기 표시된 적어도 하나의 전자 장치에 대한 상태 정보, 상기 통신부의 상태 정보를 분석하여 우선순위를 부여하고, 상기 부여된 우선순위가 높은 전자 장치를 영상 통화를 전환할 전자 장치로 자동으로 선택하고, 상기 자동으로 선택된 전자 장치에 영상 통화 전환 신호를 전송하는 것을 특징으로 하는 전자 장치.
  11. 제 2 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 제1 전자 장치로부터 영상 통화 수신에 관한 신호를 상기 통신부를 통해 수신하면, 상기 전자 장치의 상태 정보, 상기 통신부의 상태 정보를 분석하고, 상기 분석된 전자 장치의 상태 정보, 상기 통신부의 상태 정보를 기반으로 수행할 수 있는 상기 영상 통화와 관련된 기능을 포함하는 상기 유저 인터페이스를 표시하는 것을 특징으로 하는 전자 장치.
  12. 제 11 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 분석된 전자 장치의 상태 정보, 상기 통신부의 상태 정보를 기반으로 고화질의 비디오 스트림을 수신하여 영상 통화 수행, 저화질의 비디오 스트림을 수신하여 영상 통화 수행, 음성 통화 수행, 제2 전자 장치로 영상 통화 수행, 또는 상기 제2 전자 장치로 음성 통화 중 적어도 하나의 상기 영상 통화와 관련된 기능을 포함하는 상기 유저 인터페이스를 표시하는 것을 특징으로 하는 전자 장치.
  13. 제 1 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    제3 전자 장치로부터 영상 통화 요청을 수신하고, 상기 수신된 제3 전자 장치로부터의 영상 통화 요청을 수락하는 사용자 입력이 감지되면, 상기 제1 전자 장치로부터 수신된 인코딩된 비디오 스트림을 상기 터치스크린의 제1 영역에 표시하도록 제어하고, 상기 제3 전자 장치와의 영상 통화를 위한 비디오 스트림을 상기 제3 전자 장치로부터 수신하여 상기 터치스크린의 제2 영역에 표시하는 것을 특징으로 하는 전자 장치.
  14. 제 1 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 수신된 비디오 스트림을 표시하며 수신된 오디오를 재생하는 중에 사용자 입력이 감지되면, 상기 감지된 사용자 입력에 대한 압력 레벨 또는 상기 사용자 입력이 감지되는 방향을 확인하고, 상기 압력 레벨 또는 상기 사용자 입력이 감지되는 방향에 대응하는 기능을 수행하는 것을 특징으로 하는 전자 장치.
  15. 제 7 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 수신된 비디오 스트림을 저장하기 위한 입력이 감지되면, 상기 센서부를 통해 외부 상황 정보를 수집하고, 상기 수집된 외부 상황 정보와 상기 입력이 감지된 시점에 대한 비디오 스트림을 저장하기 위한 요청을 상기 제1 전자 장치에 전송하고, 상기 제1 전자 장치로부터 상기 외부 상황 정보를 기반으로 인코딩된 상기 입력이 감지된 시점에 대한 비디오 스트림을 수신하여 상기 메모리에 저장하는 것을 특징으로 하는 전자 장치.
  16. 제 15 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 제1 전자 장치로부터 상기 비디오 스트림을 저장하기 위한 입력이 감지된 시점에 대한 날씨 정보, 밝기 정보, 또는 사운드 정보 중 적어도 하나를 포함하는 상기 외부 상황 정보를 기반으로 인코딩된 비디오 스트림을 수신하여 상기 메모리에 저장하는 것을 특징으로 하는 전자 장치.
  17. 제 1 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 제1 전자 장치로부터 영상 통화 수신에 관한 신호를 상기 통신부를 통해 수신하면, 상기 영상 통화 수행이 가능한 적어도 하나의 전자 장치를 검색하고, 상기 검색된 적어도 하나의 전자 장치를 표시하도록 상기 터치스크린을 제어하고, 상기 표시된 적어도 하나의 전자 장치에서 상기 영상 통화를 수행하기 위한 전자 장치를 선택하는 입력이 감지되면, 상기 선택된 전자 장치와의 영상 통화를 수락하는 신호를 상기 통신부를 통해 상기 제1 전자 장치로 전송하는 것을 특징으로 하는 전자 장치.
  18. 제 17 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 적어도 하나의 전자 장치를 아이콘으로 표시하며, 상기 통신부의 상태 정보, 상기 전자 장치의 상태 정보를 기반으로 상기 적어도 하나의 전자 장치를 나타내는 아이콘의 크기, 색상, 또는 모양 중 적어도 하나를 포함하는 아이콘에 대한 속성 정보 또는 상기 터치스크린에 상기 아이콘이 배치되는 위치를 결정하는 것을 특징으로 하는 전자 장치.
  19. 제 1 항에 있어서,
    상기 통신부는 블루투스(bluetooth), 또는 와이파이(wifi) 중 적어도 하나를 포함하는 것을 특징으로 하는 전자 장치.
  20. 제 1 항에 있어서,
    상기 전자 장치는 웨어러블 장치를 포함하는 것을 특징으로 하는 전자 장치.
  21. 전자 장치에 있어서,
    제1 전자 장치와 통신하는 통신부;
    영상 통화를 수행하기 위한 유저 인터페이스를 표시하는 터치스크린;
    상기 통신부 및 상기 터치스크린과 전기적으로 연결된 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서와 전기적으로 연결된 메모리를 포함하며,
    상기 메모리는, 실행 시에, 상기 하나 이상의 프로세서가,
    제1 전자 장치로부터 영상 통화 수신에 관한 신호를 상기 통신부를 통해 수신하고,
    유저 인터페이스를 통해 상기 영상 통화 요청을 수락하는 사용자 입력을 수신하면 상기 영상 통화 요청을 수락하는 신호를 상기 통신부를 통해 상기 제1 전자 장치로 전송하고,
    상기 전자 장치의 상태 정보와 상기 통신부의 상태 정보를 기반으로 생성된 복수의 이미지들과 오디오 신호를 상기 제1 전자 장치로부터 상기 통신부를 통해 수신하고,
    상기 수신된 복수의 이미지들을 표시하며 상기 수신된 오디오 신호를 재생하고,
    마이크를 통해 수신된 음성을 상기 통신부를 통해 상기 제1 전자 장치로 전송하도록 하는 인스트럭션들을 포함하는 것을 특징으로 하는 전자 장치.
  22. 전자 장치에 있어서,
    제1 전자 장치와 통신하는 제1 통신부와 제2 전자 장치와 통신하는 제2 통신부를 포함하는 통신부;
    영상 통화를 수행하기 위한 유저 인터페이스를 표시하는 터치스크린;
    상기 통신부 및 상기 터치스크린과 전기적으로 연결된 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서와 전기적으로 연결된 메모리를 포함하며,
    상기 메모리는, 실행 시에, 상기 하나 이상의 프로세서가,
    상기 제1 전자 장치 또는 서버로부터 상기 제1 통신부를 통해 영상 통화 요청 신호를 수신하면 상기 수신된 영상 통화 요청 신호를 표시하고,
    상기 수신된 영상 통화 요청 신호에 기초하여 알림을 생성하고,
    상기 생성된 알림을 상기 제2 통신부를 통해 상기 제2 전자 장치에 전달하고,
    상기 제2 전자 장치로부터 상기 제2 통신부를 통해 상기 영상 통화 요청을 수락하는 신호를 수신하면, 상기 수신된 수락 신호에 대응하여 상기 영상 통화 요청 신호를 표시하는 동작을 중단하며 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 상기 제2 전자 장치의 상태 정보와 상기 제2 통신부의 상태 정보를 기반으로 인코딩하고,
    상기 인코딩한 비디오 스트림을 상기 제2 통신부를 통해 상기 제2 전자 장치로 전송하고,
    상기 제2 전자 장치로부터 상기 제2 통신부를 통해 수신한 오디오 신호를 상기 제1 통신부를 통해 상기 제1 전자 장치 또는 상기 서버에 전달하도록 하는 인스트럭션들을 포함하는 것을 특징으로 하는 전자 장치.
  23. 제 22 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 전자 장치의 상태 또는 상기 제2 통신부의 상태가 변경됨을 감지하면, 상기 인코딩한 비디오 스트림과 해상도, 화질, 또는 프레임 레이트 중 적어도 하나가 상이하도록 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 인코딩하고, 상기 인코딩한 비디오 스트림을 상기 제2 통신부를 통해 상기 제2 전자 장치로 전송하는 것을 특징으로 하는 전자 장치.
  24. 제 22 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 제2 전자 장치가 지원하는 비디오 스트림에 대한 최대 해상도, 최대 화질, 또는 최대 fps 중 적어도 하나를 확인하고, 상기 제2 통신부의 상태 정보를 기반으로 상기 최대 해상도, 최대 화질, 또는 최대 fps 중 적어도 하나를 조정하고, 상기 조정된 해상도, 화질, 또는 fps 중 적어도 하나를 기반으로 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 인코딩하는 것을 특징으로 하는 전자 장치.
  25. 제 22 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 제2 전자 장치로부터 비디오 스트림을 수신하면, 상기 수신된 비디오 스트림을 기반으로 인코딩 스킴을 결정하고, 상기 결정된 인코딩 스킴을 기반으로 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 인코딩하는 것을 특징으로 하는 전자 장치.
  26. 제 22 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 제2 전자 장치로부터 설정된 ROI를 수신하면 상기 ROI를 기준으로 포커스, 크롭, 화질 변경, 또는 노출 조정 중 적어도 하나를 통해 인코딩하고, 상기 ROI를 기준으로 인코딩한 비디오 스트림을 상기 제2 전자 장치에 상기 제2 통신부를 통해 전송하는 것을 특징으로 하는 전자 장치.
  27. 제 22 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 제2 전자 장치로부터 비디오 스트림의 저장을 요청하는 신호와 상기 제2 전자 장치의 외부 상황 정보를 수신하면, 해당 비디오 스트림을 추출하여 상기 제2 전자 장치의 외부 상황 정보를 기반으로 인코딩하여 저장하거나, 상기 상기 제2 전자 장치의 외부 상황 정보를 기반으로 인코딩한 비디오 스트림을 상기 제2 통신부를 통해 상기 제2 전자 장치에 전송하는 것을 특징으로 하는 전자 장치.
  28. 제 22 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 제2 전자 장치를 서버에 등록하고, 상기 서버에 등록된 상기 제2 전자 장치의 상태 정보와 상기 제2 통신부의 상태 정보를 기반으로 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 인코딩하는 것을 특징으로 하는 전자 장치.
  29. 제 22 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    제3 전자 장치로부터 영상 통화 요청 신호와 상기 제3 전자 장치의 정보가 수신되면, 영상 통화 연결 정보를 상기 제3 전자 장치에 전송하고, 상기 제 3 전자 장치의 정보를 상기 제1 통신부를 통해 상기 제1 전자 장치에 전송하는 것을 특징으로 하는 전자 장치.
  30. 전자 장치에 있어서,
    제1 전자 장치와 통신하는 제1 통신부와 제2 전자 장치와 통신하는 제2 통신부를 포함하는 통신부;
    영상 통화를 수행하기 위한 유저 인터페이스를 표시하는 터치스크린;
    상기 통신부 및 상기 터치스크린과 전기적으로 연결된 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서와 전기적으로 연결된 메모리를 포함하며,
    상기 메모리는, 실행 시에, 상기 하나 이상의 프로세서가,
    상기 제1 전자 장치 또는 서버로부터 상기 제1 통신부를 통해 영상 통화 요청 신호를 수신하면, 상기 수신된 영상 통화 요청 신호에 기초하여 알림을 생성하고,
    상기 생성된 알림을 상기 제2 통신부를 통해 상기 제2 전자 장치에 전달하고,
    상기 제2 전자 장치로부터 상기 제2 통신부를 통해 상기 영상 통화 요청을 수락하는 신호를 수신하면, 상기 수신된 수락 신호에 대응하여 상기 영상 통화 요청 신호를 표시하는 동작을 중단하며 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 기초로 복수의 이미지들을 생성하고,
    상기 비디오 스트림에서 오디오 신호를 추출하고,
    상기 생성된 복수의 이미지들과 추출된 오디오 신호를 상기 제2 통신부를 통해 상기 제2 전자 장치로 전송하고,
    상기 제2 전자 장치로부터 상기 제2 통신부를 통해 수신한 오디오 신호를 상기 제1 전자 장치 또는 상기 서버에 상기 제1 통신부를 통해 전달하도록 하는 인스트럭션들을 포함하는 것을 특징으로 하는 전자 장치.
  31. 제 30 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 제2 전자 장치의 상태 정보와 상기 제2 통신부의 상태 정보를 획득하고, 상기 획득된 제2 전자 장치의 상태 정보와 상기 제2 통신부의 상태 정보를 기반으로 상기 복수의 이미지들 중 적어도 하나의 이미지를 상기 제2 전자 장치에 전송하는 것을 특징으로 하는 전자 장치.
  32. 제 30 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    적어도 하나의 정지 이미지를 포함하는 상기 복수의 이미지들을 생성하고, 상기 제1 전자 장치로부터 수신하는 비디오 스트림에서 I-frame(intra-frame)을 추출하고, 이전에 추출된 I-frame과 상기 추출된 I-frame을 비교하여 상기 이전에 추출된 I-frame과 상기 추출된 I-frame 간에 유사도를 결정하고, 상기 유사도가 기 설정된 기준값을 초과하는 경우 상기 추출된 I-frame을 기반으로 정지 이미지를 생성하는 것을 특징으로 하는 전자 장치.
  33. 제 32 항에 있어서,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 제1 전자 장치로부터 수신하는 비디오 스트림에 대한 방향 벡터(vector) 변화량, 키 프레임(key frame) 변화량, dominant color의 변화량, 또는 기 설정된 시간 간격 중 적어도 하나를 기반으로 상기 적어도 하나의 정지 이미지를 생성하는 것을 특징으로 하는 전자 장치.
  34. 제 30 항에 있어서,
    상기 제2 통신부가 블루투스인 경우,
    상기 인스트럭션들은, 상기 하나 이상의 프로세서가,
    상기 복수의 이미지들을 상기 블루투스의 SPP(serial port profile)를 통해 상기 제2 전자 장치에 전송하고, 상기 오디오 신호를 상기 블루투스의 HFP(hands free profile)를 통해 상기 제2 전자 장치에 전송하는 것을 특징으로 하는 전자 장치.
  35. 전자 장치에 있어서,
    제1 전자 장치와 통신하는 제1 통신부;
    영상 통화를 수행하기 위한 유저 인터페이스를 표시하는 터치스크린;
    상기 제1 통신부 상기 터치스크린과 전기적으로 연결된 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서와 전기적으로 연결된 메모리를 포함하며,
    상기 메모리는, 실행 시에, 상기 하나 이상의 프로세서가,
    영상 통화 요청 신호를 상기 제1 통신부를 통해 상기 제1 전자 장치에 전송하고,
    상기 제1 전자 장치로부터 상기 영상 통화 요청을 수락하는 신호와 상기 영상 통화를 수행하기 위한 제2 전자 장치의 상태 정보와 제2 통신부의 상태 정보를 상기 제1 통신부를 통해 수신하고,
    상기 수신한 제2 전자 장치의 상태 정보와 제2 통신부의 상태 정보를 기반으로 비디오 스트림을 인코딩하여 상기 제1 통신부를 통해 상기 제1 전자 장치에 전송하고,
    상기 제1 전자 장치로부터 음성 신호를 수신하도록 하는 인스트럭션들을 포함하는 것을 특징으로 하는 전자 장치.
  36. 전자 장치의 영상 인코딩 방법에 있어서,
    제1 전자 장치로부터 영상 통화 수신에 관한 신호를 통신부를 통해 수신하는 동작;
    유저 인터페이스를 통해 상기 영상 통화 요청을 수락하는 사용자 입력을 수신하는 동작;
    상기 영상 통화 요청을 수락하는 신호를 상기 통신부를 통해 상기 제1 전자 장치로 전송하는 동작;
    상기 전자 장치의 상태 정보와 상기 통신부의 상태 정보를 기반으로 인코딩된 비디오 스트림을 상기 제1 전자 장치로부터 상기 통신부를 통해 수신하는 동작;
    상기 수신된 비디오 스트림을 표시하며 수신된 오디오를 재생하는 동작; 및
    마이크를 통해 사용자의 음성이 수신되면, 상기 수신된 음성을 상기 통신부를 통해 상기 제1 전자 장치로 전송하는 동작을 포함하는 영상 인코딩 방법.
  37. 제 36 항에 있어서,
    상기 수신된 음성을 상기 제1 전자 장치로 전송하는 동작은,
    카메라를 통해 촬영되는 비디오 스트림을 상기 전자 장치의 상태 정보와 상기 통신부의 상태 정보를 기반으로 인코딩하는 동작; 및
    상기 인코딩한 비디오 스트림을 상기 통신부를 통해 상기 제1 전자 장치로 전송하는 동작을 포함하는 영상 인코딩 방법.
  38. 제 36 항에 있어서,
    상기 수신된 비디오 스트림을 표시하며, 상기 비디오 스트림의 품질을 조정하기 위한 인디케이터를 표시하는 동작을 더 포함하며;
    상기 인디케이터를 표시하는 동작은,
    상기 표시된 인디케이터에서 상기 비디오 스트림의 품질을 조정하는 입력이 감지되면, 상기 조정된 비디오 스트림의 품질에 대응하는 인코딩 스킴을 결정하여 상기 제1 전자 장치에 전송하는 동작; 및
    상기 제1 전자 장치로부터 상기 인코딩 스킴을 기반으로 인코딩된 비디오 스트림을 수신하여 표시하는 동작을 더 포함하는 영상 인코딩 방법.
  39. 제 36 항에 있어서,
    상기 수신된 비디오 스트림에서 ROI를 설정하기 위한 입력이 감지되면, 상기 설정된 ROI를 상기 제1 전자 장치로 전송하는 동작; 및
    상기 제1 전자 장치로부터 상기 ROI를 기준으로 포커스, 크롭, 화질 변경, 또는 노출 조정 중 적어도 하나로 인코딩된 비디오 스트림을 수신하여 표시하는 동작을 더 포함하는 영상 인코딩 방법.
  40. 제 36 항에 있어서,
    상기 전자 장치의 움직임을 감지하는 동작;
    상기 전자 장치의 움직임에 대한 제1 센서 정보를 수집하여 분석하는 동작;
    상기 분석된 센서 정보를 기반으로 상기 전자 장치의 움직임이 기 설정된 범위에 포함되는 경우, 상기 수신된 오디오를 재생하고 상기 수신된 비디오 스트림을 저장하는 동작;
    상기 전자 장치의 움직임을 감지하면, 상기 전자 장치의 움직임에 대한 제2 센서 정보를 수집하여 분석하는 동작; 및
    상기 분석된 센서 정보를 기반으로 상기 전자 장치의 움직임이 기 설정된 범위에 포함되지 않는 경우, 상기 저장된 비디오 스트림을 재생하는 동작을 더 포함하는 영상 인코딩 방법.
  41. 제 36 항에 있어서,
    상기 영상 통화를 전환하기 위한 신호를 감지하는 동작;
    상기 영상 통화 전환이 가능한 적어도 하나의 전자 장치를 검색하여 표시하는 동작;
    상기 표시된 적어도 하나의 전자 장치 중에서 기 설정된 시간 동안 상기 영상 통화를 전환할 전자 장치를 선택하는 입력이 감지되면, 상기 선택된 전자 장치에 영상 통화 전환 신호를 전송하는 동작; 및
    상기 표시된 적어도 하나의 전자 장치 중에서 기 설정된 시간 동안 상기 영상 통화를 전환을 전자 장치를 선택하는 입력이 감지되지 않으면, 상기 표시된 적어도 하나의 전자 장치에 대한 상태 정보, 상기 통신부의 상태 정보를 분석하여 우선순위를 부여하고, 상기 부여된 우선순위가 높은 전자 장치를 영상 통화를 전환할 전자 장치로 자동으로 선택하고, 상기 자동으로 선택된 전자 장치에 영상 통화 전환 신호를 전송하는 동작을 더 포함하는 영상 인코딩 방법.
  42. 제 36 항에 있어서,
    상기 영상 통화 수신에 관한 신호를 통신부를 통해 수신하는 동작은,
    상기 전자 장치의 상태 정보와 상기 통신부의 상태 정보를 분석하는 동작; 및
    상기 전자 장치의 상태 정보와 상기 통신부의 상태 정보를 기반으로 수행할 수 있는 상기 영상 통화와 관련된 기능을 포함하는 상기 유저 인터페이스를 표시하는 동작을 포함하는 영상 인코딩 방법.
  43. 제 36 항에 있어서,
    제3 전자 장치로부터 영상 통화 요청을 수신하는 동작;
    상기 수신된 제3 전자 장치로부터의 영상 통화 요청을 수락하는 사용자 입력을 감지하는 동작; 및
    상기 제1 전자 장치로부터 수신된 비디오 스트림을 터치스크린의 제1 영역에 표시하고, 상기 제3 전자 장치와의 영상 통화를 위한 비디오 스트림을 상기 터치스크린의 제2 영역에 표시하는 동작을 더 포함하는 영상 인코딩 방법.
  44. 제 36 항에 있어서,
    사용자 입력을 감지하는 동작;
    상기 감지된 사용자 입력에 대한 압력 레벨 또는 상기 사용자 입력이 감지되는 방향을 확인하는 동작; 및
    상기 압력 레벨 또는 상기 사용자 입력이 감지되는 방향에 대응하는 기능을 수행하는 동작을 더 포함하는 영상 인코딩 방법.
  45. 제 36 항에 있어서,
    상기 수신된 비디오 스트림을 저장하기 위한 입력을 감지하는 동작;
    상기 전자 장치의 외부 상황 정보를 수집하고, 상기 수집된 외부 상환 정보와 상기 입력이 감지된 시점에 대한 비디오 스트림을 저장하기 위한 요청을 상기 제1 전자 장치에 전송하는 동작; 및
    상기 제1 전자 장치로부터 상기 외부 상황 정보를 기반으로 인코딩된 비디오 스트림을 수신하여 저장하는 동작을 더 포함하는 영상 인코딩 방법.
  46. 제 45 항에 있어서,
    상기 외부 상황 정보는 상기 비디오 스트림을 저장하기 위한 입력이 감지된 시점에 대한 날씨 정보, 밝기 정보, 또는 사운드 정보 중 적어도 하나를 포함하는 영상 인코딩 방법.
  47. 제 36 항에 있어서,
    상기 영상 통화 수신에 관한 신호를 통신부를 통해 수신하는 동작은,
    상기 영상 통화가 수행 가능한 적어도 하나의 전자 장치를 검색하는 동작; 및
    상기 검색된 적어도 하나의 전자 장치를 표시하는 동작을 포함하는 영상 인코딩 방법.
  48. 제 47 항에 있어서,
    상기 사용자 입력을 수신하는 동작은,
    상기 표시된 적어도 하나의 전자 장치에서 상기 영상 통화를 수행하기 위한 전자 장치를 선택하는 동작인 영상 인코딩 방법.
  49. 제 47 항에 있어서,
    상기 검색된 적어도 하나의 전자 장치를 표시하는 동작은,
    상기 적어도 하나의 전자 장치를 아이콘으로 표시하는 동작;
    상기 통신부의 상태 정보와 상기 전자 장치의 상태 정보를 분석하는 동작; 및
    상기 분석된 상기 통신부의 상태 정보와 상기 전자 장치의 상태 정보를 기반으로 상기 적어도 하나의 전자 장치를 나타내는 아이콘의 크기, 명도, 색상, 또는 모양 중 적어도 하나를 포함하는 아이콘에 대한 속성 정보 또는 상기 아이콘이 배치되는 위치를 결정하는 동작을 포함하는 영상 인코딩 방법.
  50. 전자 장치의 영상 인코딩 방법에 있어서,
    제1 전자 장치로부터 영상 통화 수신에 관한 신호를 통신부를 통해 수신하는 동작;
    유저 인터페이스를 통해 상기 영상 통화 요청을 수락하는 사용자 입력을 수신하는 동작;
    상기 영상 통화 요청을 수락하는 신호를 상기 통신부를 통해 상기 제1 전자 장치로 전송하는 동작;
    상기 전자 장치의 상태 정보와 상기 통신부의 상태 정보를 기반으로 생성된 복수의 이미지들과 오디오 신호를 상기 통신부를 통해 수신하는 동작;
    상기 수신된 복수의 이미지들을 표시하며, 상기 오디오 신호를 재생하는 동작; 및
    마이크를 통해 사용자의 음성이 수신되면, 상기 수신된 음성을 상기 통신부를 통해 상기 제1 전자 장치로 전송하는 동작을 포함하는 영상 인코딩 방법.
  51. 전자 장치의 영상 인코딩 방법에 있어서,
    제1 전자 장치 또는 서버로부터 제1 통신부를 통해 영상 통화 요청 신호를 수신하는 동작;
    상기 수신된 영상 통화 요청 신호를 표시하는 동작;
    상기 수신된 영상 통화 요청 신호에 기초하여 알림을 생성하는 동작;
    상기 생성된 알림을 제2 통신부를 통해 제2 전자 장치에 전달하는 동작;
    상기 제2 전자 장치로부터 상기 제2 통신부를 통해 상기 영상 통화 요청을 수락하는 신호를 수신하는 동작;
    상기 수신된 수락 신호에 대응하여 상기 영상 통화 요청 신호를 표시하는 동작을 중단하며, 상기 수신된 수락 신호에 대응하여 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 상기 제2 전자 장치의 상태 정보와 상기 제2 통신부의 상태 정보를 기반으로 인코딩하는 동작;
    상기 인코딩한 비디오 스트림을 제2 통신부를 통해 상기 제2 전자 장치로 전송하는 동작; 및
    상기 제2 전자 장치로부터 상기 제2 통신부를 통해 수신한 오디오 신호를 제1 전자 장치 또는 상기 서버에 상기 제1 통신부를 통해 전달하는 동작을 포함하는 영상 인코딩 방법.
  52. 제 51 항에 있어서,
    상기 인코딩하는 동작은,
    상기 제2 전자 장치가 지원하는 비디오 스트림에 대한 최대 해상도, 최대 화질, 또는 최대 fps 중 적어도 하나를 확인하는 동작;
    상기 제2 통신부의 상태를 기반으로 상기 최대 해상도, 최대 화질, 또는 최대 fps 중 적어도 하나를 조정하는 동작; 및
    상기 조정된 해상도, 화질, 또는 fps 중 적어도 하나를 기반으로 상기 비디오 스트림을 인코딩하는 동작을 포함하는 영상 인코딩 방법.
  53. 제 51 항에 있어서,
    상기 인코딩하는 동작은,
    상기 제2 전자 장치로부터 비디오 스트림을 수신하는 동작;
    상기 수신된 비디오 스트림을 기반으로 인코딩 스킴을 결정하는 동작; 및
    상기 결정된 인코딩 스킴을 기반으로 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 인코딩하는 동작을 포함하는 영상 인코딩 방법.
  54. 제 51 항에 있어서,
    상기 인코딩하는 동작은,
    상기 제2 전자 장치로부터 설정된 ROI를 수신하는 동작; 및
    상기 ROI를 포커스, 크롭, 화질 변경, 또는 노출 조정 중 적어도 하나를 통해 인코딩하는 동작을 포함하는 영상 인코딩 방법.
  55. 제 51 항에 있어서,
    상기 인코딩하는 동작은,
    상기 제2 전자 장치를 서버에 등록하는 동작; 및
    상기 서버에 등록된 상기 제2 전자 장치에 대한 상태 정보와 상기 제2 통신부의 상태 정보를 기반으로 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 인코딩하는 동작을 포함하는 영상 인코딩 방법.
  56. 제 51 항에 있어서,
    제3 전자 장치로부터 영상 통화 요청 신호를 수신하는 동작;
    상기 제3 전자 장치의 정보를 수신하는 동작;
    영상 통화 연결 정보를 상기 제3 전자 장치에 전송하는 동작; 및
    상기 제 3 전자 장치의 정보를 상기 제1 통신부를 통해 제1 전자 장치에 전송하는 동작을 더 포함하는 영상 인코딩 방법.
  57. 전자 장치의 영상 인코딩 방법에 있어서,
    제1 전자 장치 또는 서버로부터 제1 통신부를 통해 영상 통화 요청 신호를 수신하는 동작;
    상기 수신된 영상 통화 요청 신호에 기초하여 알림을 생성하는 동작;
    상기 생성된 알림을 제2 통신부를 통해 제2 전자 장치에 전달하는 동작;
    상기 제2 전자 장치로부터 상기 제2 통신부를 통해 상기 영상 통화 요청을 수락하는 신호를 수신하는 동작;
    상기 수신된 수락 신호에 대응하여 상기 영상 통화 요청 신호를 표시하는 동작을 중단하며, 상기 수신된 수락 신호에 대응하여 상기 제1 전자 장치로부터 수신하는 비디오 스트림을 기초로 복수의 이미지들을 생성하고, 상기 비디오 스트림에서 오디오 신호를 추출하는 동작;
    상기 생성된 복수의 이미지들과 상기 추출된 오디오 신호를 제2 통신부를 통해 상기 제2 전자 장치로 전송하는 동작; 및
    상기 제2 전자 장치로부터 상기 제2 통신부를 통해 수신한 오디오 신호를 상기 제1 전자 장치 또는 상기 서버에 상기 제1 통신부를 통해 전달하는 동작을 포함하는 영상 인코딩 방법.
  58. 제 57 항에 있어서,
    상기 생성된 복수의 이미지들과 상기 추출된 오디오 신호를 제2 통신부를 통해 상기 제2 전자 장치로 전송하는 동작은,
    상기 제2 전자 장치의 상태 정보와 상기 제2 통신부의 상태 정보를 획득하는 동작; 및
    상기 획득된 제2 전자 장치의 상태 정보와 상기 제2 통신부의 상태 정보를 기반으로 상기 복수의 이미지들 중 적어도 하나의 이미지를 상기 제2 전자 장치에 전송하는 동작을 포함하는 영상 인코딩 방법.
  59. 제 57 항에 있어서,
    상기 복수의 이미지들은 적어도 하나의 정지 이미지를 포함하며,
    상기 복수의 이미지들을 생성하는 동작은,
    상기 제1 전자 장치로부터 수신하는 비디오 스트림에서 I-frame을 추출하는 동작;
    이전에 추출된 I-frame과 상기 추출된 I-frame을 비교하여 상기 이전에 추출된 I-frame과 상기 추출된 I-frame 간에 유사도를 결정하는 동작;
    상기 유사도가 기 설정된 기준값을 초과하는 경우 상기 추출된 I-frame을 기반으로 상기 적어도 하나의 정지 이미지를 생성하는 동작을 포함하는 영상 인코딩 방법.
  60. 제 57 항에 있어서,
    상기 생성된 복수의 이미지들을 상기 제2 통신부를 통해 상기 제2 전자 장치로 전송하는 동작은,
    상기 복수의 이미지들을 상기 제2 통신부의 SPP(serial port profile)를 통해 상기 제2 전자 장치에 전송하는 동작이고,
    상기 추출된 오디오 신호를 제2 통신부를 통해 상기 제2 전자 장치로 전송하는 동작은,
    상기 오디오 신호를 상기 제2 통신부의 HFP(hands free profile)를 통해 상기 제2 전자 장치에 전송하는 동작인 영상 인코딩 방법.
  61. 전자 장치의 영상 인코딩 방법에 있어서,
    영상 통화 요청 신호를 제1 통신부를 통해 제1 전자 장치에 전송하는 동작;
    상기 제1 전자 장치로부터 상기 영상 통화 요청을 수락하는 신호와 상기 영상 통화를 수행하기 위한 제2 전자 장치의 상태 정보와 제2 통신부의 상태 정보를 상기 제1 통신부를 통해 수신하는 동작;
    상기 수신한 제2 전자 장치의 상태 정보와 제2 통신부의 상태 정보를 기반으로 비디오 스트림을 인코딩하여 상기 제1 전자 장치에 전송하는 동작; 및
    상기 제1 전자 장치로부터 음성 신호를 수신하는 동작을 포함하는 영상 인코딩 방법.
KR1020160110572A 2016-02-11 2016-08-30 영상 인코딩 방법 및 이를 지원하는 전자 장치 KR102496225B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/429,507 US20170237986A1 (en) 2016-02-11 2017-02-10 Video encoding method and electronic device adapted thereto
US16/572,302 US11216178B2 (en) 2016-02-11 2019-09-16 Video encoding method and electronic device adapted thereto

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160015656 2016-02-11
KR1020160015656 2016-02-11

Publications (2)

Publication Number Publication Date
KR20170094745A true KR20170094745A (ko) 2017-08-21
KR102496225B1 KR102496225B1 (ko) 2023-02-07

Family

ID=59757528

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160110572A KR102496225B1 (ko) 2016-02-11 2016-08-30 영상 인코딩 방법 및 이를 지원하는 전자 장치

Country Status (1)

Country Link
KR (1) KR102496225B1 (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020032541A1 (en) * 2018-08-08 2020-02-13 Samsung Electronics Co., Ltd. Method for processing incoming call and electronic device for supporting the same
WO2020159304A1 (ko) * 2019-01-31 2020-08-06 주식회사 알파서클 가상현실을 표현하는 분할영상 사이의 전환시점을 제어하여 프레임 동기화를 구현하는 가상현실 영상전환방법 및 가상현실 영상재생장치
WO2020197012A1 (en) * 2019-03-25 2020-10-01 Samsung Electronics Co., Ltd. Display apparatus and control method thereof
WO2021066377A1 (en) * 2019-10-04 2021-04-08 Samsung Electronics Co., Ltd. Electronic device for improving quality of call and operation method thereof
WO2021086448A1 (en) * 2019-10-31 2021-05-06 Western Digital Technologies, Inc. Encoding digital videos using controllers of data storage devices
KR20220093467A (ko) 2020-12-28 2022-07-05 (주)제로센서 저속 인터페이스를 이용한 영상데이터 전송 장치
WO2024025194A1 (ko) * 2022-07-25 2024-02-01 삼성전자 주식회사 알림과 관련된 동작을 수행하기 위한 방법 및 이를 지원하는 전자 장치
WO2024112145A1 (ko) * 2022-11-24 2024-05-30 삼성전자 주식회사 인공지능 모델을 이용한 스케일링을 수행하는 전자 장치 및 그 동작 방법
WO2024117757A1 (ko) * 2022-11-29 2024-06-06 삼성전자주식회사 제스처를 인식하는 전자 장치 및 그 동작 방법
US12069238B2 (en) 2022-04-18 2024-08-20 Electronics And Telecommunications Research Institute Image compression method and apparatus for machine vision

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090121914A (ko) * 2008-05-23 2009-11-26 삼성전자주식회사 모바일 단말기의 전화 수신 모드 결정 방법 및 장치
KR20100106067A (ko) * 2009-03-23 2010-10-01 엘지디스플레이 주식회사 프레임 레이트 업 컨버젼 방법 및 장치
KR20120017555A (ko) * 2010-08-19 2012-02-29 엘지전자 주식회사 영상통화 단말기의 전환 방법 및 그에 따른 영상통화 단말기
KR20150038707A (ko) * 2010-04-07 2015-04-08 애플 인크. 전화 통화 중의 화상 회의 설정
US20150146012A1 (en) * 2013-11-27 2015-05-28 Sprint Communications Company L.P. Video presentation quality display in a wireless communication device
KR20150099885A (ko) * 2014-02-23 2015-09-02 삼성전자주식회사 전자 장치의 기능 및 리소스 운용 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090121914A (ko) * 2008-05-23 2009-11-26 삼성전자주식회사 모바일 단말기의 전화 수신 모드 결정 방법 및 장치
KR20100106067A (ko) * 2009-03-23 2010-10-01 엘지디스플레이 주식회사 프레임 레이트 업 컨버젼 방법 및 장치
KR20150038707A (ko) * 2010-04-07 2015-04-08 애플 인크. 전화 통화 중의 화상 회의 설정
KR20120017555A (ko) * 2010-08-19 2012-02-29 엘지전자 주식회사 영상통화 단말기의 전환 방법 및 그에 따른 영상통화 단말기
US20150146012A1 (en) * 2013-11-27 2015-05-28 Sprint Communications Company L.P. Video presentation quality display in a wireless communication device
KR20150099885A (ko) * 2014-02-23 2015-09-02 삼성전자주식회사 전자 장치의 기능 및 리소스 운용 방법

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200017162A (ko) * 2018-08-08 2020-02-18 삼성전자주식회사 인커밍 콜 처리 방법 및 이를 지원하는 전자 장치
WO2020032541A1 (en) * 2018-08-08 2020-02-13 Samsung Electronics Co., Ltd. Method for processing incoming call and electronic device for supporting the same
CN112534798B (zh) * 2018-08-08 2023-06-13 三星电子株式会社 处理呼入呼叫的方法和支持该方法的电子设备
CN112534798A (zh) * 2018-08-08 2021-03-19 三星电子株式会社 处理呼入呼叫的方法和支持该方法的电子设备
US11412199B2 (en) 2019-01-31 2022-08-09 Alphacircle Co., Ltd. Method and device for implementing frame synchronization by controlling transit time
WO2020159304A1 (ko) * 2019-01-31 2020-08-06 주식회사 알파서클 가상현실을 표현하는 분할영상 사이의 전환시점을 제어하여 프레임 동기화를 구현하는 가상현실 영상전환방법 및 가상현실 영상재생장치
KR20200095006A (ko) * 2019-01-31 2020-08-10 주식회사 알파서클 가상현실을 표현하는 분할영상 사이의 전환시점을 제어하여 프레임 동기화를 구현하는 가상현실 영상전환방법 및 가상현실 영상재생장치
WO2020197012A1 (en) * 2019-03-25 2020-10-01 Samsung Electronics Co., Ltd. Display apparatus and control method thereof
US10949160B2 (en) 2019-03-25 2021-03-16 Samsung Electronics Co., Ltd. Display apparatus and control method thereof
US11095851B2 (en) 2019-10-04 2021-08-17 Samsung Electronics Co., Ltd. Electronic device for improving quality of call and operation method thereof
WO2021066377A1 (en) * 2019-10-04 2021-04-08 Samsung Electronics Co., Ltd. Electronic device for improving quality of call and operation method thereof
WO2021086448A1 (en) * 2019-10-31 2021-05-06 Western Digital Technologies, Inc. Encoding digital videos using controllers of data storage devices
US11064194B2 (en) 2019-10-31 2021-07-13 Western Digital Technologies, Inc. Encoding digital videos using controllers of data storage devices
US11503285B2 (en) 2019-10-31 2022-11-15 Western Digital Technologies, Inc. Encoding digital videos using controllers of data storage devices
KR20220093467A (ko) 2020-12-28 2022-07-05 (주)제로센서 저속 인터페이스를 이용한 영상데이터 전송 장치
US12069238B2 (en) 2022-04-18 2024-08-20 Electronics And Telecommunications Research Institute Image compression method and apparatus for machine vision
WO2024025194A1 (ko) * 2022-07-25 2024-02-01 삼성전자 주식회사 알림과 관련된 동작을 수행하기 위한 방법 및 이를 지원하는 전자 장치
WO2024112145A1 (ko) * 2022-11-24 2024-05-30 삼성전자 주식회사 인공지능 모델을 이용한 스케일링을 수행하는 전자 장치 및 그 동작 방법
WO2024117757A1 (ko) * 2022-11-29 2024-06-06 삼성전자주식회사 제스처를 인식하는 전자 장치 및 그 동작 방법

Also Published As

Publication number Publication date
KR102496225B1 (ko) 2023-02-07

Similar Documents

Publication Publication Date Title
US11216178B2 (en) Video encoding method and electronic device adapted thereto
KR102496225B1 (ko) 영상 인코딩 방법 및 이를 지원하는 전자 장치
US11032514B2 (en) Method and apparatus for providing image service
KR102289837B1 (ko) 촬영 방법 및 전자 장치
KR102445699B1 (ko) 전자 장치 및 그의 동작 방법
US9886454B2 (en) Image processing, method and electronic device for generating a highlight content
KR102386398B1 (ko) 촬영 모드에 따라 이미지에 대한 표시자를 다르게 제공하는 방법 및 그 전자 장치
KR102432620B1 (ko) 외부 객체의 근접에 따른 동작을 수행하는 전자 장치 및 그 방법
KR102349428B1 (ko) 이미지 처리 방법 및 이를 지원하는 전자장치
KR102360067B1 (ko) 전자 장치 및 전자 장치의 정보 공유 방법
KR102576908B1 (ko) 동적 파노라마 기능을 제공하는 방법 및 장치
KR102376700B1 (ko) 비디오 컨텐츠 생성 방법 및 그 장치
KR20160026317A (ko) 음성 녹음 방법 및 장치
KR20180011539A (ko) 영상의 처리를 위한 전자 장치
KR102657050B1 (ko) 전자 장치 및 전자 장치에서의 영상을 촬영하기 위한 방법
CN108399349A (zh) 图像识别方法及装置
KR102339798B1 (ko) 전자 장치의 음향 처리 방법 및 그 전자 장치
KR102509939B1 (ko) 전자 장치 및 전자 장치의 영상 인코딩 방법
KR102424296B1 (ko) 복수의 영상들을 제공하기 위한 방법, 저장 매체 및 전자 장치
US20230421900A1 (en) Target User Focus Tracking Photographing Method, Electronic Device, and Storage Medium
KR102607647B1 (ko) 전자 장치 및 전자 장치의 테더링 연결 방법
KR102452314B1 (ko) 컨텐츠 재생 방법 및 이를 지원하는 전자 장치
WO2019071623A1 (zh) 一种拍摄方法以及电子装置
KR102423364B1 (ko) 영상을 제공하는 방법 및 이를 지원하는 전자 장치
CN114637890A (zh) 在图像画面中显示标签的方法、终端设备及存储介质

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
GRNT Written decision to grant