[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20230153469A - 3d 오브젝트에 관한 유저 입력의 해석 방법, 장치, 및 프로그램 - Google Patents

3d 오브젝트에 관한 유저 입력의 해석 방법, 장치, 및 프로그램 Download PDF

Info

Publication number
KR20230153469A
KR20230153469A KR1020237034137A KR20237034137A KR20230153469A KR 20230153469 A KR20230153469 A KR 20230153469A KR 1020237034137 A KR1020237034137 A KR 1020237034137A KR 20237034137 A KR20237034137 A KR 20237034137A KR 20230153469 A KR20230153469 A KR 20230153469A
Authority
KR
South Korea
Prior art keywords
client
information
content
server
data
Prior art date
Application number
KR1020237034137A
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 KR20230153469A publication Critical patent/KR20230153469A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23412Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/08Bandwidth reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Architecture (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Image Generation (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Information Transfer Between Computers (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

클라이언트가 수신한 유저에 의한 입력을 서버상에서 해석하는 본 개시의 방법은, 서버로부터 클라이언트로, 클라이언트에서 표시하는 콘텐츠를 송신하는 것과, 콘텐츠의 표시 중의 클라이언트에 대한 유저에 의한 입력 정보를 클라이언트로부터 수신하는 것과, 클라이언트로부터 수신한 유저에 의한 입력 정보를 해석하는 것과, 해석의 결과에 근거하여 클라이언트에서 표시하는 콘텐츠를 변경하는 것과, 변경된 콘텐츠를 클라이언트에 송신하는 것을 포함한다.

Description

3D 오브젝트에 관한 유저 입력의 해석 방법, 장치, 및 프로그램
본 개시는, 3D(3차원) 오브젝트에 관한 유저 입력의 해석 방법, 장치 및 프로그램에 관한 것이다.
종래부터 3D 화상을 서버로부터 클라이언트로 송신하여 표시한다는 기술은 있지만, 이 경우, 예를 들면, 서버 측에서, 3D 화상을 2D 화상으로 변환한다는 수법을 사용하고 있었다(특허문헌 1).
또, 다른 종래의 기술로서, 배너 광고 중에 조작 가능하게 3차원 컴퓨터 그래픽스를 도입하여 표시하는 정보 처리 장치가 제안되어 있다(예를 들면, 특허 문헌 2 참조).
특허문헌 2에 개시된 정보 처리 장치는, 인터넷의 웹 페이지에 3차원 컴퓨터 그래픽스를 도입한 배너 광고를 표시하고, 배너 광고 중의 3차원 컴퓨터 그래픽스를 이용자의 조작에 의하여 인터랙티브하게 이동, 회전, 확대 축소, 형상 변경, 텍스처 변경, 애니메이션을 행한다.
또, 특허문헌 3에 개시된 정보 처리 장치는, 화상 정보를 확대 축소 가능하게, 또한, 표시 위치를 이동 가능하게 하여 표시하고, 이용자가 당해 화상 정보를 열람할 때에, 이용자를 식별하는 정보와, 조작 내용과, 화면상에 표시된 화상 정보의 중심 좌표와, 조작이 행해진 시간을 이용 정보로서 기록하며, 당해 이용 정보를 누적적으로 기록, 해석함으로써 이용자가 표시 화상상의 어느 부분을 얼마나 표시하고 있었는지를 해석한다.
특허문헌 1: 미국 특허출원 공개공보 제2010/0134494호 특허문헌 2: 일본 공개특허공보 2005-259097호 특허문헌 3: 일본 공개특허공보 2009-140109호
해결하려고 하는 종래의 문제점은, 이용자에 의하여 조작 가능하게 표시된 3D 화상 등의 콘텐츠에 대하여, 유저의 조작 내용으로부터 유저의 흥미나 행동 경향 등을 해석하는 이벤트 해석 프로그램, 정보 처리 장치 및 시스템을 제공하는 것에 있다.
다른 해결하려고 하는 종래의 문제점은, 3D 화상의 전송에 있어서, 화질을 유지하면서, 데이터 전송에 사용하는 대역폭을 감소시키는 것이다.
본 개시의 일 양태인 방법은, 클라이언트가 수신한 유저에 의한 입력을 서버상에서 해석하는 방법으로서, 상기 서버로부터 상기 클라이언트로, 상기 클라이언트에서 표시하는 콘텐츠를 송신하는 것과, 상기 콘텐츠의 표시 중의 상기 클라이언트에 대한 유저에 의한 입력 정보를 상기 클라이언트로부터 수신하는 것과, 상기 클라이언트로부터 수신한 유저에 의한 입력 정보를 해석하는 것과, 상기 해석의 결과에 근거하여 상기 클라이언트에서 표시하는 상기 콘텐츠를 변경하는 것과, 상기 변경된 콘텐츠를 상기 클라이언트에 송신하는 것을 포함한다.
본 개시의 일 양태인 방법은, 또한, 상기 콘텐츠가, 3D 오브젝트를 포함하며, 상기 서버는, 상기 3D 오브젝트를 상기 클라이언트로 송신할 때에, 상기 3D 오브젝트로부터 컬러 정보, 알파 정보 및 지오메트리 정보를 추출하고, 상기 지오메트리 정보를 단순화하며, 상기 컬러 정보, 상기 알파 정보 및 상기 단순화된 지오메트리 정보를 스트림으로서 부호화하여 상기 클라이언트로 송신한다.
본 개시의 일 양태인 서버는, 클라이언트가 수신한 유저에 의한 입력을 서버상에서 해석하는 서버로서, 상기 서버는, 1개 이상의 프로세서 및 메모리를 포함하고, 상기 서버가, 상기 서버로부터 상기 클라이언트로, 상기 클라이언트에서 표시하는 콘텐츠를 송신하며, 상기 콘텐츠의 표시 중의 상기 클라이언트에 대한 유저에 의한 입력 정보를 상기 클라이언트로부터 수신하고, 상기 클라이언트로부터 수신한 유저에 의한 입력 정보를 해석하며, 상기 해석의 결과에 근거하여 상기 클라이언트에서 표시하는 상기 콘텐츠를 변경하고, 상기 변경된 콘텐츠를 상기 클라이언트에 송신하도록 구성된다.
본 개시의 일 양태인 방법은, 콘텐츠를 클라이언트상에서 표시하는 방법으로서, 상기 콘텐츠는, 서버로부터 수신한 콘텐츠를 포함하고, 상기 방법은, 상기 클라이언트에서 표시하는 콘텐츠를 상기 서버로부터 수신하는 것과, 상기 콘텐츠의 표시 중의 상기 클라이언트에 대한 유저에 의한 입력 정보를 상기 서버에 송신하는 것과, 상기 입력 정보에 대한 상기 서버에서의 해석의 결과에 근거하여 변경된 상기 콘텐츠를 수신하는 것과, 상기 변경된 콘텐츠를 상기 클라이언트상에서 표시하는 것을 포함한다.
본 개시의 일 양태인 클라이언트는, 콘텐츠를 표시하는 클라이언트로서, 상기 콘텐츠는, 서버로부터 수신한 콘텐츠를 포함하고, 상기 클라이언트는, 1개 이상의 프로세서 및 메모리를 포함하며, 상기 클라이언트가, 상기 클라이언트에서 표시하는 콘텐츠를 상기 서버로부터 수신하고, 상기 콘텐츠의 표시 중의 상기 클라이언트에 대한 유저에 의한 입력 정보를 상기 서버에 송신하며, 상기 입력 정보에 대한 상기 서버에서의 해석의 결과에 근거하여 변경된 상기 콘텐츠를 수신하고, 상기 변경된 콘텐츠를 상기 클라이언트상에서 표시하도록 구성된다.
본 개시의 일 양태인 프로그램은, 상기 중 어느 하나의 과제를 해결하기 위한 수단에 기재된 방법을 프로세서에 의하여 실행하기 위한 명령을 포함하는, 프로그램이다.
본 개시의 일 실시예에 있어서의 추가적인 이점 및 효과는, 명세서 및 도면으로부터 명확해진다. 이러한 이점 및/또는 효과는, 몇 개의 실시형태 및 명세서 및 도면에 기재된 특징에 의하여 각각 제공되지만, 하나 또는 그 이상의 동일한 특징을 얻기 위하여 반드시 전부가 제공될 필요는 없다.
본 명세서에 있어서, 설명의 편의상 서버와 클라이언트 간에서의 3D 화상(동영상 및/또는 정지화면을 포함한다) 전송을 예로 설명했지만, 본 개시의 적용은, 클라이언트 서버 시스템에 한정되지 않고, 1대의 컴퓨터로부터 다른 컴퓨터로의 전송에 적용 가능하며, 다른 컴퓨터는, 단수여도 되고 복수여도 된다.
도 1은, 본 개시에 의한 서버 및 클라이언트의 기능 블록도이다.
도 2는, 도 1에서 설명한 서버와 클라이언트 간의 데이터의 흐름 중 서버 측에서의 처리를 설명한 플로 차트이다.
도 3은, 도 1에서 설명한 서버와 클라이언트 간의 데이터의 흐름 중 클라이언트 측에서 데이터의 처리를 설명한 플로 차트이다.
도 4는, 도 1에서 설명한 서버와 클라이언트 간의 데이터의 흐름 중 클라이언트 측에서 커맨드의 처리를 설명한 플로 차트이다.
도 5는, 본 개시를 적용한 클라이언트 서버 시스템에서, 3D 씬 또는 3D 오브젝트를 클라이언트 측에서 표시하기 위한 데이터의 흐름을 기재한 도이다.
도 6은, 본 개시에 의한 지오메트리 정보의 부호화 및 복호의 프로세스를 나타내는 도이다.
도 7은, 본 개시에 의한 컬러 정보/텍스처 정보의 부호화 및 복호의 프로세스를 나타내는 도이다.
도 8은, 본 개시에 의한 지오메트리, 컬러 패킷, 메타데이터, 및 커맨드의 사이의 데이터 동기를 나타내는 도이다.
도 9는, 본 개시에 의한 데칼 방법을 나타내는 도이다.
도 10은, 본 개시에 의한 클라이언트의 하드웨어 구성예를 나타내는 개략도이다.
도 11은, 본 개시에 의한 서버의 하드웨어 구성예를 나타내는 개략도이다.
도 12는, 본 개시에 관한 정보 처리 시스템의 구성의 일례를 나타내는 개략도이다.
도 13은, 본 개시에 의한 서버 측의 처리의 플로를 나타내는 개략도이다.
도 14는, 본 개시에 의한 클라이언트 측의 처리의 플로를 나타내는 개략도이다.
도 15는, 본 개시에 사용되는 카메라의 배치를 나타내는 도이다.
도 16은, 본 개시에서 사용되는 ARGB 시스템에 있어서의 픽셀 구성을 나타내는 도이다.
도 17은, 실시형태에 관한 정보 처리 시스템의 구성의 일례를 나타내는 개략도이다.
도 18은, 실시형태에 관한 정보 처리 장치의 구성예를 나타내는 블록도이다.
도 19는, 실시형태에 관한 단말의 구성예를 나타내는 블록도이다.
도 20a는, 단말의 표시부에 표시되는 화면의 예를 나타내는 도이다.
도 20b는, 단말의 표시부에 표시되는 화면의 예를 나타내는 도이다.
도 20c는, 단말의 표시부에 표시되는 화면의 예를 나타내는 도이다.
도 20d는, 단말의 표시부에 표시되는 화면의 예를 나타내는 도이다.
도 20e는, 단말의 표시부에 표시되는 화면의 예를 나타내는 도이다.
도 20f는, 단말의 표시부에 표시되는 화면의 예를 나타내는 도이다.
도 20g는, 단말의 표시부에 표시되는 화면의 예를 나타내는 도이다.
도 20h는, 단말의 표시부에 표시되는 화면의 예를 나타내는 도이다.
도 20i는, 단말의 표시부에 표시되는 화면의 예를 나타내는 도이다.
도 21a는, 이벤트의 항목예를 설명하기 위한 도이다.
도 21b는, 이벤트의 항목예를 설명하기 위한 도이다.
도 21c는, 이벤트의 항목예를 설명하기 위한 도이다.
도 21d는, 이벤트의 항목예를 설명하기 위한 도이다.
도 21e는, 이벤트의 항목예를 설명하기 위한 도이다.
도 21f는, 이벤트의 항목예를 설명하기 위한 도이다.
도 22는, 이벤트 이력 정보의 구성예를 나타내는 도이다.
도 23은, 해석 결과 정보에 근거하여 단말의 표시부에 표시되는 화면의 예를 나타내는 도이다.
도 24는, 해석 결과 정보에 근거하여 단말의 표시부에 표시되는 화면의 예를 나타내는 도이다.
도 25는, 해석 결과 정보에 근거하여 단말의 표시부에 표시되는 화면의 예를 나타내는 도이다.
도 26은, 정보 처리 시스템의 동작예를 나타내는 플로 차트이다.
[실시예 1]
<1. 3D 스트리밍·시스템·아키텍처>
도 1은, 본 개시에 의한 서버 및 클라이언트의 기능 블록도이다. 3D 스트리밍 서버(1-100)는, 3차원(3D) 스트리밍 서버 내의 기능 구성을 포함하고, 3D 스트리밍 클라이언트(1-150)는, 3D 스트리밍 클라이언트 내의 기능 구성을 포함한다. 네트워크(1-120)는, 서버(1-100)와 클라이언트(1-150)의 사이에 있는 유선 또는 무선의 네트워크를 나타낸다.
본 개시의 대상이 되는 1개의 시스템은, 서버 측에서 3D 화상을 생성하고, 클라이언트 측에서 서버로부터 수신한 3D 화상의 특징량에 근거하여 3D 화상을 재구성하여, 표시한다. 클라이언트 기기로서는, 스마트폰, 휴대전화, 태블릿, 노트북 컴퓨터, 스마트 글래스, 헤드 마운트 디스플레이, 헤드셋 등의 표시 및 통신 기능을 갖는 모든 기기가 대상이 된다. 여기에서, 특징량은, 3D 화상의 컬러(색) 정보, 알파 정보 또는 지오메트리 정보를 포함한다.
<1.2 3D 스트리밍 서버 측의 처리>
도 1의 상반분은, 3D 스트리밍 서버(1-100)에서의 처리를 설명하는 기능 블록도이다. 네트워크 패킷 수신 유닛(1-108)은, 유선 또는 무선의 네트워크(1-120)를 통하여, 클라이언트(1-150)로부터 명령 및/또는 데이터를 포함하는 패킷을 수신한다. 네트워크 패킷 수신 유닛(1-108)은, 클라이언트로부터 수신한 명령 및/또는 데이터를 패킷으로부터 추출하고, 클라이언트로부터의 명령 및/또는 데이터를 처리하는 수신 데이터 처리 유닛(1-101)에 추출한 데이터를 송신한다. 추출된 클라이언트로부터의 명령 및/또는 데이터를 수신한 수신 데이터 처리 유닛(1-101)은, 수신한 데이터로부터 필요한 명령 및/또는 데이터를 다시 추출하고, 그들을 3D 씬 데이터 생성 유닛(1-102)에 보낸다. 다음으로, 3D 씬 데이터 생성 유닛(1-102)은, 클라이언트(1-150)로부터 보내져 온 요구에 따라, 서버가 갖는 그 클라이언트로부터의 요구에 대응하는 3D 씬(또는 3D 오브젝트)의 데이터를 가공·수정 등 한다. 다음으로, 3D 씬 데이터 생성 유닛(1-102)으로부터 명령 및/또는 데이터를 수취한 추출 유닛(1-103)은, 클라이언트로부터의 명령에 따라 갱신한 3D 씬 데이터로부터 필요한 데이터를 추출하고, 그들을 3D 스트림 변환/부호화 유닛(1-104)으로 보낸다. 3D 스트림 변환/부호화 유닛(1-104)은, 추출 유닛(1-103)으로부터 수취한 데이터를 3D 스트림으로 변환하고, 부호화함으로써 3D 스트림(1-105)을 생성한다. 3D 스트림(1-105)은, 다음으로 네트워크 패킷 구성 유닛(1-106)에 보내지고, 네트워크 패킷 구성 유닛(1-106)에 의하여 네트워크 패킷이 생성된다. 네트워크 패킷은, 네트워크 패킷 전송 유닛(1-107)으로 송신된다. 네트워크 패킷 전송 유닛(1-107)은, 수신한 네트워크 패킷을 유선 또는 무선 네트워크(1-120)를 통하여, 1개 이상의 클라이언트(1-150)로 송신한다.
<1.3 3D 스트리밍 클라이언트 측의 처리>
도 1의 하반분은, 3D 스트리밍 클라이언트(1-150)에서의 처리를 설명하는 기능 블록도이다. 유선 또는 무선 네트워크(1-120)를 통하여 서버(1-100)로부터 패킷을 수신한 네트워크 패킷 수신 유닛(1-152)은, 패킷으로부터 부호화된 3D 스트림을 추출하고, 그것을 3D 스트림 복호 유닛(1-154)으로 보낸다. 부호화 3D 스트림을 수신한 3D 스트림 복호 유닛(1-154)은, 3D 스트림을 복호하고, 복호된 3D 스트림을 3D 씬 재구성 유닛(1-155)으로 보낸다. 복호된 3D 스트림을 수신한 3D 씬 재구성 유닛(1-155)은, 서버(1-100)로부터 수신하여 복호된 3D 스트림으로부터 3D 씬(또는 3D 오브젝트)을 재구성하고, 재구성된 3D 씬을 표시 유닛(1-156)으로 보낸다. 표시 유닛(1-156)은, 재구성된 3D 씬을 표시하여, 유저에게 제시한다.
한편, 3D 스트리밍 클라이언트(1-150)로부터의 3D 표시(갱신) 요구는, 앱 데이터 출력 유닛(1-153)으로부터 네트워크 패킷 전송 유닛(1-151)으로 보내진다. 앱 데이터 출력 유닛(1-153)에서 생성되는 3D 표시(갱신) 요구 데이터로서는, 예를 들면, 유저 입력 또는 카메라/디바이스의 포지션 변경, 또는 표시의 갱신을 요구하는 등의 커맨드가 생각된다. 3D 표시 요구를 수신한 네트워크 패킷 전송 유닛(1-151)은, 부호화 및 패킷화 등의 필요한 처리를 행한 3D 표시(갱신) 요구를 유선 또는 무선 네트워크(1-120)를 통하여, 3D 스트리밍 서버(1-100)에 보낸다.
상술한 서버(1-100)에 포함되는 네트워크 패킷 구성 유닛(1-106), 및 네트워크 패킷 전송 유닛(1-107), 상술한 클라이언트(1-150)에 포함되는 네트워크 패킷 수신 유닛(1-152), 및 네트워크 패킷 전송 유닛(1-151)은, 예를 들면, 기존의 오픈 소스 소프트웨어의 대응하는 송수신 모듈에 근거하여 필요한 개량을 실시해도 되고, 처음부터 전용으로 작성해도 된다.
도 2는, 도 1에서 설명한 서버와 클라이언트 간의 데이터의 흐름 중 서버 측에서의 처리를 설명한 플로 차트이다. 개시(901)에서 처리를 개시한다. 먼저, 도 1에서 설명한 네트워크 패킷 수신 유닛(1-108)이, 클라이언트로부터 3D 씬의 개서 커맨드 등을 포함하는 패킷을 수신한다(902). 다음으로, 도 1에서 설명한 수신 데이터 처리 유닛(1-101)이, 수신한 커맨드 등을 처리하여, 그 결과를 출력한다(903). 다음으로, 도 1에서 설명한 3D 씬 데이터 생성 유닛(1-102)이, 수신한 커맨드 등에 따른 3D 씬 데이터를 생성한다(904). 다음으로, 도 1의 추출 유닛(1-103)이, 3D 씬의 특징량을 추출한다(905). 여기에서, 특징량이란, 후술하는 컨테이너 스트림에 포함되는, 지오메트리, 컬러, 메타데이터, 사운드, 커맨드 등의 데이터를 가리킨다. 다음으로, 도 1의 3D 스트림 변환/부호화 유닛(1-104)이, 3D 특징량을 포함하는 데이터를 3D 스트림으로 변환하고, 부호화한다(906). 다음으로, 도 1의 네트워크 패킷 구성 유닛(1-106)이, 3D 스트림으로부터 네트워크 패킷을 구성한다(907). 다음으로, 도 1의 네트워크 패킷 전송 유닛(1-107)이, 네트워크 패킷을 송신한다(908). 이것으로 서버 측의 일련의 데이터 송신 처리는, 종료한다(909).
도 2에서는, 일례로서, 스텝 902에서 903까지의 처리와 스텝 904에서 908까지의 처리가 순차적으로 실행되도록 기재되어 있지만, 스텝 902에서 903까지의 처리와 스텝 904에서 908까지의 처리가 병행하여 실행되어도 되고, 스텝 904의 처리부터 개시되어도 된다.
도 3은, 도 1에서 설명한 서버와 클라이언트 간의 데이터의 흐름 중 클라이언트 측에서의 데이터의 처리를 설명한 플로 차트이다. 개시(1001)에서 처리를 개시한다. 먼저, 도 1에서 설명한 네트워크 패킷 수신 유닛(1-152)이, 서버(1-100)로부터 보내져 온 패킷을 수신한다(1002). 다음으로, 도 1에서 설명한 3D 스트림 복호 유닛(1-154)이 수신한 패킷을 복호하고(1003), 3D 씬의 특징량을 추출한다. 다음으로, 도 1에서 설명한 3D 씬 재구성 유닛(1-155)이, 3D 씬의 특징량 등을 사용하여, 클라이언트상에서 3D 씬을 재구성하고(1004), 3D 씬 데이터를 생성한다(1005). 다음으로, 도 1에서 설명한 표시 유닛(1-156)이, 재구성된 3D 씬을 표시하여, 유저에게 제시한다(1006). 이것으로 클라이언트 측에서의 데이터 처리는, 종료된다(1007).
도 3에서는, 일례로서, 스텝 1002에서 1004까지의 처리와 스텝 1005에서 1006까지의 처리가 순차적으로 실행되도록 기재되어 있지만, 스텝 1002에서 1004까지의 처리와 스텝 1005에서 1006까지의 처리가 병행하여 실행되어도 되고, 스텝 1005의 처리부터 개시되어도 된다.
도 4는, 도 1에서 설명한 서버와 클라이언트 간의 데이터의 흐름 중 클라이언트 측에서 커맨드의 처리를 설명한 플로 차트이다. 개시(1101)에서 처리를 개시한다. 도 1에서 설명한 앱 데이터 출력 유닛(1-153)이, 화상 처리 앱 등으로부터의 3D 씬의 개서 커맨드 등을 출력한다(1102). 도 1에서 설명한 네트워크 패킷 전송 유닛(1-151)은, 앱 데이터 출력 유닛(1-153)으로부터 커맨드 등을 수취하여, 패킷으로 변환하고, 변환한 패킷을 유선 또는 무선 네트워크(1-120)로 전송한다(1103). 이것으로 클라이언트 측에서의 데이터 처리는, 종료된다(1104).
도 4에서는, 일례로서, 스텝 1102의 처리와 스텝 1103의 처리가 순차적으로 실행되도록 기재되어 있지만, 스텝 1102의 처리와 스텝 1103의 처리가 병행하여 실행되어도 된다.
<2. 본 개시의 3D 스트림 포맷>
본 개시에 의한 3D 스트림의 포맷의 특징으로서는, 주로 이하의 것이 있다. 클라이언트 측에서 표시되는 3D 화상의 품질을 떨어뜨리지 않고, 한정된 네트워크의 대역폭을 사용하여, 이들을 실현하고 있는 곳에 본 개시의 의의가 있다.
(1) 서버 측에서 3D 스트림을 생성한다.
서버 측에서 3D 스트림을 생성할 때에, UE4 또는 Unity 등의 이용 가능한 엔진을 사용한다. 여기에서, UE란, Epic Games사에 의하여 개발되고 있는 게임 엔진, 언리얼·엔진(Unreal Engine)을 말하며, 2020년 5월에는 UE5가 발표되었다.
(2) 네트워크를 통한 효율적인 전송이 서포트되고 있다.
따라서, 종래의 방법에 비하여, 서버로부터 클라이언트로 전송되는 데이터양이 적다. 이것을 실현하기 위하여, 본 개시에서는, 컨테이너 스트림을 사용한다.
(3) 다양한 디바이스에서 동작 가능하다.
대상으로 하는 장치는, 예를 들면, Unity(Android, Windows, iOS), WebGL, UE4 또는 5(Android, iOS, Windows)를 이용할 수 있는 장치이다.
(4) 현대의 AR(확장 현실) 디바이스에 대하여 비교적 경량이다.
즉, 종래의 방법과 비교하여, 클라이언트 측에서의 처리의 부하가 작다. 이것은, 본 개시의 컨테이너 스트림의 사용에 기인한다.
(5) 인터랙션(즉, 쌍방향 통신)을 서포트한다.
즉, 스트리밍이 인터랙티브이다. 이것은, 커맨드가 클라이언트와 서버 상호 간에서 송수신 가능한 것에 기인한다.
상술한 특징을 실현하기 위하여, 본 개시는 서버와 클라이언트 간에서 전송하는 3D 스트림으로서 독자적인 컨테이너 스트림을 개발했다. 이 독자적인 컨테이너 스트림은, 이하와 같은, 지오메트리, 컬러, 메타데이터, 사운드, 및 커맨드 중 몇 개를 포함한다.
(1) 지오메트리: 서버상에서의 3D 씬의 스트리밍된 오브젝트의 외형에 관한 단순화된 3D 데이터이다. 지오메트리의 데이터는, 예를 들면, 오브젝트의 형상을 나타내기 위하여 사용되는 폴리곤의 꼭짓점의 어레이이다.
(2) 컬러: 특정 위치에 있는 카메라로 촬영한 오브젝트의 색 데이터이다.
(3) 메타데이터: 3D 씬, 환경, 개별의 오브젝트, 스트림 중의 데이터 등을 설명하는 데이터이다.
(4) 사운드: 서버 측 또는 클라이언트 측의 3D 씬에서 발생하는 사운드(음성) 데이터이다. 사운드는, 서버와 클라이언트 상호 간에서 쌍방향 통신 가능하다.
(5) 커맨드: 커맨드는, 서버 측 또는 클라이언트 측의 3D 씬, 시스템 이벤트, 스테이터스 메시지, 카메라 및 유저 인풋, 및 클라이언트의 애플리케이션 이벤트 등을 포함하는 명령 등이다. 커맨드는, 서버와 클라이언트 상호 간에서 쌍방향 통신 가능하다.
종래의 시스템에서는, 본 개시에 의한 상술한 컨테이너 스트림 대신에, 비디오 데이터 자체 또는 각 프레임의 픽셀 데이터를 보내고 있었다. 여기에서 컨테이너 스트림이란, 서버와 클라이언트의 사이에서 전송되는 데이터의 한 덩어리를 말하고, 데이터 스트림이라고도 말한다. 컨테이너 스트림은, 패킷 스트림으로서 네트워크를 경유하여 전송된다.
종래부터 사용되고 있는 이들 비디오 데이터 자체 또는 각 프레임의 픽셀 데이터는, 비록 압축되어 있었다고 해도, 시간당 전송되는 용량이 매우 커서, 서버와 클라이언트 간의 네트워크의 대역폭이 크지 않으면 전송이 늦어져, 레이턴시가 발생하고, 클라이언트 측에서의 3D 화상의 재생이 스무스하게 행해지지 않는다는 문제점이 있었다. 한편, 본 개시의 시스템에서, 서버와 클라이언트 간에서의 전송에서 사용되는 데이터 컨테이너는, 데이터 사이즈가 종래의 시스템보다 충분히 작기 때문에, 서버와 클라이언트 간의 네트워크의 대역폭을 그다지 신경쓰지 않고, 단위시간당 프레임 수를 최저한 확보할 수 있으므로, 클라이언트 측에서의 매끄러운 3D 화상의 재생이 가능해진다.
도 5는, 본 개시를 적용한 클라이언트 서버 시스템에서, 3D 씬 또는 3D 오브젝트를 클라이언트 측에서 표시하기 위한 데이터의 흐름을 기재한 도이다. 클라이언트 측은, 스마트폰 등의 단말 장치(1221)가 기재되어 있고, 단말 장치(1221)와 스마트 글래스(1210)가 무선 LAN 또는 블루투스(등록 상표) 등으로 무선 통신 또는 유선 통신(1222)을 경유하여 접속되어 있다. 스마트 글래스(1210)는, 유저가 앞 측에서 본 도를 나타내고 있다. 클라이언트의 스마트 글래스의 좌안에는 사람(1211-1)과 커서(1212-1)가 투영되어 있고, 스마트 글래스의 우안에는 사람(1211-2)과 커서(1212-2)가 투영되어 있다. 스마트 글래스의 유저에게는, 우안 및 좌안의 상(像)이 겹쳐 입체적인 사람(1214)이 조금 떨어진 곳에 보이고 있다. 클라이언트 측의 스마트 글래스(1210)의 유저는, 커서(1212) 또는 다른 입력 수단을 사용하여, 클라이언트 측의 스마트 글래스(1210) 중에 표시된 사람(1214)에 대하여 이동, 회전, 축소·확대, 색(컬러)·텍스처의 변경, 또는 사운드 등의 조작을 행할 수 있다. 이와 같은 클라이언트상의 오브젝트(또는 씬)에 대한 조작이 행해지면, 클라이언트로부터 서버에 네트워크(120) 경유로 커맨드(또는 사운드)(1213) 등이 송신된다.
클라이언트로부터 네트워크(120) 경유로 커맨드 등을 수신한 서버는, 서버 내의 앱 내의 가상적인 화면(1201)상의 대응하는 사람(1202)의 화상에 대하여, 수신한 커맨드 등에 따른 조작을 행한다. 여기에서, 서버는, 통상 표시 장치를 갖고 있을 필요가 없고, 가상적인 공간 내의 가상적인 화상을 취급한다. 다음으로, 서버는, 이 커맨드 등의 조작을 행한 후의 3D 씬 데이터(또는 3D 오브젝트 데이터)를 생성하고, 그것으로부터 추출한 특징량을 컨테이너 스트림(1203)으로서 네트워크(120) 경유로 클라이언트로 송신한다. 서버로부터 보내진 컨테이너 스트림(1203)을 수신한 클라이언트는, 컨테이너 스트림(1203)에 포함되는 지오메트리, 컬러·텍스처, 메타데이터, 사운드, 및 커맨드에 따라, 클라이언트의 가상 화면 중의 대응하는 사람(1214)의 데이터를 개서하여, 재표시 등 한다. 이 예에 있어서, 오브젝트는 사람이지만, 오브젝트는, 빌딩, 자동차, 동물, 또는 정물 등의 사람 이외여도 되고, 씬은, 1개 이상의 오브젝트를 포함한다.
이하에서 도 6~8을 참조하여, 상술한 컨테이너 스트림에 포함되는 「지오메트리」 데이터와 「컬러」 데이터가 어떻게 처리되는지를 설명한다.
<3. 지오메트리의 부호화 및 복호 프로세스>
도 6은, 본 개시에 의한, 지오메트리 데이터의 부호화 및 복호의 프로세스를 나타내는 도이다. 도 6에 있어서, 1-201~1-205의 처리는, 서버에 의하여 행해지고, 1-207~1-211의 처리는, 클라이언트에 의하여 행해진다.
도 6 및 후술하는 도 7 및 8에 기재된 각 처리는, CPU 및/또는 GPU 등의 프로세서 등에 의하여 관련된 프로그램을 사용하여 실행된다. 본 개시의 대상이 되는 시스템은, CPU 또는 GPU 중 어느 일방만을 구비하고 있어도 되지만, 이하에서는, 설명의 간단화를 위하여, CPU와 GPU를 통합하여 CPU라고 기재한다.
<3.1 서버 측의 처리>
여기에서 오브젝트를 갖는 씬이 있다고 가정한다. 각 오브젝트는, 1개 이상의 뎁스 카메라로 촬영되고 있다. 여기에서, 뎁스 카메라란, 안깊이 정보를 취득하는 심도(뎁스) 센서를 내장한 카메라를 말한다. 뎁스 카메라를 사용하면, 통상의 카메라가 취득하는 2차원(2D)의 화상에, 안깊이 정보를 추가하여, 3D의 입체적인 정보를 취득할 수 있다. 여기에서는, 씬의 완전한 지오메트리 데이터를 취득하기 위하여, 예를 들면 6대의 뎁스 카메라가 사용된다. 촬영 시의 카메라의 구성에 대해서는, 후술한다.
서버 측에서 촬영한 화상으로부터 스트림화 3D 오브젝트를 생성하고, 카메라의 뎁스(심도) 정보를 출력한다(1-201). 다음으로, 카메라의 뎁스 정보를 처리하여 점군을 생성하고, 점의 어레이를 출력한다(1-202). 이 점군은, 오브젝트의 실제의 지오메트리를 나타내는 삼각형(삼각형의 꼭짓점의 어레이)으로 변환되고, 삼각형의 군이 서버에 의하여 생성된다(1-203). 여기에서는, 일례로서 지오메트리를 나타내는 도형으로서 삼각형을 사용했지만, 삼각형 이외의 다각형을 사용해도 된다.
그리고, 삼각형의 군의 각 꼭짓점의 어레이의 데이터를 사용하여 지오메트리 데이터를 스트림에 추가하고, 압축한다(1-204).
서버는, 압축된 지오메트리 데이터를 포함하는 컨테이너 스트림을, 네트워크(120)를 통하여 송신한다(1-205).
<3.2 클라이언트 측의 처리>
클라이언트는, 서버로부터 송신된 압축된 데이터, 즉 지오메트리 데이터를 포함하는 컨테이너 스트림을, 네트워크(120)를 통하여 서버로부터 수신한다(1-207). 클라이언트는, 수신된 압축된 데이터를 해동하고, 꼭짓점의 어레이를 추출한다(1-208).
클라이언트는, 해동된 데이터의 꼭짓점의 어레이를, 관리된 지오메트리 데이터 큐에 넣고, 네트워크 경유로 전송되고 있는 동안에 무너진 프레임 시퀀스의 순번을 올바르게 정렬시킨다(1-209). 클라이언트는, 올바르게 정렬된 프레임 시퀀스에 근거하여, 씬의 오브젝트를 재구성한다(1-210). 클라이언트는, 재구성된 클라이언트 측의 3D 오브젝트를 디스플레이에 표시한다(1-211).
지오메트리 데이터는, 관리된 지오메트리 데이터 큐에 저장되고, 스트림 내에서 수신한 다른 데이터와 동기된다(1-209). 이 동기에 대해서는, 도 8을 사용하여 후술한다.
본 개시가 적용된 클라이언트는, 수신한 꼭짓점의 어레이에 근거하여 메시를 생성한다. 바꾸어 말하면, 서버로부터 클라이언트에는, 지오메트리 데이터로서, 꼭짓점의 어레이만이 송신되므로, 통상, 꼭짓점의 어레이의 시간당 데이터양은 비디오 데이터 및 프레임 데이터와 비교하여 상당히 적다. 한편, 종래의 다른 옵션은, 대량의 삼각형을 소정 메시의 데이터에 적용하는 것이고, 이 방법은 클라이언트 측에서의 대량의 처리를 필요로 하는 것이며, 문제가 있었다.
본 개시가 적용되는 서버는, 씬(통상은 1개 이상의 오브젝트를 포함한다) 중 변경이 필요한 부분(예를 들면, 특정 오브젝트)의 데이터만을 클라이언트로 보내고, 씬 중 변경이 없는 부분의 데이터를 클라이언트로 보내지 않기 때문에, 이 점에서도 씬 변경에 따르는 서버로부터 클라이언트로의 전송 데이터의 양을 삭감하는 것이 가능해진다.
본 개시를 적용한 시스템 및 방법에서는, 폴리곤 메시의 꼭짓점의 어레이를 서버로부터 클라이언트로 송신하는 것을 전제로 하고 있다. 그리고, 이 폴리곤으로서 삼각형의 폴리곤을 전제로 하여 설명했지만, 폴리곤의 형상은, 삼각형에 한정되지 않고 사각형 또는 다른 형상이어도 된다.
<4. 컬러/텍스처의 부호화 및 복호 처리>
도 7은, 본 개시에 의한, 컬러 정보/텍스처 정보의 부호화 및 복호의 프로세스를 나타내는 도이다. 도 7에 있어서, 301~303의 처리는, 서버에 의하여 행해지고, 305~308의 처리는, 클라이언트에 의하여 행해진다.
<4.1 컬러의 서버 측의 처리>
오브젝트를 갖는 씬이 있다고 가정한다. 카메라로부터의 뷰를 사용하여, 서버는, 씬의 컬러 데이터, 알파 데이터, 및 뎁스 데이터를 추출한다(301). 여기에서, 알파 데이터(또는 알파값)는, 컬러 정보와는 별도로, 화소(픽셀)마다 마련된 부가 정보를 나타내는 수치이다. 알파 데이터는, 특히 투명도로서 이용되는 경우가 많다. 또, 알파 데이터의 집합은, 알파 채널이라고도 불린다.
다음으로, 서버는, 컬러 데이터, 알파 데이터, 및 뎁스 데이터의 각각을 스트림에 추가하고, 압축한다(302-1, 302-2, 302-3). 서버는, 압축한 카메라 데이터를 컨테이너 스트림의 일부로서, 네트워크(120)를 경유하여 클라이언트로 송신한다(303).
<4.2 컬러의 클라이언트 측의 처리>
클라이언트는, 네트워크(120)를 경유하여 압축된 카메라 데이터·스트림을 포함하는 컨테이너 스트림을 수신한다(305). 클라이언트는, 프레임의 세트를 준비하는 것과 동일하게, 수신한 카메라 데이터를 해동한다(306). 다음으로, 클라이언트는, 해동한 카메라 데이터로부터 비디오 스트림의 컬러 데이터, 알파 데이터, 및 뎁스 데이터를 각각 처리한다(306-1, 306-2, 306-3). 여기에서, 이들 원시의 특징량 데이터는, 재구성된 3D 씬에 적용하기 위하여 준비되고, 큐에 넣어진다. 컬러 데이터는, 텍스처를 갖는 재구성된 3D 씬의 메시를 랩(wrap: 싼다)하기 위하여 사용된다.
또, 뎁스 데이터 및 알파 데이터를 갖는 추가의 상세 정보가 사용된다. 다음으로, 클라이언트는, 비디오 스트림의 컬러 데이터, 알파 데이터, 및 뎁스 데이터를 동기시킨다(309). 클라이언트는, 동기한 컬러 데이터, 알파 데이터, 및 뎁스 데이터를 큐에 저장하고, 컬러 데이터 큐를 관리한다(307). 다음으로, 클라이언트는, 컬러/텍스처 정보를 지오메트리로 투사한다(308).
도 8은, 본 개시에 의한 지오메트리 패킷, 컬러 패킷, 메타데이터, 및 커맨드의 사이의 데이터 동기를 나타내는 도이다.
클라이언트 측에서 데이터를 이용할 수 있도록 하기 위해서는, 클라이언트 측에서 수신한 3D 화상을 재생하면서 스트림 중인 데이터의 올바른 내용을 제공하는 방법으로 데이터를 관리할 필요가 있다. 네트워크를 경유하는 데이터 패킷은 반드시 신뢰성이 높은 방법으로 전송되는 것은 아니며, 패킷의 지연 및/또는 패킷의 순번의 변경이 발생할 가능성이 있다. 따라서, 데이터의 컨테이너 스트림을 클라이언트에서 수신하고 있는 동안, 클라이언트의 시스템은 어떻게 데이터의 동기를 관리할지를 생각할 필요가 있다. 본 개시의 지오메트리, 컬러, 메타데이터, 및 커맨드를 동기하기 위한 기본적인 스킴은, 이하와 같다. 이 스킴은, 네트워크·애플리케이션이나 스트림용으로 작성된 데이터·포맷에 대하여 표준적인 것이어도 된다.
도 8을 참조하여, 서버 측으로부터 송신되는 3D 스트림(401)은, 지오메트리 패킷, 컬러 패킷, 메타데이터, 및 커맨드를 포함하고 있다. 3D 스트림에 포함되는 지오메트리 패킷, 컬러 패킷, 메타데이터, 및 커맨드는, 서버상에서 3D 스트림이 작성된 시점에서는, 프레임 시퀀스(410)에 나타나는 바와 같이 서로 동기되어 있다.
이 프레임 시퀀스(410)에 있어서, 시간은 왼쪽에서 오른쪽으로 흐른다. 그런데, 서버로부터 송신된 프레임 시퀀스(410)가, 클라이언트에서 수신되었을 때에는, 네트워크를 경유하는 동안에 상호의 동기를 취할 수 없게 되는 경우나 랜덤한 지연이 발생하는 경우가 있어, 그것이 클라이언트 측에서 수신된 3D 스트림(401)에 나타나 있다. 즉, 클라이언트에서 수신된 3D 스트림(401) 내에서는, 지오메트리 패킷, 컬러 패킷, 메타데이터, 및 커맨드가, 클라이언트에서 작성되었을 때의 3D 스트림(401)과는, 시퀀스 내의 순서 또는 위치가 상이한 장소가 있는 것을 알 수 있다.
클라이언트에서 수신된 3D 스트림(401)은, 패킷 큐 매니저(402)에 의하여 본래의 동기로 되돌아가도록 처리되어, 프레임 시퀀스(403)가 생성된다. 패킷 큐 매니저(402)에 의하여 동기가 부활되고, 또한 서로 상이한 지연이 해소된 프레임 시퀀스(403)에서는, 지오메트리 패킷 1, 2, 3이 올바른 순서·배치가 되며, 컬러 패킷 1, 2, 3, 4, 5가 올바른 순서·배치가 되고, 메타데이터 1, 2, 3, 4, 5가 올바른 순서·배치가 되며, 커맨드 1, 2가 올바른 순서·배치가 된다. 즉, 클라이언트 내에서 정렬 후의 프레임 시퀀스(403)는, 서버 내에서 작성된 프레임 시퀀스(410)와 동일한 배열이 된다.
다음으로, 동기된 현재의 프레임에 대한 데이터를 사용하여, 씬이 재구성된다(404). 다음으로, 재구성된 프레임을 렌더링하고(405), 클라이언트는 씬을 표시 장치 상에 표시한다(406).
도 9는, 시퀀스 갱신 플로 500의 예를 나타낸다. 도 9에서는, 시간은 왼쪽에서 오른쪽으로 진행한다. 도 9를 참조하여, 먼저 지오메트리가 갱신된다(501). 여기에서는, 그것과 동기하여(즉, 횡방향의 위치가 일치하여) 컬러/텍스처가 갱신된다(505). 다음으로, 컬러/텍스처가 갱신되지만(506), 지오메트리는, 갱신되지 않는다(예를 들면, 컬러는 바뀌었지만, 움직임이 없는 경우). 다음으로, 지오메트리가 갱신되고(502), 그것과 동기하여 컬러/텍스처가 갱신된다(507). 다음으로, 컬러/텍스처가 갱신되지만(508), 지오메트리는, 갱신되지 않는다. 다음으로, 지오메트리가 갱신되고(503), 그것과 동기하여 컬러/텍스처가 갱신된다(509).
도 9에서 알 수 있는 바와 같이, 컬러/텍스처가 갱신될 때마다, 지오메트리가 갱신될 필요는 없고, 반대로, 지오메트리가 갱신될 때마다, 컬러/텍스처가 갱신될 필요도 없다. 지오메트리의 갱신과 컬러/텍스처의 갱신이 동기해도 된다. 또, 컬러/텍스처의 갱신은, 반드시 컬러 및 텍스처가 갱신될 필요는 없으며, 컬러 또는 텍스처 중 어느 일방의 갱신이어도 된다. 이 도면에서는, 컬러/텍스처 갱신 2회에 대하여, 지오메트리 갱신이 1회의 빈도로 기재되어 있지만, 이것은 일례이며, 다른 빈도여도 된다.
도 10은, 본 개시에 의한 클라이언트의 하드웨어 구성예를 나타내는 개략도이다. 클라이언트(150)는, 스마트폰이나 휴대전화 등의 단말이어도 된다. 클라이언트(150)는, CPU/GPU(601)와, 표시부(602)와, 입출력부(603)와, 메모리(604)와, 네트워크 인터페이스(605)와, 기억 장치(606)를 통상 구비하고 있고, 이들 구성 요소는, 버스(607)로 서로 통신 가능하게 접속되어 있다.
CPU/GPU(601)는, CPU 단체 또는 GPU 단체여도 되고, CPU와 GPU가 협동하여 동작하게 되어 있는 1개 또는 복수의 부품으로 구성되어도 된다. 표시부(602)는, 통상 컬러로 화상을 표시하기 위한 장치이며, 본 개시에 의한 3D 화상을 표시하고, 유저에게 제시한다. 도 5를 참조하여, 상술한 바와 같이, 클라이언트는, 클라이언트 단말과 스마트 글래스의 조합이어도 되고, 그 경우는, 스마트 글래스가 표시부(602)의 기능을 갖는다.
입출력부(603)는, 유저 등의 외부와의 인터랙션을 행하기 위한 장치이며, 클라이언트(150)의 내부 또는 외부에 있는 키보드, 스피커, 버튼, 터치 패널에 접속되어도 된다. 메모리(604)는, CPU/GPU(601)의 동작에 필요한 소프트웨어 및 데이터를 기억하기 위한 휘발성 메모리이다. 네트워크 인터페이스(605)는, 클라이언트(150)가 외부의 네트워크에 접속하고, 통신하기 위한 기능을 갖는다. 기억 장치(606)는, 클라이언트(150)에서 필요한 소프트웨어, 펌웨어, 데이터 등을 기억하기 위한 불휘발성 메모리이다.
도 11은, 본 개시에 의한 서버의 하드웨어 구성예를 나타내는 개략도이다. 서버(100)는, 통상은, 클라이언트보다 고기능의 CPU를 구비하고, 통신 속도도 빠르며, 보다 대용량의 기억 장치를 구비한다. 서버(100)는, CPU/GPU(701)와, 입출력부(703)와, 메모리(704)와, 네트워크 인터페이스(705)와, 기억 장치(706)를 통상 구비하고 있고, 이들 구성 요소는, 버스(707)로 서로 통신 가능하게 접속되어 있다.
CPU/GPU(701)는, CPU 단체 또는 GPU 단체여도 되고, CPU와 GPU가 협동하여 동작하게 되어 있는 1개 또는 복수의 부품으로 구성되어도 된다. 도 10에 기재된 클라이언트 장치는, 표시부(602)를 구비하고 있었지만, 서버의 경우는, 표시부는 필수는 아니다. 입출력부(703)는, 유저 등과의 인터랙션을 행하기 위한 장치이며, 키보드, 스피커, 버튼, 터치 패널에 접속되어도 된다. 메모리(704)는, CPU/GPU(701)의 동작에 필요한 소프트웨어 및 데이터를 기억하기 위한 휘발성 메모리이다. 네트워크 인터페이스(705)는, 클라이언트가 외부의 네트워크에 접속하고, 통신하기 위한 기능을 갖는다. 기억 장치(706)는, 클라이언트에서 필요한 소프트웨어, 펌웨어, 데이터 등을 기억하기 위한 불휘발성 기억 장치이다.
도 12는, 본 개시에 관한 정보 처리 시스템의 구성의 일례를 나타내는 개략도이다. 서버(100)와, 클라이언트(150-1)와, 클라이언트(150-2)가 네트워크(120)에 의하여 서로 통신 가능하게 접속되어 있다.
서버(100)는, 예를 들면, 서버 등의 컴퓨터 장치이며, 클라이언트(150-1)와 클라이언트(150-2)로부터의 화상 표시 요구 등에 따라, 동작하여, 클라이언트(150-1)와 클라이언트(150-2)에서 표시하기 위한 화상에 관련된 정보를 생성하고, 송신한다. 이 예에서는, 클라이언트는 2대 기재되어 있지만, 1대 이상이면 몇 대여도 된다.
네트워크(120)는, 유선 또는 무선의 LAN(Local Area Network)이어도 되고, 클라이언트(150-1)와 클라이언트(150-2)는, 스마트폰, 휴대전화, 슬레이트 PC, 또는 게임 단말 등이어도 된다.
도 13은, 본 개시에 의한 서버 측의 처리의 플로를 나타내는 개략도이다. 서버 측의 씬(1301)에 있는 오브젝트(1302)로부터, RGB 카메라를 사용하여 컬러 정보(1303)를 추출한다(1310). 서버 측의 씬(1301)에 있는 오브젝트(1302)로부터, RGB 카메라를 사용하여 알파 정보(1304)를 추출한다(1320). 서버 측의 씬(1301)에 있는 오브젝트(1302)로부터, 뎁스 카메라를 사용하여 점군(1305)의 정보를 추출한다(1330). 다음으로, 점군(1305)의 정보를 간략화하여, 지오메트리 정보(1306)를 얻는다(1331).
다음으로, 얻어진 컬러 정보(1303), 알파 정보(1304) 및 지오메트리 정보(1306)는, 스트림 데이터 포맷으로 처리되고(1307), 3D 스트림의 컨테이너 스트림으로서 네트워크를 경유하여 클라이언트로 송신된다(1340).
도 14는, 본 개시에 의한 클라이언트 측의 처리의 플로를 나타내는 개략도이다. 도 14는, 본 개시에 의한 데칼 방법에 관련된다. 여기에서, 데칼이란, 오브젝트상에 텍스처나 머티리얼을 첩부하는 처리이다. 여기에서, 텍스처란, 3D(3차원)CG 모델의 질감, 모양, 요철 등을 표현하기 위하여 이용하는 데이터 등을 가리킨다. 또, 머티리얼이란, 오브젝트의 재질 등이며, 3DCG에서는, 예를 들면, 물체의 광학적 특성, 재질감을 가리킨다.
본 개시의 데칼 방법이, 종래의 UV 매핑보다 프로세서의 처리로서 가벼운 이유를 이하에서 설명한다. 현시점에서, 메시에 색을 설정하기 위해서는 몇 가지 방법이 있다. 여기에서, UV란, 3DCG 모델에 텍스처를 매핑할 때, 첩부하는 위치나 방향, 크기 등을 지정하기 위하여 사용하는 좌표계이다. 2차원의 직교좌표계에서, 횡방향의 축이 U, 종방향의 축이 V가 된다. UV 좌표계를 사용한 텍스처 매핑을 UV 매핑이라 부른다.
<5.1 각 꼭짓점에 색을 설정하는 방법(종래의 방법 1)>
대상이 되는 클라우드 내의 모든 삼각형에 대하여, 색의 값을 꼭짓점에 저장한다. 그러나, 꼭짓점의 밀도가 낮은 경우, 해상도가 낮은 텍스처링이 되어, 유저·익스피리언스가 저하한다. 반대로, 꼭짓점의 밀도가 높은 경우, 화면상의 모든 픽셀에 색을 보내는 것과 동일하게 되어, 서버로부터 클라이언트로 전송하는 데이터양이 증가한다. 한편, 이것은 추가/기본 컬러링의 스텝으로서 사용할 수 있다.
<5.2 메시의 UV에 올바른 텍스처를 설정하는 방법(종래의 방법 2)>
올바른 텍스처를 UV 매핑으로 설정하기 위해서는, 삼각형의 군의 텍스처를 생성할 필요가 있다. 그 후, 현재의 메시의 UV 맵을 생성하고, 스트림에 추가할 필요가 있다. 모델의 오리지널 텍스처는, 씬의 번개 등의 정보가 포함되어 있지 않고, 고품질이며 상세한 3D 모델을 위해서는, 대량의 텍스처가 필요해지기 때문에, 실질적으로 사용할 수 없다. 이 방법이 채용되지 않는 다른 하나의 이유는, 서버상에서 렌더링된 3D 모델로 작성된 UV에서 오리지널 텍스처가 동작하는 것이다. 일반적으로는, 삼각형의 군을 사용하고, 상이한 뷰로부터 컬러링 텍스처를 투영하며, 수신한 UV 텍스처를 저장하여 송신한다. 또한, UV 텍스처와 동일한 빈도로 메시의 지오메트리나 토폴로지를 갱신할 필요가 있기 때문에, 서버와 클라이언트 간에서 송수신하는 데이터양이 증가한다.
<5.3 메시에 텍스처를 투영하는(데칼) 방법(본 개시에 의한 방법)>
스트림의 특정 위치로부터의 컬러/텍스처가, 그 위치에 관한 메타 정보와 함께 서버로부터 클라이언트에 송신된다. 클라이언트는, 이 텍스처를 지정된 위치로부터 메시에 투영한다. 이 경우, UV 맵은 불필요하다. 이 방법에서는, 스트리밍된 측(즉, 클라이언트 측)에는 UV 생성이 로드되지 않는다. 이 데칼에 의한 어프로치는, 데이터 플로의 최적화의 여지를 제공할 수 있다(예를 들면, 지오메트리와 컬러의 갱신은, 상이한 빈도로 연속하여 행할 수 있다).
도 14에 기재된 클라이언트 측의 처리는, 기본적으로, 도 13에 기재된 서버 측의 처리와 반대의 처리를 행한다. 먼저, 클라이언트는, 네트워크를 통하여 서버가 송신한 3D 스트림인 컨테이너 스트림을 수신한다. 다음으로, 수신한 3D 스트림으로부터 데이터를 복호하고, 오브젝트를 재구성하기 위하여, 컬러 정보, 알파 정보, 지오메트리 정보를 복원한다(1410).
다음으로, 먼저, 컬러 정보(1431)와 알파 정보(1432)가 결합되고, 그 결과로서 텍스처 데이터가 생성된다. 다음으로, 이 텍스처 데이터를 지오메트리 데이터(1433)에 적용한다(1420). 이렇게 함으로써, 서버상에 있던 오브젝트가 클라이언트상에서 재구성된다(1440). 서버 측의 씬에 복수의 오브젝트가 있는 경우는, 오브젝트마다 이와 같은 처리를 적용한다.
도 15는, 본 개시에 사용되는 카메라의 배치를 나타내는 도이다. 대상이 되는 씬(1510)에 있는 오브젝트의 지오메트리 정보를 취득하기 위해서는, 1대 이상의 뎁스 카메라가 사용된다. 뎁스 카메라는, 매프레임, 뎁스 맵을 취득하고, 다음으로, 이들 뎁스 맵은, 점군으로 처리된다. 다음으로, 점군은, 단순화를 위하여 소정의 삼각형의 메시로 분할된다. 뎁스 카메라의 해상도를 변경함으로써, 삼각형으로 분할된 메시의 상세도(미세도의 레벨, 입도)를 제어하는 것이 가능하다. 예를 들면, 상정하는 표준적인 설정에서는, 256Х256 해상도의 6대의 뎁스 카메라를 사용한다(1521~1526). 그러나, 필요한 뎁스 카메라의 대수와 각 카메라의 해상도는, 더 최적화하여, 줄이는 것도 가능하며, 뎁스 카메라의 대수 및 그 해상도에 따라, 퍼포먼스, 즉 화질 및 전송 데이터양이 변화한다.
도 15에는, 일례로서, 6대의 뎁스 카메라(1521~1526)와 1대의 통상의 카메라(1530)를 배치한 구성이 기재되어 있다. 통상의 카메라(즉 RGB 카메라)(1530)는, 대상이 되는 씬(1510)에 있는 오브젝트의 컬러 정보 및 알파 정보를 취득하기 위하여 사용된다.
대체안으로서, 뎁스 카메라를 사용하지 않고 통상의 RGB 카메라만을 사용하는 방법도 있을 수 있다. 이 경우는, RGB 카메라로 취득한 화상으로부터 오브젝트의 위치를 추정하고, 지오메트리 정보를 작성한다. 또한, 가상 카메라의 개념을 바이패스하여, 메시를 직접 처리하는 방법도 있다. 즉, 데이터 캡처 스텝, 점군 처리, 및 테셀레이션을 바이패스하고, 테셀레이션된 데이터를 직접 사용하여, 그래픽스 엔진 고유의 셰이더를 이용하여 지오메트리 정보를 관리하는 방법이다.
도 16은, 본 개시에서 사용되는 ARGB 시스템에 있어서의 픽셀 구성을 나타내는 도이다. ARGB 시스템은, 종래의 RGB(적, 녹, 청)의 색 정보에, 투명도를 나타내는 알파 정보 (A)를 추가한 것이다. 도 16에 나타낸 예에서는, 알파, 청, 녹, 적의 각각이, 8비트(즉, 256단계)로 나타나고, 즉, ARGB 전체에서, 32비트의 구성으로 되어 있다. 도 16의 1601이 각 색 또는 알파의 비트 수를 나타내고, 1602가 각각의 색 또는 알파를 나타내며, 1603은, 전체로서 32비트의 구성을 나타내고 있다. 이 예에서는, 각 색 및 알파가 8비트 구성이며, 전체적으로 32비트인 ARGB 시스템을 설명하고 있지만, 이들 비트 수는, 원하는 화질 및 전송 데이터양에 따라, 변경할 수 있다.
알파 정보는, 컬러 이미지에 대하여, 마스크/세컨더리 레이어로서 사용할 수 있다. 현재의 하드웨어 인코더의 제약에 의하여, 알파 정보를 갖는 컬러 정보에 대하여 비디오 스트림을 부호화하는 것은 시간이 걸린다. 또, 비디오 스트림에 대한 컬러 및 알파의 소프트웨어 인코더는, 리얼타임으로 부호화할 수 없어 지연이 발생하며, 본 개시의 목적을 달성할 수 없기 때문에, 현시점에서는 본 개시의 대체안이 될 수는 없다.
<6.1 본 개시에 의한 3D 스트림·씬의 지오메트리의 재구성의 이점>
본 개시의 방법을 이용한 3D 스트림·씬의 지오메트리 재구성의 이점은 이하와 같다. 본 개시의 방법은, 「삼각형의 군(cloud of triangles)」을 이용하여 씬을 재구성함으로써, 클라이언트 측에서 각 씬을 재구성한다. 이 혁신적인 아이디어의 중요한 점은, 클라이언트 측에서 대량의 삼각형을 사용할 준비가 되어 있다는 것이다. 이 경우, 삼각형의 군에 포함되는 삼각형의 수는, 수 십만 개여도 된다.
클라이언트는, 스트림으로부터 정보를 취득하면 바로 3D 씬의 형상을 만들기 위하여 각 삼각형을 적절한 장소에 배치할 준비가 되어 있다. 본 개시의 방법에서는, 서버로부터 클라이언트에, 종래보다 적은 데이터밖에 전송하지 않기 때문에, 이 방법의 이점은, 처리에 필요한 전력과 시간을 삭감할 수 있는 것이다. 프레임마다 메시를 생성한다는 종래의 방법이 아니라, 기존의 지오메트리의 위치를 변경한다. 그러나, 기존의 지오메트리의 위치를 변경함으로써, 씬 내에서 한 번 생성된 삼각형의 군의 위치를 변경할 수 있다. 따라서, 지오메트리 데이터는, 각 삼각형의 좌표를 제공하고, 오브젝트의 이 위치의 변경은, 동적이다.
<6.2 본 개시에 의한 3D 스트리밍의 이점>
본 개시의 3D 스트리밍의 이점은, 6개의 자유도(DoF: Degree of Freedom)에서도 네트워크의 지연이 보다 적은 것이다. 3D 스트리밍·포맷의 이점의 하나는, 클라이언트 측에도 3D 씬이 있는 것이다. 믹스·리얼리티(MR)에서 내비게이트하거나, 또는 화상 내를 보며 돌 때, 중요한 부분은, 어떻게 3D 콘텐츠가 현실 세계와 접속되어 있는지, 그리고 어떻게 「거기에 실제의 위치가 느껴지는지」이다. 바꾸어 말하면, 유저가 몇 개의 표시된 오브젝트의 주위를 돌고 있을 때에, 디바이스에 의한 위치 갱신의 지연을 인식하지 않는 경우, 인간의 뇌는 이 오브젝트가 정말로 그 장소에 있다고 착각한다.
현재, 클라이언트 측의 디바이스는 70~90FPS(1초당 프레임 수)를 목표로 하여, 유저에게 이것을 「진짜」라고 생각하게 하기 위하여, 디스플레이 상의 3D 콘텐츠를 갱신한다. 오늘날에는, 12ms 이하의 대기 시간으로, 리모트 서버상에서 프레임 갱신의 풀 사이클을 제공하는 것은 불가능하다. 실제로, AR 디바이스의 센서는, 1,000FPS 이상의 정보를 제공하고 있다. 그리고, 클라이언트 측에서 3D 콘텐츠를 동기시키는 것은, 현대의 디바이스에서는 이미 가능하므로, 본 개시의 방법에서는, 클라이언트 측에서 3D 콘텐츠를 동기시킬 수 있다. 그 때문에, 3D 씬을 재구성한 후, 클라이언트 측에서 확장 콘텐츠의 위치 정보를 처리하는 것은 클라이언트 측의 일이며, 리얼리티에 영향을 주지 않는 것 같은 합리적인 네트워크상의 문제(예를 들면, 전송 지연)가 있으면, 그것을 해결할 수 있다.
[실시예 2]
[실시형태](정보 처리 시스템의 구성)
도 17은, 실시형태에 관한 정보 처리 시스템의 구성의 일례를 나타내는 개략도이다.
이 정보 처리 시스템(5)은, 정보 처리 장치(1)와, 단말(2)과, 단말(3)과, 클라우드 렌더링 서버/스트리머(8)를 네트워크(4)에 의하여 서로 통신 가능하게 접속함으로써 구성된다. 단말(2) 및 단말(3)은, 각각 이용자(6) 및 데이터 해석자 또는 데이터 유저(7)에 의하여 조작된다.
정보 처리 장치(1)는, 서버형의 정보 처리 장치이며, 단말(2) 및 단말(3)의 요구에 따라 동작하는 것으로서, 본체 내에 정보를 처리하기 위한 기능을 갖는 CPU(Central Processing Unit)나 플래시 메모리 등의 전자 부품을 구비한다. 또한, 정보 처리 장치(1)는, 반드시 1개의 서버일 필요는 없으며, 실행할 수 있는 기능을 복수의 서버의 각각에 분산시켜 협동하여 동작하는 것이어도 되고, 클라우드상에서 동작하는 시스템이어도 된다.
단말(2) 및 단말(3)은, PC(Personal Computer), 스마트폰, 태블릿 단말 등의 정보 처리 장치로서, 본체 내에 정보를 처리하기 위한 기능을 갖는 CPU나 플래시 메모리, 촬영용의 카메라 등의 전자 부품을 구비한다.
네트워크(4)는, 고속 통신이 가능한 통신 네트워크이며, 예를 들면, 인터넷, 인트라넷이나 LAN(Local Area Network) 등의 유선 또는 무선의 통신망이다.
클라우드 렌더링 서버/스트리머(8)는, 네트워크(4)를 통하여, 단말(2) 또는 단말(3)로부터 수신한 리퀘스트에 따라, 2D 및/또는 3D 등의 화상을 작성하고, 작성한 2D 및/또는 3D의 화상을 스트리밍하는 서버 등의 정보 처리 장치이다. 또 클라우드 렌더링 서버/스트리머(8)는, 정보 처리 장치(1)를 네트워크(4)를 통하여 접속되어도 되고, 또는 클라우드 렌더링 서버/스트리머(8)는, 정보 처리 장치(1)와 직접 접속되어도 된다. 도 17에서는, 클라우드 렌더링 서버/스트리머(8)를 정보 처리 장치(1)와는 별개의 장치로 하여 기재하고 있지만, 클라우드 렌더링 서버/스트리머(8)는, 정보 처리 장치(1)의 하나의 기능으로서 프로그램 등으로 실현되어도 된다.
정보 처리 장치(1)는, 일례로서, 데이터 해석자 또는 데이터 유저(7)에 의하여 조작되는 단말(3)의 요구에 따라 콘텐츠, 예를 들면, 3D(3차원) 표시되는 배너 광고를 작성하고, 작성한 콘텐츠는, 임의의 홈페이지를 열람하는 이용자(6)에 의하여 조작되는 단말(2)의 요구에 따라 홈페이지의 정보와 함께 배신(配信)된다. 단말(2)에 배신된 콘텐츠는, 단말(2)상에서 실행되고, 실행된 결과, 단말(2)의 표시부에 홈페이지에 포함되는 배너 광고 내의 3D 오브젝트로서 표시되며, 이용자(6)의 조작에 근거하여 오브젝트의 위치나 촬영 방향 등의 표시가 변경된다. 단말(2)에서 오브젝트에 대하여 이루어진 조작에 의하여 콘텐츠상에서 발생한 이벤트는 정보 처리 장치(1)에 송신되고, 이벤트 이력으로서 저장된다(여기에서, 「이벤트」란, 배너 광고에 대한 이용자의 반응이며, web 해석에서 말하는 이용자의 배너 광고의 열람이나 배너 광고에 대한 클릭 등의 조작 「인터랙션(interactions)」을 확장한 것이다. 상세하게는 후술한다.). 정보 처리 장치(1)는, 단말(3)의 요구에 따라 이벤트 이력을 해석하고, 이용자(6)의 콘텐츠에 대한 흥미 및 콘텐츠에 대하여 취한 행동 등의 내용을 해석 결과로서 단말(3)에 출력한다. 단말(3)은, 정보 처리 장치(1)로부터 해석 결과를 수신하고, 표시부에 해석 결과를 표시한다. 데이터 해석자 또는 데이터 유저(7)는 단말(3)의 표시부에 표시된 해석 결과를 확인하여 광고 활동의 효과를 확인한다. 또, 정보 처리 장치(1)는, 미리 설정된 내용에 따라, 해석 결과에 따라 콘텐츠의 내용(콘텐츠의 초기 설정(모델, 색, 배치, 각도 등)이나 동작 조건 등)을 변경한다.
또한, 도 17에 나타낸 구성은 실시형태를 설명하기 위한 예시이며, 이하에 설명하는 바와 같이 적절히 구성에 포함되는 각 요소는 변경 가능하다. 예를 들면, 데이터 해석자 등(7)은, 콘텐츠를 작성, 배신하는 사람의 일례이며, 광고를 제공하는 광고주에 한정되지 않고, 광고를 분석하는 사람, 광고업계, 웹 페이지나 애플리케이션을 제작하는 사람, 전자 상거래의 브랜드를 관리하는 사람, 전자 상거래의 사이트를 관리하는 사람, 유통업계의 사람 등이어도 된다. 또, 이것에 대응하여, 콘텐츠는 배너 광고에 한정되지 않고, 상품 페이지의 콘텐츠, 애플리케이션상에서 동작하는 콘텐츠 등이어도 된다. 또, 콘텐츠는, 3D에 한정되지 않고, 콘텐츠 내의 오브젝트 및 그 시점 등이 변형이나 변경 가능하면 되고, 2D여도 되며, 4D 이상이어도 된다. 또, 단말(2)은, 항상 네트워크(4)에 접속되어 있을 필요는 없고, 네트워크에 접속된 타이밍에서 이벤트 이력을 정보 처리 장치(1)에 송신하는 것이어도 된다. 또, 단말(2)은, 항상 네트워크에 접속되어 있는 경우에도, 임의의 타이밍에서 이벤트 이력을 정보 처리 장치(1)에 송신하는 것이어도 된다.
(정보 처리 장치의 구성)
도 18은, 실시형태에 관한 정보 처리 장치(1)의 구성예를 나타내는 블록도이다.
정보 처리 장치(1)는, CPU 등으로 구성되고, 각부(各部)를 제어함과 함께, 각종 프로그램을 실행하는 제어부(10)와, 플래시 메모리 등의 기억 매체로 구성되며 정보를 기억하는 기억부(11)와, 네트워크를 통하여 외부와 통신하는 통신부(12)를 구비한다.
제어부(10)는, 후술하는 이벤트 해석 프로그램(110)을 실행함으로써, 콘텐츠 배신 수단(100), 이벤트 수신 수단(101), 이벤트 해석 수단(102), 해석 결과 출력 수단(103) 및 해석 결과 반영 수단(104) 등으로서 기능한다.
콘텐츠 배신 수단(100)은, 단말(2)의 배신 요구에 따라 배너 광고를 표시하기 위한 콘텐츠 정보(111)를 통신부(12) 및 네트워크(4)를 통하여 단말(2)에 배신한다. 또한, 콘텐츠 정보(111)는, 3D 표시되는 것 외에, AR(Augmented Reality, 확장 현실)에 의하여 표시되는 것, VR(Virtual Reality, 가상 현실), MR(Mixed Reality, 복합 현실), SR(Substitutional Reality, 대체 현실), XR(Extended Reality)에 의하여 표시되는 것이어도 되고, 콘텐츠 내에 표시되는 오브젝트가 변형 또는 변화하는 것이면 2D여도 되고, 4D 이상이어도 된다.
이벤트 수신 수단(101)은, 단말(2)에서 콘텐츠 정보(111)가 실행되고, 단말(2)에서 조작된 결과에 발생한 이벤트를 임의의 타이밍으로 수신하며, 수신한 이벤트를 이벤트 이력 정보(112)로서 기억부(11)에 저장한다.
이벤트 해석 수단(102)은, 이벤트 이력 정보(112)를 해석하여 해석 결과 정보(113)를 생성한다. 또한, 해석 방법은 후술한다.
해석 결과 출력 수단(103)은, 단말(3)의 요구에 따라, 해석 결과 정보(113)를 데이터 해석자 또는 데이터 유저(7)가 조작하는 단말(3)에 출력한다.
해석 결과 반영 수단(104)은, 미리 설정된 내용에 따라, 기억부(11)의 콘텐츠 정보(111) 또는 단말(2)에 배신 완료된 콘텐츠 정보의 색, 모델, 촬영 각도, 배치 각도, 옵션 등의 초기 설정값을 변경한다.
기억부(11)는, 제어부(10)를 상술한 각 수단(100~104)으로서 동작시키는 이벤트 해석 프로그램(110), 콘텐츠 정보(111), 이벤트 이력 정보(112) 및 해석 결과 정보(113) 등을 기억한다.
(단말의 구성)
도 19는, 실시형태에 관한 단말(2)의 구성예를 나타내는 블록도이다.
단말(2)은, CPU 등으로 구성되고, 각부를 제어함과 함께, 각종 프로그램을 실행하는 제어부(20)와, 플래시 메모리 등의 기억 매체로 구성되며 정보를 기억하는 기억부(21)와, 문자나 화상을 표시하는 LCD(Liquid Crystal Display) 등의 표시부(22)와, 조작에 따라 조작 신호를 발생하는 키보드, 마우스, 터치 패널 등의 조작부(23)와, 사진이나 영상을 촬영하는 렌즈 및 촬상 소자 등을 구비한 촬상부(24)와, 네트워크를 통하여 외부와 통신하는 통신부(25)를 구비한다. 그 외, 도시하지 않지만 음성을 수집하는 마이크, 음성을 출력하는 스피커 등을 구비하여 멀티미디어 콘텐츠의 재생을 행한다.
제어부(20)는, 후술하는 이벤트 해석 프로그램(210)을 실행함으로써, 콘텐츠 수신 수단(200), 콘텐츠 표시 수단(201), 콘텐츠 조작 접수 수단(202), 이벤트 송신 수단(203) 및 미디어 갱신 수단(204) 등으로서 기능한다.
콘텐츠 수신 수단(200)은, 정보 처리 장치(1)로부터 배신된 콘텐츠 정보(111)를 통신부(25) 및 네트워크(4)를 통하여 수신하고, 기억부(21)에 콘텐츠 정보(211)로서 저장한다.
콘텐츠 표시 수단(201)은, 콘텐츠 정보(211)를 실행하여 표시부(22)에 3D의 배너 광고를 표시하고, 콘텐츠 조작 접수 수단(202)이 접수한 조작 내용에 따라 배너 광고의 표시 내용을 변경한다.
콘텐츠 조작 접수 수단(202)은, 조작부(23)에 대한 조작을 접수하고, 콘텐츠 정보(211)의 실행 상태에 맞춘 조작 내용으로 변환함과 함께, 실행 상태에 맞춘 이벤트를 발생시킴과 함께, 발생한 이벤트를 이벤트 이력 정보(212)로서 기억부(21)에 저장한다. 이벤트의 내용에 대해서는 후술한다.
이벤트 송신 수단(203)은, 발생한 이벤트를 이벤트 이력 정보(212)로서 정보 처리 장치(1)에 송신한다. 송신의 타이밍은, 이벤트마다 발생한 타이밍이어도 되고, 미리 정한 간격이어도 되며, 미리 정한 간격인 경우는 발생한 이벤트를 통합하여 보낸다. 또한, 예를 들면, 이벤트 해석 프로그램(210)을 외부의 API(Application Programing Interface)를 통하여 구성한 경우에는, 이벤트 송신 수단(203)은, 이벤트 이력 정보(212)를 정보 처리 장치(1)에 직접 송신하지 않고, 외부 서버에 일단 송신하고, 외부 서버로부터 정보 처리 장치(1)에 이벤트 이력 정보(212)를 송신하도록 해도 된다. 외부 서버로부터 정보 처리 장치(1)에 이벤트 이력 정보(212)를 송신하는 타이밍은, 어느 일정량의 데이터마다여도 되고, 어느 일정 시간마다여도 되며, 하나씩 송신하는 것이어도 된다. 또, 리얼타임이어도 되고, 지연을 수반하는 것이어도 된다.
미디어 갱신 수단(204)은, 정보 처리 장치(1)의 해석 결과 반영 수단(104)으로부터 요구되는 내용에 따라, 콘텐츠 정보(211)의 색, 모델, 촬영 각도, 배치 각도, 옵션 등의 초기 설정값을 변경한다.
기억부(21)는, 제어부(20)를 상술한 각 수단(200~204)으로서 동작시키는 이벤트 해석 프로그램(210), 콘텐츠 정보(211) 및 이벤트 이력 정보(212) 등을 기억한다.
도 20a~도 20i는 단말(2)의 표시부(22)에 표시되는 화면의 예를 나타내는 도이다.
도 20a에 나타내는 바와 같이, 화면(220a)은, 콘텐츠 정보(211)의 내용이 자동차의 배너 광고였던 경우이며, 3D 표시되는 조작 대상(자동차)의 외관을 나타내는 오브젝트(221ex)와, 오브젝트(221ex)가 배치된 배경(222)과, 조작하는 대상을 지시하기 위한 커서(223)와, 오브젝트(221ex)의 일부의 표시를 변경하기 위한(프런트 라이트를 점등하기 위한) 조명 버튼(224)과, 조작 대상(자동차)의 표시를 내장(內裝)으로 전환하기 위한 인테리어 전환 버튼(225)과, 당해 조작 대상의 제조원의 홈페이지로 이동하기 위한 링크(226)와, 당해 조작 대상의 제품 페이지로 이동하기 위한 링크(227)를 갖는다. 오브젝트(221ex) 및 배경(222)의 촬영 방향은, 화면(220a)상이, 예를 들면, 커서(223)에 의하여 드래그 조작됨으로써 임의의 방향으로 변경되고, 조명 버튼(224), 인테리어 전환 버튼(225), 링크(226, 227)가 선택 조작됨으로써 각 기능의 온 오프가 실행된다.
도 20b에 나타내는 바와 같이, 화면(220b)은, 화면(220a)의 상태로부터 커서(223)로 오브젝트(221ex)가 횡방향으로 드래그 조작되고, 카메라 앵글이 변경됨으로써 표시되는 화면이다. 오브젝트(221ex)는, 도어(224door)와, 휠(224wheel)을 갖고, 도어(224door)는 커서(223)로 선택 조작됨으로써 도어가 개폐되며, 휠(224wheel)은 커서(223)로 선택 조작됨으로써 휠이 다른 사이즈, 색, 모델로 변경된다.
또, 도 20c에 나타내는 바와 같이, 화면(220b)에 커서(223)를 맞춘 상태에서, 조작(예를 들면, 마우스의 휠 조작, 터치 패드의 더블 탭이나 핀치 아웃 등)이 행해지면, 도 20d에 나타내는 화면(220d)이 되어, 오브젝트를 가까이에서 보는 상태가 된다.
도 20e에 나타내는 바와 같이, 화면(220e)은, AR(Augmented Reality, 확장 현실) 기능을 이용한 경우에 표시되는 화면이며, 단말(2)의 카메라에 의하여 촬영된 배경(222ar) 상에, 배치면과의 거리 및 화각을 합치시켜 오브젝트(221ex)가 표시된다.
도 20f에 나타내는 바와 같이, 화면(220f)은, 도 20e의 화면(220e)에 있어서 조작(예를 들면, 마우스의 휠 조작, 터치 패드의 더블 탭이나 핀치 아웃 등)이 행해지면, 사이즈를 변화시킨(사이즈를 크게 한) 오브젝트(221ex)가 표시된다.
또, 도 20g에 나타내는 바와 같이, 화면(220g)은, 도 20e의 화면(220e)에 있어서 단말(2)의 카메라의 촬영 위치 및 방향이 변화된 경우의 배경(222ar) 상에, 배치면과의 거리 및 화각이 연동된 오브젝트(221ex)가 표시된다.
도 20h에 나타내는 바와 같이, 화면(220h)은, 도 20a에 나타낸 화면(220a)에 다시 색 선택 버튼(228)이 추가된 것이며, 색 선택 버튼(228) 중 어느 하나가 선택되면 선택된 색에 따라 오브젝트(221ex)의 외장색이 변경된다.
도 20i에 나타내는 바와 같이, 화면(220i)은, 도 20a에 나타낸 화면(220a)의 인테리어 전환 버튼(225)이 조작된 경우의 오브젝트(221ex)의 내장을 나타내는 화면이며, 오브젝트 인테리어(221in)와, 익스테리어 전환 버튼(229)을 갖는다.
도 21a~도 21f는, 이벤트의 항목예를 설명하기 위한 도이다.
도 21a에 나타내는 이벤트(112OT)는, 오브젝트에 대한 변경 이벤트이며, 예를 들면, 오브젝트의 회전을 개시했을 때에 생성되는 「rotate object - start」, 회전을 종료했을 때에 생성되는 「rotate object - stop」, 오브젝트의 도어를 열었을 때에 생성되는 「door open」, 닫았을 때에 생성되는 「door close」, 오브젝트의 모델을 변경했을 때에 생성되는 「change product model」, 오브젝트의 시야를 변경했을 때에 생성되는 「change view(interior to exterior, for example)」, POI(Point of Interest)를 클릭하여, 초점을 맞히기로 했을 때에 생성되는 「POI focus」, 오브젝트의 줌을 개시했을 때에 생성되는 「object zoom start」, 줌을 종료했을 때에 생성되는 「object zoom stop」, 그 외의 조작을 설정 가능한 「other(custom)」, 오브젝트의 휠을 변경했을 때에 생성되는 「change wheels」, 오브젝트의 라이트를 온 오프했을 때에 생성되는 「turn on/off lights」, 오브젝트를 나열했을 때에 생성되는 「change alignment」, 오브젝트의 축척 변경을 개시했을 때에 생성되는 「object scale start」, 축척 변경을 종료했을 때에 생성되는 「object scale stop」, 오브젝트를 상하·좌우로 반전했을 때에 생성되는 「object mirror」등의 이벤트를 갖는다.
또한, 예를 들면, 「color change」는, 변경 후의 색과 변경 전의 색의 정보를 포함한다. 또, 「rotate object - start」 및 「rotate object - stop」은, 회전 개시 및 종료의 포인트, 회전 각도, 경시적인 회전 각속도 등의 정보를 포함한다. 동일하게, 「object zoom start」, 「object zoom stop」, 「object scale start」, 「object scale stop」에 대해서도 동작의 개시 및 종료의 포인트, 개시부터 종료까지의 경시적인 변화량 등의 정보를 포함하는 것으로 한다.
도 21b에 나타내는 이벤트(112CT)는, 카메라에 대한 변경 이벤트이며, 예를 들면, 오브젝트와 카메라의 거리의 변경을 개시했을 때에 생성되는 「object distance change - start」, 거리의 변경을 종료했을 때에 생성되는 「object distance change - stop」, 오브젝트에 대한 카메라 방향의 변경을 개시했을 때에 생성되는 「object direction change - start」, 카메라 방향의 변경을 종료했을 때에 생성되는 「object direction change - stop」, 오브젝트의 재배치를 개시했을 때에 생성되는 「object location change ­start」, 재배치를 종료했을 때에 생성되는 「object location change - stop」, 환경에 대하여 오브젝트의 줌을 개시했을 때에 생성되는 「zoom object view - start」, 줌을 종료했을 때에 생성되는 「zoom object view - stop」, 카메라의 회전을 개시했을 때에 생성되는 「camera rotation - start」, 회전을 종료했을 때에 생성되는 「camera rotation - stop」, 오브젝트의 위치, 방향, 크기 중 어느 하나 혹은 몇 개를 변경했을 때에 생성되는 「projection matrix change」 등의 이벤트를 갖는다.
또한, 「object distance change - start」, 「object distance change - stop」, 「object direction change - start」, 「object direction change - stop」, 「object location change ­start」, 「object location change ­stop」, 「zoom object view - start」, 「zoom object view - stop」, 「camera rotation - start」, 「camera rotation - stop」은, 동작의 개시 및 종료의 포인트, 개시부터 종료까지의 경시적인 변화량 등의 정보를 포함하는 것으로 한다.
도 21c에 나타내는 이벤트(112OP)는, 오브젝트 특성에 대한 변경 이벤트이며, 예를 들면, 오브젝트의 보디의 색을 변경했을 때에 생성되는 「change body color」, 오브젝트의 트림의 색을 변경했을 때에 생성되는 「change trim color」, 오브젝트의 보디의 무늬를 변경했을 때에 생성되는 「change body texture」, 배경을 변경했을 때에 생성되는 「change background」, 오브젝트상의 말이나 아이콘을 변경했을 때에 생성되는 「change object graphics」, 오브젝트와 함께 재생되는 비디오, 음성 등의 멀티미디어를 변경했을 때에 생성되는 「change object multimedia」, 오브젝트와 함께 재생되는 애니메이션을 개시했을 때에 생성되는 「start object animation」, 애니메이션을 종료했을 때에 생성되는 「stop object animation」, 오브젝트와 함께 재생되는 애니메이션을 변경했을 때에 생성되는 「change object animation」, 배경과 함께 재생되는 애니메이션을 개시했을 때에 생성되는 「start background animation」, 애니메이션을 종료했을 때에 생성되는 「stop background animation」, 배경과 함께 재생되는 애니메이션을 변경했을 때에 생성되는 「change background animation」등의 이벤트를 갖는다.
도 21d에 나타내는 이벤트(112CP)는, 카메라 특성에 대한 변경 이벤트이며, 예를 들면, 시야각을 변경했을 때에 생성되는 「change field of view」, 오버레이 화상을 변경했을 때에 생성되는 「change overlay graphics」, 오버레이되는 3D 오브젝트를 추가했을 때에 생성되는 「additional 3D objects overlaid」, 조명 효과를 변경했을 때에 생성되는 「change lighting effects」, 컬러 필터를 변경했을 때에 생성되는 「change color filters」 등의 이벤트를 갖는다.
도 21e에 나타내는 이벤트(112S)는, 시스템상에서 발생하는 이벤트이며, 예를 들면, AR 시스템을 로드했을 때에 생성되는 「AR System loaded」, 소재를 로드했을 때에 생성되는 「Assets loaded」, 씬을 준비했을 때에 생성되는 「scene ready」, 오브젝트를 생성했을 때에 생성되는 「spawn object」, 복수의 오브젝트를 생성했을 때에 (그 수와 함께) 생성되는 「spawn multiple objects (how many)」, (AR 시스템의) 에러가 발생했을 때에 생성되는 「error (AR system)」, 액션 후에 시간이 경과했을 때에 (경과 시간과 함께) 생성되는 「timer­after­action (how much time)」, 임프레션 후에 시간이 경과했을 때에 (경과 시간과 함께) 생성되는 「timer-after-­impression (how much time)」, 사진/스크린숏을 찍었을 때에 생성되는 「photo / screenshot taken」, 이용자에 대한 행동 환기가 성립했을 때에 생성되는, 예를 들면, 어떠한 방법(점멸이나 화살표에 의한 지시 등)으로 강조 표시된 링크가 클릭되어 웹사이트로 이동했을 때에 생성되는 「call to action (click to site)」, 오브젝트의 표시를 리셋했을 때에 생성되는 「reset creative」, AR 모드를 실행했을 때에 생성되는 「launch AR mode」, 비디오/오디오의 재생을 개시했을 때에 생성되는 「start (video/audio multimedia)」, 재생을 종료했을 때에 생성되는 「stop (video/audio multimedia)」, 비디오/오디오의 재생을 재개했을 때에 생성되는 「resume (video/ audio multimedia)」, 합계 재생 시간의 (25%|50%|75%|100%)를 재생했을 때에 생성되는 「media Quartile Complete (video/audio multimedia - 1, 2, 3, 4 quarters)」, 오디오의 볼륨을 변경했을 때에 (그 음량과 함께) 생성되는 「volume change (audio)」, 등의 이벤트를 갖는다.
또한, 「AR System loaded」는, AR을 실행했을 때의 단말(2)의 위치 정보, 오브젝트의 색, 모델, 크기, 배치 등의 정보를 포함하는 것으로 한다.
도 21f에 나타내는 이벤트(112M)는, 그 외의 이벤트이며, 예를 들면, 최초의 인터랙션이 발생했을 때에 생성되는 「first interaction」, 당해 콘텐츠 정보에서 이용되는 타사의 콘텐츠가 이벤트 또는 신호를 생성했을 때에 생성되는 「3rd party signal」, 랜덤인 이벤트가 발생했을 때에 생성되는 「random event」 등의 이벤트를 갖는다.
도 22는, 이벤트 이력 정보(112a)의 구성예를 나타내는 도이다.
이벤트 이력 정보(112a)는, 타임 스탬프로서의 시각과, 당해 시각에 있어서 발생한 이벤트의 이벤트 ID를 갖는다. 이벤트 ID는 도 21a~도 21f의 이벤트 ID에 대응한 것이다. 도 22의 예에서는, 단말(2)에서, 시각 t1에 있어서 AR 시스템이 로드되고(S001), 시각 t2에 있어서 오브젝트가 생성되며(S004), 시각 t3에 있어서 오브젝트의 도어가 열리고(OT003), 시각 t4에 있어서 오브젝트의 회전이 개시되며(OT001), 시각 t5에 있어서 오브젝트의 회전이 정지되고(OT002), 시각 t6에 있어서 타사의 콘텐츠가 이벤트를 생성하며(M002), 시각 t7에 있어서 조명 효과가 변경되고(CP004), 시각 t8에 있어서 카메라의 회전이 개시되며(CT009), 시각 t9에 있어서 카메라의 회전이 정지된(CT010) 경우의 이벤트의 이력을 나타내고 있다. 또, 도 22에서는, 단순히 복수의 개별 이벤트가 시계열을 따라 나열되어 있는 것을 나타내고 있지만, 예를 들면, 도 21a에 나타낸 이벤트 ID 「OT002」의 「rotate object - stop」과 같이 오브젝트의 회전을 멈추는 이벤트에 있어서, 오브젝트의 회전 운동의 상세한 궤적과 타이밍을 1개의 이벤트에 포함하는 것 같은 것을 포함하고 있어도 된다. 이 경우, 이벤트 중의 임의의 시각을 타임 스탬프에 가져도 되고, 타임 스탬프를 갖지 않는 것이어도 된다.
(정보 처리 장치의 동작)
다음으로, 본 실시형태의 작용을, (1) 콘텐츠 표시 동작, (2) 이벤트 이력 해석 동작, (3) 해석 결과 출력 동작으로 나누어 설명한다.
(1) 콘텐츠 표시 동작
도 26은, 정보 처리 시스템(5)의 동작예를 나타내는 플로 차트이다.
먼저, 단말(2)의 이용자(6)는, 콘텐츠가 포함되는 홈페이지를 열람하기 위하여, 단말(2)을 조작한다. 단말(2)은, 홈페이지의 정보를 배신하는 서버에 홈페이지의 정보를 요구하여 수신하고, 수신한 정보에 근거하여 단말(2)의 웹 브라우저가 홈페이지의 내용을 표시함과 함께, 수신한 홈페이지의 정보에 포함되는 콘텐츠 정보의 URL에 근거하여 콘텐츠 정보의 요구를 정보 처리 장치(1)에 송신한다(S20).
정보 처리 장치(1)의 콘텐츠 배신 수단(100)은, 단말(2)의 배신 요구를 접수하여(S10), 홈페이지의 정보와 함께 콘텐츠 정보(111)를 통신부(12) 및 네트워크(4)를 통하여 단말(2)에 배신한다(S11).
단말(2)의 콘텐츠 수신 수단(200)은, 정보 처리 장치(1)로부터 배신된 콘텐츠 정보(111)를 통신부(25) 및 네트워크(4)를 통하여 수신하고, 기억부(21)에 콘텐츠 정보(211)로서 저장한다(S21).
다음으로, 단말(2)의 콘텐츠 표시 수단(201)은, 콘텐츠 정보(211)를 실행하여 홈페이지 내에 배너 광고로서 표시한다(S22). 배너 광고의 표시 내용은 도 20a~도 20c, 도 20h 및 도 20i에 나타낸 내용으로 구성된다.
이용자(6)는, 단말(2)의 표시부(22)에 표시된 콘텐츠 정보(211)의 표시 내용(도 20a~도 20i)을 확인하고, 표시 내용에 포함되는 오브젝트(221ex)나 카메라 앵글 등을 변경하기 위하여, 조작부(23)에 대하여 조작을 행한다.
단말(2)의 콘텐츠 조작 접수 수단(202)은, 조작부(23)에 대한 조작을 접수하고(S23), 콘텐츠 정보(211)의 실행 상태에 맞춘 조작 내용으로 변환한다. 단말(2)의 콘텐츠 표시 수단(201)은, 콘텐츠 조작 접수 수단(202)이 접수한 조작 내용에 따라 표시부(22)에 표시된 오브젝트(221ex)나 카메라 앵글 등의 표시 내용을 변경한다(S24).
또, 단말(2)의 콘텐츠 조작 접수 수단(202)은, 실행 상태에 맞춘 이벤트(도 21a~도 21f)를 발생시키고, 이벤트 송신 수단(203)은, 발생한 이벤트를 타임 스탬프와 함께 이벤트 이력 정보(212)(도 22)로서 정보 처리 장치(1)에 송신한다(S25). 이벤트 이력 정보(212)는 단일의 이벤트여도 되고, 복수의 이벤트를 포함하는 것이어도 된다. 정보 처리 장치(1)로 송신하는 타이밍은 정기적인 것이어도 되고, 정량으로 보내는 것이어도 되며, 네트워크의 접속 상황에 근거하여 변화하는 것이어도 된다.
정보 처리 장치(1)의 이벤트 수신 수단(101)은, 단말(2)로부터 이벤트를 수신하고(S12), 수신한 이벤트를 이벤트 이력 정보(112)로서 기억부(11)에 저장한다(S13).
정보 처리 장치(1)의 이벤트 해석 수단(102)은, 이벤트 이력 정보(112)를 해석하여 해석 결과 정보(113)를 생성한다(S14). 이하에, 해석 방법을 설명한다.
(2) 이벤트 이력 해석 동작(제1 단계의 해석)
이벤트 해석 수단(102)은, 제1 단계의 해석으로서, 이벤트 이력 정보(112)로부터 개개의 이벤트를 추적하여 해석 결과를 얻는다. 해석 결과는, 예를 들면, 캠페인마다의 이벤트의 수, 세션마다의 이벤트의 평균, (1 이상의 인터랙션을 수반하는 세션의 수)/(세션의 총수)의 비로부터 얻어지는 인게이지먼트의 비율(이 값은, 몇 명의 유저가 상품과 연결되었는지를 나타내는 지표를 나타낸다.), (전체적인 캠페인 코스트)/(인게이지먼트의 세션 총수)의 비로부터 얻어지는 인게이지먼트마다의 코스트를 들 수 있다.
여기에서 이용한 용어는, 예를 들면, Google analytics를 비롯한 웹 해석에서 이용되는 용어이며, 「캠페인(campaign)」이란 이용자를 배너 광고로부터 광고주의 사이트에 유도하는 것을 목적으로 한 활동, 「세션(session)」이란 이용자가 광고주의 사이트를 방문하고 나서 이탈할 때까지의 일련의 흐름, 「인게이지먼트(engagement)」란 광고의 상품에 대한 이용자의 흥미의 깊이를 나타내는 용어이다.
일례로서, 이벤트 해석 수단(102)은, 8종류의 이벤트(impressions, rotations, light changes, interior view switches, calls to action, zooms(in/out), resets, time­after­actions)가 생성되는 경우, 또한 싱글 세션 중의 모든 인터랙션을 측정한 시간인 인게이지 타임에 있어서의 모든 이벤트의 수를 집계한 값 「interactions」를 이용할 수 있다. 이들 이벤트를 매일, 캠페인마다, 세션마다의 시간 단위로 집계한다. 즉, 해석 결과로서는, 9개의 집계 단위에 대하여 3개의 시간 단위로부터 27종류의 집계 결과가 얻어진다.
(제2 단계의 해석; 조합)
다음으로, 이벤트 해석 수단(102)은, 제2 단계의 해석으로서, 이벤트 이력 정보(112)로부터 개개의 이벤트가 어떠한 조합으로 일어났는지를 추적하여 해석 결과를 얻는다. 예를 들면, 이하의 수학식 1에 나타내는 조합을 이용하여 얻어지는 이벤트의 조합의 종류로부터, 유저가 흥미 있는 것이 선택된다. 여기에서, n은 이벤트의 종류의 수이며, k는 조합으로서 선택된 이벤트의 수이다.
[수학식 1]
일례로서, 이벤트 해석 수단(102)은, 제1 단계의 해석과 동일하게 8종류의 이벤트(impressions, rotations, light changes, interior view switches, calls to action, zooms(in/out), resets, time­after­actions)가 생성되는 경우, 또한 interactions를 이용할 수 있고, 2개의 이벤트의 조합은 36이 되어, 많은 종류의 해석 결과를 얻을 수 있다. 이벤트 해석 수단(102)은, 이들 이벤트의 임의의 조합으로부터 선택된 조합에 대하여, 복수의 이벤트의 조합의 수, 평균, 비율, 비, 코스트 등을 해석 결과로서 출력한다. 해석 결과로서 출력하고, 예를 들면, impressions와 CTA(Calls to Action, 예를 들면, clicks)의 조합이었던 경우, 얻어지는 것은 CTR(the click­through­rate of clicks)이 된다.
(제2 단계의 해석; 순열)
다음으로, 이벤트 해석 수단(102)은, 제2 단계의 해석으로서, 이벤트 이력 정보(112)로부터 개개의 이벤트가 어떠한 순서로 일어났는지를 추적하여 해석 결과를 얻는다. 예를 들면, 이하의 수학식 2에 나타내는 순열을 이용하여 얻어지는 이벤트의 순열의 종류로부터, 유저가 흥미 있는 것이 선택된다. 여기에서, n은 이벤트의 종류의 수이며, k는 순열로서 선택된 이벤트의 수이다.
[수학식 2]
예를 들면, 「impression>choose size 또는 choose color 또는 choose model(순서는 따지지 않는다)>CTA(click)」라는 순열은 6가지 있지만, 이벤트 해석 수단(102)은, 이들 수를 각각 카운트함으로써 이용자(6)가 사이즈, 컬러, 모델 중 어느 것에 가장 흥미가 있는지를 해석 결과로서 출력한다.
또한, 일례로서, 6종류의 이벤트가 생성되는 경우, 순열의 수는 1900보다 많아지지(2종류의 이벤트의 순열은 30, 3종류의 이벤트의 순열은 120, 4종류의 이벤트의 순열은 360, 5종류의 이벤트의 순열은 720, 6종류의 이벤트의 순열은 720이며, 이들의 총합)만, 데이터 해석자 또는 데이터 유저(7)에게 의미가 있는 이벤트의 순서는 빅 데이터의 해석 수법 등을 이용하여 추출해도 된다.
또한, 이벤트 해석 수단(102)은, 조작 후에 경과한 시간 「timer after action」과 impression 후에 경과한 시간 「timer after impression」을 이벤트로서 정의하고 있고(도 21e), 상기한 순열에 시간의 개념을 도입하여 추가로 순열의 수를 확대한다.
그 외에, 이벤트 해석 수단(102)은, 복수의 이벤트의 순열의 수, 평균, 비율, 비, 코스트 등을 해석 결과로서 출력한다.
(제2 단계의 해석; 중복 순열)
다음으로, 이벤트 해석 수단(102)은, 제2 단계의 해석으로서, 이벤트 이력 정보(112)로부터 개개의 이벤트가 중복하여 발생해도 되는 경우이며, 어떠한 순서로 어떠한 빈도로 일어났는지를 추적하여 해석 결과를 얻는다. 예를 들면, 이하의 수학식 3에 나타내는 식을 이용하여 얻어지는 순열의 수로부터, 유저가 흥미 있는 것이 선택된다. 여기에서, n은 이벤트의 종류의 수이며, t는 생성된 인터랙션의 총수이다.
[수학식 3]
또한, 일례로서, 7종류의 이벤트가 생성되고, 5개의 이벤트가 중복 가능하게 발생하는 경우, 중복 순열의 수는 16000가지 이상이 된다. 이벤트의 수에 제한이 없으면 중복 순열의 수는 지수함수적으로 증가한다.
예를 들면, 「impression, rotate start 또는 rotate stop 또는 color change 또는 zoom start 또는 zoom stop 또는 view POI 또는 reset, launch AR mode, spawn object, change lighting effects 또는 change color 또는 rotate start 또는 rotate stop 또는 zoom start 또는 zoom stop」와 같은 중복 순열에 있어서, 이벤트 해석 수단(102)은, 이들 수를 각각 카운트함으로써 이용자(6)가 오브젝트의 어떠한 점에 흥미를 갖고, AR 모드에서 오브젝트를 어떻게 배치하는 것에 흥미가 있는지를 해석 결과로서 출력한다.
그 외에, 이벤트 해석 수단(102)은, 복수의 이벤트의 중복 순열의 수, 평균, 비율, 비, 코스트 등을 해석 결과로서 출력한다.
(3) 해석 결과 출력 동작
정보 처리 장치(1)의 해석 결과 출력 수단(103)은, 단말(3)의 요구에 따라, 해석 결과 정보(113)을 단말(3)에 출력한다(S15). 데이터 해석자 또는 데이터 유저(7)는, 이후에 나타내는 바와 같이, 단말(3)의 표시부에 표시된 해석 결과로부터 광고 효과나 이용자(6)의 행동(취향)의 경향 등을 확인한다.
도 23은, 해석 결과 정보(113)에 근거하여 단말(3)의 표시부에 표시되는 화면의 예를 나타내는 도이다.
해석 결과 표시 화면(113a)은, 제1 단계의 해석에 의하여 얻어진 해석 결과 정보를 표시한 것이며, Impressions, CTAs(Calls to Action), Rotations, Lights changes, View changes, Zooms, Zoom resets, CTR(Click Through Rate), Engagement Rate, Unique Engagement Rate의 천이를 갖는다. 또한, CTA는, 예를 들면, 배너 광고상에서 이용자의 조작을 촉구하는 애니메이션 등의 행동 환기를 위한 처리가 실행된 횟수이거나, 링크가 클릭되어 링크처의 웹사이트로 이동한 횟수 등이다. 또, 이들 표시는, 날짜 단위로 정리된 것이며, 단위 변경 메뉴(113a1)를 변경함으로써 월 단위, 연 단위, 시간 단위, 캠페인 단위, 세션 단위 등으로 정리된다.
도 24는, 해석 결과 정보(113)에 근거하여 단말(3)의 표시부에 표시되는 화면의 예를 나타내는 도이다.
해석 결과 표시 화면(113b)은, 제1 단계의 해석에 의하여 얻어진 해석 결과 정보를 표시한 것이며, 차의 보디 컬러의 색의 분포를 나타내고 있고, 왼쪽부터, 상황을 불문하고 선택된 색의 총수의 비율을 나타내는 Total Changes, 링크가 클릭되었을 때에 선택되어 있던 색의 비율을 나타내는 CTAs, 최종적으로 선택되어 있던 색의 비율을 나타내는 Last Color를 갖는다.
도 25는, 해석 결과 정보(113)에 근거하여 단말(3)의 표시부에 표시되는 화면의 예를 나타내는 도이다.
해석 결과 표시 화면(113c)은, 제2 단계의 해석에 의하여 얻어진 해석 결과 정보를 표시한 것이며, 왼쪽의 Interaction Time vs Impressions와 오른쪽의 Interaction Time vs CTR을 갖는다.
Interaction Time vs Impressions는, (어떤 유저의) 특정 세션에 있어서의 최초의 인터랙션의 타임 스탬프와 최후의 인터랙션의 타임 스탬프 간의 시간에 대한, (전체 유저의) 특정 기간에 있어서의 임프레션의 총수의 분포를 나타내는 것이다. 또한, Interaction Time=0은, Assets loaded의 이벤트를 인터랙션에 카운트하지 않고, 그 후 어떠한 이벤트가 1개만 발생한 경우이다. 그 외의 Interaction Time은, Assets loaded 이외의 복수의 이벤트가 발생하고, 그 최초와 최후의 이벤트의 타임 스탬프의 간격이다.
Interaction Time vs CTR은, (어떤 유저의) 특정 세션에 있어서의 최초의 인터랙션의 타임 스탬프와 최후의 인터랙션의 타임 스탬프 간의 시간에 대한, (전체 유저의) CTR의 분포를 나타내는 것이다. 또한, Interaction Time=0은, Assets loaded의 이벤트를 인터랙션에 카운트하지 않고, 그 후 이벤트 Call to Action(click to website)만 발생한 경우이다. 그 외의 Interaction Time은, Assets loaded 이외의 이벤트가 발생하고, 그 최초의 타임 스탬프와 이벤트 Call to Action(click to website)의 타임 스탬프의 간격이다.
또, 정보 처리 장치(1)의 해석 결과 반영 수단(104)은, 해석 결과 정보(113)에 근거하여 콘텐츠 정보의 내용을 변경하도록 단말(2)에 요구한다(S16).
단말(2)의 미디어 갱신 수단(204)은, 정보 처리 장치(1)의 해석 결과 반영 수단(104)으로부터 요구되는 내용에 따라, 콘텐츠 정보(211)의 색, 모델, 촬영 각도, 배치 각도, 옵션 등의 초기 설정값을 변경한다. 이것은, 예를 들면, 오브젝트의 색의 선택 결과로서 적색이 많았던 경우, 복수의 이용자의 경향을 반영하여, 오브젝트의 초기 설정 컬러를 적색으로 변경하는 등의 대응을 취할 수 있다.
또, 정보 처리 장치(1)의 해석 결과 반영 수단(104)은, 해석 결과 정보(113)에 근거하여 콘텐츠 정보(111)의 내용을 변경해도 된다. 반영하는 해석 결과 정보(113)는 단일의 이용자의 이벤트에 근거하는 것이어도 되고, 복수의 이용자의 이벤트에 근거하는 것이어도 된다.
(실시형태의 효과)
상기한 실시형태에 의하면, 단말에서 표시되는 광고 배너를 조작 가능하게 표시하고, 조작에 근거하여 생성되는 이벤트를 해석하도록 했기 때문에, 이용자에 의하여 조작 가능하게 표시된 콘텐츠에 대하여, 조작 내용으로부터 이용자의 흥미나 행동 경향 등을 해석할 수 있다. 특히, 종래는 배신의 횟수(impressions), 클릭의 유무(CTR) 등 정도의 해석밖에 할 수 없었지만, 이벤트의 조합, 순열, 중복 순열을 이용하도록 했기 때문에, 종래보다 많은 정보를 얻을 수 있음과 함께, 이용자의 흥미나 행동의 경향을 특정하기 위하여 보다 복잡한 조작 내용을 특정하여, 그 횟수, 비율, 평균 등을 해석할 수 있다.
또, 해석 결과를 데이터 해석자 또는 데이터 유저(7)에 그래프나 표를 이용하여 제시할 수 있다. 또, 많은 정보가 얻어지고, 해석 방법이 많으며, 표시 방법도 적절히 변경 가능하기 때문에, 광고주, 광고를 분석하는 사람, 광고업계, 웹 페이지나 애플리케이션을 제작하는 사람, 전자 상거래의 브랜드를 관리하는 사람, 전자 상거래의 사이트를 관리하는 사람, 유통업계의 사람 등의 각각에 맞춘 해석 결과 및 표시 방법을 선택할 수 있다.
또, 특정 유저 또는 복수의 유저를 대상으로 한 해석 결과에 의하여 얻어진 횟수, 비율, 평균 등에 근거하여, 콘텐츠의 색, 모델, 촬영 각도, 배치 각도, 옵션 등의 초기 설정값에 동적으로 반영할 수 있다. 또, 특정 유저의 해석 결과에 근거하여 당해 유저에게 소개하는 제품을 변경하도록 해도 된다. 또, 소개하는 제품은 동일한 광고주의 것이어도 되고, 다른 메이커의 것이어도 된다. 또, 특정 유저 또는 복수의 유저를 대상으로 한 해석 결과에 의하여 얻어진 횟수, 비율, 평균 등에 근거하여, 배너 광고 이외의 광고 매체(인쇄물, 메일 등)의 내용을 변경해도 된다.
상기한 이용자의 흥미를 해석하는 방법으로서, 예를 들면, A/B 테스트를 실시할 수 있다. 종래의 A/B 테스트는, 2개의 비교 대상을 이용자에게 제시할 필요가 있었기 때문에, 적어도 2회의 impression이 필요했지만, 1개의 콘텐츠 내에 복수의 색, 모델, 촬영 각도 등의 A/B 쌍방을 도입할 수 있기 때문에, 복수의 조건을 제시하는 데 1개의 콘텐츠만 배신하면 되므로, 1회의 impression으로 얻어지는 정보량이 많아진다. 즉, 1개의 콘텐츠 내에서 A/B 테스트가 가능하다.
또, 해석 결과를 출력하는 변형예로서, 예를 들면, 특정 유저의 해석 결과에 근거하여 당해 유저가 구입을 희망하고 있는 사양의 제품을 재고로 보유하고 있는 점포를 소개할 수 있다. 또, 복수의 유저의 해석 결과를 제조업자에게 송부함으로써, 복수의 유저가 구입을 희망하고 있는 사양의 제품의 제조수를 늘리거나, 구입 희망자가 많이 있는 지역에 당해 사양의 제품을 배송하도록 하거나 할 수 있다.
또, 해석 결과를 출력하는 변형예로서, 예를 들면, 복수의 유저의 해석 결과에 근거하여 어떤 종류의 규칙성을 갖는 일련의 이벤트가 검출되는 경우, 당해 일련의 이벤트를 생성한 유저를 봇(단순한 반복 태스크를 수행하는 소프트웨어)으로서 특정할 수 있고, 당해 봇에 의하여 생성되는 이벤트를 집계로부터 제외하는 등의 대응을 행할 수 있다.
또, 해석 결과를 출력하는 변형예로서, 예를 들면, 해석 결과는 임프레션뿐만 아니라 오브젝트의 조작에 의하여 생성된 이벤트에 근거하는 것이기 때문에, 조작을 수반하는 일련의 이벤트만을 선택함으로써, 유저가 배너 광고를 본 것을 보증한 수치를 해석 결과로서 출력할 수 있다.
종래의 배너 광고의 평가 방법으로서는 임프레션이나 클릭 또는 이들에 근거하는 수치(CTR 등)뿐이었기 때문에, 데이터 해석자 또는 데이터 유저(7)가 지불하는 비용은 임프레션의 수에 근거한 것인 경우가 많았지만, 본원 발명이라면 배너 광고를 인게이지먼트에 근거하여 평가할 수 있기 때문에, 데이터 해석자 또는 데이터 유저(7)가 지불하는 비용은 광고 효과에 입각한 것으로 할 수 있다.
[다른 실시형태]
또한, 본 발명은, 상기 실시형태에 한정되지 않고, 본 발명의 취지를 벗어나지 않는 범위에서 다양한 변형이 가능하다.
상기 실시형태에서는 제어부(10)의 각 수단(100~104, 200~204)의 기능을 프로그램으로 실현했지만, 각 수단의 전부 또는 일부를 ASIC 등의 하드웨어에 의하여 실현해도 된다. 또, 상기 실시형태에서 이용한 프로그램을 CD-­ROM 등의 기록 매체에 기억하여 제공할 수도 있다. 또, 상기 실시형태에서 설명한 상기 스텝의 교체, 삭제, 추가 등은 본 발명의 요지를 변경하지 않는 범위 내에서 가능하다.
<본 개시의 정리>
이하에 본 개시의 정리로서 몇 개의 실시예를 부기(付記)한다.
(개시 1-1)
서버로부터 클라이언트로, 3D 오브젝트를 송신하는 방법으로서, 상기 서버상의 상기 3D 오브젝트로부터 컬러 정보, 알파 정보 및 지오메트리 정보를 추출하는 것과, 상기 지오메트리 정보를 단순화하는 것과, 상기 서버로부터 상기 클라이언트로, 상기 컬러 정보, 상기 알파 정보 및 상기 단순화된 지오메트리 정보를 포함하는 스트림을 부호화하여 송신하는 것을 포함하는, 본 개시에 의한 방법.
(개시 1-2)
상기 지오메트리 정보를 단순화하는 것은, 상기 3D 오브젝트로부터 추출된 점군으로부터 삼각형의 꼭짓점의 정보로 변환하는 것인, 본 개시에 의한 방법.
(개시 1-3)
상기 스트림은, 메타데이터, 사운드 데이터, 및 커맨드 중 적어도 1개를 더 포함하는, 본 개시에 의한 방법.
(개시 1-4)
상기 서버가, 상기 클라이언트로부터, 상기 서버상의 3D 오브젝트를 개서하는 커맨드를 수신하는, 본 개시에 의한 방법.
(개시 1-5)
상기 서버가 상기 클라이언트로부터 3D 오브젝트를 개서하는 커맨드를 수신한 경우, 상기 서버는 상기 서버상의 3D 오브젝트를 개서하고, 상기 개서한 3D 오브젝트로부터 상기 컬러 정보, 상기 알파 정보 및 상기 지오메트리 정보를 추출하며, 상기 지오메트리 정보를 단순화하고, 상기 서버로부터 상기 클라이언트로 상기 컬러 정보, 상기 알파 정보 및 상기 단순화된 지오메트리 정보를 포함하는 스트림을 부호화하여 송신하는, 본 개시에 의한 방법.
(개시 1-6)
상기 컬러 정보 및 상기 알파 정보는, RGB 카메라로 취득되고, 상기 지오메트리 정보는, 뎁스 카메라로 취득되는, 본 개시에 의한 방법.
(개시 1-7)
서버상에 있는 3D 오브젝트를 클라이언트상에서 재현하는 방법으로서, 상기 서버로부터 상기 3D 오브젝트의 컬러 정보, 알파 정보 및 지오메트리 정보를 포함하는 부호화된 스트림을 수신하는 것과, 상기 스트림을 복호하고, 거기로부터 상기 컬러 정보, 상기 알파 정보 및 상기 지오메트리 정보를 추출하는 것과, 상기 지오메트리 정보에 근거하여 상기 3D 오브젝트의 형상을 재현하는 것과, 상기 재현된 3D 오브젝트의 형상 위에, 상기 컬러 정보와 상기 알파 정보를 합성한 정보를 투영함으로써 상기 3D 오브젝트를 재구성하는 것을 포함하는, 본 개시에 의한 방법.
(개시 1-8)
상기 재구성된 3D 오브젝트를 표시 장치 상에 표시하는, 본 개시에 의한 방법.
(개시 1-9)
상기 표시 장치가 스마트 글래스인, 본 개시에 의한 방법.
(개시 1-10)
1개 이상의 프로세서 및 메모리를 포함하는 서버로서, 상기 1개 이상의 프로세서가, 상기 메모리에 기억된 명령을 실행함으로써, 상기 서버상의 3D 오브젝트로부터 알파 정보 및 지오메트리 정보를 추출하고, 상기 지오메트리 정보를 단순화하며, 상기 서버로부터 클라이언트로, 상기 알파 정보 및 상기 단순화된 지오메트리 정보를 포함하는 스트림을 부호화하여 송신하는, 본 개시에 의한 서버.
(개시 1-11)
1개 이상의 프로세서 및 메모리를 포함하는 클라이언트로서, 상기 1개 이상의 프로세서가, 상기 메모리에 기억된 명령을 실행함으로써, 서버로부터 3D 오브젝트의 컬러 정보, 알파 정보 및 지오메트리 정보를 포함하는 부호화된 스트림을 수신하고, 상기 스트림을 복호하여, 거기로부터 상기 컬러 정보, 상기 알파 정보 및 상기 지오메트리 정보를 추출하며, 상기 지오메트리 정보에 근거하여 상기 3D 오브젝트의 형상을 재현하고, 상기 재현된 3D 오브젝트의 형상 위에, 상기 컬러 정보와 상기 알파 정보를 합성한 정보를 투영함으로써 상기 3D 오브젝트를 재구성하는, 본 개시에 의한 클라이언트.
(개시 1-12)
본 개시에 의한 상기 방법을 프로세서에 의하여 실행하기 위한 명령을 포함하는, 프로그램.
(개시 2-1)
컴퓨터를,
단말에서 콘텐츠 정보가 실행되어 표시 처리되고, 단말에서 접수한 조작에 근거하여 당해 표시 처리된 콘텐츠 정보의 표시가 변화한 결과 발생하는 이벤트를 수신하여 시계열과 함께 이벤트 이력 정보로서 저장하는 이벤트 수신 수단과,
상기 이벤트 이력 정보의 임의의 이벤트의 빈도, 합, 평균, 차, 승산값, 비율, 비, 적분값, 미분값 및 이들의 조합 중 적어도 1개를 이용하여 상기 단말에서 접수한 조작 내용을 해석하는 해석 수단과,
상기 해석 수단의 해석 결과를 출력하는 해석 결과 출력 수단으로서 기능시키는 이벤트 해석 프로그램.
(개시 2-2)
상기 해석 수단은, 상기 이벤트 이력 정보의 조합을 이용하여 상기 단말에서 접수한 조작 내용을 해석하는 개시 2-1에 기재된 이벤트 해석 프로그램.
(개시 2-3)
상기 해석 수단은, 상기 이벤트 이력 정보의 순열을 이용하여 상기 단말에서 접수한 조작 내용을 해석하는 개시 2-1 또는 2-2에 기재된 이벤트 해석 프로그램.
(개시 2-4)
상기 해석 수단은, 상기 이벤트 이력 정보의 중복 순열을 이용하여 상기 단말에서 접수한 조작 내용을 해석하는 개시 2-1 내지 2-3 중 어느 하나에 기재된 이벤트 해석 프로그램.
(개시 2-5)
상기 해석 결과 출력 수단은, 상기 해석 결과를 상기 단말에 출력하고, 상기 단말에서 실행되는 콘텐츠 정보의 표시를 상기 해석 결과에 근거하여 변경하는 개시 2-1 내지 2-4 중 어느 하나에 기재된 이벤트 해석 프로그램.
(개시 2-6)
단말에서 콘텐츠 정보가 실행되어 표시 처리되고, 단말에서 접수한 조작에 근거하여 당해 표시 처리된 콘텐츠 정보의 표시가 변화한 결과 발생하는 이벤트를 수신하여 시계열과 함께 이벤트 이력 정보로서 저장하는 이벤트 수신 수단과,
상기 이벤트 이력 정보의 임의의 이벤트의 빈도, 합, 평균, 차, 승산값, 비율, 비, 적분값, 미분값 및 이들의 조합 중 적어도 1개를 이용하여 상기 단말에서 접수한 조작 내용을 해석하는 해석 수단과,
상기 해석 수단의 해석 결과를 출력하는 해석 결과 출력 수단을 갖는 정보 처리 장치.
(개시 2-7)
콘텐츠 정보를 실행하여 표시 처리하고, 접수한 조작에 근거하여 당해 표시 처리한 상기 콘텐츠 정보의 표시를 변화시키며, 표시가 변화한 결과 발생하는 이벤트를 출력하는 단말과,
상기 단말로부터 상기 이벤트를 수신하여 시계열과 함께 이벤트 이력 정보로서 저장하는 이벤트 수신 수단과, 상기 이벤트 이력 정보의 임의의 이벤트의 빈도, 합, 평균, 차, 승산값, 비율, 비, 적분값, 미분값 및 이들의 조합 중 적어도 1개를 이용하여 상기 단말에서 접수한 조작 내용을 해석하는 해석 수단과, 상기 해석 수단의 해석 결과를 출력하는 해석 결과 출력 수단을 갖는 정보 처리 장치를 구비하는 시스템.
(개시 2-8)
컴퓨터를,
콘텐츠 정보를 실행하여 표시 처리하고, 접수한 조작에 근거하여 당해 표시 처리된 콘텐츠 정보의 표시를 변화시키며, 표시가 변화한 결과 발생하는 이벤트를 시계열과 함께 이벤트 이력 정보로서 송신하는 이벤트 송신 수단과,
상기 이벤트 이력 정보의 임의의 이벤트의 빈도, 합, 평균, 차, 승산값, 비율, 비, 적분값, 미분값 및 이들의 조합 중 적어도 1개를 이용하여 접수한 조작 내용을 해석한 결과인 해석 결과를 상기 이벤트 이력 정보의 송신처로부터 수신하여, 당해 해석 결과에 근거하여 상기 콘텐츠 정보의 내용을 갱신하는 갱신 수단으로서 기능시키는 이벤트 해석 프로그램.
(개시 2-9)
콘텐츠 정보를 실행하여 표시 처리하고, 접수한 조작에 근거하여 당해 표시 처리된 콘텐츠 정보의 표시를 변화시키며, 표시가 변화한 결과 발생하는 이벤트를 시계열과 함께 이벤트 이력 정보로서 송신하는 이벤트 송신 수단과,
상기 이벤트 이력 정보의 임의의 이벤트의 빈도, 합, 평균, 차, 승산값, 비율, 비, 적분값, 미분값 및 이들의 조합 중 적어도 1개를 이용하여 접수한 조작 내용을 해석한 결과인 해석 결과를 상기 이벤트 이력 정보의 송신처로부터 수신하여, 당해 해석 결과에 근거하여 상기 콘텐츠 정보의 내용을 갱신하는 갱신 수단을 갖는 정보 처리 장치.
본 개시는 소프트웨어, 하드웨어, 또는, 하드웨어와 연계한 소프트웨어로 실현하는 것이 가능하다.
2021년 3월 9일 출원된 특원 2021-037507의 일본 출원에 포함되는 명세서, 도면 및 요약서의 개시 내용은, 모두 본원에 원용된다.
1 정보 처리 장치
2 단말
3 단말
4 네트워크
5 정보 처리 시스템
6 이용자
7 광고주
10 제어부
11 기억부
12 통신부
20 제어부
21 기억부
22 표시부
23 조작부
24 촬상부
25 통신부
100 콘텐츠 배신 수단
101 이벤트 수신 수단
102 이벤트 해석 수단
103 해석 결과 출력 수단
104 해석 결과 반영 수단
110 이벤트 해석 프로그램
111 콘텐츠 정보
112 이벤트 이력 정보
113 해석 결과 정보
200 콘텐츠 수신 수단
201 콘텐츠 표시 수단
202 콘텐츠 조작 접수 수단
203 이벤트 송신 수단
204 미디어 갱신 수단
210 이벤트 해석 프로그램
211 콘텐츠 정보
212 이벤트 이력 정보
1-100 서버
1-101 수신 데이터 처리 유닛
1-102 3D 씬 데이터 생성 유닛
1-103 추출 유닛
1-104 3D 스트림 변환/부호화 유닛
1-105 3D 스트림
1-106 네트워크 패킷 구성 유닛
1-107 네트워크 패킷 전송 유닛
1-108 네트워크 패킷 수신 유닛
1-120 유선 또는 무선 네트워크
1-150 클라이언트
1-150-1 클라이언트
1-150-2 클라이언트
1-151 네트워크 패킷 전송 유닛
1-152 네트워크 패킷 수신 유닛
1-153 앱 데이터 출력 유닛
1-154 3D 스트림 복호 유닛
1-155 3D 씬 재구성 유닛
1-156 표시 유닛
602 표시부
603 입출력부
604 메모리
605 네트워크 인터페이스
606 기억 장치
607 버스
703 입출력부
704 메모리
705 네트워크 인터페이스
706 기억 장치
707 버스
1201 화면
1202 사람
1203 컨테이너 스트림
1210 스마트 글래스
1211-1 사람
1211-2 사람
1212-1 커서
1212-2 커서
1213 커맨드
1214 사람
1221 단말 장치
1521~1526 뎁스 카메라
1530 RGB 카메라

Claims (11)

  1. 클라이언트가 수신한 유저에 의한 입력을 서버상에서 해석하는 방법으로서,
    상기 서버로부터 상기 클라이언트로, 상기 클라이언트에서 표시하는 콘텐츠를 송신하는 것과,
    상기 콘텐츠의 표시 중의 상기 클라이언트에 대한 유저에 의한 입력 정보를 상기 클라이언트로부터 수신하는 것과,
    상기 클라이언트로부터 수신한 유저에 의한 입력 정보를 해석하는 것과,
    상기 해석의 결과에 근거하여 상기 클라이언트에서 표시하는 상기 콘텐츠를 변경하는 것과,
    상기 변경된 콘텐츠를 상기 클라이언트에 송신하는 것
    을 포함하는 방법.
  2. 제1항에 있어서,
    상기 콘텐츠가, 3D 오브젝트를 포함하며,
    상기 서버는, 상기 3D 오브젝트를 상기 클라이언트로 송신할 때에, 상기 3D 오브젝트로부터 컬러 정보, 알파 정보 및 지오메트리 정보를 추출하고, 상기 지오메트리 정보를 단순화하며, 상기 컬러 정보, 상기 알파 정보 및 상기 단순화된 지오메트리 정보를 스트림으로서 부호화하여 상기 클라이언트로 송신하는, 방법.
  3. 제1항에 있어서,
    상기 콘텐츠는, 3차원 이상의 공간, 확장 현실, 가상 현실, 복합 현실, 대체 현실 또는 익스텐디드 리얼리티상의 콘텐츠인, 방법.
  4. 제1항에 있어서,
    상기 콘텐츠는, 2차원, 3차원, 또는 4차원 이상의 차원에서 생성되는, 방법.
  5. 제1항에 있어서,
    상기 유저에 의한 입력 정보는, 그 입력이 행해진 시간의 정보를 포함하고,
    상기 서버는, 상기 유저에 의한 입력 정보 및 상기 입력된 시간의 정보를 축적하여, 해석하는, 방법.
  6. 제1항에 있어서,
    상기 유저에 의한 입력 정보는, 그 입력이 행해진 시간의 정보 및 그 입력에 의하여 발생하는 이벤트의 정보를 포함하는, 방법.
  7. 제6항에 있어서,
    상기 서버는, 상기 유저에 의한 입력 정보 및 상기 이벤트의 정보를 해석함으로써, 상기 해석의 결과에 근거하여 상기 클라이언트에서 표시하는 콘텐츠를 변경하는, 방법.
  8. 클라이언트가 수신한 유저에 의한 입력을 서버상에서 해석하는 서버로서, 상기 서버는, 1개 이상의 프로세서 및 메모리를 포함하고,
    상기 서버가,
    상기 서버로부터 상기 클라이언트로, 상기 클라이언트에서 표시하는 콘텐츠를 송신하며,
    상기 콘텐츠의 표시 중의 상기 클라이언트에 대한 유저에 의한 입력 정보를 상기 클라이언트로부터 수신하고,
    상기 클라이언트로부터 수신한 유저에 의한 입력 정보를 해석하며,
    상기 해석의 결과에 근거하여 상기 클라이언트에서 표시하는 상기 콘텐츠를 변경하고,
    상기 변경된 콘텐츠를 상기 클라이언트에 송신하도록 구성되는, 서버.
  9. 콘텐츠를 클라이언트상에서 표시하는 방법으로서, 상기 콘텐츠는, 서버로부터 수신한 콘텐츠를 포함하고,
    상기 방법은,
    상기 클라이언트에서 표시하는 콘텐츠를 상기 서버로부터 수신하는 것과,
    상기 콘텐츠의 표시 중의 상기 클라이언트에 대한 유저에 의한 입력 정보를 상기 서버에 송신하는 것과,
    상기 입력 정보에 대한 상기 서버에서의 해석의 결과에 근거하여 변경된 상기 콘텐츠를 수신하는 것과,
    상기 변경된 콘텐츠를 상기 클라이언트상에서 표시하는 것
    을 포함하는, 방법.
  10. 콘텐츠를 표시하는 클라이언트로서, 상기 콘텐츠는, 서버로부터 수신한 콘텐츠를 포함하고,
    상기 클라이언트는, 1개 이상의 프로세서 및 메모리를 포함하며,
    상기 클라이언트가,
    상기 클라이언트에서 표시하는 콘텐츠를 상기 서버로부터 수신하고,
    상기 콘텐츠의 표시 중의 상기 클라이언트에 대한 유저에 의한 입력 정보를 상기 서버에 송신하며,
    상기 입력 정보에 대한 상기 서버에서의 해석의 결과에 근거하여 변경된 상기 콘텐츠를 수신하고,
    상기 변경된 콘텐츠를 상기 클라이언트상에서 표시하도록 구성된, 클라이언트.
  11. 제1항 내지 제7항 및 제9항 중 어느 한 항에 기재된 방법을 프로세서에 의하여 실행하기 위한 명령을 포함하는, 프로그램.
KR1020237034137A 2021-03-09 2022-03-08 3d 오브젝트에 관한 유저 입력의 해석 방법, 장치, 및 프로그램 KR20230153469A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2021037507A JP2022137826A (ja) 2021-03-09 2021-03-09 3dオブジェクトのストリーミング方法、装置、及びプログラム
JPJP-P-2021-037507 2021-03-09
PCT/JP2022/010053 WO2022191200A1 (ja) 2021-03-09 2022-03-08 3dオブジェクトに関するユーザ入力の解析方法、装置、及びプログラム

Publications (1)

Publication Number Publication Date
KR20230153469A true KR20230153469A (ko) 2023-11-06

Family

ID=83226770

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020237034135A KR20230153467A (ko) 2021-03-09 2021-04-21 3d 오브젝트의 스트리밍 방법, 장치, 및 프로그램
KR1020237034136A KR20230153468A (ko) 2021-03-09 2022-03-04 3d 오브젝트의 스트리밍 방법, 장치, 및 프로그램
KR1020237034137A KR20230153469A (ko) 2021-03-09 2022-03-08 3d 오브젝트에 관한 유저 입력의 해석 방법, 장치, 및 프로그램

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020237034135A KR20230153467A (ko) 2021-03-09 2021-04-21 3d 오브젝트의 스트리밍 방법, 장치, 및 프로그램
KR1020237034136A KR20230153468A (ko) 2021-03-09 2022-03-04 3d 오브젝트의 스트리밍 방법, 장치, 및 프로그램

Country Status (6)

Country Link
US (3) US20230401785A1 (ko)
EP (3) EP4290465A1 (ko)
JP (3) JP2022137826A (ko)
KR (3) KR20230153467A (ko)
CN (3) CN117043824A (ko)
WO (3) WO2022190398A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW202143721A (zh) * 2020-05-06 2021-11-16 法商內數位Ce專利控股公司 具有阿爾法層的3d場景傳輸
JP2024075939A (ja) * 2022-11-24 2024-06-05 キヤノン株式会社 電子機器および電子機器の制御方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005259097A (ja) 2004-03-15 2005-09-22 Katsunori Kondo 3次元cgインタラクティブバナー
JP2009140109A (ja) 2007-12-05 2009-06-25 Michiya Sato 情報処理装置および情報処理方法
KR20100134494A (ko) 2009-06-15 2010-12-23 엘지전자 주식회사 발광 다이오드 패키지 및 이를 포함하는 백라이트 유닛과 디스플레이장치

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09200599A (ja) * 1996-01-22 1997-07-31 Sanyo Electric Co Ltd 画像撮影方法
JP4229398B2 (ja) * 2003-03-28 2009-02-25 財団法人北九州産業学術推進機構 3次元モデリング・プログラム、3次元モデリング制御プログラム、3次元モデリング・データ伝送プログラム、記録媒体および3次元モデリング方法
US20100134494A1 (en) 2008-12-02 2010-06-03 Electronics And Telecommunications Research Institute Remote shading-based 3d streaming apparatus and method
EP2461587A1 (en) * 2010-12-01 2012-06-06 Alcatel Lucent Method and devices for transmitting 3D video information from a server to a client
US8314790B1 (en) * 2011-03-29 2012-11-20 Google Inc. Layer opacity adjustment for a three-dimensional object
JP5864474B2 (ja) * 2013-05-01 2016-02-17 株式会社ディジタルメディアプロフェッショナル 空間を分割してグラフィックスを処理する画像処理装置及び画像処理方法
CN110891659B (zh) * 2017-06-09 2021-01-29 索尼互动娱乐股份有限公司 对注视点渲染系统中的粒子和模拟模型的优化的延迟照明和中心凹调适
US11282265B2 (en) * 2017-06-29 2022-03-22 Sony Corporation Image processing apparatus and image processing method for transmitting data of a 3D model
EP3675060A4 (en) * 2017-08-22 2020-08-26 Sony Corporation IMAGE PROCESSING DEVICE AND IMAGE PROCESSING METHOD
US11290758B2 (en) * 2017-08-30 2022-03-29 Samsung Electronics Co., Ltd. Method and apparatus of point-cloud streaming
JP6778163B2 (ja) * 2017-08-31 2020-10-28 Kddi株式会社 オブジェクト情報の複数面への投影によって視点映像を合成する映像合成装置、プログラム及び方法
EP3462415A1 (en) * 2017-09-29 2019-04-03 Thomson Licensing Method and device for modifying attributes of points of a 3d scene
JP7277372B2 (ja) * 2017-10-27 2023-05-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元モデル符号化装置、三次元モデル復号装置、三次元モデル符号化方法、および、三次元モデル復号方法
US10529129B2 (en) * 2018-04-20 2020-01-07 Hulu, LLC Dynamic selection mechanism for interactive video
JP7389028B2 (ja) * 2018-06-12 2023-11-29 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US10497180B1 (en) * 2018-07-03 2019-12-03 Ooo “Ai-Eksp” System and method for display of augmented reality
KR20210029187A (ko) * 2018-07-13 2021-03-15 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치
WO2020050222A1 (ja) * 2018-09-07 2020-03-12 シャープ株式会社 画像再生装置、画像生成装置、画像生成方法、制御プログラム及び記録媒体
WO2020145668A1 (ko) * 2019-01-08 2020-07-16 삼성전자주식회사 3차원 컨텐츠의 처리 및 전송 방법
JP2020113094A (ja) * 2019-01-15 2020-07-27 株式会社シーエスレポーターズ 拡張現実空間に配置される3dオブジェクトを生成する方法
JP6647433B1 (ja) * 2019-02-19 2020-02-14 株式会社メディア工房 点群データ通信システム、点群データ送信装置および点群データ送信方法
JP7500896B2 (ja) 2019-08-29 2024-06-18 日本国土開発株式会社 濾過用カートリッジ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005259097A (ja) 2004-03-15 2005-09-22 Katsunori Kondo 3次元cgインタラクティブバナー
JP2009140109A (ja) 2007-12-05 2009-06-25 Michiya Sato 情報処理装置および情報処理方法
KR20100134494A (ko) 2009-06-15 2010-12-23 엘지전자 주식회사 발광 다이오드 패키지 및 이를 포함하는 백라이트 유닛과 디스플레이장치

Also Published As

Publication number Publication date
JP2022137826A (ja) 2022-09-22
CN117121493A (zh) 2023-11-24
KR20230153467A (ko) 2023-11-06
US20240169595A1 (en) 2024-05-23
WO2022190398A1 (ja) 2022-09-15
JP7430411B2 (ja) 2024-02-13
JP2022138158A (ja) 2022-09-22
US20230401785A1 (en) 2023-12-14
US20240177354A1 (en) 2024-05-30
WO2022191070A1 (ja) 2022-09-15
EP4290465A1 (en) 2023-12-13
EP4290868A1 (en) 2023-12-13
CN117043824A (zh) 2023-11-10
KR20230153468A (ko) 2023-11-06
CN117063473A (zh) 2023-11-14
EP4290869A1 (en) 2023-12-13
JP2024045258A (ja) 2024-04-02
WO2022191200A1 (ja) 2022-09-15

Similar Documents

Publication Publication Date Title
JP4901261B2 (ja) 高品質なユーザーインターフェイスによる効率的な遠隔表示を行なうシステム
JP6111440B2 (ja) ユーザインターフェースを符号化する方法
US9240070B2 (en) Methods and systems for viewing dynamic high-resolution 3D imagery over a network
CN105765990B (zh) 通过分布式网络分布视频内容的方法、系统及计算机介质
US10965783B2 (en) Multimedia information sharing method, related apparatus, and system
CN109644294B (zh) 一种直播分享的方法、相关设备及系统
CN111414225B (zh) 三维模型远程展示方法、第一终端、电子设备及存储介质
US8117275B2 (en) Media fusion remote access system
US20100045662A1 (en) Method and system for delivering and interactively displaying three-dimensional graphics
CN111277890B (zh) 虚拟礼物的获取方法和三维全景直播间的生成方法
WO2022191200A1 (ja) 3dオブジェクトに関するユーザ入力の解析方法、装置、及びプログラム
KR20210095160A (ko) 내비게이션 가능한 가상 공간에서 렌더링되는 3차원 디스플레이 대상들을 통하여 2차원 콘텐츠의 표현을 통한 사용자 인터페이스를 제공하도록 구성되는 기술
CN114245228B (zh) 页面链接投放方法、装置及电子设备
JP7496558B2 (ja) コンピュータプログラム、サーバ装置、端末装置、及び方法
JP2023548143A (ja) メディアストリームの動的なユーザデバイスアップスケーリング
WO2024021353A1 (zh) 直播间展示方法、装置、电子设备及存储介质
JP7447266B2 (ja) ボリュメトリック画像データに関するビューの符号化及び復号
KR102420089B1 (ko) 이미지 인식 기반의 증강현실 컨텐츠 제공 장치 및 방법
JP2022184842A (ja) コンピュータプログラム、方法、及び、サーバ装置
WO2023169089A1 (zh) 一种视频播放方法、装置、电子设备、介质和程序产品
Stamm Assessing Image Quality Impact of View Bypass in Cloud Rendering
KR20240052837A (ko) 몰입형 미디어를 위한 스트리밍 장면 우선순위화기
WO2024196419A1 (en) Devices, systems, and methods for virtually enhancing a real-time feed of a live event
CN118229377A (zh) 融合微信小程序商城与云游戏的互动式购物体验搭建方法
CN115866008A (zh) 扩展现实数据渲染方法以及系统