KR100382106B1 - 3D graphic accelerator based on MPEG - Google Patents

3D graphic accelerator based on MPEG Download PDF

Info

Publication number
KR100382106B1
KR100382106B1 KR10-2000-0039871A KR20000039871A KR100382106B1 KR 100382106 B1 KR100382106 B1 KR 100382106B1 KR 20000039871 A KR20000039871 A KR 20000039871A KR 100382106 B1 KR100382106 B1 KR 100382106B1
Authority
KR
South Korea
Prior art keywords
graphics accelerator
video
mpeg
graphics
image
Prior art date
Application number
KR10-2000-0039871A
Other languages
Korean (ko)
Other versions
KR20020006297A (en
Inventor
한탁돈
박우찬
Original Assignee
학교법인연세대학교
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 학교법인연세대학교 filed Critical 학교법인연세대학교
Priority to KR10-2000-0039871A priority Critical patent/KR100382106B1/en
Publication of KR20020006297A publication Critical patent/KR20020006297A/en
Application granted granted Critical
Publication of KR100382106B1 publication Critical patent/KR100382106B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding

Abstract

본 발명은 고화질 TV 또는 단말기 상에 3차원 그래픽 기능을 부가함으로써 고기능 디스플레이 장치로 구현 가능한 MPEG 기반 3D 그래픽 가속기를 제공한다. 이러한 MPEG 기반 3D 그래픽 가속기는 입력되는 3차원 프리미티브들을 기하학 처리 또는 렌더링하여 3D 그래픽 데이터를 출력하는 3D 그래픽 가속기와; 입력되는 비디오 비트 스트림을 디코딩하여 디코드된 비디오 데이터를 출력하는 비디오 디코더와, 상기 3D 그래픽 데이터와 디코드된 비디오 데이터를 다중 출력하는 멀티플렉서와, 상기 멀티플렉서를 통해 다중 출력된 데이터를 각각 현재 영상과 이전 영상으로 분할하여 저장하고 있는 프레임 메모리와, 상기 프레임 메모리에 저장된 영상을 디플레이장치에 적합하도록 신호 처리하는 디스플레이 처리부를 포함하여 구성함을 특징으로 한다.The present invention provides an MPEG-based 3D graphics accelerator that can be implemented as a high-performance display device by adding a 3D graphics function on a high definition TV or a terminal. The MPEG-based 3D graphics accelerator includes a 3D graphics accelerator for geometrically processing or rendering input 3D primitives to output 3D graphic data; A video decoder for decoding the input video bit stream and outputting decoded video data, a multiplexer for multiplexing the 3D graphic data and the decoded video data, and multiplexing the multiplexed data through the multiplexer for the current video and the previous video, respectively. And a display processor for signal processing the image stored in the frame memory to be suitable for the display device.

Description

MPEG 기반 3D그래픽 가속기{3D graphic accelerator based on MPEG}3D graphic accelerator based on MPEG}

본 발명은 3D (3-Dimensional) 그래픽 가속기에 관한 것으로서, 특히 MPEG(Moving Picture Experts Group)을 기반으로 하는 HDTV(High Definition TV) 또는 DTV(Digital TV) 상에서 3D 그래픽 데이터에 대한 가속을 효율적으로 할 수 있는 MPEG 기반 3D 그래픽 가속기에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a 3-Dimensional (3D) graphics accelerator, and more particularly, to efficiently accelerate 3D graphics data on a High Definition TV (HDTV) or Digital TV (DTV) based on a Moving Picture Experts Group (MPEG). The present invention relates to an MPEG-based 3D graphics accelerator.

일반적으로 3D 그래픽 처리과정은 멀티미디어 환경을 구축하기 위한 가장 핵심적인 부분이다. 그런데, 보다 현실감 있는 3D 영상을 지원하기 위해서는 고성능의 전용 3D 그래픽 가속기를 필요로 한다. 최근 들어 PC(Personal Computer) 및 게임기에서는 3D 영상을 제공하기 위한 고성능의 3D 그래픽 가속기가 채택되고 있으며, 이 3D 그래픽 가속기에 대한 연구도 활발히 진행되고 있는 실정에 있다.In general, 3D graphics processing is the most important part for building a multimedia environment. However, in order to support more realistic 3D images, a high performance dedicated 3D graphics accelerator is required. Recently, high performance 3D graphics accelerators for providing 3D images have been adopted in personal computers (PCs) and game machines, and research on these 3D graphics accelerators is being actively conducted.

도 1은 3D 그래픽 처리과정을 나타낸 것으로서, 3D 그래픽 처리과정은 3D 응용 소프트웨어가 API(Application Program Interface)를 통하여 3D 그래픽 가속기에서 실시간 하드웨어 가속을 수행한 후 디스플레이로 보내지는 단계를 거치게 된다.FIG. 1 illustrates a 3D graphics process, in which a 3D application process performs real-time hardware acceleration on a 3D graphics accelerator through an API (Application Program Interface), and then sends it to a display.

3D 그래픽 가속기는 크게 기하학 처리(geometry processing), 렌더링(rendering)으로 나뉜다. 기하학 처리는 주로 3D 좌표계의 물체를 시점에 따라 변환하고, 2차원 좌표계로 투영 처리하는 과정을 말한다. 렌더링은 2차원 좌표계의 이미지에 색깔 값을 결정하며 프레임 버퍼에 저장하는 과정을 말한다. 한 개의 프레임에 대하여 입력되는 모든 3D 데이터가 수행이 끝난 후에 프레임 버퍼에 저장된 색깔 값은 디스플레이로 보내어 지는데, 이를 디스플레이 리프레쉬(refresh)라고 한다. 일반적으로 기하학 처리부와 렌더링은 성능을 높이기 위하여 파이프라인화 되어 있다.3D graphics accelerators are largely divided into geometry processing and rendering. Geometry processing mainly refers to a process of converting an object of a 3D coordinate system according to a viewpoint and projecting the object to a two-dimensional coordinate system. Rendering is the process of determining the color values in the image of the 2D coordinate system and storing them in the frame buffer. After all 3D data input for one frame is finished, the color value stored in the frame buffer is sent to the display. This is called display refresh. In general, geometry processors and rendering are pipelined to improve performance.

한편 3D 그래픽 가속기는 입력되는 프리미티브(primitive)의 처리 순서에 따라 크게 객체순서(object order) 방식과 영상순서(image order)방식으로 나뉜다.Meanwhile, the 3D graphics accelerator is largely divided into an object order method and an image order method according to input primitive processing order.

여기서 프리미티브는 점, 선, 다면체(polygon)가 해당되며, 일반적인 대부분의 응용분야에서는 다면체가 프리미티브들 중에 대다수를 차지하고 있으며, 하드웨어 가속기는 다면체를 고속으로 처리하도록 구성되어 있다.Primitives include points, lines, and polygons. For most common applications, polyhedrons make up the majority of primitives, and hardware accelerators are configured to process polyhedrons at high speed.

먼저 객체순서 방식은 입력되는 프리미티브의 순서대로 기하학 처리 과정과렌더링 처리과정을 거쳐서 디스플레이로 보내어지는 방식이다. 이는 한 개의 프리미티브당 기하학처리 과정과 렌더링 처리과정이 파이프라인화 할 수 있기 때문에 고성능화에 유리하다.First, the object ordering method is a method of sending primitives to the display through geometry processing and rendering processing in order of input primitives. This is advantageous for high performance because the geometry processing and rendering processing per primitive can be pipelined.

그러나 상기 프리미티브는 은면 제거(hidden surface removal)를 위하여 전체화면(full screen)에 해당하는 깊이 버퍼(z-buffer) 및 색깔 버퍼를 가지고 있어야 한다. 렌더링 과정과 디스플레이 리프레쉬의 중첩 수행을 위하여 일반적으로 깊이 버퍼 및 색깔 버퍼 두 개를 가지고 있다. 이를 이중 버퍼링(double buffering)이라고 한다. 현재 발표되고 있는 대부분의 고성능 3D 그래픽 가속기가 객체순서 방식으로 처리되고 있다.However, the primitive must have a depth buffer (z-buffer) and a color buffer corresponding to full screen for hidden surface removal. In general, there are two depth buffers and a color buffer for rendering and overlapping display refreshes. This is called double buffering. Most of the high-performance 3D graphics accelerators currently announced are processed in object order.

그리고 영상순서 방식은 입력되는 프리미티브의 순서대로 처리하는 것이 아니라 영상의 위치 순서에 따라 해당위치에 속해있는 프리미티브를 처리하는 방식이다.In addition, the image ordering method is a method of processing primitives belonging to a corresponding position according to the position order of the image, not the order of input primitives.

예를 들면, 스크린의 시작점이 (0,0)이고 끝점이 (n-1, m-1)이면 (0,0) 위치에서 관계되는 프리미티브들을 모두 다 조사하여 색깔값을 계산하고, 이를 (n-1, m-1)위치까지 주어진 순서대로 반복적으로 수행하는 방법이다. 이는 전체 프리미티브에 대하여 기하학처리 과정과 렌더링 처리과정이 파이프라인화 되고, 기하학 처리된 프리미티브들에 대한 모든 정보를 가지고 있는 버퍼가 필요하며, 은면 제거를 위해서는 전체화면을 필요로 하지 않고 일부의 화면만을 필요로 하기 때문에 고성능화보다는 저가에 유리하다. 이러한 방식을 위하면 3D 그래픽 가속기는 주로 종래에 많이 채택되었다.For example, if the start point of the screen is (0,0) and the end point is (n-1, m-1), all the primitives at position (0,0) are examined to calculate the color value and (n This method is performed repeatedly in the order given to the position -1, m-1). This requires the geometry and rendering processes to be pipelined for the entire primitive, a buffer that holds all the information about the geometrically processed primitives, and the removal of masking does not require a full screen, only some screens. Since it is necessary, it is advantageous to low cost rather than high performance. For this method, 3D graphics accelerators have been mainly adopted in the related art.

그러면 본 발명의 이해를 돕기 위하여 도 2를 참조하여 객체순서 방식과 영상순서 방식을 비교 설명하면 다음과 같다.Next, the object order method and the image order method will be described with reference to FIG. 2 to help understand the present invention.

도 2에 도시한 바와 같이, (A,B,C)로 이루어진 삼각형과 (D,E,F)로 이루어진 삼각형이 있다. 이러한 두 개의 삼각형 중 (A,B,C) 삼각형이 (D,E,F) 삼각형 보다 먼저 정의되어 3D 그래픽 가속기에 먼저 입력된다고 가정하자.As shown in FIG. 2, there are triangles composed of (A, B, C) and triangles composed of (D, E, F). Suppose that (A, B, C) of these two triangles is defined before the (D, E, F) triangle and entered into the 3D graphics accelerator first.

이때, 객체순서 방식은 먼저 (A,B,C) 삼각형에 대하여 3D 그래픽 파이프라인인 기하학 처리와 렌더링을 거쳐서 생성된 색깔 및 깊이 정보를 프레임버퍼에 저장한다. 이어서 (D,E,F) 삼각형에 대하여 기하학 처리와 렌더링을 거처서 생성된 색깔과 깊이 정보를 계산한 후 중첩 구간에 대해서는 이미 저장되어 있는 (A,B,C) 삼각형의 깊이 정보와 비교하여 시점(view point)에 가까이 있는 것을 선택하여 저장한다. 도 2에서는 두 개의 삼각형에 대하여 중첩구간이 존재하고, 중첩구간에 대하여 (D,E,F) 삼각형이 (A,B,C) 삼각형에 비하여 시점에 가까이 있는 경우이다.At this time, the object ordering method first stores the color and depth information generated through the 3D graphics pipeline geometry processing and rendering for the (A, B, C) triangle in the frame buffer. Next, the color and depth information generated through the geometrical processing and rendering of the (D, E, F) triangle is calculated, and the overlapping interval is compared with the depth information of the (A, B, C) triangle already stored. Select and save the one close to (view point). In FIG. 2, an overlapping section exists for two triangles, and the (D, E, F) triangle is closer to the viewpoint than the (A, B, C) triangle for the overlapping section.

그리고 영상순서 방식에서는 현재 처리하고 있는 영상의 위치에 따라서 처리되는 삼각형의 순서가 달라진다.In the video order method, the order of the processed triangles varies according to the position of the image currently being processed.

예를 들어, 도 2에서 영상순서 방식에서 현재 처리되고 있는 곳이 k번째 스캔라인일 경우 x축의 값이 적은 값에서부터 큰 값으로 처리되며, 따라서 삼각형의 입력 순서와 관계없이 현재 처리되고 있는 픽셀 (pixel)에 속해있는 모든 삼각형을 조사하여 시점에 대하여 가까운 것을 찾아 이에 대한 최종 색깔값을 계산한다. 즉, k번째 스캔라인일 경우 중첩구간을 제외한 삼각형 (A,B,C)에 해당하는 구간에서는 삼각형 (A,B,C)에 대하여 처리하고, 중첩구간인 경우는 두 개의 삼각형 중 시점에 가까운 부분 (도 2에서는 삼각형 (D,E,F))을 찾아 처리하며, 중첩구간을 제외한 삼각형 (D,E,F)에 해당하는 구간에서는 삼각형 (D,E,F)에 대하여 처리한다.For example, if the k-th scan line is currently being processed in the image order method in FIG. 2, the value of the x-axis is processed from a small value to a large value, and thus the pixel currently being processed regardless of the input order of the triangle ( Examine all the triangles belonging to the pixel) and find the nearest one to the viewpoint to calculate the final color value. That is, in the case of the k-th scan line, the triangle (A, B, C) is processed in the section corresponding to the triangle (A, B, C) except the overlapping section, and in the case of the overlapping section, the triangle is closer to the viewpoint of the two triangles. The part (the triangle (D, E, F) in FIG. 2) is found and processed, and the triangle (D, E, F) is processed in the section corresponding to the triangle (D, E, F) except the overlapping section.

한편 영상순서 방식의 가장 대표적인 방법은 스캔라인(scan-line)방식으로 하는데, 이는 도 3에 도시된 바와 같다.On the other hand, the most representative method of the image order method is a scan-line method, as shown in FIG.

먼저 기하학처리 과정에서는 모든 프리미티브들이 시점에 따라서 기하학 처리가 되어서 스크린 위치로 옮겨지게 되며, 이에 대한 정보는 스캔 라인당 존재하는 버킷(bucket)에 저장된다. 즉, 버킷에서는 해당 스캔 라인에 속하는 다면체에 대한 정보를 모두 가지고 있어야 한다. 이를 버킷 정렬(bucket sorting)이라고 한다. 이러한 버킷 정렬은 기하학 처리부 혹은 별도의 장치를 두어서 처리해주어야 하는 부분이다. 기하학 처리가 끝나고 모든 프리미티브에 대한 정보가 각 스캔 라인당 존재하는 버킷에 저장된 후에 렌더링과정을 수행한다. 상기 렌더링 과정은 정해진 스캔라인 순서로 진행된다.First, in the geometric process, all primitives are geometrically processed according to a viewpoint and moved to the screen position. Information about this is stored in a bucket existing per scan line. That is, the bucket must have all the information about the polyhedrons belonging to the scan line. This is called bucket sorting. This bucket alignment is a part that needs to be processed by a geometry processor or a separate device. After the geometry processing is finished, all primitive information is stored in a bucket that exists for each scan line. The rendering process is performed in a predetermined scan line order.

예를 들면, 도 3에 도시한 바와 같이, 0번째 스캔라인으로부터 시작하여 마지막 n-1번째 스캔라인으로 수행된다고 하고, 현재 처리되고 있는 스캔라인이 k번째이고 k번째 스캔라인의 스크린 상에서의 (x,y)의 위치가 (0,k)에서 시작하여 (m,k)라고 하면, 스캔 라인 방식에서는 먼저 (0,k) 위치에 해당하는 프리미티브들을 버킷에서 찾아 이들에 대한 비교를 통하여 이 중 시점에 가장 가까운 프리미티브를 선정하여 최종 색깔값을 계산한다. 이러한 과정을 (m,k)위치까지 수행하면 한 개의 스캔 라인에 대한 렌더링 수행이 끝나게 되며, 스캔 라인에서의 렌더링 된 정보는 디스플레이 리프레쉬에 사용되기 위하여 보내진다. 이어서, 다음 스캔 라인에 해당하는 k+1번째 스캔 라인에 대하여 같은 과정을 처리한다. 이러한 과정을 전체 스캔 라인에 대하여 수행한다.For example, as shown in Fig. 3, starting from the 0th scanline and performing the last n-1th scanline, the currently being processed scanline is the kth and kth scanlines on the screen. If the position of x, y) starts at (0, k) and is (m, k), the scan line method first finds the primitives corresponding to the position (0, k) in the bucket and compares them by comparing them. The final color value is calculated by selecting the primitive closest to the viewpoint. If this process is performed up to the position (m, k), the rendering of one scan line is finished, and the rendered information on the scan line is sent for display refresh. Subsequently, the same process is performed on the k + 1th scan line corresponding to the next scan line. This process is performed for the entire scan line.

이와 같이 수행되는 영상순서 방식은 아래와 같은 조건들을 만족해야 한다.The video sequence method performed as described above must satisfy the following conditions.

첫째, 프리미티브 수가 증가할수록 스캔 라인당 할당되어 있는 버킷에 정보를 유지하기 위하여 매우 큰 메모리 공간을 필요로 한다.First, as the number of primitives increases, very large memory space is required to maintain information in buckets allocated per scan line.

둘째, 객체순서 방식에서는 전체 화면에 대한 깊이 버퍼를 필요로 하지만 스캔 라인 방식은 스캔 라인에 해당하는 깊이버퍼만을 필요로 한다.Second, the object order method requires a depth buffer for the entire screen, but the scan line method requires only a depth buffer corresponding to the scan line.

셋째, 스캔 라인당 할당되어 있는 버킷에서 각각의 픽셀에 해당하는 모든 프리미티브에 정보를 알 수 있으며, 특히 시점에 대한 프리미티브의 순서를 알 수 있으므로 순서 비의존 투명성을 제공할 수 있다.Third, information can be known to all primitives corresponding to each pixel in a bucket allocated to each scan line, and in particular, an order-independent transparency can be provided since the order of primitives for a viewpoint can be known.

3D 그래픽 가속기에 있어서, 순서 비의존 투명성은 매우 중요한 부분을 차지한다.For 3D graphics accelerators, order-independent transparency is a very important part.

그 이유는 현실감 있는 3D 그래픽 영상을 생성하기 위해서는 투명성을 내포한 프리미티브를 표현해야 하기 때문이다. 그러나 투명성을 내포한 프리미티브에 대한 처리시 순서 의존(order dependent) 문제가 발생한다.This is because primitives containing transparency must be expressed in order to generate realistic 3D graphic images. However, an order dependent problem occurs when processing primitives containing transparency.

한편 도 4는 상술한 바와 같은 3D 그래픽 가속기를 HDTV 상의 칩세트에 적용하기 위한 비디오 디코더의 구성을 나타낸 블록도 이다.4 is a block diagram showing the configuration of a video decoder for applying the 3D graphics accelerator as described above to a chipset on an HDTV.

도 4를 참조하면, 비디오 디코딩부(100)는 통상적으로 널리 알려진 바와 같이, 가변길이 디코더(Variable Length Decoder; VLD)(101), 역스캔 및 역 양자화(Inverse Scan/Inverse Quantizer; IS/IQ)부(102), 역 이산여현 변환((Inverse Discrete Cosine Transform; IDCT)부(103), 가산기(104), 움직임 보상부(105) 및 프레임 메모리(106)로 구성된다.Referring to FIG. 4, the video decoding unit 100 may be a variable length decoder (VLD) 101, an inverse scan / inverse quantizer (IS / IQ), as is commonly known. The unit 102 includes an inverse discrete cosine transform (IDCT) unit 103, an adder 104, a motion compensator 105, and a frame memory 106.

이때 상기 비디오 디코딩부(100)는 크게 두 블록의 데이터 패스를 가지는데, 움직임 벡터를 이용하여 이전 프레임의 픽셀 값으로부터 예측하여 현재의 픽셀값을 보상하는 패스와 움직임 보상에 의해 표현되지 못하는 픽셀 값에 대한 차를 DCT한 계수에 대해 다시 IDCT하는 패스로 나뉘어진다.In this case, the video decoding unit 100 has a large data path of two blocks. The video decoding unit 100 predicts a pixel value of a previous frame using a motion vector to compensate for the current pixel value and a pixel value not represented by motion compensation. The difference is divided into passes that IDCT again for coefficients DCTed.

즉, 입력되는 비디오 비트스트림은 VLD(101)에서 가변길이 디코딩되어 움직임 벡터, 양자화 값, DCT 계수로 분리된다. 상기 VLD(101)의 출력중 DCT 계수에 해당하는 값이 IS/IQ부(102)를 통과하여 IDCT부(103)로 입력된다.That is, the input video bitstream is variable length decoded in the VLD 101 and separated into a motion vector, a quantization value, and a DCT coefficient. The value corresponding to the DCT coefficient of the output of the VLD 101 is input to the IDCT unit 103 through the IS / IQ unit 102.

이때, 상기 VLD(101)에서는 DCT 계수가 런-레벨로 디코딩된다. 즉, 하나의DCT 블록은 8×8의 계수들로 이루어져 있는데 이들 중 0이 아닌 계수들만 코드속에 들어있으므로 VLD(101)의 출력은 0이 아닌 계수들의 크기, 즉 레벨과 이 계수들 사이에 0이 얼마나 삽입되어 있는지에 대한 런이 출력된다. 또한 8×8 계수의 디코딩 순서는 런 레벨 코드의 효율을 높이기 위해서 낮은 주파수 성분부터 전송될 수 있도록 지그-재그 방식으로 이루어져 있다.At this time, the VLD 101 decodes the DCT coefficients at a run-level. That is, one DCT block is composed of 8x8 coefficients, and since only non-zero coefficients are included in the code, the output of the VLD 101 shows the magnitude of the non-zero coefficients, that is, the level between the coefficients and these coefficients. This prints out how many runs are inserted. In addition, the decoding order of 8x8 coefficients is zigzag-type so that low frequency components can be transmitted to increase the efficiency of the run level code.

따라서 상기 IS/IQ부(102)는 지그-재그 스캔 방식 또는 택일 스캔(Alternate scan) 방식을 라스터 스캔(Raster Scan) 방식으로 역스캔한 후 역스캔된 DCT 계수를 양자화 값에 따라 역 양자화하여 IDCT부(103)로 출력한다. 상기 IDCT부(103)는 역 양자화된 DCT 계수에 대해 IDCT를 수행하여 가산기(104)로 출력한다.Accordingly, the IS / IQ unit 102 reverse scans a zig-zag scan method or an alternate scan method using a raster scan method, and then inversely quantizes the inverse-scanned DCT coefficients according to quantization values. Output to IDCT unit 103. The IDCT unit 103 performs IDCT on the inverse quantized DCT coefficients and outputs the IDCT to the adder 104.

한편 상기 VLD(101)에서 출력되는 움직임 벡터는 움직임 보상부(105)로 출력되고, 상기 움직임 보상부(105)는 상기 움직임 벡터와 프레임 메모리(106)에 저장된 이전 프레임을 이용하여 현재의 픽셀값에 대한 움직임 보상을 수행한 후 가산기(104)로 출력한다.Meanwhile, the motion vector output from the VLD 101 is output to the motion compensator 105, and the motion compensator 105 uses a current pixel value by using the motion vector and a previous frame stored in the frame memory 106. After performing the motion compensation for the output to the adder 104.

상기 가산기(104)는 IDCT된 값과 움직임 보상된 값을 더하여 최종 픽셀값인 완전한 영상으로 복원하여 디스플레이를 위해 출력하고, 이 복원된 영상은 프레임 메모리(200)에 저장된다.The adder 104 adds the IDCT value and the motion compensated value to restore a complete image which is the final pixel value and outputs it for display, and the restored image is stored in the frame memory 200.

그러나 이와 같이 비디오 디코더에 상술한 고성능 3D 그래픽 가속기를 접목하기 위해서는 상술한 바와 같은 3D 그래픽 가속기에서 언급된 3가지 문제점을 모두 만족시켜야 하기 때문에 현재까지 이에 관한 연구결과가 전무한 실정이다.However, in order to apply the above-described high performance 3D graphics accelerator to the video decoder, all three problems mentioned in the 3D graphics accelerator as described above have to be satisfied.

따라서 종래의 비디오 디코더에서는 3차원 그래픽을 제공하기 위하여 전체 시스템을 구현할 때 가장 큰 문제점인 개발시간, 개발비용 및 대역폭 문제에 봉착하기 때문에 3차원 그래픽 가속기가 내장된 비디오 디코더를 개발하지 못하고 있는 실정이다.Therefore, in the conventional video decoder, it is difficult to develop a video decoder with a 3D graphics accelerator because it encounters a development time, a development cost, and a bandwidth problem, which are the biggest problems when implementing an entire system to provide 3D graphics. .

따라서 본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 비디오 디코더내에 3차원 그래픽 가속기를 내장시켜 TV 칩 세트 또는 단말기 상에서 구현 가능한 MPEG 기반 3D 그래픽 가속기를 제공함에 있다.Accordingly, an object of the present invention is to provide an MPEG-based 3D graphics accelerator that can be implemented on a TV chip set or a terminal by embedding a 3D graphics accelerator in a video decoder.

본 발명의 다른 목적은 HDTV 또는 DTV 상에 3차원 그래픽 기능을 부가함으로써 고기능 TV로 구현 가능한 MPEG 기반 3D 그래픽 가속기를 제공함에 있다.Another object of the present invention is to provide an MPEG-based 3D graphics accelerator that can be implemented as a high-performance TV by adding a three-dimensional graphics function on the HDTV or DTV.

도 1은 3D 그래픽 처리과정을 나타낸 도면,1 is a view showing a 3D graphics processing process,

도 2는 3D 그래픽 가속기에 입력되는 다면체 처리 순서를 설명하기 위한 도면,2 is a view for explaining a polyhedron processing sequence input to a 3D graphics accelerator;

도 3은 스캔라인 방식으로 렌더링을 수행하기 위한 구조를 나타낸 도면,3 is a diagram illustrating a structure for performing rendering in a scanline manner;

도 4는 HDTV의 비디오 디코더의 구성을 나타낸 블록도이고,4 is a block diagram showing a configuration of a video decoder of an HDTV,

도 5는 본 발명에 따른 MPEG 기반 3D 그래픽 가속기를 나타낸 블록도이다.5 is a block diagram illustrating an MPEG based 3D graphics accelerator according to the present invention.

*도면의 주요부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

10 : MPEG기반 3D 그래픽 가속기 20 : 프레임 메모리10: MPEG based 3D graphics accelerator 20: Frame memory

100 : 비디오 디코딩부 101 : VLD100: video decoding unit 101: VLD

102 : IQ/IS부 103 : IDCT부102: IQ / IS section 103: IDCT section

104 : 가산기 105 : 움직임 보상부104: adder 105: motion compensation unit

106 : 프레임 메모리 107: 현재영상 프레임 메모리106: frame memory 107: current image frame memory

108 : 이전영상 프레임 메모리 109: 멀티플렉서108: Previous frame memory 109: Multiplexer

110: 디스플레이 처리부 111: 디스플레이 장치110: display processing unit 111: display device

200: 3D 그래픽 가속기 201 : 기하학 처리부200: 3D graphics accelerator 201: geometry processing unit

202: 렌더링 처리부202: rendering processing unit

상기와 같은 목적을 달성하기 위한 본 발명에 따른 MPEG 기반 3D 그래픽 가속기는 입력되는 3차원 프리미티브들을 기하학 처리 또는 렌더링하여 3D 그래픽 데이터를 출력하는 3D 그래픽 가속기와; 입력되는 비디오 비트 스트림을 디코딩하여 디코드된 비디오 데이터를 출력하는 비디오 디코더와; 상기 3D 그래픽 데이터와 디코드된 비디오 데이터를 다중출력하는 멀티플렉서와; 상기 멀티플렉서를 통해 다중 출력된 데이터를 각각 현재 영상과 이전 영상으로 분할하여 저장하고 있는 프레임 메모리와, 상기 프레임 메모리에 저장된 영상을 디플레이장치에 적합하도록 신호처리하는 디스플레이 처리부를 포함하여 구성함을 특징으로 한다.The MPEG-based 3D graphics accelerator according to the present invention for achieving the above object is a 3D graphics accelerator for geometrically processing or rendering the input three-dimensional primitives to output the 3D graphics data; A video decoder for decoding an input video bit stream and outputting decoded video data; A multiplexer for multiplexing the 3D graphic data and the decoded video data; And a frame memory for dividing the multiplexed data through the multiplexer into a current image and a previous image, respectively, and a display processor for signal processing the image stored in the frame memory to be suitable for a display device. It is done.

또한 본 발명에 따른 MPEG 기반 3D 그래픽 가속기는 그래픽 입력단으로 입력되는 3차원 프리미티브들을 기하학적 처리하는 기하학 처리부 및 상기 기하학 처리된 프리미티브들을 렌더링하는 렌더링 처리부로 구성되어 3차원 그래픽 스트림을 가속하는 3D 그래픽 가속기와; 비디오 입력단으로 입력되는 비디오 비트스트림을 가변길이 디코딩하여 움직임 벡터, 양자화 값, DCT 계수로 분리하여 출력하는 가변길이 디코더, 상기 DCT 계수를 라스터 스캔(Raster Scan) 방식으로 역스캔한 후 역 스캔된 DCT 계수를 양자화 값에 따라 역 양자화하여 출력하는 역스캔 및 역양자화부, 역 양자화된 DCT 계수에 대해 역 이산여현 변환하여 차 픽셀값을 출력하는 역 이산여현 변환부, 상기 가변길이 디코더에서 출력되는 움직임 벡터에 대해 움직임 보상을 수행하여 움직임 보상된 픽셀값을 출력하는 움직임 보상부, 상기 픽셀값들을 가산하여 최종 픽셀값으로 출력하는 MB 가산기로 구성되어 비디오 비트스트림을 디코딩하는 비디오 디코더와; 상기 가속된 3차원 그래픽 스트림과 디코드된 비디오 비트스트림을 다중출력하는 멀티플렉서와; 그리고 상기 다중출력된 3차원 그래픽 스트림과 디코드된 비디오 비트스트림을 현재영상과 이전 영상으로 분리 저장하는 프레임 메모리부로 구성함을 특징으로 한다.In addition, the MPEG-based 3D graphics accelerator according to the present invention is composed of a geometry processor for geometrically processing the three-dimensional primitives input to the graphics input stage and a rendering processor for rendering the geometrically processed primitives and a 3D graphics accelerator to accelerate the three-dimensional graphics stream; ; A variable length decoder for variable length decoding the video bitstream input to the video input terminal and separating the video bitstream into motion vectors, quantization values, and DCT coefficients, and performing reverse scanning after the reverse scanning of the DCT coefficients using a raster scan method. An inverse scan and inverse quantization unit for inversely quantizing and outputting DCT coefficients according to quantization values, an inverse discrete cosine transformer for inverse discrete cosine transforming the inverse quantized DCT coefficients, and outputting a difference pixel value, which is output from the variable length decoder A video decoder configured to perform a motion compensation on the motion vector and output a motion compensated pixel value, and an MB adder that adds the pixel values and outputs the final pixel value; A multiplexer for multiplexing the accelerated three-dimensional graphics stream and the decoded video bitstream; And a frame memory unit for separately storing the multi-output 3D graphic stream and the decoded video bitstream into a current image and a previous image.

본 발명의 다른 목적, 특징 및 이점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects, features and advantages of the present invention will become apparent from the following detailed description of embodiments taken in conjunction with the accompanying drawings.

이하, 본 발명에 따른 MPEG 기반 3D 그래픽 가속기의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments of an MPEG-based 3D graphics accelerator according to the present invention will be described in detail with reference to the accompanying drawings.

도 5는 본 발명에 따른 MPEG 기반 3D 그래픽 가속기가 비디오 디코더 내에 내장된 구성과 주변장치와의 관계를 나타낸 블록도이다.FIG. 5 is a block diagram illustrating a relationship between a configuration in which an MPEG-based 3D graphics accelerator according to the present invention is embedded in a video decoder and a peripheral device.

여기서 비디오 디코딩부(100)의 구성은 도 4의 구성과 동일하므로 동일요소에 대한 구체적인 설명은 생략하기로 한다.Since the configuration of the video decoding unit 100 is the same as that of FIG. 4, detailed description of the same elements will be omitted.

도 5를 참조하면, 본 발명의 MPEG 기반 3D 그래픽 가속기(10)는 비디오 디코딩부(100)와 3D 그래픽 가속기(200)로 구성되며, 이러한 구성에 상기 비디오 디코딩부(100) 및 3D 그래픽 가속기(200)의 출력 신호를 다중 출력하는 멀티플렉서(109)와, 상기 멀티플렉서(109)를 통해 다중 출력된 데이터를 각각 현재 영상과 이전 영상으로 분할하여 저장하고 있는 프레임 메모리(20)와, 상기 프레임 메모리(20)에 저장된 영상을 디플레이장치(111)에 적합하도록 신호처리하는 디스플레이 처리부(110)로 이루어진 주변장치를 포함하도록 구성된다.Referring to FIG. 5, the MPEG-based 3D graphics accelerator 10 of the present invention includes a video decoding unit 100 and a 3D graphics accelerator 200. The video decoding unit 100 and the 3D graphics accelerator ( A multiplexer 109 for multiplexing the output signal of the 200; a frame memory 20 for dividing and storing the data multiplexed through the multiplexer 109 into a current image and a previous image; and the frame memory ( It is configured to include a peripheral device consisting of a display processing unit 110 for signal processing the image stored in the 20 to the display device 111.

또한 3D 그래픽 스트림을 가속하여 가속된 3D 그래픽 영상 데이터를 얻기 위한 3D 그래픽 가속기(200)는 그래픽 입력단으로 입력되는 3차원 프리미티브들을 기하학적 처리하는 기하학 처리부(201) 및 상기 기하학 처리된 프리미티브들을 렌더링하는 렌더링 처리부(202)로 구성된다.In addition, the 3D graphics accelerator 200 for accelerating the 3D graphics stream to obtain the accelerated 3D graphics image data is a geometry processing unit 201 for geometrically processing the three-dimensional primitives input to the graphic input stage and rendering rendering the geometrically processed primitives It consists of a processing unit 202.

또한 비디오 비트스트림을 디코딩하기 위한 비디오 디코딩부(100)는 비디오 입력단으로 입력되는 비디오 비트스트림을 가변길이 디코딩하여 움직임 벡터, 양자화 값, DCT 계수로 분리하여 출력하는 가변길이 디코더(101), 상기 DCT 계수를 라스터 스캔(Raster Scan) 방식으로 역스캔한 후 역 스캔된 DCT 계수를 양자화 값에 따라 역 양자화하여 출력하는 역스캔 및 역양자화부(102), 역 양자화된 DCT 계수에 대해 역 이산여현 변환하여 차 픽셀값을 출력하는 역 이산여현 변환부(103), 상기 가변길이 디코더(101)에서 출력되는 움직임 벡터에 대해 움직임 보상을 수행하여 움직임 보상된 픽셀값을 출력하는 움직임 보상부(105), 상기 픽셀값들을 가산하여최종 픽셀값으로 출력하는 MB 가산기(104)로 구성된다.In addition, the video decoding unit 100 for decoding the video bitstream is a variable length decoder 101 for variable length decoding the video bitstream input to the video input terminal and separating the video bitstream into motion vectors, quantization values, and DCT coefficients, and outputting the DCT coefficients. Inverse scan and inverse quantization unit 102 for inversely scanning the coefficients by the raster scan method and inversely quantizing the inversely scanned DCT coefficients according to the quantization value, and inverse discrete cosine for the inverse quantized DCT coefficients. An inverse discrete cosine transforming unit 103 for converting and outputting a difference pixel value, and a motion compensating unit 105 for performing motion compensation on the motion vector output from the variable length decoder 101 and outputting a motion compensated pixel value. And an MB adder 104 which adds the pixel values and outputs the final pixel values.

또한 프레임 메모리(20)는 상기 멀티플렉서(109)를 통해 다중 출력된 3D 그래픽 영상 데이터와 디코드된 최종 픽셀값을 현재영상과 이전 영상으로 분리 저장하는 현재 영상 프레임 메모리(107)와 이전영상 프레임 메모리(108)로 구성되어 있다.In addition, the frame memory 20 may include a current image frame memory 107 and a previous image frame memory configured to separately store the 3D graphic image data multiplexed through the multiplexer 109 and the decoded final pixel values into a current image and a previous image. 108).

이와 같이 구성된 본 발명의 MPEG 기반 3D 그래픽 가속기에서 3D 그래픽 가속기(200)는 기하학 처리부(201)를 통해 입력되는 프리미티브들에 대하여 기하학 처리를 수행하고 외부 제어기(도시생략됨)를 통해 기하학 처리된 프리미티브들 중 투명한 프리미티브의 존재 여부 또는 불투명 프리미티브의 다소를 판단한 후 재차 렌더링 처리부(202)를 통해 객체순서 렌더링과 영상순서 렌더링을 경유하게 하면 가속된 3D 그래픽 영상 데이터를 얻어낼 수 있다.In the MPEG-based 3D graphics accelerator of the present invention configured as described above, the 3D graphics accelerator 200 performs geometric processing on primitives input through the geometric processing unit 201 and geometrically processed through an external controller (not shown). After determining whether the transparent primitive is present or a little of the opaque primitive, it is possible to obtain the accelerated 3D graphic image data by performing the object order rendering and the image order rendering through the rendering processor 202 again.

이과정에서 도면에 도시되지 않았으나 상술한 외부 제어기는 기하학 처리된 프리미티브를 영상순서 처리부(도시생략됨) 및 객체순서 처리부(도시생략됨)중 어느 처리부에 보낼지를 결정할 뿐만 아니라, 객체순서 렌더링 처리부와 영상순서 렌더링 처리부의 파이프라인을 제어하고, 특히 각 프레임에 대한 수행 완료시 객체순서 렌더링부와 영상순서 렌더링부가 각각 사용하고 있는 프레임 버퍼와 버킷을 서로 교환하는 제어를 수행한다.Although not shown in the drawing in this process, the above-described external controller not only determines which processing unit to send the geometrically processed primitive to the image order processor (not shown) and the object order processor (not shown), but also the object order rendering processor. The pipeline controls the pipeline of the image sequence rendering unit and, in particular, performs the control of exchanging a frame buffer and a bucket used by the object sequence rendering unit and the image sequence rendering unit, respectively, when the execution of each frame is completed.

또한 상기 기하학 처리된 결과가 불투명한 경우에는 객체순서 렌더링 처리부로 보내고, 투명한 프리미티브는 영상순서 렌더링 처리부로 보낸다. 이때 불투명한 프리미티브가 대부분이어서 객체순서 렌더링 처리부에 부하가 많이 걸리경우에는여상순서 렌더링 처리부로 보내어 질 수 있도록 투명한 프리미티브들의 존재 여부를 검사할 뿐만 아니라 불투명한 프리미티브들의 다소(多少)도 검사한다.If the geometrically processed result is opaque, the result is sent to the object order rendering processor, and the transparent primitive is sent to the image order rendering processor. When most of the opaque primitives put a heavy load on the object-order rendering process, not only the existence of the transparent primitives can be sent to the image-order rendering process but also some of the opaque primitives.

한편 비디오 디코딩부(100)는 입력되는 비트스트림을 이산여현 변환된 차픽셀값과 움직임 보상된 픽셀값을 더하여 완전하게 복원된 최종 픽셀값을 출력한다.On the other hand, the video decoding unit 100 outputs the final pixel value completely reconstructed by adding the discrete cosine transformed difference pixel value and the motion compensated pixel value to the input bitstream.

이와 같이 서로 다른 루트를 통해 처리된 각각의 3D 그래픽 영상 데이터와 디코드된 최종 픽셀값은 외부 제어기의 제어하에 멀티플렉서(109)를 통해 다중 출력되어 프레임 메모리(20)에 각각 저장된다.The 3D graphic image data and the decoded final pixel values processed through the different routes are multiplexed through the multiplexer 109 under the control of an external controller and stored in the frame memory 20, respectively.

여기서 상기 비디오 디코딩부(100)를 통해 복원된 최종 영상 데이터는 현재영상 메모리의 소정 번지에 저장됨과 동시에 디스플레이 처리부(110)를 통해 디스플레이장치(111)에 디스플레이 된다. 또한 상기 영상 데이터는 디스플레이 후 이전 영상 프레임 메모리(108)에 저장됨과 동시에 움직임 보상된 픽셀값을 생성하도록 움직 보상부(105)에 제공된다.Here, the final image data reconstructed by the video decoding unit 100 is stored at a predetermined address of the current image memory and displayed on the display apparatus 111 through the display processor 110. The image data is also stored in the previous image frame memory 108 after display and provided to the motion compensator 105 to generate a motion compensated pixel value.

또한 상기 3D 그래픽 가속기(200)를 통해 출력된 3D 그래픽 영상 데이터 역시 외부 제어기의 제어하에 멀티플렉서(109)를 통해 다중 출력되어 프레임 메모리(20)에 저장되고, 상기 프레임 메모리(20) 영역 내에서 현재 영상 또는 이전 영상 프레임 처리와 디스플레이 리프레쉬를 통해 실시간대로 처리되는 3D 그래픽 영상 데이터를 디스플레이 할 수 있다.In addition, the 3D graphics image data output through the 3D graphics accelerator 200 is also multiplexed through the multiplexer 109 under the control of an external controller and stored in the frame memory 20, and presently stored in the frame memory 20 region. It is possible to display 3D graphic image data processed in real time through image or previous image frame processing and display refresh.

여기서 렌더링 처리부(202)에서 N번째 프레임을 처리하고 있으면, 디스플레이 리프레쉬부(도시생략됨)는 N-1번째를 처리하며, 상기 디스플레이 리프레쉬부에서 N번째 프레임을 처리하고 있으면, 렌더링 처리부(202)는 N+1번째 프레임을 처리한다. 따라서 각 프레임 처리를 위해서 프레임 메모리는 현재 영상과 이전 형상으로 분할하여 저장하고 있으며 디스플레이 종료마다 프레임을 맞 교환 한다.If the rendering processor 202 is processing the Nth frame, the display refresh unit (not shown) processes the N-1th, and if the display refresh unit is processing the Nth frame, the rendering processor 202 Processes the N + 1th frame. Therefore, the frame memory divides and saves the current image and the previous shape for each frame processing, and exchanges frames at the end of each display.

한편 현재 영상 프레임 메모리(107)와 이전 영상 프레임 메모리(108)는 비디오 디코더(10)에서 생성되는 현재 영상에 대한 데이터와 3D 그래픽 가속기에서 처리된 데이터들이 공통으로 존재하지만 상호 데이터에 대한 화면의 부분은 서로 중첩되지 않도록 설계되어 있다. 즉, MPEG 동영상이 차지하는 스크린 부분과 3D 그래픽 가속기가 차지하는 스크린의 부분은 PIP나 화면 분할이 되어있어서, 두부분이 차지하는 스크린 위치는 각 프레임에 대해 고정되어 있다.디스플레이 처리부(110)는 MPEG 동영상의 수행결과와 3차원 그래픽 가속된 수행결과가 저장된 현재 영상 프레임 메모리(107)와 이전 영상 프레임 메모리(108)를 가지고 디스플레이 리플레쉬를 수행한다. 상술한 바와 같이 상기 비디오 디코딩부(100)를 통하여 출력된 최종 영상 데이터는 현재 영상 메모리의 소정 번지에 저장됨과 동시에 디스플레이 처리부(110)를 통하여 스크린 리프레쉬 된다. 한편 3차원 그래픽 처리된 영상에 대해서는 현재 영상 프레임 메모리는 렌더링 처리부(202)에서 사용하기 때문에, 이전 영상 프레임 메모리에 저장된 3차원 그래픽 영상이 스크린 리프레쉬로 사용된다. 이를 종합하여 보면, 스크린 리프레쉬는 MPEG 동영상에 대해서는 현재 프레임의 결과를 사용하고 3차원 그래픽 영상에 대해서는 이전 영상 프레임과 결과를 각각 사용하는 것이다.On the other hand, the current image frame memory 107 and the previous image frame memory 108 share data about the current image generated by the video decoder 10 and data processed by the 3D graphics accelerator, but are part of the screen for mutual data. Are designed not to overlap each other. In other words, the screen portion occupied by the MPEG video and the screen portion occupied by the 3D graphics accelerator are PIPs or screen divisions, and the screen positions occupied by the two portions are fixed for each frame. The display processor 110 performs an MPEG video. The display refresh is performed with the current image frame memory 107 and the previous image frame memory 108 in which the result and the 3D graphics accelerated performance result are stored. As described above, the final image data output through the video decoding unit 100 is stored at a predetermined address of the current image memory and screen refreshed through the display processing unit 110. On the other hand, since the current image frame memory is used by the rendering processor 202 for the 3D graphic processed image, the 3D graphic image stored in the previous image frame memory is used as the screen refresh. Taken together, screen refresh uses the result of the current frame for MPEG video and the previous frame and result for 3D graphic video, respectively.

또한 본 발명에 따른 MPEG 기반 3D 그래픽 가속기(10)는 3D 그래픽 데이터 처리를 위한 보다 많은 대역폭이 필요로 하기 때문에 3D 그래픽 가속기(200) 부분중 기하학 처리부(201) 또는 렌더링 처리부(202)를 분리하여 원 칩으로 구성할 수 있다. 하지만 데이터 처리를 위한 대역폭은 렌더링 처리부(202)가 더 많이 필요하므로 상기 렌더링 처리부(202)를 외부 장치로 활용하는 것이 개발시간을 단축하고 개발비용을 줄이는데 훨씬 더 효과적이다.In addition, since the MPEG-based 3D graphics accelerator 10 according to the present invention requires more bandwidth for processing 3D graphics data, the geometry processing unit 201 or the rendering processing unit 202 of the 3D graphics accelerator 200 may be separated. It can be comprised by one chip. However, since the bandwidth for data processing requires more rendering processor 202, utilizing the rendering processor 202 as an external device is much more effective in shortening development time and reducing development cost.

이와 같이 본 발명에 따른 MPEG 기반 3D 그래픽 가속기는 칩 세트가 적용될 수 있는 TV 또는 단말기 상에서 3D 그래픽 데이터를 디스플레이 할 수 있다.As described above, the MPEG-based 3D graphics accelerator according to the present invention can display 3D graphic data on a TV or a terminal to which a chip set can be applied.

이상에서와 같이 본 발명에 따른 MPEG 기반 3D 그래픽 가속기에 의하면, TV칩 세트 또는 단말기 칩 세트내에 3차원 그래픽 가속기를 내장시켜 원칩으로 구성함으로써 저가의 3D 그래픽 가속기로 구현 가능하다.As described above, according to the MPEG-based 3D graphics accelerator according to the present invention, it is possible to implement a low-cost 3D graphics accelerator by constructing a one-chip by embedding a three-dimensional graphics accelerator in a TV chip set or a terminal chip set.

또한 본 발명은 3D 그래픽 가속기중 기하학적 처리부와 렌더링 처리부를 나누어서 비디오 디코더와 원 칩으로 구성하면 개발시간을 줄일 수 있고 개발비용도낮출 수 있는 이점이 있다.In addition, the present invention has the advantage that the development time can be reduced and the development cost can be reduced by configuring the video processor and the one chip by dividing the geometric processing unit and the rendering processing unit of the 3D graphics accelerator.

이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the spirit of the present invention.

따라서 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.Therefore, the technical scope of the present invention should not be limited to the contents described in the embodiments, but should be defined by the claims.

Claims (5)

입력되는 3차원 프리미티브들을 기하학 처리 또는 렌더링하여 3D 그래픽 데이터를 출력하는 3D 그래픽 가속기와;A 3D graphics accelerator for geometrically processing or rendering input 3D primitives to output 3D graphic data; 입력되는 비디오 비트 스트림을 디코딩하여 디코드된 비디오 데이터를 출력하는 비디오 디코더와;A video decoder for decoding an input video bit stream and outputting decoded video data; 상기 3D 그래픽 데이터와 디코드된 비디오 데이터를 다중출력하는 멀티플렉서와;A multiplexer for multiplexing the 3D graphic data and the decoded video data; 상기 멀티플렉서를 통해 다중 출력된 데이터를 각각 현재 영상과 이전 영상으로 분할하여 저장하고 있는 프레임 메모리와; 그리고,A frame memory for dividing the multiplexed data through the multiplexer into a current image and a previous image, respectively; And, 상기 프레임 메모리에 저장된 영상을 디플레이장치에 적합하도록 신호 처리하는 디스플레이 처리부를 포함하여 구성함을 특징으로 하는 MPEG 기반 3D 그래픽 가속기.And a display processor configured to signal-process an image stored in the frame memory so as to be suitable for a display device. 제 1 항에 있어서, 상기 MPEG 기반 3D 그래픽 가속기는 디스플레이 장치에 적합한 영상으로 신호처리하는 디스플레이 처리부를 더 구비함을 특징으로 하는 MPEG 기반 3D 그래픽 가속기.The MPEG-based 3D graphics accelerator of claim 1, wherein the MPEG-based 3D graphics accelerator further comprises a display processor configured to process a signal into an image suitable for a display device. 제 1 항에 있어서, 상기 MPEG 기반 3D 그래픽 가속기는 프레임 메모리를 리프레쉬하기 위한 디스플레이 리프레쉬부를 더 구비하도록 함을 특징으로 하는 MPEG 기반 3D 그래픽 가속기.The MPEG-based 3D graphics accelerator of claim 1, further comprising a display refresh unit for refreshing the frame memory. 제 1 항에 있어서, 상기 MPEG 기반 3D 그래픽 가속기에서 기하학 처리부는 비디오 디코딩부와 원 칩으로 구성하고 렌더링 처리부는 분리하여 구성함을 특징 하는 MPEG 기반 3D 그래픽 가속기.The MPEG-based 3D graphics accelerator of claim 1, wherein in the MPEG-based 3D graphics accelerator, the geometry processing unit is composed of a video decoding unit and a single chip, and the rendering processing unit is configured separately. 그래픽 입력단으로 입력되는 3차원 프리미티브들을 기하학적 처리하는 기하학 처리부 및 상기 기하학 처리된 프리미티브들을 렌더링하는 렌더링 처리부로 구성되어 3차원 그래픽 스트림을 가속하는 3D 그래픽 가속기와;A 3D graphics accelerator configured to geometrically process three-dimensional primitives input to a graphic input terminal and a rendering processor to render the geometrically processed primitives to accelerate a three-dimensional graphics stream; 비디오 입력단으로 입력되는 비디오 비트스트림을 가변길이 디코딩하여 움직임 벡터, 양자화 값, DCT 계수로 분리하여 출력하는 가변길이 디코더, 상기 DCT 계수를 라스터 스캔(Raster Scan) 방식으로 역스캔한 후 역 스캔된 DCT 계수를 양자화 값에 따라 역 양자화하여 출력하는 역스캔 및 역양자화부, 역 양자화된 DCT 계수에 대해 역 이산여현 변환하여 차 픽셀값을 출력하는 역 이산여현 변환부, 상기 가변길이 디코더에서 출력되는 움직임 벡터에 대해 움직임 보상을 수행하여 움직임 보상된 픽셀값을 출력하는 움직임 보상부, 상기 픽셀값들을 가산하여 최종 픽셀값으로 출력하는 MB 가산기로 구성되어 비디오 비트스트림을 디코딩하는 비디오 디코더와;A variable length decoder for variable length decoding the video bitstream input to the video input terminal and separating the video bitstream into motion vectors, quantization values, and DCT coefficients, and performing reverse scanning after the reverse scanning of the DCT coefficients using a raster scan method. An inverse scan and inverse quantization unit for inversely quantizing and outputting DCT coefficients according to quantization values, an inverse discrete cosine transformer for inverse discrete cosine transforming the inverse quantized DCT coefficients, and outputting a difference pixel value, which is output from the variable length decoder A video decoder configured to perform a motion compensation on the motion vector and output a motion compensated pixel value, and an MB adder that adds the pixel values and outputs the final pixel value; 상기 가속된 3차원 그래픽 스트림과 디코드된 비디오 비트스트림을 다중출력하는 멀티플렉서와; 그리고,A multiplexer for multiplexing the accelerated three-dimensional graphics stream and the decoded video bitstream; And, 상기 다중출력된 3차원 그래픽 스트림과 디코드된 비디오 비트스트림을 현재영상과 이전 영상으로 분리 저장하는 프레임 메모리부로 구성함을 특징으로 하는 MPEG 기반 3D 그래픽 가속기.And a frame memory unit configured to separately store the multi-output 3D graphic stream and the decoded video bitstream into a current image and a previous image.
KR10-2000-0039871A 2000-07-12 2000-07-12 3D graphic accelerator based on MPEG KR100382106B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0039871A KR100382106B1 (en) 2000-07-12 2000-07-12 3D graphic accelerator based on MPEG

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0039871A KR100382106B1 (en) 2000-07-12 2000-07-12 3D graphic accelerator based on MPEG

Publications (2)

Publication Number Publication Date
KR20020006297A KR20020006297A (en) 2002-01-19
KR100382106B1 true KR100382106B1 (en) 2003-05-01

Family

ID=19677589

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0039871A KR100382106B1 (en) 2000-07-12 2000-07-12 3D graphic accelerator based on MPEG

Country Status (1)

Country Link
KR (1) KR100382106B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100490401B1 (en) * 2002-03-26 2005-05-17 삼성전자주식회사 Apparatus and method for processing image in thin-client environment
KR100479175B1 (en) * 2003-04-23 2005-03-25 에스케이 텔레콤주식회사 Mobile Terminal with Wireless Internet Service Platform Using Java Chip and Graphic Accelerating Method Using the Same
KR100851282B1 (en) * 2006-08-01 2008-08-08 경북대학교 산학협력단 Pattern generator using 3D graphic accelerator
KR100691846B1 (en) * 2006-10-09 2007-03-12 주식회사 유칩스 Method and apparatus for processing 3d graphic data

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960025188A (en) * 1994-12-16 1996-07-20 구자홍 Video playback device for video capture
JPH09134437A (en) * 1995-11-08 1997-05-20 Hitachi Ltd Method for compressing coordinate data
JPH09171568A (en) * 1995-08-04 1997-06-30 Sun Microsyst Inc Method and apparatus for geometrical compression of three-dimensional graphics data
JPH10116352A (en) * 1996-07-01 1998-05-06 Sun Microsyst Inc Command processor for three-dimensional graphics accelerator having geometry compression releasing performance
KR19980037122A (en) * 1996-11-20 1998-08-05 양승택 3D graphic accelerator having input / output function of multimedia data and its data processing method
KR19990018369A (en) * 1997-08-27 1999-03-15 윤종용 3D graphics accelerator

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960025188A (en) * 1994-12-16 1996-07-20 구자홍 Video playback device for video capture
JPH09171568A (en) * 1995-08-04 1997-06-30 Sun Microsyst Inc Method and apparatus for geometrical compression of three-dimensional graphics data
JPH09134437A (en) * 1995-11-08 1997-05-20 Hitachi Ltd Method for compressing coordinate data
JPH10116352A (en) * 1996-07-01 1998-05-06 Sun Microsyst Inc Command processor for three-dimensional graphics accelerator having geometry compression releasing performance
KR19980037122A (en) * 1996-11-20 1998-08-05 양승택 3D graphic accelerator having input / output function of multimedia data and its data processing method
KR19990018369A (en) * 1997-08-27 1999-03-15 윤종용 3D graphics accelerator

Also Published As

Publication number Publication date
KR20020006297A (en) 2002-01-19

Similar Documents

Publication Publication Date Title
EP1641278B1 (en) Accelerated video encoding using a graphics processing unit
US8369419B2 (en) Systems and methods of video compression deblocking
JP4554600B2 (en) Accelerate video decoding using a graphics processing unit
Fenney Texture compression using low-frequency signal modulation
KR100502586B1 (en) Video Audio Processing Equipment with High Processing Efficiency
KR100604102B1 (en) Methods and apparatus for processing DVD video
US5818967A (en) Video decoder engine
CN101123723A (en) Digital video decoding method based on image processor
US20060204119A1 (en) Efficient implementation of block-based transform on graphics processing unit
Wallach et al. Accelerated MPEG compression of dynamic polygonal scenes
US20140010313A1 (en) Method and System for Data Management in a Video Decoder
US20140153635A1 (en) Method, computer program product, and system for multi-threaded video encoding
US7885336B2 (en) Programmable shader-based motion compensation apparatus and method
US20070291858A1 (en) Systems and Methods of Video Compression Deblocking
US7209141B2 (en) Macroblock padding
US20120307004A1 (en) Video decoding with 3d graphics shaders
US9319708B2 (en) Systems and methods of improved motion estimation using a graphics processing unit
CN1466738A (en) Method and apparatus fir the anti-alizasing supersampling
JP2006014341A (en) Method and apparatus for storing image data using mcu buffer
US6967659B1 (en) Circuitry and systems for performing two-dimensional motion compensation using a three-dimensional pipeline and methods of operating the same
US5778096A (en) Decompression of MPEG compressed data in a computer system
EP1147671B1 (en) Method and apparatus for performing motion compensation in a texture mapping engine
US6539058B1 (en) Methods and apparatus for reducing drift due to averaging in reduced resolution video decoders
KR100382106B1 (en) 3D graphic accelerator based on MPEG
CN111052738A (en) System and method for delayed post-processing in video coding

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
N231 Notification of change of applicant
FPAY Annual fee payment

Payment date: 20070416

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee