KR101324687B1 - Method of encoding haptic information on image, method of decoding haptic information from image and apparatus for processing haptic information for the same - Google Patents

Method of encoding haptic information on image, method of decoding haptic information from image and apparatus for processing haptic information for the same Download PDF

Info

Publication number
KR101324687B1
KR101324687B1 KR1020100037380A KR20100037380A KR101324687B1 KR 101324687 B1 KR101324687 B1 KR 101324687B1 KR 1020100037380 A KR1020100037380 A KR 1020100037380A KR 20100037380 A KR20100037380 A KR 20100037380A KR 101324687 B1 KR101324687 B1 KR 101324687B1
Authority
KR
South Korea
Prior art keywords
haptic
information
data
haptic information
image
Prior art date
Application number
KR1020100037380A
Other languages
Korean (ko)
Other versions
KR20110016385A (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 JP2010179675A priority Critical patent/JP5094930B2/en
Priority to US12/853,464 priority patent/US20110032088A1/en
Priority to CN2010102651418A priority patent/CN101996413B/en
Publication of KR20110016385A publication Critical patent/KR20110016385A/en
Application granted granted Critical
Publication of KR101324687B1 publication Critical patent/KR101324687B1/en

Links

Images

Classifications

    • 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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/74Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

이미지에 햅틱 정보를 인코딩하거나 이미지로부터 햅틱 정보를 디코딩하는 기술이 개시된다. 본 발명에 따른 이미지에 햅틱 정보를 인코딩하는 방법은, 햅틱 정보를 생성하는 단계; 상기 햅틱 정보 및 상기 햅틱 정보와 관련된 헤더 정보를 이용하여 인코딩 대상 데이터를 생성하는 단계; 및 원본 이미지 픽셀들 각각의 바이트 데이터의 최하위 비트(Least Significant Bit; LSB)를 이용하여 상기 인코딩 대상 데이터를 인코딩하여 인코딩된 이미지를 생성하는 단계를 포함한다. 따라서, 원본 이미지 포맷을 유지하면서 햅틱 정보를 간단히 인코딩/디코딩할 수 있다.Techniques for encoding haptic information in an image or decoding haptic information from an image are disclosed. A method of encoding haptic information in an image according to the invention comprises the steps of generating haptic information; Generating encoding target data using the haptic information and the header information related to the haptic information; And generating the encoded image by encoding the encoding target data using the least significant bit (LSB) of the byte data of each of the original image pixels. Thus, it is possible to simply encode / decode the haptic information while maintaining the original image format.

Description

이미지에 햅틱 정보를 인코딩하는 방법, 이미지로부터 햅틱 정보를 디코딩하는 방법 및 이를 위한 햅틱 정보 처리 장치 {Method of encoding haptic information on image, method of decoding haptic information from image and apparatus for processing haptic information for the same}Method of encoding haptic information in an image, a method of decoding haptic information from an image, and a haptic information processing apparatus therefor {Method of encoding haptic information on image, method of decoding haptic information from image and apparatus for processing haptic information for the same}

본 발명은 햅틱 정보 인코딩/디코딩 방법에 관한 것으로서, 원본 이미지 자체에 햅틱 정보를 포함시키는 햅틱 정보 인코딩/디코딩 기술에 관한 것이다.The present invention relates to a haptic information encoding / decoding method, and to a haptic information encoding / decoding technique of including haptic information in an original image itself.

 본 발명은 지식경제부의 IT신성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2009-F-048-01, 과제명: 비접촉식 멀티포인트 실감 인터랙션 기술개발].The present invention is derived from a study conducted as part of the IT New Growth Engine Core Technology Development Project of the Ministry of Knowledge Economy [Task Management No .: 2009-F-048-01, Task Name: Development of a contactless multipoint realistic interaction technology].

일반적으로 햅틱(haptic) 정보는 물체를 만질 때 사람의 손가락 끝(fingertip)으로 느낄 수 있는 촉각적 감각에 해당하는 정보로서, 이 때 촉각적 감각은 피부가 물체 표면에 닿아서 느껴지는 촉감 피드백(tactile feedback)이나 및 관절이나 근육의 움직임이 방해될 때 느껴지는 근감각 힘 피드백(Kinesthetic force feedback)을 포괄하는 개념이다.In general, haptic information corresponds to tactile sensations that can be felt by a human fingertip when touching an object, where tactile sensation is tactile feedback that is felt when the skin touches the surface of an object. feedback) and kinesthetic force feedback that is felt when motion of joints or muscles is disturbed.

대한민국 공개특허 제10-2008-0032316호에는 "이미지 정보를 이용한 표면의 촉감정보 추출방법(graphic-to-tactile production method)"이 개시되어 있다. Korean Unexamined Patent Publication No. 10-2008-0032316 discloses a "graphic-to-tactile production method".

상기 공개특허는 이미지 자체의 그레이 스케일 정보(음영 정보)를 이용하여 촉각 정보를 생성하는 방법에 관하여 개시하고 있다. 이 기술은 이미지를 그레이 스케일로 변환하고, 그레이 스케일로 변환된 이미지를 이용하여 바로 촉각 정보를 생성하는 기술로 이미지에 맞추어 현실감 있는 햅틱 피드백 정보를 전달해줄 수 있다는 장점이 있어서, 촉각 정보가 이용되는 많은 어플리케이션에 실제로 활용되고 있다.This publication discloses a method for generating tactile information using gray scale information (shading information) of an image itself. This technology converts an image to gray scale and immediately generates tactile information using the image converted to gray scale. Therefore, the technology can deliver realistic haptic feedback information according to the image. It is actually used in many applications.

그러나 종래의 기존 방식에 따른 햅틱 정보 추출은 대상 이미지에 따라 적절한 촉각정보가 결정된다. 또한 종래의 햅틱 정보 저장 방식은 메타 데이터를 이용하거나 원본 이미지와는 별개의 이미지(그레이 스케일 이미지 등)를 수반하는 방식이므로, 햅틱 데이터의 전송이나 저장이 불편하고 햅틱 데이터의 관리가 용이하지 않다는 문제점이 있었다.However, in the haptic information extraction according to the conventional method, appropriate tactile information is determined according to the target image. In addition, since the conventional haptic information storage method uses metadata or involves an image separate from the original image (such as a gray scale image), the haptic data transmission and storage are inconvenient and the haptic data is not easily managed. There was this.

대한민국 공개특허 제10-2007-0105770호에는 "감각 데이터의 가공 시스템 및 그 가공 방법(processing system of sensory data and method thereof)"이 개시되어 있으나, 이는 후각, 미각 및 촉각 데이터를 원본 이미지와는 별도의 실감형 멀티미디어 파일로 다중화하여 전송하는 방식이다. 따라서, 이러한 종래 기술 역시 사용자에게 제시되는 감각 정보가 별도의 출력 포맷을 통하여 전송된다는 점에서, 햅틱 데이터를 수반하는 데이터의 활용성에 있어서 범용성이 떨어지는 단점이 있다.Korean Patent Laid-Open Publication No. 10-2007-0105770 discloses a "processing system and sensory data and method of processing the sensory data", but the olfactory, taste and tactile data separate from the original image It is a method of multiplexing and transmitting into realistic multimedia files. Therefore, this conventional technology also has a disadvantage in that the sensory information presented to the user is transmitted through a separate output format, the general purpose in the utilization of the data accompanying the haptic data.

따라서, 원본 이미지의 손상을 최소화하면서도 햅틱 정보의 송/수신을 효율적으로 할 수 있는 새로운 햅틱 정보 인코딩/디코딩 기법의 필요성이 절실하게 대두된다.Therefore, there is an urgent need for a new haptic information encoding / decoding technique that can efficiently transmit and receive haptic information while minimizing damage to the original image.

상기한 과제를 해결하기 위한 본 발명의 목적은, 메타파일과 같은 별도의 추가 정보 없이, 데이터량 변화나 포맷 변화가 없는 이미지 자체만을 송/수신함으로써 독립적인 햅틱 정보를 함께 송/수신할 수 있도록 하는 것을 목적으로 한다.An object of the present invention for solving the above problems is to transmit / receive independent haptic information together by transmitting / receiving only the image itself without data amount change or format change without additional information such as metafile. It aims to do it.

또한, 본 발명의 목적은 원본 이미지의 각 픽셀의 바이트 데이터의 마지막 비트(LSB)만을 변경함으로써 햅틱 정보 인코딩에 따른 원본 이미지의 손상을 최소화하면서 햅틱 정보를 인코딩하는 것을 목적으로 한다.It is also an object of the present invention to encode haptic information while minimizing damage to the original image due to haptic information encoding by changing only the last bit (LSB) of the byte data of each pixel of the original image.

또한, 본 발명의 목적은 인코딩되는 햅틱 정보를 적절히 다운사이징하여 사용자가 구별할 수 없는 범위 내에서 최대한 데이터량을 줄임으로써 원본 이미지의 손상을 최소화하고 추가적인 햅틱 정보를 넣을 수 있도록 하는 것을 목적으로 한다.In addition, an object of the present invention is to downsize the haptic information to be encoded properly to reduce the maximum amount of data within the range that the user can not distinguish, thereby minimizing damage to the original image and to insert additional haptic information .

상기한 목적을 달성하기 위한 본 발명에 따른 이미지에 햅틱 정보를 인코딩하는 방법은, 햅틱 정보를 생성하는 단계; 상기 햅틱 정보 및 상기 햅틱 정보와 관련된 헤더 정보를 이용하여 인코딩 대상 데이터를 생성하는 단계; 및 원본 이미지 픽셀들 각각의 바이트 데이터의 최하위 비트를 이용하여 상기 인코딩 대상 데이터를 인코딩하여 인코딩된 이미지를 생성하는 단계를 포함하는 것을 특징으로 한다.A method of encoding haptic information in an image according to the present invention for achieving the above object comprises the steps of: generating haptic information; Generating encoding target data using the haptic information and the header information related to the haptic information; And encoding the encoding target data by using the least significant bit of the byte data of each of the original image pixels to generate an encoded image.

이 때, 상기 햅틱 정보는 공간적으로 분포되어 있는 깊이 분포 정보, 표면 임피던스 분포 정보, 온도 분포 정보 및 표면 재질 분포 정보 중 어느 하나의 햅틱 분포 데이터일 수 있다.In this case, the haptic information may be haptic distribution data of any one of spatially distributed depth distribution information, surface impedance distribution information, temperature distribution information, and surface material distribution information.

이 때, 햅틱 정보를 생성하는 단계는 데이터 사이즈를 줄이는 다운사이징 과정을 포함하여 상기 햅틱 정보를 생성할 수 있다.In this case, the generating of the haptic information may include generating the haptic information by downsizing the data size.

이 때, 상기 햅틱 정보는 시계열 진동 정보일 수 있다. 이 때, 시계열 진동 정보라 함은 시간에 따라 변하는 진동 정보를 뜻한다.In this case, the haptic information may be time series vibration information. In this case, the time series vibration information means vibration information that changes with time.

이 때, 인코딩된 이미지를 생성하는 단계는 상기 인코딩 대상 데이터의 각 비트가 상기 원본 이미지 픽셀들 중 일부 픽셀들 각각의 바이트 데이터의 최하위 비트에 삽입되도록 하고, 상기 원본 이미지 픽셀들 중 나머지 픽셀들의 바이트 데이터의 최하위 비트들은 원래대로 유지되도록 할 수 있다.In this case, the step of generating an encoded image causes each bit of the encoding target data to be inserted into the least significant bit of the byte data of each of some pixels of the original image pixels, and the byte of the remaining pixels of the original image pixels. The least significant bits of data can be left intact.

이 때, 상기 원본 이미지 픽셀들 각각의 바이트 데이터는 R, G, B 부화소 바이트 및 비컬러 데이터(non-color data) 중 어느 하나 이상일 수 있다.In this case, the byte data of each of the original image pixels may be at least one of R, G, and B subpixel bytes and non-color data.

이 때, 원본 이미지가 animated gif 파일인 경우, 각각의 이미지 프레임에 상기 인코딩 대상 데이터가 인코딩될 수 있다.In this case, when the original image is an animated gif file, the encoding target data may be encoded in each image frame.

또한, 본 발명의 일실시예에 따른 이미지로부터 햅틱 정보를 디코딩하는 방법은, 인코딩된 이미지를 로드하는 단계; 상기 인코딩된 이미지의 일부 픽셀들 각각의 바이트 데이터 최하위 비트(Least Significant Bit; LSB)를 추출하여 햅틱 정보와 관련된 헤더 정보를 복원하는 단계; 및 상기 인코딩된 이미지의 나머지 픽셀들 중 상기 헤더 정보를 이용하여 결정된 개수의 픽셀의 바이트 데이터들의 최하위 비트들을 취합하여 상기 햅틱 정보를 복원하는 단계를 포함하는 것을 특징으로 한다.Further, a method of decoding haptic information from an image according to an embodiment of the present invention includes the steps of loading an encoded image; Extracting a least significant bit (LSB) of byte data of each of the pixels of the encoded image to restore header information related to haptic information; And recovering the haptic information by collecting the least significant bits of the byte data of the number of pixels determined by using the header information among the remaining pixels of the encoded image.

이 때, 상기 헤더 정보를 추출하는 단계는 기설정된 개수의 픽셀들 각각에 상응하는 바이트 데이터를 로드하여 로드된 바이트 데이터의 최하위 비트들을 추출하고, 추출된 비트들을 이용하여 상기 헤더 정보를 복원할 수 있다.In this case, the extracting of the header information may include loading byte data corresponding to each of a predetermined number of pixels, extracting least significant bits of the loaded byte data, and restoring the header information using the extracted bits. have.

이 때, 인코딩된 이미지의 픽셀들 각각의 바이트 데이터는 R, G, B 부화소 바이트 또는 비컬러 데이터(non-color data) 일 수 있다.In this case, byte data of each pixel of the encoded image may be R, G, and B subpixel bytes or non-color data.

또한, 본 발명의 일실시예에 따른 햅틱 정보 처리 장치는, 햅틱 정보를 생성하는 햅틱 정보 생성부; 상기 햅틱 정보와 관련되고, 상기 햅틱 정보와 함께 인코딩 대상 데이터를 구성하는 헤더 정보를 생성하는 헤더 생성부; 및 원본 이미지 픽셀들 각각의 바이트 데이터의 최하위 비트(Least Significant Bit; LSB)를 이용하여 상기 인코딩 대상 데이터를 인코딩하여 인코딩된 이미지를 생성하는 인코딩부를 포함하는 것을 특징으로 한다.In addition, the haptic information processing apparatus according to an embodiment of the present invention, the haptic information generating unit for generating haptic information; A header generator associated with the haptic information and generating header information constituting encoding target data together with the haptic information; And an encoding unit which generates an encoded image by encoding the encoding target data by using a least sign bit (LSB) of byte data of each of the original image pixels.

또한, 본 발명의 일실시예에 따른 햅틱 정보 처리 장치는, 인코딩된 이미지를 로드하는 이미지 로드부; 상기 인코딩된 이미지의 일부 픽셀들 각각의 바이트 데이터 최하위 비트(Least Significant Bit; LSB)를 추출하여 햅틱 정보와 관련된 헤더 정보를 복원하는 헤더 복원부; 및 상기 인코딩된 이미지의 나머지 픽셀들 중 상기 헤더 정보를 이용하여 결정된 개수의 픽셀의 바이트 데이터들의 최하위 비트들을 취합하여 상기 햅틱 정보를 복원하는 햅틱 정보 복원부를 포함하는 것을 특징으로 한다.In addition, the haptic information processing apparatus according to an embodiment of the present invention, the image load unit for loading the encoded image; A header decompressor for extracting a least significant bit (LSB) of byte data of each pixel of the encoded image to restore header information related to haptic information; And a haptic information reconstruction unit configured to reconstruct the haptic information by collecting the least significant bits of the byte data of the number of pixels determined using the header information among the remaining pixels of the encoded image.

본 발명에 따르면, 메타파일과 같은 별도의 추가 정보 없이, 데이터량이나 포맷 변화가 없는 이미지 자체만을 송/수신함으로써 햅틱 정보를 함께 송/수신할 수 있다.According to the present invention, haptic information can be transmitted / received together by transmitting / receiving only the image itself without any data amount or format change without any additional information such as metafile.

또한, 본 발명은 원본 이미지의 각 픽셀의 바이트 데이터의 마지막 비트(LSB)만을 변경함으로써 햅틱 정보 인코딩에 따른 원본 이미지의 손상을 최소화하면서 햅틱 정보를 인코딩할 수 있다.In addition, the present invention can encode the haptic information while minimizing damage to the original image due to the haptic information encoding by changing only the last bit (LSB) of the byte data of each pixel of the original image.

또한, 본 발명은 인코딩되는 햅틱 정보를 적절히 다운사이징하여 사용자가 구별할 수 없는 범위 내에서 최대한 데이터량을 줄임으로써 햅틱 정보 인코딩에 따른 원본 이미지의 손상을 최소화할 수 있다.In addition, the present invention can minimize the damage to the original image due to the haptic information encoding by appropriately downsizing the encoded haptic information to reduce the maximum amount of data within the range that the user can not distinguish.

도 1은 본 발명의 일실시예에 따른 분포정보를 담고 있는 햅틱 데이터의 일 예를 나타낸 도면이다.
도 2는 도 1에 도시된 햅틱 분포 데이터를 다운사이징한 이미지를 나타낸 도면이다.
도 3은 C의 헤더부분의 첫 글자가 '6'인 경우의 원본 이미지의 각 픽셀의 바이트 데이터의 LSB와 인코딩 대상 데이터의 각 비트를 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 햅틱 정보 인코딩 방법에 따른 이미지 픽셀 변화를 나타낸 도면이다.
도 5는 햅틱 상호작용을 위한 커서를 나타낸 도면이다.
도 6은 햅틱 분포 정보와 커서의 햅틱 상호작용을 설명하기 위한 도면이다.
도 7은 햅틱 암을 이용한 햅틱 피드백 제시장치의 일 예를 나타낸 도면이다.
도 8은 시간적으로 값을 달리하는 햅틱 정보의 예를 나타낸 도면이다.
도 9는 "250_22_2_"이 헤더로 사용되고 도 8에 도시된 예의 햅틱 정보가 인코딩되는 경우의 인코딩 대상 데이터의 예를 나타낸 도면이다.
도 10은 본 발명의 일실시예에 따른 이미지에 햅틱 정보를 인코딩하는 방법을 나타낸 동작 흐름도이다.
도 11은 본 발명의 일실시예에 따른 이미지로부터 햅틱 정보를 디코딩하는 방법을 나타낸 동작 흐름도이다.
도 12는 본 발명의 일실시예에 따른 햅틱 정보 처리 장치의 블록도이다.
도 13은 본 발명의 다른 실시예에 따른 햅틱 정보 처리 장치의 블록도이다.
1 is a view showing an example of haptic data containing distribution information according to an embodiment of the present invention.
FIG. 2 illustrates an image downsizing the haptic distribution data illustrated in FIG. 1.
3 is a diagram illustrating LSBs of byte data of each pixel of the original image and each bit of encoding target data when the first letter of the header portion of C is '6'.
4 is a diagram illustrating a change in an image pixel according to a haptic information encoding method according to an embodiment of the present invention.
5 illustrates a cursor for haptic interaction.
6 is a diagram for explaining haptic interaction between haptic distribution information and a cursor.
7 is a diagram illustrating an example of a haptic feedback presenting apparatus using a haptic arm.
8 is a diagram illustrating an example of haptic information that varies in time.
FIG. 9 is a diagram illustrating an example of encoding target data when "250_22_2_" is used as a header and haptic information of the example shown in FIG. 8 is encoded.
10 is a flowchart illustrating a method of encoding haptic information in an image according to an embodiment of the present invention.
11 is a flowchart illustrating a method of decoding haptic information from an image according to an embodiment of the present invention.
12 is a block diagram of a haptic information processing device according to an embodiment of the present invention.
13 is a block diagram of a haptic information processing device according to another embodiment of the present invention.

본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
The present invention will now be described in detail with reference to the accompanying drawings. Hereinafter, a repeated description, a known function that may obscure the gist of the present invention, and a detailed description of the configuration will be omitted. Embodiments of the present invention are provided to more fully describe the present invention to those skilled in the art. Accordingly, the shapes and sizes of the elements in the drawings and the like can be exaggerated for clarity.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 분포정보를 담고 있는 햅틱 데이터의 일 예를 나타낸 도면이다.1 is a view showing an example of haptic data containing distribution information according to an embodiment of the present invention.

도 1을 참조하면, 2차원 공간상에 햅틱 분포 데이터가 그레이 스케일 이미지 형태로 표현되어 있는 것을 알 수 있다.Referring to FIG. 1, it can be seen that haptic distribution data is expressed in the form of a gray scale image on a two-dimensional space.

햅틱 정보는 이미지에 상응하는 분포의 형태일 수 있다. 이 때, 햅틱 정보는 이미지와 같이 이미지의 각 픽셀에 상응하는 단계값들의 집합으로 볼 수 있다.The haptic information may be in the form of a distribution corresponding to the image. In this case, the haptic information may be viewed as a set of step values corresponding to each pixel of the image like the image.

또한, 햅틱 정보는 시간의 흐름에 따라 값을 달리할 수도 있다. 이 때, 햅틱 정보는 시간에 따라 나열된 일련의 정보로 볼 수 있다.In addition, the haptic information may vary in value over time. At this time, the haptic information can be viewed as a series of information listed over time.

햅틱 분포 데이터라 함은 이미지가 시각적으로 분포되어 있는 색상 정보를 갖고 있는 것과 마찬가지로, 촉각적으로 공간적으로 분포되어 있음을 의미한다. 햅틱 분포 데이터는 2차원 분포 정보이면서 특정 단계값을 가지므로 도 1에 도시된 바와 같이 그레이 스케일 이미지로 표현이 가능하다. 다만, 이 그레이 스케일 이미지는 사용자에게 시각적으로 표시하기 위한 것이 아니며, 햅틱 정보를 생성해 내는데 사용되게 된다.The haptic distribution data means that the image is tactilely and spatially distributed, just as the image has color information visually distributed. Since the haptic distribution data has two-dimensional distribution information and specific step values, the haptic distribution data can be represented as a gray scale image as shown in FIG. 1. However, the gray scale image is not intended to be visually displayed to the user, but is used to generate haptic information.

햅틱 분포 데이터 중 깊이 분포 데이터의 경우를 예로 들면, 2차원 공간에서 표현된 이미지의 각 픽셀에 대응하는 위치에서 얻을 수 있는 각각의 그레이 스케일 값은 그 값이 클수록 돌출이 많이 되었음을 나타내는 것일 수 있다. 즉, 도 1에서 흰 색에 가깝게 표시된 영역일수록 사용자에 가깝게 돌출된 것이고, 검은 색에 가깝게 표시된 영역일수록 돌출되지 않은 것일 수 있다.For example, in the case of the depth distribution data among the haptic distribution data, each gray scale value obtained at a position corresponding to each pixel of the image represented in the two-dimensional space may indicate that the larger the value, the more protruding. That is, in FIG. 1, an area displayed closer to white may protrude closer to a user, and an area displayed closer to black may not protrude.

도 1에 도시된 원과, 정사각형은 각각 평면 위에 놓인 반구 형태의 물체와 정육면체 형태의 물체의 깊이 분포 데이터를 나타낸다.The circle and the square shown in FIG. 1 represent depth distribution data of a hemispherical object and a cube-shaped object placed on a plane, respectively.

반구 형태의 물체나 정육면체 형태의 물체는 모두 높이 정보를 갖고 있고, 때로 이러한 높이 정보는 그림자 등을 통하여 확인할 수 있다.Both hemispherical objects and cube-shaped objects have height information, and sometimes the height information can be confirmed through shadows.

도 1에 도시된 이미지는 jpg, gif, bmp, png, tif 등의 확장자를 갖는 PC 환경에서 사용되는 이미지로부터 도출된 것일 수 있다.The image shown in FIG. 1 may be derived from an image used in a PC environment having an extension of jpg, gif, bmp, png, tif, or the like.

특히, 도 1에 도시된 예에서 정사각형은 정육면체 형태의 큐브 퍼즐(cube puzzle)을 나타낸 깊이 정보일 수 있고, 따라서 정사각형의 내부에 격자 모양이 있는 것을 알 수 있다.In particular, in the example shown in FIG. 1, the square may be depth information representing a cube puzzle in the form of a cube, and thus, it may be seen that a grid is formed inside the square.

이러한 깊이 분포 데이터는 일정한 공간적 이격을 두고 찍은 사진들의 비교를 통해 소프트웨어적으로 결정되거나, 스테레오 카메라 등 특수 장비에 의해 생성될 수 있다. 물론, 깊이 분포 데이터는 사용자에 의해 생성/편집이 가능하다.The depth distribution data may be determined in software through comparison of photographs taken at a certain spatial distance, or may be generated by special equipment such as a stereo camera. Of course, the depth distribution data can be created / edited by the user.

실시예에 따라, 햅틱 분포 데이터가 온감 분포를 나타낸다면, 햅틱 분포 데이터는 적외선 카메라에 의해 결정될 수 있으며, 재질감 분포 또는 임피던스 분포를 나타낸다면 표면 영역 특성을 측정하는 센서에 의해 결정될 수도 있다.
In some embodiments, the haptic distribution data may be determined by an infrared camera, and the haptic distribution data may be determined by a sensor measuring surface area characteristics.

도 2는 도 1에 도시된 햅틱 분포 데이터를 다운사이징한 이미지를 나타낸 도면이다.FIG. 2 illustrates an image downsizing the haptic distribution data illustrated in FIG. 1.

도 2를 참조하면, 도 2에 도시된 이미지는 도 1에 도시된 이미지의 폭(w)과 높이(h)를 각각 a배(0<a<1)한 결과에 해당하는 것을 알 수 있다.Referring to FIG. 2, it can be seen that the image shown in FIG. 2 corresponds to a result of a multiple (0 <a <1) of the width w and the height h of the image shown in FIG. 1.

도 2에 도시된 이미지는 사용자에게 시각적으로 표시하기 위한 것이 아니며, 햅틱 정보를 생성해 내는 데에만 사용될 수 있다.The image shown in FIG. 2 is not intended to be visually displayed to the user, but may only be used to generate haptic information.

햅틱 분포 데이터를 다운사이징 하는 이유는 햅틱 분포 데이터의 크기를 줄여 원본 이미지에 인코딩하기 위한 것이며, 가급적 인코딩될 데이터를 줄여 원본 이미지 데이터의 변경을 최소화하기 위한 것이다. 이는, 사람이 공간적으로 분포한 촉감을 인지함에 있어, 시각적 분해능보다 촉각적 분해능이 낮음을 이용한 것이다. 즉, 사람의 인지적 능력 범위를 고려하여 햅틱 분포 데이터의 크기를 줄일 수 있는 것이다.The reason for downsizing the haptic distribution data is to encode the original image by reducing the size of the haptic distribution data, and to minimize the change of the original image data by reducing the data to be encoded. This is to use the sense that the tactile resolution is lower than the visual resolution in recognizing the spatially distributed touch. That is, the size of the haptic distribution data can be reduced in consideration of the human cognitive ability range.

이와 같이 다운사이징된 햅틱 정보는 디코더에서 다시 업사이징되어 원본 이미지에 대한 햅틱 피드백 제공에 사용되게 된다. 따라서, 햅틱 정보는 다운사이징한 만큼 해상도가 감소하는 것으로 볼 수 있으며 이러한 해상도 감소를 통하여 인코딩되는 데이터량을 줄일 수 있다.
The downsized haptic information is then upsized again at the decoder and used to provide haptic feedback for the original image. Therefore, the haptic information can be seen to decrease in resolution as downsized, and the amount of data to be encoded can be reduced by reducing the resolution.

본 발명의 일실시예에 따른 이미지에 햅틱 정보를 인코딩하는 방법을 개략적으로 설명하면 다음과 같다.A method of encoding haptic information in an image according to an embodiment of the present invention will be described below.

원본 이미지가 책상 위에 올려진 반구 형의 물체와 정육면체 형태의 큐브 퍼즐을 위에서 촬영한 이미지라면 원본 이미지에 상응하는 깊이 분포 데이터가 생성될 수 있고, 이 깊이 분포 데이터는 원본 이미지의 가로 x 세로 좌표에 해당하는 높이 값을 가지고 있을 수 있다.If the original image is an image of a hemispherical object placed on a desk and a cube puzzle in the form of a cube, the depth distribution data corresponding to the original image may be generated, and the depth distribution data may be generated in the horizontal x vertical coordinates of the original image. It may have a corresponding height value.

생성된 깊이 분포 데이터는 원본 이미지에 인코딩되기 전에 이미 설명한 바와 같이 크기가 조정(다운사이징)될 필요가 있는데, 이는 깊이 분포 데이터를 하나의 이미지로 보고, 이를 가로 세로 같은 비율로 축소하는 과정에 해당할 수 있다.The generated depth distribution data needs to be resized (downsized) as previously described before being encoded in the original image, which is the process of viewing the depth distribution data as an image and scaling it down to the same aspect ratio. can do.

즉, 깊이 분포 데이터의 다운사이징 과정은 이미지의 크기를 a(0<a<1)배 하는 것으로 볼 수 있다.That is, the downsizing process of the depth distribution data may be regarded as multiplying the size of the image by a (0 <a <1).

이와 같이, 원본 이미지에 햅틱 분포 데이터인 깊이 분포 데이터 크기를 a배 한 다운사이징된 햅틱 분포데이터를 원본 이미지에 인코딩하게되면 시각적으로 원본 이미지와 인코딩된 이미지 사이의 차이를 식별하기 어렵다. 사용자는 햅틱 분포데이터를 포함한 인코딩된 이미지를 기존의 플랫폼에서 시각 정보를 확인하는데 동일하게 사용할 수 있으며, 필요에 따라 크기가 조절된 햅틱 분포 데이터를 디코딩하여 다시 이의 크기를 1/a배 하여 최종 디코딩된 이미지 형태의 햅틱 분포 데이터를 복원할 수 있다. 인코딩 전에 햅틱 분포 데이터가 다운사이징되므로 디코딩시 다시 업사이징하게 되면 햅틱 분포 데이터의 해상도가 원본 이미지보다 떨어지게 된다. 그러나, 상기 기술한 바와 같이 사람의 촉각적 인지과정에서 확인하기 어렵도록 적절히 a를 설정함으로써, 햅틱 정보의 왜곡이 발생하지 않도록 할 수 있다. 이는, 사람의 인지 능력을 벗어나는 데이터를 줄인다는 측면에서 사람의 청각으로 인지할 수 없는 영역의 정보를 감소시킨 mp3 기술과 유사한 측면이 있다.
As such, when the downsized haptic distribution data having a depth of the haptic distribution data, which is a size of the haptic distribution data, is encoded in the original image, it is difficult to visually identify a difference between the original image and the encoded image. The user can use the encoded image including the haptic distribution data in the same way to check the visual information on the existing platform.The user decodes the haptic distribution data, which has been scaled as necessary, and multiplies the size thereof by 1 / a to make the final decoding. It is possible to restore the haptic distribution data in the form of an image. Since the haptic distribution data is downsized before encoding, if the size of the haptic distribution data is upsized again during decoding, the resolution of the haptic distribution data is lower than that of the original image. However, as described above, by properly setting a so that it is difficult to identify during human tactile recognition, it is possible to prevent distortion of the haptic information. This is similar to mp3 technology that reduces information in areas that are unrecognizable to human hearing in terms of reducing data that is beyond the cognitive ability of a person.

이하, 공간적으로 분포된 햅틱 정보의 경우를 중심으로 본 발명에 따른 이미지에 햅틱 정보를 인코딩하는 방법을 설명하기로 한다. 공간적으로 분포된 햅틱 정보의 예는 돌출 정보를 포함하는 깊이 분포 정보, 표면의 임피던스 정보, 재질감 분포 정보 또는 온도 분포 정보 등이 있다.Hereinafter, a method of encoding haptic information in an image according to the present invention will be described based on the case of spatially distributed haptic information. Examples of spatially distributed haptic information include depth distribution information including protrusion information, surface impedance information, texture distribution information, or temperature distribution information.

햅틱 분포 정보를 도 1에 도시된 바와 같이 단계값을 가지는 이미지로 표현하게 되면, 도 1에 도시된 이미지의 폭(w) 및 높이(h)는 원본 이미지의 폭 및 높이와 같은 것을 알 수 있다. 햅틱 분포 정보가 도 2에 도시된 바와 같이 다운사이징되면 다운사이징된 햅틱 분포 정보의 이미지의 폭 및 높이는 w'(w'=aw) 및 h'(h'=ah)가 된다.When the haptic distribution information is represented as an image having a step value as shown in FIG. 1, it can be seen that the width w and height h of the image shown in FIG. 1 are the same as the width and height of the original image. . When the haptic distribution information is downsized as shown in FIG. 2, the width and height of the image of the downsized haptic distribution information become w '(w' = aw) and h '(h' = ah).

실제로 인코딩 되는 햅틱 분포 정보는 다운사이징된 햅틱 분포 정보이므로 햅틱 데이터를 기술하는 헤더 데이터에는 w'와 h' 정보 및 채널수가 포함되게 된다. 이 헤더 데이터는 이미지로부터 2차원 햅틱 분포 데이터를 복원하는 디코딩 과정에서 사용되게 된다.Since the haptic distribution information that is actually encoded is downsized haptic distribution information, the header data describing the haptic data includes w 'and h' information and the number of channels. This header data will be used in the decoding process to recover the two-dimensional haptic distribution data from the image.

예를 들어, 헤더에는 햅틱 정보의 종류, 사이즈 및 채널 수 정보 등이 포함될 수 있다.For example, the header may include the type, size, and channel number information of the haptic information.

예를 들어, 원본 이미지의 폭이 640 픽셀, 높이가 480 픽셀이고, a가 1/10이고, 맵 데이터의 채널 수가 1이고, 값 사이의 구분자를 '_'로 설정한 경우 헤더는 "64_48_1_"과 같은 값을 가질 수 있다. 또한, 햅틱 정보의 특성을 기술함에 있어 깊이 분포 정보의 경우 '01', 재질감 분포 정보의 경우 '02', 온도 분포 정보의 경우 '03'으로 할당한다면, 도 1의 예와 같이 깊이 분포 정보에 상응하는 헤더는 "64_48_1_01_"의 형태일 수 있다.For example, if the original image has a width of 640 pixels, a height of 480 pixels, a is 1/10, the number of channels in the map data is 1, and the separator between the values is set to '_', the header should be "64_48_1_". It can have the same value as In describing the characteristics of the haptic information, if the depth distribution information is assigned to '01' for texture distribution information, '02' for texture distribution information, and '03' for temperature distribution information, the depth distribution information as shown in the example of FIG. The corresponding header may be in the form of "64_48_1_01_".

헤더 정보 자체를 이진수화 시킨다면 '6'의 아스키 코드값이 10진수로 54이므로 이를 이진화 시키면 00110110이 된다. 같은 방식으로 상기 예시 헤더 값의 이진수 값을 나열하면 다음과 같게 된다('_'는 "01011111"로 인코딩).
If you binarize the header information itself, ASCII code value of '6' is 54 in decimal, so if you binarize it, it becomes 00110110. Listing the binary values of the example header values in the same manner results in the following ('_' is encoded as "01011111").

0011011000110100010111110011010000111000010111110011000101011111 001100000011000101011111
0011011000110100010111110011010000111000010111110011000101011111 001100000011000101011111

결정된 이미지 형태의 폭 w', 높이 h'의 햅틱 분포데이터의 각 픽셀별 데이터를 나열하여 하나의 배열로 구성을 하면, 0 또는 1의 집합으로 값이 결정된다. 이 결정된 비트의 집합을 B라 정의하고, 상기 결정된 이진수 형태의 헤더값을 A라 정의한다면, 이진수화 된 인코딩 데이터의 최종 형태는 A와 B 집합의 연결로 정의되는 C가 된다.When data of each pixel of the haptic distribution data having the width w 'and the height h' of the determined image form are arranged in one array, the value is determined by a set of 0 or 1. If this set of determined bits is defined as B and the determined binary header value is A, then the final form of the binarized encoded data is C defined as the concatenation of A and B sets.

다음으로 이진화된 인코딩 데이터를 이미지의 일련의 각 픽셀의 마지막 비트 값과 비교하고, 그 결과에 따라 픽셀값을 변경하는 과정에 대하여 설명하도록 한다.Next, the process of comparing the binary encoded data with the last bit value of each pixel of the image series and changing the pixel value according to the result will be described.

상기 C가 i개의 값을 원소를 갖는다면, m(m>i) 개의 바이트 형태의 픽셀을 갖고 있는 원본 이미지의 첫 픽셀의 바이트 데이터의 마지막 비트(Least Significant Bit; LSB)부터 순차적으로 C의 각 비트와 비교되게 된다.If C has i values of elements, each of C sequentially from the last bit of the byte data (LSB) of the first pixel of the original image having m (m> i) bytes of pixels. Will be compared to the bit.

이 때, 원본 이미지의 픽셀들 각각은 R, G, B 세 개의 부화소 바이트들로 구성될 수 있고, 실시예에 따라 알파, Z 또는 범프 데이터(bump data) 등의 비컬러 데이터(non-color data)를 포함할 수도 있다. 따라서, 본 발명에서 바이트 데이터라 함은 픽셀에 포함되는 R 부화소 바이트, G 부화소 바이트 또는 B 부화소 바이트일 수 있고, 비컬러 데이터일 수도 있다.In this case, each pixel of the original image may be composed of three subpixel bytes of R, G, and B, and according to an embodiment, non-color data such as alpha, Z, or bump data may be used. data). Accordingly, in the present invention, the byte data may be an R subpixel byte, a G subpixel byte, or a B subpixel byte included in a pixel, or may be non-color data.

원본 이미지 전체 픽셀 바이트를 D(D>C)라 할 때, D의 첫 픽셀의 바이트 데이터(R, G, B 중의 하나일 수 있음)의 마지막 비트는, C의 첫 번째 비트와 비교되게 된다.
When the entire pixel byte of the original image is referred to as D (D> C), the last bit of byte data (which may be one of R, G, and B) of the first pixel of D is compared with the first bit of C.

도 3은 C의 헤더부분의 첫 글자가 '6'인 경우의 원본 이미지의 각 픽셀의 바이트 데이터의 LSB와 인코딩 대상 데이터의 각 비트를 나타낸 도면이다.3 is a diagram illustrating LSBs of byte data of each pixel of the original image and each bit of encoding target data when the first letter of the header portion of C is '6'.

도 3을 참조하면, 원본 이미지의 첫 픽셀은 B:132, G:137, R:136, 두 번째 픽셀은 B:137, G:139, R:139, 세 번째 픽셀은 B:139, G:141 인 것을 알 수 있다.Referring to FIG. 3, the first pixel of the original image is B: 132, G: 137, R: 136, the second pixel is B: 137, G: 139, R: 139, and the third pixel is B: 139, G: It can be seen that 141.

즉, 도 3의 첫 행(300)은 원본 이미지의 각 픽셀의 바이트 데이터들을 배열화 시킨 것으로 볼 수 있다.That is, the first row 300 of FIG. 3 may be regarded as an arrangement of byte data of each pixel of the original image.

도 3의 두 번째 행(310)은 각 바이트 데이터의 LSB들을 나타낸다. 도 3에 도시된 예에서 첫 번째 행(300)의 값이 홀수이면 두 번째 행(310)의 값은 '1'이 되고, 첫 번째 행(300)의 값이 짝수이면 두 번째 행(310)의 값은 '0'이 된다.The second row 310 of FIG. 3 shows the LSBs of each byte data. In the example shown in FIG. 3, if the value of the first row 300 is odd, the value of the second row 310 is '1', and if the value of the first row 300 is even, the second row 310 is negative. The value of becomes '0'.

도 3의 세 번째 행(320)은 C의 헤더부분의 첫 글자인 '6'이 이진화된 값을 나타낸다.The third row 320 of FIG. 3 represents a binary value of '6', which is the first letter of the header portion of C. FIG.

즉, 원본 이미지의 각 픽셀의 바이트 데이터의 마지막 비트는 각각 헤더의 비트값들과 비교되어 두 값이 같은 경우에는 원본 이미지 픽셀값을 유지하고, 두 값이 다른 경우에는 원본 이미지 픽셀의 바이트 데이터의 마지막 비트를 변경한다.That is, the last bit of the byte data of each pixel of the original image is compared with the bit values of the header, respectively, to maintain the original image pixel value if the two values are the same, and to compare the byte data of the pixel of the original image pixel if the two values are different. Change the last bit.

도 3에 도시된 예에서, 첫 번째 픽셀의 G 부화소 바이트의 마지막 비트(1)가 인코딩 대상 데이터의 해당 비트(0)와 상이하고(330), 첫 번째 픽셀의 R 부화소 바이트의 마지막 비트(0)가 인코딩 대상 데이터의 해당 비트(1)와 상이하고(340), 두 번째 픽셀의 G 부화소 바이트의 마지막 비트(1)가 인코딩 대상 데이터의 해당 비트(0)와 상이하고(350), 세 번째 픽셀의 G 부화소 바이트의 마지막 비트(1)가 인코딩 대상 데이터의 해당 비트(0)와 상이(360)한 것을 알 수 있다.In the example shown in FIG. 3, the last bit (1) of the G subpixel byte of the first pixel is different from the corresponding bit (0) of the data to be encoded (330), and the last bit of the R subpixel byte of the first pixel. (0) is different from the corresponding bit (1) of the encoding target data (340), and the last bit (1) of the G subpixel byte of the second pixel is different from the corresponding bit (0) of the encoding target data (350) It can be seen that the last bit 1 of the G subpixel byte of the third pixel is 360 different from the corresponding bit 0 of the encoding target data.

도 3에 도시된 예에서 이와 같은 방식으로 8개의 바이트 데이터(B, G, R, B, G, R, B, G)의 마지막 비트값이 결정된다.In the example shown in FIG. 3, the last bit value of the eight byte data B, G, R, B, G, R, B, G is determined in this manner.

결과적으로 인코딩된 이미지의 픽셀값은 원본 이미지의 픽셀값과 비교하여 약간의 수정이 가해지게 된다. 원본 이미지의 형태에 따라, 픽셀의 R, G, B 부화소들 뿐만 아니라 투명도를 포함하는 알파 채널의 바이트 데이터가 활용될 수도 있다.
As a result, the pixel value of the encoded image is slightly modified compared to the pixel value of the original image. Depending on the shape of the original image, byte data of the alpha channel, including transparency, as well as the R, G, and B subpixels of the pixel may be utilized.

도 4는 본 발명의 일실시예에 따른 햅틱 정보 인코딩 방법에 따른 이미지 픽셀 변화를 나타낸 도면이다.4 is a diagram illustrating a change in an image pixel according to a haptic information encoding method according to an embodiment of the present invention.

도 4를 참조하면, 원본 이미지의 첫 번째 픽셀은 B:132, G:137, R:136, 두 번째 픽셀은 B:137, G:139, R:139, 세 번째 픽셀은 B:139, G:141인 것을 알 수 있다.4, the first pixel of the original image is B: 132, G: 137, R: 136, the second pixel is B: 137, G: 139, R: 139, and the third pixel is B: 139, G You can see that it is: 141.

도 3을 통하여 이미 살펴본 바와 같이, 첫 번째 픽셀의 G 및 R 부화소 바이트, 두 번째 픽셀의 G 부화소 바이트 및 세 번째 픽셀의 G 부화소 바이트의 마지막 비트들이 인코딩 대상 데이터의 해당 비트들과 상이하므로 이 부화소 바이트들의 LSB 에만 변경(+1)이 발생하게 된다. 편의를 위해 도 4에는 픽셀 값이 1만큼 증가한 것으로 표시하였으나 실제로 픽셀의 바이트 데이터의 변화는 LSB값이 변경되는 것임은 이미 설명한 바와 같다.As already seen through FIG. 3, the last bits of the G and R subpixel bytes of the first pixel, the G subpixel bytes of the second pixel, and the G subpixel bytes of the third pixel are different from the corresponding bits of the data to be encoded. Therefore, a change (+1) occurs only in the LSBs of these subpixel bytes. For convenience, in FIG. 4, the pixel value is increased by 1, but the change in the byte data of the pixel actually means that the LSB value is changed.

도 3 및 도 4를 통하여 바이트 데이터의 마지막 비트와 인코딩 대상 데이터의 해당 비트들이 비교되는 예를 중심으로 설명하였으나, 비교 과정 없이 인코딩 대상 데이터의 해당 비트들이 바이트 데이터의 마지막 비트에 삽입될 수도 있다.Although the last bit of the byte data and the corresponding bits of the encoding target data are described with reference to FIGS. 3 and 4, the corresponding bits of the encoding target data may be inserted into the last bit of the byte data without comparing.

이와 같은 변경은 사람의 시각적 인지 능력으로 구분하기 어려워, 원본 이미지와 햅틱 정보를 인코딩한 이미지는 육안으로 구분하기 어렵다. 최근 연구결과로는 한 바이트의 여덟 비트중 마지막 네 비트까지의 변경은 사용자가 크게 인지하지 못하는 수준으로 발견 되었다. Such a change is difficult to distinguish the visual cognitive ability of the human, and it is difficult to distinguish between the original image and the image encoded by the haptic information. Recent research has found that the change to the last four bits of an eight bit of a byte is not much noticeable to the user.

따라서, 햅틱 데이터는 바이트 데이터의 하위 4비트 중 적어도 일부에 삽입될 수 있으나, 본 발명에서는 햅틱 데이터가 하위 4비트 중 마지막 비트에 삽입되도록 한다.Therefore, the haptic data may be inserted into at least some of the lower 4 bits of the byte data, but in the present invention, the haptic data is inserted into the last bit of the lower 4 bits.

햅틱 데이터의 두 번째 바이트는 세 번째 픽셀의 남은 부화소 바이트인 R부터 동일한 방식으로 계산되며, 이는 햅틱 정보를 포함한 i개의 C값 전체가 인코딩이 완료되었는지 확인될 때까지 반복된다. 지금까지 설명한 예에서 B, G, R로 부화소 바이트가 정의되어 있는 경우를 예로 들었으나, 일반적으로 이미지의 속성에 따라 부화소의 배열 순서는 다른 순서를 가지게 될 수 있어, 이미지 속성에서 규정하는 부화소의 순서에 따라 본 예시의 설명이 변경될 수 있다.The second byte of haptic data is calculated in the same way from R, the remaining subpixel byte of the third pixel, which is repeated until all of the i C values including haptic information have been verified that the encoding is complete. In the above example, the subpixel bytes are defined as B, G, and R. However, in general, the arrangement order of subpixels may have a different order according to the attributes of the image. The description of this example may be changed according to the order of the subpixels.

인코딩이 된 이후의 나머지 픽셀들의 바이트 데이터들은 원본 이미지의 그것과 동일하게 유지된다. 즉, i개의 햅틱 정보 인코딩이 완료된 경우 m-i개의 이미지의 픽셀의 바이트 데이터들은 원본 그대로 유지된다.After the encoding, the byte data of the remaining pixels remains the same as that of the original image. That is, when i haptic information encoding is completed, byte data of pixels of m-i images is maintained as it is.

햅틱 피드백을 위한 구동부가 복수개 구비되거나, 구동부의 특성상 제어할 수 있는 요소가 복수개인 경우 정보를 다수개의 채널로 설정할 필요가 있는데, 이러한 경우에는 추가 햅틱 분포 이미지를 설정하고 헤더 정보에 채널 별 정보를 기입함으로써 복수개의 햅틱 분포 정보를 저장할 수 있게 된다.
When a plurality of driving units for haptic feedback are provided or when there are a plurality of elements that can be controlled due to the characteristics of the driving unit, it is necessary to set information as a plurality of channels. In this case, an additional haptic distribution image is set and channel information is included in the header information. By writing, a plurality of haptic distribution information can be stored.

이하, 햅틱 정보가 공간적으로 분포된 햅틱 분포정보인 경우의 디코딩 과정에 대하여 설명하도록 한다.Hereinafter, a decoding process when the haptic information is spatially distributed haptic distribution information will be described.

먼저, 햅틱 정보가 인코딩된 이미지가 응용프로그램 내로 로드된다. 이 때, 응용 프로그램은 로드된 이미지 정보의 각각의 픽셀의 부화소값을 읽을 수 있는 특징이 있다.First, an image encoded with haptic information is loaded into an application. At this time, the application program is capable of reading the subpixel value of each pixel of the loaded image information.

로드된 데이터의 헤더데이터를 읽기 위해 각 픽셀의 바이트 데이터들을 배열로서 로드하고, 얻어진 배열의 각각의 바이트 값의 마지막 비트로 새로운 배열을 생성한다. 생성된 새로운 배열을 8개씩 그룹화하여 그룹당 하나의 바이트 값을 생성하여 헤더를 복원한다.Load the byte data of each pixel as an array to read the header data of the loaded data, and create a new array with the last bit of each byte value of the obtained array. The newly created array is grouped by eight to generate one byte value per group to restore the header.

예를 들어, 첫 번째 그룹의 값이 "00110110"과 같다면, 이를 10진수로 변환하면 54가 되며, 이에 해당하는 문자셋을 아스키 코드 기반으로 구하게 되면 문자 '6'을 복원할 수 있다. 이러한 과정을 적절한 크기를 갖는 양의 정수 P개 만큼 읽어 이를 하나의 문자열로 구성한다. 이 때, 양의 정수 P는 헤더 정보의 길이가 전체 인코딩 된 데이터의 극히 일부임을 활용하여, 이미지 데이터의 일부만을 분석하여 실제 인코딩된 햅틱 정보의 길이를 결정하기 위한 것으로, 적절히 결정되어야 디코딩 과정을 효율적으로 수행할 수 있다.For example, if the value of the first group is equal to "00110110", converting it to a decimal number is 54, and if the corresponding character set is obtained based on the ASCII code, the character '6' may be restored. This process reads P integers of appropriate size and organizes them into a string. In this case, the positive integer P is used to determine the length of the actual encoded haptic information by analyzing only a part of the image data by utilizing the length of the header information as a fraction of the entire encoded data. It can be done efficiently.

예를 들어, P는 실제 헤더 정보의 문자열 길이가 길지 않다는 점에서 이진수화를 고려하여 80으로 설정이 가능하나, 인코딩되는 햅틱 정보의 크기에 따라 변경될 수 있다.For example, P may be set to 80 in consideration of the binarization in that the length of the actual header information is not long, but may be changed according to the size of the haptic information to be encoded.

결국, P가 적절히 결정되어야 인코딩된 이미지의 극히 일부만을 읽음으로써 이미지 데이터의 크기가 큰 경우 불필요한 리소스의 낭비를 줄일 수 있게 된다. 또한, 인코딩 시 사용되었던 구분자를 활용하여 "64_48_1_01_..."과 같이 형성된 데이터에서 의미 있는 값들을 추출할 수 있게 된다. 인코딩 과정에서 설명한 헤더 포맷에 따르면, 이미지 형태의 햅틱 데이터의 크기는 64 X 48 X 1의 크기를 갖게 되며, 해당 분포 값은 표면의 돌출 정보를 포함한 깊이 정보를 나타내게 된다. 복수개(두 개)의 맵인 경우 "64_48_1_01_64_48_1_03..." 으로 두 번째의 값은 온도 값을 나타내게 된다.As a result, P needs to be properly determined, so that only a small portion of the encoded image is read, thereby reducing unnecessary resource waste when the size of the image data is large. In addition, it is possible to extract meaningful values from data formed as "64_48_1_01 _..." by using the delimiter used during encoding. According to the header format described in the encoding process, the size of the haptic data in the form of an image has a size of 64 X 48 X 1, and the corresponding distribution value represents depth information including protrusion information of the surface. In the case of a plurality of maps ("two"), the second value represents a temperature value as "64_48_1_01_64_48_1_03 ...".

결정된 헤더정보 이후의 데이터 영역은 헤더 정보 이후의 햅틱 데이터에 상응하는 바이트 데이터들을 로드하고 로드된 데이터 집합으로부터 LSB를 추출하여 새로운 배열로 나열하는 단계를 거쳐서 복원된다. 64 X 48 X 1의 크기의 데이터를 복원하기 위해 64 X 48 X 1의 바이트 데이터(64 X 48 X 1 X 8 비트)들이 이용되게 된다.The data area after the determined header information is restored by loading byte data corresponding to the haptic data after the header information, extracting the LSB from the loaded data set, and arranging the data into a new array. 64 X 48 X 1 byte data (64 X 48 X 1 X 8 bits) is used to recover data of size 64 X 48 X 1.

나열된 배열 데이터를 8개씩 순차적으로 그룹을 지어 바이트 형태의 데이터를 생성하면 햅틱 데이터를 복원할 수 있게 된다.By sequentially grouping the listed array data by eight to generate byte data, the haptic data can be restored.

햅틱 데이터가 복원되면, 복원된 헤더 정보에 근거하여 정해진 크기(w' x h')에 정해진 채널수를 갖는 햅틱 분포 데이터 이미지가 복원된다. 또한, 복원된 햅틱 분포 데이터 이미지는 1/a 만큼 업사이징되어 원본 이미지와 동일한 사이즈(w x h)를 갖게 되는데, 이 과정에서 필요에 따라 햅틱 분포 데이터 이미지가 그레이스케일화될 수 있다. 이는 크기 변경시 발생될 수 있는 RGB 형태의 노이즈를 제거하기 위함이다. When the haptic data is restored, the haptic distribution data image having a predetermined number of channels at a predetermined size (w 'x h') is restored based on the restored header information. In addition, the restored haptic distribution data image is upsized by 1 / a to have the same size (w x h) as the original image. In this process, the haptic distribution data image may be grayscaled as necessary. This is to remove the noise of RGB type that may be generated when the size is changed.

업사이징된 햅틱 분포 데이터를 이용하여 사용자에게 햅틱 피드백이 제공될 수 있다. 이 때, 햅틱 피드백은 랜더링을 통해 제공될 수 있다.Haptic feedback can be provided to the user using the upsized haptic distribution data. In this case, the haptic feedback may be provided through rendering.

햅틱 피드백 제공 과정은 디코딩을 통하여 추출된 햅틱 분포 정보 상의 커서의 위치에서 정보를 추출하는 방식에 따라 단일 정보를 이용하는 경우와 배열 정보를 이용하는 경우로 구분될 수 있다.
The haptic feedback providing process may be divided into a case of using single information and a case of using array information according to a method of extracting information from a position of a cursor on haptic distribution information extracted through decoding.

도 5는 햅틱 상호작용을 위한 커서를 나타낸 도면이다.5 illustrates a cursor for haptic interaction.

도 5를 참조하면, 햅틱 상호작용을 위한 커서(510)가 모니터에 시각적으로 디스플레이되어 있는 것을 알 수 있다.Referring to FIG. 5, it can be seen that a cursor 510 for haptic interaction is visually displayed on a monitor.

일반적으로, 햅틱 상호작용을 위한 커서는 HIP(haptic interaction pointer 또는 haptic interface point)라는 용어로 통칭된다.In general, a cursor for haptic interaction is collectively referred to as the haptic interaction pointer or haptic interface point (HIP).

커서(510)가 디스플레이되는 모니터에는 이미지가 표시되어 있고, 표시되는 이미지에는 햅틱 정보(깊이 분포 정보)도 포함되어 있는 것으로 볼 수 있다. 이 때, 햅틱 분포 정보는 업사이징되어 있을 수 있다.An image is displayed on the monitor on which the cursor 510 is displayed, and the displayed image also includes haptic information (depth distribution information). At this time, the haptic distribution information may be upsized.

커서(510)는 모니터에 시각적으로 표시되는 이미지 위에서 사용자의 움직임에 따라 위치를 달리하며 움직일 수 있다. The cursor 510 may move in different positions according to the user's movement on the image visually displayed on the monitor.

이 때, 단일 정보를 활용하는 방식은 디코딩을 통하여 추출된 햅틱 분포 정보 상의 커서 위치에 상응하는 그레이스케일 값 자체 또는 커서 위치 인근값의 평균으로 단일 값(v_hip)을 결정하고, 단일 값을 이용하여 구동부를 구동하는 방식이다.At this time, the method of utilizing the single information determines a single value (v_hip) by the grayscale value itself corresponding to the cursor position on the haptic distribution information extracted through decoding or the average of the cursor position neighborhood, and uses a single value. The driving unit is driven.

이에 반해, 배열 정보를 이용하는 방식은 사용자가 시각적으로 확인이 불가능한 햅틱 분포 정보를 포함한 이미지 상에서 위치 입력장치인 햅틱 암 또는 마우스 등을 이용해 제어하는 커서의 주변 영역을 가로 n 등분, 세로 m 등분하여 총 n x m 등분의 영역을 확보하는 단계를 거치는데, 이 때 확보되는 n x m 영역은 구동부의 개수에 맞추어 가로와 세로 분할 개수가 결정되게 된다. 즉, 배열 정보를 이용하는 방식은 햅틱 피드백 생성을 위해 사용되는 피드백 제시장치가 복수 개의 입력을 통해 작동하는 경우에 해당한다.On the other hand, the method of using the array information divides the area around the cursor, which is controlled by using a haptic arm or a mouse, which is a position input device, on the image including the haptic distribution information, which cannot be visually confirmed, by dividing horizontally n equally and vertically m. The nxm region is secured in equal parts, and the number of horizontal and vertical divisions is determined according to the number of driving parts. That is, the method of using the array information corresponds to a case where the feedback presenting device used for generating the haptic feedback operates through a plurality of inputs.

이 때, 각각의 영역에 대표 그레이스케일 값을 영역별 평균, 중간값과 같은 대표값을 구하는 방식을 통해 구하게 되고, 이 값에 맞추어 각각의 구동부의 움직임을 결정하게 된다.At this time, the representative gray scale value is calculated for each region through a method of obtaining representative values such as average and median value for each region, and the movement of each driving unit is determined according to this value.

예를 들어, 햅틱 분포 정보가 반구형의 모양 및 정육면체 형의 모양에 해당하는 깊이 분포 정보인 경우 커서가 반구형의 모양의 한 쪽 끝부분에 위치한 경우 커서의 주변 영역은 가로 x 세로 30 x 30 픽셀 영역일 수 있다.For example, if the haptic distribution information is the depth distribution information corresponding to the shape of a hemispherical shape and the shape of a cube, when the cursor is located at one end of the shape of the hemispherical shape, the area around the cursor is 30 x 30 pixel areas. Can be.

피드백 제시장치가 가로 x 세로 3 x 3의 구동부를 구비하는 경우 30 x 30의 커서의 주변 영역으로부터 3 x 3의 대표값이 결정되어야 하고 이 때 하나의 대표값은 10 x 10 픽셀 영역에 대한 대표값일 수 있다.If the feedback presenter has a horizontal x vertical 3 x 3 drive, a representative value of 3 x 3 must be determined from the peripheral area of the 30 x 30 cursor, with one representative value representing a 10 x 10 pixel area. Can be a value.

결국 제공되는 3 x 3 대표값은 반구형의 모양의 끝 쪽으로 갈수록 수직 방향 돌출이 덜한 특성을 갖는 깊이 분포 정보가 되며 햅틱 피드백 장치는 이를 이용하여 사용자에게 햅틱 피드백을 제공하게 된다.
Eventually, the 3 x 3 representative value provided becomes depth distribution information having a characteristic of less vertical protrusion as it goes toward the end of the hemispherical shape, and the haptic feedback device uses this to provide haptic feedback to the user.

도 6은 햅틱 분포 정보와 커서의 햅틱 상호작용을 설명하기 위한 도면이다.6 is a diagram for explaining haptic interaction between haptic distribution information and a cursor.

도 6을 참조하면, 모니터에 표시되는 이미지에는 깊이 분포 정보(620)가 포함되어 있고, 커서(510)의 움직임과 깊이 분포 정보(620)의 관계에 따라 햅틱 피드백이 생성되는 것을 알 수 있다.Referring to FIG. 6, it can be seen that the image displayed on the monitor includes depth distribution information 620, and haptic feedback is generated according to the relationship between the movement of the cursor 510 and the depth distribution information 620.

예를 들어, 햅틱 피드백 제시장치로서 햅틱 암(haptic arm)이 장착되면, 사용자가 햅틱 암에 깊이 방향(z축)으로 힘(610)을 가하도록 움직이는 경우 깊이 분포 정보에 따라 물체가 돌출되는 정도에 따라 반력을 느끼는 시점이 달라지는데, 이를 통해 사용자는 시각 정보와 동시에, 가하는 힘에 대한 반력으로서 햅틱 정보를 느낄 수 있게 된다.
For example, when a haptic arm is mounted as a haptic feedback presenter, the degree of protrusion of an object according to depth distribution information when the user moves the haptic arm to apply a force 610 in the depth direction (z-axis) The reaction time changes depending on the user. This enables the user to feel the haptic information as a reaction to the force applied at the same time as the visual information.

도 7은 햅틱 암을 이용한 햅틱 피드백 제시장치의 일 예를 나타낸 도면이다.7 is a diagram illustrating an example of a haptic feedback presenting apparatus using a haptic arm.

도 7을 참조하면, 햅틱 암을 이용한 햅틱 피드백 제시장치는 원본 이미지가 디스플레이되는 모니터(710), 햅틱 암 구동을 위한 제어기(720), 햅틱 암 시스템(730) 및 앤드 이펙터(end effector)(740)를 포함한다.Referring to FIG. 7, a haptic feedback presenting apparatus using a haptic arm includes a monitor 710 in which an original image is displayed, a controller 720 for driving a haptic arm, a haptic arm system 730, and an end effector 740. ).

도 7에 도시된 예에서 사용자가 가하는 힘에 대한 반력은 햅틱 암 구동을 위한 제어기(720)를 통해 제어되는 햅틱 암 시스템(730)의 앤드 이펙터(740)에서 사용자에게 전달되게 된다.In the example shown in FIG. 7, the reaction force against the force exerted by the user is transmitted to the user at the end effector 740 of the haptic arm system 730 controlled through the controller 720 for driving the haptic arm.

즉, 커서의 깊이 방향(z축) 값을 HIP_z라 할 때, 디코딩된 햅틱 분포 정보의 HIP_z에서의 그레이스케일 값(v_hip)과 HIP_z의 함수로서, 반력의 크기를 결정할 수 있는데 이를 편의상 f(v_hip, HIP_z)라 한다. 이를 통해, 깊이나 재질감 등의 햅틱 피드백을 사용자에게 전달할 수 있게 된다.That is, when the depth direction (z-axis) of the cursor is HIP_z, the magnitude of the reaction force can be determined as a function of the grayscale value (v_hip) and HIP_z in HIP_z of the decoded haptic distribution information. , HIP_z). Through this, haptic feedback such as depth or texture can be delivered to the user.

예를 들어, 햅틱 분포 정보가 임피던스 정보를 표현한다면, 커서 위치에서의 깊이 방향(z축) 속도를 HIP_z_vel, 탄성 계수를 k, 댐핑 계수를 b라 한다면, 햅틱 피드백은 f(v_hip, HIP_z, HIP_z_vel, k, b)의 함수로서 결정된다. 필요에 따라, 가상환경의 커서에 설정된 무게(m) 등이 함수의 변수가 될 수도 있다.For example, if the haptic distribution information represents impedance information, if the depth direction (z-axis) velocity at the cursor position is HIP_z_vel, the elastic modulus is k, and the damping coefficient is b, the haptic feedback is f (v_hip, HIP_z, HIP_z_vel). , k, b). If necessary, the weight (m) set at the cursor of the virtual environment may be a function variable.

햅틱 암(haptic arm)의 경우 추출된 단일 그레이스케일 값(v_hip)에 의해 결정되는 반력의 크기와 방향이 각 암(arm)의 관절에 위치한 모터 구동에 필요한 값의 조합으로 내부적으로 결정되어 제어가 되는데, 이러한 제어 과정을 로봇의 역기구학(inverse kinematics)이라 한다.In the case of a haptic arm, the magnitude and direction of the reaction force determined by the extracted single grayscale value (v_hip) is determined internally by a combination of values necessary for driving a motor located at a joint of each arm. This control process is called inverse kinematics of robots.

햅틱 피드백 제시장치로서 진동을 유발하는 편심 모터, 압전소자, 솔레노이드, 초음파 모터가 사용되는 경우 햅틱 피드백 제공은 다음과 같은 과정을 통해 수행된다.When an eccentric motor, a piezoelectric element, a solenoid, or an ultrasonic motor inducing vibration is used as the haptic feedback presenting device, haptic feedback is provided through the following process.

사용자는 접촉을 느끼고자 하는 지점으로 커서(HIP)를 이동시키는데, 이는 손가락이나 스타일러스 펜을 이용한 휴대 단말기에 대한 터치 입력을 통해 수행되거나 직접 접촉이 아닌 별도의 인터페이스를 통해 수행될 수 있다.The user moves the cursor (HIP) to a point where a user wants to feel a touch, which may be performed through a touch input to a mobile terminal using a finger or a stylus pen or through a separate interface rather than a direct contact.

디코딩 과정을 통해 추출된 햅틱 분포 정보 상의 커서(HIP)의 위치에 상응하는 그레이스케일값 자체 또는 인근값의 평균으로 결정된 단일 값(v_hip)의 함수로 구동부의 전류/전압을 결정하여 진동 자극의 크기 또는 주파수를 결정한다. 일반적으로 전압의 경우 널리 알려진 PWM(Pulse Width Modulation)에 의한 유효 전압으로 계산이 되는데, 이는 모터의 ON/OFF를 미세 시간 구간 내에서 제어함으로써 마치 가해지는 전압보다 작은 전압이 걸리는 효과를 얻을 수 있는 원리를 일컫는다.The magnitude of the vibration stimulus by determining the current / voltage of the drive unit as a function of a single value (v_hip) determined as an average of the grayscale value itself or the neighboring value corresponding to the position of the cursor (HIP) on the haptic distribution information extracted through the decoding process. Or determine the frequency. In general, the voltage is calculated as the effective voltage by the well-known pulse width modulation (PWM), which controls the on / off of the motor within a fine time interval, so that the effect of taking a voltage smaller than the applied voltage can be obtained. It refers to the principle.

햅틱 피드백 제시장치로서 펠티에 소자(Peltier device)가 장착된 경우, 햅틱 피드백 제공은 디코딩을 통하여 추출된 햅틱 분포 정보 상의 커서(HIP) 위치에 상응하는 그레이스케일 값 자체 또는 인근값의 평균으로 결정된 단일 값(v_hip)의 함수로 구동부의 전류/전압을 결정하여, 온감을 제시하게 된다.When a Peltier device is mounted as the haptic feedback presenter, the haptic feedback provision is a single value determined as an average of the grayscale value itself or the neighborhood value corresponding to the cursor (HIP) position on the haptic distribution information extracted through decoding. By determining the current / voltage of the driver as a function of (v_hip), the warmth is presented.

특별히, 펠티에 소자는 전류가 흐르는 방향에 따라 일면의 냉각 또는 가열이 결정되는데, 결정된 단일 값(v_hip)에 근거하여, 특정 문턱값(v_th) 이상/이하 여부에 따라 전류의 방향을 결정하고, 차이의 절대값(|v_hip - v_th|)의 함수로서 전류의 세기를 결정하는 방식을 사용할 수 있다.In particular, in the Peltier device, the cooling or heating of one surface is determined according to the direction in which the current flows. Based on the determined single value (v_hip), the direction of the current is determined according to whether or not the specific threshold value (v_th) is higher or lower, and the difference is determined. A method of determining the strength of the current can be used as a function of the absolute value of | (v_hip-v_th |).

배열 형태의 정보 추출 방식은 전술한 바와 같이 햅틱 피드백 정보를 포함한 이미지 상에서 위치 입력장치인 햅틱 암 또는 마우스 등을 이용하여 제어하는 커서(HIP)의 주변 영역을 가로 n 등분, 세로 m 등분하여 결정된 n x m 등분 영역의 대표 그레이스케일 값(v_th[n x m])을 활용하는 방식이다. 이러한 방식은 주로 복수의 구동부를 구비한 햅틱 시스템에서 사용되게 된다.As described above, the information extraction method in the form of an array is nxm determined by dividing the peripheral area of the cursor (HIP) by horizontal n equals and vertical m by using a haptic arm or a mouse, which is a position input device, on the image including the haptic feedback information. This method utilizes a representative grayscale value (v_th [nxm]) of the equal region. This approach is mainly used in haptic systems with a plurality of drives.

햅틱 피드백장치로서 질감제시장치는 예를 들어 수직방향 돌출 높이를 조절하거나 수직방향 돌출의 주파수를 가변할 수 있는 장치일 수 있다. 질감제시장치가 사람에게 자극을 가하는 접촉부분은 각각의 구동부에 의해 움직임을 유발하도록 제어되는데, 편의상 접촉부분 음영의 정도가 흰색에 가까울수록, 즉 그레이스케일 값이 255에 가까울수록 구동부가 높은 돌출을 유발하도록 설정될 수 있다.The texture controller as a haptic feedback device may be, for example, a device that can adjust the height of the vertical protrusion or change the frequency of the vertical protrusion. The contact portion that the texture display device stimulates a person is controlled to cause movement by each driving portion. For convenience, the closer the shade of the contact portion is to white, that is, the closer the grayscale value is to 255, the higher the protrusion of the driving portion is. Can be set to trigger.

사용자는 시각적으로 확인이 불가한 햅틱 정보를 포함한 이미지 위의 커서(HIP)를 위치 입력장치인 마우스 등을 이용해 움직이게 되는데, 이 때 눈에 보이지 않는 햅틱 정보 상의 커서의 주변 영역을 확보할 수 있다. 이 때, 주변 영역은 가로와 세로 3등분씩 하여 총 9등분의 영역일 수 있다. 이 때, 확보되는 영역은 질감제시장치의 접촉 부분의 수와 같도록 설정될 수 있다. The user moves the cursor (HIP) on the image including the haptic information, which cannot be visually confirmed, using a mouse, which is a location input device. At this time, the peripheral area may be a total of nine equal parts by three horizontal and vertical divisions. At this time, the area secured may be set to be equal to the number of contact portions of the texture display device.

각각 영역의 대표 그레이스케일 값을 영역별 평균이나 중간값과 같은 대표값의 집합을 구하는 방식을 통해 구하게 되고, 이 값에 맞추어 접촉자의 수직방향 돌출 높이나 수직방향 돌출의 주파수와 같은 동적 특성을 결정할 수 있다. 이러한 과정을 통해 사용자는 인코딩된 이미지 통해 깊이 정보 또는 재질감 정보의 햅틱 피드백을 느낄 수 있게 된다.The representative grayscale value of each region is obtained by obtaining a set of representative values such as the average or median value of each region, and the dynamic characteristics such as the vertical protrusion height of the contactor or the frequency of the vertical protrusion can be determined according to this value. have. Through this process, the user can feel haptic feedback of depth information or texture information through the encoded image.

햅픽 피드백 장치로서 펠티에 소자가 활용되는 경우, 상기 결정된 그레이스케일값의 집합(v_hip[9])에 근거하여 각각의 구동부의 전류/전압을 결정하여 온감을 제어하게 된다. 특별히 펠티에 소자는 전류가 흐르는 방향에 따라 일면의 냉각 또는 가열이 결정되는데, 결정된 단일 값의 집합(v_hip[9])에 근거하여, 특정 문턱값(v_th[9]) 이상/이하 여부에 따라 전류의 방향을 결정하고, 차이의 절대값에 비례하여 구동부 각각의 전류의 세기를 결정하는 방식이 사용될 수 있다.
When the Peltier device is used as the haptic feedback device, the sense of temperature is controlled by determining the current / voltage of each driving unit based on the determined set of grayscale values v_hip [9]. In particular, in Peltier devices, the cooling or heating of one surface is determined according to the direction in which the current flows. Based on the determined single value set (v_hip [9]), the current depends on whether or not the specific threshold value (v_th [9]) is higher or lower. A method of determining the direction of and determining the strength of each current of the driver in proportion to the absolute value of the difference may be used.

이하, 햅틱 정보가 시간적으로 분포한 정보인 경우의 인코딩 과정에 대해 설명한다.Hereinafter, an encoding process when the haptic information is information distributed in time will be described.

시간적으로 분포하는 햅틱 정보의 예로는 시간에 따라 그 값을 달리하는 박자 정보나 주파수의 변화 정보 등이 있다. 이미지가 시간적으로 분포하는 햅틱 정보를 포함하는 경우 정해진 시간간격을 dt라 할 때 특정 시간에서 햅틱 정보 값이 0인 경우 해당 dt 기간 동안 진동은 멈추게 되며, 0이 아닌 값을 갖는 경우 구동부에서는 그 값에 해당하는 전류 또는 전압이 인가되어 구동이 일어날 수 있다. 이러한 햅틱 정보는 휴대 단말기 등에 시간에 따라 다른 진동이 발생하도록 하는 어플리케이션에 활용될 수 있다.
Examples of haptic information distributed in time include time signature information that varies in value over time, frequency change information, and the like. If the image contains haptic information that is distributed in time, when the predetermined time interval is called dt, if the haptic information value is 0 at a specific time, the vibration stops during the corresponding dt period. Driving may occur by applying a current or voltage corresponding thereto. The haptic information may be utilized in an application that causes different vibrations to occur in a mobile terminal or the like over time.

도 8은 시간적으로 값을 달리하는 햅틱 정보의 예를 나타낸 도면이다.8 is a diagram illustrating an example of haptic information that varies in time.

도 8을 참조하면, 기설정된 단위시간(dt) 간격으로 값을 달리하는 햅틱 정보(810)에 따라 시간(820)에 따른 진동강도(830)가 설정되는 것을 알 수 있다.Referring to FIG. 8, it can be seen that the vibration intensity 830 according to the time 820 is set according to the haptic information 810 having different values at predetermined unit time dt intervals.

구동부가 진동모터인 경우 기계적 응답시간을 고려하여 dt를 수십 ms ~ 수백 ms 정도로 지정하는 것이 바람직하다.When the driving unit is a vibration motor, it is preferable to specify dt in the range of several tens ms to several hundred ms in consideration of the mechanical response time.

시간적으로 값을 달리하는 햅틱 정보(810)는 헤더 부분을 갖게 될 수 있다. 헤더는 햅틱 정보(810) 부분의 데이터 길이 등의 속성 정보를 포함할 수 있다.Haptic information 810 that varies in time may have a header portion. The header may include attribute information such as the data length of the haptic information 810 portion.

예를 들어, 햅틱 정보(810)의 각 값이 간격 dt를 250ms로 하여 설정된 것이고, 22개의 일련의 값을 포함하며 2회 반복을 위하여 생성된 것이라면, 헤더는 "250_22_2_"와 같은 형태로 기술될 수 있다.For example, if each value of the haptic information 810 is set with an interval dt of 250 ms, includes 22 series values, and is generated for two repetitions, the header may be described as "250_22_2_". Can be.

전술한 공간적 분포 데이터와 시간적으로 값을 달리하는 햅틱 정보를 구분하기 위해 별도의 헤더를 정의할 수도 있음은 당해 기술분야에서 통상의 지식을 가진 자라면 쉽게 생각해 낼 수 있다.It can be easily conceived by those skilled in the art that a separate header may be defined to distinguish the above-described spatial distribution data and haptic information having different values in time.

헤더 "250_22_2_"의 각 글자에 해당하는 아스키 코드값을 이진수화 시킨다면 다음과 같게 된다. 공백은 데이터 구분을 위해 편의상 추가한 것으로 실제 데이터에는 포함되지 않는다.
If the ASCII code value corresponding to each character of the header "250_22_2_" is binarized, it is as follows. Spaces are added for the purpose of data separation and are not included in the actual data.

00110010 00110101 00110000 01011111 00110010 00110010 01011111 00110010 01011111
00110010 00110101 00110000 01011111 00110010 00110010 01011111 00110010 01011111

예시된 햅틱 정보(810)는 A를 255로 설정하는 경우 " 255 255 0 255 255 0 255 0 255 0 255 255 0 255 255 0 255 255 0 255 255 255"이 되며 이는 다음과 같이 이진화될 수 있다.
The illustrated haptic information 810 becomes “255 255 0 255 255 0 255 0 255 0 255 255 0 255 255 0 255 255 0 255 255 255” when A is set to 255, which can be binarized as follows.

11111111111111110000000011111111111111110000000011111111000000001111111100000000111111111111111100000000111111111111111100000000111111111111111100000000111111111111111111111111
11111111111111110000000011111111111111110000000011111111000000001111111100000000111111111111111100000000111111111111111100000000111111111111111100000000111111111111111111111111

도 9는 "250_22_2_"이 헤더로 사용되고 도 8에 도시된 예의 햅틱 정보가 인코딩되는 경우의 인코딩 대상 데이터의 예를 나타낸 도면이다.FIG. 9 is a diagram illustrating an example of encoding target data when "250_22_2_" is used as a header and haptic information of the example shown in FIG. 8 is encoded.

도 9를 참조하면, 헤더 정보(910)와 햅틱 정보(920)가 일련의 데이터 형태로 인코딩되는 것을 알 수 있다.Referring to FIG. 9, it can be seen that the header information 910 and the haptic information 920 are encoded into a series of data types.

도 9에 도시된 일련의 비트 데이터는 이미 설명한 방식으로 원본 이미지를 이용하여 인코딩된다. 즉, 도 9에 도시된 일련의 비트들은 각각 원본 이미지 픽셀의 바이트 데이터의 LSB에 인코딩되게 된다.The series of bit data shown in FIG. 9 is encoded using the original image in the manner already described. That is, the series of bits shown in FIG. 9 are each encoded in the LSB of the byte data of the original image pixel.

시간적으로 값을 달리하는 햅틱 정보를 통해 사용자는 이미지를 시각적으로 확인함과 동시에 촉각적으로 박자 정보와 같이 시간에 따라 변화하는 진동 정보를 제공 받을 수 있다.Through haptic information that varies in value over time, the user can visually check the image and at the same time, can be tactilely provided with vibration information that changes with time, such as time signature information.

햅틱 피드백을 위한 구동부가 복수 개이거나, 구동부의 특성상 제어할 수 있는 요소가 복수개인 경우, 피드백 정보를 다수의 채널로 설정할 필요가 있다. 다수의 채널을 위한 햅틱 정보는 헤더 정보에 채널의 수를 기입하고, 구분자로 구분된 추가 데이터를 기입함으로서 쉽게 구현될 수 있다. When there are a plurality of driving units for haptic feedback or a plurality of elements that can be controlled due to the characteristics of the driving unit, it is necessary to set the feedback information to a plurality of channels. Haptic information for multiple channels can be easily implemented by writing the number of channels in the header information and writing additional data separated by delimiters.

이하, 햅틱 정보가 시간적으로 분포한 분포정보인 경우의 디코딩 과정에 대해 설명한다. 이미지에 인코딩된 시간적으로 분포한 햅틱 정보는, 햅틱 정보의 길이, 속성 등을 기술하는 헤더 정보를 활용하여 단말기 등에 의해 디코딩되고, 헤더에서 정의한 촉각 자극에 근거하여 진동자극을 생성하게 된다.Hereinafter, a decoding process when the haptic information is distribution information distributed in time will be described. The temporally distributed haptic information encoded in the image is decoded by the terminal or the like using header information describing the length, attributes, and the like of the haptic information, and generates a vibrational stimulus based on the tactile stimulus defined in the header.

이러한 진동 정보를 생성하기 위한 구동부로는 진동모터, 압전소자, 솔레노이드 액추에이터, 초음파 모터 등이 사용될 수 있다. As a driving unit for generating such vibration information, a vibration motor, a piezoelectric element, a solenoid actuator, an ultrasonic motor, or the like may be used.

이상에서 설명한 햅틱 정보의 인코딩 디코딩 방법에서, 원본 이미지의 확장자가 "gif"의 경우 단일 이미지뿐 아니라, 여러 장의 이미지를 특정 시간 간격으로 디스플레이하는 기능을 포함하는데, 본 발명에 따른 햅틱 정보의 인코딩/디코딩 방법은 이러한 animated gif 형식에도 적용가능하다. 이 경우 각각의 이미지를 프레임이라 한다면, 본 발명에 따른 인코딩 방법과 동일하게 각 프레임별로 햅틱 정보를 인코딩/디코딩할 수 있다. 다만, 디코딩의 경우 원본 animated gif에서 규정한 이미지 사이의 시간 간격에 맞추어 디코딩된 햅틱 정보를 이용한 햅틱 피드백을 제공할 수 있다.
In the above-described encoding and decoding method of haptic information, when the extension of the original image is "gif", it includes a function of displaying not only a single image but also several images at specific time intervals. The decoding method is also applicable to this animated gif format. In this case, if each image is called a frame, haptic information may be encoded / decoded for each frame in the same manner as the encoding method according to the present invention. However, in case of decoding, haptic feedback using haptic information decoded according to a time interval between images defined in the original animated gif may be provided.

도 10은 본 발명의 일실시예에 따른 이미지에 햅틱 정보를 인코딩하는 방법을 나타낸 동작 흐름도이다.10 is a flowchart illustrating a method of encoding haptic information in an image according to an embodiment of the present invention.

도 10을 참조하면, 본 발명의 일실시예에 따른 이미지에 햅틱 정보를 인코딩하는 방법은 먼저 햅틱 정보를 생성한다(S1010).Referring to FIG. 10, a method of encoding haptic information in an image according to an embodiment of the present invention first generates haptic information (S1010).

이 때, 햅틱 정보는 공간적으로 분포되어 있는 깊이 분포 정보, 표면 임피던스 분포 정보, 온도 분포 정보 및 표면 재질 분포 정보 중 어느 하나의 햅틱 분포 데이터일 수 있다.In this case, the haptic information may be haptic distribution data of any one of spatially distributed depth distribution information, surface impedance distribution information, temperature distribution information, and surface material distribution information.

이 때, 단계(S1010)는 데이터 사이즈를 줄이는 다운사이징 과정을 포함하여 상기 햅틱 정보를 생성할 수 있다.In this case, step S1010 may generate the haptic information including a downsizing process of reducing the data size.

이 때, 상기 햅틱 정보는 시계열 진동 정보일 수 있다.In this case, the haptic information may be time series vibration information.

또한, 햅틱 정보를 인코딩하는 방법은 상기 햅틱 정보 및 상기 햅틱 정보와 관련된 헤더 정보를 이용하여 인코딩 대상 데이터를 생성한다(S1020).In addition, the method for encoding haptic information generates the data to be encoded using the haptic information and the header information associated with the haptic information (S1020).

즉, 단계(S1020)는 상기 햅틱 정보와 관련된 헤더 정보를 생성하고, 상기 헤더 정보와 상기 햅틱 정보를 연결하여 인코딩 대상 데이터를 생성한다.That is, step S1020 generates header information related to the haptic information, and generates encoding target data by connecting the header information and the haptic information.

또한, 햅틱 정보를 인코딩하는 방법은 인코딩 대상 데이터를 이진화한다(S1025).In addition, the method for encoding haptic information binarizes the encoding target data (S1025).

즉, 단계(S1025)는 단계(S1020)에서 생성된 인코딩 대상 데이터를 이진화하여 비트별로 인코딩될 수 있는 상태로 만든다.That is, step S1025 binarizes the encoding target data generated in step S1020 so that the data can be encoded bit by bit.

또한, 햅틱 정보를 인코딩하는 방법은 이진화된 각 비트와 원본 이미지의 픽셀들 각각의 바이트 데이터의 LSB가 같은지 여부를 판단한다(S1030).In addition, the method of encoding haptic information determines whether the LSBs of the byte data of each of the binarized bits and the pixels of the original image are the same (S1030).

단계(S1030)의 판단 결과, 이진화된 비트와 원본 이미지의 픽셀의 바이트 데이터의 LSB가 같은 경우에는 원본 아미지의 픽셀의 바이트 데이터를 그대로 유지한다(S1035).As a result of the determination in step S1030, when the binary bits and the LSB of the byte data of the pixel of the original image are the same, the byte data of the pixel of the original image is kept as it is (S1035).

단계(S1030)의 판단 결과, 이진화된 비트와 원본 이미지의 픽셀의 바이트 데이터의 LSB가 다른 경우에는 원본 이미지의 픽셀의 바이트 데이터의 LSB를 이진화된 비트값으로 설정한다(S1033).As a result of the determination in step S1030, if the LSB of the byte data of the pixel of the original image is different from the binarized bit, the LSB of the byte data of the pixel of the original image is set to a binary bit value (S1033).

단계(S1035) 또는 단계(S1033)가 수행된 후, 햅틱 정보를 인코딩하는 방법은 이진화된 비트 데이터 전부가 인코딩 되었는지 여부를 판단한다(S1040).After step S1035 or step S1033 is performed, the method of encoding haptic information determines whether all of the binarized bit data are encoded (S1040).

단계(S1040)의 판단 결과 이진화된 비트 데이터 전부가 인코딩되지 아니한 경우, 햅틱 정보를 인코딩하는 방법은 단계(S1030)로 돌아가서 인코딩 과정을 반복하게 된다.If all of the binarized bit data are not encoded as a result of the determination in step S1040, the method of encoding haptic information returns to step S1030 to repeat the encoding process.

단계(S1040)의 판단 결과 이진화된 비트 데이터 전부가 인코딩된 경우, 햅틱 정보를 인코딩하는 방법은 원본 이미지의 나머지 픽셀들의 바이트 데이터의 LSB를 그대로 유지한다(S1050).When all of the binarized bit data is encoded as a result of the determination in step S1040, the method of encoding haptic information maintains the LSB of the byte data of the remaining pixels of the original image as it is (S1050).

도 10에 도시된 예에서, 이진화된 비트 데이터의 인코딩은 이진화된 각 비트와 원본 이미지의 픽셀들 각각의 바이트 데이터의 LSB를 비교하여 수행되는 것을 예로 들어 설명하였으나, 그 경우에 한정하여 본 발명의 권리범위를 정하여서는 안 된다. 즉, 이미지 픽셀들 각각의 바이트 데이터의 최하위 비트(Least Significant Bit; LSB)를 이용하여 상기 인코딩 대상 데이터를 인코딩하여 인코딩된 이미지를 생성하는 한 본 발명의 권리범위 내로 볼 것이다.In the example illustrated in FIG. 10, the encoding of the binarized bit data is performed by comparing LSBs of byte data of each of the binarized bits and the pixels of the pixels of the original image as an example. However, the present invention is limited to the case. The scope of rights should not be defined. That is, as long as the encoded object data is encoded by using the least significant bit (LSB) of byte data of each of the image pixels, it will be considered within the scope of the present invention.

즉, 이진화된 비트 데이터의 인코딩은 이진화된 인코딩 대상 데이터의 각 비트가 상기 원본 이미지 픽셀들 중 일부 픽셀들 각각의 바이트 데이터의 최하위 비트에 삽입되도록 하고, 상기 원본 이미지 픽셀들 중 나머지 픽셀들의 바이트 데이터의 최하위 비트들은 원래대로 유지되도록 하는 것일 수 있다.That is, encoding of the binarized bit data causes each bit of the binarized encoding target data to be inserted into the least significant bit of the byte data of each of some pixels of the original image pixels, and the byte data of the remaining pixels of the original image pixels. The least significant bits of may be to remain intact.

이 때, 원본 이미지 픽셀들 각각의 바이트 데이터는 R, G, B 부화소 바이트 및 비컬러 데이터(non-color data) 중 어느 하나 이상일 수 있다.
In this case, the byte data of each of the original image pixels may be at least one of R, G, and B subpixel bytes and non-color data.

도 11은 본 발명의 일실시예에 따른 이미지로부터 햅틱 정보를 디코딩하는 방법을 나타낸 동작 흐름도이다.11 is a flowchart illustrating a method of decoding haptic information from an image according to an embodiment of the present invention.

도 11을 참조하면, 이미지로부터 햅틱 정보를 디코딩하는 방법은 먼저 인코딩된 이미지를 로드한다(S1110).Referring to FIG. 11, in the method of decoding haptic information from an image, first, an encoded image is loaded (S1110).

또한, 햅틱 정보를 디코딩하는 방법은 로드된 이미지로부터 기설정된 개수의, 픽셀의 바이트 데이터들을 로드한다(S1121).In addition, the method of decoding the haptic information loads a predetermined number of byte data of the pixel from the loaded image (S1121).

이 때, 바이트 데이터는 R, G, B 부화소 바이트 및 비컬러 데이터(non-color data) 중 어느 하나 이상일 수 있다.In this case, the byte data may be at least one of R, G, and B subpixel bytes and non-color data.

또한, 햅틱 정보를 디코딩하는 방법은 로드된 바이트 데이터들의 LSB를 나열하여 LSB들로 이루어진 비트스트림을 생성한다(S1122).In addition, the method for decoding the haptic information generates a bitstream consisting of LSBs by enumerating the LSBs of the loaded byte data (S1122).

또한, 햅틱 정보를 디코딩하는 방법은 나열된 LSB들의 비트스트림을 8개씩 묶어서 바이트값을 결정한다(S1123).In addition, the method for decoding the haptic information determines a byte value by grouping eight bitstreams of the listed LSBs by eight (S1123).

또한, 햅틱 정보를 디코딩하는 방법은 결정된 바이트값을 이용하여 햅틱 정보와 관련된 헤더 정보를 복원한다(S1125).In addition, the method for decoding the haptic information restores the header information related to the haptic information by using the determined byte value (S1125).

또한, 햅틱 정보를 디코딩하는 방법은 상기 인코딩된 이미지 나머지 픽셀들 중 헤더 정보를 이용하여 결정된 개수의 픽셀의 바이트 데이터들을 로드한다(S1131).In addition, the method of decoding the haptic information loads byte data of the number of pixels determined by using header information among the remaining pixels of the encoded image (S1131).

헤더 정보가 복원되면 헤더 정보를 통하여 인코딩 되어있는 햅틱 정보의 속성 및 크기를 알 수 있으므로 이를 이용하면 햅틱 정보를 디코딩하기 위해 로드해야 할 바이트 데이터들의 개수를 정확히 알 수 있다.When the header information is restored, the header information can be used to know the properties and size of the encoded haptic information. Therefore, by using the header information, the number of byte data to be loaded to decode the haptic information can be known accurately.

또한, 햅틱 정보를 디코딩하는 방법은 상기 로드된 바이트 데이터들의 LSB를 나열한다(S1132). 이 때, 나열되는 LSB에는 단계(S1122)에서 나열된 LSB 중 헤더 복원에 사용되지 아니한 것들이 포함될 수 있다.In addition, the method of decoding the haptic information lists the LSBs of the loaded byte data (S1132). At this time, the LSBs listed may include those not used for header restoration among LSBs listed in step S1122.

또한, 햅틱 정보를 디코딩하는 방법은 나열된 LSB들의 비트스트림을 8개씩 묶어서 바이트값을 결정한다(S1133).In addition, the method for decoding the haptic information determines a byte value by grouping eight bitstreams of the listed LSBs by eight (S1133).

또한, 햅틱 정보를 디코딩하는 방법은 결정된 바이트값을 이용하여 햅틱 정보를 복원한다(S1135).In addition, the method for decoding the haptic information restores the haptic information by using the determined byte value (S1135).

또한, 햅틱 정보를 디코딩하는 방법은 상기 헤더 정보 및 상기 햅틱 정보를 이용하여 사용자에게 햅틱 피드백을 제공한다(S1140).In addition, the method for decoding the haptic information provides haptic feedback to the user using the header information and the haptic information (S1140).

이 때, 햅틱 정보는 공간적으로 분포되어 있는 햅틱 분포 데이터일 수 있고, 이 경우 단계(S1140)는 상기 햅틱 정보를 업사이징하여 업사이징된 햅틱 정보를 생성하고 상기 업사이징된 햅틱 정보를 이용하여 상기 햅틱 피드백을 제공할 수 있다. 업사이징된 햅틱 정보는 그 해상도가 원본 이미지의 해상도보다 낮으나 사용자는 이를 인지하기 어렵다.In this case, the haptic information may be haptic distribution data that is spatially distributed. In this case, step S1140 generates the upsized haptic information by upsizing the haptic information and uses the upsized haptic information. Haptic feedback can be provided. Upsized haptic information has a resolution lower than that of the original image, but it is difficult for the user to recognize.

단계(S1140)는 헤더 정보를 통하여 얻어진 촉감의 종류에 따라 다르게 햅틱 피드백을 생성할 수 있다.
In operation S1140, haptic feedback may be generated differently according to the type of tactile sense obtained through the header information.

도 12는 본 발명의 일실시예에 따른 햅틱 정보 처리 장치의 블록도이다.12 is a block diagram of a haptic information processing device according to an embodiment of the present invention.

도 12를 참조하면, 본 발명의 일실시예에 따른 햅틱 정보 처리 장치는 햅틱 정보 생성부(1210), 헤더 생성부(1220) 및 인코딩부(1230)를 포함한다.Referring to FIG. 12, a haptic information processing apparatus according to an embodiment of the present invention includes a haptic information generator 1210, a header generator 1220, and an encoder 1230.

햅틱 정보 생성부(1210)는 햅틱 정보를 생성한다.The haptic information generator 1210 generates haptic information.

이 때, 햅틱 정보는 햅틱 분포 데이터이고, 햅틱 정보 생성부(1210)는 데이터 사이즈를 줄이는 다운사이징 과정을 통하여 상기 햅틱 정보를 생성할 수 있다.In this case, the haptic information is haptic distribution data, and the haptic information generator 1210 may generate the haptic information through a downsizing process of reducing the data size.

헤더 생성부(1220)는 상기 햅틱 정보와 관련되고, 상기 햅틱 정보와 함께 인코딩 대상 데이터를 구성하는 헤더 정보를 생성한다.The header generator 1220 is associated with the haptic information and generates header information constituting encoding target data together with the haptic information.

인코딩부(1230)는 원본 이미지 픽셀들 각각의 바이트 데이터의 최하위 비트(Least Significant Bit; LSB)를 이용하여 상기 인코딩 대상 데이터를 인코딩하여 인코딩된 이미지를 생성한다.The encoder 1230 generates the encoded image by encoding the encoding target data by using the least significant bit (LSB) of the byte data of each of the original image pixels.

인코딩부(1230)는 상기 인코딩 대상 데이터의 각 비트가 상기 원본 이미지 픽셀들 중 일부 픽셀들 각각의 바이트 데이터의 최하위 비트에 삽입되도록 하고, 상기 원본 이미지 픽셀들의 나머지 픽셀들의 바이트 데이터의 최하위 비트들은 원래대로 유지되도록 할 수 있다.
The encoding unit 1230 causes each bit of the encoding target data to be inserted into the least significant bit of the byte data of each of some pixels of the original image pixels, and the least significant bits of the byte data of the remaining pixels of the original image pixels are original. You can keep it as it is.

도 13은 본 발명의 다른 실시예에 따른 햅틱 정보 처리 장치의 블록도이다.13 is a block diagram of a haptic information processing device according to another embodiment of the present invention.

도 13을 참조하면, 본 발명의 다른 실시예에 따른 햅틱 정보 처리 장치는 이미지 로드부(1310), 헤더 복원부(1320), 햅틱 정보 복원부(1330) 및 햅틱 피드백부(1340)를 포함한다.Referring to FIG. 13, a haptic information processing apparatus according to another embodiment of the present invention includes an image loading unit 1310, a header restoring unit 1320, a haptic information restoring unit 1330, and a haptic feedback unit 1340. .

이미지 로드부(1310)는 인코딩된 이미지를 로드한다.The image load unit 1310 loads the encoded image.

헤더 복원부(1320)는 상기 인코딩된 이미지의 일부 픽셀들 각각의 바이트 데이터 최하위 비트(Least Significant Bit; LSB)를 추출하여 햅틱 정보와 관련된 헤더 정보를 복원한다.The header recovery unit 1320 extracts a least significant bit (LSB) of byte data of each of the pixels of the encoded image to restore header information related to haptic information.

이 때, 헤더 복원부(1320)는 기설정된 개수의 픽셀의 바이트 데이터들을 로드하고, 로드된 바이트 데이터들의 최하위 비트들을 추출하고, 추출된 최하위 비트들을 이용하여 상기 헤더 정보를 복원할 수 있다.At this time, the header recovery unit 1320 may load byte data of a predetermined number of pixels, extract the least significant bits of the loaded byte data, and restore the header information by using the extracted least significant bits.

이 때, 햅틱 정보는 공간적으로 분포되어 있는 햅틱 분포 데이터이고, 햅틱 피드백부(1340)는 상기 햅틱 정보를 업사이징하여 업사이징된 햅틱 정보를 생성하고 상기 업사이징된 햅틱 정보를 이용하여 상기 햅틱 피드백을 제공할 수 있다.In this case, the haptic information is spatially distributed haptic distribution data, and the haptic feedback unit 1340 generates the upsized haptic information by upsizing the haptic information and uses the upsized haptic information to the haptic feedback. Can be provided.

햅틱 정보 복원부(1330)는 상기 인코딩된 이미지의 나머지 픽셀들 중 상기 헤더 정보를 이용하여 결정된 개수의 픽셀의 바이트 데이터들의 최하위 비트를 취합하여 상기 햅틱 정보를 복원한다.The haptic information recovery unit 1330 recovers the haptic information by collecting the least significant bits of the byte data of the number of pixels determined by using the header information among the remaining pixels of the encoded image.

햅틱 피드백부(1340)는 상기 헤더 정보 및 상기 햅틱 정보를 이용하여 사용자에게 햅틱 피드백을 제공한다.The haptic feedback unit 1340 provides haptic feedback to a user using the header information and the haptic information.

이 때, 햅틱 피드백부(1340)는 편심 모터, 압전소자, 솔레노이드, 초음파 모터, 햅틱 암 또는 질감제시장치 등을 이용하여 상기 햅틱 피드백을 제공할 수 있다.In this case, the haptic feedback unit 1340 may provide the haptic feedback by using an eccentric motor, a piezoelectric element, a solenoid, an ultrasonic motor, a haptic arm or a texture display device.

도 12에 도시된 햅틱 정보 처리 장치는 햅틱 정보 인코더에 해당하고, 도 13에 도시된 햅틱 정보 처리 장치는 햅틱 정보 디코더에 해당한다.
The haptic information processing apparatus illustrated in FIG. 12 corresponds to a haptic information encoder, and the haptic information processing apparatus illustrated in FIG. 13 corresponds to a haptic information decoder.

이상에서와 같이 본 발명에 따른 햅틱 정보 인코딩/디코딩 방법 및 햅틱 정보 처리 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, the configuration and method of the haptic information encoding / decoding method and the haptic information processing apparatus according to the present invention may not be limitedly applied as described above, but the embodiments may be modified in various ways. All or part of each of the embodiments may be configured to be selectively combined so that.

1210: 햅틱 정보 생성부 1220: 헤더 생성부
1230: 인코딩부 1310: 이미지 로드부
1320: 헤더 복원부 1330: 햅틱 정보 복원부
1340: 햅틱 피드백부
1210: haptic information generator 1220: header generator
1230: encoding unit 1310: image loading unit
1320: header restoration unit 1330: haptic information restoration unit
1340: haptic feedback unit

Claims (20)

햅틱 정보를 생성하는 단계;
상기 햅틱 정보 및 상기 햅틱 정보와 관련된 헤더 정보를 이용하여 인코딩 대상 데이터를 생성하는 단계; 및
원본 이미지 픽셀들 각각의 바이트 데이터의 최하위 비트(Least Significant Bit; LSB)를 이용하여 상기 인코딩 대상 데이터를 인코딩하여 인코딩된 이미지를 생성하는 단계를 포함하고,
상기 햅틱 정보는
공간적으로 분포되어 있는 깊이 분포 정보, 표면 임피던스 분포 정보, 온도 분포 정보 및 표면 재질 분포 정보 중 어느 하나의 햅틱 분포 데이터이고,
상기 햅틱 정보를 생성하는 단계는 데이터 사이즈를 줄이는 다운사이징 과정을 포함하여 상기 햅틱 정보를 생성하는 것을 특징으로 하는 이미지에 햅틱 정보를 인코딩하는 방법.
Generating haptic information;
Generating encoding target data using the haptic information and the header information related to the haptic information; And
Encoding the encoding target data using a least significant bit (LSB) of byte data of each of the original image pixels to generate an encoded image,
The haptic information is
Haptic distribution data of any one of spatially distributed depth distribution information, surface impedance distribution information, temperature distribution information and surface material distribution information,
The generating of the haptic information includes the downsizing process of reducing the data size to generate the haptic information.
삭제delete 삭제delete 청구항 1에 있어서,
상기 햅틱 정보는 시계열 진동 정보인 것을 특징으로 하는 이미지에 햅틱 정보를 인코딩하는 방법.
The method according to claim 1,
And the haptic information is time series vibration information.
청구항 1에 있어서,
상기 인코딩된 이미지를 생성하는 단계는
상기 인코딩 대상 데이터의 각 비트가 상기 원본 이미지 픽셀들 중 일부 픽셀들 각각의 바이트 데이터의 최하위 비트에 삽입되도록 하고, 상기 원본 이미지 픽셀들 중 나머지 픽셀들의 바이트 데이터의 최하위 비트들은 원래대로 유지되도록 하는 것을 특징으로 하는 이미지에 햅틱 정보를 인코딩하는 방법.
The method according to claim 1,
Generating the encoded image
Such that each bit of the encoding target data is inserted into the least significant bit of the byte data of each of some pixels of the original image pixels, and the least significant bits of the byte data of the remaining pixels of the original image pixels remain intact. A method of encoding haptic information in an image characterized by.
청구항 5에 있어서,
상기 원본 이미지 픽셀들 각각의 바이트 데이터는 R, G, B 부화소 바이트 및 비컬러 데이터(non-color data) 중 어느 하나 이상인 것을 특징으로 하는 이미지에 햅틱 정보를 인코딩하는 방법.
The method according to claim 5,
And byte data of each of the original image pixels is at least one of R, G, and B subpixel bytes and non-color data.
청구항 6에 있어서,
상기 원본 이미지가 애니메이티드 지아이애프(animated gif) 파일인 경우, 각각의 이미지 프레임에 상기 인코딩 대상 데이터가 인코딩되는 것을 특징으로 하는 이미지에 햅틱 정보를 인코딩하는 방법.
The method of claim 6,
And when the original image is an animated gif file, the encoding target data is encoded in each image frame.
인코딩된 이미지를 로드하는 단계;
상기 인코딩된 이미지의 일부 픽셀들 각각의 바이트 데이터 최하위 비트(Least Significant Bit; LSB)를 추출하여 햅틱 정보와 관련된 헤더 정보를 복원하는 단계;
상기 헤더 정보를 이용하여 결정된 개수의 픽셀의 바이트 데이터들의 최하위 비트들을 취합하여 상기 햅틱 정보를 복원하는 단계; 및
상기 헤더 정보 및 상기 햅틱 정보를 이용하여 사용자에게 햅틱 피드백을 제공하는 단계를 포함하고,
상기 헤더 정보를 복원하는 단계는
기설정된 개수의 픽셀의 바이트 데이터들을 로드하여 로드된 바이트 데이터들의 최하위 비트들을 추출하고, 추출된 비트들을 이용하여 상기 헤더 정보를 복원하고,
상기 햅틱 정보는 공간적으로 분포되어 있는 햅틱 분포 데이터이고, 상기 햅틱 피드백을 제공하는 단계는 상기 햅틱 정보를 업사이징하여 업사이징된 햅틱 정보를 생성하고 상기 업사이징된 햅틱 정보를 이용하여 상기 햅틱 피드백을 제공하는 것을 특징으로 하는 이미지로부터 햅틱 정보를 디코딩하는 방법.
Loading the encoded image;
Extracting a least significant bit (LSB) of byte data of each of the pixels of the encoded image to restore header information related to haptic information;
Recovering the haptic information by collecting the least significant bits of the byte data of the number of pixels determined using the header information; And
Providing haptic feedback to a user using the header information and the haptic information,
Restoring the header information
Load byte data of a predetermined number of pixels to extract the least significant bits of the loaded byte data, restore the header information using the extracted bits,
The haptic information is spatially distributed haptic distribution data, and the providing of the haptic feedback includes upsizing the haptic information to generate upsized haptic information and using the upsized haptic information to provide the haptic feedback. Providing haptic information from an image.
삭제delete 삭제delete 삭제delete 청구항 8에 있어서,
상기 인코딩된 이미지의 픽셀들 각각의 바이트 데이터는 R, G, B 부화소 바이트 및 비컬러 데이터(non-color data) 중 어느 하나 이상인 것을 특징으로 하는 이미지로부터 햅틱 정보를 디코딩하는 방법.
The method according to claim 8,
Byte data of each pixel of the encoded image is any one or more of R, G, B subpixel bytes and non-color data.
햅틱 정보를 생성하는 햅틱 정보 생성부;
상기 햅틱 정보와 관련되고, 상기 햅틱 정보와 함께 인코딩 대상 데이터를 구성하는 헤더 정보를 생성하는 헤더 생성부; 및
원본 이미지 픽셀들 각각의 바이트 데이터의 최하위 비트(Least Significant Bit; LSB)를 이용하여 상기 인코딩 대상 데이터를 인코딩하여 인코딩된 이미지를 생성하는 인코딩부를 포함하고,
상기 햅틱 정보는 햅틱 분포 데이터이고, 상기 햅틱 정보 생성부는 데이터 사이즈를 줄이는 다운사이징 과정을 통하여 상기 햅틱 정보를 생성하는 것을 특징으로 하는 햅틱 정보 처리 장치.
A haptic information generator for generating haptic information;
A header generator associated with the haptic information and generating header information constituting encoding target data together with the haptic information; And
An encoding unit generating an encoded image by encoding the encoding target data using a least significant bit (LSB) of byte data of each of the original image pixels,
The haptic information is haptic distribution data, and the haptic information generating unit generates the haptic information through a downsizing process of reducing the data size.
삭제delete 청구항 13에 있어서,
상기 인코딩부는
상기 인코딩 대상 데이터의 각 비트가 상기 원본 이미지 픽셀들 중 일부 픽셀들 각각의 바이트 데이터의 최하위 비트에 삽입되도록 하고, 상기 원본 이미지 픽셀들의 나머지 픽셀들의 바이트 데이터의 최하위 비트들은 원래대로 유지되도록 하는 것을 특징으로 하는 햅틱 정보 처리 장치.
The method according to claim 13,
The encoding unit
Wherein each bit of the encoding target data is inserted into the least significant bit of the byte data of each of some pixels of the original image pixels, and the least significant bits of the byte data of the remaining pixels of the original image pixels are kept intact. Haptic information processing device.
인코딩된 이미지를 로드하는 이미지 로드부;
상기 인코딩된 이미지의 일부 픽셀들 각각의 바이트 데이터 최하위 비트(Least Significant Bit; LSB)를 추출하여 햅틱 정보와 관련된 헤더 정보를 복원하는 헤더 복원부;
상기 헤더 정보를 이용하여 결정된 개수의 픽셀의 바이트 데이터들의 최하위 비트들을 취합하여 상기 햅틱 정보를 복원하는 햅틱 정보 복원부; 및
상기 헤더 정보 및 상기 햅틱 정보를 이용하여 사용자에게 햅틱 피드백을 제공하는 햅틱 피드백부를 포함하고,
상기 햅틱 정보는 공간적으로 분포되어 있는 햅틱 분포 데이터이고, 상기 햅틱 피드백부는 상기 햅틱 정보를 업사이징하여 업사이징된 햅틱 정보를 생성하고 상기 업사이징된 햅틱 정보를 이용하여 상기 햅틱 피드백을 제공하는 것을 특징으로 하는 햅틱 정보 처리 장치.
An image loading unit for loading an encoded image;
A header decompressor for extracting a least significant bit (LSB) of byte data of each pixel of the encoded image to restore header information related to haptic information;
A haptic information reconstructing unit for reconstructing the haptic information by collecting the least significant bits of the byte data of the number of pixels determined using the header information; And
A haptic feedback unit which provides haptic feedback to a user using the header information and the haptic information,
The haptic information is spatially distributed haptic distribution data, wherein the haptic feedback unit upsizes the haptic information to generate upsized haptic information, and provides the haptic feedback using the upsized haptic information. Haptic information processing device.
삭제delete 청구항 16에 있어서,
상기 헤더 복원부는
기설정된 개수의 픽셀의 바이트 데이터들을 로드하고, 로드된 바이트 데이터들의 최하위 비트들을 추출하고, 추출된 최하위 비트들을 이용하여 상기 헤더 정보를 복원하는 것을 특징으로 하는 햅틱 정보 처리 장치.
18. The method of claim 16,
The header restoring unit
And loading the byte data of a predetermined number of pixels, extracting least significant bits of the loaded byte data, and restoring the header information using the extracted least significant bits.
삭제delete 청구항 16에 있어서,
상기 햅틱 피드백부는
편심 모터, 압전소자, 펠티에 소자, 솔레노이드, 초음파 모터, 햅틱 암 및 질감제시장치 중 어느 하나를 이용하여 상기 햅틱 피드백을 제공하는 것을 특징으로 하는 햅틱 정보 처리 장치.
18. The method of claim 16,
The haptic feedback unit
The haptic information processing device, characterized in that to provide the haptic feedback using any one of an eccentric motor, piezoelectric element, Peltier element, solenoid, ultrasonic motor, haptic arm and texture display device.
KR1020100037380A 2009-08-10 2010-04-22 Method of encoding haptic information on image, method of decoding haptic information from image and apparatus for processing haptic information for the same KR101324687B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010179675A JP5094930B2 (en) 2009-08-10 2010-08-10 Method for encoding tactile information in an image, method for decoding tactile information from an image, and tactile information processing apparatus therefor
US12/853,464 US20110032088A1 (en) 2009-08-10 2010-08-10 Method of encoding haptic information on image, method of decoding haptic information from image and apparatus of processing haptic information for the same
CN2010102651418A CN101996413B (en) 2009-08-10 2010-08-10 Method of encoding and decoding haptic information, and apparatus for processing haptic information

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090073254 2009-08-10
KR20090073254 2009-08-10

Publications (2)

Publication Number Publication Date
KR20110016385A KR20110016385A (en) 2011-02-17
KR101324687B1 true KR101324687B1 (en) 2013-11-04

Family

ID=43774807

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100037380A KR101324687B1 (en) 2009-08-10 2010-04-22 Method of encoding haptic information on image, method of decoding haptic information from image and apparatus for processing haptic information for the same

Country Status (2)

Country Link
KR (1) KR101324687B1 (en)
CN (1) CN101996413B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101121787B1 (en) * 2011-09-29 2012-03-09 (주)이미지스테크놀로지 A method for generating sensation of vibration in mobile device environment using the image-based primitive of sensation of vibration
KR101161586B1 (en) * 2012-01-18 2012-07-03 (주)이미지스테크놀로지 Image-based haptic effect designing and generating method for providing user-defined haptic effects using image-based haptic primitives
US9280206B2 (en) * 2012-08-20 2016-03-08 Samsung Electronics Co., Ltd. System and method for perceiving images with multimodal feedback
CN106671112B (en) * 2016-12-13 2018-12-11 清华大学 A kind of manipulator grasp stability judgment method based on tactile array information
CN106980773B (en) * 2017-05-27 2023-06-06 重庆大学 Gas-liquid diphase detection system data fusion method based on artificial smell-taste technology
CN107566847B (en) * 2017-09-18 2020-02-14 浙江大学 Method for encoding touch data into video stream for storage and transmission
CN112313603B (en) * 2018-06-28 2024-05-17 索尼公司 Encoding device, encoding method, decoding device, decoding method, and program
CN110580253B (en) * 2019-09-10 2022-05-31 网易(杭州)网络有限公司 Time sequence data set loading method and device, storage medium and electronic equipment
JPWO2021060019A1 (en) 2019-09-25 2021-04-01

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005107850A (en) * 2003-09-30 2005-04-21 Matsushita Electric Ind Co Ltd Image processor, data embedding method and internal information monitoring system
KR20080032316A (en) * 2006-10-09 2008-04-15 한국과학기술원 Graphic-to-tactile production method
US20090096632A1 (en) * 2007-10-16 2009-04-16 Immersion Corporation Synchronization of haptic effect data in a media stream

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700791B2 (en) * 2005-10-19 2014-04-15 Immersion Corporation Synchronization of haptic effect data in a media transport stream
CN104063056B (en) * 2006-04-06 2018-04-20 意美森公司 System and method for the haptic effect of enhancing
KR101402243B1 (en) * 2006-12-21 2014-06-02 삼성전자주식회사 Mobile terminal for providing haptic service and method thereof
KR100835297B1 (en) * 2007-03-02 2008-06-05 광주과학기술원 Node structure for representing tactile information, method and system for transmitting tactile information using the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005107850A (en) * 2003-09-30 2005-04-21 Matsushita Electric Ind Co Ltd Image processor, data embedding method and internal information monitoring system
KR20080032316A (en) * 2006-10-09 2008-04-15 한국과학기술원 Graphic-to-tactile production method
US20090096632A1 (en) * 2007-10-16 2009-04-16 Immersion Corporation Synchronization of haptic effect data in a media stream

Also Published As

Publication number Publication date
CN101996413B (en) 2013-07-10
KR20110016385A (en) 2011-02-17
CN101996413A (en) 2011-03-30

Similar Documents

Publication Publication Date Title
JP5094930B2 (en) Method for encoding tactile information in an image, method for decoding tactile information from an image, and tactile information processing apparatus therefor
KR101324687B1 (en) Method of encoding haptic information on image, method of decoding haptic information from image and apparatus for processing haptic information for the same
CN104423587A (en) Spatialized haptic feedback based on dynamically scaled values
JP6373588B2 (en) Friction modulation for 3D relief in haptic devices
CN102971689A (en) Haptic surface compression
CN104424498B (en) A kind of method and device of high speed transformation two dimensional code coding
KR20210030247A (en) Translucent image watermark detection
KR100860547B1 (en) Method and Apparatus for Authoring Tactile Information, and Computer Readable Medium Including the Method
Kim et al. Towards Tangible Vision for the Visually Impaired through 2D Multiarray Braille Display
US10831277B2 (en) Region of interest classification
US10152133B2 (en) Apparatus and method for providing image
US20200293127A1 (en) Device, method, and program for generating multidimensional reaction-type image, and method, and program for reproducing multidimensional reaction-type image
Dhou et al. An innovative employment of the NetLogo AIDS model in developing a new chain code for compression
JP2008250978A (en) Tactile sense visual representation method and tactile sense visual representation device
KR101166529B1 (en) Apparatus of generating haptic rendering, method of encoding touch data, generating haptic rendering and recording medium thereof
Ewert et al. Measuring meaningful information in images: algorithmic specified complexity
Fakhri et al. Haptics for sensory substitution
JP2001169120A5 (en)
KR20170046279A (en) Decoding apparatus, electronic apparatus and the controlling method thereof
Kahol et al. Tactile cueing in haptic visualization
CN117671107A (en) Three-dimensional model lightweight rendering method, device, electronic product and medium
Zirkind AFIS data compression: An example of how domain specific compression algorithms can produce very high compression ratios
CN117348756A (en) Information interaction system and method based on sensory enhancement
Syal et al. Technologies for Representing Graphics for Visually Challenged
Roper et al. Development of a low-cost multimodal VR system for engineering design

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160927

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170927

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181001

Year of fee payment: 6