KR100896762B1 - Apparatus and method for painterly animation - Google Patents

Apparatus and method for painterly animation Download PDF

Info

Publication number
KR100896762B1
KR100896762B1 KR1020070133062A KR20070133062A KR100896762B1 KR 100896762 B1 KR100896762 B1 KR 100896762B1 KR 1020070133062 A KR1020070133062 A KR 1020070133062A KR 20070133062 A KR20070133062 A KR 20070133062A KR 100896762 B1 KR100896762 B1 KR 100896762B1
Authority
KR
South Korea
Prior art keywords
image
pixels
edge
pixel
image frame
Prior art date
Application number
KR1020070133062A
Other languages
Korean (ko)
Inventor
윤경현
박영섭
Original Assignee
중앙대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 중앙대학교 산학협력단 filed Critical 중앙대학교 산학협력단
Priority to KR1020070133062A priority Critical patent/KR100896762B1/en
Application granted granted Critical
Publication of KR100896762B1 publication Critical patent/KR100896762B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation

Abstract

회화적 애니메이션 장치 및 방법이 개시된다. 움직임 벡터 산출부는 복수개의 영상 프레임 중에서 시간적으로 앞서는 제1영상 프레임을 구성하는 픽셀들 중에서 제1영상 프레임에 이어지는 제2영상 프레임 상에서의 위치가 이동된 픽셀들의 위치이동정도를 기초로 제2영상 프레임에 대응하는 움직임 벡터를 산출한다. 에지 영상 생성부는 제1영상 프레임에서 에지를 검출하여 에지 영상을 생성한다. 제1움직임 맵 생성부는 에지 영상을 구성하는 각각의 제1픽셀로부터 제1픽셀의 좌표에 움직임 벡터를 가산하여 얻어진 지점까지를 연결하여 제1움직임 맵을 생성한다. 제2움직임 맵 생성부는 제1영상 프레임을 구성하는 픽셀들 중에서 제1픽셀을 제외한 위치가 이동된 각각의 제2픽셀로부터 제2픽셀의 좌표에 움직임 벡터를 가산하여 얻어진 지점까지를 연결하여 제2움직임 맵을 생성한다. 렌더링 영상 생성부는 제1움직임 맵 및 제2움직임 맵을 기초로 제1영상 프레임에 대응하는 제1렌더링 영상에 대해 덧칠을 수행하여 제2영상 프레임에 대응하는 제2렌더링 영상을 생성한다. 본 발명에 따르면, 영상 프레임 사이의 브러시 스트로크의 시간적·구조적 일관성을 유지할 수 있고, 렌더링에 소요되는 시간을 단축할 수 있으며, 프레임 간 브러시 스트로크들이 덧칠되는 효과와 플릭커링 현상을 줄일 수 있다.Disclosed animation apparatus and method are disclosed. The motion vector calculator is configured to generate a second image frame based on a position shift degree of pixels whose positions on a second image frame subsequent to the first image frame are moved among pixels constituting the first image frame that is temporally advanced among the plurality of image frames. Calculate the motion vector corresponding to. The edge image generator generates an edge image by detecting an edge in the first image frame. The first motion map generator generates a first motion map by connecting the first motion map generator from each of the first pixels constituting the edge image to a point obtained by adding a motion vector to the coordinates of the first pixel. The second motion map generation unit connects the second motion map generator from the second pixels whose positions except for the first pixel are moved among the pixels constituting the first image frame to a point obtained by adding a motion vector to the coordinates of the second pixel. Create a motion map. The rendering image generator generates a second rendering image corresponding to the second image frame by performing an overlay on the first rendering image corresponding to the first image frame based on the first motion map and the second movement map. According to the present invention, it is possible to maintain the temporal and structural consistency of brush strokes between image frames, to reduce the time required for rendering, and to reduce the effects and the flickering of brush strokes between frames.

Description

회화적 애니메이션 장치 및 방법{Apparatus and method for painterly animation}Apparatus and method for painterly animation

본 발명은 회화적 애니메이션 장치 및 방법에 관한 것으로, 보다 상세하게는, 연속적인 입력 영상을 손으로 그린 듯한 회화적 느낌으로 표현하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for pictorial animation, and more particularly, to an apparatus and method for expressing a continuous input image with a pictorial feeling as if drawn by hand.

1960년대 시작된 컴퓨터 그래픽스에 관한 연구는 사진과 같은 사실적인 영상을 만들어 내는 것이 목표였다. 지난 30년간 포토리얼리즘(Photo-realism)이라는 용어로 대변되듯, 기존 컴퓨터 그래픽스의 궁극적인 관심은 얼마나 실제와 같은 영상을 만들 수 있는가에 집중되었다. 이러한 전통적인 컴퓨터 그래픽스는 레디오시티(Radiosity)나 광선추적법(Ray-tracing) 같이 사물의 물리적인 특성이나 역학적인 특징을 그대로 흉내 내어 매우 사실적인 영상을 만들어내었다.The study of computer graphics, which began in the 1960s, aimed to produce photorealistic images. As represented by the term photo-realism over the last three decades, the ultimate interest of traditional computer graphics has focused on how realistic pictures can be produced. These traditional computer graphics produced very realistic images by mimicking the physical and mechanical characteristics of things, such as radiosity and ray-tracing.

1990년대에 들어서면서부터, 컴퓨터 그래픽스의 관심은 사실적인 영상(Photorealisitc Image)에서 비사실적인 영상(Non-Photorealistic Image)으로 변화하게 된다. 더 이상 사실적인 영상만을 만들어 내는데 매달리지 않고, 비사실적인 영상을 만들어 내는 방법을 연구하기 시작했다. 이러한 비사실적 영상을 만들어 내는 방법으로 비사실적 렌더링(Non-Photorealistic Rendering)이라는 분야가 기존 컴퓨터 그래픽스의 한 분야로 자리 잡게 되었다. 비사실적 렌더링은 기존의 사실적 렌더링에 상반되는 개념이다. 기존의 사실적 렌더링이 대상(object)을 보다 사실적으로 표현하고자 하였던 반면 비사실적 렌더링은 대상을 표현하는데 있어서 사실적으로 표현하는데 얽매이기보다는 영상의 여러 가지 특징을 잘 표현하여 그 의미를 잘 전달하는 것을 목표로 삼고 있다. 따라서 비사실적 렌더링의 평가는 객관적이기 보다는 보다 사람의 주관이 큰 영향을 미친다. 표 1에는 사실적인 렌더링과 비사실적인 렌더링의 차이점이 기재되어 있다.Since the 1990s, the interest of computer graphics has shifted from non-photorealistic images to photorealistic images. He no longer clung to producing only realistic images, but began to study ways to produce non-realistic images. Non-Photorealistic Rendering has become a field of traditional computer graphics as a way of producing these non-realistic images. Non-realistic rendering is the opposite of traditional realistic rendering. While the conventional realistic rendering was intended to express the object more realistically, the non-realistic rendering aimed at expressing various characteristics of the image well and conveying the meaning well rather than being bound by the realistic representation in the object. To be. Therefore, the evaluation of non-realistic rendering is more influenced by human subjectivity than objective. Table 1 lists the differences between realistic and non-realistic renderings.

사실적인 렌더링 (Photo-Realistic Rendering)Photo-Realistic Rendering 비사실적인 렌더링 (Non-Photorealistic Rendering)Non-Photorealistic Rendering 접근방법Approach 시뮬레이션simulation 스타일레이션Stylization 특징Characteristic 객관적Objective 주관적Subjective 영향effect 물리적 과정Physical process 예술적 과정Artistic process 정확도accuracy 명확함Clarity 대략적임Approximate 완성도Perfection 완전한 결과Complete results 불완전한 결과Incomplete results

비사실적 렌더링이란 특정한 대상(2D 영상 또는 3D 데이터)을 예술가에 의해서 만들어진 영상과 같은 효과를 표현하는 렌더링 방법이다. 비사실적 렌더링 기술에는 회화적 렌더링(Painterly Rendering), 모자이크 렌더링(Mosaic Rendering), 카툰 렌더링(Cartoon Rendering), 기술 삽화 렌더링(Technical Illustration Rendering) 그리고 펜 앤 잉크 렌더링(Pen and Ink Rendering) 기술이 있다.Non-realistic rendering is a rendering method that expresses an effect, such as an image produced by an artist, of a specific object (2D image or 3D data). Non-realistic rendering techniques include Painterly Rendering, Mosaic Rendering, Cartoon Rendering, Technical Illustration Rendering, and Pen and Ink Rendering.

회화적 렌더링은 주로 브러시 스트로크를 통해 이루어진다. 브러시 스트로크는 화가가 작품을 그릴 때 붓으로 무수히 많은 칠을 하게 되는데, 이때 한 번의 움직임을 브러시 스트로크라고 한다. 회화적 렌더링에서는 유화와 같은, 손으로 그린 듯한 결과 영상을 만들기 위하여 일반적으로 브러시 스트로크의 여러 파라미터를 결정하기 위한 방법을 연구하였다. 브러시 스트로크의 파라미터에는 위치, 색상, 크기, 방향, 모양, 질감 그리고 덧칠 여부 등이 있다. 이러한 회화적 렌더링은 브러시 스트로크를 이용하여 손으로 그린 듯한 회화적 느낌을 자동으로 표현하는 방법으로 브러시 스트로크의 특징에 매우 의존적이다. 브러시 스트로크의 특징은 색상, 위치, 방향, 모양, 크기 그리고 질감 등이 있는데 기존 연구자들은 이러한 특징들의 파라미터를 조절하여 다양한 형태의 회화적 효과를 표현하고자 하였다.Painterly rendering is mainly done through brush strokes. Brush strokes are painted with a myriad of brushes when the artist draws a work. One movement is called a brush stroke. In pictorial rendering, we studied methods for determining various parameters of brush strokes in general in order to produce hand-drawn result images such as oil paintings. Parameters for brush strokes include position, color, size, direction, shape, texture, and whether to paint. Such a painterly rendering is a method of automatically expressing a painterly feeling that is drawn by hand using a brush stroke, and is highly dependent on the characteristics of the brush stroke. The characteristics of brush strokes are color, position, direction, shape, size and texture. Previous researchers tried to express various forms of pictorial effects by adjusting the parameters of these characteristics.

해버리(Haeberli)는 입력 영상에 사용자 입력을 통하여 브러시 스트로크의 색상, 모양, 크기 그리고 방향을 결정하는 방법을 제안하였다. 이 방법은 사용할 브러시 스트로크들을 미리 데이터베이스에 저장해놓고 저장된 브러시를 사용하여 추상적인 효과를 표현하는데 사용하였으나 사용자 입력이 필수적이다. Haeberli proposed a method for determining the color, shape, size, and direction of brush strokes through user input on an input image. This method saves the brush strokes to be used in the database and expresses the abstract effect using the stored brush, but user input is essential.

리트이노비쯔(Litwinowicz)는 라인과 텍스쳐를 가지는 브러시 스트로크를 생성하였다. 이 방법에서 사용된 브러시 스트로크의 방향은 입력 영상의 그라디언트(gradient) 기반 박판(thin-plate) 스플라인 보간법을 사용하였으며, 각 브러시 스트로크의 파라미터에 랜덤노이즈 값을 추가하여 다양한 브러시 스트로크를 만들었다. 또한, 영상의 에지를 고려하는 브러시 스트로크 클리핑 방법을 소개하였다. 그러나 브러시의 크기가 작고 직선 스트로크만을 사용하여 단조로운 효과가 나타나는 단점이 있다.Litwinowicz created brush strokes with lines and textures. The direction of the brush stroke used in this method is based on the gradient-based thin-plate spline interpolation method of the input image, and various brush strokes are created by adding random noise values to the parameters of each brush stroke. In addition, the brush stroke clipping method that considers the edge of the image is introduced. However, there is a disadvantage in that the size of the brush is small and monotonous effect is obtained using only a straight stroke.

허쯔만(Hertzmann)은 입력 영상에 회화적 렌더링 효과를 자동으로 표현하는 방법을 제안하였다. 이 방법은 스플라인 곡선과 영상의 기울기를 가지는 에지를 따라 브러시 스트로크를 만들었으며 한 장의 영상을 여러 레이어로 나누고 각 레이어는 같은 크기의 브러시 스트로크를 생성하여 렌더링하였다. 또한, 최종 결과 영상의 질을 개선하기 위해 폭이 큰 브러시에서 작은 순으로 각 레이어(layer)에 적용하였다. 그러나 이 방법은 실제 회화적 작품에서 보여주는 브러시 스트로크의 질감을 표현하지 못했으며 에지 부분에서도 서로 다른 그라디언트를 가지는 여러 개의 브러시 스트로크들이 표현됨으로써 결과 영상이 블러링(blurring)한 효과를 나타내고 있다.Hertzmann proposed a method for automatically expressing pictorial rendering effects on input images. This method creates brush strokes along the edges of the spline curve and the slope of the image. The image is divided into several layers and each layer is created by rendering brush strokes of the same size. In addition, in order to improve the quality of the final result image, each layer was applied in order from the widest brush to the smallest. However, this method did not express the texture of the brush strokes shown in the actual painterly works, and the brushed images with different gradients were also expressed at the edges, resulting in the blurring effect of the resulting image.

한편 회화적 애니메이션은 연속적인 입력 영상을 이용하여 손으로 그린 듯한 회화적 느낌을 표현하는 방법으로, 프레임 간 브러시 스트로크의 구조적·시간적 일관성을 유지하는 것이 매우 중요하다. 프레임 간 시간적 일관성을 유지하기 위해서 콜로모스(Collomosse)는 시공간 볼륨(spatiotemporal volume) 같은 비디오 시퀀스의 분석을 통해서 스트로크 표면(Stroke Surfaces)을 생성하였다. 이 방법은 브러시 스트로크가 아닌, 영역분할 알고리즘을 이용하여 생성된 각 영역들을 기반으로 회화적 애니메이션 영상을 생성하게 되는데 프레임 간 각 영역의 시간적 일관성을 유지하기 위해서 사용자가 직접 영역을 나누고 프레임 간 영역별 관계도 설정해야 하는 문제점이 있다. 또한 마이어(Meier)는 3차원 기하학 정보와 카메라 위치 정보를 이용하여 이전 프레임에 덧칠된 브러시 스트로크의 위치에서 현재 프레임으로 옮기는 방법을 사용하였다. 이 방법은 3차원 기하학 정보를 이용하였기 때문에 프레임 간 브러시 스트로크의 위치를 정확하게 찾아낼 수 있는 장점이 있는 반면에 애니메이션화 할 모든 장면에 대해서 모델링을 해야 한다는 단점이 있다.On the other hand, pictorial animation is a method of expressing a pictorial feeling that is drawn by hand using a continuous input image. It is very important to maintain structural and temporal consistency of brush strokes between frames. To maintain temporal coherence between frames, Collomosse created stroke surfaces through analysis of video sequences such as spatiotemporal volumes. This method generates pictorial animation images based on the regions created using the segmentation algorithm, not the brush strokes. In order to maintain the temporal consistency of each region between frames, the user divides the region directly and There is also a problem with establishing relationships. In addition, Meier used the method of moving from the position of the brush stroke overlaid on the previous frame to the current frame using the 3D geometry information and the camera position information. This method has the advantage of accurately finding the position of the brush stroke between frames because it uses three-dimensional geometric information, but has the disadvantage of modeling all the scenes to be animated.

기존의 회화적 애니메이션 연구자들은 브러시 스트로크를 기반으로 프레임 간 브러시들의 관계를 설정하고 있다. 프레임 간 브러시 스트로크들의 관계 설정은 위치, 색상 그리고 방향 같은 브러시 스트로크의 요소들에 매우 의존적이다. 특히, 기존 연구자들은 광류(Optical Flow) 방법에 의해서 계산된 모션 벡터 데이터를 이용하여 이전 프레임의 캔버스에 존재하는 모든 브러시 스트로크들을 현재 프레임의 캔버스로 위치 이동을 한 다음, 옮겨진 브러시들 사이에 발생하는 홀(Hole)을 채워나가는 방법을 통해서 캔버스를 완성하고 있다. 이 방법들은 브러시 스트로크의 요소 중 위치에 중점을 두고 있기 때문에 프레임 간 플릭커링(Flickering) 현상이 발생하거나 프레임 간 브러시 스트로크들이 덧칠된다는 느낌이 아니라 단순히 색상과 모양은 변하지 않고 위치만 이동되는 문제점이 발생하게 된다. 이러한 문제점은 실제 애니메이터들이 만드는 작품에서는 표현될 수 없는 매우 인위적인 현상이다. Traditional painterly animation researchers have established the relationship of brushes between frames based on brush strokes. The relationship between brush strokes between frames is highly dependent on the elements of the brush strokes such as position, color and direction. In particular, existing researchers use the motion vector data calculated by the Optical Flow method to move all the brush strokes existing on the canvas of the previous frame to the canvas of the current frame, The canvas is completed by filling the hole. Since these methods focus on the position of the elements of the brush strokes, there is a problem that flickering between frames does not occur or brush strokes are overlaid, but the color and shape are not changed, but the position is shifted. Done. This problem is a very artificial phenomenon that can not be expressed in the works created by animators.

동영상을 입력으로 한 회화적 애니메이션은 가장 중요하게 고려되어야 할 요소는 프레임 간 브러시 스트로크의 구조적시간적 일관성을 유지하는 것과 객체들(전경과 배경)의 움직임이 발생하는 부분을 손으로 그린 듯한 회화적 느낌을 표현하는 것이다.The most important factor to be considered in pictorial animation with video input is to maintain the structural temporal consistency of brush strokes between frames and to paint the part where objects (foreground and background) are moving. To express.

마이어(Meier)는 프레임 간 브러시 스트로크의 시간적 일관성을 유지하기 위해 아티스트들이 캔버스위에 많은 브러시 스트로크들을 덧칠하는 것처럼 스크린 공간상에 2D 페인트 브러시 스트로크를 렌더링할 3D 파티클(particle) 집합 같은 폴리곤을 모델링하였다. 이 방법은 3D 폴리곤의 노말 방향(Normal direction)을 이용하여 3D 파티클들을 2D로 변환함으로써 시간적 일관성을 유지하였다. 또한 브러시 스트로크의 덧칠 효과를 조절하기 위해 표면의 기하학적 성질과 라이팅(lighting) 효과를 사용하였다.To maintain the temporal consistency of the brush strokes between frames, Meier modeled polygons, such as 3D particle sets, that would render 2D paint brush strokes on screen space as artists paint many brush strokes on the canvas. This method maintains temporal consistency by converting 3D particles to 2D using the normal direction of the 3D polygon. In addition, the surface geometry and lighting effects were used to control the brushing effect.

리쯔위노비쯔(Litwinowicz)는 브러시 스트로크의 시간적 일관성을 유지하기 위해 광류 방법(Optical flow method)과 델러니 삼각형(Delaunay triangulation)을 이용하여 현재 프레임에 새로운 브러시를 추가하여 재배치하였다. 이 방법은 이전 프레임 상에 존재하는 모든 브러시 스트로크들을 광류 방법을 이용하여 계산된 모션 벡터를 더하여 현재 프레임으로 옮긴다. 옮겨진 브러시들의 중심을 하나의 시드 포인트로 설정하고 델러니 삼각형을 적용한다. 시드 포인트 간 형성된 삼각형 면적과 사용자가 지정한 최대 면적을 비교하여 시드 포인트를 적절히 재배치함으로써 브러시들 간의 간격을 조절하였다.Litwinowicz relocated by adding a new brush to the current frame using the optical flow method and Delaunay triangulation to maintain the temporal consistency of brush strokes. This method moves all brush strokes existing on the previous frame to the current frame by adding the motion vector calculated using the optical flow method. Set the center of the brush to one seed point and apply the Delany triangle. The spacing between the brushes was adjusted by rearranging the seed points appropriately by comparing the triangle area formed between the seed points with the maximum area specified by the user.

허쯔만(Hertzmann)은 프레인 간 브러시 스트로크의 시간적 일관성을 유지하기 위해 페인트 오버(Paint-over) 방법과 광류 방법을 사용하였다. 페인트 오버 방법은 페인트 온 글라스 방법과 유사한 방법으로 이전 프레임의 결과 영상을 현재 프레임의 초기 캔버스로 설정하는 방법이다. 비록 페인트 오버 방법이 시간적 일관성을 향상시키기는 하지만 비디오 프레임의 정적인 영역이 브러시들이 덧칠된 이전 프레임의 대응되는 영역과 차이가 날 때 플릭커링(flickering) 현상이 발생한다. 이런 현상은 비디오 노이즈 때문에 발생하게 되는데 허쯔만은 디퍼런스 마스킹(Difference masking)을 이용하여 플릭커링 현상을 줄였다. 또한 모션 벡터에 의해서 현재 프레임으로 옮겨지는 브러시들을 와핑(warping)함으로써 플릭커링 현상을 줄였다.Hertzmann used the Paint-over method and the Light Flow method to maintain the temporal consistency of brush strokes between planes. The paint over method is similar to the paint on glass method, in which the resultant image of the previous frame is set as the initial canvas of the current frame. Although the paint over method improves the temporal consistency, flickering occurs when the static area of the video frame differs from the corresponding area of the previous frame over which the brushes are overlaid. This is caused by video noise, but Hertzmann reduced the flickering by using difference masking. It also reduces flickering by warping the brushes that are moved to the current frame by motion vectors.

헤이즈(Hays)는 프레임 간 추정된 모션 벡터를 이용하여 이전 프레임 캔버스에서 현재 프레임 캔버스로 모든 브러시들을 옮길 경우 캔버스 상에 홀이 발생하거나 브러시들의 특징이 일부 사라지는 현상이 발생하여 프레임 간 시간적 일관성을 유지할 수 없다고 언급하고 있다. 이 방법은 이런 홀을 채우기 위해 캔버스 상에 새로운 브러시들을 추가하고 재정의한다. 또한 새로 추가되는 브러시들과 기존에 존재하는 브러시들 간의 특징의 불일치로 인하여 플릭커링 현상이 발생하게 되는데 헤이즈는 브러시의 색상에 불투명도(opacity)를 10%씩 줄여나가는 방법으로 이 문제점을 해결하였다. 그러나 이 방법은 불투명도에 너무 의존적이기 때문에 프레임 간 브러시들이 덧칠된다는 느낌이 아니라 단순 이동한다는 느낌을 주고 있다. 이런 현상은 실제 페인트 온 글라스 애니메이션에서는 볼 수 없는 현상이며 매우 인위적이라 할 수 있다.Hayes maintains temporal coherence between frames by moving all the brushes from the previous frame canvas to the current frame canvas using estimated motion vectors between frames. It is said to be impossible. This method adds and redefines new brushes on the canvas to fill these holes. In addition, flickering occurs due to inconsistencies between the newly added brushes and existing brushes. Haze solved this problem by reducing the opacity of the brush by 10%. However, this method is so dependent on opacity that it gives the feeling of simple movement, not the brush between the frames. This phenomenon is not seen in the actual paint on glass animation and is very artificial.

본 발명이 이루고자 하는 기술적 과제는, 연속되는 입력 영상을 이용하여 프레임 간 브러시 스트로크의 구조적·시간적 일관성을 유지하면서 손으로 그린 듯한 회화적 느낌을 표현할 수 있고, 프레임 간 브러시 스트로크들이 덧칠되는 효과와 플릭커링 현상을 줄일 수 있는 회화적 애니메이션 장치 및 방법을 제공하는 데 있다.The technical problem to be achieved by the present invention, by using a continuous input image to express the painterly feeling like a hand-drawn while maintaining the structural and temporal consistency of the brush stroke between the frames, the effect and the flicker that the brush strokes between the frames are overlaid To provide a pictorial animation device and method that can reduce the ringing phenomenon.

본 발명이 이루고자 하는 다른 기술적 과제는, 연속되는 입력 영상을 이용하여 프레임 간 브러시 스트로크의 구조적·시간적 일관성을 유지하면서 손으로 그린 듯한 회화적 느낌을 표현할 수 있고, 프레임 간 브러시 스트로크들이 덧칠되는 효과와 플릭커링 현상을 줄일 수 있는 회화적 애니메이션 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.Another technical problem to be achieved by the present invention is to use a continuous input image to express the painterly feeling as if drawn by hand while maintaining the structural and temporal consistency of the brush strokes between the frames, and the effect that the brush strokes between the frames are overlaid with the effect. The present invention provides a computer-readable recording medium that records a program for executing a pictorial animation method that can reduce flickering.

상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 회화적 애니메이션 장치는, 복수개의 영상 프레임 중에서 시간적으로 앞서는 제1영상 프레임을 구성하는 픽셀들 중에서 상기 제1영상 프레임에 이어지는 제2영상 프레임 상에서의 위치가 이동된 픽셀들의 위치이동정도를 기초로 상기 제2영상 프레임에 대응하는 움직임 벡터를 산출하는 움직임 벡터 산출부; 상기 제1영상 프레임에서 에지를 검출하여 에지 영상을 생성하는 에지 영상 생성부; 상기 에지 영상을 구성하는 각각의 제1픽 셀로부터 상기 제1픽셀의 좌표에 상기 움직임 벡터를 가산하여 얻어진 지점까지를 연결하여 제1움직임 맵을 생성하는 제1움직임 맵 생성부; 상기 제1영상 프레임을 구성하는 픽셀들 중에서 상기 제1픽셀을 제외한 위치가 이동된 각각의 제2픽셀로부터 상기 제2픽셀의 좌표에 상기 움직임 벡터를 가산하여 얻어진 지점까지를 연결하여 제2움직임 맵을 생성하는 제2움직임 맵 생성부; 및 상기 제1움직임 맵 및 상기 제2움직임 맵을 기초로 상기 제1영상 프레임에 대응하는 제1렌더링 영상에 대해 덧칠을 수행하여 상기 제2영상 프레임에 대응하는 제2렌더링 영상을 생성하는 렌더링 영상 생성부;를 구비한다.In accordance with an aspect of the present invention, a pictorial animation device includes a plurality of image frames on a second image frame subsequent to the first image frame among pixels constituting a first image frame that is temporally advanced. A motion vector calculator configured to calculate a motion vector corresponding to the second image frame based on the degree of positional movement of pixels whose positions have been moved; An edge image generator for detecting an edge in the first image frame and generating an edge image; A first motion map generator configured to connect a first motion map from each first pixel constituting the edge image to a point obtained by adding the motion vector to the coordinates of the first pixel to generate a first motion map; A second motion map by connecting from the second pixels whose positions except for the first pixel among the pixels constituting the first image frame to the point obtained by adding the motion vector to the coordinates of the second pixel; A second motion map generator for generating a signal; And a rendering image of generating a second rendering image corresponding to the second image frame by performing a painting operation on the first rendering image corresponding to the first image frame based on the first movement map and the second movement map. It comprises a generation unit.

상기의 다른 기술적 과제를 달성하기 위한, 본 발명에 따른 회화적 애니메이션 방법은, 복수개의 영상 프레임 중에서 시간적으로 앞서는 제1영상 프레임을 구성하는 픽셀들 중에서 상기 제1영상 프레임에 이어지는 제2영상 프레임 상에서의 위치가 이동된 픽셀들의 위치이동정도를 기초로 상기 제2영상 프레임에 대응하는 움직임 벡터를 산출하는 움직임 벡터 산출 단계; 상기 제1영상 프레임에서 에지를 검출하여 에지 영상을 생성하는 에지 영상 생성 단계; 상기 에지 영상을 구성하는 각각의 제1픽셀로부터 상기 제1픽셀의 좌표에 상기 움직임 벡터를 가산하여 얻어진 지점까지를 연결하여 제1움직임 맵을 생성하는 제1움직임 맵 생성 단계; 상기 제1영상 프레임을 구성하는 픽셀들 중에서 상기 제1픽셀을 제외한 위치가 이동된 각각의 제2픽셀로부터 상기 제2픽셀의 좌표에 상기 움직임 벡터를 가산하여 얻어진 지점까지를 연결하여 제2움직임 맵을 생성하는 제2움직임 맵 생성 단계; 및 상기 제1움직임 맵 및 상기 제2움직임 맵을 기초로 상기 제1영상 프레임에 대응하는 제1렌 더링 영상에 대해 덧칠을 수행하여 상기 제2영상 프레임에 대응하는 제2렌더링 영상을 생성하는 렌더링 영상 생성 단계;를 갖는다.In accordance with another aspect of the present invention, there is provided a pictorial animation method comprising: on a second image frame subsequent to the first image frame among pixels constituting a first image frame that is temporally advanced among a plurality of image frames. A motion vector calculating step of calculating a motion vector corresponding to the second image frame based on the positional movement degree of the pixels to which the position of the pixel is moved; An edge image generation step of generating an edge image by detecting an edge in the first image frame; A first motion map generation step of generating a first motion map by connecting each first pixel constituting the edge image to a point obtained by adding the motion vector to the coordinates of the first pixel; A second motion map by connecting from the second pixels whose positions except for the first pixel among the pixels constituting the first image frame to the point obtained by adding the motion vector to the coordinates of the second pixel; Generating a second motion map; And generating a second rendered image corresponding to the second image frame by performing a painting operation on the first rendered image corresponding to the first image frame based on the first motion map and the second motion map. Generating an image.

본 발명에 따른 회화적 애니메이션 장치 및 방법에 의하면, 렌더링 영상이 생성된 이전 영상 프레임의 에지에 해당하는 픽셀에 연속되는 영상 프레임들로부터 얻어진 움직임 벡터에 의해 파악된 에지들의 이동 정보를 포함하는 움직임 맵을 이용하여 현재 영상 프레임에 대응하는 브러시의 덧칠영역을 결정함으로써, 영상 프레임 사이의 브러시 스트로크의 시간적·구조적 일관성을 유지할 수 있다. 또한 프레임 사이의 움직임 정보를 기초로 이전 영상 프레임에 대응하는 렌더링 영상의 일부 영역에만 덧칠을 수행함으로써, 렌더링에 소요되는 시간을 단축할 수 있으며, 프레임 간 브러시 스트로크들이 덧칠되는 효과와 플릭커링 현상을 줄일 수 있다.According to the pictorial animation apparatus and method according to the present invention, a motion map including motion information of edges identified by motion vectors obtained from image frames subsequent to a pixel corresponding to an edge of a previous image frame in which a rendered image is generated. By determining the area of the brush corresponding to the current image frame by using, it is possible to maintain the temporal and structural consistency of the brush strokes between the image frames. In addition, based on the motion information between the frames, only a partial region of the rendered image corresponding to the previous image frame is overwritten, thereby reducing the time required for rendering. Can be reduced.

이하에서 첨부된 도면들을 참조하여 본 발명에 따른 회화적 애니메이션 장치 및 방법의 바람직한 실시예에 대해 상세하게 설명한다.Hereinafter, exemplary embodiments of the pictorial animation apparatus and method according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 회화적 애니메이션 장치에 대한 바람직한 실시예의 구성을 도시한 블록도이다.1 is a block diagram showing the configuration of a preferred embodiment of the pictorial animation apparatus according to the present invention.

도 1을 참조하면, 본 발명에 따른 회화적 애니메이션 장치는 움직임 벡터 산출부(110), 에지 영상 생성부(120), 제1움직임 맵 생성부(130), 제2움직임 맵 생성부(140) 및 렌더링 영상 생성부(150)를 구비한다.Referring to FIG. 1, the pictorial animation apparatus according to the present invention includes a motion vector calculator 110, an edge image generator 120, a first motion map generator 130, and a second motion map generator 140. And a rendering image generator 150.

움직임 벡터 산출부(110)는 복수개의 영상 프레임 중에서 시간적으로 앞서는 이전 영상 프레임을 구성하는 픽셀들 중에서 이전 영상 프레임에 이어지는 현재 영상 프레임 상에서의 위치가 이동된 픽셀들의 위치이동정도를 기초로 현재 영상 프레임에 대응하는 움직임 벡터를 산출한다. 이때 이전 영상 프레임과 현재 영상 프레임은 동영상을 구성하는 영상 프레임으로서, 서로 인접하도록 선택되거나 사이에 하나 또는 복수개의 다른 영상 프레임이 위치하도록 선택된다. The motion vector calculator 110 is configured to determine the current image frame based on the positional shift degree of pixels whose positions on the current image frame subsequent to the previous image frame among the pixels constituting the previous image frame that advance in time are among the plurality of image frames. Calculate the motion vector corresponding to. In this case, the previous image frame and the current image frame are image frames constituting a moving image, and are selected to be adjacent to each other or one or a plurality of different image frames are positioned therebetween.

영상 프레임 간의 움직임(motion)을 평가하는 방법에는 광류 방법과 블록 매칭 방법이 있다. 광류 방법은 명도 유형을 서서히 변화시킴으로써 발생하는 영상에서의 명백한 움직임의 속도 분포를 파악하는 방법이다. 블록 매칭 방법은 영상을 일정한 크기의 블록으로 분할하고 블록 내의 모든 픽셀을 하나의 움직임 벡터로 표현하는 방법으로, 움직임 벡터를 찾기 위해 이전 프레임의 블록들을 한 픽셀씩 이동하면서 현재의 블록과 가장 유사한 블록을 찾는 것이며 매칭 기준으로는 평균 절대 오차(mean absulute error : MAE)와 평균 제곱 오차(mean square error : MSE) 방법을 이용한다. 이하의 설명에서는 움직임 벡터 데이터의 오차를 줄일 수 있는 블록 매칭 방법을 적용한 실시예에 대해 언급하나, 이외에 광류 방법을 포함하여 영상 프레임 간의 움직임을 평가할 수 있는 다른 방법의 사용도 가능하다. There are two methods for evaluating motion between image frames: optical flow method and block matching method. The optical flow method is a method of grasping the apparent velocity distribution of motion in an image caused by slowly changing the brightness type. The block matching method divides an image into blocks of a certain size and expresses all the pixels in the block as a motion vector. The block matching method moves the blocks of the previous frame by one pixel to find the motion vector. For the matching criteria, mean absulute error (MAE) and mean square error (MSE) methods are used. The following description refers to an embodiment in which a block matching method is applied to reduce an error of motion vector data. However, other methods including an optical flow method may be used to evaluate motion between image frames.

에지 영상 생성부(120)는 이전 영상 프레임에서 에지를 검출하여 에지 영상을 생성한다. 이전 영상 프레임에 대한 에지 영상은 에지 필터를 이용하는 방법과 방향 에지를 이용하는 방법 등에 의해 얻어질 수 있다. 에지 필터를 이용하는 경우에, 에지 영상 생성부(120)는 소스 영상에 에지 마스크를 적용하여 에지 영상을 생성한다. 이때 에지 영상 생성부(120)는 먼저 가우시안(Gaussian) 마스크를 이용하 여 소스 영상으로부터 잡음을 제거한 후 소벨 마스크 또는 캐니 마스크와 같은 에지 검출 마스크를 수행하여 에지 영상을 생성한다. 이러한 두 번의 과정 중 첫 번째 과정에서 잡음이 제거되며, 두 번째 과정에서 잡음이 제거된 영상에서 에지가 검출된다. 소벨 에지 영상뿐만 아니라 캐니 에지 영상은 객체들의 외부 에지만 잘 표현될 뿐 내부 에지는 잘 표현되지 않는다. 도 2a 내지 도 2c에는 각각 소스 영상, 소벨 에지 영상 및 캐니 에지 영상이 도시되어 있다. 소벨 에지 영상은 임계치(Threshold)의 값을 100으로 설정하여 얻은 것이며, 캐니 에지 영상은 낮은 임계치(Low Threshold)를 1로 설정하고 높은 임계치(High Threshold)를 128로 설정하여 얻어진 것이다. The edge image generator 120 detects an edge in a previous image frame and generates an edge image. The edge image for the previous image frame may be obtained by using an edge filter, using a directional edge, or the like. When using an edge filter, the edge image generator 120 generates an edge image by applying an edge mask to the source image. In this case, the edge image generator 120 first removes the noise from the source image using a Gaussian mask and then generates an edge image by performing an edge detection mask such as a Sobel mask or a Canny mask. In the first of these two processes, noise is removed, and in the second process, edges are detected in the image from which the noise is removed. In addition to the Sobel edge image, the canny edge image is well represented on the outside of the objects but the inner edge is not well represented. 2A to 2C show a source image, a Sobel edge image, and a canny edge image, respectively. The Sobel edge image is obtained by setting the threshold value to 100, and the Canny edge image is obtained by setting the Low Threshold to 1 and the High Threshold to 128.

방향 에지는 영상에서 명암의 결을 따라 형성되는 라인을 의미한다. 명암의 결은 소벨 에지 필터 또는 캐니 에지 필터 같은 일반적인 에지 필터를 이용하여 나타나는 에지와는 다르다. 왜냐하면 명암의 결은 두 명암 값의 경계면을 의미하는 반면에 일반적인 에지는 주변 픽셀들 간의 명도 또는 색상 값의 차이가 사용자가 지정한 임계치보다 큰 픽셀을 의미하기 때문이다. 다시 말해서, 일반적인 에지 영상은 방향 에지를 의미하는 명암의 결안에 포함된다고 할 수 있다. 또한 두 명암 값의 경계면을 표현하기 때문에 객체들의 외부 에지뿐만 아니라 내부 에지도 잘 표현될 수 있다. 이러한 방향 에지는 캔버스 위에 덧칠되어지는 브러시 스트로크의 방향을 결정하기 위한 기준 에지가 된다. 방향 에지 영상을 생성하기 위해, 에지 영상 생성부(120)는 소스 영상의 연속적인 명암 값을 사용자가 지정하는 N개(예를 들면, 4, 8 등)의 이산 명암도 중에서 지정함으로써 양자화한다. 다음으로 에지 영 상 생성부(120)는 양자화된 영상을 이용하여 명암 값의 경계면을 에지로 설정함으로써 방향 에지 영상을 생성한다. 도 3에는 에지 영상 생성부(120)에 의한 방향 에지 영상의 생성과정이 도시되어 있다. The directional edge refers to a line formed along the grain of contrast in the image. The grain of contrast is different from the edges that appear using conventional edge filters such as Sobel edge filters or Canny edge filters. This is because the contrast of the contrast means the boundary between two contrast values, whereas the general edge means a pixel whose difference in brightness or color between neighboring pixels is larger than a user-specified threshold. In other words, it can be said that the general edge image is included in the resolution of the contrast meaning the directional edge. In addition, since it represents the boundary between two contrast values, the internal edges as well as the external edges of objects can be represented well. This directional edge becomes the reference edge for determining the direction of the brush strokes to be overlaid on the canvas. In order to generate the directional edge image, the edge image generator 120 quantizes the consecutive contrast values of the source image by specifying among N discrete contrast levels designated by the user (for example, 4 and 8). Next, the edge image generator 120 generates the directional edge image by setting the boundary of the contrast value as the edge using the quantized image. 3 illustrates a process of generating the directional edge image by the edge image generator 120.

에지 영상을 생성함에 있어서 방향 에지를 이용하는 방법은 일반적인 에지 마스크를 사용하는 방법과 비교할 때 여러 장점이 있다. 먼저, 동영상에서 캐니 에지를 사용할 경우 사용자가 모든 프레임에 적당한 임계치를 설정한다는 것은 매우 힘들다. 또한 모든 프레임에 같은 임계치를 적용할 경우 이전 프레임에 표현되었던 에지가 현재 프레임에 나타나지 않을 수도 있다. 또한 방향 에지는 각 프레임의 명암 값의 경계면을 이용하기 때문에 명암 값이 변한다 하더라도 프레임 간 에지는 유지된다는 장점이 있다. 또한 그라데이션(Gradation) 현상이 나타나는 영역에서도 두 명암 값의 경계면을 이용하기 때문에 에지를 표현할 수 있다.The use of directional edges in generating an edge image has several advantages over the conventional edge mask. First, when using Canny Edge in a video, it is very difficult for the user to set an appropriate threshold for every frame. Also, if the same threshold is applied to all frames, the edges that were represented in the previous frame may not appear in the current frame. In addition, since the directional edge uses the boundary of the intensity value of each frame, the edge between frames is maintained even if the intensity value changes. In addition, the edges can be expressed in the region where the gradation phenomenon occurs because the boundary between the two contrast values is used.

동영상을 회화적 렌더링으로 변환하기 위해서는 프레임 간 브러시 스트로크의 시간적 일관성을 유지하는 것이 중요하다. 본 발명에서는 이전 영상 프레임의 에지 영상과 이전 프레임과 현재 프레임 사이에 계산된 움직임 벡터 데이터를 이용하여 강한 움직임 맵(이하, '제1움직임 맵'이라 함)과 약한 움직임 맵(이하, '제2움직임 맵'이라 함)의 두 가지 형태의 움직임 맵을 생성한다.Maintaining the temporal consistency of brush strokes between frames is important for converting video into pictorial renderings. According to the present invention, a strong motion map (hereinafter referred to as 'first motion map') and a weak motion map (hereinafter referred to as 'second') are obtained by using edge vector of the previous image frame and motion vector data calculated between the previous frame and the current frame. Create two types of motion maps.

제1움직임 맵은 이전 프레임의 에지에 해당되는 픽셀들이 움직임 벡터에 의해서 현재 프레임으로 이동되는 픽셀들을 말한다. 계산된 움직임 벡터를 이용하여 이전 프레임의 에지에 해당되는 픽셀에 움직임 벡터를 더함으로써 현재 프레임의 에지의 픽셀을 계산할 수 있다. 제1움직임 맵은 픽셀에서 픽셀까지의 영역을 말한 다. 다시 말해서, 제1움직임 맵은 프레임 간 전경이 배경으로 또는 배경이 전경으로 변하는 영역을 의미한다. 또한 제2움직임 맵은 프레임 간 모션은 발생하였으나 에지 이외의 영역을 말한다. 이 맵은 제1움직임 맵과는 달리 각 프레임에서 에지에 해당되는 픽셀들을 포함하고 있지 않기 때문에 주변 픽셀들 간의 색상 차이가 적은 부분이기도 하다. 다시 말해서, 제2움직임 맵은 프레임 간 전경은 전경으로 또는 배경은 배경으로 변하는 영역을 말한다. 본 발명에서는 이러한 두 가지 움직임 맵을 이용하여 다음 프레임에서 덧칠될 브러시 스트로크의 위치를 정확하게 파악함으로써 프레임 간 브러시 스트로크의 시간적 일관성을 유지 및 손으로 그린 듯 한 회화적 느낌을 표현할 수 있다.The first motion map refers to pixels in which pixels corresponding to the edge of the previous frame are moved to the current frame by the motion vector. The pixel at the edge of the current frame may be calculated by adding the motion vector to the pixel corresponding to the edge of the previous frame using the calculated motion vector. The first motion map refers to an area from pixel to pixel. In other words, the first motion map refers to an area where the foreground between frames changes to the background or the background turns to the foreground. In addition, the second motion map refers to an area other than the edge although the inter-frame motion occurs. Unlike the first motion map, the map does not include pixels corresponding to the edges in each frame, and thus the color difference between neighboring pixels is small. In other words, the second motion map refers to an area where the foreground between frames changes to the foreground or the background turns to the background. In the present invention, by using the two motion maps to accurately grasp the position of the brush stroke to be overlaid in the next frame, it is possible to maintain the temporal consistency of the brush stroke between the frames and to express the painterly feeling as if drawn by hand.

제1움직임 맵 생성부(130)는 이전 영상 프레임의 에지 영상을 구성하는 각각의 제1픽셀로부터 제1픽셀의 좌표에 움직임 벡터를 가산하여 얻어진 지점까지를 연결하여 제1움직임 맵 Motion_Mapstr을 생성한다. 이러한 과정을 수학식으로 표현하면 다음과 같다. 이때 움직임 벡터의 값은 (1.0, 1.0)이상인 벡터만 사용하는 것이 바람직하다.The first motion map generator 130 generates the first motion map Motion_Map str by connecting the first motion map motion to the point obtained by adding the motion vector to the coordinates of the first pixel from each of the first pixels constituting the edge image of the previous image frame. do. This process is expressed as a mathematical expression as follows. In this case, it is preferable to use only a vector having a value of (1.0, 1.0) or more.

Figure 112007090889858-pat00001
Figure 112007090889858-pat00001

Figure 112007090889858-pat00002
Figure 112007090889858-pat00002

수학식 1 및 2에서, A(x,y)는 이전 영상 프레임의 에지 영상을 구성하는 픽 셀 중에서 움직임이 발생한 픽셀이고, MV(x,y)(Δu,Δv)는 이전 영상 프레임과 현재 영상 프레임 간 움직임 벡터이며, DL(A(x,y), B(x,y))는 두 점 A(x,y)와 B(x,y) 사이에 선을 그리는 함수이다. In Equations 1 and 2, A (x, y) is a pixel in which motion occurs among pixels constituting an edge image of a previous image frame, and MV (x, y) (Δu, Δv) is a previous image frame and a current image. Inter-frame motion vector, DL (A (x, y), B (x, y)) is a function that draws a line between two points A (x, y) and B (x, y).

도 4a 내지 도 4f에는 각각 이전 영상 프레임, 현재 영상 프레임, 이전 영상 프레임의 에지 영상, 에지 영상에서 움직임이 발생한 에지만을 추출하여 얻어진 영상, 에지 영상에서 움직임이 발생한 에지에 움직임 벡터를 더하여 얻어진 영상 및 제1움직임 맵이 도시되어 있다. 4A to 4F respectively show an image obtained by extracting only an edge where a motion occurs from an edge image, an edge image of a previous image frame, an edge image, an image obtained by adding a motion vector to an edge where a motion occurs in an edge image, and The first motion map is shown.

제2움직임 맵 생성부(140)는 제1영상 프레임을 구성하는 픽셀들 중에서 에지 영상을 구성하는 제1픽셀을 제외한 위치가 이동된 각각의 제2픽셀로부터 제2픽셀의 좌표에 움직임 벡터를 가산하여 얻어진 지점까지를 연결하여 제2움직임 맵을 생성한다. 이러한 과정을 수학식으로 표현하면 다음과 같다. 이때 제2움직임 맵은 주변 픽셀들 간의 색상 차이가 적은 부분들이기 때문에 제1움직임 맵과 달리 움직임 벡터의 값은 (2.0, 2.0)이상인 벡터만 사용하는 것이 바람직하다.The second motion map generator 140 adds a motion vector to the coordinates of the second pixel from each second pixel whose position other than the first pixel constituting the edge image among the pixels constituting the first image frame is moved. The second motion map is generated by connecting up to the obtained points. This process is expressed as a mathematical expression as follows. In this case, since the second motion map is a part of which color difference between neighboring pixels is small, it is preferable to use only a vector having a value of (2.0, 2.0) or more, unlike the first motion map.

Figure 112007090889858-pat00003
Figure 112007090889858-pat00003

수학식 3에서, C(x,y)는 이전 영상 프레임을 구성하는 픽셀 중에서 에지를 제외한 움직임이 발생한 픽셀이고, MV(x,y)(Δu,Δv)는 이전 영상 프레임과 현재 영상 프레임 간 움직임 벡터이며, DL(C(x,y), D(x,y))는 두 점 C(x,y)와 D(x,y) 사이 에 선을 그리는 함수이다. In Equation 3, C (x, y) is a pixel excluding edges among pixels constituting the previous image frame, and MV (x, y) (Δu, Δv) is a movement between the previous image frame and the current image frame. Vector, DL (C (x, y), D (x, y)) is a function that draws a line between two points C (x, y) and D (x, y).

도 5a 내지 도 5f에는 각각 이전 영상 프레임, 현재 영상 프레임, 이전 영상 프레임에서 움직임이 발생한 에지 이외의 픽셀로 이루어진 영상, 이전 영상 프레임에서 움직임이 발생한 에지 이외의 픽셀로 이루어진 영상 및 제2움직임 맵이 도시되어 있다. 5A to 5F respectively show a previous image frame, a current image frame, an image composed of pixels other than the edge at which the movement occurred in the previous image frame, an image composed of pixels other than the edge at which the movement occurred at the previous image frame, and a second motion map, respectively. Is shown.

상술한 바와 같은 제1 및 제2움직임 맵은 사용되는 에지 영상의 종류에 따라 다소 차이가 있다. 먼저 캐니 에지 영상은 객체들의 외부 에지만 포함하고 있으므로, 이를 기초로 만들어진 움직임 맵은 브러시 스트로크를 덧칠할 때 객체들의 내부에 덧칠이 수행되지 않게 되어 프레임 간 플릭커링 현상이 나타날 가능성이 존재한다. 도 6a 내지 도 6e에는 각각 이전 영상 프레임, 현재 영상 프레임, 이전 영상 프레임의 캐니 에지 영상, 제1움직임 맵 및 제2움직임 맵이 도시되어 있다. 다음으로 방향 에지 영상은 객체들의 외부 및 내부 에지를 모두 포함한다. 따라서 보다 정확한 움직임 맵을 생성할 수 있으며, 브러시 스트로크를 덧칠할 때도 캐니 에지 영상을 이용하여 만들어진 움직임 맵보다는 좀 더 정확하게 덧칠할 수 있다. 도 7a 내지 도 7e에는 각각 이전 영상 프레임, 현재 영상 프레임, 이전 영상 프레임의 방향 에지 영상, 제1움직임 맵 및 제2움직임 맵이 도시되어 있다.The first and second motion maps described above are somewhat different depending on the type of edge image used. First, since the canny edge image includes only the outer edges of the objects, the motion map created based on this may not be painted inside the objects when brush strokes are applied, and thus there is a possibility that flickering occurs between frames. 6A to 6E illustrate a previous image frame, a current image frame, a canny edge image of a previous image frame, a first motion map, and a second motion map, respectively. The directional edge image then contains both the outer and inner edges of the objects. Therefore, a more accurate motion map can be generated, and even when brush strokes are applied, a more accurate motion map can be applied than a motion map created using the Canny edge image. 7A to 7E illustrate a previous image frame, a current image frame, a direction edge image of the previous image frame, and a first motion map and a second motion map, respectively.

렌더링 영상 생성부(150)는 제1움직임 맵 및 제2움직임 맵을 기초로 이전 영상 프레임에 대응하는 제1렌더링 영상에 대해 덧칠을 수행하여 현재 영상 프레임에 대응하는 제2렌더링 영상을 생성한다. 이러한 렌더링 영상 생성부(150)는 브러시 스트로크의 종류, 색상 결정 방법, 렌더링 방법 등에 따라 다양한 구성을 가질 수 있다. The rendering image generation unit 150 generates a second rendering image corresponding to the current image frame by performing a repainting on the first rendering image corresponding to the previous image frame based on the first motion map and the second movement map. The rendered image generator 150 may have various configurations according to the type of brush stroke, a color determination method, a rendering method, and the like.

도 8a에는 렌더링 영상 생성부(150)에 대한 제1실시예의 구성이 도시되어 있다. 도 8a에 도시된 실시예는 브러시 스트로크 패턴이 곡선의 브러시 텍스쳐일 경우에 해당하는 렌더링 영상 생성부(150)의 예이다. 8A illustrates a configuration of the first embodiment of the rendered image generator 150. 8A illustrates an example of the rendered image generator 150 when the brush stroke pattern is a curved brush texture.

도 8a를 참조하면, 렌더링 영상 생성부(150)는 덧칠방향 결정부(810), 덧칠지점 결정부(820), 스트로크 패턴 선택부(830) 및 렌더링부(840)를 구비한다.Referring to FIG. 8A, the rendered image generating unit 150 includes an overcoat direction determiner 810, an overcoat point determiner 820, a stroke pattern selector 830, and a renderer 840.

덧칠방향 결정부(810)는 에지 영상을 구성하는 각각의 픽셀들의 그라디언트 값을 기초로 이전 영상 프레임을 구성하는 각각의 픽셀들에 대한 덧칠방향을 결정한다. 이를 위해 덧칠방향 결정부(810)는 그라디언트 산출부(812), 강한 에지 선정부(814) 및 결정부(816)를 구비한다. 도 8b에는 덧칠방향 결정부(810)의 상세한 구성이 도시되어 있다. 그라디언트 산출부(812)는 다음의 수학식에 의해 이전 영상 프레임에서 검출된 에지 상의 픽셀들의 그라디언트 값을 산출한다. The overlay direction determiner 810 determines the overlay direction for each pixel constituting the previous image frame based on the gradient value of each pixel constituting the edge image. For this purpose, the overcoat determination unit 810 includes a gradient calculator 812, a strong edge selector 814, and a determiner 816. 8B shows the detailed configuration of the re-coating direction determiner 810. The gradient calculator 812 calculates a gradient value of pixels on the edge detected in the previous image frame by the following equation.

Figure 112007090889858-pat00004
Figure 112007090889858-pat00004

강한 에지 선정부(814)는 에지 상의 픽셀들의 그라디언트 값을 크기가 큰 픽셀들로부터 순차적으로 기준 픽셀을 선택하고, 선택된 기준 픽셀을 중심으로 소정의 제1영역(예를 들면, 기준 픽셀에 인접하는 픽셀을 포함하는 영역) 내에 존재하 는 에지 상의 다른 픽셀들을 제거하여 강한 에지를 선정한다. 결정부(816)는 소정의 제2영역(예를 들면, 반경이 2픽셀인 원) 내에 존재하는 강한 에지들의 가중치와 그라디언트의 합을 기초로 산출한 이전 영상 프레임을 구성하는 각각의 픽셀들의 그라디언트 크기에 의해 이전 영상 프레임을 구성하는 각각의 픽셀들의 덧칠방향을 결정한다. 도 9a 내지 도 9e에는 각각 이전 영상 프레임, 캐니 에지 영상을 이용한 강한 에지 영상, 방향 에지 영상을 이용한 강한 에지 영상, 캐니 에지 영상을 이용한 강한 에지 영상에 의한 그라디언트 보간 영상 및 방향 에지 영상을 이용한 강한 에지 영상에 의한 그라디언트 보간 영상이 도시되어 있다.The strong edge selector 814 sequentially selects a reference pixel from pixels having a large gradient value of pixels on the edge, and selects a predetermined first area (eg, adjacent to the reference pixel) around the selected reference pixel. The strong edge is selected by removing other pixels on the edge existing in the area including the pixel). The determination unit 816 may include a gradient of respective pixels constituting the previous image frame calculated based on the sum of the weights and gradients of the strong edges existing in the second predetermined area (eg, a circle having a radius of 2 pixels). The oversize direction of each pixel constituting the previous image frame is determined by the size. 9A to 9E illustrate a previous image frame, a strong edge image using a canny edge image, a strong edge image using a directional edge image, a gradient interpolation image by a strong edge image using a canny edge image, and a strong edge using a directional edge image, respectively. Gradient interpolation image by image is shown.

덧칠지점 결정부(820)는 이전 영상 프레임에 대응하는 제1렌더링 영상을 구성하는 픽셀 중에서 제1움직임 맵 및 제2움직임 맵에 대응하는 덧칠영역에 위치하는 제3픽셀들을 선택하고, 제3픽셀들 중에서 덧칠이 수행될 제4픽셀들을 선택한다. 이때 덧칠지점 결정부(820)는 브러시 스트로크의 위치를 랜덤하게 설정하거나, 영상의 모멘트를 이용하여 위치를 설정하거나, 캔버스 전체를 그리드로 나누고 그리드 하나당 하나의 브러시를 적용하거나, 영역 분할을 이용하여 분할된 하나의 영역을 하나의 브러시로 설정한다. 본 발명에서는 덧칠할 브러시 스트로크의 위치를 설정하는데 있어서 랜덤 또는 그리드 단위로 설정하는 방법을 사용하는 것이 바람직하다. The overlay point determiner 820 selects third pixels located in an overlay region corresponding to the first motion map and the second motion map from the pixels constituting the first rendered image corresponding to the previous image frame, and then selects the third pixel. Among the fourth pixels to be overwritten is selected. In this case, the overlay point determining unit 820 randomly sets the position of the brush stroke, sets the position using the moment of the image, divides the entire canvas into grids, applies one brush per grid, or uses segmentation. Set one divided region as one brush. In the present invention, in setting the position of the brush stroke to be painted, it is preferable to use a method of setting randomly or in grid units.

랜덤으로 시드 값을 발생시켜 브러시 스트로크를 덧칠하는 경우에 시드 값은 브러시 스트로크의 중심 위치로 설정되며 캔버스 전역에 객체들의 특성에 맞게 골고루 퍼져있어야 한다. 그러나 랜덤으로 생성되는 브러시 스트로크의 위치는 객체 들의 특징을 고려하지 않고 생성되는 값이기 때문에 디테일하게 회화적 느낌을 표현하려면 시드 값을 매우 많이 발생시켜야 하는 문제점이 있다. 도 9a 및 도 9b는 각각 3507개의 시드 값을 랜덤하게 발생하여 캔버스에 배치한 영상 및 3507개의 시드 값에 대응하는 브러시를 덧칠하여 얻어진 결과 영상을 도시한 도면이다. When randomly generating seed values and brush strokes, the seed values are set to the center positions of the brush strokes and should be spread evenly in accordance with the characteristics of the objects throughout the canvas. However, since randomly generated brush strokes are values that are generated without considering the characteristics of objects, there is a problem in that seed values must be generated very much in order to express the pictorial feeling in detail. 9A and 9B are diagrams illustrating images obtained by randomly generating 3507 seed values and arranging them on a canvas and brushing the brush corresponding to the 3507 seed values, respectively.

이와 달리 캔버스를 격자로 분할하고, 각각의 격자에 한 개의 브러시 스트로크를 덧칠하는 방법이 적용될 수 있다. 이 방법은 캔버스를 4 ~ 6개 정도의 레이어로 나누고 각 레이어별로 브러시의 폭에 따라 격자로 나눈다. 이렇게 나누어진 격자는 캔버스와 소스 영상 간의 색상 값 비교를 통해 하나의 브러시가 덧칠된다. 또한 브러시의 폭이 큰 것에서 작은 순으로 이루어져 있기 때문에 격자 크기 역시 큰 격자에서 작은 순으로 구분한다. 도 10에는 브러시 스트로크들이 캔버스 위에 덧칠되는 단계들이 도시되어 있다. 도 10에 도시된 영상은 총 100번의 덧칠을 시도하여 87개의 브러시 스트로크가 캔버스위에 덧칠된 영상이다. 100번의 덧칠 시도에서 87번만 덧칠된 이유는 다음의 수학식에서 영역 에러값 AreaError이 사용자가 설정하는 임계치 T보다 클 경우만 덧칠하기 때문이다.Alternatively, a method of dividing the canvas into grids and applying one brush stroke to each grid may be applied. This method divides the canvas into four or six layers, and each layer is divided into grids based on the width of the brush. The divided grid is covered with a brush by comparing color values between the canvas and the source image. Also, since the width of the brush is from the largest to the smallest, the grid size is also divided from the largest to the smallest. 10 shows the steps in which brush strokes are overlaid on the canvas. The image shown in FIG. 10 is an image in which 87 brush strokes are overlaid on a canvas by attempting to paint a total of 100 times. The reason why only 87 paints are overwritten in 100 paint attempts is to paint only when the area error value AreaError is larger than the threshold T set by the user.

Figure 112007090889858-pat00005
Figure 112007090889858-pat00005

여기서, Di ,j는 (i,j)에서 소스 영상과 덧칠이 수행되는 렌더링 영상의 색상 차이값을 계산하는 함수이고, M은 (x,y)를 중심으로 하는 격자 영역이며, grid는 격자의 면적이다. Here, D i , j is a function for calculating the color difference between the source image and the rendered image in which (i, j) is overlaid, M is a grid area centered on (x, y), and grid is a grid Is the area.

스트로크 패턴 선택부(830)는 현재 영상 프레임을 구성하는 픽셀 중에서 덧칠이 수행될 제4픽셀에 대응하는 픽셀의 색상에 해당하는 스트로크 패턴을 선택한다. 이를 위해 사전에 상이한 모양과 질감을 갖는 복수 개의 스트로크 패턴들이 정의된다. 먼저 브러시 스트로크 패턴의 모양은 직선 브러시 스트로크와 곡선 브러시 스트로크로 구분된다. 직선 브러시 스트로크는 시작 위치 (x0, y0)가 결정되면 사용자가 지정한 브러시의 길이와 폭의 값에 따라 브러시 스트로크의 끝점 (x1, y1)이 결정된다. 도 11a에는 직선 브러시 스트로크의 생성방법이 도시되어 있다. 브러시 스트로크의 끝점을 정하는 방법은 시작 위치 (x0, y0)의 그라디언트 의 수직 방향으로 길이만큼 떨어진 지점을 선택한다. 곡선 브러시 스트로크는 스플라인 곡선에 의해 정의된다. 곡선 브러시 스트로크는 첫 번째 제어점 (x0, y0)에서 시작되며, 그라디언트 G0의 수직 방향인 D0로 결정된다. 이러서 두 번째 제어점 (x1, y1)으로부터 두 개의 수직 방향(θ1+π/2, θ1-π/2) 중에서 브러시 스트로크의 곡률이 작은 D1을 선택하며, 이러한 과정을 반복하여 곡선 브러시 스트로크가 생성된다. 도 11b에는 곡선 브러시 스트로크의 생성방법이 도시되어 있다.The stroke pattern selector 830 selects a stroke pattern corresponding to the color of the pixel corresponding to the fourth pixel to be overwritten among the pixels constituting the current image frame. For this purpose, a plurality of stroke patterns having different shapes and textures are defined in advance. First, the shape of the brush stroke pattern is divided into a straight brush stroke and a curved brush stroke. In the case of the straight brush stroke, the start position (x 0 , y 0 ) is determined, and the end point (x 1 , y 1 ) of the brush stroke is determined according to the value of the length and width of the brush specified by the user. 11A illustrates a method for generating a straight brush stroke. To set the end point of the brush stroke, select a point away from the vertical direction of the gradient of the starting position (x 0 , y 0 ). Curved brush strokes are defined by spline curves. The curved brush stroke starts at the first control point (x 0 , y 0 ) and is determined by D 0 , the vertical direction of the gradient G 0 . Thus, from the second control point (x 1 , y 1 ), select D 1, which has the smallest curvature of the brush stroke, from the two vertical directions (θ 1 + π / 2, θ 1 -π / 2). Curved brush strokes are created. 11B illustrates a method for generating curved brush strokes.

다음으로 브러시 스트로크 패턴의 질감은 솔리드 브러시 스트로크와 브러시 텍스쳐로 구분된다. 솔리드 브러시 스트로크는 브러시 하나당 한가지의 색상을 가지는 브러시를 말한다. 솔리드 브러시는 한가지의 색상만을 가지기 때문에 캔버스 에 덧칠할 경우 색의 혼합 현상은 단순히 불투명도(Opacity) 만을 이용하여 조절가능하다. 또한 불투명도의 비율을 너무 많이 부여할 경우 수묵화 같은 효과가 나타나기도 한다. 이러한 특징들을 내포하고 있는 브러시 스트로크는 같은 색상을 가지는 여러 개의 솔리드 브러시 스트로크를 교차해서 덧칠할 경우 주변 브러시들 간의 혼합으로 인하여 덧칠의 느낌을 표현할 수 없다는 단점이 있다. 또한 덧칠해지는 브러시 스트로크 간 구분이 어렵다. 이와 달리 브러시 텍스쳐는 실제 붓을 이용하여 그린 후에 스캔하여 저장한 영상으로서 붓 결이 나타나는 브러시를 말한다. 이러한 특징을 가지는 브러시 스트로크는 여러 개의 브러시 텍스쳐를 교차해서 칠하더라도 덧칠의 느낌을 표현할 수 있으며 붓 결 사이로 밑에 묻어나는 브러시의 색상이 묻어나옴으로써 색의 혼합 현상도 표현할 수 있다. 도 12a 및 도 12b에는 각각 솔리드 브러시 스트로크와 브러시 텍스쳐의 예가 도시되어 있다. Next, the texture of the brush stroke pattern is divided into a solid brush stroke and a brush texture. Solid brush strokes are brushes that have one color per brush. Solid brushes have only one color, so when you paint on the canvas, the mix of colors can be adjusted simply by using opacity. In addition, too much ratio of opacity may have the effect of ink painting. Brush strokes that incorporate these features have the drawback of not being able to express the feeling of painting due to mixing between neighboring brushes when painting with multiple solid brush strokes having the same color. It is also difficult to distinguish between brush strokes that are overlaid. In contrast, a brush texture is an image that is scanned and stored after drawing with a real brush. Brush strokes with this feature can express the feeling of overwriting even when several brush textures are crossed, and the color of the brush can be expressed by the color of the underlying brush between the brush strokes. 12A and 12B show examples of solid brush strokes and brush textures, respectively.

스트로크 패턴 선택부(830)는 사전에 정의되어 저장되어 있는 다양한 모양과 질감을 갖는 브러시 스트로크 패턴 중에서 무작위로 하나의 브러시를 선택한 후 색상을 부여한다. 이때 스트로크 패턴 선택부(830)는 상술한 바와 같이 현재 영상 프레임을 구성하는 픽셀 중에서 덧칠이 수행될 제4픽셀에 대응하는 픽셀의 색상에 해당하는 색상을 선택된 브러시 스트로크 패턴에 부여하는 방법 외에 다른 방법에 의해 브러시 스트로크 패턴에 색상을 부여할 수 있다. 일예로, 스트로크 패턴 선택부(830)는 서로 다른 모양과 질감을 갖는 복수의 브러시 스트로크 패턴 중에서 선택된 브러시 스트로크 패턴에 부여한 색상값과 현재 영상 프레임을 구성하는 픽셀 중에서 덧칠이 수행될 제4픽셀에 대응하는 픽셀의 색상값의 차이가 제1렌더링 영상 을 구성하는 픽셀 중에서 덧칠이 수행될 제4픽셀에 대응하는 픽셀의 색상값과 현재 영상 프레임을 구성하는 픽셀 중에서 덧칠이 수행될 제4픽셀에 대응하는 픽셀의 색상값의 차이보다 작은 스트로크 패턴을 선택한다. The stroke pattern selector 830 randomly selects one brush from among brush stroke patterns having various shapes and textures which are predefined and stored, and gives a color. In this case, the stroke pattern selection unit 830 may use a method other than the method of applying a color corresponding to the color of the pixel corresponding to the fourth pixel to be repainted among the pixels constituting the current image frame to the selected brush stroke pattern. Color can be given to a brush stroke pattern by this. For example, the stroke pattern selector 830 corresponds to a color value applied to a brush stroke pattern selected from a plurality of brush stroke patterns having different shapes and textures, and a fourth pixel to be overlaid among pixels constituting the current image frame. The difference in the color value of the corresponding pixel corresponds to the color value of the pixel corresponding to the fourth pixel to be overwritten among the pixels constituting the first rendered image and the fourth pixel to be overwritten among the pixels constituting the current image frame. Choose a stroke pattern that is smaller than the difference in the color values of the pixels.

렌더링부(840)는 제1렌더링 영상에 대해 선택된 덧칠이 수행될 제4픽셀 각각에 대해 결정된 덧칠 방향으로 선택된 스트로크 패턴을 배치하여 제2렌더링 영상을 생성한다. 이때 렌더링부(840)는 제1움직임 맵에 대응하여 결정된 제4픽셀들 각각에 대해 선택된 스트로크 패턴을 제1렌더링 영상에 배치한 후 제2움직임 맵에 대응하여 결정된 제4픽셀들 각각에 대해 선택된 스트로크 패턴을 제1렌더링 영상에 배치하여 제2렌더링 영상을 생성한다. 제1움직임 맵에 대응하여 결정된 제4픽셀들에 대한 렌더링에 있어서, 브러시 텍스쳐를 사용하여 캔버스 위에 덧칠할 때는 하나의 브러시에 붓 결이 존재하기 때문에 홀이 발생할 수 있으며 이런 홀을 채우기 위해서는 같은 색상을 가지는 브러시 텍스쳐를 여러 번 덧칠을 해야 한다. 따라서 브러시 텍스쳐를 사용할 때는 제1움직임 맵에 해당되는 픽셀 수에 따라 브러시 스트로크의 덧칠을 시도하고 현재 영상 프레임과 제1렌더링 이미지 사이의 색상 차이 값을 이용하여 실제 브러시 텍스쳐를 덧칠한다. The rendering unit 840 generates a second rendered image by arranging a selected stroke pattern in a direction of the overwriting determined for each of the fourth pixels to be selected for the first rendered image. In this case, the rendering unit 840 places a stroke pattern selected for each of the fourth pixels determined in correspondence with the first motion map, and selects each of the fourth pixels determined in correspondence with the second motion map. The stroke pattern is disposed on the first rendered image to generate a second rendered image. In the rendering of the fourth pixels determined in correspondence with the first motion map, holes can occur when a brush texture is used to paint on the canvas, because there is a brush on one brush. You will need to reapply the brush texture several times. Therefore, when using the brush texture, the brush stroke is applied according to the number of pixels corresponding to the first motion map, and the actual brush texture is overlaid using the color difference value between the current image frame and the first rendered image.

제1움직임 맵에 대응하여 제1렌더링 영상에 브러시 텍스쳐를 덧칠하는 과정은 크게 여섯 단계로 이루어진다. 첫째, 이전 영상 프레임에 대응하는 제1렌더링 영상을 현재 영상 프레임에 대응하는 제2렌더링 영상의 초기 영상으로 설정한다. 둘째, 무작위로 복수 개의 브러시 텍스쳐 중에서 하나의 브러시 텍스쳐를 선택한다. 셋째, 제1움직임 맵에 해당되는 픽셀들을 데이터베이스화하고, 데이터베이스화 된 픽셀들 중 하나를 선택하여 브러시 텍스쳐가 덧칠될 위치를 설정한다. 넷째, 브러시 텍스쳐가 칠해질 위치의 임의의 영역을 메모리 버퍼에 넣고 현재 영상 프레임과 버퍼 영역 간의 색상 차이 값(Error 1)을 계산한다. 다섯 번째, 브러시 텍스쳐를 덧칠하고 칠해진 영역과 현재 영상 프레임 간의 색상 차이 값(Error 2)을 계산한다. 마지막으로 Error 1과 Error 2를 비교하여 Error 1값이 Error 2 값보다 크면 다음 덧칠할 위치를 설정하고, Error 1값이 Error 2 값보다 작으면 칠하기 이전에 저장된 메모리 버퍼의 내용을 다시 제2렌더링 영상의 초기 영상에 복사한다. 도 13a 내지 도 13d에는 이전 영상 프레임, 현재 영상 프레임, 제1움직임 맵, 그리고, 상술한 과정을 통해 브러시 텍스쳐를 덧칠하여 얻어진 결과 영상이 도시되어 있다.The process of applying the brush texture to the first rendered image corresponding to the first motion map is largely composed of six steps. First, the first rendered image corresponding to the previous image frame is set as the initial image of the second rendered image corresponding to the current image frame. Second, one brush texture is randomly selected from a plurality of brush textures. Third, the pixels corresponding to the first motion map are databased, and one of the databased pixels is selected to set a position at which the brush texture is to be overlaid. Fourth, an arbitrary region of the position where the brush texture is to be painted is put in a memory buffer and a color difference value (Error 1) between the current image frame and the buffer region is calculated. Fifth, the brush texture is overlaid and the color difference value (Error 2) between the painted area and the current image frame is calculated. Finally, by comparing Error 1 and Error 2, if the Error 1 value is greater than the Error 2 value, set the position to be overwritten. If the Error 1 value is less than the Error 2 value, the contents of the memory buffer stored before the painting are rewritten. Copies to the initial image of the rendered image. 13A to 13D illustrate a previous image frame, a current image frame, a first motion map, and a result image obtained by painting a brush texture through the above-described process.

제2움직임 맵에 대응하여 제1움직임 맵을 기초로 일차적인 렌더링이 수행된 제1렌더링 영상에 브러시 텍스쳐를 덧칠하는 과정 역시 크게 여섯 단계로 이루어진다. 첫째, 제1움직임 맵을 이용하여 브러시 텍스쳐가 덧칠된 결과 영상을 현재 영상 프레임에 대응하는 제2렌더링 영상의 초기 영상으로 설정한다. 둘째, 무작위로 복수 개의 브러시 텍스쳐 중에서 하나의 브러시 텍스쳐를 선택한다. 셋째, 제2움직임 맵에 해당되는 픽셀들을 데이터베이스화한다. 이때 무작위로 덧칠을 수행할 위치를 설정하고 설정된 위치가 제1움직임 맵에 대응하는 데이터베이스에 존재하는지 확인한다. 만약 해당 위치가 데이터베이스에 존재하면, 그 위치에 브러시 텍스쳐의 덧칠을 시도하고, 그렇지 않으면 다음 위치를 선택한다. 이때 사용되는 브러시 텍스쳐의 덧칠 시도 횟수는 1000번 정도로 설정한다. 왜냐하면 제2움직임 맵은 제1움직임 맵과는 달리 주변 픽셀들 간의 색상 차이가 적게 나타나는 부분이며, 따라서 영상 프레임마다 덧칠을 하지 않아도 되는 부분이기 때문이다. 1000은 사용자가 임의로 지정한 수이며 실험적으로 결정된다. 넷째, 브러시 텍스쳐가 칠해질 위치의 임의의 영역을 메모리 버퍼에 넣고, 현재 영상 프레임과 버퍼 영역 간의 색상 차이 값(Error 1)을 계산한다. 다섯 번째, 브러시 텍스쳐를 덧칠하고 칠해진 영역과 현재 영상 프레임 간의 색상 차이 값(Error 2)을 계산한다. 마지막으로 Error 1와 Error 2를 비교하여 만일 Error 1값이 Error 2 값보다 크면, 다음 덧칠할 위치를 설정하고 Error 1값이 Error 2 값보다 적으면 칠하기 이전에 저장된 메모리 버퍼의 내용을 다시 제2렌더링 영상의 초기 영상으로 설정한다. 도 14a 내지 도 14d에는 이전 영상 프레임, 현재 영상 프레임, 제2움직임 맵, 그리고, 상술한 과정을 통해 브러시 텍스쳐를 덧칠하여 얻어진 결과 영상이 도시되어 있다.The process of applying a brush texture to the first rendered image in which the primary rendering is performed based on the first motion map corresponding to the second motion map is also largely performed in six steps. First, the resultant image of which the brush texture is overlaid using the first motion map is set as the initial image of the second rendered image corresponding to the current image frame. Second, one brush texture is randomly selected from a plurality of brush textures. Third, pixels corresponding to the second motion map are databased. At this time, the position to be randomly painted is set, and it is checked whether the set position exists in the database corresponding to the first motion map. If the location exists in the database, it attempts to overwrite the brush texture at that location, otherwise it selects the next location. At this time, the number of brush painting attempts used is set to about 1000 times. This is because, unlike the first motion map, the second motion map is a portion where color difference between neighboring pixels is small, and thus, the second motion map does not need to be painted for each image frame. 1000 is a user-specified number and is determined experimentally. Fourth, an arbitrary region of the position where the brush texture is to be painted is put in the memory buffer, and a color difference value (Error 1) between the current image frame and the buffer region is calculated. Fifth, the brush texture is overlaid and the color difference value (Error 2) between the painted area and the current image frame is calculated. Finally, compare Error 1 and Error 2, and if the Error 1 value is greater than the Error 2 value, set the next place to overwrite and if the Error 1 value is less than the Error 2 value, remove the contents of the memory buffer stored before painting. 2 Set as the initial image of the rendered image. 14A to 14D illustrate a previous image frame, a current image frame, a second motion map, and a resultant image obtained by painting a brush texture through the above-described process.

도 8c에는 렌더링 영상 생성부(150)에 대한 제2실시예의 구성이 도시되어 있다. 도 8c에 도시된 실시예는 브러시 스트로크 패턴이 곡선의 솔리드 브러시 스트로크일 경우에 해당하는 렌더링 영상 생성부(150)의 예이다. 8C illustrates the configuration of the second embodiment of the rendered image generator 150. 8C illustrates an example of the rendered image generator 150 corresponding to the case where the brush stroke pattern is a curved solid brush stroke.

도 8c를 참조하면, 렌더링 영상 생성부(150)는 덧칠방향 결정부(860), 덧칠여부 결정부(870) 및 렌더링부(880)를 구비한다. 도 8c에 도시된 렌더링 영상 생성부(150)에 대한 제2실시예는 도 8a에 도시된 렌더링 영상 생성부(150)에 대한 제1실시예와 비교할 때 덧칠방향 결정부(860)의 구성 및 기능은 동일하므로, 이하에서는 덧칠여부 결정부(870) 및 렌더링부(880)의 구성 및 기능에 대해서만 설명한다.Referring to FIG. 8C, the rendering image generator 150 includes an over-direction determining unit 860, an over-adding determining unit 870, and a rendering unit 880. The second embodiment of the rendered image generating unit 150 shown in FIG. 8C is a configuration of the overlaid direction determining unit 860 as compared with the first embodiment of the rendered image generating unit 150 shown in FIG. 8A. Since the functions are the same, only the configurations and functions of the over-the-head determining unit 870 and the rendering unit 880 will be described below.

덧칠여부 결정부(870)는 제1렌더링 영상, 제1움직임 맵 및 제2움직임 맵 상에 소정의 크기를 갖는 격자를 설정하고, 다음의 수학식으로 정의되는 결정규칙에 의해 제1렌더링 영상에 대해 설정된 격자들 중에서 제1움직임 맵 및 제2움직임 맵 상에 설정된 격자에 대응하는 격자들에 대한 덧칠여부를 결정한다. 이때 덧칠여부 결정부(870)는 A/C값이 제2임계값 TH2보다 크면 제1임계값 TH1을 증가시킨다. The overlay determining unit 870 sets a grid having a predetermined size on the first rendered image, the first motion map, and the second motion map, and applies the grid to the first rendered image by a decision rule defined by the following equation. It is determined whether the grids corresponding to the grids set on the first motion map and the second motion map are overlaid. In this case, the overwrite determination unit 870 increases the first threshold value TH 1 when the A / C value is greater than the second threshold value TH 2 .

Figure 112007090889858-pat00006
Figure 112007090889858-pat00006

여기서, Nall은 임의의 격자 내에 존재하는 픽셀의 수, Nst _ motion 및 Nwe _ motion은 각각 제1움직임 맵과 제2움직임 맵의 대응하는 격자 내에 존재하는 픽셀의 수, A는 제1움직임 맵에 존재하는 픽셀의 수, C는 제1렌더링 영상에 복수의 스트로크 패턴 중에서 선택된 스트로크 패턴을 적용하여 얻어진 영상과 제1움직임 맵 사이의 배타적 논리합을 수행한 결과로 얻어지는 픽셀의 수, Diff Map(i)는 제2영상 프레임과 제1렌더링 영상 사이의 색상 차이, N은 격자를 포함하는 소정 크기의 영역을 구성하는 픽셀의 수, 그리고, TH1 내지 TH4는 각각에 대해 설정된 임계값이다.Where N all is the number of pixels present in any grating, N st _ motion and N we _ motion are the number of pixels present in the corresponding grating of the first motion map and the second motion map, respectively, and A is the first The number of pixels present in the motion map, C is the number of pixels obtained as a result of performing an exclusive OR between an image obtained by applying a stroke pattern selected from a plurality of stroke patterns to the first rendered image and the first motion map, and a Diff Map (i) is a color difference between the second image frame and the first rendered image, N is the number of pixels constituting a region of a predetermined size including a lattice, and TH 1 to TH 4 are thresholds set for each .

제1움직임 맵은 프레임 간 색상 변화가 뚜렷하게 나타나는 에지 부분을 포함하고 있다. 이러한 이유 때문에 제1렌더링 영상을 제2렌더링 영상의 초기 영상으로 설정하고 그 위에 색상 변화가 뚜렷하게 나타나는 제1움직임 맵 부분을 덧칠하게 된다. 사용되는 브러시 스트로크의 종류(브러시 스트로크의 폭을 기준으로 나눔)에 따라 렌더링이 수행되는 캔버스를 N개의 레이어로 나누고 각 레이어별로 제1움직임 맵에 해당되는 최소한의 영역에 브러시 스트로크를 적용한다. 덧칠여부 결정부(870)는 수학식 6을 이용하여 덧칠이 수행될 캔버스 위에 브러시 스트로크의 덧칠 여부를 결정한다. 이때 하나의 레이어를 브러시 스트로크의 폭에 따라 여러 개의 그리드로 나누고 하나의 그리드 안에 하나의 브러시 스트로크를 적용한다. 또한 제1임계값 TH1과 브러시 스트로크의 덧칠 빈도수는 반비례한다. The first motion map includes an edge portion where the color change between frames is apparent. For this reason, the first rendered image is set as the initial image of the second rendered image, and the first motion map portion in which the color change is clearly displayed is overlaid on it. Depending on the type of brush stroke used (divided by the width of the brush stroke), the canvas to be rendered is divided into N layers, and the brush stroke is applied to the minimum area corresponding to the first motion map for each layer. The overwrite determination unit 870 determines whether or not to overwrite the brush stroke on the canvas to be overlaid using Equation (6). At this time, one layer is divided into several grids according to the width of the brush strokes, and one brush stroke is applied in one grid. The first threshold value TH 1 is inversely proportional to the brush stroke frequency.

렌더링부(880)는 제1렌더링 영상에 대해 설정된 격자들 중에서 덧칠이 결정된 격자에 대해 결정된 덧칠 방향으로 복수의 스트로크 패턴 중에서 선택된 스트로크 패턴을 배치하여 제2렌더링 영상을 생성한다. 이때 렌더링부(880)는 제1움직임 맵에 대응하여 결정된 제4픽셀들 각각에 대해 선택된 스트로크 패턴을 제1렌더링 영상에 배치한 후 제2움직임 맵에 대응하여 결정된 제4픽셀들 각각에 대해 선택된 스트로크 패턴을 제1렌더링 영상에 배치하여 제2렌더링 영상을 생성한다. The rendering unit 880 generates a second rendered image by arranging a selected stroke pattern among a plurality of stroke patterns in the overwrite direction determined with respect to the lattice in which the repainting is determined among the gratings set for the first render image. In this case, the rendering unit 880 arranges a stroke pattern selected for each of the fourth pixels determined in correspondence with the first motion map, and then selects each of the fourth pixels determined in correspondence with the second motion map. The stroke pattern is disposed on the first rendered image to generate a second rendered image.

먼저, 렌더링부(880)는 수학식 6에 의해 덧칠여부가 결정되어 임시 캔버스 위에 브러시 스트로크를 적용한 결과 영상과 제1움직임 맵 영상 간의 연산을 통해 중복적인 덧칠정도를 나타내는 OverlapRate값(즉, C/A의 값)이 제2임계값 TH2보다 작을 때까지 제1임계값 TH1을 조절한다. OverlapRate값이 제2임계값보다 크다는 것은 제1움직임 맵 영역보다 더 많이 브러시 스트로크가 덧칠되었다는 의미이며, 수학식 6의 제1임계값 TH1을 올려줌으로써 OverlapRate값을 줄일 수 있다. 도 15a 내지 도 15e에는 이전 영상 프레임, 현재 영상 프레임, 제1움직임 맵, 상술한 과정을 통해 솔리드 브러시 스트로크를 덧칠하여 얻어진 제1결과 영상(제1임계값 TH1: 0.5), 그리고, 상술한 과정을 통해 솔리드 브러시 스트로크를 덧칠하여 얻어진 제1결과 영상(제1임계값 TH1: 0.85)이 도시되어 있다.First, the rendering unit 880 determines whether to overwrite by Equation 6, the result of applying a brush stroke on the temporary canvas, the OverlapRate value (ie, C / The first threshold value TH 1 is adjusted until the value of A) is smaller than the second threshold value TH 2 . If the OverlapRate value is larger than the second threshold value, it means that the brush stroke is overwritten more than the first motion map area, and the OverlapRate value can be reduced by increasing the first threshold value TH 1 of Equation 6. 15A to 15E illustrate a previous image frame, a current image frame, a first motion map, a first result image obtained by applying a solid brush stroke through the above-described process (first threshold value TH 1 : 0.5), and the above-mentioned image. A first resultant image (first threshold value TH 1 : 0.85) obtained by applying a solid brush stroke through the process is shown.

다음으로, 렌더링부(880)는 제1움직임 맵을 이용하여 덧칠을 수행한 캔버스 위에 제2움직임 맵을 이용하여 가장 작은 브러시 스트로크만을 덧칠하여 이전 캔버스와의 변화를 최소화한다. 즉, 렌더링부(880)는 임의의 픽셀 또는 영역 부분에 움직임이 일어났음에도 불구하고 주변 픽셀들 간의 색상 차이가 적으면 브러시 스트로크를 캔버스 위에 덧칠하지 않는다. 이는 주변 픽셀들 간의 색상 차이가 작은 부분에 솔리드 브러시 스트로크를 이용하여 캔버스 위에 덧칠할 경우 오히려 주변 픽셀들 간의 색상 차이를 가중시켜 프레임 간 브러시 스트로크의 플릭커링 현상을 초래할 수도 있기 때문이다. 본 발명에서는 이런 현상을 줄이기 위해 수학식 6에 의해 설정된 두 가지 조건을 만족할 경우에만 캔버스 위에 브러시 스트로크를 덧칠한다. 결과적으로 렌더링부(880)는 하나의 그리드 전체 영역에 대한 제2움직임 맵 영역의 비율을 고려하여 덧칠을 수행한다. 도 16a 내지 도 16e에는 이전 영상 프레임, 현재 영상 프레임, 제2움직임 맵, 상술한 과정을 통해 솔리드 브러시를 덧칠하여 얻어진 제1결과 영상(제3임계값 TH3: 0.82), 그리고, 상술한 과정을 통해 솔리드 브러시 스트로크를 덧칠하여 얻어진 제1결과 영상(제3임계값 TH3: 0.85)이 도시되어 있다.Next, the rendering unit 880 minimizes the change from the previous canvas by painting only the smallest brush stroke using the second motion map on the canvas on which the first motion map is painted. That is, the rendering unit 880 does not paint the brush stroke on the canvas if the color difference between the neighboring pixels is small despite the movement of any pixel or area portion. This is because when a solid brush stroke is overlaid on a canvas where a small color difference between neighboring pixels is applied to the canvas, the color difference between neighboring pixels may be increased to cause flickering of the brush stroke between frames. In the present invention, to reduce this phenomenon, the brush stroke is overlaid on the canvas only when two conditions set by Equation 6 are satisfied. As a result, the rendering unit 880 performs the repainting in consideration of the ratio of the second motion map area to the entire grid area. 16A to 16E illustrate a previous image frame, a current image frame, a second motion map, a first result image obtained by applying a solid brush through the above-described process (third threshold value TH 3 : 0.82), and the above-described process. The first resultant image (third threshold TH 3 : 0.85) obtained by overlaying the solid brush stroke is shown.

도 17은 본 발명에 따른 회화적 애니메이션 방법에 대한 바람직한 실시예의 수행과정을 도시한 흐름도이다.17 is a flowchart illustrating a process of performing a preferred embodiment of the pictorial animation method according to the present invention.

도 17을 참조하면, 움직임 벡터 산출부(110)는 복수개의 영상 프레임 중에서 시간적으로 앞서는 이전 영상 프레임을 구성하는 픽셀들 중에서 이전 영상 프레임에 이어지는 현재 영상 프레임 상에서의 위치가 이동된 픽셀들의 위치이동정도를 기초로 현재 영상 프레임에 대응하는 움직임 벡터를 산출한다(S1700). 다음으로 에지 영상 생성부(120)는 이전 영상 프레임에서 에지를 검출하여 에지 영상을 생성한다(S1710). 다음으로 제1움직임 맵 생성부(130)는 에지 영상을 구성하는 각각의 제1픽셀로부터 제1픽셀의 좌표에 움직임 벡터를 가산하여 얻어진 지점까지를 연결하여 제1움직임 맵을 생성한다(S1720). 다음으로 제2움직임 맵 생성부(140)는 이전 영상 프레임을 구성하는 픽셀들 중에서 제1픽셀을 제외한 위치가 이동된 각각의 제2픽셀로부터 제2픽셀의 좌표에 움직임 벡터를 가산하여 얻어진 지점까지를 연결하여 제2움직임 맵을 생성한다(S1730). 마지막으로 렌더링 영상 생성부(150)는 제1움직임 맵 및 제2움직임 맵을 기초로 이전 영상 프레임에 대응하는 제1렌더링 영상에 대해 덧칠을 수행하여 현재 영상 프레임에 대응하는 제2렌더링 영상을 생성한다(S1740).Referring to FIG. 17, the motion vector calculating unit 110 moves a position of pixels shifted in position on a current image frame following a previous image frame among pixels constituting a previous image frame that is temporally advanced among a plurality of image frames. A motion vector corresponding to the current video frame is calculated based on the step S1700. Next, the edge image generator 120 detects an edge in the previous image frame and generates an edge image (S1710). Next, the first motion map generator 130 generates a first motion map by connecting the first motion map to the point obtained by adding the motion vector to the coordinates of the first pixel from each of the first pixels constituting the edge image (S1720). . Next, the second motion map generator 140 moves from the second pixel whose position except the first pixel is moved among the pixels constituting the previous image frame to a point obtained by adding a motion vector to the coordinates of the second pixel. Connect to generate a second motion map (S1730). Finally, the rendered image generator 150 performs a repainting on the first rendered image corresponding to the previous image frame based on the first motion map and the second motion map to generate a second rendered image corresponding to the current image frame. (S1740).

도 18은 렌더링 영상 생성부(150)가 브러시 텍스쳐를 이용하여 제2렌더링 영상을 생성할 때 덧칠방향, 덧칠지점 및 스트로크 패턴을 결정하는 과정을 도시한 도면이다.FIG. 18 is a diagram illustrating a process of determining, by a rendering image generator 150, a painting direction, a painting point, and a stroke pattern when generating a second rendering image using a brush texture.

도 18을 참조하면, 덧칠방향 결정부(810)는 수학식 4에 의해 이전 영상 프레임에서 검출된 에지 상의 픽셀들의 그라디언트 값을 산출한다(S1800). 다음으로 덧 칠방향 결정부(810)는 에지 상의 픽셀들의 그라디언트 값을 크기가 큰 픽셀들로부터 순차적으로 기준 픽셀을 선택하고, 선택된 기준 픽셀을 중심으로 소정의 제1영역(예를 들면, 기준 픽셀에 인접하는 픽셀을 포함하는 영역) 내에 존재하는 에지 상의 다른 픽셀들을 제거하여 강한 에지를 선정한다(S1810). 다음으로 덧칠방향 결정부(810)는 소정의 제2영역(예를 들면, 반경이 2픽셀인 원) 내에 존재하는 강한 에지들의 가중치와 그라디언트의 합을 기초로 산출한 이전 영상 프레임을 구성하는 각각의 픽셀들의 그라디언트 크기에 의해 이전 영상 프레임을 구성하는 각각의 픽셀들의 덧칠방향을 결정한다(S1820). Referring to FIG. 18, the overlay direction determining unit 810 calculates gradient values of pixels on the edge detected in the previous image frame by Equation 4 (S1800). Next, the overlay direction determiner 810 sequentially selects the reference pixel from the pixels having the large gradient values of the pixels on the edge, and selects a predetermined first area (for example, the reference pixel) based on the selected reference pixel. A strong edge is selected by removing the other pixels on the edge existing in the region including the pixel adjacent to (S1810). Next, the overlay direction determining unit 810 configures each of the previous image frames calculated based on the sum of the weights and gradients of the strong edges existing in the second predetermined area (eg, a circle having a radius of 2 pixels). The overwriting direction of each pixel constituting the previous image frame is determined by the gradient size of the pixels (S1820).

덧칠지점 결정부(820)는 이전 영상 프레임에 대응하는 제1렌더링 영상을 구성하는 픽셀 중에서 제1움직임 맵 및 제2움직임 맵에 대응하는 덧칠영역에 위치하는 제3픽셀들을 선택하고, 제3픽셀들 중에서 덧칠이 수행될 제4픽셀들을 선택한다(S1830). 이때 덧칠지점 결정부(820)는 브러시 스트로크의 위치를 랜덤하게 설정하거나, 영상의 모멘트를 이용하여 위치를 설정하거나, 캔버스 전체를 그리드로 나누고 그리드 하나당 하나의 브러시를 적용하거나, 영역 분할을 이용하여 분할된 하나의 영역을 하나의 브러시로 설정한다. 다음으로 스트로크 패턴 선택부(830)는 현재 영상 프레임을 구성하는 픽셀 중에서 덧칠이 수행될 제4픽셀에 대응하는 픽셀의 색상에 해당하는 스트로크 패턴을 선택한다(S1840). 이때 스트로크 패턴 선택부(830)는 사전에 정의되어 저장되어 있는 다양한 모양과 질감을 갖는 브러시 스트로크 패턴 중에서 무작위로 하나의 브러시를 선택한 후 색상을 부여한다. The overlay point determiner 820 selects third pixels located in an overlay region corresponding to the first motion map and the second motion map from the pixels constituting the first rendered image corresponding to the previous image frame, and then selects the third pixel. Fourth pixels to be repainted are selected from among them (S1830). In this case, the overlay point determining unit 820 randomly sets the position of the brush stroke, sets the position using the moment of the image, divides the entire canvas into grids, applies one brush per grid, or uses segmentation. Set one divided region as one brush. Next, the stroke pattern selection unit 830 selects a stroke pattern corresponding to the color of the pixel corresponding to the fourth pixel to be overwritten among the pixels constituting the current image frame (S1840). In this case, the stroke pattern selection unit 830 randomly selects one brush from among brush stroke patterns having various shapes and textures that are predefined and stored, and then gives a color.

도 19a 및 도 19b는 렌더링 영상 생성부(150)가 브러시 텍스쳐를 이용하여 제2렌더링 영상을 생성하는 과정의 일 예를 도시한 도면이다.19A and 19B illustrate an example of a process in which the rendered image generator 150 generates a second rendered image by using a brush texture.

도 19a 및 도 19b를 참조하면, 먼저 렌더링부(840)는 이전 영상 프레임에 대응하는 제1렌더링 영상을 현재 영상 프레임에 대응하는 제2렌더링 영상의 초기 영상으로 설정한다(S1900). 다음으로 렌더링부(840)는 제1움직임 맵에 해당되는 픽셀들을 데이터베이스화하고, 데이터베이스화된 픽셀들 중 하나를 선택하여 무작위로 복수 개의 브러시 텍스쳐 중에서 선택된 브러시 텍스쳐가 덧칠될 위치를 설정한다(S1905). 다음으로 렌더링부(840)는 브러시 텍스쳐가 칠해질 위치의 임의의 영역을 메모리 버퍼에 넣고 현재 영상 프레임과 버퍼 영역 간의 색상 차이 값(Error 1)을 계산한다(S1910). 다음으로 렌더링부(840)는 브러시 텍스쳐를 덧칠하고 칠해진 영역과 현재 영상 프레임 간의 색상 차이 값(Error 2)을 계산한다(S1915). 이어서 렌더링부(840)는 Error 1과 Error 2를 비교하여(S1920), Error 1값이 Error 2 값보다 크면 다음 덧칠할 위치를 설정하고(S1925), Error 1값이 Error 2 값보다 작으면 칠하기 이전에 저장된 메모리 버퍼의 내용을 다시 제2렌더링 영상의 초기 영상에 복사한다(S1930).19A and 19B, the rendering unit 840 first sets a first rendering image corresponding to a previous image frame as an initial image of a second rendering image corresponding to a current image frame (S1900). Next, the rendering unit 840 databases the pixels corresponding to the first motion map, and selects one of the databased pixels to set a position at which the brush texture selected from the plurality of brush textures is randomly overlaid (S1905). ). Next, the rendering unit 840 inserts an arbitrary region of the position where the brush texture is to be painted into the memory buffer and calculates a color difference value (Error 1) between the current image frame and the buffer region (S1910). Next, the rendering unit 840 paints the brush texture and calculates a color difference value (Error 2) between the painted area and the current image frame (S1915). Subsequently, the rendering unit 840 compares Error 1 and Error 2 (S1920), sets the position to be next overlaid when the Error 1 value is larger than the Error 2 value (S1925), and if the Error 1 value is smaller than the Error 2 value, The contents of the memory buffer stored before are copied back to the initial image of the second rendered image (S1930).

이상의 과정에 의해 제1움직임 맵에 의한 렌더링이 완료되면, 렌더링부(840)는 제1움직임 맵을 이용하여 브러시 텍스쳐가 덧칠된 결과 영상을 현재 영상 프레임에 대응하는 제2렌더링 영상의 초기 영상으로 설정한다(S1935). 다음으로 렌더링부(840)는 제2움직임 맵에 해당되는 픽셀들을 데이터베이스화한 후 무작위로 덧칠을 수행할 위치를 설정하고 설정된 위치가 제1움직임 맵에 대응하는 데이터베이스에 존재하는지 확인한다(S1940). 만약 해당 위치가 데이터베이스에 존재하 면(S1945), 그 위치에 무작위로 복수 개의 브러시 텍스쳐 중에서 선택된 브러시 텍스쳐를 덧칠하고(S1950), 그렇지 않으면 다음 위치를 선택한다(S1955). 다음으로 렌더링부(840)는 브러시 텍스쳐가 칠해질 위치의 임의의 영역을 메모리 버퍼에 넣고, 현재 영상 프레임과 버퍼 영역 간의 색상 차이 값(Error 1)을 계산한다(S1960). 다음으로 렌더링부(840)는 브러시 텍스쳐를 덧칠하고 칠해진 영역과 현재 영상 프레임 간의 색상 차이 값(Error 2)을 계산한다(S1965). 마지막으로 렌더링부(840)는 Error 1과 Error 2를 비교한다(S1970). 만약 Error 1값이 Error 2 값보다 크면 렌더링부(840)는 다음 덧칠할 위치를 설정하고(S1975), Error 1값이 Error 2 값보다 적으면 렌더링부(840)는 칠하기 이전에 저장된 메모리 버퍼의 내용을 다시 제2렌더링 영상의 초기 영상으로 설정한다(S1980). After the rendering by the first motion map is completed by the above process, the rendering unit 840 uses the first motion map as an initial image of the second rendered image corresponding to the current image frame using the brush image. It is set (S1935). Next, the rendering unit 840 databases the pixels corresponding to the second motion map, sets a position to be randomly painted, and checks whether the set position exists in the database corresponding to the first motion map (S1940). . If the position exists in the database (S1945), the brush texture selected from the plurality of brush textures is randomly overlaid on the position (S1950), otherwise, the next position is selected (S1955). Next, the rendering unit 840 inserts an arbitrary region of the position where the brush texture is to be painted into the memory buffer, and calculates a color difference value (Error 1) between the current image frame and the buffer region (S1960). Next, the rendering unit 840 paints the brush texture and calculates a color difference value (Error 2) between the painted area and the current image frame (S1965). Finally, the rendering unit 840 compares Error 1 and Error 2 (S1970). If the Error 1 value is greater than the Error 2 value, the rendering unit 840 sets the next position to be painted (S1975). If the Error 1 value is less than the Error 2 value, the rendering unit 840 stores the memory buffer before painting. The content of the image is set again as the initial image of the second rendered image (S1980).

도 20은 렌더링 영상 생성부(150)가 솔리드 브러시 스트로크를 이용하여 제2렌더링 영상을 생성하는 과정의 일 예를 도시한 도면이다.20 is a diagram illustrating an example of a process in which the rendered image generator 150 generates a second rendered image by using a solid brush stroke.

도 20을 참조하면, 덧칠여부 결정부(870)는 제1렌더링 영상, 제1움직임 맵 및 제2움직임 맵 상에 소정의 크기를 갖는 격자를 설정하고, 수학식 6의 제1임계값의 초기값(예를 들면, 0.5)을 설정한다(S2000). 다음으로 덧칠을 수행할 격자 내의 모든 픽셀 수와 해당 격자 내의 제1움직임 맵에 해당하는 픽셀 수의 비가 제1임계값보다 크거나 같으면(S2005). 덧칠여부 결정부(870)는 임시 캔버스 상의 해당 격자에 도 18을 참조하여 설명한 바와 같은 방법에 의해 선택된 솔리드 브러시 스트로크를 적용한다(S2010). 다음으로 렌더링부(880)는 임시 캔버스 상에 선택된 솔리드 브러시 스트로크를 적용하여 얻어진 결과 영상과 제1움직임 맵 영상 간의 배타 적 논리합 연산을 수행하여 얻어진 영상을 기초로 중복적인 덧칠정도를 나타내는 OverlapRate값(즉, 수학식 6의 C/A)을 산출한다(S2015). 다음으로 렌더링부(880)는 OverlapRate값과 제2임계값을 비교한다(S2020). 만약 OverlapRate값이 제2임계값보다 크면, 렌더링부(880)는 제1임계값을 증가시키고(S2025), OverlapRate값이 제2임계값보다 작거나 같으면, 렌더링부(880)는 제1임계값을 결정한 후 제1렌더링 영상 위의 해당 격자 영역에 선택된 솔리드 브러시 스트로크를 적용한다(S2030). Referring to FIG. 20, the overlay determining unit 870 sets a grid having a predetermined size on the first rendered image, the first motion map, and the second motion map, and initializes the first threshold value of Equation 6 below. A value (for example, 0.5) is set (S2000). Next, when the ratio of the number of all pixels in the grid to be repainted and the number of pixels corresponding to the first motion map in the grid is greater than or equal to the first threshold value (S2005). The overwrite determining unit 870 applies the solid brush stroke selected by the method as described with reference to FIG. 18 to the grid on the temporary canvas (S2010). Next, the rendering unit 880 performs an overlapping overlap operation based on the image obtained by performing an exclusive OR operation between the resultant image obtained by applying the solid brush stroke selected on the temporary canvas and the first motion map image. That is, C / A of Equation 6 is calculated (S2015). Next, the rendering unit 880 compares the OverlapRate value with the second threshold value (S2020). If the OverlapRate value is greater than the second threshold value, the rendering unit 880 increases the first threshold value (S2025). If the OverlapRate value is less than or equal to the second threshold value, the rendering unit 880 is the first threshold value. After determining this, the selected solid brush stroke is applied to the grid area on the first rendered image (S2030).

이상의 과정에 의해 제1움직임 맵에 의한 렌더링이 완료되면, 렌더링부(880)는 제1움직임 맵을 이용하여 솔리드 브러시 스트로크가 덧칠된 결과 영상을 현재 영상 프레임에 대응하는 제2렌더링 영상의 초기 영상으로 설정한다(S2035). 다음으로 렌더링부(880)는 수학식 6의 제2움직임 맵에 대한 결정조건이 만족되면, 해당 격자에 도 18을 참조하여 설명한 바와 같은 방법에 의해 선택된 솔리드 브러시 스트로크를 적용한다(S2040).When the rendering by the first motion map is completed by the above process, the rendering unit 880 uses the first motion map to display the initial image of the second rendering image corresponding to the current image frame, as a result of the solid brush stroke being overlaid. It is set to (S2035). Next, when the determination condition for the second motion map of Equation 6 is satisfied, the rendering unit 880 applies the solid brush stroke selected by the method as described with reference to FIG. 18 to the grid (S2040).

한편 이전 영상 프레임에 대응하는 제1렌더링 영상은 도 8a 내지 도 8c를 참조하여 설명한 렌더링 영상 생성부(150)에 의해 생성된다. 이때 제1렌더링 영상에 대해서는 에지 영상 및 움직임 맵을 생성할 필요가 없으며, 이전 영상 프레임의 각각의 픽셀에 대해 덧칠방향과 덧칠지점을 결정한 후 스트로크 패턴을 선택하여 회화적 렌더링 영상을 생성한다. Meanwhile, the first rendered image corresponding to the previous image frame is generated by the rendered image generator 150 described with reference to FIGS. 8A through 8C. In this case, it is not necessary to generate an edge image and a motion map for the first rendered image, and determine a painting direction and a painting point for each pixel of a previous image frame, and then select a stroke pattern to generate a pictorial rendering image.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). Include. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.Although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific preferred embodiments described above, and the present invention belongs to the present invention without departing from the gist of the present invention as claimed in the claims. Various modifications can be made by those skilled in the art, and such changes are within the scope of the claims.

도 1은 본 발명에 따른 회화적 애니메이션 장치에 대한 바람직한 실시예의 구성을 도시한 블록도,1 is a block diagram showing the configuration of a preferred embodiment of the pictorial animation device according to the present invention;

도 2a 내지 도 2c는 각각 소스 영상, 소벨 에지 영상 및 캐니 에지 영상을 도시한 도면, 2A to 2C are views illustrating a source image, a sobel edge image, and a canny edge image, respectively;

도 3은 에지 영상 생성부(120)에 의한 방향 에지 영상의 생성과정을 도시한 도면, 3 is a view illustrating a process of generating a directional edge image by the edge image generator 120;

도 4a 내지 도 4f는 각각 이전 영상 프레임, 현재 영상 프레임, 이전 영상 프레임의 에지 영상, 에지 영상에서 움직임이 발생한 에지만을 추출하여 얻어진 영상, 에지 영상에서 움직임이 발생한 에지에 움직임 벡터를 더하여 얻어진 영상 및 제1움직임 맵을 도시한 도면, 4A to 4F illustrate an image obtained by extracting only edges in which motion occurred in an edge image, an edge image of a previous image frame, a current image frame, a previous image frame, an image obtained by adding a motion vector to an edge in which motion occurs in an edge image, and FIG. A drawing showing a first motion map,

도 5a 내지 도 5f는 각각 이전 영상 프레임, 현재 영상 프레임, 이전 영상 프레임에서 움직임이 발생한 에지 이외의 픽셀로 이루어진 영상, 이전 영상 프레임에서 움직임이 발생한 에지 이외의 픽셀로 이루어진 영상 및 제2움직임 맵을 도시한 도면,5A through 5F illustrate an image consisting of pixels other than the edge where a movement occurs in a previous image frame, a current image frame, a previous image frame, an image consisting of pixels other than an edge in which a movement occurs in a previous image frame, and a second motion map, respectively. Figure,

도 6a 내지 도 6e는 각각 이전 영상 프레임, 현재 영상 프레임, 이전 영상 프레임의 캐니 에지 영상, 제1움직임 맵 및 제2움직임 맵을 도시한 도면,6A to 6E illustrate a previous image frame, a current image frame, a canny edge image of a previous image frame, a first motion map, and a second motion map, respectively;

도 7a 내지 도 7e는 각각 이전 영상 프레임, 현재 영상 프레임, 이전 영상 프레임의 방향 에지 영상, 제1움직임 맵 및 제2움직임 맵을 도시한 도면,7A to 7E illustrate a previous image frame, a current image frame, a direction edge image of the previous image frame, a first motion map, and a second motion map, respectively;

도 8a는 렌더링 영상 생성부(150)에 대한 제1실시예의 구성을 도시한 도면,8A is a diagram illustrating a configuration of a first embodiment of a rendered image generator 150;

도 8b는 덧칠방향 결정부(810)의 상세한 구성을 도시한 도면,8B is a view showing a detailed configuration of the re-coating direction determining unit 810,

도 8c는 렌더링 영상 생성부(150)에 대한 제2실시예의 구성을 도시한 도면,8C is a diagram illustrating a configuration of a second embodiment of the rendered image generator 150;

도 9a 및 도 9b는 각각 3507개의 시드 값을 랜덤하게 발생하여 캔버스에 배치한 영상 및 3507개의 시드 값에 대응하는 브러시를 덧칠하여 얻어진 결과 영상을 도시한 도면,9A and 9B are views illustrating an image generated by randomly generating 3507 seed values and placing them on a canvas, and a result image obtained by overlaying a brush corresponding to 3507 seed values.

도 10은 브러시 스트로크들이 캔버스 위에 덧칠되는 단계들을 도시한 도면,10 shows steps in which brush strokes are overlaid on a canvas;

도 11a 및 도 11b는 각각 직선 및 곡선 브러시 스트로크의 생성방법을 도시한 도면, 11A and 11B illustrate a method for generating straight and curved brush strokes, respectively.

도 12a 및 도 12b는 각각 솔리드 브러시 스트로크와 브러시 텍스쳐의 예를 도시한 도면,12A and 12B illustrate examples of solid brush strokes and brush textures, respectively;

도 13a 내지 도 13d는 각각 이전 영상 프레임, 현재 영상 프레임, 제1움직임 맵, 그리고, 브러시 텍스쳐를 덧칠하여 얻어진 결과 영상을 도시한 도면,13A to 13D illustrate a result image obtained by painting a previous image frame, a current image frame, a first motion map, and a brush texture, respectively;

도 14a 내지 도 14d는 각각 이전 영상 프레임, 현재 영상 프레임, 제2움직임 맵, 그리고, 브러시 텍스쳐를 덧칠하여 얻어진 결과 영상을 도시한 도면,14A to 14D illustrate a result image obtained by overwriting a previous image frame, a current image frame, a second motion map, and a brush texture, respectively;

도 15a 내지 도 15e는 각각 이전 영상 프레임, 현재 영상 프레임, 제1움직임 맵, 솔리드 브러시 스트로크를 덧칠하여 얻어진 제1결과 영상(제1임계값 TH1: 0.5), 그리고, 솔리드 브러시 스트로크를 덧칠하여 얻어진 제1결과 영상(제1임계값 TH1: 0.85)을 도시한 도면,15A to 15E illustrate a first resultant image (first threshold value TH 1 : 0.5) obtained by overlaying a previous image frame, a current image frame, a first motion map, a solid brush stroke, and a solid brush stroke, respectively. A diagram showing the obtained first resultant image (first threshold value TH 1 : 0.85),

도 16a 내지 도 16e는 각각 이전 영상 프레임, 현재 영상 프레임, 제2움직임 맵, 솔리드 브러시를 덧칠하여 얻어진 제1결과 영상(제3임계값 TH3: 0.82), 그리고, 솔리드 브러시 스트로크를 덧칠하여 얻어진 제1결과 영상(제3임계값 TH3: 0.85)을 도시한 도면,16A to 16E are respectively obtained by overlaying a previous image frame, a current image frame, a second motion map, a first result image obtained by painting a solid brush (third threshold value TH 3 : 0.82), and a solid brush stroke, respectively. A diagram showing a first resultant image (third threshold TH 3 : 0.85),

도 17은 본 발명에 따른 회화적 애니메이션 방법에 대한 바람직한 실시예의 수행과정을 도시한 흐름도,17 is a flowchart illustrating a process of performing a preferred embodiment of the pictorial animation method according to the present invention;

도 18은 렌더링 영상 생성부(150)가 브러시 텍스쳐를 이용하여 제2렌더링 영상을 생성할 때 덧칠방향, 덧칠지점 및 스트로크 패턴을 결정하는 과정을 도시한 도면,FIG. 18 is a diagram illustrating a process of determining a painting direction, a painting point, and a stroke pattern when the rendering image generating unit 150 generates a second rendering image by using a brush texture; FIG.

도 19a 및 도 19b는 렌더링 영상 생성부(150)가 브러시 텍스쳐를 이용하여 제2렌더링 영상을 생성하는 과정의 일 예를 도시한 도면, 그리고,19A and 19B illustrate an example of a process in which the rendered image generator 150 generates a second rendered image by using a brush texture.

도 20은 렌더링 영상 생성부(150)가 솔리드 브러시 스트로크를 이용하여 제2렌더링 영상을 생성하는 과정의 일 예를 도시한 도면이다.20 is a diagram illustrating an example of a process in which the rendered image generator 150 generates a second rendered image by using a solid brush stroke.

Claims (19)

복수개의 영상 프레임 중에서 시간적으로 앞서는 제1영상 프레임을 구성하는 픽셀들 중에서 상기 제1영상 프레임에 이어지는 제2영상 프레임 상에서의 위치가 이동된 픽셀들의 위치이동정도를 기초로 상기 제2영상 프레임에 대응하는 움직임 벡터를 산출하는 움직임 벡터 산출부;The second image frame corresponds to the second image frame based on a position shift degree of pixels whose positions on the second image frame subsequent to the first image frame are moved among pixels constituting the first image frame that is temporally advanced among the plurality of image frames. A motion vector calculator for calculating a motion vector to be performed; 상기 제1영상 프레임에서 에지를 검출하여 에지 영상을 생성하는 에지 영상 생성부;An edge image generator for detecting an edge in the first image frame and generating an edge image; 상기 에지 영상을 구성하는 각각의 제1픽셀로부터 상기 제1픽셀의 좌표에 상기 움직임 벡터를 가산하여 얻어진 지점까지를 연결하여 제1움직임 맵을 생성하는 제1움직임 맵 생성부;A first motion map generator configured to connect a first motion map from each first pixel constituting the edge image to a point obtained by adding the motion vector to the coordinates of the first pixel to generate a first motion map; 상기 제1영상 프레임을 구성하는 픽셀들 중에서 상기 제1픽셀을 제외한 위치가 이동된 각각의 제2픽셀로부터 상기 제2픽셀의 좌표에 상기 움직임 벡터를 가산하여 얻어진 지점까지를 연결하여 제2움직임 맵을 생성하는 제2움직임 맵 생성부; 및A second motion map by connecting from the second pixels whose positions except for the first pixel among the pixels constituting the first image frame to the point obtained by adding the motion vector to the coordinates of the second pixel; A second motion map generator for generating a signal; And 상기 제1움직임 맵 및 상기 제2움직임 맵을 기초로 상기 제1영상 프레임에 대응하는 제1렌더링 영상에 대해 덧칠을 수행하여 상기 제2영상 프레임에 대응하는 제2렌더링 영상을 생성하는 렌더링 영상 생성부;를 포함하는 것을 특징으로 하는 회화적 애니메이션 장치.Generates a rendered image by performing an overwriting on a first rendered image corresponding to the first image frame based on the first motion map and the second motion map to generate a second rendered image corresponding to the second image frame. Painter animation device comprising a. 제 1항에 있어서,The method of claim 1, 상기 렌더링 영상 생성부는,The rendering image generation unit, 상기 에지 영상을 구성하는 각각의 픽셀들의 그라디언트 값을 기초로 상기 제1영상 프레임을 구성하는 각각의 픽셀들에 대한 덧칠방향을 결정하는 덧칠방향 결정부;An overlaying direction determining unit which determines an overlaying direction for each pixel constituting the first image frame based on a gradient value of each pixel constituting the edge image; 상기 제1렌더링 영상을 구성하는 픽셀 중에서 상기 제1움직임 맵 및 상기 제2움직임 맵에 대응하는 덧칠영역에 위치하는 제3픽셀들을 선택하고, 상기 제3픽셀들 중에서 덧칠이 수행될 제4픽셀들을 선택하는 덧칠 지점 결정부;Among the pixels constituting the first rendered image, third pixels positioned in an overwrite area corresponding to the first motion map and the second motion map are selected, and among the third pixels, fourth pixels to be repainted are selected. An overcoat point selector for selecting; 상기 제2영상 프레임을 구성하는 픽셀 중에서 상기 제4픽셀에 대응하는 픽셀의 색상에 해당하는 스트로크 패턴을 선택하는 스트로크 패턴 선택부; 및A stroke pattern selector for selecting a stroke pattern corresponding to a color of a pixel corresponding to the fourth pixel among pixels constituting the second image frame; And 상기 제1렌더링 영상에 대해 선택된 상기 제4픽셀 각각에 대해 결정된 덧칠 방향으로 상기 선택된 스트로크 패턴을 배치하여 상기 제2렌더링 영상을 생성하는 렌더링부;를 포함하는 것을 특징으로 하는 회화적 애니메이션 장치.And a rendering unit arranged to generate the second rendered image by arranging the selected stroke pattern in the overwrite direction determined for each of the fourth pixels selected for the first rendered image. 제 1항에 있어서,The method of claim 1, 상기 렌더링 영상 생성부는,The rendering image generation unit, 상기 에지 영상을 구성하는 각각의 픽셀들의 그라디언트 값을 기초로 상기 제1영상 프레임을 구성하는 각각의 픽셀들에 대한 덧칠방향을 결정하는 덧칠방향 결정부;An overlaying direction determining unit which determines an overlaying direction for each pixel constituting the first image frame based on a gradient value of each pixel constituting the edge image; 상기 제1렌더링 영상, 상기 제1움직임 맵 및 상기 제2움직임 맵 상에 소정의 크기를 갖는 격자를 설정하고, 다음의 결정규칙에 의해 상기 제1렌더링 영상에 대해 설정된 격자들 중에서 상기 제1움직임 맵 및 상기 제2움직임 맵 상에 설정된 격자에 대응하는 격자들에 대한 덧칠여부를 결정하는 덧칠여부 결정부; 및A grid having a predetermined size is set on the first rendered image, the first motion map, and the second motion map, and the first motion is selected from among the grids set for the first rendered image according to a following decision rule. An overwrite determining unit configured to determine whether or not to overlay gratings corresponding to the grating set on the map and the second motion map; And 상기 제1렌더링 영상에 대해 설정된 격자들 중에서 덧칠이 결정된 격자에 대해 상기 결정된 덧칠 방향으로 복수의 스트로크 패턴 중에서 선택된 스트로크 패턴을 배치하여 상기 제2렌더링 영상을 생성하는 렌더링부;를 포함하는 것을 특징으로 하는 회화적 애니메이션 장치:And a rendering unit generating the second rendered image by arranging a selected stroke pattern among a plurality of stroke patterns in the determined overlaid direction with respect to the lattice in which the overlaid is determined among the lattices set for the first rendered image. Painterly animation device: [결정규칙][Decision Rule]
Figure 112007090889858-pat00007
Figure 112007090889858-pat00007
여기서, Nall은 임의의 격자 내에 존재하는 픽셀의 수, Nst _ motion 및 Nwe _ motion은 각각 제1움직임 맵과 제2움직임 맵의 대응하는 격자 내에 존재하는 픽셀의 수, A는 제1움직임 맵에 존재하는 픽셀의 수, C는 제1렌더링 영상에 복수의 스트로크 패턴 중에서 선택된 스트로크 패턴을 적용하여 얻어진 영상과 제1움직임 맵 사이의 배타적 논리합을 수행한 결과로 얻어지는 픽셀의 수, Diff Map(i)는 제2영상 프레임과 제1렌더링 영상 사이의 색상 차이, N은 격자를 포함하는 소정 크기의 영역을 구성하는 픽셀의 수, 그리고, TH1 내지 TH4는 각각에 대해 설정된 임계값이다.Where N all is the number of pixels present in any grating, N st _ motion and N we _ motion are the number of pixels present in the corresponding grating of the first motion map and the second motion map, respectively, and A is the first The number of pixels present in the motion map, C is the number of pixels obtained as a result of performing an exclusive OR between an image obtained by applying a stroke pattern selected from a plurality of stroke patterns to the first rendered image and the first motion map, and a Diff Map (i) is a color difference between the second image frame and the first rendered image, N is the number of pixels constituting a region of a predetermined size including a lattice, and TH 1 to TH 4 are thresholds set for each .
제 3항에 있어서,The method of claim 3, wherein 상기 덧칠 여부 결정부는 상기 A/C값이 상기 TH2보다 크면 상기 TH1을 증가시키는 것을 특징으로 하는 회화적 애니메이션 장치.The paint-over animation determining apparatus, characterized in that for increasing the TH 1 if the A / C value is greater than the TH 2 . 제 1항에 있어서,The method of claim 1, 상기 렌더링 영상 생성부는,The rendering image generation unit, 상기 에지 영상을 구성하는 각각의 픽셀들의 그라디언트 값을 기초로 상기 제1영상 프레임을 구성하는 각각의 픽셀들에 대한 덧칠방향을 결정하는 덧칠방향 결정부;An overlaying direction determining unit which determines an overlaying direction for each pixel constituting the first image frame based on a gradient value of each pixel constituting the edge image; 상기 제1렌더링 영상을 구성하는 픽셀 중에서 상기 제1움직임 맵 및 상기 제2움직임 맵에 대응하는 덧칠영역에 위치하는 제3픽셀들을 선택하고, 상기 제3픽셀들 중에서 덧칠이 수행될 제4픽셀들을 선택하는 덧칠 지점 결정부;Among the pixels constituting the first rendered image, third pixels positioned in an overwrite area corresponding to the first motion map and the second motion map are selected, and among the third pixels, fourth pixels to be repainted are selected. An overcoat point selector for selecting; 서로 다른 모양과 질감을 갖는 복수의 스트로크 패턴 중에서 선택된 스트로크 패턴에 대해 부여한 색상값과 상기 제2영상 프레임을 구성하는 픽셀 중에서 상기 제4픽셀에 대응하는 픽셀의 색상값의 차이가 상기 제1렌더링 영상을 구성하는 픽셀 중에서 상기 제4픽셀에 대응하는 픽셀의 색상값과 상기 제2영상 프레임을 구성하는 픽셀 중에서 상기 제4픽셀에 대응하는 픽셀의 색상값의 차이보다 작은 스트로크 패턴을 선택하는 스트로크 패턴 선택부; 및The difference between the color value assigned to the selected stroke pattern among the plurality of stroke patterns having different shapes and textures and the color value of the pixel corresponding to the fourth pixel among the pixels constituting the second image frame is different from the first rendered image. Selecting a stroke pattern that selects a stroke pattern smaller than a difference between a color value of a pixel corresponding to the fourth pixel and a color value of a pixel corresponding to the fourth pixel among pixels constituting the second image frame; part; And 상기 제4픽셀들 각각에 대해 결정된 덧칠 방향으로 상기 선택된 스트로크 패 턴을 상기 제1렌더링 영상에 배치하여 상기 제2렌더링 영상을 생성하는 렌더링부;를 포함하는 것을 특징으로 하는 회화적 애니메이션 장치.And a rendering unit arranged to generate the second rendered image by placing the selected stroke pattern in the first rendering image in the over-direction determined for each of the fourth pixels. 제 3항 또는 제 5항에 있어서,The method according to claim 3 or 5, 상기 렌더링부는 상기 제1움직임 맵에 대응하여 결정된 제4픽셀들 각각에 대해 상기 선택된 스트로크 패턴을 상기 제1렌더링 영상에 배치한 후 상기 제2움직임 맵에 대응하여 결정된 제4픽셀들 각각에 대해 상기 선택된 스트로크 패턴을 상기 제1렌더링 영상에 배치하여 상기 제2렌더링 영상을 생성하는 것을 특징으로 하는 회화적 애니메이션 장치.The rendering unit arranges the selected stroke pattern for each of the fourth pixels determined in correspondence with the first motion map to the first rendering image, and then, for each of the fourth pixels determined in correspondence with the second motion map. The pictorial animation device, wherein the second rendered image is generated by arranging a selected stroke pattern on the first rendered image. 제 1항 내지 제 5항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 5, 상기 에지 영상 생성부는 소벨 에지 필터 또는 캐니 에지 필터에 의해 상기 제1영상 프레임에 대응하는 에지 영상을 생성하는 것을 특징으로 하는 회화적 애니메이션 장치.And the edge image generator generates an edge image corresponding to the first image frame by a Sobel edge filter or a Canny edge filter. 제 1항 내지 제 5항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 5, 상기 에지 영상 생성부는 상기 제1영상 프레임을 소정의 양자화 계수에 의해 양자화한 후 양자화된 영상의 명암값의 경계를 에지로 설정하여 상기 제1영상 프레임에 대응하는 에지 영상을 생성하는 것을 특징으로 하는 회화적 애니메이션 장치.The edge image generation unit generates an edge image corresponding to the first image frame by quantizing the first image frame by a predetermined quantization coefficient, and then setting a boundary between contrast values of the quantized image as an edge. Painterly animation device. 제 2항 내지 제 5항 중 어느 한 항에 있어서,The method according to any one of claims 2 to 5, 상기 덧칠방향 결정부는,The coating direction determining unit, 상기 제1영상 프레임에서 검출된 에지 상의 픽셀들의 그라디언트 값을 산출하는 그라디언트 산출부;A gradient calculator configured to calculate a gradient value of pixels on an edge detected in the first image frame; 상기 에지 상의 픽셀들의 그라디언트 값을 크기가 큰 픽셀들로부터 순차적으로 기준 픽셀을 선택하고, 선택된 기준 픽셀을 중심으로 소정의 제1영역 내에 존재하는 에지 상의 다른 픽셀들을 제거하여 강한 에지를 선정하는 강한 에지 선정부; 및Strong edge that selects a strong edge by sequentially selecting a reference pixel from the pixels having a large gradient value of the pixels on the edge, and removing other pixels on the edge existing in the first area around the selected reference pixel Selection unit; And 소정의 제2영역 내에 존재하는 상기 강한 에지들의 가중치와 그라디언트의 합을 기초로 산출한 상기 제1영상 프레임을 구성하는 각각의 픽셀들의 그라디언트 크기에 의해 상기 제1영상 프레임을 구성하는 각각의 픽셀들의 덧칠방향을 결정하는 결정부;를 포함하는 것을 특징으로 하는 회화적 애니메이션 장치.The gradient of each pixel constituting the first image frame is calculated by the gradient size of each pixel constituting the first image frame calculated based on the sum of the weights and gradients of the strong edges existing in the second predetermined area. Determination unit for determining the coating direction; Painter's animation device comprising a. 복수개의 영상 프레임 중에서 시간적으로 앞서는 제1영상 프레임을 구성하는 픽셀들 중에서 상기 제1영상 프레임에 이어지는 제2영상 프레임 상에서의 위치가 이동된 픽셀들의 위치이동정도를 기초로 상기 제2영상 프레임에 대응하는 움직임 벡터를 산출하는 움직임 벡터 산출 단계;The second image frame corresponds to the second image frame based on a position shift degree of pixels whose positions on the second image frame subsequent to the first image frame are moved among pixels constituting the first image frame that is temporally advanced among the plurality of image frames. A motion vector calculating step of calculating a motion vector to be performed; 상기 제1영상 프레임에서 에지를 검출하여 에지 영상을 생성하는 에지 영상 생성 단계;An edge image generation step of generating an edge image by detecting an edge in the first image frame; 상기 에지 영상을 구성하는 각각의 제1픽셀로부터 상기 제1픽셀의 좌표에 상 기 움직임 벡터를 가산하여 얻어진 지점까지를 연결하여 제1움직임 맵을 생성하는 제1움직임 맵 생성 단계;A first motion map generation step of generating a first motion map by connecting each first pixel constituting the edge image to a point obtained by adding the motion vector to the coordinates of the first pixel; 상기 제1영상 프레임을 구성하는 픽셀들 중에서 상기 제1픽셀을 제외한 위치가 이동된 각각의 제2픽셀로부터 상기 제2픽셀의 좌표에 상기 움직임 벡터를 가산하여 얻어진 지점까지를 연결하여 제2움직임 맵을 생성하는 제2움직임 맵 생성 단계; 및A second motion map by connecting from the second pixels whose positions except for the first pixel among the pixels constituting the first image frame to the point obtained by adding the motion vector to the coordinates of the second pixel; Generating a second motion map; And 상기 제1움직임 맵 및 상기 제2움직임 맵을 기초로 상기 제1영상 프레임에 대응하는 제1렌더링 영상에 대해 덧칠을 수행하여 상기 제2영상 프레임에 대응하는 제2렌더링 영상을 생성하는 렌더링 영상 생성 단계;를 포함하는 것을 특징으로 하는 회화적 애니메이션 방법.Generates a rendered image by performing an overwriting on a first rendered image corresponding to the first image frame based on the first motion map and the second motion map to generate a second rendered image corresponding to the second image frame. Pictorial animation method comprising a. 제 10항에 있어서,The method of claim 10, 상기 렌더링 영상 생성 단계는,The rendering image generating step, 상기 에지 영상을 구성하는 각각의 픽셀들의 그라디언트 값을 기초로 상기 제1영상 프레임을 구성하는 각각의 픽셀들에 대한 덧칠방향을 결정하는 덧칠방향 결정 단계;A painting direction determining step of determining a painting direction for each pixel constituting the first image frame based on a gradient value of each pixel constituting the edge image; 상기 제1렌더링 영상을 구성하는 픽셀 중에서 상기 제1움직임 맵 및 상기 제2움직임 맵에 대응하는 덧칠영역에 위치하는 제3픽셀들을 선택하고, 상기 제3픽셀들 중에서 덧칠이 수행될 제4픽셀들을 선택하는 픽셀 선택 단계;Among the pixels constituting the first rendered image, third pixels positioned in an overwrite area corresponding to the first motion map and the second motion map are selected, and among the third pixels, fourth pixels to be repainted are selected. Selecting a pixel; 상기 제2영상 프레임을 구성하는 픽셀 중에서 상기 제4픽셀에 대응하는 픽셀 의 색상에 해당하는 스트로크 패턴을 선택하는 스트로크 패턴 선택 단계; 및A stroke pattern selection step of selecting a stroke pattern corresponding to a color of a pixel corresponding to the fourth pixel among pixels constituting the second image frame; And 상기 제1렌더링 영상에 대해 선택된 상기 제4픽셀 각각에 대해 결정된 덧칠 방향으로 상기 선택된 스트로크 패턴을 배치하여 상기 제2렌더링 영상을 생성하는 렌더링 단계;를 포함하는 것을 특징으로 하는 회화적 애니메이션 방법.And a rendering step of generating the second rendered image by arranging the selected stroke pattern in the overwrite direction determined for each of the fourth pixels selected with respect to the first rendered image. 제 10항에 있어서,The method of claim 10, 상기 렌더링 영상 생성 단계는,The rendering image generating step, 상기 에지 영상을 구성하는 각각의 픽셀들의 그라디언트 값을 기초로 상기 제1영상 프레임을 구성하는 각각의 픽셀들에 대한 덧칠방향을 결정하는 덧칠방향 결정 단계;A painting direction determining step of determining a painting direction for each pixel constituting the first image frame based on a gradient value of each pixel constituting the edge image; 상기 제1렌더링 영상, 상기 제1움직임 맵 및 상기 제2움직임 맵 상에 소정의 크기를 갖는 격자를 설정하고, 다음의 결정규칙에 의해 상기 제1렌더링 영상에 대해 설정된 격자들 중에서 상기 제1움직임 맵 및 상기 제2움직임 맵 상에 설정된 격자에 대응하는 격자들에 대한 덧칠여부를 결정하는 덧칠여부 결정 단계; 및A grid having a predetermined size is set on the first rendered image, the first motion map, and the second motion map, and the first motion is selected from among the grids set for the first rendered image according to a following decision rule. An overwrite determining step of determining whether or not to overlay gratings corresponding to the grating set on the map and the second motion map; And 상기 제1렌더링 영상에 대해 설정된 격자들 중에서 덧칠이 결정된 격자에 대해 상기 결정된 덧칠 방향으로 복수의 스트로크 패턴 중에서 선택된 스트로크 패턴을 배치하여 상기 제2렌더링 영상을 생성하는 렌더링 단계;를 포함하는 것을 특징으로 하는 회화적 애니메이션 방법:And a rendering step of generating a second rendered image by arranging a stroke pattern selected from a plurality of stroke patterns in the determined overlaid direction with respect to the lattice overlaid among the lattices set for the first rendered image. Painterly animation methods: [결정규칙][Decision Rule]
Figure 112007090889858-pat00008
Figure 112007090889858-pat00008
여기서, Nall은 임의의 격자 내에 존재하는 픽셀의 수, Nst _ motion 및 Nwe _ motion은 각각 제1움직임 맵과 제2움직임 맵의 대응하는 격자 내에 존재하는 픽셀의 수, A는 제1움직임 맵에 존재하는 픽셀의 수, C는 제1렌더링 영상에 복수의 스트로크 패턴 중에서 선택된 스트로크 패턴을 적용하여 얻어진 영상과 제1움직임 맵 사이의 배타적 논리합을 수행한 결과로 얻어지는 픽셀의 수, Diff Map(i)는 제2영상 프레임과 제1렌더링 영상 사이의 색상 차이, N은 격자를 포함하는 소정 크기의 영역을 구성하는 픽셀의 수, 그리고, TH1 내지 TH4는 각각에 대해 설정된 임계값이다.Where N all is the number of pixels present in any grating, N st _ motion and N we _ motion are the number of pixels present in the corresponding grating of the first motion map and the second motion map, respectively, and A is the first The number of pixels present in the motion map, C is the number of pixels obtained as a result of performing an exclusive OR between an image obtained by applying a stroke pattern selected from a plurality of stroke patterns to the first rendered image and the first motion map, and a Diff Map (i) is a color difference between the second image frame and the first rendered image, N is the number of pixels constituting a region of a predetermined size including a lattice, and TH 1 to TH 4 are thresholds set for each .
제 12항에 있어서,The method of claim 12, 상기 덧칠방향 결정 단계에서, 상기 A/C값이 상기 TH2보다 크면 상기 TH1을 증가시키는 것을 특징으로 하는 회화적 애니메이션 방법.In the reversal direction determining step, if the A / C value is greater than the TH 2 , the TH 1 to increase the pictorial animation method. 제 10항에 있어서,The method of claim 10, 상기 렌더링 영상 생성 단계는,The rendering image generating step, 상기 에지 영상을 구성하는 각각의 픽셀들의 그라디언트 값을 기초로 상기 제1영상 프레임을 구성하는 각각의 픽셀들에 대한 덧칠방향을 결정하는 덧칠방향 결정 단계;A painting direction determining step of determining a painting direction for each pixel constituting the first image frame based on a gradient value of each pixel constituting the edge image; 상기 제1렌더링 영상을 구성하는 픽셀 중에서 상기 제1움직임 맵 및 상기 제2움직임 맵에 대응하는 덧칠영역에 위치하는 제3픽셀들을 선택하고, 상기 제3픽셀들 중에서 덧칠이 수행될 제4픽셀들을 선택하는 픽셀 선택 단계;Among the pixels constituting the first rendered image, third pixels positioned in an overwrite area corresponding to the first motion map and the second motion map are selected, and among the third pixels, fourth pixels to be repainted are selected. Selecting a pixel; 서로 다른 모양과 질감을 갖는 복수의 스트로크 패턴 중에서 선택된 스트로크 패턴에 부여한 색상값과 상기 제2영상 프레임을 구성하는 픽셀 중에서 상기 제4픽셀에 대응하는 픽셀의 색상값의 차이가 상기 제1렌더링 영상을 구성하는 픽셀 중에서 상기 제4픽셀에 대응하는 픽셀의 색상값과 상기 제2영상 프레임을 구성하는 픽셀 중에서 상기 제4픽셀에 대응하는 픽셀의 색상값의 차이보다 작은 스트로크 패턴을 선택하는 스트로크 패턴 선택 단계; 및The difference between the color value applied to the selected stroke pattern among the plurality of stroke patterns having different shapes and textures and the color value of the pixel corresponding to the fourth pixel among the pixels constituting the second image frame may cause the first rendered image. A stroke pattern selection step of selecting a stroke pattern smaller than a difference between a color value of a pixel corresponding to the fourth pixel and a color value of a pixel corresponding to the fourth pixel among pixels constituting the second image frame. ; And 상기 제4픽셀들 각각에 대해 결정된 덧칠 방향으로 상기 선택된 스트로크 패턴을 상기 제1렌더링 영상에 배치하여 상기 제2렌더링 영상을 생성하는 렌더링 단계;를 포함하는 것을 특징으로 하는 회화적 애니메이션 방법.And a rendering step of generating the second rendered image by arranging the selected stroke pattern on the first rendered image in the overwrite direction determined for each of the fourth pixels. 제 12항 또는 제 14항에 있어서,The method according to claim 12 or 14, 상기 렌더링 단계는,The rendering step, 상기 제1움직임 맵에 대응하여 결정된 제4픽셀들 각각에 대해 상기 선택된 스트로크 패턴을 상기 제1렌더링 영상에 배치하는 스트로크 패턴 배치 단계; 및A stroke pattern arrangement step of disposing the selected stroke pattern on the first rendered image for each of the fourth pixels determined corresponding to the first motion map; And 상기 제2움직임 맵에 대응하여 결정된 제4픽셀들 각각에 대해 상기 선택된 스트로크 패턴을 상기 제1렌더링 영상에 배치하여 상기 제2렌더링 영상을 생성하는 영상 생성 단계;를 포함하는 것을 특징으로 하는 회화적 애니메이션 방법.And an image generating step of generating the second rendered image by placing the selected stroke pattern on the first rendered image for each of the fourth pixels determined corresponding to the second motion map. Animation method. 제 10항 내지 제 14항 중 어느 한 항에 있어서,The method according to any one of claims 10 to 14, 상기 에지 영상 생성 단계에서, 소벨 에지 필터 또는 캐니 에지 필터에 의해 상기 제1영상 프레임에 대응하는 에지 영상을 생성하는 것을 특징으로 하는 회화적 애니메이션 방법.In the edge image generation step, an edge image corresponding to the first image frame is generated by a Sobel edge filter or a Canny edge filter. 제 10항 내지 제 14항 중 어느 한 항에 있어서,The method according to any one of claims 10 to 14, 상기 에지 영상 생성 단계에서, 상기 제1영상 프레임을 소정의 양자화 계수에 의해 양자화한 후 양자화된 영상의 명암값의 경계를 에지로 설정하여 상기 제1영상 프레임에 대응하는 에지 영상을 생성하는 것을 특징으로 하는 회화적 애니메이션 방법.In the edge image generating step, the first image frame is quantized by a predetermined quantization coefficient, and then an edge image corresponding to the first image frame is generated by setting an edge of a contrast value of the quantized image as an edge. Painterly animation method. 제 11항 내지 제 14항 중 어느 한 항에 있어서,The method according to any one of claims 11 to 14, 상기 덧칠방향 결정 단계는,The coating direction determining step, 상기 제1영상 프레임에서 검출된 에지 상의 픽셀들의 그라디언트 값을 산출하는 그라디언트 산출 단계;Calculating a gradient value of pixels on the edge detected in the first image frame; 상기 에지 상의 픽셀들의 그라디언트 값을 크기가 큰 픽셀들로부터 순차적으로 기준 픽셀을 선택하고, 선택된 기준 픽셀을 중심으로 소정의 제1영역 내에 존재 하는 에지 상의 다른 픽셀들을 제거하여 강한 에지를 선정하는 강한 에지 선정 단계; 및Strong edge that selects a strong edge by sequentially selecting a reference pixel from the pixels having a large gradient value of the pixels on the edge, and removing other pixels on the edge existing in the first area around the selected reference pixel Selection step; And 소정의 제2영역 내에 존재하는 상기 강한 에지들의 가중치와 그라디언트의 합을 기초로 산출한 상기 제1영상 프레임을 구성하는 각각의 픽셀들의 그라디언트 크기에 의해 상기 제1영상 프레임을 구성하는 각각의 픽셀들의 덧칠방향을 결정하는 결정 단계;를 포함하는 것을 특징으로 하는 회화적 애니메이션 방법.The gradient of each pixel constituting the first image frame is calculated by the gradient size of each pixel constituting the first image frame calculated based on the sum of the weights and gradients of the strong edges existing in the second predetermined area. Determination step of determining the painting direction; Painter's animation method comprising a. 제 10항 내지 제 14항 중 어느 한 항에 기재된 회화적 애니메이션 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing the pictorial animation method according to any one of claims 10 to 14.
KR1020070133062A 2007-12-18 2007-12-18 Apparatus and method for painterly animation KR100896762B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070133062A KR100896762B1 (en) 2007-12-18 2007-12-18 Apparatus and method for painterly animation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070133062A KR100896762B1 (en) 2007-12-18 2007-12-18 Apparatus and method for painterly animation

Publications (1)

Publication Number Publication Date
KR100896762B1 true KR100896762B1 (en) 2009-05-11

Family

ID=40861862

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070133062A KR100896762B1 (en) 2007-12-18 2007-12-18 Apparatus and method for painterly animation

Country Status (1)

Country Link
KR (1) KR100896762B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012093856A2 (en) * 2011-01-04 2012-07-12 Samsung Electronics Co., Ltd. Method and apparatus for creating a live artistic sketch of an image
KR20120084470A (en) * 2011-01-20 2012-07-30 중앙대학교 산학협력단 Apparatus and method for generating line animation from video for consistency between image frames
KR101191319B1 (en) 2011-07-11 2012-10-16 중앙대학교 산학협력단 Apparatus and method for painterly rendering based on objective motion information
KR101382595B1 (en) 2012-10-18 2014-04-10 연세대학교 산학협력단 A method for stereoscopic stylization and apparatus for the same
KR101440846B1 (en) * 2013-04-30 2014-09-25 중앙대학교 산학협력단 Apparatus and method for generating stained glass animation based on video
KR20190126664A (en) * 2018-05-02 2019-11-12 엘지디스플레이 주식회사 Display device using subpixel rendering and image processing method thereof
CN113436302A (en) * 2021-06-08 2021-09-24 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) Face animation synthesis method and system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080051008A (en) * 2006-12-04 2008-06-10 한국전자통신연구원 Silhouette rendering apparatus and method with 3d temporal coherence for rigid object

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080051008A (en) * 2006-12-04 2008-06-10 한국전자통신연구원 Silhouette rendering apparatus and method with 3d temporal coherence for rigid object

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012093856A2 (en) * 2011-01-04 2012-07-12 Samsung Electronics Co., Ltd. Method and apparatus for creating a live artistic sketch of an image
WO2012093856A3 (en) * 2011-01-04 2012-12-06 Samsung Electronics Co., Ltd. Method and apparatus for creating a live artistic sketch of an image
KR20120084470A (en) * 2011-01-20 2012-07-30 중앙대학교 산학협력단 Apparatus and method for generating line animation from video for consistency between image frames
KR101701519B1 (en) * 2011-01-20 2017-02-03 중앙대학교 산학협력단 Apparatus and method for generating line animation from video for consistency between image frames
KR101191319B1 (en) 2011-07-11 2012-10-16 중앙대학교 산학협력단 Apparatus and method for painterly rendering based on objective motion information
KR101382595B1 (en) 2012-10-18 2014-04-10 연세대학교 산학협력단 A method for stereoscopic stylization and apparatus for the same
KR101440846B1 (en) * 2013-04-30 2014-09-25 중앙대학교 산학협력단 Apparatus and method for generating stained glass animation based on video
KR20190126664A (en) * 2018-05-02 2019-11-12 엘지디스플레이 주식회사 Display device using subpixel rendering and image processing method thereof
KR102520697B1 (en) 2018-05-02 2023-04-11 엘지디스플레이 주식회사 Display device using subpixel rendering and image processing method thereof
CN113436302A (en) * 2021-06-08 2021-09-24 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) Face animation synthesis method and system
CN113436302B (en) * 2021-06-08 2024-02-13 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) Face animation synthesis method and system

Similar Documents

Publication Publication Date Title
US11534688B2 (en) Method and apparatus for enhanced graphics rendering in a video game environment
KR100896762B1 (en) Apparatus and method for painterly animation
US8917282B2 (en) Separating water from pigment in procedural painting algorithms
Lake et al. Stylized rendering techniques for scalable real-time 3d animation
Hertzmann Fast paint texture
US6417850B1 (en) Depth painting for 3-D rendering applications
Gooch et al. Artistic vision: painterly rendering using computer vision techniques
Lu et al. Interactive painterly stylization of images, videos and 3D animations
US7676086B2 (en) Automatic coloring of pixels exposed during manipulation of image regions
Cook et al. Stochastic simplification of aggregate detail
Suarez et al. Real-time 3D rendering with hatching
CN110610504A (en) Pencil drawing generation method and device based on skeleton and tone
Gooch Interactive non-photorealistic technical illustration
Umenhoffer et al. An image-based method for animated stroke rendering
Montesdeoca et al. Edge-and substrate-based effects for watercolor stylization
KR20210077204A (en) Apparatus for painterly animation
Kang et al. Animation for ancient tile mosaics
US7880743B2 (en) Systems and methods for elliptical filtering
Buerger et al. Sample-based surface coloring
Curtis et al. Real-time non-photorealistic animation for immersive storytelling in “Age of Sail”
Sauvaget et al. Comics stylization from photographs
Curtis et al. Non-Photorealistic Animation for Immersive Storytelling.
Arroyo et al. Stochastic generation of dots for computer aided stippling
Kwon et al. Pencil rendering on 3D meshes using convolution
Sauvaget et al. Stylization of lighting effects for images

Legal Events

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

Payment date: 20130410

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140326

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151028

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160325

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee