KR19980035726A - 가상 현실 시스템의 파노라믹 이미지 생성 방법 및 그 장치 - Google Patents

가상 현실 시스템의 파노라믹 이미지 생성 방법 및 그 장치 Download PDF

Info

Publication number
KR19980035726A
KR19980035726A KR1019960054143A KR19960054143A KR19980035726A KR 19980035726 A KR19980035726 A KR 19980035726A KR 1019960054143 A KR1019960054143 A KR 1019960054143A KR 19960054143 A KR19960054143 A KR 19960054143A KR 19980035726 A KR19980035726 A KR 19980035726A
Authority
KR
South Korea
Prior art keywords
panoramic image
image
codebook
generating
frame
Prior art date
Application number
KR1019960054143A
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 배순훈
Priority to KR1019960054143A priority Critical patent/KR19980035726A/ko
Publication of KR19980035726A publication Critical patent/KR19980035726A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/008Vector quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 가상 현실 시스템(VR : Virtual Reality System)에 관한 것으로, 특히 파노라믹 이미지(panoramic image)를 압축기법을 이용하여 생성하는 파노라믹 이미지 생성기에 관한 것으로서, 프레임별로 구분되어 각각 저장된 영상을 라인순서 대로 다시 재배열하여 하나의 파노라믹 이미지를 생성하는 제 1 과정과; 상기 제 1 과정의 파노라믹 이미지에 대해 벡터 양자화를 실시하여 코드워드와 코드북을 생성하여 메모리에 저장하는 제 2 과정을 포함하여 구성되는 것을 특징으로하는 가상 현실 시스템의 파노라믹 이미지 생성 방법과, 영상 데이터 저장수단(60)과; 단일 파노라믹 이미지를 생성해주는 파노라믹 이미지 생성수단(61); 코드북과 코드워드를 생성하는 VQ 처리 수단(62); 파노라믹 이미지 저장수단(63); 렌더링 및 텍스춰 매핑하여 RGB영상신호를 출력하는 3차원 그래픽처리부(64-1, 64-2); 신호변환기(65-1, 65-2); 영상표시 및 움직임 검출 수단(66); 위치 및 방향 추적기(67); 및 시야각 계산부(68)로 구성된 가상 현실 시스템의 파노라믹 이미지 생성 장치를 통해서, 단일 파노라믹 이미지를 생성하고, 벡터 양자화하여 메모리 소비를 효과적으로 줄이며, 인덱스만 전송하면 되기 때문에 빠른 전송속도를 갖는 효과가 있다.

Description

가상 현실 시스템의 파노라믹 이미지 생성 방법 및 그 장치 ( A method of panoramic images generating in a Virtual Reality system and thereof an apparatus)
본 발명은 가상 현실 시스템(VR : Virtual Reality System)에 관한 것으로, 특히 파노라믹 이미지(panoramic image)를 압축기법을 이용하여 생성하는 파노라믹 이미지 생성방법 및 장치에 관한 것이다.
가상 현실시스템은 우리가 직접 경험할 수 없고 미완성 또는 존재하지 않은 가상상황을 마치 실제 상황인 것처럼 느낄 수 있도록 생생하게 보여주고, 사용자로 하여금 그 속에서 원하는 행동을 자유롭게 할 수 있도록 하여 많은 지식과 체험을 얻을 수 있게 하는 것으로, 컴퓨터기술과 영상기술을 기반으로 구현된다. 기존 컴퓨터가 2차원의 사용환경을 윈도우(window) 형태로 제공하고, 사용자를 관찰자 또는 국외자로 대하는 방법과는 달리 가상현실(VR)은 3차원의 사용환경(가상세계)을 사용자에게 제공하여 자신이 가상세계 속에 있는 것처럼 느끼고, 가상현실에 나타나는 물체들을 직접 조작할 수 있도록 해준다. 이와 같은 차이로 인해 가상현실(VR)기술을 이용하면 기존의 정보제공방식 및 상호작용방식으로는 제공하기 어려운 생생한 지식과 체험을 가능하게 하기 때문에 교육/훈련, 오락/문화, 과학/의학, 설계/제조, 통신, 국방등 다양한 분야에서 방대한 새로운 시장을 창출할 수 있을 것으로 기대된다.
이러한 가상현실(VR)은 보는 관점에 따라 가상환경(Virtual Environment), 가상존재(Virtual Presence), 인공세계(Artifical World), 가상세계(Virtual World), 사이버스페이스(Cyberspace)와 같은 용어로 혼용하고 있으나, 일반적으로 컴퓨터가 만들어낸 실세계와 유사한 3차원 가상세계를 사용자에게 제공하고, 그 가상세계와 실시간으로 자유롭게 조작할 수 있는 입력수단과 사용자의 조작에 대응하여 실제적인 감각을 제공하는 감각궤환(Sensory feedback)수단을 제공하므로써 인공적인 체험과 경험을 할 수 있도록 해주는 기술이라 할 수 있다.
이와 같은 가상현실(VR)시스템은 효과 발생기(Effectors)와, 리얼리티 엔진(Reality Engine), 어플리케이션(Application), 입체모델(Geometry)로 구성되며, 각각의 정의해보면 다음과 같이 설명된다.
효과 발생기(Effectors)는 일종의 하드웨어로 가상 환경을 제어하기 위한 입출력 센서와 장치들을 뜻한다.
리얼리티 엔진(Reality Engine)은 효과 발생기에 필요한 감각 정보를 전달하는 신시사이저(synthesizing)등과 같은 외부적 하드웨어들로서, 현실감 엔진을 구성한다.
어플리케이션(Application)은 시뮬레이션과 그 동력, 구조, 객체와 사용자간의 상호 작용들의 짜임새를 묘사하는 소프트웨어를 말한다.
그리고, 입체 모델(Geometry)은 객체의 속성 즉, 형상, 색, 위치 등에 관한 축적된 3D 모델 데이터 베이스를 말한다. 이것은 집의 형태나 위치, 구조, 색깔을 묘사하고 이 정보는 어플리케이션에 의해 처리되어 가상 세계의 창조에 사용된다.
예로서 도 1에 도시된 바와 같이, 효과발생기(Effectors)는 사용자가 쓰고 가상현실의 세계를 시청각으로 경험하기 위한 헤드 마운티드 디스플레이(HMD:1)와, 송신기(2), 조이스틱(3) 등으로 이루어져 있다. 그리고, HMD(1)는 사용자의 머리방향을 검출하기 위한 센서(1-1), 입체음향을 제공하기 위한 좌우측 스피커, 영상을 디스플레이해 주는 좌우측 LCD, 광학렌즈 등을 포함하고 있다.
그리고, 리얼리티 엔진(reality engine)은 컴퓨터 시스템 내부에 존재하는 하드웨어로 제 1 3D 그래픽보드(4), 제2 3D 그래픽보드(5), 3D 사운드 보드(6), 사운드 소스(7), 통신포트(8), 컴퓨터 인터페이스보드(9)가 있고, 컴퓨터 외부에 존재하는 하드웨어로 제1 3D 그래픽보드의 RGB 신호를 NTSC방식의 TV신호로 변환하는 제1 신호변환기(10), 제2 3D 그래픽보드의 RGB 신호를 NTSC방식의 TV신호로 변환하는 제2 신호변환기(11) 및 위치 및 방향 추적기(12)로 구성되어 있다.
그리고, 어플리케이션(Application)은 사용자 응용 소프트웨어를 저장하고 있는 메모리(13)와, 가상세계를 시뮬레이션하기위한 시뮬레이션 메니저(14)로 구성되어 있다.
그리고, 입체 모델(Geometry)은 가상 현실의 각각의 객체를 3차원 모델링 구축을 위한 데이터베이스가 저장되어 하드디스크(15)로 구성되어 있다.
이와 같은 시스템은 사용자의 머리 움직임을 송신기(2), 센서(1-1), 및 위치방향 추적기(12)에 의해 추적하여 어플리케이션 또는 시뮬레이션 메니저의 조작 및 제어에 의해서 리얼리티 엔진이 동작하면서 사용자의 머리 움직임을 감지하고 계산하여 적절한 시점에 따라 가상 세계를 다시 디스플레이하여 제공한다.
따라서, 리얼리티 엔진은 피험자의 머리나 손의 움직임을 추적하고, 디스플레이에 새로운 이미지를 만드는데 전체 사이클을 실시간동안 진행시켜야 하는데, 인간의 지각력에 관한 연구에서 100밀리초 이내의 반응은 일반적으로 실시간으로간주된다고 알려진 바, 루프를 한번 회전하는데 100밀리초가 걸린다면 그후 매 0.1초 마다 한 화면이 채워지고, 1초에 10개의 화면이 채워지는 것이다.
어플리케이션은 가상 세계를 편집하고 실행하고 제어하기 위한 소프트웨어로서 , 시뮬레이션 메니저는 가상세계를 위해 구축된 데이터 베이스를 읽어 실시간으로 피험자의 행동과 객체간의 상호작용등을 감시하면서 그때 그때의 상황을 전개해 나간면서 추적된 객체(object)와 주변 환경(Backdrop)을 제공하여 사용자가 그 환경에 몰입하도록 한다.
기하학적 모델은 현재 3차원 Auto-CAD 와 같은 툴로 만들어지며 여기서 구축된 화일은 어플리케이션의 제어로 가상 세계에서 표현될 때 시점에 따라 연산 처리되어 재구성된다.
그런데 가상 세계의 표현에서 발생되는 문제점은 이러한 기하학적 모델을 구성하는데 소요되는 폴리건(polygon)의 수와 폴리건을 재구성하기위한 속도 처리에 있다. 폴리건은 다각형을 말하는데 테두리만 분리시켜 선으로 표시하는 와이어 프레임으로 작성된다. 예를 들어 배경(backdrop)은 200에서 20,000개의 분산된 다각형으로 구성될 수 있다. 사용자가 움직일 때마다 전경의 각 삼각형들의 위치와 그림자들은 재계산되고 다시 그려져야 한다. 따라서, 배경이 복잡할 수록 폴리건의 수가 더 많이 필요하게 된다.
그리고, 강력한 현실감을 얻기 위해 새로운 텍스쳐 매핑 기술이 쓰여지고 있는데, 텍스쳐 매핑은 사실적인 모델을 구현하기 위해 객체의 표면에 그림을 입혀 나타내는 기법이다.
종래의 파노라믹 이미지를 생성하는 방법을 도 2에 도시하였다. 도 2a에서 보는 바와 같이 Sa, Sb, Sc 3개의 프레임(각 프레임은 640 x 480의 픽셀로 이루어졌다고 가정한다)으로 이루어진 한 장의 파노라믹 영상이면, 이 프레임들의 영상 데이터는 3a에 도시된 바와 같이, 비디오 램상에 각각 구분되어 저장되어 있다.
즉, Sa 프레임은 a1부터 a480까지의 라인으로 이루어져 있고, 이들 데이터는 비디오 램상에 a1부터 순차적으로 a480까지 저장되어 있고, Sb 프레임은 b1부터 b480까지의 라인으로 이루어져 있고, 이들 데이터는 비디오 램상에 b1부터 순차적으로 b480까지 저장되어 있으며, Sc 프레임은 c1부터 c480까지의 라인으로 이루어져 있으며, 이들 데이터는 비디오 램상에 c1부터 순차적으로 c480까지 저장되어 있어 상당한 메모리가 요구되었다.
또한, 이와 같은 파노라믹 영상이 종래의 가상현실시스템에서 디스플레이될 경우에는 라인별로 스켄되면서 주사되기 때문에 Sa프레임의 라인이 모두 주사된 이후, Sb프레임, Sc프레임 순으로 순차적으로 주사된다.
따라서, 어느 한 프레임 화면만 디스플레이되기 때문에 화면의 이동이 급격하다. 예컨대, 사용자의 시점이 Sa화면으로부터 Sb화면으로 서서히 이동할 경우, Sa화면의 우측일부와 Sb화면의 좌측일부가 보이면서 점차 Sb화면으로 이동해야 하나 종래에는 Sa화면이 보이다가 갑자기 Sb화면이 나타났기 때문에 시점과 화면이 일치하지 않게 되는 문제점이 있었다.
이를 해결하고자 본 발명자에 의해 발명되어 제안된 파노라믹 이미지 생성기에 관한 발명이 대한 민국 특허 출원 번호 제 96-43227호에 등록되어 있으며, 그에 대한 내용을 설명하면 다음과 같다.
간단히 요약하면, 본 발명에서는 도 2a와 같은 3개의 프레임으로 구부된 화면을 도 3a와 같이 하나의 광대역 프레임(즉, 파노라믹 이미지: Sp)으로 구성하여 사용자의 시점(view point)에 따라 대응하는 영상데이터를 형성하여 디스플레이하도록 하므로써 시점에 대응하여 자연스럽게 파노라믹 화면이 제공되도록 하는 것이다.
도 3a와 같은 광대역 프레임을 형성하도록 이미지를 라인별로 저장한 메모리의 구조를 도 3b에 도시하였다.
도 2a에서 보는 바와 같이 3개의 프레임이 하나의 파노라믹 이미지를 만들 경우에 a1, a2, ... a480, b1, b2. ..., b480, c1, c2, ... c480 순으로 저장된 영상데이터를 도 3b에서 보는 바와 같이, a1+b1+c1를 합성하여 d1, a2+b2+c2를 합성하여 d2, ... a480+b480+c480를 합성하여 d480 순으로 저장하는 것이다. 이렇게 되면, 도 3a와 같이 파노라믹 이미지가 광대역 프레임 즉, 단일 이미지로 합성되고 라인순서로 주사되므로써 자연스러운 화면을 제공 받을 수 있게 되는 것이다.
그러나, 이와 같이 넓은 바닷가와 같은 파노라믹 화면은 동일한 장면(배경)이라도 보는 시점에 따라 여러 각도에서 관찰되는 사진 혹은 영상들을 기하학적인 평면 조각으로 매핑 즉, 영상을 구면체나 원기둥에 텍스쳐 매핑하는 형태이기 때문에 여러장의 이미지가 필요하게 된다.
따라서, 파노라믹 이미지를 보여주기 위한 이들 여러장의 이미지들은 동일한 배경으로 부터 얻은 영상들이기 때문에 서로 상관도(correlation)가 높음에도 불구하고, 여러장의 이미지를 각각 저장하므로써 상당한 메모리가 소요되는 문제점이 있었다.
이에 본 발명은 상기와 같은 문제점을 해소하기 위하여 여러개의 프레임으로 나누어진 영상을 합성하여 하나의 파노라믹 이미지를 생성한 후 압축 효율이 높은 벡터 양자화 기법을 이용하여 압축한 후 저장하므로써 메모리를 절약할 수 있도록 된 가상 현실시스템의 파노라믹 이미지 생성기를 제공하는 데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 방법은, 프레임별로 구분되어 각각 저장된 영상을 라인순서 대로 다시 재배열하여 하나의 파노라믹 이미지를 생성하는 제 1 과정과; 상기 제 1 과정의 파노라믹 이미지에 대해 벡터 양자화를 실시하여 코드워드와 코드북을 생성하여 메모리에 저장하는 제 2 과정을 포함하여 구성된다.
상기와 같은 목적을 달성하기 위하여 본 발명의 장치는, 여러개의 프레임으로 구분된 영상 데이터를 입력받아 파노라믹 이미지를 생성해주는 파노라믹 이미지 생성수단; 상기 생성된 파노라믹 이미지를 압축하여 코드북과 코드워드를 생성하는 VQ 처리 수단; 상기 생성된 코드북과 코드워드를 저장하고 있는 파노라믹 저장수단; 사용자의 시점에 따라 대응하는 한 프레임의 영상데이터를 상기 파노라믹 이미지 저장수단으로부터 읽어와 렌더링 및 텍스춰 매핑하여 RGB영상신호를 출력하는 3차원 그래픽처리부; 상기 3차원 그래픽처리부의 RGB출력을 TV영상신호로 변환하는 신호변환기; 상기 신호변환기의 출력을 입력받아 디스플레이함과 아울러 사용자의 움직임을 검지하는 영상표시 및 움직임 검출 수단; 상기 영상표시 및 움직임 검출수단으로부터 사용자의 움직임신호를 입력받아 사용자의 위치 및 방향을 산출하는 위치 및 방향 추적기; 및 상기 위치 및 방향 추적기로부터 입력된 사용자의 움직임에 따라 파노라믹 이미지의 뷰 볼륨을 산출하여 상기 3차원 그래픽보드로 출력하는 시야각 계산부를 포함하는 것을 특징으로 한다.
따라서, 파노라믹 이미지를 라인별로 재 배열한후 벡터 양자화를 통하여서, 코드북과 코드워드에 대한 정보만을 저장하도록 하여 메모리 용량을 감소 시킴과 더불어, 고속의 전송을 가능케하는 것이다.
도 1은 전형적인 가상 현실 시스템을 도시한 구성도,
도 2a, 2b 는 종래의 방식으로 프레임 단위로 파노라믹 이미지를 생성하는 개념을 도시한 도면,
도 3a, 3b 는 라인단위로 단일 파노라믹 이미지를 생성하는 개념을 도시한 도면,
도 4 는 도 2b를 도 3b와 같이 변환하여 단일 파노라믹 이미지를 생성하는 방법을 도시한 흐름도,
도 5 는 본 발명에 이용되는 벡터 양자화 기법의 코드북 생성 알고리즘을 설명하기 위한 흐름도,
도 6 은 본 발명에 따라 압축된 파노라믹 이미지를 디스플레이 하는 가상 현실 시스템의 구성도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
60 : 영상 데이터 저장부 61 : 파노라믹 이미지 생성부
62 : VQ 처리부 63 : 파노라믹 이미지 저장부
64-1, 64-2 : 3차원 그래픽 보드 65-1, 65-2 : 신호 변환기
66 : 3차원 음향 처리부 67 : 위치 및 방향 추적기
68 : 시야각 계산부 70 :HMD
71 : 송신기 72 : 입력 장치
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.
이를 위하여 본 발명의 제 1 과정은, 도 2b와 같이 프레임 단위로 구분되어 저장된 영상 데이터를 어드레스 변환을 통하여서 도 3b와 같이 라인별로 연속되게 저장한다.
그리고, 본 발명의 제 2 과정은, 제 1과정을 통해 도 4b와 같이 합성된 하나의 파노라믹 이미지를 벡터 양자화시켜, 픽셀당 소요되는 바이트 수를 줄이므로써, 소요되는 메모리 용량 및 네트워크를 통한 전송 속도를 줄이는 것이다.
여기서, 픽셀이란 컴퓨터 그래픽상에서 그래픽 이미지의 한 점을 말하며, 표준VGA에서는 640×480(pixel)을 갖는다. 픽셀당 비트수는 표현되는 이미지 컬러가 어느정도로 많은가에 따라 결정된다. VGA디스플레이에서는 한 픽셀당 8개의비트를 갖으므로 256가지 색상을 디스플레이 할수 있다.
상기 제 1 과정의 어드레스 변환이 이루어지는 과정을 도 4의 흐름도를 참조하여 설명하고자 한다.
n개의 라인으로 이루어진 k 개의 프레임으로 하나의 파노라믹 이미지를 생성하는 본 발명에 따른 방법은, 제1 프레임부터 제k 프레임까지 프레임별로 구분되어 저장된 제1 메모리로부터 제1 프레임의 제1 라인부터 제k 프레임의 제n 라인까지 라인번호순으로 순차적으로 읽어와 제2 메모리에 저장하여 단일 파노라믹 이미지를 생성한다.
도 4에서 초기화단계(50)에서는 프레임 변수 i와 라인변수 j를 1로 초기화하고, 독출단계(51)에서는 i 프레임의 j라인 데이터를 제1 메모리로부터 읽어오고, 저장단계(52)에서는 읽어온 i 프레임 j라인 데이터를 제2 메모리상에 순차적으로 저장한다.
이어서 상기 프레임변수 i를 1증가시킨 후(53) 증가된 프레임변수 i가 마지막 프레임번호 k보다 크지 않으면, 다른 프레임의 동일 라인번호에 대해 상기 독출단계 (51)및 저장단계(52)를 반복하고, 증가된 프레임변 수 i가 마지막 프레임번호 k보다 크면, 다음 행에 대해서 상기 과정을 반복하도록 한다.
즉, 증가된 프레임변 수 i가 마지막 프레임번호 k보다 크면, 행변수 j를 1증가시키고(55), 프레임 변수 i 를 1로 초기화한 후 증가된 행변수 j가 마지막 행번호 n보다 크지 않으면 다른 행번호에 대해 상기 독출단계(51) 및 저장단계(52)를 반복하고, 증가된 행변수 j가 마지막 행번호 k보다 크면 종료한다(57).
이와 같은 과정을 수행하게 되면 제2 메모리에는 하나의 파노라믹 이미지가 저장되게 된다.
이어서, 상기 제 1 과정에서 얻은 하나의 파노라믹 이미지를 벡터 양자화하는 제 2 과정에 대한 이해를 돕고저 벡터 양자화에 대한 개념을 살펴보고자 한다.
본 발명에 이용되는 벡터 양자화(Vector Quantization)는 높은 앞축율로 좋은 화질의 영상을 복원할 수 있으며 복호기가 간단하여 하드웨어의 실시간 적용이 용이하다는 장점으로 많이 사용되고 있다. 이 벡터 양자화에 의한 방법은 크게 코드북 생성과정과 생성된 코드북을 이용한 압축과정으로 나뉘는데, 특히 코드북 생성과정은 벡터 양자화 성능을 좌우하는 중요한 과정이다.
벡터 양자화는 K차원의 유클리디안 공간(euclidean space) RK상의 임의의 벡터를 RK상의 유한한 크기의 부분 집합 Y내에 속하는 대표 벡터(reproduction vector)로 대응시키는 사상 Q로 정의된다.
상기 수학식 1 에서는 대표 벡터의 집합 즉, 코드북을 나타내며, 인덱스 N은 대표 백터의 수를 나타낸다.
입력 벡터를 대표 백터로 대응시킬 때, 두 백터사이의 왜곡을 최소화 하는 것이 최적의 사상이 된다.
주어진 훈력 백터(training vector)들에 대해 최적의 코드북을 설계하고, 설계된 코드북에서 최적의 대응이 되도록 대표 백터를 찾는 방법으로 LBG 알고리즘이 많이 사용된다. 그리고 왜곡 측도(distortion measure)로는 하기 수학식 2와 같은 자승 오차식이 많이 사용된다.
여기서,는 각기 원 영상 벡터 및 재구성 영상의 벡터를 나타낸다.
이와같이 코드북을 만드는 방법으로는 LBG 알고리즘을 이용하여 어떻게 초기치를 설정하는가에 따라 RANDOM CODES, BINARY-SPLITTING, PNN(pairwise nearest neighbor), CLUSTERING 등으로 나뉜다.
즉, 벡터 양자화에서는 블럭 형태나 알고리즘 진행에 약간의 차이는 있지만, 대개의 경우 근본적으로 블럭과 벡터들 사이의 MSE를 계산하여 이 값이 최소가 되는 벡터에 블럭을 소속시켜, 그 벡터의 어드레스로 이 블럭내의 픽셀들을 대치시켜 압축시키는 방식을 취한다. 이 의미는 한 블럭을 대신할 만한 블럭을 코드북에서 찾는데 이때, 왜곡이 가장 적은 것으로 정한다는 것이다.
그리고, 벡터 양자화 압축 기법 적용시 압축율은 하기 수학식 3과 같다.
상기 수학식 3에서 보는 바와 같이 압축률은 대표벡터 즉, 코드북의 크기의 로그값에 반비례하고, 색수와, 색을 표현하는 비트수, 벡터넓이, 벡터높이에 비례함을 알수 있다.
이어서, 도 5는 본 발명에 이용되는 VQ의 알고리즘을 설명하기 위한 흐름도로서, 도 5는 군집화 알고리즘(CLUSTRIN) 방법에 의한 코드북 생성 알고리즘이다.
군집화 알고리즘은 양자화 하려고 하는 신호의 확률 분포 함수가 잘 알려져 있지 않기 때문에 훈련 벡터(training vector)라 불리는 표본 벡터들로 훈련 집합(TS)을 구성하여 이를 군집화(clustering)하는 일종의 순환(iteration)방법으로 코드북을 설계한다.
훈련 벡터들을 미리 설정한 코드워드(codeword)의 갯수 만큼 군집화하여 코드북을 설계하는 것이다.
이 방법은 최소 왜곡 척도를 가지는 칼라군(color cluster)의 쌍을 연속적으로 집단화 해 나감으로써 더 큰 칼라군들을 형성하며 이 칼라군들의 중심 값으로 팔레트를 구성한다.
본 실시예에서는 집단화 방법을 이용하여 칼라 팔레트를 구성하였으며 수행속도를 빠르게 하기 위하여 적, 녹, 청으로 구성되는 3차원 히스토그램상에 있는 각각의 칼라군을 중심으로 탐색하여 블럭내의 중심 칼라에 대해 가장 작은 왜곡 척도를 갖는 칼라군들을 집단화하였다.
초기의 코드북 백터는 발생확률이 높은 칼라군을 코드북의 구성 벡터로 입력받아 아래의 과정을 수행한다.
도 5의 흐름도에서 사용된 변수를 설명하자면, TH는 실제 벡터와 코드북 백터간의 왜곡 정도를 나타내며, Nc는 원하고자 하는 코드북 벡터의 최대 갯수를 나타내는 상수이다. 그리고, n은 코드북에 현재까지 저장된 벡터의 갯수이고, i는 훈련 벡터의 인덱스이고, j는 상기 코드북에 저장되어 있는 벡터의 인덱스이다.
(510)임계치(TH), 코드북의 최대 갯수(Nc)를 초기화 한다.
(520)코드북에 현재 까지 저장된 벡터의 갯수 n, 훈련 벡터의 인덱스 i를 0으로 초기화 한다.
(530)실제 이미지의 칼라 백터(훈력 벡터:TV[i])를 입력받는다.
(540)코드북 벡터의 인덱스 j를 0으로 초기화 한다.
(550)코드북의 첫번째 벡터(CV[0])를 입력받는다.
(560)코드북 백터(CV[j])와 입력된 훈련 벡터(TV[i]) 사이의 왜곡(D)을 구하여 임계치(TH)와 왜곡(D)을 비교한다.
(570)임계치(TH)보다 왜곡(D)이 작으면, 훈련 벡터는 코드북 벡터와 유사한 것으로 간주하여, 다음 훈련 벡터를 입력받기위해 훈련 벡터 인덱스를 1증가 시킨후(i=i+1), 상기 (3)단계부터 반복한다.
(580)임계치(TH)보다 왜곡(D)이 크면, 훈련 벡터는 현재 코드북 벡터와는 다르므로 코드북 벡터 인덱스를 하나 증가시킨다.(j=j+1)
(590)코드북 내의 다음 벡터가 있는지를 조사하기 위해 현재 코드북에 저장된 갯수 n와 상기 (580)단계의 코드북 벡터 인덱스 j의 크기를 비교하여, 코드북 내에 다음 코드벡터가 있으면(nj), 상기 (650)단계를 수행한다.
(600)코드북 내에 다음 코드벡터가 없을 경우에는(nj), 코드북의 현재 저장된 백터 갯수 n와 코드북의 최대 갯수 Nc를 비교한다.
(610)상기 (600)단계의 비교결과, 현재 백터 갯수 n가 최대 벡터 갯수 Nc보다 작으면, 상기 훈련 벡터를 코드북에 저장하고, 코드북의 벡터 갯수를 1증가 시킨후(n=n+1), 상기 (570)단계부터 반복한다.
(620)상기 (600)단계의 비교결과, 현재 벡터 갯수 n가 최대 벡터 갯수 Nc보다 크면 운하는 갯수만큼 코드북이 완성됨을 의미하므로 종료한다.
이와 같이 색신호를 값을 일차원 신호로 보는 스칼라 양자화 하는 것 보다, 색신호의 중복성을 이용하여 각 색신호값을 벡터성분으로하여 양자화를 수행하게 되면, 더욱더 좋은 성능을 얻을 수 있다. 즉, 원래 실제 영상이 갖고 있는 색이 65,000가지의 화소값이라면 이것을 256가지의 화소값으로 제한 하여 일정 범위안의 화소값을 256가지 레벨로 매핑하는 코드북을 설계하여, 부호화 과정에서 코드북의 인덱스만을 전송하므로써 압축효율과 전송 효율을 높이게 된다.
이어서, 도 6은 본 발명에 따라 파노라믹 이미지를 디스플레이하기 위한 가상 현실시스템의 구성도로서, 본 발명의 장치는 영상 데이터 저장부(60), 파노라믹 이미지 생성부(61)과, VQ처리부(62), 파노라믹 이미지 저장부(63), 제 1 3차원 그래픽 보드(64-1), 제 2 3차원 그래픽 보드(64-2), 제 1 신호 변환기(65-1), 제 2 신호 변환기(65-2), 3차원 음향 처리부(66), 위치 및 방향 추적기(67), 시야각 계산부(68), CPU(69)로 구성된 컴퓨터 시스템과, HMD(70), 송신기(71), 및 입력 장치(72)로 구성되어 있다.
상기 영상 데이터 저장부(60)는 다수의 프레임으로 구분된 영상 데이터들이 정장되어 있으며, 하드 디스크 드라이브(HDD) 혹은 다른 보조 기억장치들이 이용될 수 있다.
상기 파노라믹 이미지 생성부(61)는 여러개의 프레임으로 구분된 영상 데이터를 입력받아 단일 파노라믹 이미지를 생성해준다.
상기 VQ처리부(62)는 상기 파노라믹 이미지 생성부(61)에서 생성된 단일 파노라믹 이미지를 벡터 양자화로 압축하여 코드북과 코드워드를 생성한다.
상기 파노라믹 이미지 저장부(63)는 상기 생성된 코드북과 코드워드를 저장하고 있다.
상기 제 1 3차원 그래픽 처리부(64-1)는 상기 시야각 계산기(68)로부터 입력되는 사용자의 시점에 따라 대응하는 한 프레임의 영상데이터를 상기 파노라믹 이미지 저장부(63)에 저장된 코드북의 인덱스(N)에 해당하는 코드워드를 읽어와 렌더링 및 텍스춰 매핑하여 좌측 RGB영상신호를 발생한다.
상기 제 2 3차원 그래픽 처리부(64-2)는 상기 시야각 계산기(68)로부터 입력되는 사용자의 시점에 따라 대응하는 한 프레임의 영상데이터를 상기 파노라믹 이미지 저장부(63)에 저장된 코드북의 인덱스(N)에 해당하는 코드워드를 읽어와 렌더링 및 텍스춰 매핑하여 우측 RGB영상신호를 발생한다.
이때, 3 차원 그래픽에서 파노라믹 이미지를 시점 변화에 대응시키기 위해서 사용되는 기법은 원기둥모양의 좌표축 내측에 파노라믹 이미지를 텍스춰 매핑(texure mapping )한 후, 사용자 헤드의 움직임에 따라 뷰 볼륨(view volum)을 계산해서 해당되는 데이터만을 추출하여 표시해주는 것이다. 이를 위해서 사용자의 머리 방향은 HMD(70)의 센서에서 감지되어 위치 및 방향 추적기(67)를 통해 위치와 방향이 계산된다.
상기 제 1 및 제2 신호 변환기(65-1, 65-2)는 상기 3차원 그래픽 보드(64-1, 64-2)의 RGB출력을 TV영상신호로 변환하는 신호 변환기이다.
상기 HMD(70)에서는 상기 신호변환기(65-1, 65-2)의 출력을 입력받아 디스플레이함과 아울러 사용자의 움직임을 검지하는 영상표시 및 움직임을 검출하여 상기 위치 및 방향 추적기(67)로 전달해준다.
상기 위치 및 방향 추적기(67)에서는 상기 HMD(70)로부터 사용자의 움직임신호를 입력받아 사용자의 위치 및 방향을 산출하여 상기 시야각 계산부(68)로 전달한다.
상기 시야각 계산부(68)에서는 상기 위치 및 방향 추적기(67)로부터 입력된 사용자의 움직임에 따라 파노라믹 이미지의 뷰 볼륨을 산출하여 상기 3차원 그래픽보드(64-1, 64-2)로 출력한다.
이때, 상기 시야각 계산부(68)의 뷰 볼륨계산은 사용자 헤드의 각도 변환량을 계산한 후에 이값에 따라 디스플레이상의 픽셀 변화량을 계산하고, 현재 뷰 포인트에 픽셀 변화량을 가산하여 새로운 뷰 포인트를 설정하여 이값에 따라 뷰 볼륨이 계산되어 지는 것이다.
상기 CPU(69)는 소정의 프로그램을 수행하여 시스템을 구성하는 제반 구성요소들을 제어한다.
입력 장치(72)는 사용자가 가상 현실 세계에서 자유로운 조작을 하기 위한 것으로 조이스틱이나 마우스, 데이터 글로브 등이 이용될 수 있다.
상기 HMD(70)에서는 사용자의 방향을 검출하기 위해 위치 및 방향 추적기(67)의 제어신호에 따라 송신기(71)가 무선 신호를 송신하여 상기 HMD(70)내부에 있는 센서가 이를 수신하여 위치 및 방향 추적기(11)로 수신된 신호를 전달하게 되면, 위치 및 방향추적기(67)는 수신된 신호를 분석하여 사용자의 위치와 방향을 검출하는 것이다.
이상과 같이, 다수의 프레임으로 구성된 파노라믹 이미지를 벡터 양자화 하여 디스플레이하게 하는 VQ처리부의 부호화 동작은 하나의 입력 벡터가 부호화되기 위하여 입력되면 코드북의 N개의 대표 벡터와 비교되어 가장 왜곡이 적은 것을 선택하여 양자화하여 하나의 인덱스를 내보내는 것이다.
이때, 이러한 관점에서 VQ의 VLSI구조는 방대한 양의 데이터와 계산량, 프로세싱 엘리먼트간의 국부 연결, 데이터 흐름 등으로 규칙성과 모듈성을 가지는 시스톨릭 어레이 구조가 요구되어 지기도 한다.
그리고, 복호화과정은 부호화 과정에서 많은 계산량이 요구되는 것과는 달리 롬과 같은 메모리에 의해 룩업 테이블 형태로 간단히 구현 가능하기도 한다.
이상에서 살펴본 바와 같이 본 발명에 따라 다수의 프레임으로 구분되어 저장된 영상 데이터를 재배열하여 파노라믹 이미지를 생성하고, 벡터 양자화하여 이를 시점에 따라 해당되는 데이터만을 추출하여 프레임을 형성한 후 디스플레이해 주므로써 가상 현실시스템에서 사용자의 시점(view point)에 따라 파노라믹(panoramic) 이미지를 자연스럽게 디스플레이해 줄 수 있는 효과가 있다.
또한, 칼라성분을 벡터 양자화하므로써 몇 개의 대표 벡터만을 저장하는 코드북과 코드워드에 대한 메모리만을 사용하여 메모리 소비를 효과적으로 줄이며, 인덱스만 전송하면 되기 때문에 빠른 전송속도를 갖는 효과가 있다.

Claims (5)

  1. 프레임별로 구분되어 각각 저장된 영상을 라인순서 대로 다시 재배열하여 하나의 파노라믹 이미지를 생성하는 제 1 과정과;
    상기 제 1 과정의 파노라믹 이미지에 대해 벡터 양자화를 실시하여 코드워드와 코드북을 생성하여 메모리에 저장하는 제 2 과정을 포함하여 구성되는 것을 특징으로하는 가상 현실 시스템의 파노라믹 이미지 생성 방법.
  2. 제 1 항에 있어서, 상기 제 1 과정은, 제1 프레임부터 제k 프레임까지 프레임별로 구분되어 저장된 제1 메모리로부터 제1 프레임의 제1 라인부터 제k 프레임의 제n 라인까지 라인 번호순으로 순차적으로 읽어와서 제2 메모리에 저장하여 단일 파노라믹 이미지를 생성하는 어드레스 변환 과정을 통해 이루어지는 것을 특징으로 하는 가상 현실 시스템의 파노라믹 이미지 생성 방법.
  3. 제 1 항에 있어서, 상기 제 2 과정은, RGB칼라 성분을 벡터량으로 하여 실제 영상의 M개의 화소값을 N개의 대표 벡터로 레벨화한 인덱스를 갖는 코드북을 설계하는 과정을 포함하여 구성되는 것을 특징으로하는 가상 현실 시스템의 파노라믹 이미지 생성 방법.
  4. 영상 데이터 저장수단(60)과;
    상기 영상 데이터 저장수단(60)의 여러개의 프레임으로 구분된 영상 데이터를 입력받아 단일 파노라믹 이미지를 생성해주는 파노라믹 이미지 생성수단(61);
    상기 생성된 파노라믹 이미지를 압축하여 코드북과 코드워드를 생성하는 VQ 처리 수단(62);
    상기 생성된 코드북과 코드워드를 저장하고 있는 파노라믹 이미지 저장수단(63);
    사용자의 시점에 따라 대응하는 한 프레임의 영상데이터를 상기 파노라믹 이미지 저장수단(63)으로부터 읽어와 렌더링 및 텍스춰 매핑하여 RGB영상신호를 출력하는 3차원 그래픽처리부(64-1, 64-2);
    상기 3차원 그래픽처리부(64-1, 64-2)의 RGB출력을 TV영상신호로 변환하는 신호변환기(65-1, 65-2);
    상기 신호변환기(65-1, 65-2)의 출력을 입력받아 디스플레이함과 아울러 사용자의 움직임을 검지하는 영상표시 및 움직임 검출 수단(66);
    상기 영상표시 및 움직임 검출수단(66)으로부터 사용자의 움직임신호를 입력받아 사용자의 위치 및 방향을 산출하는 위치 및 방향 추적기(67); 및
    상기 위치 및 방향 추적기(67)로부터 입력된 사용자의 움직임에 따라 파노라믹 이미지의 뷰 볼륨을 산출하여 상기 3차원 그래픽처리부(64-1, 64-2)로 출력하는 시야각 계산부(78)를 포함하여 구성되는 것을 특징으로하는 가상 현실 시스템의 파노라믹 이미지 생성 장치.
  5. 제 4항에 있어서, 상기 파노라믹 이미지 생성수단(61)이 n개의 행으로 이루어진 k 개의 프레임이 저장된 영상 데이터 저장부(60)로부터 제1 프레임의 제1 라인부터 제k 프레임의 제n 라인까지 라인번호순으로 순차적으로 읽어와서 라인순서로 저장된 단일 파노라믹 이미지를 생성하는 어드레스 변환기능을 갖는 것을 특징으로 하는 가상 현실시스템의 파노라믹 이미지 생성 장치.
KR1019960054143A 1996-11-14 1996-11-14 가상 현실 시스템의 파노라믹 이미지 생성 방법 및 그 장치 KR19980035726A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960054143A KR19980035726A (ko) 1996-11-14 1996-11-14 가상 현실 시스템의 파노라믹 이미지 생성 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960054143A KR19980035726A (ko) 1996-11-14 1996-11-14 가상 현실 시스템의 파노라믹 이미지 생성 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR19980035726A true KR19980035726A (ko) 1998-08-05

Family

ID=66320305

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960054143A KR19980035726A (ko) 1996-11-14 1996-11-14 가상 현실 시스템의 파노라믹 이미지 생성 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR19980035726A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100460081B1 (ko) * 2001-04-06 2004-12-03 (주)이음미디어 동영상 가상현실 이미지 제작 시스템 및 방법
US10827160B2 (en) 2016-12-16 2020-11-03 Samsung Electronics Co., Ltd Method for transmitting data relating to three-dimensional image

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100460081B1 (ko) * 2001-04-06 2004-12-03 (주)이음미디어 동영상 가상현실 이미지 제작 시스템 및 방법
US10827160B2 (en) 2016-12-16 2020-11-03 Samsung Electronics Co., Ltd Method for transmitting data relating to three-dimensional image

Similar Documents

Publication Publication Date Title
KR102675364B1 (ko) 실시간의 복합 캐릭터 애니메이션 및 상호작용성을 위한 시스템 및 방법
US6700586B1 (en) Low cost graphics with stitching processing hardware support for skeletal animation
CN111542861A (zh) 利用深度外观模型渲染化身的***和方法
JP4384813B2 (ja) 時間依存ジオメトリの圧縮
JP3901644B2 (ja) テクスチャ画像圧縮装置及び方法、テクスチャ画像抽出装置及び方法、データ構造、記憶媒体
CN111369681A (zh) 三维模型的重构方法、装置、设备及存储介质
WO2016142787A1 (en) System, method and device for three-dimensional voxel-based modeling
US6906714B2 (en) Accelerated visualization of surface light fields
US11270468B1 (en) Joint color image and texture data compression
Mossel et al. Streaming and exploration of dynamically changing dense 3d reconstructions in immersive virtual reality
KR20010113681A (ko) 3차원 변환 매트릭스 압축 및 압축 해제
Livny et al. A GPU persistent grid mapping for terrain rendering
US20230206511A1 (en) Methods, systems, and media for generating an immersive light field video with a layered mesh representation
CN116843841A (zh) 基于网格压缩的大规模虚拟现实***
Nikiel Iterated function systems for real-time image synthesis
WO2021245326A1 (en) A method, an apparatus and a computer program product for video encoding and video decoding
KR19980035726A (ko) 가상 현실 시스템의 파노라믹 이미지 생성 방법 및 그 장치
US11647193B2 (en) Adaptive range packing compression
KR20010003022A (ko) 시각화된 운항 인터페이스를 제공하기 위한 장치
US6919889B2 (en) Compression of surface light fields
KR20050045774A (ko) 다양한 시점을 갖는 얼굴 영상으로부터의 3차원 얼굴 복원장치 및 방법
KR19980023727A (ko) 파노라믹 이미지를 디스플레이하기 위한 가상 현실시스템
CN115035231A (zh) 阴影烘焙方法、装置、电子设备和存储介质
US11769299B1 (en) Systems and methods for capturing, transporting, and reproducing three-dimensional simulations as interactive volumetric displays
CN116051746A (zh) 一种三维重建和神经渲染网络的改进方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application