KR20150104171A - 분산 방식 스토리 리딩을 위한 음성 수정 - Google Patents

분산 방식 스토리 리딩을 위한 음성 수정 Download PDF

Info

Publication number
KR20150104171A
KR20150104171A KR1020157021228A KR20157021228A KR20150104171A KR 20150104171 A KR20150104171 A KR 20150104171A KR 1020157021228 A KR1020157021228 A KR 1020157021228A KR 20157021228 A KR20157021228 A KR 20157021228A KR 20150104171 A KR20150104171 A KR 20150104171A
Authority
KR
South Korea
Prior art keywords
story
video
reader
participants
enhancement
Prior art date
Application number
KR1020157021228A
Other languages
English (en)
Inventor
알란 더블유 피버스
존 씨 탕
니자메틴 곡
지나 다니엘 베노리아
코리 인크펜 퀸
시몬 앤드류 롱바텀
커트 에이 티비쎈
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20150104171A publication Critical patent/KR20150104171A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
    • G09B5/067Combinations of audio and projected visual presentation, e.g. film, slides
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/003Changing voice quality, e.g. pitch or formants
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/003Changing voice quality, e.g. pitch or formants
    • G10L21/007Changing voice quality, e.g. pitch or formants characterised by the process used
    • G10L21/013Adapting to target pitch
    • G10L2021/0135Voice conversion or morphing

Abstract

다양한 실시예들은 스토리들이 원격 장소들로부터 경험될 수 있는 상호작용적이고 공유되는 스토리 리딩 경험을 제공한다. 다양한 실시예들은 스토리 리딩 경험과 연관된 오디오 및/또는 비디오의 증강 또는 수정을 가능하게 한다. 이것은 스토리를 리딩할 때 리더의 음성, 얼굴, 및/또는 스토리와 연관된 다른 콘텐츠의 증강 및 수정을 포함할 수 있다.

Description

분산 방식 스토리 리딩을 위한 음성 수정{SPEECH MODIFICATION FOR DISTRIBUTED STORY READING}
본 발명은 스토리 리딩 경험과 연관된 오디오 및/또는 비디오의 증강 또는 수정에 관한 것이다.
컴퓨터 네트워크를 통해서와 같이, 원격적으로 스토리(story)를 리딩(reading)하는 것은 아주 개인적인 경험이 될 가능성을 가지고 있다. 예를 들어, 출장 중에 있는 부모는 자신의 아이를 잘 재우는 일을 놓치지 않기 위해 자신의 아이가 좋아하는 베트타임(bedtime) 스토리를 자신의 아이에게 리딩해줄 수 있다. 그렇지만, 지금까지는, 이것이 원격적으로 행해질 때, 공유된 것이여봤자 스토리가 전부이거나, 또는, 피어 투 피어 통화(peer-to-peer call)에서와 같이, 기껏해야, 스토리 더하기 추가적인 비디오라는 사실에 의해 그 경험은 제한적이였다. 또한, 공유되는 경험이 대체로 리더(reader)부터 청취자 쪽으로 일방적이며, 이 때 리더는 스토리와 별개로 감정을 전달한다.
이 발명의 내용은 이하에서 발명을 실시하기 위한 구체적인 내용에 추가로 기술되는 개념들 중 선택된 것을 간략화된 형태로 소개하기 위해 제공된다. 이 발명의 내용은 청구된 발명 요지의 주요 특징들 또는 필수적인 특징들을 확인하기 위한 것이 아니다.
다양한 실시예들은 스토리들이 원격 장소들로부터 경험될 수 있는 상호작용적이고 공유되는 스토리 리딩 경험을 제공한다. 다양한 실시예들은 스토리 리딩 경험과 연관된 오디오 및/또는 비디오의 증강 또는 수정을 가능하게 한다. 이것은 스토리를 리딩할 때 리더의 음성, 얼굴, 및/또는 스토리와 연관된 다른 콘텐츠의 증강 및 수정을 포함할 수 있다.
이러한 방식으로, 두 명 이상의 원격 참가자가 통신하여, 스토리 기반의 상호작용적인 공유 콘텐츠와 실시간으로 상호작용할 수 있다. 대안적으로 또는 추가적으로, 스토리 기반의 상호작용적인 공유 콘텐츠가 증강되거나 수정될 수 있고, 차후의 재생을 위해 기록되고/기록되거나 보관될 수 있다.
발명을 실시하기 위한 구체적인 내용이 첨부 도면들을 참조하여 기술된다. 도면들에서, 참조 번호의 가장 왼쪽의 숫자(들)는 그 참조 번호가 처음으로 나타나는 도면을 나타낸다. 설명과 도면들에서 상이한 인스턴스들에 동일한 참조 번호의 사용은 유사하거나 동일한 항목들을 나타낼 수 있다.
도 1은 하나 이상의 실시예들에 따른, 예시적인 구현에서의 환경을 나타낸 도면.
도 2는 하나 이상의 실시예들에 따른, 예시적인 구현에서의 환경을 나타낸 도면.
도 3은 하나 이상의 실시예들에 따른, 예시적인 증강 효과 모듈(augmentation effect module)을 나타낸 도면.
도 4는 하나 이상의 실시예들에 따른, 흐름도를 나타낸 도면.
도 5는 하나 이상의 실시예들에 따른, 흐름도를 나타낸 도면.
도 6은 하나 이상의 실시예들에 따른, 흐름도를 나타낸 도면.
도 7은 하나 이상의 실시예들에 따른, 예시적인 사용자 인터페이스를 나타낸 도면.
도 8은 하나 이상의 실시예들에 따른, 예시적인 사용자 인터페이스를 나타낸 도면.
도 9는 하나 이상의 실시예들에 따른, 흐름도를 나타낸 도면.
도 10은 하나 이상의 실시예들에 따른, 흐름도를 나타낸 도면.
도 11은 하나 이상의 실시예들에 따른, 흐름도를 나타낸 도면.
도 12는 하나 이상의 실시예들에 따른, 흐름도를 나타낸 도면.
도 13은 하나 이상의 실시예들에 따른, 흐름도를 나타낸 도면.
도 14는 하나 이상의 실시예들에 따른, 예시적인 시스템을 나타낸 도면.
도 15는 하나 이상의 실시예들에 따른, 예시적인 시스템을 나타낸 도면.
도 16은 하나 이상의 실시예들의 양태들을 나타낸 도면.
도 17은 하나 이상의 실시예들의 양태들을 나타낸 도면.
도 18은 하나 이상의 실시예들의 양태들을 나타낸 도면.
도 19는 하나 이상의 실시예들의 양태들을 나타낸 도면.
도 20은 하나 이상의 실시예들에 따른, 흐름도를 나타낸 도면.
도 21은 본 명세서에 기술된 다양한 실시예들을 구현하는 데 이용될 수 있는 예시적인 컴퓨팅 디바이스를 나타낸 도면.
개요
다양한 실시예들은 스토리들이 원격 장소들로부터 경험될 수 있는 상호작용적인 공유 스토리 리딩 경험을 제공한다. 다양한 실시예들은 스토리 리딩 경험과 연관된 오디오 및/또는 비디오의 증강 또는 수정을 가능하게 한다. 이것은 스토리를 리딩할 때 리더의 음성, 얼굴, 및/또는 스토리와 연관된 다른 콘텐츠의 증강 및 수정을 포함할 수 있다. 기술된 실시예들은 "이북(e-book)"이라고 하는 전자책과 같은 전자 또는 디지털 콘텐츠와 관련하여 이용될 수 있다. 이북은 텍스트, 영상, 또는 둘 다를 포함하는 디지털 형태로 된 책 길이의 간행물이고, 컴퓨터 또는 기타 전자 디바이스 상에서 생성되고, 출판되어, 리딩가능할 수 있다. 이북은 보통 전용 이북 리더(e-book reader) 또는 범용 태블릿 컴퓨터를 통해 리딩이 가능하다. 개인용 컴퓨터 및 휴대폰이 또한 이북을 리딩하는 데 사용될 수 있다.
이러한 방식으로, 두 명 이상의 원격 참가자가 통신하여, 스토리 기반의 상호작용적인 공유 콘텐츠와 실시간으로 상호작용할 수 있다. 대안적으로 또는 추가적으로, 스토리 기반의 상호작용적인 공유 콘텐츠가 증강되거나 수정될 수 있고, 차후의 재생을 위해 기록되고/기록되거나 보관될 수 있다. 다양한 실시예들에서, 참가자들은 스토리 콘텐츠와의 사용자 상호작용도 포함하는 공유 뷰(shared view)를 즐길 수 있다 - 예컨대, 한 사용자가 그림을 터치하거나 콘텐츠에서의 단어들을 따라가고 있는 경우, 그 행동들이 다른 참가자들에게 보일 수 있다 -.
이하의 논의에서, "예시적인 운영 환경(Example Operating Environments)"이라는 제목의 섹션이 제공되고, 하나 이상의 실시예들이 이용될 수 있는 하나의 환경을 기술하고 있다. 이어서, "예시적인 증강 효과 모듈(Example Augmentation Effect Module)"이라는 제목의 섹션은 하나 이상의 실시예들에 따른 증강 효과 모듈을 기술하고 있다. 그 다음에, "분산 방식 스토리 리딩을 위한 음성 수정(Speech Modification for Distributed Story Reading)"이라는 제목의 섹션은 스토리를 리딩하는 것과 관련하여 음성이 수정될 수 있는 다양한 실시예들을 기술하고 있다. 이어서, "큐를 사용하여 음성을 증강시킬 때를 결정하기(Using Cues to Decide When to Augment Speech)"라는 제목의 섹션은 하나 이상의 실시예들에 따른, 음성 증강(speech augmentation)을 위해 사용될 수 있는 다양한 큐를 기술하고 있다. 그 다음에, "터치를 사용하여 음성을 증강시킬 때를 결정하기(Using Touch to Decide When to Augment Speech)"라는 제목의 섹션은 하나 이상의 실시예들에 따라 음성 증강을 야기하기 위해 터치 기반 입력이 어떻게 이용될 수 있는지를 기술하고 있다. 이어서, "사용자 인터페이스 요소를 사용하여 음성을 증강시킬 때를 결정하기(Using User Interface Elements to Decide When to Augment Speech)"라는 제목의 섹션은 하나 이상의 실시예들에 따라 음성 증강을 야기하기 위해 다양한 사용자 인터페이스 요소들이 어떻게 사용될 수 있는지를 기술하고 있다. 그 다음에, "제스처를 사용하여 증강을 적용하기(Using Gestures to Apply Augmentation)"라는 제목의 섹션은 하나 이상의 실시예들에 따라 증강 프로세스에서 다양한 제스처들이 어떻게 이용될 수 있는지를 기술하고 있다. 이어서, "스토리 콘텐츠를 사용하여 증강을 적용하기(Using Story Content to Apply Augmentation)"라는 제목의 섹션은 하나 이상의 실시예들에 따라 증강 프로세스에서 특정의 스토리의 콘텐츠가 어떻게 이용될 수 있는지를 기술하고 있다. 그 다음에, "스토리 메타데이터를 사용하여 증강을 적용하기(Using Story Metadata to Apply Augmentation)"라는 제목의 섹션은 하나 이상의 실시예들에 따라 증강 프로세스에서 스토리와 연관된 메타데이터가 어떻게 이용될 수 있는지를 기술하고 있다. 이어서, "페이지 번호 및 기타 스토리 구조를 사용하여 증강을 적용하기(Using Page Numbers and Other Story Structure to Apply Augmentation)"라는 제목의 섹션은 하나 이상의 실시예들에 따른, 증강 프로세스에서 페이지 번호 및 기타 스토리 구조가 어떻게 이용될 수 있는지를 기술하고 있다. 그 다음에, "구현례 및 고려사항(Implementation Examples and Considerations)"이라는 제목의 섹션은 하나 이상의 실시예들에 따른 다양한 구현례들을 기술하고 있다. 이어서, "차후의 공유를 위해 공유된 스토리 경험을 포착하기(Capturing the Shared Story Experience for Subsequent Sharing)"라는 제목의 섹션은 하나 이상의 실시예들에 따라 스토리가 실시간 이외의 방식으로 어떻게 공유될 수 있는지를 기술하고 있다. 그 다음에, "미디어 스트림 조작(Media Stream Manipulation)"이라는 제목의 섹션은 하나 이상의 실시예들에 따라 미디어 스트림이 어떻게 증강 효과로 조작될 수 있는지를 기술하고 있다. 이어서, "예시적인 사용 시나리오(Example Use Scenarios)"라는 제목의 섹션은 하나 이상의 실시예들에 따른 다양한 사용 시나리오들을 기술하고 있다. 마지막으로, "예시적인 디바이스(Example Device)"라는 제목의 섹션은 하나 이상의 실시예들을 구현하기 위해 이용될 수 있는 예시적인 디바이스를 기술하고 있다.
이하에서 기술될 다양한 실시예들의 개요를 제공하였으며, 하나 이상의 실시예들이 구현될 수 있는 어떤 예시적인 운영 환경들을 이제부터 살펴본다.
예시적인 운영 환경
본 명세서에 기술된 다양한 실시예들은 각종의 상이한 환경들에서 구현될 수 있다. 도 1 및 도 2는 실시예들이 구현될 수 있는 두 가지 예시적인 환경을 나타낸 것이다. 청구된 발명 요지의 사상 및 범주를 벗어나는 일 없이 다른 환경들이 이용될 수 있다는 것을 잘 알 것이다.
도 1은 복수의 상호연결된 요소들을 포함하는 패킷 기반 네트워크 - 여기서는 인터넷 형태의 통신 클라우드(110)로 표현되어 있음 - 를 통해 구현되는 통신 시스템(100)의 개략도이다. 다양한 실시예들의 양태들이 통신 시스템(100)을 참조하여 기술되어 있지만, 이들 논의가 단지 예시를 위한 것이고, 청구된 발명 요지의 범주를 제한하기 위한 것이 아님을 잘 알 것이다. 각각의 네트워크 요소는 나머지 인터넷에 연결되고, 데이터를 IP(Internet Protocol) 패킷의 형태로 전송 및 수신하는 것에 의해 인터넷을 통해 다른 이러한 요소들과 데이터를 주고 받도록 구성되어 있다. 각각의 요소는 또한 인터넷 내에서 각각의 요소를 위치 확인시켜주는 연관된 IP 주소를 가지며, 각각의 패킷은 패킷의 헤더에 소스 IP 주소 및 하나 이상의 목적지 IP 주소들을 포함한다. 도 1에 도시된 요소들은 [데스크톱 또는 랩톱 PC들 또는 인터넷 지원(Internet-enabled) 휴대폰들과 같은] 복수의 최종 사용자 단말들[102(a) 내지 102(c)], (인터넷 기반 통신 시스템의 피어-투-피어 서버 등과 같은) 하나 이상의 서버들(104), 및 [종래의 PSTN(Public-Switched Telephone Network) 또는 기타 회선 교환 네트워크, 및/또는 모바일 셀룰러 네트워크와 같은] 다른 유형의 네트워크(108)에 대한 게이트웨이(106)를 포함한다. 그렇지만, 명시적으로 도시된 것보다 더 많은 요소들이 인터넷을 구성한다는 것을 물론 잘 알 것이다. 이것은 전형적으로 많은 다른 최종 사용자 단말들, 서버들 및 게이트웨이들은 물론, ISP(Internet service provider)들의 라우터들 및 인터넷 백본 라우터들을 포함하는 통신 클라우드(110)에 의해 도 1에 개략적으로 표현되어 있다. 또한, 도 1의 시스템은 또한 전자책들의 하나 이상의 소스들 - 이것의 예들은 이하에 제공되어 있음 - 을 포함한다.
예시되고 기술된 실시예에서, 최종 사용자 단말들[102(a) 내지 102(c)]은 임의의 적당한 기법들을 사용하여 통신 클라우드를 통해 서로는 물론, 다른 엔터티들과도 통신할 수 있다. 이와 같이, 최종 사용자 단말들은, 예를 들어, VoIP(Voice over Internet Protocol)를 사용하여, 통신 클라우드(110)를 통해 및/또는 통신 클라우드(110), 게이트웨이(106) 및 네트워크(108)를 통해 하나 이상의 엔터티들과 통신할 수 있다. 다른 최종 사용자 단말과 통신하기 위해, 개시측 최종 사용자 단말(initiating end user terminal)에서 실행 중인 클라이언트는 다른 클라이언트가 설치되어 있는 단말의 IP 주소를 획득한다. 이것은 전형적으로 주소 검색(address look-up)을 사용하여 행해진다.
어떤 인터넷 기반 통신 시스템들은, 주소 검색을 위해 통신사업자에 의해 실행되는 하나 이상의 중앙 서버들(도시 생략)에 의존한다는 점에서, 통신사업자에 의해 관리된다. 그 경우에, 하나의 클라이언트가 다른 클라이언트와 통신해야 할 때, 개시측 클라이언트는 수신자(callee)의 IP 주소를 획득하기 위해 시스템 운영자에 의해 운영되는 중앙 서버와 접촉한다.
통신사업자에 의해 관리되는 이들 시스템들과 달리, 다른 유형의 인터넷 기반 통신 시스템은 "P2P(peer-to-peer, 피어 투 피어)" 시스템이라고 알려져 있다. P2P(peer-to-peer) 시스템은 전형적으로 책임을 중앙의 통신사업자 서버들로부터 최종 사용자 자신의 단말들로 넘긴다. 이것은 주소 검색의 책임이 102(a) 내지 102(c)로 표시된 것들과 같은 최종 사용자 단말들로 넘겨진다는 것을 의미한다. 각각의 최종 사용자 단말은 P2P 클라이언트 애플리케이션을 운영할 수 있고, 각각의 이러한 단말은 P2P 시스템의 노드를 형성한다. P2P 주소 검색은 IP 주소들의 데이터베이스를 최종 사용자 노드들 중 일부에 걸쳐 분산시키는 것에 의해 동작한다. 데이터베이스는, 사용자 이름이 주어지면 IP 주소가 결정될 수 있도록, 모든 온라인 접속되어 있는(online) 또는 최근에 온라인 접속한(recently online) 사용자들의 사용자 이름들을 관련 IP 주소들에 매핑하는 목록이다.
주소는, 일단 알려지면, 사용자가 음성 또는 화상 통화를 설정하거나, IM 채팅 메시지 또는 파일 전송 등을 송신할 수 있게 한다. 그렇지만, 그에 부가하여, 클라이언트 자체가 다른 클라이언트와 자율적으로 정보를 주고받을 필요가 있을 때 주소가 또한 사용될 수 있다.
서버(들)(104)는 통신 시스템(100)에 연결된 하나 이상의 서버들 - 이것의 예들은 이상에서 그리고 이하에서 제공되어 있음 - 을 나타낸다. 예를 들어, 서버들(104)은 동일한 기능을 달성하기 위해 협력하여 동작하는 서버들의 뱅크를 포함할 수 있다. 대안적으로 또는 그에 부가하여, 서버들(104)은 다른 서버들로부터 특수화된 기능을 제공하도록 구성된 복수의 독립적인 서버들을 포함할 수 있다. 서버들은 전형적으로 URL을 통해 액세스가능한 전자 라이브러리에 유지되는 이북에 대한 리포지토리(repository)로서 역할할 수 있으며, 이에 대해서는 이하에서 더 상세히 기술한다.
하나 이상의 실시예들에서, 개개의 최종 사용자 단말들[102(a) 내지 102(c)]은 이북 리더 또는 이북이 리딩될 수 있게 하도록 적절히 구성된 다른 애플리케이션(웹 브라우저 등)의 형태로 되어 있는 소프트웨어를 포함한다. 최종 사용자 단말들은 또한 한 명 이상의 다른 원격 참가자들 간에 공유되는 이북의 리딩과 관련하여 효과들을 증강시키기 위해 사용될 수 있는 증강 효과 모듈(112)을 포함한다. 게다가, 적어도 일부 실시예들에서, 서버(104)는 이상에서 및 이하에서 기술되는 바와 같이 동작할 수 있는 증강 효과 모듈(112)을 포함할 수 있다.
동작을 설명하면, 증강 효과 모듈(112)은 스토리 리딩 경험과 연관된 오디오 및/또는 비디오를 증강시키거나 수정하도록 구성되어 있다. 이것은 스토리가 리딩될 때 리더의 음성, 얼굴, 및/또는 스토리와 연관된 다른 콘텐츠(예컨대, 스토리의 시각적 콘텐츠)의 증강 및 수정을 포함할 수 있다.
본 발명 원리들이 이용될 수 있는 하나의 예시적인 시스템을 살펴보았으며, 본 발명 원리들이 이용될 수 있는 다른 예시적인 시스템을 이제부터 살펴본다.
도 2는 예시적인 시스템(200)을 나타낸 것으로서, 일반적으로 서버(들)(104) 및 최종 사용자 단말(102)을 다수의 디바이스들이 중앙 컴퓨팅 디바이스를 통해 상호연결되어 있는 환경에서 구현되는 것으로 도시하고 있다. 최종 사용자 단말은 이상에서 및 이하에서 기술되는 바와 같은 증강 효과 모듈(112)을 포함한다. 중앙 컴퓨팅 디바이스는 다수의 디바이스들에 로컬일 수 있거나 다수의 디바이스들로부터 원격지에 위치되어 있을 수 있다. 하나의 실시예에서, 중앙 컴퓨팅 디바이스는 네트워크 또는 인터넷 또는 기타 수단을 통해 다수의 디바이스들에 연결되어 있는 하나 이상의 서버 컴퓨터들을 포함하는 "클라우드" 서버 팜(cloud server farm)이다.
하나의 실시예에서, 이 상호연결 아키텍처는, 다수의 디바이스들의 사용자에게 공통의 매끄러운 경험을 제공하기 위해, 기능이 다수의 디바이스들에 걸쳐 전달될 수 있게 한다. 다수의 디바이스들 각각은 상이한 물리적 요구사항들 및 능력들을 가질 수 있고, 중앙 컴퓨팅 디바이스는 디바이스에 맞춰 조정되어 있기도 하고 여전히 모든 디바이스들에 공통이기도 한 경험을 디바이스에 전달하는 것을 가능하게 하기 위한 플랫폼을 사용한다. 하나의 실시예에서, 한 "부류"의 타겟 디바이스(target device)가 생성되고, 경험들이 일반 부류의 디바이스들에 맞게 조정된다. 한 부류의 디바이스는 디바이스들의 물리적 특징들 또는 용도 또는 기타 공통의 특성들(예컨대, 디바이스들의 CPU 성능)에 의해 규정될 수 있다. 예를 들어, 이전에 기술된 바와 같이, 최종 사용자 단말(102)은, 모바일(202), 컴퓨터(204), 및 텔레비전(206) 용도와 같은, 각종의 상이한 방식들로 구성될 수 있다. 이들 구성 각각은 일반적으로 대응하는 화면 크기를 가지며, 이와 같이, 최종 사용자 단말(102)은 이 예시적인 시스템(200)에서 이들 디바이스 부류 중 하나로서 구성될 수 있다. 예를 들어, 최종 사용자 단말(102)은 휴대폰, 음악 플레이어, 게임 디바이스 등을 포함하는 모바일(202) 부류의 디바이스를 가정할 수 있다. 최종 사용자 단말(102)은 또한 개인용 컴퓨터, 랩톱 컴퓨터, 넷북, 태블릿 컴퓨터 등을 포함하는 컴퓨터(204) 부류의 디바이스를 가정할 수 있다. 텔레비전(206) 구성은 평상시의 환경에서의 디스플레이를 포함하는 디바이스 구성들(예컨대, 텔레비전, 셋톱박스, 게임 콘솔 등)을 포함한다. 이와 같이, 본 명세서에 기술된 기법들은 최종 사용자 단말(102)의 이 다양한 구성들에 의해 지원될 수 있고, 이하의 섹션들에 기술된 구체적인 예들로 제한되지 않는다.
일부 실시예들에서, 서버(들)(104)는 "클라우드" 기능을 포함한다. 여기서, 클라우드(208)는 웹 서비스들(212)을 위한 플랫폼(210)을 포함하는 것으로 예시되어 있다. 플랫폼(210)은 클라우드(208)의 하드웨어 자원들(예컨대, 서버들) 및 소프트웨어 자원들의 기본 기능을 추상화하고, 이에 따라 "클라우드 운영 체제"로서 기능할 수 있다. 예를 들어, 플랫폼(210)은 최종 사용자 단말(102)을 다른 컴퓨팅 디바이스들과 연결시키는 자원들을 추상화할 수 있다. 플랫폼(210)은 또한 플랫폼(210)을 통해 구현되는 웹 서비스들(212)에 대한 봉착된 요구에 대응하는 레벨의 스케일을 제공하기 위해 자원들의 스케일링을 추상화하는 역할도 할 수 있다. 서버 팜 내의 서버들의 부하 밸런싱, 악의적 당사자들(예컨대, 스팸, 바이러스, 및 기타 멀웨어)로부터의 보호 등과 같은 각종의 다른 예들이 또한 생각된다. 이와 같이, 클라우드(208)는 인터넷 또는 기타 네트워크들을 통해 최종 사용자 단말(102)이 이용가능하게 되는 소프트웨어 및 하드웨어 자원들에 관련되어 있는 전략의 일부로서 포함된다.
대안적으로 또는 그에 부가하여, 서버들(104)은 이상에서 및 이하에서 기술되는 바와 같은 증강 효과 모듈(112)을 포함한다. 일부 실시예들에서, 플랫폼(210) 및 증강 효과 모듈(112)은 동일한 서버 세트 상에 존재할 수 있는 반면, 다른 실시예들에서, 이것들은 개별적인 서버들에 존재한다. 여기서, 증강 효과 모듈(112)은 최종 사용자 단말(102)과의 상호연결을 위해 클라우드(208)에 의해 제공되는 기능을 이용하는 것으로 예시되어 있다.
일반적으로, 본 명세서에 기술되는 기능들 중 임의의 것이 소프트웨어, 펌웨어, 하드웨어[예컨대, 고정 논리 회로(fixed logic circuitry)], 수동 처리, 또는 이 구현들의 조합을 사용하여 구현될 수 있다. "모듈", "기능", 및 "논리"라는 용어는, 본 명세서에서 사용되는 바와 같이, 일반적으로 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 나타낸다. 소프트웨어 구현의 경우에, 모듈, 기능, 또는 논리는 프로세서(예컨대, CPU 또는 CPU들) 상에서 또는 그에 의해 실행될 때 지정된 작업들을 수행하는 프로그램 코드를 나타낸다. 프로그램 코드는 하나 이상의 컴퓨터 판독가능 메모리 디바이스들에 저장될 수 있다. 이하에 기술되는 특징들이 플랫폼-독립적(platform-independent)이며, 이는 기법들이 각종의 프로세서들을 가지는 각종의 상용 컴퓨팅 플랫폼들에서 구현될 수 있다는 것을 의미한다.
다양한 실시예들이 이용될 수 있는 예시적인 운영 환경들을 기술하였으며, 하나 이상의 실시예들에 따른 예시적인 증강 효과 모듈에 대한 논의를 이제부터 살펴본다.
예시적인 증강 효과 모듈
도 3은 하나 이상의 실시예들에 따른, 예시적인 증강 효과 모듈(112)을 나타낸 것이다. 이 특정의 예에서, 증강 효과 모듈(112)은 오디오 증강 모듈(audio augmentation module)(300), 비디오 증강 모듈(video augmentation module)(302), 및 증강 큐 모듈(augmentation cue module)(304)을 포함한다.
하나 이상의 실시예들에서, 오디오 증강 모듈(300)은 리더의 음성에 또는 리딩중에 있는 스토리의 다른 오디오 양태들(예컨대, 배경음 효과)에 오디오 효과를 적용하는 것을 가능하게 하도록 구성되어 있다. 이러한 효과들은, 제한이 아닌 예로서, 스토리를 리딩할 때의 음성 모핑(voice morphing) 및/또는 스토리를 리딩할 때 오디오 스토리 콘텐츠를 증강시키는 것을 포함할 수 있다.
하나 이상의 실시예들에서, 비디오 증강 모듈(302)은 스토리와 연관된 비디오의 조작을 가능하게 하도록 구성되어 있다. 구체적으로는, 스토리는 자신의 연관된 콘텐츠를 갖는 전자책의 형태로 존재할 수 있다. 스토리를 리딩할 때, 다양한 증강 효과들이 스토리의 콘텐츠에 적용될 수 있다. 예를 들어, 리더의 얼굴 영상을 포착하고 포착된 얼굴 영상을 스토리에서의 등장인물(character)에 중첩시키기 위해 얼굴 인식 기술이 이용될 수 있다. 대안적으로 또는 그에 부가하여, 포착된 영상이 모핑 및/또는 로토스코핑(rotoscope)될 수 있고, 이에 대해서는 이하에서 더 상세히 기술한다. 오디오 증강 모듈(300) 및 비디오 증강 모듈(302)은 개별적으로 또는 함께 사용될 수 있다. 함께 사용될 때, 전자 스토리(electronic story)는 전자 스토리의 오디오 및 비디오(즉, 시각적 콘텐츠) 둘 다가 동시에 증강될 수 있다.
하나 이상의 실시예들에서, 증강 큐 모듈(304)은 스토리를 리딩할 때 증강 효과들이 큐잉(cue)될 수 있게 하도록 구성되어 있다. 증강 큐 모듈(304)은 자신의 기능을 각종의 상이한 방식들로 수행할 수 있다. 예를 들어, 증강 큐 모듈(304)은 리딩하고 있는 특정의 스토리 내에서의 리더의 위치를 확인하는 다양한 수단들을 사용할 수 있다. 리더의 위치를 아는 것에 의해, 다양한 증강 효과들이 적절한 때에 트리거될 수 있다. 리더의 위치를 확인하는 다양한 수단들은, 제한이 아닌 예로서, 음성 인식 및 추적, 리더가 자신의 손가락 또는 스타일러스를 사용하여 텍스트를 따라가는 것과 같은 터치 입력, 다양한 증강 효과들을 트리거하고/트리거하거나 자신의 선택을 가능하게 하는, 스토리 내에 나타나는 사용자 인터페이스 요소들, 증강 효과들을 트리거하기 위해 리더에 의해 제공되는 다양한 제스처들과 같은 NUI(natural user interface) 입력, 특정의 스토리 내에 나타나는 구두점과 관련하여 증강 효과들을 적용하는 것과 같은 콘텐츠 기반 메커니즘(content-driven mechanism)들, 특정 증강 효과들을 트리거하는 스토리 내에 포함(embed)된 태그들 또는 메타데이터, 증강 효과들을 트리거하기 위해 페이지 번호를 사용하는 것 등을 포함할 수 있다.
하나 이상의 실시예들에 따른 예시적인 증강 효과 모듈을 살펴보았으며, 오디오 증강 모듈(300)에 의해 제공될 수 있는 음성 수정의 다양한 양태들을 이제부터 살펴본다.
분산 방식 스토리 리딩을 위한 음성 수정
예시되고 기술된 실시예에서, 서로 멀리 떨어져 있는 한 명 이상의 리더들은 전자책 또는 디지털북(digital book)에 나오는 것과 같은 상호작용적 스토리를 리딩할 수 있고, 스토리를 리딩할 때 자신의 음성을 수정하거나 모핑할 수 있다. 적어도 일부 실시예들에서, 원격적으로 리딩하는 상호작용적 스토리에 참가하는 리더들은 디지털 스토리 콘텐츠의 공용 뷰(common view)를 공유한다. 이 공용 뷰는 앞서 기술된 컴퓨팅 디바이스들 중 하나 이상과 같은 리더의 컴퓨팅 디바이스의 디스플레이일 수 있고 전형적으로 이러한 디스플레이 상에 렌더링된다. 이들 경우에, 리더들이 적어도 각각의 리더의 얼굴을 포착하는 비디오 카메라에 의해 제공되는 화상 통신에 의해 연결되고, 그에 따라 리더의 얼굴들이 다른 리더들에게 디스플레이될 수 있다. 그에 부가하여, 마이크는 각각의 리더의 위치에서 오디오(즉, 리더의 음성)를 포착한다. 이와 같이, 각각의 리더의 컴퓨팅 디바이스에서 감지되는, 비디오, 오디오, 및/또는 공유된 디지털 스토리와의 상호작용과 같은 입력이 다른 참가하는 리더들과 공유될 수 있다.
음성 또는 오디오 모핑은 리더 또는 통화 참가자의 음성을 의도적으로 어떤 다른 사람 또는 다른 것처럼 들리도록 하기 위해 다양한 방식들로 조작하는 것을 말한다. 하나 이상의 실시예들에서, 의도하는 바는 이들 조작 또는 모핑이 다양한 방식들로 재미있고 즐거움을 주어야만 한다는 것이다. 예를 들어, 전자 스토리를 리딩하는 동안, 리더의 음성이 얼룩 다람쥐, 괴물, 또는 스토리에서의 어떤 다른 유형의 등장인물처럼 들리도록 모핑될 수 있을 것이다. 의도된 효과들을 달성하기 위해 임의의 적당한 유형의 오디오 모핑 소프트웨어가 이용될 수 있다. 어떤 오디오 모핑 소프트웨어는 발화된 음성을 조작하도록 설계되어 있는 반면, 다른 소프트웨어는 사람이 노래하는 소리를 조작하도록 설계되어 있다. 또 다른 소프트웨어는 광범위한 일반 및/또는 특정 오디오 효과들을 적용할 수 있다. 적어도 어떤 경우들에서, 오디오 모핑은 기계 사용(instrumentation) 또는 심지어 자동 튜닝(auto tuning)을 위한 피치 보정(pitch correction)에 의해 사용자의 음성을 증강시키는 것을 포함할 수 있다. 즉, 참가자가 노래하고 있을 때, 음악적 증강이 배경 음악으로서 추가될 수 있다. 그에 부가하여, 노래하는 사람이 음정이 맞지 않는 경우, 피치 보정이 이용될 수 있다. 음악적 증강이 노래하는 사람의 음성을 자동으로 따라가도록, 따라서 노래하는 사람이 빨라지고 느려짐에 따라 빨라지고 느려지도록 구성될 수 있다. 피치 보정 시나리오에서, 먼저, 노래하는 사람의 피치가 결정될 수 있다. 이것은 피치 추적 알고리즘을 이용하여 행해질 수 있다. 그 다음에, 피치가 확인된 "정확한" 피치와 일치하도록 수정될 수 있다. 이것은 다양한 피치 시프팅 알고리즘(pitch-shifting algorithm)들을 사용하여 행해질 수 있다.
하나 이상의 실시예들에서, 모핑 소프트웨어는 독립형 모핑 플랫폼으로서 동작할 수 있다. 대안적으로 또는 그에 부가하여, 모핑 소프트웨어는 플러그 인으로서 패키지화(package)되고 적절히 구성된 애플리케이션에 차후에 로드될 수 있다. 전형적으로, 모핑 소프트웨어는, 예를 들어, 모핑 효과의 강도(severity)에 영향을 미치는 다양한 제어 파라미터들을 포함한다. 또 다른 모핑 소프트웨어는 VoIP(voice over IP) 애플리케이션과 같은 적절히 구성된 통신 애플리케이션에 의해 로드될 수 있고, 그에 따라 통화 참가자의 오디오가 VoIP 통화 동안 곧바로 조작될 수 있다. 발화된 음성 조작을 구현하는 어떤 예시적인 소프트웨어 애드온(software add-on)들은 ClownFish, MorphVox, 및 Voice Candy를 포함한다.
원칙적으로, 음성 조작 또는 모핑을 수행하는 데 이용되는 기본 신호 처리 기법들은 공지되어 있고 통상의 기술자라면 잘 알고 있다. 이들 처리 기법은, 제한이 아닌 예로서, 중첩 가산 합성(overlap-add synthesis), 피치 동기 중첩 가산(pitch-synchronous overlap-add), 위상 보코더(Phase Vocoder)(및 그의 변형들), 시간 영역 필터링, 주파수 영역 필터링, 재귀적 지연선 처리(recursive delay-line processing), 진폭 변조[링 변조(ring modulation)], 종래의(시간 영역, 아날로그 모델) 보코더 기법, 교차 합성(cross-synthesis), 선형 예측 코딩(Linear Predictive Coding) 등을 포함할 수 있다.
이와 관련하여 음성 조작 또는 모핑의 특정 용도는, 앞서 살펴본 바와 같이, 리더가 공된 스토리를 원격지의 사람에게 리딩해줄 때 리더의 음성의 조작을 위해 의도되어 있다. 사용되는 기본 오디오 신호 처리 알고리즘들은 원하는 특정 효과에 의존한다. 예를 들어, 리더의 음성을 얼룩 다람쥐처럼 들리도록 모핑하기 위해, 피치 시프팅 알고리즘(SOLA)이 적당한 알고리즘 선택일 것이고, 여기서 알고리즘에 공급되는 제어 파라미터들은 알고리즘으로 하여금 리더의 음성의 피치를 급격히 위쪽으로 시프트시키게 할 것이다. 이와 유사하게, 그러나 아래쪽으로의 방향에서, 다스 베이더(Darth Vader) 또는 괴물과 같은 잘 알려진 등장인물을 에뮬레이트하는 것과 같은, 리더의 음성의 훨씬 더 낮은 피치를 달성하기 위해 제어 파라미터들이 이용될 수 있다.
이와 관련하여 적용될 수 있는 효과들의 다른 예들은 남성에서 여성으로의 모핑, 여성에서 남성으로의 모핑, 피치 곡선(pitch contour)을 과장하는 것(히스테리 효과, 비브라토 효과, 노년 여성 효과 등), 피치 곡선을 제거하는 것(로봇 효과), 속삭임(피치 정보가 잡음원에 의해 대체되는 경우), 및 사람의 음성이 특정의 다른 사람처럼 들리도록 수정되는 소위 음성 변환을 포함한다.
앞서 살펴본 바와 같이, 오디오 또는 음성 모핑과 같은 증강이 상이한 위치들에서 행해질 수 있다. 예를 들어, 증강이 송신자 또는 리더의 컴퓨팅 디바이스에서, 서버와 같은 중간 컴퓨팅 디바이스에서(예컨대, 클라우드 기반 접근법), 및/또는 수신자의 컴퓨팅 디바이스에서 행해질 수 있다.
송신자 또는 리더의 컴퓨팅 디바이스에서 행해지는 증강과 관련하여, 이하를 생각해보자. 리더의 음성이 포착될 때, 증강 효과 모듈(112)은 연관된 마이크로부터 수신되는 오디오 데이터에 어떤 유형의 상이한 특성 - 이것의 예들은 앞서 제공되어 있음 - 을 부여하도록 이러한 오디오 데이터를 처리한다. 증강된 오디오 데이터는 이어서 인코딩 및 압축되고, 이어서 한 명 이상의 다른 참가자들로 계속 포워딩하기 위해 서버로, 또는 피어-투-피어 네트워크에 있는 것과 같은 하나 이상의 다른 클라이언트 디바이스들로 직접 전송된다. 리더의 컴퓨팅 디바이스 상에서 증강을 수행하는 것에 의해, 리더는 최소량의 지연으로 자신의 음성이 어떻게 들리는지에 관한 피드백을 제공받을 수 있다. 리더의 경험이 이 경우에 음향 피드백(acoustic feedback)을 감소시킬 수 있는 헤드셋 또는 기타 오디오 피드백 제어 메커니즘의 사용을 통해 향상될 수 있다.
클라우드 기반 접근법과 관련하여, 이하를 생각해보자. 클라우드 기반/서버 접근법은 리더 디바이스 또는 청취자 디바이스 중 어느 하나의 제약조건에 관계없이 더 많은 처리 능력의 이용가능성을 가능하게 한다. 이 접근법에서, 리더의 컴퓨팅 디바이스에 의해 생성되는 오디오 데이터는 추가의 처리를 위해 적절히 구성된 서버로 송신될 수 있다. 이 경우에, 서버는 앞서 기술된 바와 같이 오디오 데이터를 처리하는 증강 효과 모듈(112)을 포함한다. 이 시나리오에서, 오디오 데이터는 서버로 송신되기 전에 압축될 수 있거나 그렇지 않을 수 있다. 오디오 데이터가 서버로 송신되기 전에 압축되는 경우, 서버는 오디오 데이터를 압축 해제하고 증강 효과 모듈(112)을 사용하여 처리하며, 증강된 오디오 데이터를 인코딩 및 압축하여 다른 참가자들로 배포할 수 있다. 오디오 데이터가 압축되지 않은 포맷으로 서버로 송신되는 경우, 서버는 오디오 데이터를 증강 효과 모듈(112)을 사용하여 처리하고, 증강된 오디오 데이터를 인코딩 및 압축하여 다른 참가자들로 배포할 수 있다.
수신자의 컴퓨팅 디바이스에서 행해지는 증강과 관련하여, 이하를 생각해보자. 이 경우에, 리더의 오디오 데이터가 다른 참가자들로 배포된다. 다른 참가자들의 컴퓨팅 디바이스들이 오디오 데이터(압축되어 있든 압축되어 있지 않든 관계 없음)를 수신할 때, 참가자의 컴퓨팅 디바이스들 상의 증강 효과 모듈(112)은 증강을 제공하기 위해 앞서 기술된 바와 같이 오디오 데이터(필요한 경우, 먼저 압축 해제됨)를 처리한다. 이 접근법은 리더의 음성이 어떻게 수정되는지에 대한 보다 적은 제어를 리더에게 제공할 수 있다. 그에 대응하여, 각각의 참가자는 참가자에 의해 선택된 방식으로 리더의 음성을 수정할 가능성을 가진다.
도 4는 하나 이상의 실시예들에 따른, 방법에서의 단계들을 기술하는 흐름도를 나타낸 것이다. 이 방법은 임의의 적합한 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합과 관련하여 구현될 수 있다. 적어도 일부 실시예들에서, 이 방법의 양태들은 도 1 내지 도 3의 증강 효과 모듈(112)과 같은, 적절히 구성된 소프트웨어 모듈에 의해 구현될 수 있다.
단계(400)는 다수의 참가자들 사이에 통신 연결을 설정한다. 참가자들이 참가자들 사이에 전자 스토리가 공유되는 상호작용적 리딩 경험을 공유할 수 있게 하기 위해 통신 연결이 설정된다. 임의의 적당한 유형의 통신 연결 - 이것의 예들은 앞서 제공되어 있음 - 이 설정될 수 있다.
단계(402)는 한 명 이상의 다른 원격 참가자들과 공유되고 있는 전자 스토리의 리더와 연관된 오디오 데이터를 수신한다. 이 단계는 임의의 적당한 방식으로 수행될 수 있다. 예를 들어, 리더가 마이크에 대고 전자 스토리를 리딩할 때, 연관된 오디오가 추가의 처리를 위해 오디오 데이터로 변환될 수 있다.
단계(404)는 오디오 데이터를 증강시킨다. 오디오 데이터는 임의의 적당한 방식 - 이것의 예들은 이상에서 및 이하에서 제공되어 있음 - 으로 증강될 수 있다. 게다가, 이 단계는 임의의 적당한 위치에서 수행될 수 있다. 예를 들어, 적어도 일부 실시예들에서, 이 단계는 리더의 컴퓨팅 디바이스에서 또는 그에 의해 수행될 수 있다. 대안적으로 또는 그에 부가하여, 이 단계는 단계(402)의 오디오 데이터를 수신한 서버에 의해 수행될 수 있다. 대안적으로 또는 그에 부가하여, 이 단계는 원격 참가자들 각각과 연관된 컴퓨팅 디바이스에 의해 수행될 수 있다. 이것이 어떻게 행해질 수 있는지의 예들은 앞서 제공되어 있다.
단계(406)는 원격 참가자들이 증강된 오디오 데이터를 소모시킬 수 있게 한다. 이 단계는 임의의 적당한 방식으로 수행될 수 있다. 예를 들어, 오디오 데이터가 리더의 컴퓨팅 디바이스에서 증강되는 실시예들에서, 단계(406)는 증강된 오디오 데이터를 원격 참가자들 각각과 연관된 컴퓨팅 디바이스로 전송하거나 다른 방식으로 전달하는 것에 의해 수행될 수 있다. 오디오 데이터가 서버에 의해 증강되는 실시예들에서, 이 단계는 서버가 증강된 오디오 데이터를 원격 참가자들 각각과 연관된 컴퓨팅 디바이스로 배포하는 것에 의해 수행될 수 있다. 오디오 데이터가 원격 참가자와 연관된 컴퓨팅 디바이스에 의해 증강되는 실시예들에서, 이 단계는 원격 참가자가 증강된 오디오 데이터를 적절히 구성된 애플리케이션을 통해 소모시킬 수 있게 하는 것에 의해 수행될 수 있다.
공유된 스토리 시나리오에서 음성이 증강될 수 있는 다양한 방식들을 살펴보았으며, 음성 증강을 언제 수행할지를 결정하기 위한 결정이 행해질 수 있는 다양한 방식들에 대한 논의를 이제부터 살펴본다.
큐를 사용하여 음성을 증강시킬 때를 결정하기
앞서 살펴본 바와 같이, 증강 큐 모듈(304)(도 3)은 스토리를 리딩할 때 증강 효과들이 큐잉될 수 있게 하도록 구성되어 있다. 증강 큐 모듈(304)은 자신의 기능을 각종의 상이한 방식들로 수행할 수 있다. 예를 들어, 증강 큐 모듈(304)은 리딩하고 있는 특정의 스토리 내에서 리더의 위치를 확인하는 다양한 수단들을 사용할 수 있다. 리더의 위치를 아는 것에 의해, 다양한 증강 효과들이 적절한 때에 트리거될 수 있다. 청구된 발명 요지의 사상 및 범주를 벗어나는 일 없이, 특정의 스토리 내에서 리더의 위치를 확인하는 임의의 적당한 수단이 이용될 수 있다 이것이 어떻게 행해질 수 있는지의 다양한 비제한적인 예들은 바로 아래에서 제공된다.
음성 인식
하나 이상의 실시예들에서, 특정의 스토리(narrative)에서, 리더가 어디에서 리딩하고 있는지를 인식하고 이 정보를 사용하여 다양한 증강 효과들을 적절한 때에 트리거하기 위해 자동 음성 인식이 이용될 수 있다 이들 경우에, 증강 큐 모듈(304)은 적절히 구성된 마이크에 의해 포착되는 오디오 신호 데이터의 분석을 통해, 리더가 스토리 내의 어디에서 리딩하고 있는지를 추적하는 음성 인식 컴포넌트를 포함한다. 증강 큐 모듈(304)은 이어서 적절한 경우 증강 이벤트들을 트리거할 수 있다. 예를 들어, 참가자들이 엘모(Elmo)에 관한 스토리를 공유하고 있는 것으로 가정한다. 리더가 엘모가 말하는 단어들에 도달할 때, 리더의 음성이 엘모처럼 들리도록 모핑될 수 있다. 엘모의 말이 끝날 때, 리더의 음성은 정상적인 소리로 복귀될 수 있다. 대안적으로 또는 그에 부가하여, 리더가 리딩하는 특정의 단어들에 대해 증강 효과들이 적용될 수 있다. 예를 들어, 리더가 "바람", "천둥", "비" 등과 같은 단어들을 리딩할 때 배경음 또는 배경 효과가 트리거될 수 있다.
하나 이상의 실시예들에서, 다른 형태의 증강 효과들을 가능하게 하기 위해 음성 인식이 사용될 수 있다. 예를 들어, 특정의 참가자가 전자 페이지(electronic page)에 나오는 영상 또는 물체에 대응하는 단어를 말하는 경우, 증강 효과가 적용될 수 있다. 예를 들어, 참가자들 중 하나가 아이이고 전자 페이지에 나오는 트럭의 영상에 응답하여 그 아이가 단어 "트럭"을 말하는 것으로 가정한다. 그 결과, 예를 들어, 트럭의 바퀴들을 회전시키는 것, 및/또는 트럭의 엔진의 오디오 클립을 재생하는 것과 같은 트럭의 짧은 에니메이션이 개시될 수 있다. 이들 경우에, 이들 재미있는 애니메이션 및 사운드는 페이지 상의 물체들에 대응하는 단어들을 학습하려는 아이의 학습 의욕 유발(motivation)을 강화시킬 수 있다.
기술된 실시예들을 구현하기 위해 임의의 적당한 유형의 음성 인식 기술이 사용될 수 있다. 예를 들어, 일부 접근법들은 어떤 형태의 ASR(automatic speech recognition)을 이용할 수 있다. ASR은 전화, 컴퓨터 게임 및 시뮬레이션 등을 비롯한 분야들 내에서 아주 다양한 용도들을 가진다. 이들 및 기타 분야에서 이용되는 것과 동일하거나 유사한 기법들이 앞서 기술된 바와 같이 음성을 인식하기 위해 이용될 수 있다 하나의 이러한 기법은 완전 연속 ASR(full continuous ASR)로서 알려져 있다.
완전 연속 ASR은 리더의 음성에 대응하는 오디오 데이터를 획득하고, 말하고 있는 것 - 이 경우에, 리딩하고 있는 특정의 스토리의 텍스트 - 에 대응하는 단어들의 시퀀스를 출력한다. ASR로부터 출력되는 단어들의 시퀀스와 리딩하고 있는 텍스트 내의 단어들 간의 간단한 정합 동작을 수행하는 것에 의해 위치 결정이 달성될 수 있다. 이것은, 통상의 기술자라면 잘 알 것인 바와 같이, 각각의 페이지에 대한 해시 테이블 또는 멀티 맵(multi-map)과 같은 표준의 컨테이너(container)를 사용하여 구현될 수 있다. 이들 경우에, 인식된 단어가 키(key)로서 이용되고, 연관된 맵은 페이지 상에서의 이 단어의 위치를 반환한다. 하나 이상의 실시예들에서, 리더가 단어 또는 단어들을 건너뛸 수 있는 경우에 앞을 내다보고(look ahead) 및/또는 리더가 어떤 단어들을 반복할 수 있는 경우에 뒤를 돌아보는(look back) 방식이 이용될 수 있다 이것은 음성 인식 알고리즘의 견고성(robustness)을 증가시킬 수 있다. 위치가 결정될 때, 증강 큐 모듈(304)은, 이하에서 기술되는 바와 같이, 위치를 효과들 또는 증강들의 테이블에 대한 인덱스로서 사용할 수 있다.
다른 음성 인식 접근법들이 또한 이용될 수 있다 예를 들어, 제한된 어휘 음성 인식(limited vocabulary speech recognition)이라고 흔히 지칭되는 간략화된 형태의 ASR을 이용하는 감소된 계산 비용을 가지는 접근법이 이용될 수 있다 여기서, 가능한 단어들에 대한 검색 공간이 마지막 알려진 위치(리더가 처음부터 리당하기 시작하는 경우, 처음에 0임)의 이웃에 있는 단어들로 제한된다. 임의의 주어진 때에, 알고리즘은 어쩌면 5 내지 10개의 단어들을 구별하기만 하면 되고, 따라서 인식 문제를 크게 단순화시킨다. 주어진 단어의 다수의 인스턴스들이 있는 경우(예컨대, 멀티 맵이 두 개 이상의 인덱스를 반환하는 경우), 중복이 없을 때까지 범위가 감소될 수 있다. 대안적으로 또는 그에 부가하여, 중복된 단어가 처음으로 검출될 때, 그 위치가 첫번째 출현의 위치인 것으로 간주되고, 두번째로 검출될 때, 그 위치가 두번째 출현의 위치인 것으로 간주되며, 이하 마찬가지이도록 카운트가 유지될 수 있다. 이상의 접근법에서와 같이, 알고리즘적 견고성을 향상시키기 위해 어떤 내다보기(look-ahead) 및 돌아보기(look-back) 기법들이 포함될 수 있다.
이들 접근법은 물론, 다른 접근법들 중 어느 하나에서, 현재 디스플레이되고 있는 페이지 번호 또는 한 쌍의 페이지 번호들을 아는 것에 의해 음성 인식 프로세스가 용이하게 될 수 있다. 이러한 방식으로, 검색 공간이 그 특정의 페이지들에 나오는 그 단어들로 제한된다. 이 경우에, 본 시스템은 페이지 또는 페이지 번호들을 이미 알고 있는데, 그 이유는 이것이 전자책의 그 다음 페이지 또는 페이지들을 보여주기 위해 디스플레이를 언제 변경할지를 결정하는 데 이용되는 메커니즘이기 때문이다.
앞서 기술된 기법들을 사용하여 추출된 위치 데이터가 다양한 증강들을 트리거하는 데 어떻게 이용될 수 있는지의 일례로서, 이하의 표들을 살펴보자.
위치 음성 효과
31 얼룩 다람쥐 모핑 시작
44 얼룩 다람쥐 모핑 종료
57 로봇 모핑 시작
71 로봇 모핑 종료
표 1은 적절히 구성된 위치 추적기로부터의 위치 정보가 효과들의 테이블과 연계되어 있는 페이지 상에서 특정 단어에 도달될 때 특정의 증강을 트리거하기 위해 그 테이블에 대한 인덱스로서 어떻게 사용될 수 있는지의 일례이다. 하나 이상의 실시예들에서, 책 내의 각각의 페이지에 대한 증강 효과들을 트리거하기 위해 단일의 표가 이용될 수 있다 대안적으로, 책 전체에 대해 단일의 테이블이 이용될 수 있다 이 경우에, 테이블이, 책 전체 내에서의 위치보다는, 페이지 내에서의 위치에 의해 인덱싱될 수 있다.
그에 부가하여, 배경 오디오 사운드(예컨대, 정글 사운드, 천둥, 박수 등)를 언제 트리거할지를 결정하기 위해 하나 이상의 테이블들이 이용될 수 있다 단지 하나의 테이블이 있는 경우, 이하의 예에서와 같이, 그 테이블이 페이지 번호에 의해 인덱싱될 수 있다.
페이지 배경음
3 새들이 지저귐
8 정글
14 폭풍우
16 새들이 지저귐
여기서, 표 2는 페이지 번호에 의해 인덱싱되는 전역 배경 오디오 효과(global background audio effect)들을 포함한다. 이들 배경음이 언제 트리거되는지에 대한 보다 미세한 제어가 요망되는 경우, 페이지 내에서의 위치에 의해 인덱싱되는 다수의 메타데이터 테이블들(예컨대, 페이지당 하나씩)이 포함될 수 있다. 이 경우에, 그 테이블은 표 1과 유사한 포맷을 가질 것이고, 여기서 "음성 효과" 열은 "배경음"으로 대체될 것이다.
도 5는 하나 이상의 실시예들에 따른, 방법에서의 단계들을 기술하는 흐름도를 나타낸 것이다. 이 방법은 임의의 적합한 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합과 관련하여 구현될 수 있다. 적어도 일부 실시예들에서, 이 방법의 양태들은 도 1 내지 도 3의 증강 효과 모듈(112)과 같은, 적절히 구성된 소프트웨어 모듈에 의해 구현될 수 있다.
단계(500)는 다수의 참가자들 사이에 통신 연결을 설정한다. 참가자들이 참가자들 사이에 전자 스토리가 공유되는 상호작용적인 리딩 경험을 공유할 수 있게 하기 위해 통신 연결이 설정된다. 임의의 적당한 유형의 통신 연결 - 이것의 예들은 앞서 제공되어 있음 - 이 설정될 수 있다.
단계(502)는 한 명 이상의 다른 원격 참가자들과 공유되고 있는 전자 스토리의 리더와 연관된 오디오 데이터를 수신한다. 이 단계는 임의의 적당한 방식으로 수행될 수 있다. 예를 들어, 리더가 마이크에 대고 전자 스토리를 리딩할 때, 연관된 오디오가 추가의 처리를 위해 오디오 데이터로 변환될 수 있다.
단계(504)는, 오디오 데이터로부터, 전자 스토리 내에서의 위치를 확인한다. 이것이 어떻게 행해질 수 있는지의 예들은 앞서 제공되어 있다. 전자 스토리 내에서의 위치를 확인한 것에 응답하여, 단계(506)는 오디오 데이터를 증강시킨다. 오디오 데이터는 임의의 적당한 방식 - 이것의 예들은 이상에서 및 이하에서 제공되어 있음 - 으로 증강될 수 있다. 게다가, 이 단계는 임의의 적당한 위치에서 수행될 수 있다. 예를 들어, 적어도 일부 실시예들에서, 이 단계는 리더의 컴퓨팅 디바이스에서 또는 이에 의해 수행될 수 있다. 대안적으로 또는 그에 부가하여, 이 단계는 단계(502)의 오디오 데이터를 수신한 서버에 의해 수행될 수 있다. 대안적으로 또는 그에 부가하여, 이 단계는 원격 참가자들 각각과 연관된 컴퓨팅 디바이스에 의해 수행될 수 있다. 이것이 어떻게 행해질 수 있는지의 예들은 앞서 제공되어 있다.
단계(508)는 원격 참가자들이 증강된 오디오 데이터를 소모시킬 수 있게 한다. 이 단계는 임의의 방식으로 수행될 수 있다. 예를 들어, 오디오 데이터가 리더의 컴퓨팅 디바이스에서 증강되는 실시예들에서, 단계(508)는 증강된 오디오 데이터를 원격 참가자들 각각과 연관된 컴퓨팅 디바이스로 전송하거나 다른 방식으로 전달하는 것에 의해 수행될 수 있다. 오디오 데이터가 서버에 의해 증강되는 실시예들에서, 이 단계는 서버가 증강된 오디오 데이터를 원격 참가자들 각각과 연관된 컴퓨팅 디바이스로 배포하는 것에 의해 수행될 수 있다. 오디오 데이터가 원격 참가자와 연관된 컴퓨팅 디바이스에 의해 증강되는 실시예들에서, 이 단계는 원격 참가자의 디바이스가 적절히 구성된 애플리케이션을 사용하여 오디오 데이터를 로컬적으로 처리함으로써 오디오 데이터를 증강시킬 수 있게 하는 것에 의해 수행될 수 있다.
증강 효과들을 큐잉하기 위해 음성 인식을 이용하는 예시적인 실시예들을 살펴보았으며, 다양한 터치 기반 접근법들을 이제부터 살펴본다.
터치를 사용하여 음성을 증강시킬 때를 결정하기
하나 이상의 실시예들에서, 전자 스토리를 리딩하는 것과 연관된 음성을 언제 증강시킬지를 결정하기 위해 터치가 이용될 수 있다 일례로서, 이하를 생각해보자. 리더가 터치 지원 디바이스(touch-enabled device)를 사용하여 공유된 스토리 경험에 참가하고 있는 경우, 리더가 리딩할 때, 리더는 단어들을 리딩할 때 자신의 손가락 또는 스타일러스로 단어들을 따라갈 수 있다. 증강들이 스토리에서의 단어들 및 이 단어들의 위치에 기초하여 트리거될 수 있다. 이 접근법을 사용하는 것은 앞서 기술된 음성 인식 접근법보다 더 많은 제어를 제공할 수 있다. 예를 들어, 사용자가 증강된 음성을 발생시키는 특정의 위치에 자신의 손가락을 유지하는 경우, 사용자는 애드립(ad-lib)하여 스토리에 포함되지 않은 단어들을 말하면서 그 단어들을 증강시킬 수 있다.
이 접근법을 사용하여, 페이지 상의 한 무리의 단어들 중 어느 것을 가리키고 있는지를 결정하기 위해 경계 상자 방법(bounding box method)을 사용하여 터치 기반 인덱스가 생성될 수 있다. 이 접근법에 따르면, 개개의 단어들은 연관된 경계 상자를 가진다. 터치 위치가 단어의 경계 상자 내에 있는 경우, 그의 대응하는 인덱스가 생성된다. 이 인덱스는 적용할 증강 효과를 확인하기 위해 앞서 기술된 것들과 같은 하나 이상의 테이블들과 관련하여 사용될 수 있다.
도 6은 하나 이상의 실시예들에 따른, 방법에서의 단계들을 기술하는 흐름도를 나타낸 것이다. 이 방법은 임의의 적합한 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합과 관련하여 구현될 수 있다. 적어도 일부 실시예들에서, 이 방법의 양태들은 도 1 내지 도 3의 증강 효과 모듈(112)과 같은, 적절히 구성된 소프트웨어 모듈에 의해 구현될 수 있다.
단계(600)는 다수의 참가자들 사이에 통신 연결을 설정한다. 참가자들이 참가자들 사이에 전자 스토리가 공유되는 상호작용적인 리딩 경험을 공유할 수 있게 하기 위해 통신 연결이 설정된다. 임의의 적당한 유형의 통신 연결 - 이것의 예들은 앞서 제공되어 있음 - 이 설정될 수 있다.
단계(602)는 전자 스토리를 공유하는 참가자와 연관된 터치 입력을 수신한다. 참가자는 스토리의 리더 또는 다른 원격 참가자들 중 하나일 수 있다. 이 단계는 임의의 적당한 방식으로 수행될 수 있다. 예를 들어, 리더가 마이크에 대고 전자 스토리를 리딩할 때, 리더가 자신의 손가락으로 스토리의 텍스트를 따라갈 때 연관된 터치 입력이 수신될 수 있다.
단계(604)는, 터치 입력으로부터, 전자 스토리 내에서의 위치를 확인한다. 이것이 어떻게 행해질 수 있는지의 예들은 앞서 제공되어 있다. 전자 스토리 내에서의 위치를 확인한 것에 응답하여, 단계(606)는 오디오 데이터를 증강시킨다. 오디오 데이터는 임의의 적당한 방식 - 이것의 예들은 이상에서 및 이하에서 제공되어 있음 - 으로 증강될 수 있다. 게다가, 이 단계는 임의의 적당한 위치 - 이것의 예들은 앞서 제공되어 있음 - 에서 수행될 수 있다.
단계(608)는 원격 참가자들이 증강된 오디오 데이터를 소모시킬 수 있게 한다. 이 단계는 임의의 적당한 방식 - 이것의 예들은 앞서 제공되어 있음 - 으로 수행될 수 있다.
증강 효과들을 적용하기 위해 터치 입력을 이용하는 예시적인 실시예들을 살펴보았으며, 증강을 적용하기 위해 스토리의 콘텐츠 내의 사용자 인터페이스 요소들이 어떻게 이용될 수 있는지에 대해 이제부터 살펴본다.
사용자 인터페이스 요소를 사용하여 음성을 증강시킬 때를 결정하기
하나 이상의 실시예들에서, 음성을 언제 증강시킬지를 결정하기 위해 사용자 인터페이스 요소들이 이용될 수 있다 사용자 인터페이스 요소들은 스토리의 콘텐츠의 일부가 아닌 요소들을 포함할 수 있다. 대안적으로 또는 그에 부가하여, 사용자 인터페이스 요소들은 스토리의 콘텐츠의 일부인 요소들을 포함할 수 있다.
하나 이상의 실시예들에서, 전자 스토리가 디스플레이 디바이스 상에 제시될 때, 오디오 증강 또는 기타 증강 효과들을 인에이블시키기 위해 다양한 제어 버튼들 또는 제어 위젯들이 또한 제시될 수 있다. 이 실시예들에서, 제어 버튼들 또는 위젯들은 스토리의 콘텐츠의 일부를 구성하지 않을 것이다. 오히려, 버튼들 또는 위젯들은 사용자가 그를 통해 특정의 스토리와 상호작용할 수 있는 수단들을 구성한다. 일례로서, 도 7을 생각해보자. 도 7에서, 전자 스토리의 양태들을 예시하는 사용자 인터페이스가 전체적으로 700으로 도시되어 있다. 이 특정의 전자 스토리에서, 두 명의 배우 - 맥스(Max) 및 그레이스(Grace) - 및 두 가지 효과 - 비 및 천둥 - 가 있다. 이 예에서 주목할 점은, 네 개의 제어 버튼(702, 704, 706, 및 708)이 제공되어 있다는 것이다. 제어 버튼(702 및 704)은 스토리의 배우들과 연관되어 있는 반면, 제어 버튼(706 및 708)은 스토리 내에서 발생하는 효과들과 연관되어 있다. 스토리의 배우와 연관된 특정의 제어 버튼(예를 들어, 702)이 선택되어 있는 동안, 리더의 음성이 배우처럼 들리도록 모핑될 것이다. 대안적으로, 스토리 내에서 발생하는 효과와 연관된 특정의 제어 버튼이 선택되어 있는 동안, 특정의 효과와 연관된 오디오가 렌더링될 것이다. 이 특정의 예에서, 비 제어 버튼(706)을 선택하는 것은 스토리의 참가자들에 대해 빗소리를 렌더링시킬 것이다. 버튼들은 참가자들 중 임의의 참가자에 의해 선택될 수 있다.
이 접근법은 또한 스토리 내에서의 상이한 효과들을 이러한 효과들이 콘텐츠 개발자에 의해 의도되지 않았을 수 있는 위치들에서 야기시키기 위해 리더가 "대본에서 벗어날(off script)" 수 있도록 어느 정도의 애드립을 허용할 수 있다. 예를 들어, 리더는 필요에 따라 그때그때(at ad hoc times) 또는 익살스러운 때에(at humorous times) 특정의 제어 버튼을 누름으로써 효과를 랜덤하게 적용하기로 선택할 수 있다. 그에 부가하여, 이 접근법은 특정의 스토리의 전처리를 보다 적게 사용한다(또는 전혀 사용하지 않는다). 예를 들어, 스토리 전체에 걸쳐 등장인물 음성, 배경음 등과 같은 정해진 일련의 증강들이 제공되고, 특정의 증강을 언제 활성화시킬지는 리더에 달려 있다.
대안적으로 또는 그에 부가하여, 스토리의 콘텐츠의 일부를 구성하는 사용자 인터페이스 요소들이 증강을 적용하는 기초로서 이용될 수 있다 일례로서, 도 7과 유사하고 전자 스토리의 양태들을 예시하는 사용자 인터페이스(전체적으로 800으로 도시되어 있음)를 도시하는 도 8을 살펴본다. 그렇지만, 여기서는 제어 버튼들 및 위젯들이 제거되어 있다. 이 실시예들에서, 리더는 효과를 적용시키기 위해 예시된 번개와 같은 스토리 내의 물체들을 터치할 수 있다. 이와 유사하게, 특정의 배우를 터치하는 것에 의해, 리더의 음성이 그 배우처럼 들리도록 모핑될 수 있다. 마찬가지로, 특정의 구절, 예컨대, 스토리의 텍스트에 나올 수 있는 "소방차 사이렌"을 터치하는 것에 의해, 소방차 사이렌 효과가 적용될 수 있다. 이와 같이, 이러한 방식으로, 스토리 내의 물체들이 증강 효과들을 트리거하는 "암시적" 버튼들로서 이용된다.
이 실시예들에서, 특정의 페이지 상의 어느 물체들이 어느 효과들을 트리거하는지를 탐색하는 기능을 제공받는 것에 의해 리더의 즐거움이 향상될 수 있다. 대안적으로, 이들 "암시적" 버튼은 증강 효과를 활성화시키기 위해 이 버튼들이 터치될 수 있다는 것을 나타내는 하이라이트, 링크, 또는 윤곽선으로 시각적으로 표시될 수 있다.
교육적 관점에서, 증강 효과들을 활성화시키기 위해 이들 "암시적" 버튼을 사용하는 것은 다른 사람(조부모 등)이 무엇을 말하거나 지시하는지를 정확하게 알아맞히는 한 사람(손주 등)에 대한 보상으로서 사용될 수 있다. 예를 들어, 조부모가 "숲소리를 듣기 위해 나무를 클릭해라"라고 말하는 경우, 손주가 책에서 나무를 정확하게 클릭할 때, 보상으로서 아이에게 숲 배경음이 재생될 수 있다. 다른 예로서, 조부모가 "나를 다람쥐처럼 들리게 만들기 위해 다람쥐를 클릭해라"라고 말할 수 있다. 잘못된 추측과 달리, 아이가 다람쥐를 클릭하는 경우, 아이는 이제 다람쥐처럼 들리도록 모핑된 조부모의 음성을 들을 것이다.
리더의 음성에 대한 증강 효과들에 부가하여, 특정의 물체를 터치하는 것이 물체가 어떤 방식으로 수정되게 할 수 있다. 예를 들어, 리더가 스토리에서 특정의 배우를 터치하는 경우, 리더의 음성이 배우처럼 들리게 모핑될 뿐만 아니라, 배우의 입 및 얼굴이 리더의 입 및 얼굴과 아주 흡사하게 움직이도록 배우가 또한 애니메이션화될 수 있다. 이것은 전자책에 배우를 제시하는 것을 주도하는 데 사용될 수 있는 모델을 생성하기 위해 연관된 비디오 카메라에 의해 포착되는 리더의 비디오 신호를 처리함으로써 달성될 수 있다. 예를 들어, 리더의 얼굴 특징들 및 위치를 실시간으로 추적하기 위해 3차원 메쉬가 리더의 얼굴에 알고리즘적으로 피팅(fit)될 수 있다. 이 정보는 이어서 전자책에 배우를 제시하는 것을 주도하는 모델로서 사용될 수 있다. 이 접근법은 Microsoft의 Kinect for Windows에서 사용되는 것과 동일하거나 유사할 수 있다.
도 9는 하나 이상의 실시예들에 따른, 방법에서의 단계들을 기술하는 흐름도를 나타낸 것이다. 이 방법은 임의의 적합한 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합과 관련하여 구현될 수 있다. 적어도 일부 실시예들에서, 이 방법의 양태들은 도 1 내지 도 3의 증강 효과 모듈(112)과 같은, 적절히 구성된 소프트웨어 모듈에 의해 구현될 수 있다.
단계(900)는 다수의 참가자들 사이에 통신 연결을 설정한다. 참가자들이 참가자들 사이에 전자 스토리가 공유되는 상호작용적 리딩 경험을 공유할 수 있게 하기 위해 통신 연결이 설정된다. 임의의 적당한 유형의 통신 연결 - 이것의 예들은 앞서 제공되어 있음 - 이 설정될 수 있다.
단계(902)는 한 명 이상의 다른 원격 참가자들과 공유되고 있는 전자 스토리와 연관된 사용자 인터페이스 요소의 터치 입력을 수신한다. 앞서 살펴본 바와 같이, 사용자 인터페이스 요소는 스토리의 콘텐츠의 일부를 구성할 수 있거나 그렇지 않을 수 있다. 터치 입력은 참가자들 중 임의의 참가자로부터 수신될 수 있다.
터치 입력을 수신한 것에 응답하여, 단계(904)는 스토리의 하나 이상의 속성들 또는 특성들을 증강시킨다. 예를 들어, 리더의 음성이 앞서 기술된 바와 같이 증강될 수 있다. 대안적으로 또는 그에 부가하여, 하나 이상의 효과들이 앞서 기술된 바와 같이 적용될 수 있다. 게다가, 스토리의 콘텐츠 자체가 증강되거나 수정될 수 있다. 예를 들어, 증강은 스토리와 연관된 비디오를 증강시키는 것 - 예컨대, 스토리 내의 하나 이상의 물체들을 이상에서 및 이하에서 기술되는 바와 같이 조작하는 것 - 을 추가로 포함할 수 있다. 게다가, 이 단계는 임의의 적당한 위치 - 이것의 예들은 앞서 제공되어 있음 - 에서 수행될 수 있다.
단계(906)는 원격 참가자들이 증강된 전자 스토리를 소모시킬 수 있게 한다. 이 단계는 임의의 방식 - 이것의 예들은 앞서 제공되어 있음 - 으로 수행될 수 있다.
증강 효과들을 적용하기 위해 터치 입력을 이용하는 예시적인 실시예들을 살펴보았으며, 증강을 적용하기 위해 제스처가 어떻게 이용될 수 있는지에 대해 이제부터 살펴본다.
제스처를 사용하여 증강을 적용하기
하나 이상의 실시예들에서, 증강을 적용하기 위해 제스처가 이용될 수 있다 제스처는 터치 기반 제스처는 물론, NUI(natural user interface)를 통해 제공되는 것과 같은 비터치 기반 제스처도 포함할 수 있다. 어느 경우든지, 특정의 제스처들이 다양한 증강들에 매핑될 수 있다. 일례로서, 제스처가 Microsoft의 Kinect 기술에 의해 포착되고 분석되는 것과 거의 동일한 방식으로 비디오 카메라에 의해 포착되고 분석될 수 있는 비터치 기반 제스처를 생각해보자.
이 특정의 경우에, 리더가 다른 참가자들과 공유되는 스토리를 리딩하고 있는 것으로 가정한다. 전방 카메라는 리더의 영상을 포착한다. 리더가 스토리의 특정의 부분에 도달할 때, 리더는 스토리의 등장인물들 중 하나의 등장인물 상에서 스와이핑 제스처(swiping gesture)를 행한다. 스와이핑 제스처가 이어서 리더의 음성을 스와이핑 제스처가 행해진 등장인물의 음성으로 모핑하는 음성 효과에 매핑된다. 이와 유사하게, 이 특정의 스토리에서, 다수의 배경음들이 이용가능한 것으로 가정한다. 리더가 스토리를 진행할 때, 리더는, 전방 카메라에 의해 포착되고 천둥 형태의 배경음에 매핑되는 비구름 상의 공간에서, 태핑 제스처(tapping gesture)를 행한다.
도 10은 하나 이상의 실시예들에 따른, 방법에서의 단계들을 기술하는 흐름도를 나타낸 것이다. 이 방법은 임의의 적합한 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합과 관련하여 구현될 수 있다. 적어도 일부 실시예들에서, 이 방법의 양태들은 도 1 내지 도 3의 증강 효과 모듈(112)과 같은, 적절히 구성된 소프트웨어 모듈에 의해 구현될 수 있다.
단계(1000)는 다수의 참가자들 사이에 통신 연결을 설정한다. 참가자들이 참가자들 사이에 전자 스토리가 공유되는 상호작용적 리딩 경험을 공유할 수 있게 하기 위해 통신 연결이 설정된다. 임의의 적당한 유형의 통신 연결 - 이것의 예들은 앞서 제공되어 있음 - 이 설정될 수 있다.
단계(1002)는 한 명 이상의 다른 원격 참가자들과 공유되고 있는 전자 스토리와 연관된 제스처 입력을 포착한다. 제스처 입력은 앞서 살펴본 바와 같이 터치 기반 입력 또는 비터치 기반 입력일 수 있다.
제스처 입력을 포착한 것에 응답하여, 단계(1004)는 제스처 입력을 증강 효과에 매핑하고, 단계(1006)는 증강 효과를 사용하여 스토리의 하나 이상의 속성들 또는 특성들을 증강시킨다. 예를 들어, 리더의 음성이 앞서 기술된 바와 같이 증강될 수 있다. 대안적으로 또는 그에 부가하여, 하나 이상의 효과들이 앞서 기술된 바와 같이 적용될 수 있다. 게다가, 스토리의 콘텐츠 자체가 증강되거나 수정될 수 있다. 예를 들어, 증강은 스토리와 연관된 비디오를 증강시키는 것 - 예컨대, 스토리 내의 하나 이상의 물체들을 이상에서 및 이하에서 기술되는 바와 같이 조작하는 것 - 을 추가로 포함할 수 있다. 게다가, 이 단계는 임의의 적당한 위치 - 이것의 예들은 앞서 제공되어 있음 - 에서 수행될 수 있다.
단계(1008)는 원격 참가자들이 증강된 전자 스토리를 소모시킬 수 있게 한다. 이 단계는 임의의 방식 - 이것의 예들은 앞서 제공되어 있음 - 으로 수행될 수 있다.
증강 효과들을 적용하기 위해 제스처 입력을 이용하는 예시적인 실시예들을 살펴보았으며, 증강을 적용하기 위해 스토리 콘텐츠 자체가 어떻게 이용될 수 있는지에 대해 이제부터 살펴본다.
스토리 콘텐츠를 사용하여 증강을 적용하기
하나 이상의 실시예들에서, 스토리의 콘텐츠는 증강을 언제 적용할지에 관한 큐를 제공할 수 있다. 예를 들어, 증강 효과 모듈(112)은 증강이 적용되어야 하는 곳을 찾기 위해 콘텐츠를 파싱하는 콘텐츠 파서(content parser)를 포함할 수 있다. 콘텐츠 파서는 특정 단어들(예컨대, "소방차")을 식별할 수 있고, 그 단어들은 이어서 증강(예컨대, 소방차 소리)을 적용할 위치의 표시로서 사용된다. 이와 유사하게, 콘텐츠 파서는 증강을 적용하기 위해 사용할 특정의 구두점 큐(punctuation cue)를 찾을 수 있다. 예를 들어, 콘텐츠 파서는 인용 부호를 찾고 인용 부호의 위치를 증강 효과 테이블에 대한 인덱스로서 사용할 수 있다. 이하의 예를 생각해보자:
Sadie 쥐가 말했다 "그 치즈를 옮길거야."
[이전의 텍스트는 인용 영역 1이다]
Billy 쥐가 말했다 "내 생각엔 그들이 보고 있으니까 재빨리 옮기는게 좋아."
[이전의 텍스트는 인용 영역 2이다]
도 11은 하나 이상의 실시예들에 따른, 방법에서의 단계들을 기술하는 흐름도를 나타낸 것이다. 이 방법은 임의의 적합한 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합과 관련하여 구현될 수 있다. 적어도 일부 실시예들에서, 이 방법의 양태들은 도 1 내지 도 3의 증강 효과 모듈(112)과 같은, 적절히 구성된 소프트웨어 모듈에 의해 구현될 수 있다.
단계(1100)는 다수의 참가자들 사이에 통신 연결을 설정한다. 참가자들이 참가자들 사이에 전자 스토리가 공유되는 상호작용적 리딩 경험을 공유할 수 있게 하기 위해 통신 연결이 설정된다. 임의의 적당한 유형의 통신 연결 - 이것의 예들은 앞서 제공되어 있음 - 이 설정될 수 있다.
단계(1102)는 증강이 행해져야 하는 위치들을, 스토리의 콘텐츠로부터, 식별하기 위해 스토리의 콘텐츠를 파싱한다. 단계(1104)는 스토리의 콘텐츠를 파싱하는 것으로부터 식별되는 위치들에 기초하여 스토리의 하나 이상의 속성들 또는 특성들을 증강시킨다. 예를 들어, 리더의 음성이 앞서 기술된 바와 같이 증강될 수 있다. 대안적으로 또는 그에 부가하여, 하나 이상의 효과들이 앞서 기술된 바와 같이 적용될 수 있다. 게다가, 스토리 자체의 콘텐츠가 증강되거나 수정될 수 있다. 예를 들어, 증강은 스토리와 연관된 비디오를 증강시키는 것 - 예컨대, 스토리 내의 하나 이상의 물체들을 이상에서 및 이하에서 기술되는 바와 같이 조작하는 것 - 을 추가로 포함할 수 있다. 게다가, 이 단계는 임의의 적당한 위치 - 이것의 예들은 앞서 제공되어 있음 - 에서 수행될 수 있다.
단계(1106)는 원격 참가자들이 증강된 전자 스토리를 소모시킬 수 있게 한다. 이 단계는 임의의 방식 - 이것의 예들은 앞서 제공되어 있음 - 으로 수행될 수 있다.
증강 효과들을 적용하기 위해 스토리 콘텐츠를 이용하는 예시적인 실시예들을 살펴보았으며, 증강이 적용되어야 할 때를 표시하기 위해 스토리 콘텐츠가 태그와 같은 메타데이터를 어떻게 포함할 수 있는지에 대해 이제부터 살펴본다.
스토리 메타데이터를 사용하여 증강을 적용하기
하나 이상의 실시예들에서, 전자 스토리의 콘텐츠의 일부를 구성하는 메타데이터가 증강을 적용하기 위해 이용될 수 있다 예를 들어, 스토리의 파일 내의 헤더 정보는 증강이 행해져야 하는 스토리 내에서의 다양한 위치들을 식별해주는 메타데이터 태그들을 포함할 수 있다. 이와 유사하게, 스토리의 콘텐츠의 보디(body) 내의 메타데이터 태그들은 증강이 행해져야 하는 위치들을 식별해줄 수 있다. 이러한 메타데이터 태그들은 증강이 행해져야 하는 위치들 뿐만 아니라, 행해져야 하는 증강의 유형도 식별해줄 수 있다(예컨대, "<morph.reader.voice morph=character_1/>"). 이 예에서, 스토리의 콘텐츠에서의 태그의 위치는 리더의 음성이 어디에서 모핑되어야 하는지는 물론, 행해져야 하는 모핑 동작(즉, 리더의 음성을 "character_1"의 음성으로 모핑하는 것)을 나타낸다.
도 12는 하나 이상의 실시예들에 따른, 방법에서의 단계들을 기술하는 흐름도를 나타낸 것이다. 이 방법은 임의의 적합한 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합과 관련하여 구현될 수 있다. 적어도 일부 실시예들에서, 이 방법의 양태들은 도 1 내지 도 3의 증강 효과 모듈(112)과 같은, 적절히 구성된 소프트웨어 모듈에 의해 구현될 수 있다.
단계(1200)는 다수의 참가자들 사이에 통신 연결을 설정한다. 참가자들이 참가자들 사이에 전자 스토리가 공유되는 상호작용적 리딩 경험을 공유할 수 있게 하기 위해 통신 연결이 설정된다. 임의의 적당한 유형의 통신 연결 - 이것의 예들은 앞서 제공되어 있음 - 이 설정될 수 있다.
단계(1202)는, 스토리를 리딩하는 동안, 증강이 행해져야만 하는 위치들을 식별해주는 스토리와 연관된 메타데이터를 검출한다. 이것은 메타데이터 및 따라서 증강이 행해질 수 있는 위치들을 식별하기 위해 콘텐츠를 파싱하는 것에 의해 행해질 수 있다. 메타데이터의 예들은 앞서 제공되어 있다. 단계(1204)는 메타데이터로부터 식별되는 위치들에 기초하여 스토리의 하나 이상의 속성들 또는 특성들을 증강시킨다. 예를 들어, 리더의 음성이 앞서 기술된 바와 같이 증강될 수 있다. 대안적으로 또는 그에 부가하여, 하나 이상의 효과들이 앞서 기술된 바와 같이 적용될 수 있다. 게다가, 스토리 자체의 콘텐츠가 증강되거나 수정될 수 있다. 게다가, 이 단계는 임의의 적당한 장소 - 이것의 예들은 앞서 제공되어 있음 - 에서 수행될 수 있다.
단계(1206)는 원격 참가자들이 증강된 전자 스토리를 소모시킬 수 있게 한다. 이 단계는 임의의 방식 - 이것의 예들은 앞서 제공되어 있음 - 으로 수행될 수 있다.
증강 효과들을 적용하기 위해 메타데이터를 이용하는 예시적인 실시예들을 살펴보았으며, 증강이 적용되어야 할 때를 나타내기 위해 전자 스토리의 페이지 번호 및 기타 구조가 어떻게 이용될 수 있는지에 대해 이제부터 살펴본다.
페이지 번호 및 기타 스토리 구조를 사용하여 증강을 적용하기
하나 이상의 실시예들에서, 증강을 적용하기 위해 스토리의 페이지 번호 또는 기타 스토리 구조가 이용될 수 있다 예를 들어, 스토리를 리딩하고 있을 때, 리더가 특정 페이지 또는 단락에 도달할 때, 증강이 적용될 수 있다. 예를 들어, 스토리를 리딩하고 있고, 스토리의 페이지 3에서, 페이지 전체가 하나의 등장인물의 대화를 포함하는 것으로 가정한다. 이 경우에, 리더가 페이지 3을 열 때 음성 모핑 및/또는 기타 효과들이 적용될 수 있다. 리더가 페이지 4를 열 때, 음성 모핑 및/또는 기타 효과들이 종료될 수 있다. 대안적으로 또는 그에 부가하여, 증강이 일단 시작되면, 증강은 페이지 또는 단락이 끝나기 전에 자연적으로 끝날 수 있다.
동작을 설명하면, 증강을 적용하기 위해 페이지 번호 또는 기타 스토리 구조를 사용하는 것은 스토리에 수반되는 메타데이터의 사용을 통해 구현될 수 있다. 이 메타데이터는 증강을 위해 이용되어야 하는 페이지, 단락, 및/또는 기타 스토리 구조는 물론 적용될 증강의 유형을 식별해줄 수 있다. 이것은 리더가 스토리를 리딩할 때 증강을 일반적으로 자동으로 트리거링하는 것을 가능하게 할 수 있다.
도 13은 하나 이상의 실시예들에 따른, 방법에서의 단계들을 기술하는 흐름도를 나타낸 것이다. 이 방법은 임의의 적합한 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합과 관련하여 구현될 수 있다. 적어도 일부 실시예들에서, 이 방법의 양태들은 도 1 내지 도 3의 증강 효과 모듈(112)과 같은, 적절히 구성된 소프트웨어 모듈에 의해 구현될 수 있다.
단계(1300)는 다수의 참가자들 사이에 통신 연결을 설정한다. 참가자들이 참가자들 사이에 전자 스토리가 공유되는 상호작용적 리딩 경험을 공유할 수 있게 하기 위해 통신 연결이 설정된다. 임의의 적당한 유형의 통신 연결 - 이것의 예들은 앞서 제공되어 있음 - 이 설정될 수 있다.
단계(1302)는, 스토리를 리딩하는 동안, 증강이 행해져야 하는 위치들을 식별해주는 하나 이상의 페이지 번호들 또는 기타 스토리 구조를 검출한다. 단계(1304)는 페이지 번호들 또는 기타 스토리 구조로부터 식별되는 위치들에 기초하여 스토리의 하나 이상의 속성들 또는 특성들을 증강시킨다. 예를 들어, 리더의 음성이 앞서 기술된 바와 같이 증강될 수 있다. 대안적으로 또는 그에 부가하여, 하나 이상의 효과들이 앞서 기술된 바와 같이 적용될 수 있다. 게다가, 스토리 자체의 콘텐츠가 증강되거나 수정될 수 있다. 예를 들어, 증강은 스토리와 연관된 비디오를 증강시키는 것 - 예컨대, 스토리 내의 하나 이상의 물체들을 이상에서 및 이하에서 기술되는 바와 같이 조작하는 것 - 을 추가로 포함할 수 있다. 게다가, 이 단계는 임의의 적당한 장소 - 이것의 예들은 앞서 제공되어 있음 - 에서 수행될 수 있다.
단계(1306)는 원격 참가자들이 증강된 전자 스토리를 소모시킬 수 있게 한다. 이 단계는 임의의 방식 - 이것의 예들은 앞서 제공되어 있음 - 으로 수행될 수 있다.
증강이 적용되어야 할 때를 나타내기 위해 전자 스토리의 페이지 번호들 및 기타 구조를 이용하는 예시적인 실시예들을 살펴보았으며, 일부 구현례들에 대해 이제부터 살펴본다.
구현례 및 고려사항
도 14는 하나 이상의 실시예들에 따른, 디바이스(1400)의 한 구현의 양태들을 나타낸 것이다. 디바이스(1400)는, 예시된 바와 같이, 마이크, 카메라, 및 스피커를 포함한다. 그에 부가하여, 디바이스는 VoIP(voice over IP) 애플리케이션(1402), 음성 인식기(1404), 위치 검출기(1406), 사전 설정(preset)들의 테이블(1408), 음성 모핑 모듈(1410), 전자책 파일(1412)(즉, 이북), 및 렌더러(renderer) 또는 웹 브라우저(1414)를 포함한다. 네트워크(1416)는 디바이스(1400)가 상호작용적 스토리를 공유하기 위해 다른 원격 디바이스들과 연결할 수 있게 한다. 적어도 일부 실시예들에서, 다른 원격 디바이스들 각각은 이상에서 및 이하에서 기술되는 바와 같이 동작하는 동일하거나 유사한 구성요소들을 포함한다. 예시되고 기술된 예에서, VoIP 애플리케이션(1402)은 인터넷(1416)을 통해 오디오비주얼 스트림들을 송신 및 수신한다. VoIP 애플리케이션(1402)으로부터 발신되는 스트림들은, 앞서 기술된 바와 같이, 적절히 구성된 음성 인식기(1404), 위치 검출기(1406), 및 사전 설정들의 테이블(1408)에 의해 처리될 수 있다.
하나 이상의 실시예들에서, VoIP 애플리케이션(1402)은 동일한 디바이스 상에서 실행 중인, 웹 브라우저(1414)와 같은, 웹 브라우저를 포함하거나 그와 통합된다. 이 예에서, 전자책 파일(1412)은 연관된 콘텐츠가 다수의 표준 이북 포맷들 중 임의의 포맷으로 서버로부터 디바이스로 다운로드되게 하는 웹 상의 URL을 통해 액세스된다. 일단 다운로드되면, 콘텐츠는 렌더러 또는 웹 브라우저(1414)에 전용되어 있는 디바이스의 화면 영역에 로컬적으로 렌더링된다. VoIP 애플리케이션이 시작될 때, 보통의 방식으로 호가 설정된다. 양 당사자 또는 각 당사자가 책을 공유하기로 합의할 때, 렌더러 또는 웹 브라우저(1414)는 책들의 라이브러리에 대응하는 URL로 보내진다. 동일한 URL이 또한 통화 개시 디바이스(call-initiating device)로부터 다른 참가자들의 디바이스들로 전송된다. 각각의 디바이스 또는 애플리케이션은 이어서 참가자들이 동일한 라이브러리를 볼 수 있도록 동일한 URL을 열 것이다. 참가자들이 선택에 합의하고 한 참가자가 특정의 책의 URL을 선택하면, 다른 참가자들이 동일한 책을 열 수 있도록 그 책의 URL이 다른 참가자들 각각으로 전송된다. 선택된 책의 URL이 액세스될 때, 서버로부터의 제어 데이터 및 콘텐츠가 디바이스들로 전송되고, 그에 따라 책이 렌더링된다. 기본 콘텐츠는, 제한이 아닌 예로서, HTML 5 및/또는 다양한 EPUB 버전들 또는 기타 독점 포맷들 중 임의의 것을 비롯한 임의의 수의 포맷들로 표현될 수 있다.
다른 실시예들에서, 전자책이 표준 웹 브라우저의 사용 없이 렌더링될 수 있다. 이 경우에, 전자책을 렌더링하기 위해 전용 렌더러가 사용될 수 있다. 서버 상의 콘텐츠는 여전히 앞서 열거된 포맷들 중 임의의 것으로 존재할 수 있다. 그렇지만, 한 가지 차이점은 이들 구현에서 웹 브라우저의 전체 기능이 존재할 필요가 없다는 것이다. 그 대신에, 어느 것이든 선택된 전자 포맷에 대해 전용 렌더링 엔진이 사용될 수 있다. 데이터가 서버로부터, 제한이 아닌 예로서, TCP/IP와 같은 표준 연결을 통해 참가자 디바이스들로 직접 전송될 수 있다. 렌더링 엔진은 이어서 제어 데이터를 리딩하고 책의 페이지들이 수신될 때 그들을 렌더링한다.
또 다른 실시예들에서, 전자책이 상기 기법들 중 어느 하나를 사용하여 렌더링될 수 있고, 이어서, 예를 들어, 비디오 스트림 또는 일련의 정지 영상들로서 다른 참가자들로 직접 전송될 수 있다. 이것은 전형적인 화면 공유 설비(screen-sharing setup)를 사용하여 행해질 수 있다. 이것은, 브라우저도 렌더링 엔진도 이용될 필요가 없기 때문에, 원단 애플리케이션(far end application)의 구현을 단순화시킬 수 있다.
또 다른 실시예들에서, 전자책이 서버 상에서 렌더링될 수 있고, 연결된 디바이스들 모두로 다운로드될 수 있다. 이 경우에, 종단점(endpoint)들이 해야 할 일이 수신된 오디오 및 비디오 스트림을 재생하는 것 밖에 없기 때문에, 종단점들이 덜 강력한 플랫폼일 수 있다. 예를 들어, 종단점들이 소위 "씬 클라이언트(thin client)"를 나타내는 경우에 이러할 것이다. 서버는 책의 페이지들을 렌더링하고, 통화 참가자들로부터 수신되는 오디오 및 비디오 스트림들에 모든 증강들을 적용하며, 입력 디바이스들 각각에 대해, 해당 참가자의 비디오 스트림이 상부에 오버레이되어 있는 책 페이지와 같은 복합 영상들을 생성한다. 기존의 VoIP 프레임워크들과의 호환성을 위해, 통화 오디오가 화자의 디바이스 상에서 인코딩되고 증강 효과들을 적용하기 전에 서버 상에서 디코딩될 수 있다. 서버는 이어서 수정된 오디오를 재인코딩하여 다른 종단점들로 송신할 수 있다. 적어도 일부 경우들에서, 압축되지 않은 원시 오디오 및 비디오를 서버로 송신하는 것도 가능하다. 이것은 인코딩/디코딩 왕복(encode/decode round-trip)을 절감할 수 있지만, 압축되지 않은 스트림들이 송신되고 있기 때문에 상당히 더 많은 네트워크 대역폭을 이용할 수 있다. 비디오 증강이 동일한 방식으로 행해질 수 있고, 여기서 서버는 모든 참가자들에 대한 비디오 스트림들을 디코딩하고 임의의 선택된 효과들을 적용하며, 이어서 스트림들을 재인코딩하여 다른 참가자들로 송신한다.
차후의 공유를 위해 공유된 스토리 경험을 포착하기
하나 이상의 실시예들에서, 공유된 스토리 경험이 차후의 공유를 위해 포착될 수 있다. 이들 경우에, 스토리를 리딩할 때, 공유된 통화의 어느 한쪽 종단에 있는 소프트웨어는 제시되는 비디오 및 오디오 스트림들을, 임의의 연관된 효과들과 함께, 포착할 수 있다. 포착된 비디오 및 오디오 스트림들은 MPEG-4 등과 같은 임의의 수의 표준 비디오 포맷들을 사용하여 디바이스의 디스크(예를 들어, 비휘발성 메모리) 상의 파일에 저장될 수 있다. 책을 닫는 것에 의하는 것과 같이, 스토리가 끝난 후에, 사용자는 방금 즐겼던 경험의 비디오를 공유하고자 하는지에 관해 프롬프트될 수 있다. 그렇게 선택된 경우, 오디오/비디오 파일이 서버(예컨대, YouTube, SkyDrive 등)로 업로드될 수 있고, 이어서 사용자의 가족 및/또는 커뮤니티의 다른 구성원들과 공유될 수 있다. 이것은 통화에 직접 참가하지 않은 다른 사람들에게 즐거움 및 연결을 제공하고, 또한 스토리의, 실제로는 상호작용적 스토리 애플리케이션 자체의 인기를 증가시키는 역할을 할 수 있다. 파일은 또한 원래의 참가자들이 차후에 즐기기 위해 유지될 수 있다.
공유된 스토리를 차후의 공유를 위해 포착하는 것에 대해 살펴보았으며, 원격 클라이언트들 간의 동기화를 유지하는 것의 논의에 대해 이제부터 살펴본다.
원격 클라이언트들 간의 동기화
하나 이상의 실시예들에서, 공유되고 있는 전자책의 개개의 인스턴스들이 참가자들의 컴퓨터들 모두 사이에서 동기화될 수 있다. 참가자들 중 하나가 책과 상호작용할 때마다, 이 상호작용에 대응하는 제어 정보가 모든 다른 참가자들로 전송된다. 상호작용의 예는 다음/이전 페이지로 전진 또는 되감기, 페이지 내의 물체를 터치하기, 책을 끝내기, 끝으로 건너뛰기, 책갈피를 설정하기, 기존의 책갈피를 선택하기 등(이들로 제한되지 않음)을 포함한다.
이 상호작용 제어 데이터가 수신될 때, 그 제어 데이터는 다른 애플리케이션들로 하여금 대응하는 디바이스들 상에서 동일한 동작(예컨대, 다음 페이지, 이전 페이지, "물체가 터치됨" 등)을 개시하게 한다. 이들 제어는 미리 결정된 프로토콜(예를 들어, TCP/IP를 통해 다음과 같은 ASCII 문자열들을 송신하는 것)을 통해 구현될 수 있다:
NEXTPAGE
PREVPAGE
EXITBOOK
SETBOOKMARK n
OPENBOOKMARK n
FIRSTPAGE
LASTPAGE
TOUCHON {x,y}
TOUCHOFF {x,y}
SELECTOBJECT n
상기 동작들 중 일부(예를 들어, NEXTPAGE)는 참가자들 중 임의의 참가자에 의해 개시될 수 있다. 필터링/연동(interlock) 메커니즘은 다양한 사용자들의 디바이스들이 동기를 벗어나지 않게 한다. 페이지 변경이 로컬적으로 요청될 때, 명령이 모든 다른 참가자들로 즉각 브로드캐스트된다. 원격 디바이스가 이 명령을 수신할 때, 원격 디바이스는 PAGECHANGECOMPLETE 메시지를 개시측 디바이스로부터 수신할 때까지 임의의 로컬적으로 (그 디바이스에 대해) 생성된 페이지 변경 요청들을 일시적으로 잠금(lock out)할 것이다. 원격 디바이스들은 이어서 명령을 수행하고(예컨대, 다음 페이지를 열고), 이어서 확인 응답(PAGECHANGEACKOWLEDGE) 메시지를 다시 개시측 디바이스로 송신한다. 로컬(개시측) 디바이스 상의 페이지는 모든 원격 디바이스들이 페이지 넘기기 명령(page-turn command)의 수신을 확인 응답할 때까지 변경되지 않는다. 로컬 페이지가 넘겨지고, PAGECHANGECOMPLETE 메시지가 브로드캐스트된다. 원격 디바이스들이 이 메시지를 수신할 때, 원격 디바이스들은 다시 말하지만 로컬적으로 생성된 명령들에 자유롭게 응답한다.
원격 디바이스가 대응하는 (예컨대, PAGECHANGECOMPLETE) 메시지가 수신되지 않은 것으로 인해 금지되는 로컬적으로 생성된 명령(예컨대, NEXTPAGE)을 수신하는 경우, 이 디바이스는 자신의 요청이 충돌 가능성으로 인해 무시되었다는 것을 나타내기 위해, 예를 들어, 페이지 찢기, 또는 시각적 번쩍임, 진동 등과 같은 어떤 다른 지각가능한 이벤트의 소리와 같은 소리를 트리거할 수 있다. 이것은 일시적으로 응답하지 않는 사용자 인터페이스를 갖는 당황케하는 효과를 감소시킬 것이다.
미디어 스트림 조작
앞서 기술된 바와 같이, 서로 멀리 떨어져 있는 한 명 이상의 리더들이, 전자책 및/또는 디지털북 등을 통해, 상호작용적 스토리를 함께 리딩하는 것에 참가할 수 있다. 일부 실시예들에서, 이 상호작용적 경험은 스토리와 연관된 비디오를 수정하는 것, 처리하는 것, 및/또는 증강시키는 것, 그리고 처리된 비디오를 스토리 내에 포함시키는 것을 포함할 수 있고, 이에 대해서는 이하에서 추가로 기술된다. 스토리를 연관된 비디오 포착에 부분적으로 기초하는 것에 의해, 상호작용적 스토리에의 참가자들은 리딩 경험을 향상시킬 수 있다.
다양한 실시예들은 비디오 내에 포함된 얼굴, 얼굴 특징들, 및/또는 영역들을 검출하기 위해 비디오를 처리한다. 얼굴, 얼굴 특징들, 및/또는 영역들을 검출한 것에 응답하여, 일부 실시예들은 검출된 얼굴, 얼굴 특징들, 및/또는 영역들에 적어도 부분적으로 기초하여 비디오를 증강시킨다. 어떤 경우들에서, 증강된 비디오가 스토리 내에 포함될 수 있다. 대안적으로 또는 그에 부가하여, 비디오 내에 포함된 제스처 및/또는 움직임을 검출하기 위해 비디오가 처리될 수 있다. 스토리와 연관된 시각적 및/또는 오디오 큐가 검출된 제스처 및/또는 움직임에 적어도 부분적으로 기초할 수 있다.
상호작용적 스토리 경험의 일부로서, 일부 실시예들은 사용자가 비디오 및/또는 정지 영상들을 스토리 경험 내에 포함시킬 수 있게 한다. 앞서 기술된 바와 같이, 사용자는 수정 및/또는 개인화될 수 있는 스토리 내의 다양한 장소들 및/또는 영상들의 큐 또는 표시를 제공받을 수 있다. 예를 들어, 일부 실시예들에서, 선택가능 영상의 큐가 사용자에게 제공될 수 있다. 영상을 선택하는 것은 영상을 대체 또는 수정하기 위해 차후에 사용될 수 있는 부가의 비디오 포착 및/또는 영상 처리를 트리거할 수 있으며, 이에 대해서는 이하에서 추가로 기술된다. 어떤 경우들에서, 사용자의 비디오가 연관된 스토리 영상을 직접 대체할 수 있다. 다른 경우들에서, 스토리 내의 등장인물들을 반영하기 위해 사용자의 비디오가 증강 및/또는 필터링될 수 있다.
비디오 포착 프로세스의 일부로서, 여기에서 도 1의 최종 사용자 단말(102)로서 도시된, 예시적인 실시예를 나타내는 도 15를 살펴본다. 이전에 예시되고 앞서 기술된 바와 같이, 최종 사용자 단말(102)은, 그 중에서도 특히, 오디오 증강 모듈(300), 비디오 증강 모듈(302), 및 증강 큐 모듈(304)을 포함하는 증강 효과 모듈(112)을 포함한다. 이 논의의 목적상, 최종 사용자 단말(102) 및 그의 연관된 요소들 및 환경이 단순화되어 있다. 그렇지만, 이 단순화가 청구된 발명 요지의 범주를 제한하도록 의도되어 있지 않다는 것을 잘 알 것이다.
그 중에서도 특히, 최종 사용자 단말(102)은 카메라(1502)로부터 비디오 입력을 수신한다. 카메라(1502)는 움직이는 일련의 영상들을 전자적으로 포착, 기록, 및/또는 처리할 수 있는 기능을 나타낸다. 게다가, 전자적으로 포착되는 영상들이 임의의 적당한 유형의 저장 디바이스 - 이것의 예들이 이하에서 제공됨 - 에 저장될 수 있다. 여기서, 카메라(1502)는 포착된 비디오를 유선 연결을 통해 송신하는, 최종 사용자 단말의 외부에 있는 디바이스로서 예시되어 있다. 그렇지만, 무선 연결과 같은 임의의 적당한 유형의 연결이 사용될 수 있다. 일부 실시예들에서, (스마트폰 상에 통합된 비디오 카메라와 같이) 카메라(1502) 및 사용자 단말(102)이 동일한 하드웨어 플랫폼 상에 서로 통합되어 있다. 대안적으로 또는 그에 부가하여, 최종 사용자 단말(102)에 연결된 디스플레이 디바이스 상에 통합된 카메라와 같이, 카메라(1502)가 최종 사용자 단말(102)의 주변 장치와 통합될 수 있다. 이와 같이, 카메라(1502)와 최종 사용자 단말(102)이 통합되어 있든 분리되어 있든 간에, 카메라(1502)는 비디오를 전자적으로 포착하고 그리고/또는 비디오를 최종 사용자 단말(102)로 송신할 수 있는 임의의 형태의 디바이스를 나타낸다.
비디오 포착(1504)은 최종 사용자 단말(102)에 의해 수신된 비디오 영상들을 나타낸다. 이 예에서, 비디오 포착(1504)은 카메라(1502)에 의해 생성되고 최종 사용자 단말(102)에 로컬적으로 저장된다. 그렇지만, 청구된 발명 요지의 범주를 벗어나는 일 없이, 비디오 포착(1504)이 또한 최종 사용자 단말(102)로부터 원격지에 저장될 수 있다는 것을 잘 알 것이다. 이와 같이, 최종 사용자 단말(102)은, (여기에 예시된 바와 같이) 최종 사용자 단말(102)에 직접 연결된 카메라를 통하는 것 또는 원격 연결을 통하는 것과 같은, 임의의 적당한 방식으로 비디오 포착을 획득할 수 있다. 일부 실시예들에서, 비디오 포착은 한 명 이상의 참가자들 및/또는 공유된 스토리 경험의 리더들과 같은 한 명 이상의 사람들의 영상들을 포함할 수 있다. 여기서, 비디오 포착 영상(1506)은 비디오 포착(1504)을 구성하는 복수의 정지 영상들 중 하나를 나타낸다. 간단함을 위해, 비디오 포착 영상(1506)을 참조하여 논의가 행해질 것이다. 그렇지만, 비디오 포착 영상(1506)을 참조하여 기술되는 기능이 비디오 포착(1504) 및/또는 복수의 영상들에 똑같이 적용가능하다는 것을 잘 알 것이다.
다중 사용자 통신 세션에 참가하고 있을 때, 비디오는 종종 사용자와 연관된 감정을 보통의 텍스트보다 더 효과적으로 전달한다. 예를 들어, 텍스트 문구 "오오"는 놀람, 실망, 호기심, 흥분, 분노, 혐오 등의 다양한 감정들 중 하나로서 해석될 수 있다. 문맥을 모르는 경우, 이 문구를 리딩하는 사용자는 이것을 의도된 대로 해석할 수 없고, 그 결과 약간 "김빠진" 오해의 소지가 있는 경험을 하게 된다. 그렇지만, 제2 사용자가 이 문구를 말하고 있는 비디오를 보는 사용자는 문구를 말하는 동안 제2 사용자의 얼굴이 어떻게 변하는지의 시각적 큐로부터 의도된 감정을 더 잘 이해할 수 있다. 유사한 방식으로, 이들 시각적 큐 및/또는 제스처를 포착하여 공유된 스토리 내에 넣는 것은 스토리 경험을 향상시킬 수 있다.
일부 실시예들에서, 얼굴 검출 알고리즘은 비디오 포착에서 얼굴 및/또는 얼굴의 영역들을 자동으로 검출할 수 있다. 이들 알고리즘은, 비디오 및/또는 정지 영상 내의 다른 물체들을 무시 및/또는 묵살하면서, 그 영상 내의 얼굴 특징들을 식별할 수 있다. 예를 들어, 도 15의 비디오 포착 영상(1506)에 적용되는 얼굴 검출 알고리즘들(1602a, 1602b, 및 1602c)의 양태들을 도시한 도 16을 살펴보자. 얼굴 검출 알고리즘(1602a)은 얼굴을 전체적으로 검출하고 상자를 사용하여 얼굴의 위치를 표시하는 알고리즘을 나타낸다. 이 예에서, 직사각형 상자는 검출된 얼굴이 어디에 위치되어 있는지를 식별해주는 영역(1604)을 규정하는 데 사용된다. 정사각형 상자, 타원형 상자, 원형 상자 등과 같은 임의의 적당한 크기 및 형상이 사용될 수 있다. 대안적으로 또는 그에 부가하여, 영역의 크기는 영상의 어느 정도가 검출된 얼굴을 포함하는지에 기초하여 변할 수 있다. 어떤 경우들에서, 이 전체적인 식별은 이용가능한 처리 능력이 보다 적은 환경들에서 적당할 수 있다.
얼굴 검출 알고리즘(1602b)은 얼굴 인식 알고리즘(1602a)보다 더 세밀한 식별을 갖는 얼굴 검출 알고리즘을 나타낸다. 여기서, 얼굴 검출과 연관된 두 개의 영역 - 내부 영역(1606) 및 외부 영역(1608) - 이 식별된다. 일부 실시예들에서, 내부 영역(1606)과 외부 영역(1608) 사이의 구역은 "블렌딩(blending)" 및/또는 평활화 구역으로서 사용되기 위해 얼굴 검출 알고리즘에 의해 식별되는 영역을 나타낸다. 예를 들어, 블렌딩 구역은 식별된 얼굴 및/또는 비디오를 스토리 내의 제2 영상으로 전환시키기 위해 사용될 수 있다. 영역(1608) 밖에서는, 비디오 포착 영상(1506)과 연관된 픽셀들 및/또는 콘텐츠가 스토리 내의 제2 영상 내로 복사되지 않는다. 이와 달리, 영역(1606)으로 둘러싸인 픽셀들 및/또는 콘텐츠는 복사 및/또는 전송될 것이다. 영역(1606)과 영역(1608) 사이의 영역은 개별적인 영상들 간에 매끄럽게 전환하기 위해 비디오 포착 영상(1506)과 제2 영상 간의 블렌딩을 가져올 것이다. 알파 블렌딩 알고리즘(Alpha blending algorithm)과 같은 임의의 적당한 블렌딩 알고리즘이 사용될 수 있다. 어떤 경우들에서, 블렌딩 알고리즘(들)은 [비디오 포착 영상(1506)과 같은] 선택된 영상의 투명도(transparency)를 0(투명도 없음, 100% 눈에 보임)으로부터 1(완전 투명도, 0% 눈에 보임)로 전환시키기 위해 영역(1606)과 영역(1608) 사이의 공간과 같은 공간을 사용한다. 이러한 방식으로, 스토리에의 참가자와 연관된 비디오 영상들이 스토리 내의 하나 이상의 등장인물들 상에 중첩될 수 있고, 따라서 경험을 개인화할 수 있다.
다른 예로서, 얼굴 검출 알고리즘(1602c)은 여기에서 영역들(1610)로서 전체적으로 도시되어 있는, 얼굴과 연관된 구체적인 상세들을 식별한다. 여기에서, 눈, 코, 및 입이 개별적으로 위치 확인되고 서로 식별된다. 상기의 경우에서와 같이, 스토리 내의 만화 등장인물의 눈, 코 및 입을 대체하는 것과 같이, 이들 특징이 스토리 내에 포함된 하나 이상의 영상들 상에 중첩될 수 있다. 대안적으로 또는 그에 부가하여, 윙크, 키스, 재채기, 휘파람 불기, 말하기, 고함치기, 깜박거림, 머리 끄덕임, 머리 흔들기 등과 같은 제스처를 식별하기 위해 이들 특징이 시간에 따라 모니터링될 수 있다. 차례로, 식별된 제스처가 스토리 내의 만화 등장인물의 애니메이션화를 주도할 수 있다. 예를 들어, 일부 실시예들에서, 비디오 내에서 윙크를 검출하는 것은, 차례로, 연관된 만화 등장인물로 하여금 윙크하게 할 수 있다. 얼굴 검출과 관련하여 논의되지만, 청구된 발명 요지의 사상 및 범주를 벗어나는 일 없이 임의의 적당한 제스처가 모니터링 및/또는 검출될 수 있다는 것을 잘 알 것이다.
일부 실시예들에서, 사용자는 공유된 스토리 경험에 포함시킬 비디오 및/또는 정지 영상 내의 하나 이상의 영역들을 수동으로 식별할 수 있다. 예시적인 사용자 인터페이스(1702)를 나타낸 도 17을 살펴보자. 사용자 인터페이스(1702)는 사용자 및/또는 참가자가 비디오 및/또는 정지 영상의 어떤 부분들이 증강되는지를 커스터마이즈(customize)할 수 있게 한다. 이 예에서, 사용자 인터페이스(1702)는 커스터마이즈 프로세스의 일부로서 도 15의 비디오 포착 영상(1506)을 사용자에게 디스플레이한다. 이 디스플레이는 비디오 포착 영상(1506)에 대해 변경들이 행해지고 그리고/또는 적용될 때 수정들을 반영하기 위해 업데이트하도록 구성될 수 있다. 예를 들어, 컨트롤(1704)은 사용자가 줌 수정 및 회전 수정을 통해 영상 내의 연관된 머리를 배치하도록 할 수 있다. 사용자가 줌 컨트롤러 막대(zoom controller bar)를 좌측 또는 우측으로 슬라이딩시킬 때, 사용자 인터페이스(1702)는 연관된 줌 인자를 반영하기 위해 비디오 포착 영상(1506)의 디스플레이를 업데이트할 수 있다. 이와 유사하게, 사용자가 회전 컨트롤러 막대(rotate controller bar)를 좌측 또는 우측으로 슬라이딩시킬 때, 사용자 인터페이스(1702)는 비디오 포착 영상(1506)의 디스플레이를 시계 방향으로 및/또는 시계 반대 방향으로 회전시킬 수 있다. 이들 업데이트는 사용자가 컨트롤을 활발하게 다룰 때 및/또는 사용자가 변경들을 적용하기로 선택할 때 일어날 수 있다. 대안적으로 또는 그에 부가하여, 영상의 위치 결정(positioning)을 앵커링(anchor)하기 위해 하나 이상의 기준점들이 사용될 수 있다. 여기서, 앵커(1706)는 비디오 포착 영상(1506) 내에 포함된 눈과 연관된 위치 결정을 나타낸다. 이들 앵커는 고정되어 있거나 조절가능할 수 있다. 일부 실시예들에서, 사용자 인터페이스(1702)는 사용자가 앵커(1706)를 끌(drag) 수 있도록 및/또는 이동시킬 수 있도록 구성될 수 있다. 다른 실시예들에서, 앵커(1706)는 위치가 고정될 수 있고, 사용자는 비디오 포착 영상(1506)을 앵커에 대해 원하는 위치로 끌 수 있고 그리고/또는 이동시킬 수 있다. 사용자 인터페이스(1702)는 사용자가 비디오 포착 영상(1506)에 대해 행해지는 변경들을 미세 조정하고, 입 앵커를 위치 결정하며, 변경들을 저장할 수 있게 하는 부가의 컨트롤들(1708)을 포함한다. 그렇지만, 청구된 발명 요지의 범주를 벗어나는 일 없이, 크로핑(cropping), 채도(color saturation)를 수정하는 것, 채색(color tinting)을 수정하는 것, 코 위치를 식별하는 것 등과 연관된 컨트롤들과 같은, 임의의 적당한 조합 및/또는 유형의 컨트롤들이 사용자 인터페이스(1702)에 포함될 수 있다는 것을 잘 알 것이다. 게다가, 이들 수동 식별은 비디오 포착과 연관된 정지 영상, 비디오 포착과 연관된 일련의 영상들, 또는 이들의 임의의 조합에 대해 수행될 수 있다. 예를 들어, 정지 영상에 대해 행해지는 식별은 이어서 차후에 유사한 얼굴 배치 및/또는 종횡비를 갖는 일련의 다른 영상들에 적용될 수 있다.
이상의 논의들은 비디오 포착 및 정지 영상들과 연관된 수동 및 자동 검출 기법들을 기술하고 있다. 얼굴, 얼굴 특징들, 및/또는 얼굴 제스처들을 식별하는 것과 관련하여 기술되어 있지만, 이들 기법이 임의의 적당한 방식으로 수정 및/또는 적용될 수 있다는 것을 잘 알 것이다. 예를 들어, 얼굴 인식 및/또는 윙크를 식별하는 것 대신에, 손 흔들기, 수화 제스처 등을 식별하기 위해 비디오가 처리될 수 있다. 앞서 논의된 바와 같이, 이들 식별된 제스처는 이어서 공유된 스토리 경험의 애니메이션화 및/또는 거동에 영향을 미치기 위해 사용될 수 있다. 대안적으로 또는 그에 부가하여, (얼굴 검출과 같이) 다양한 특징들이 식별되면, 스토리 하기 프로세스(story telling process)의 일부로서 비디오가 증강 및/또는 향상될 수 있다.
일부 실시예들은 공유된 스토리 경험의 일부로서 비디오 포착 데이터를 증강시키고 그리고/또는 수정한다. 리더 및/또는 참가자는 비디오를 업로드하고 비디오 포착 데이터의 수정된 버전을 스토리에 포함시킬 수 있다. 어떤 경우들에서, 비디오의 모습을 수정하기 위해 고역 통과 필터, [영상을 블러링(blur)시키는] 저역 통과 필터, 에지 강조(edge-enhancement) 기법, 컬러 필터(colorized filter)[예컨대, 소스 영상의 휘도 채널(luminance channel)을 사용하여 임의의 RGB 테이블을 인덱싱함], 왜곡 필터(distortion filter)[파문(ripple), 렌즈, 수직파, 수평파 등], 세피아톤 필터링(sepia tone filtering) 등과 같은 하나 이상의 필터들이 비디오에 적용될 수 있다. 예를 들어, "로토스코핑" 필터는 "현실 세계" 영상의 모습을 "만화 세계" 영상으로 수정할 수 있다. 로토스코핑은 몇 개의 필터들의 조합[예를 들어, 콘트라스트 향상(contrast enhancement)을 적용하고, 이어서 RGB 색 공간으로부터 HSV 색 공간으로 변환하며, 이어서 V 좌표를 아주 거칠게 양자화하는 것]을 사용하여 달성될 수 있다. 전문적인 로토스코핑의 하나의 스테이지는 전형적으로 로토스코핑될 각각의 얼굴 주위에 윤곽선을 렌더링하고 이어서 로토스코핑 알고리즘을 적용하는 것을 포함한다. 대안적으로 또는 그에 부가하여, 스토리의 시각적 배경이 참가자들에 친숙한 어떤 것으로 개인화될 수 있다. 예를 들어, 배경이 참가자의 침실, 집 또는 이웃의 그림일 수 있다. 이와 같이, 스토리 내의 영상들 및/또는 물체들이 비디오 포착 및/또는 정지 영상의 적어도 일부와 결합될 수 있다. 예를 들어, 전자 스토리는 침실에 앉아 있는 만화 등장인물을 디스플레이하는 영상 및/또는 물체를 포함할 수 있다. 일부 실시예들에서, 그 결과 얻어진 영상 및/또는 물체들이 개별적인 침실에 앉아 있는 만화 등장인물을 디스플레이하도록, 개별적인 침실의 영상이 업로드되어 만화 등장인물과 결합될 수 있다. 게다가, 적어도 일부 실시예들에서, 리더의 신체 움직임이, Kinect 유형 시나리오와 유사하게, 포착되고, 스토리에서의 등장인물의 애니메이션화를 주도하는 데 사용될 수 있다.
로토스코핑 필터 이전 예 및 로토스코핑 필터 이후 예를 나타낸 도 18을 살펴보자. 영상(1802)은 남자의 정지 영상을 나타낸다. 이 영상은 도 15의 카메라(1502)와 같은 카메라로 찍은 현실 세계 영상을 나타낸다. 여기서, 영상은 남자의 머리에 중점을 두고 있다. 일부 실시예들에서, 얼굴을 둘러싸고 있는 다른 요소들 및/또는 물체들을 제거하기 위해 영상(1802)이 앞서 기술된 바와 같이 얼굴 검출 알고리즘을 사용하여 이전에 처리되었다. 이 영상은 앞서 기술된 로토스코핑 필터와 같은 하나 이상의 필터들에의 입력으로서 사용될 수 있다. 영상(1804)은 영상(1802)이 로토스코핑 필터를 적용한 후에 어떻게 보일 것인지를 나타내고 있다. 필터링 후에, 영상(1804)은 영상(1802)의 도화 버전(drawn version) 또는 만화 버전과 아주 비슷하다. 정지 영상과 관련하여 논의되지만, 청구된 발명 요지의 범주를 벗어나는 일 없이 필터들이 비디오 포착에 적용될 수 있다는 것을 잘 알 것이다.
앞서 기술된 바와 같이, 다양한 이벤트들의 검출은 스토리의 양태들이 개인화, 수정, 및/또는 커스터마이즈될 수 있을 때 사용자에게 큐잉할 수 있다. 이들 큐에 응답하여, 사용자는, 그 중에서도 특히, 비디오 포착을 수정하고 수정된 비디오를 스토리에 포함시키는 것을 통해 스토리를 개인화할 수 있다. 어떤 경우들에서, 스토리 하기에 관련된 다양한 특징들 및/또는 제스처들이 있는지 비디오 포착이 자동으로 분석되고 그리고/또는 수동으로 표시될 수 있다. 예를 들어, 향상된 상호작용적 스토리(1902)를 나타낸 도 19를 살펴보자. 이 예에서, 비디오 포착 영상(1506)이 두 가지 개별적인 방식으로 증강되어 향상된 상호작용적 스토리(1902)에 포함된다. 증강된 비디오(1904)는 비디오 포착 영상(1506)과 연관된 로토스코핑된 영상을 나타낸다. 여기서, 비디오 포착 영상(1506)은 연관된 얼굴을 앞서 기술된 바와 같이 "만화 세계"로 전환하기 위해 로토스코핑 필터 효과로 필터링되었다. 증강 프로세스로서 로토스코핑 필터를 적용하는 것에 부가하여, 수정된 영상이 꽃의 만화 몸통(cartoon body) 상에 중첩된다. 일부 실시예들에서, 증강된 비디오(1904)는 비디오와 연관된 정지 영상일 수 있는 반면, 다른 실시예들에서, 증강된 비디오(1904)는 일련의 영상들일 수 있다. 대안적으로 또는 그에 부가하여, 비디오 포착 영상(1506)에서 검출된 얼굴 특징들은 스토리 내에 포함된 만화와 연관된 얼굴 변경들을 주도할 수 있다.
증강 비디오(1904)를 포함시키는 것에 부가하여, 향상된 상호작용적 스토리(1902)는 영상(1906) 상에 중첩되는 비디오 포착 영상(1506)의 얼굴과 연관된 정지 영상을 포함한다. 앞서 논의된 바와 같이, 얼굴은 자동 및/또는 수동 얼굴 검출 프로세스를 사용하여 추출될 수 있다. 여기서, 얼굴 특징들이 간단히 잘라내어져 영상(1906) 내에 붙여넣기된다. 그렇지만, 다른 실시예들에서, 앞서 기술된 알파 블렌딩 알고리즘과 같은 다른 증강 필터들이 적용될 수 있다.
사용자는 비디오를 몇 가지 방식들로 스토리 경험에 포함시키기로 선택할 수 있다. 일부 실시예들은 리딩 프로세스 이전의, 그 동안의, 또는 그 이후의 비디오 삽입 및/또는 증강을 위한 잠재적인 기회들 - 이것의 예들은 앞서 제공되어 있음 - 을 사용자에게 통지 및/또는 큐잉한다. 어떤 경우들에서, 사용자는 비디오 포착을 보충하거나, 증강시키거나, 그로 대체할 스토리 내의 이용가능한 등장인물들의 목록으로부터 등장인물을 선택할 수 있다. 이것은 또한 자동으로 행해질 수 있다. 예를 들어, 리더가 엘모로부터의 인용문을 리딩할 때마다, 리더의 목소리가 엘모처럼 들리도록 모핑되고, 전자 스토리에서의 엘모의 그림이 그에 따라 리더의 얼굴 표정에 맞춰 애니메이션화된다. 대안적으로 또는 그에 부가하여, 사용자에 의한 등장인물의 선택 또는 큐 통지는 카메라 및/또는 비디오 포착 프로세스를 활성화시킬 수 있다. 사용자에게 잠재적인 증강 기회들을 통지하는 것에 부가하여, 일부 실시예들은 사용자가 비디오 포착이 어떻게 처리되고, 필터링되며, 분석되는지 등을 선택할 수 있게 한다. 다른 실시예들에서, 비디오 삽입 및/또는 증강을 위한 기회들이 검출될 때, 비디오 삽입 및/또는 증강이 자동으로 일어날 수 있다. 예를 들어, 이상의 엘모의 예를 사용하여, 엘모의 음성이 리딩해지고 있는 것으로 검출될 때, 전자 스토리에서 엘모의 영상을 자동으로 애니메이션화하기 위해 차후에 사용될 수 있는 제스처들이 있는지 비디오 포착이 분석될 수 있다. 이러한 방식으로, 스토리 경험이 스토리와 연관된 모든 참가자들에 의해 개인화될 수 있다. 그에 부가하여 유의할 점은, 비디오 처리 및/또는 증강이, 비디오를 포착하는 것과 연관된 디바이스, 합성 스토리 경험을 저장하도록 구성된 서버 디바이스, 및/또는 수신측 디바이스와 같은, 시스템 내의 임의의 적당한 디바이스에서 일어날 수 있다는 것이다.
추가로 설명하기 위해, 하나 이상의 실시예들에 따른, 방법에서의 단계들을 기술하는 흐름도를 나타낸 도 20을 살펴보자. 이 방법은 임의의 적합한 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합에 의해 수행될 수 있다. 적어도 일부 실시예들에서, 이 방법의 양태들은 도 1 내지 도 3의 증강 효과 모듈(112)과 같은, 하나 이상의 컴퓨팅 디바이스들 상에서 실행 중인 하나 이상의 적절히 구성된 소프트웨어 모듈들에 의해 구현될 수 있다.
단계(2000)는 한 명 이상의 다른 원격 참가자들과 공유되도록 구성되어 있는 전자 스토리의 리더와 연관된 비디오 데이터를 수신한다. 일부 실시예들에서, 비디오 데이터는 리더와 연관된 컴퓨팅 디바이스로부터 수신된다. 다른 실시예들에서, 비디오 데이터는 리더와 연관된 컴퓨팅 디바이스의 외부에 있는 서버 위치로부터 획득된다. 대안적으로 또는 그에 부가하여, 비디오 데이터가 원격 참가자인 리더으로부터 획득되거나 로컬적으로 및/또는 컴퓨팅 디바이스의 외부에 저장되어 있는 사전 기록된 비디오일 수 있다. 때때로, 비디오 데이터는 프롬프트와 연관된 입력 및/또는 전자 스토리와 연관된 큐를 수신한 것에 응답하여 획득 및/또는 수신될 수 있으며, 이에 대해서는 이상에서 추가로 기술되어 있다.
비디오 데이터를 수신한 것에 응답하여, 단계(2002)는 적어도 하나의 새로운 영상을 생성하기 위해 비디오 데이터를 증강시킨다. 예를 들어, 비디오 데이터가 얼굴 검출 알고리즘, 제스처 검출 알고리즘 등과 같은 다양한 알고리즘들을 사용하여 분석될 수 있다. 검출 알고리즘들은, 관심의 영역들 및/또는 영상들은 유지시키고 덜 관련이 있는 것으로 결정되는 영역들 및/또는 영상들은 제거하기 위해, 때때로 비디오 데이터를 변경 및/또는 증강시킬 수 있다. 어떤 경우들에서, 비디오 데이터의 "만화 세계" 버전을 생성하기 위해 로토스코핑 필터 효과를 적용하는 것, 또는 비디오 데이터를 다른 영상들과 블렌딩하는 것과 같이, 비디오 데이터의 변경된 버전을 생성하기 위해, 필터가 비디오 데이터에 적용될 수 있다. 다른 경우들에서, 비디오 데이터 내에서 포착된 하나 이상의 제스처들을 식별하기 위해 비디오 데이터가 분석될 수 있다. 이들 제스처는 이어서 전자 스토리와 연관된 영상들 및/또는 비디오 데이터의 거동을 주도하기 위해 이용될 수 있다 예를 들어, 전자 스토리와 연관된 만화 등장인물의 영상들이 비디오 데이터 내에서 식별된 제스처들을 흉내낼 수 있다. 게다가, 이 단계는 임의의 적당한 위치에서 수행될 수 있다. 적어도 일부 실시예들에서, 이 단계는 리더의 컴퓨팅 디바이스에서 또는 그에 의해 수행될 수 있다. 대안적으로 또는 그에 부가하여, 이 단계는 단계(2000)의 비디오 데이터를 수신하는 서버에 의해 수행될 수 있다. 대안적으로 또는 그에 부가하여, 원격 참가자들 각각과 연관된 컴퓨팅 디바이스가 이 단계를 수행할 수 있다. 이것이 어떻게 행해질 수 있는지의 예들은 앞서 제공되어 있다. 총칭하여 용어 "영상"을 사용하여 기술되어 있지만, 청구된 발명 요지의 범주를 벗어나는 일 없이, 벡터 그래픽, 비트맵 그래픽, 메타파일 포맷, 선 그래프, GIF(Graphics Interchange Format), IFF(Interchange File Format), JPEG(Joint Photographic Experts Group), TIF(Tag Image File Format) 등과 같은 그래픽/비주얼 데이터의 임의의 표현이 사용될 수 있다는 것을 잘 알 것이다.
적어도 하나의 새로운 영상을 생성하기 위해 비디오 데이터를 증강시키는 것에 응답하여, 단계(2004)는 한 명 이상의 원격 참가자들이 증강된 비디오 데이터를 소모시킬 수 있게 한다. 예를 들어, 비디오 데이터가 리더의 컴퓨팅 디바이스에서 증강되는 실시예들에서, 단계(2004)는 증강된 비디오 데이터를 원격 참가자들 각각과 연관된 컴퓨팅 디바이스로 전송하거나 다른 방식으로 전달하는 것에 의해 수행될 수 있다. 비디오 데이터가 서버에 의해 증강되는 실시예들에서, 이 단계는 서버가 증강된 비디오 데이터를 원격 참가자들 각각과 연관된 컴퓨팅 디바이스로 배포하는 것에 의해 수행될 수 있다. 비디오 데이터가 원격 참가자와 연관된 컴퓨팅 디바이스에 의해 증강되는 실시예들에서, 이 단계는 원격 참가자가 증강된 비디오 데이터를 적절히 구성된 애플리케이션을 통해 소모시킬 수 있게 하는 것에 의해 수행될 수 있다.
앞서 기술된 실시예들을 이용할 수 있는 몇몇 사용 시나리오들에 대해 이제부터 살펴본다.
예시적인 사용 시나리오
두 명의 사람 "빌리(Billy)"와 "엉클 조(Uncle Joe)"가 원격지에서 전자책을 리딩하고 있는 것으로 가정한다. 책은 친숙한 동요 "The Wheels on the Bus Go Round and Round"의 삽화를 넣은 버전(illustrated version)이다. 책이 펼쳐져 스쿨 버스, 버스 운전자, 문, 바퀴, 및 와이퍼를 보여주는 페이지가 나온다. 빌리가 운전자의 얼굴 또는 어떤 포함된 컨트롤을 터치하는 것에 의해 증강 효과를 개시할 때, 엉클 조의 얼굴이 만화 버전으로 조작되게 하여 버스 운전자의 머리 상에 오버레이되게 하기 위해 얼굴 검출 및 로토스코핑이 적용된다. ASR에 의한 추적, 물체 상호작용, 사용자 인터페이스 입력을 수신하는 것 등을 통하는 것과 같이 다양한 행동들이 스토리에 나타내어져 있기 때문에, 그들이 디지털 스토리 디스플레이에서 수행된다(예컨대, 와이퍼가 휙휙 움직이는 것, 문이 열리고 닫히는 것, 아기가 우는 것 등). 이들 효과가 적용될 때 엉클 조 및 빌리 둘 다는 그들의 디바이스에서 이들 효과를 본다.
다른 사용례는 다른 사람들이 스토리 리딩에 참가하기 위한 자리 표시자(placeholder)를 이용하는 것을 포함한다. 이들 자리 표시자는 스토리에 내장될 수 있고, 스토리를 리딩하고 있을 때 해당 사람들이 온라인인 경우 활성화될 수 있다. 이것은 함께 리딩할 사람들을 발견하는 것을 가능하게 할 수 있다. 예를 들어, 아이가 리딩할 책이 있는지 라이브러리를 브라우징하고 있을 수 있고 또한 온라인인 가족 구성원들의 목록을 볼 수 있다. 아이는 이어서 스토리를 공유할 한 명 이상의 가족 구성원들을 선택할 수 있다. 대안적으로, 아이는 혼자서 책을 리딩하고 있을 수 있고, 페이지 4를 열 때, 할머니가 온라인이고 함께 리딩할 수 있다는 것을 발견한다. 이것은 화상 채팅할 사람이 있다는 것을 나타내는, 스토리에 포함된 컨트롤 또는 위젯에 의해 표시될 수 있다. 위젯 또는 컨트롤을 클릭하는 것에 의해, 화상 채팅 세션이 시작될 수 있다. 대안적으로 또는 그에 부가하여, 위젯이 책 외부에(예컨대, 책의 우측에) 배치될 수 있고, 따라서 리딩하고 있는 책과 관계없이 이용가능하다. 대안적으로 또는 그에 부가하여, 할머니가 화상 통화을 시작했을 수 있고, 페이지 4에 있는 자리 표시자 위치에 이미 나와 있다. 대안적으로 또는 그에 부가하여, 할머니와 아이는 함께 책을 리딩하고 있을 수 있고, 페이지 4에 도달할 때, 그들은 나무 그래픽이 떨고 있다는 것(또는 어떤 다른 시각적 큐)을 알아챈다. 아이 또는 할머니는 이어서 나무를 터치하고, 제3의 사람[예컨대, 엉클 댄(Uncle Dan)]이 다람쥐의 역할을 하기에 충분한 만큼만 화상 통화에 그리고 어쩌면 짧은 대화에 참여하며, 그 후에 댄은 통화에서 빠져나가고 할머니와 아이는 스토리를 리딩하는 것을 재개한다.
다른 사용례는 리더 또는 다른 참가자가, 스토리를 원격 참가자들에게 리딩하기 직전에, 짧은 콘텐츠를 책에 삽입할 수 있게 할 수 있다. 이것은 콘텐츠를 신선하고 매력적으로 유지할 수 있다 - 예컨대, 스토리가 동일한 채로 있더라도, 스토리에서 특정의 구절에 도달할 때 뜻밖의 일들이 기다리고 있을 수 있다 -. 삽입된 콘텐츠가 디바이스에 곧바로 기록될 수 있거나, 다른 참가자로부터 온 경우, 디바이스 상에 존재하는 비디오 파일로부터 가져오기될 수 있다. 이것을 구현하기 위해, 전자책에 대한 메타데이터가 외부 파일에 대한 컨테이너(슬롯)를 포함하도록 확장될 수 있다. 가장 간단한 경우에, "externalVideo1.mp4", "externalVideo2.mp4" 등에서와 같이, 파일 이름이 고정될 수 있다. 전자책이 렌더링될 때,
<InjectedVideo width=640 height=480 xPos=640 yPos=480 videoContainer="externalVideo1.mp4" triggerAction="button1Pressed"/>에서와 같이, 메타데이터는 이들 비디오가 메타데이터 태그들 내에 제공되는 페이지 상의 좌표들로 스트리밍되도록 지시한다.
부가의 메타데이터 태그(예컨대, 이상에서의 triggerAction)는 비디오의 재생을 트리거하는 동작을 명시할 수 있다. 다른 메타데이터 태그들은 비디오 스트림이 페이지 상의 특정의 물체의 일부로서 포함되어야 할 때 더 적당할 것이다. 일례가 바로 아래에 나타내어져 있다:
<OverlaidVideo objectAnchor="Schoolbus" offsetX=10 offsetY=20 videoContainer="externalVideo2.mp4" transparentColor=0x0080FF />
이상의 태그에서, Schoolbus 개체는 오버레이된 비디오 스트림을 명명된 파일로부터 수신하기 위한 것이다. Schoolbus 개체는 Schoolbus 그래픽의 경계 상자의 좌측 상단에 대해 오프셋 {10, 20}에 배치될 것이다. 비디오는 크로마-키잉(chroma-keying)을 사용할 수 있고, 따라서 색 0x0080FF를 가지는 들어오는 비디오 내의 모든 픽셀들이 투명하게 될 것이다. 비디오에서의 모든 다른 픽셀들은 이북 페이지의 대응하는 픽셀 상의 픽셀들을 대체할 것이다. 이것은, 예를 들어, 사람의 비디오 기록의 머리 및 어깨만을 오버레이하기 위해 종래의 블루 스크린(blue-screen) 기법들이 사용될 수 있게 한다. 배경 제거와 같은 다른 기법들이 이용될 수 있다.
다른 사용 시나리오는 참가자들이 함께 앉아서 동일한 디바이스에서 스토리를 즐기고 있을 수 있는 소위 동일 장소 시나리오(co-located scenario)를 포함할 수 있다. 예를 들어, 할머니와 그의 손주가 스토리를 함께 즐기고 있을 수 있고, 얼굴들이 스토리의 등장인물들로 모핑될 수 있다. 오디오 증강이, 예를 들어, 기록후 재생(record-then-play) 방식으로 구현될 수 있다. 예를 들어, 스토리가 동굴을 포함하고 전자 스토리가 기록 버튼의 형태로 되어 있는 사용자 인터페이스 요소를 가지는 것으로 가정한다. 할머니가 기록 버튼을 누르고, "도와주세요, 동굴에 갇혀 있어요"를 기록한다. 그녀의 손주는 이어서 할머니와 연관된 등장인물을 터치하고 이 구절을 그 등장인물의 음성으로, 잔향이 적용된 상태로, 들을 수 있다.
이상의 예들에서, 모든 참가자들은 전형적으로 동일한 경험(리더으로부터의, 제3자로부터의 포함된 비디오, 제3 참가자의 존재를 나타내는 그래픽 요소 등)을 즐긴다.
예시적인 사용 시나리오들을 살펴보았으며, 하나 이상의 실시예들을 구현하기 위해 이용될 수 있는 예시적인 디바이스에 대한 논의를 이제부터 살펴본다.
예시적인 디바이스
도 21은 본 명세서에 기술된 데이터 휴리스틱 엔진(data heuristics engine)의 실시예들을 구현하기 위해 도 1 및 도 2를 참조하여 기술된 것과 같은 임의의 유형의 휴대용 및/또는 컴퓨터 디바이스로서 구현될 수 있는 예시적인 디바이스(2100)의 다양한 구성요소들을 나타낸 것이다. 디바이스(2100)는 디바이스 데이터(2104)(예컨대, 수신된 데이터, 수신되고 있는 데이터, 브로드캐스트를 위해 스케줄링된 데이터, 데이터의 데이터 패킷 등)의 유선 및/또는 무선 통신을 가능하게 하는 통신 디바이스들(2102)을 포함한다. 디바이스 데이터(2104) 또는 기타 디바이스 콘텐츠는 디바이스의 구성 설정치(configuration setting), 디바이스 상에 저장된 미디어 콘텐츠, 및/또는 디바이스의 사용자와 연관된 정보를 포함할 수 있다. 디바이스(2100) 상에 저장된 미디어 콘텐츠는 임의의 유형의 오디오, 비디오, 및/또는 영상 데이터를 포함할 수 있다. 디바이스(2100)는 하나 이상의 데이터 입력들(2106)을 포함하고, 그를 통해 사용자 선택가능 입력, 메시지, 음악, 텔레비전 미디어 콘텐츠, 녹화된 비디오 콘텐츠, 및 임의의 콘텐츠 및/또는 데이터 소스로부터 수신된 임의의 다른 유형의 오디오, 비디오, 및/또는 영상 데이터와 같은 임의의 유형의 데이터, 미디어 콘텐츠, 및/또는 입력들이 수신될 수 있다.
디바이스(2100)는 또한 직렬 및/또는 병렬 인터페이스, 무선 인터페이스, 임의의 유형의 네트워크 인터페이스, 모뎀 중 임의의 하나 이상으로서 그리고 임의의 다른 유형의 통신 인터페이스로서 구현될 수 있는 통신 인터페이스들(2108)을 포함한다. 통신 인터페이스들(2108)은 디바이스(2100)와 통신 네트워크 사이의 연결 및/또는 통신 링크들을 제공하고, 그에 의해 다른 전자, 컴퓨팅, 및 통신 디바이스들이 디바이스(2100)와 데이터를 주고받는다.
디바이스(2100)는 디바이스(2100)의 동작을 제어하기 위해 그리고 앞서 기술된 실시예들을 구현하기 위해 다양한 컴퓨터 실행가능 또는 판독가능 명령어들을 처리하는 하나 이상의 프로세서들(2110)(예컨대, 마이크로프로세서, 제어기, 기타 중 임의의 것)을 포함한다. 다른 대안으로서 또는 그에 부가하여, 디바이스(2100)는 2112에 전체적으로 나타낸 처리 및 제어 회로들과 관련하여 구현되는 하드웨어, 펌웨어, 또는 고정 논리 회로(fixed logic circuitry) 중 임의의 것 또는 그 조합으로 구현될 수 있다. 비록 도시되어 있지는 않지만, 디바이스(2100)는 디바이스 내의 다양한 구성요소들을 연결시키는 시스템 버스 또는 데이터 전송 시스템을 포함할 수 있다. 시스템 버스는 메모리 버스 또는 메모리 제어기, 주변 장치 버스, USB(universal serial bus), 및/또는 각종의 버스 아키텍처들 중 임의의 것을 이용하는 프로세서 또는 로컬 버스(local bus)와 같은 상이한 버스 구조들 중 임의의 것 또는 임의의 조합을 포함할 수 있다.
디바이스(2100)는 또한 하나 이상의 메모리 구성요소들 - 이것의 예들은 RAM(random access memory), 비휘발성 메모리[예컨대, ROM(read-only memory), 플래시 메모리, EPROM, EEPROM, 기타 중 임의의 하나 이상], 및 디스크 저장 디바이스를 포함함 - 과 같은 컴퓨터 판독가능 저장 매체(2114)를 포함한다. 디스크 저장 디바이스는 하드 디스크 드라이브, 기록가능(recordable) 및/또는 재기입가능(rewriteable) CD(compact disc), 임의의 유형의 DVD(digital versatile disc) 등과 같은 임의의 유형의 자기 또는 광 저장 디바이스로서 구현될 수 있다. 디바이스(2100)는 또한 대용량 저장 매체 디바이스(2116)를 포함할 수 있다. 컴퓨터 판독가능 저장 매체는 법으로 정한 형태의 매체를 지칭하기 위한 것이다. 그에 따라, 컴퓨터 판독가능 저장 매체는 반송파 또는 신호 자체를 나타내지 않는다.
컴퓨터 판독가능 저장 매체(2114)는 디바이스 데이터(2104)는 물론, 다양한 디바이스 애플리케이션들(2118) 및 디바이스(2100)의 동작 양태들에 관련된 임의의 다른 유형의 정보 및/또는 데이터를 저장하는 데이터 저장 메커니즘들을 제공한다. 예를 들어, 운영 체제(2120)는 컴퓨터 판독가능 저장 매체(2114)에 컴퓨터 애플리케이션으로서 유지되고 프로세서들(2110) 상에서 실행될 수 있다. 디바이스 애플리케이션들(2118)은 디바이스 관리자(예컨대, 제어 애플리케이션, 소프트웨어 애플리케이션, 신호 처리 및 제어 모듈, 특정의 디바이스에 고유한 코드, 특정의 디바이스에 대한 하드웨어 추상화 계층 등)는 물론, 웹 브라우저, 영상 처리 애플리케이션, 인스턴트 메시징 애플리케이션과 같은 통신 애플리케이션, 워드 프로세싱 애플리케이션 및 각종의 다른 상이한 애플리케이션을 포함할 수 있는 기타 애플리케이션들을 포함할 수 있다. 디바이스 애플리케이션들(2118)은 또한 본 명세서에 기술된 기법들의 실시예들을 구현하는 임의의 시스템 컴포넌트들 또는 모듈들을 포함한다. 이 예에서, 디바이스 애플리케이션들(2118)은 소프트웨어 모듈들 및/또는 컴퓨터 애플리케이션들로서 도시되어 있는 증강 효과 모듈(2122)을 포함한다. 증강 효과 모듈(2122)은 앞서 기술된 바와 같이 동작하는 소프트웨어를 나타낸다. 다른 대안으로서 또는 그에 부가하여, 증강 효과 모듈(2122)은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로서 구현될 수 있다.
디바이스(2100)는 또한 오디오 데이터를 오디오 시스템(2126)에 제공하고 그리고/또는 비디오 데이터를 디스플레이 시스템(2128)에 제공하는 오디오 및/또는 비디오 입출력 시스템(2124)을 포함한다. 오디오 시스템(2126) 및/또는 디스플레이 시스템(2128)은 오디오, 비디오, 및 영상 데이터를 처리하고, 디스플레이하며 그리고/또는 다른 방식으로 렌더링하는 임의의 디바이스들을 포함할 수 있다. 비디오 신호 및 오디오 신호는 디바이스(2100)로부터 RF(radio frequency) 링크, S-비디오(S-video) 링크, 컴포지트 비디오(composite video) 링크, 컴포넌트 비디오(component video) 링크, DVI(digital video interface), 아날로그 오디오 연결, 또는 기타 유사한 통신 링크를 통해 오디오 디바이스로 및/또는 디스플레이 디바이스로 전달될 수 있다. 일 실시예에서, 오디오 시스템(2126) 및/또는 디스플레이 시스템(2128)은 디바이스(2100)에 대한 외부 구성요소들로서 구현된다. 다른 대안으로서, 오디오 시스템(2126) 및/또는 디스플레이 시스템(2128)은 예시적인 디바이스(2100)의 통합된 구성요소들로서 구현된다.
결론
다양한 실시예들은 스토리들이 원격 장소들로부터 경험될 수 있는 상호작용적인 공유 스토리 리딩 경험을 제공한다. 다양한 실시예들은 스토리 리딩 경험과 연관된 오디오 및/또는 비디오의 증강 또는 수정을 가능하게 한다. 이것은 스토리를 리딩할 때 리더의 음성, 얼굴, 및/또는 스토리와 연관된 다른 콘텐츠의 증강 및 수정을 포함할 수 있다.
이러한 방식으로, 두 명 이상의 원격 참가자가 통신하여, 스토리 기반의 상호작용적인 공유 콘텐츠와 실시간으로 상호작용할 수 있다. 대안적으로 또는 그에 부가하여, 스토리 기반의 상호작용적인 공유 콘텐츠가 증강되거나 수정될 수 있고, 차후의 재생을 위해 기록 및/또는 보관될 수 있다.
실시예들이 구조적 특징들 및/또는 방법 동작들과 관련하여 기술되어 있지만, 첨부된 청구항들에 한정된 실시예들이 기술된 구체적인 특징들 또는 동작들로 꼭 제한되는 것은 아니라는 것을 잘 알 것이다. 오히려, 구체적인 특징들 및 동작들은 청구된 실시예들을 구현하는 예시적인 형태들로서 개시되어 있다.

Claims (10)

  1. 컴퓨터 구현 방법으로서,
    한 명 이상의 원격 참가자들과 공유되고 있는 전자 스토리(electronic story)의 리더(reader)와 연관된 오디오 데이터를 수신하는 단계;
    상기 리더의 음성을 모핑(morph)하기 위해 상기 오디오 데이터를 증강시키는 단계; 및
    상기 한 명 이상의 원격 참가자들이 증강된 오디오 데이터를 소모시킬 수 있게 하는 단계
    를 포함하는, 컴퓨터 구현 방법.
  2. 제1항에 있어서, 상기 증강시키는 단계는 상기 리더의 음성을 상기 전자 스토리 내의 등장인물(character)처럼 들리도록 모핑하기 위한 것인, 컴퓨터 구현 방법.
  3. 제1항에 있어서, 상기 증강시키는 단계는 상기 리더의 컴퓨팅 디바이스에서 행해지는 것인, 컴퓨터 구현 방법.
  4. 제1항에 있어서, 상기 증강시키는 단계는 상기 리더의 컴퓨팅 디바이스 이외의 다른 컴퓨팅 디바이스에서 행해지는 것인, 컴퓨터 구현 방법.
  5. 제1항에 있어서, 상기 소모시킬 수 있게 하는 단계는, 적어도 부분적으로, 피어 투 피어 네트워크를 사용하여 수행되는 것인, 컴퓨터 구현 방법.
  6. 제1항에 있어서, 상기 소모시킬 수 있게 하는 단계는, 적어도 부분적으로, 피어 투 피어 네트워크 이외의 다른 네트워크를 사용하여 수행되는 것인, 컴퓨터 구현 방법.
  7. 컴퓨터 판독가능 명령어들이 포함되어 있는 하나 이상의 컴퓨터 판독가능 저장 매체에 있어서, 상기 컴퓨터 판독가능 명령어들은, 실행될 때,
    다수의 참가자들 사이에 통신 연결을 설정하여 상기 참가자들이 상기 참가자들 사이에 전자 스토리가 공유되는 상호작용적 리딩 경험을 공유할 수 있게 하는 단계;
    공유되고 있는 상기 전자 스토리의 리더와 연관된 오디오 데이터를 수신하는 단계;
    상기 리더의 음성을 모핑하기 위해 상기 오디오 데이터를 증강시키는 단계; 및
    상기 한 명 이상의 원격 참가자들이 증강된 오디오 데이터를 소모시킬 수 있게 하는 단계
    를 포함하는 방법을 구현하는 것인, 컴퓨터 판독가능 저장 매체.
  8. 제7항에 있어서, 상기 증강시키는 단계는 상기 리더의 음성을 상기 전자 스토리 내의 등장인물처럼 들리도록 모핑하는 것인, 컴퓨터 판독가능 저장 매체.
  9. 제7항에 있어서, 상기 증강시키는 단계는 상기 리더의 컴퓨팅 디바이스에서 행해지는 것인, 컴퓨터 판독가능 저장 매체.
  10. 제7항에 있어서, 상기 증강시키는 단계는 상기 리더의 컴퓨팅 디바이스 이외의 다른 컴퓨팅 디바이스에서 행해지는 것인, 컴퓨터 판독가능 저장 매체.
KR1020157021228A 2013-01-07 2014-01-06 분산 방식 스토리 리딩을 위한 음성 수정 KR20150104171A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/735,790 2013-01-07
US13/735,790 US20140195222A1 (en) 2013-01-07 2013-01-07 Speech Modification for Distributed Story Reading
PCT/US2014/010268 WO2014107635A2 (en) 2013-01-07 2014-01-06 Speech modification for distributed story reading

Publications (1)

Publication Number Publication Date
KR20150104171A true KR20150104171A (ko) 2015-09-14

Family

ID=50073423

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157021228A KR20150104171A (ko) 2013-01-07 2014-01-06 분산 방식 스토리 리딩을 위한 음성 수정

Country Status (6)

Country Link
US (1) US20140195222A1 (ko)
EP (1) EP2929427A2 (ko)
JP (1) JP2016511837A (ko)
KR (1) KR20150104171A (ko)
CN (1) CN104956317A (ko)
WO (1) WO2014107635A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109191970A (zh) * 2018-10-29 2019-01-11 衡阳师范学院 一种基于云平台的计算机教学授课系统及方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9583106B1 (en) * 2013-09-13 2017-02-28 PBJ Synthetics Corporation Methods, systems, and media for presenting interactive audio content
HUE059748T2 (hu) * 2014-09-12 2022-12-28 Sony Group Corp Hangadatfolyamatok vételére szolgáló eszköz és eljárás
US11250630B2 (en) * 2014-11-18 2022-02-15 Hallmark Cards, Incorporated Immersive story creation
KR101630404B1 (ko) 2015-01-29 2016-06-14 네이버 주식회사 만화 데이터 표시 장치 및 방법
CN106033418B (zh) 2015-03-10 2020-01-31 阿里巴巴集团控股有限公司 语音添加、播放方法及装置、图片分类、检索方法及装置
US20160351062A1 (en) * 2015-05-25 2016-12-01 Arun Mathews System and Method for the On-Demand Display of Information Graphics for Use in Facilitating Data Visualization
CN105426526B (zh) * 2015-12-10 2019-02-15 魅族科技(中国)有限公司 一种页面信息选取的方法及装置
US10141006B1 (en) * 2016-06-27 2018-11-27 Amazon Technologies, Inc. Artificial intelligence system for improving accessibility of digitized speech
CN109661646A (zh) * 2016-07-13 2019-04-19 万杰成礼品有限合伙公司 用于交互式阅读的系统、装置和方法
GB2568902B (en) * 2017-11-29 2020-09-09 Auris Tech Ltd System for speech evaluation
CN108257609A (zh) * 2017-12-05 2018-07-06 北京小唱科技有限公司 音频内容修正的方法及其智能装置
CN108470188B (zh) * 2018-02-26 2022-04-22 北京物灵智能科技有限公司 基于图像分析的交互方法及电子设备
CN110610702B (zh) * 2018-06-15 2022-06-24 惠州迪芬尼声学科技股份有限公司 以自然语言声控均衡器的方法及计算器可读存储介质
JP2020076885A (ja) * 2018-11-08 2020-05-21 東京瓦斯株式会社 音声出力システムおよびプログラム
JP7182997B2 (ja) * 2018-11-08 2022-12-05 東京瓦斯株式会社 絵本表示システム
EP3839947A1 (en) 2019-12-20 2021-06-23 SoundHound, Inc. Training a voice morphing apparatus
US11600284B2 (en) 2020-01-11 2023-03-07 Soundhound, Inc. Voice morphing apparatus having adjustable parameters
US11394799B2 (en) * 2020-05-07 2022-07-19 Freeman Augustus Jackson Methods, systems, apparatuses, and devices for facilitating for generation of an interactive story based on non-interactive data
US11882163B2 (en) * 2020-09-29 2024-01-23 Gn Audio A/S System and method for visual and auditory communication using cloud communication

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4823380A (en) * 1987-03-27 1989-04-18 Chaim Kohen Voice changer
US5647834A (en) * 1995-06-30 1997-07-15 Ron; Samuel Speech-based biofeedback method and system
JPH11133998A (ja) * 1997-10-29 1999-05-21 Nippon Telegr & Teleph Corp <Ntt> 音声信号伝送方法、その装置及びプログラム記録媒体
US6644973B2 (en) * 2000-05-16 2003-11-11 William Oster System for improving reading and speaking
CN1230731C (zh) * 2000-08-04 2005-12-07 朴奎珍 使用显示器的阅读装置及其方法
US6792243B2 (en) * 2000-12-21 2004-09-14 Vtech Electronics Limited Electronic book with simulated three-dimensional illustrations
AUPR340401A0 (en) * 2001-02-27 2001-03-22 E R & D Pty Ltd Method and system for controlling electronic content display
KR20030006308A (ko) * 2001-07-12 2003-01-23 엘지전자 주식회사 이동통신 단말기의 음성 변조 장치 및 방법
FR2839836B1 (fr) * 2002-05-16 2004-09-10 Cit Alcatel Terminal de telecommunication permettant de modifier la voix transmise lors d'une communication telephonique
US7477870B2 (en) * 2004-02-12 2009-01-13 Mattel, Inc. Internet-based electronic books
JP2005249882A (ja) * 2004-03-01 2005-09-15 Miyakawa:Kk 液晶表示装置
US8963926B2 (en) * 2006-07-11 2015-02-24 Pandoodle Corporation User customized animated video and method for making the same
US20080140411A1 (en) * 2006-12-07 2008-06-12 Jonathan Travis Millman Reading
JP4563440B2 (ja) * 2007-11-16 2010-10-13 株式会社コナミデジタルエンタテインメント 電子絵本システム及び電子絵本システム制御装置
US9330720B2 (en) * 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
KR101594057B1 (ko) * 2009-08-19 2016-02-15 삼성전자주식회사 텍스트 데이터의 처리 방법 및 장치
US8929887B2 (en) * 2009-08-20 2015-01-06 T-Mobile Usa, Inc. Shared book reading
US20130145240A1 (en) * 2011-12-05 2013-06-06 Thomas G. Anderson Customizable System for Storytelling

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109191970A (zh) * 2018-10-29 2019-01-11 衡阳师范学院 一种基于云平台的计算机教学授课系统及方法

Also Published As

Publication number Publication date
JP2016511837A (ja) 2016-04-21
WO2014107635A2 (en) 2014-07-10
CN104956317A (zh) 2015-09-30
EP2929427A2 (en) 2015-10-14
US20140195222A1 (en) 2014-07-10
WO2014107635A3 (en) 2014-10-30

Similar Documents

Publication Publication Date Title
KR20150104171A (ko) 분산 방식 스토리 리딩을 위한 음성 수정
US20140192140A1 (en) Visual Content Modification for Distributed Story Reading
EP3050604A1 (en) Location based augmentation for story reading
US20170161931A1 (en) Adapting content to augmented reality virtual objects
US20160110922A1 (en) Method and system for enhancing communication by using augmented reality
CN112087655B (zh) 赠送虚拟礼物的方法、装置及电子设备
KR101492359B1 (ko) 입력 지원 장치, 입력 지원 방법 및 기록 매체
US20160045834A1 (en) Overlay of avatar onto live environment for recording a video
US9087131B1 (en) Auto-summarization for a multiuser communication session
US20070279419A1 (en) System and method for transmission of messages using animated communication elements
WO2022089224A1 (zh) 一种视频通信方法、装置、电子设备、计算机可读存储介质及计算机程序产品
CN112087669B (zh) 赠送虚拟礼物的方法、装置及电子设备
Verstraete It’s about time. Disappearing images and stories in Snapchat
CN106105245A (zh) 互连视频的回放
US10698744B2 (en) Enabling third parties to add effects to an application
US11183219B2 (en) Movies with user defined alternate endings
EP3389049B1 (en) Enabling third parties to add effects to an application
KR20050067109A (ko) 영상, 오디오, 자막 및 메시지 등을 포함하는 실물형2차원 동영상 정보물 제작 및 재생 방법, 및 제작된 영상정보물을 재생하기 위한 프로그램이 기록된 매체
WO2023142415A1 (zh) 社交互动方法、装置、设备及存储介质、程序产品
Lines Isolated Together: The Online Sound of Digital and Analog Haunting
Fan et al. ContextCam: Bridging Context Awareness with Creative Human-AI Image Co-Creation
Barton Rupture and Recuperation
Lykins The Use of Badness: Extratextuality in Bad Movies and Citationality in the Realist Aesthetic
Keep Storytelling and mobile media: narratives for the mobile phone
WO2005101832A1 (fr) Procede d&#39;affichage dynamique d&#39;image reçue sur un ecran de telephone

Legal Events

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