KR100938964B1 - 3차원 컴퓨터 그래픽스의 압축을 위한 시스템 및 방법 - Google Patents

3차원 컴퓨터 그래픽스의 압축을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR100938964B1
KR100938964B1 KR1020047017558A KR20047017558A KR100938964B1 KR 100938964 B1 KR100938964 B1 KR 100938964B1 KR 1020047017558 A KR1020047017558 A KR 1020047017558A KR 20047017558 A KR20047017558 A KR 20047017558A KR 100938964 B1 KR100938964 B1 KR 100938964B1
Authority
KR
South Korea
Prior art keywords
data
processor
current frame
objects
video
Prior art date
Application number
KR1020047017558A
Other languages
English (en)
Other versions
KR20050009993A (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 소니 컴퓨터 엔터테인먼트 인코포레이티드
Publication of KR20050009993A publication Critical patent/KR20050009993A/ko
Application granted granted Critical
Publication of KR100938964B1 publication Critical patent/KR100938964B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Generation (AREA)

Abstract

본 발명은 비디오 그래픽스 데이터(video graphics data)를 압축하기 위한 시스템 및 방법을 제공한다. 본 발명에 따른 시스템 및 방법은 객체들을 모델링하는 비디오 그래픽스 데이터로부터 그래픽스 파이프라인(graphic pipeline)에서 상기 객체들에 대응하는 정점 데이터를 생성하는 단계, 픽셀 데이터(pixel data)의 현재 프레임과 픽셀 데이터의 기준 프레임을 생성하기 위해 상기 비디오 그래픽스 데이터를 렌더링(rendering)하는 단계, 상기 정점 데이터에 근거하여, 상기 현재 프레임 이내의 한 블록의 픽셀 데이터에 대한 모션 벡터(motion vector)를 계산하기 위해 상기 기준 프레임 이내의 탐색 영역(search area)을 정의하는 단계를 포함한다. 그 다음에 현재 프레임은 모션 벡터를 이용하여 압축된다. 탐색 영역을 정의하기 위한 그래픽스 파이프라인으로부터의 정점 데이터를 이용하여 모션 벡터들을 생성하고 데이터 압축을 수행하는 데에 필요한 서칭의 양을 실질적으로 감소시킨다.
Figure R1020047017558
비디오 그래픽스 데이터, 픽셀 데이터, 모션 벡터, 서치 영역, 정점 데이터

Description

3차원 컴퓨터 그래픽스의 압축을 위한 시스템 및 방법{System and method for compression of 3D computer graphics}
본 발명은 데이터(data)를 압축하기 위한 시스템 및 방법에 관한 것으로, 더욱 구체적으로는 컴퓨터에 의해 생성된 그래픽스 데이터를 압축하기 위한 시스템 및 방법에 관한 것이다.
컴퓨터에 의해 생성된 비디오 데이터, 구체적으로, 비디오 그래픽스 데이터(예를 들면, 컴퓨터 게임에 대한 비디오 그래픽스 데이터)의 준비, 스토리지(storage) 및 전송은 확장된 컴퓨터 리소스(resource)들과 광대역 네트워크 접속들을 필요로 한다. 이러한 요구는 비디오 그래픽스 데이터가 근거리 네트워크 또는 인터넷과 같은 원거리 네트워크를 거쳐 접속된 한 그룹의 개인들 사이에서 실시간으로 전송될 때 많다. 이러한 전송은 예를 들어, 비디오 게임들이 인터넷을 통해 행해질 때 일어난다. 게다가, 이러한 비디오 게임은 갈수록 인기가 높아지고 있다.
비디오 데이터의 전송을 위해 필요한 네트워크 용량과 컴퓨터 리소스들을 감소시키기 위해, 데이터 압축을 위한 다양한 엔코딩(encoding) 구조가 이용된다. 이러한 데이터 압축 구조들은 MPEG(Motion Picture Experts Group) 엔코딩 규격의 다양한 버젼(version)들, 예를 들면, MPEG-1, MPEG-2, 및 MPEG-4를 포함한다. 이 데 이터 압축 구조들은 동영상 시퀀스(sequence)들에서 넘치거나 부수적인 정보를 제거함으로써 이 시퀀스들을 전송하고 재생하는 데에 필요한 이미지 정보의 양을 감소시킨다.
예를 들면, 동영상 시퀀스의 2개의 인접한 프레임(frame)들 사이의 많은 경우들에서의 유일한 차이는 특정 블록(block)들의 픽셀(pixel)들의 미세한 시프팅(shifting)이다. 예를 들면, 하늘, 벽들 및 다른 정적인 객체들의 영역들을 표현하는 큰 블록들의 픽셀들은 연속적인 프레임들 사이에서 변화하지 않는다. MPEG와 같은 압축 알고리즘(algorithms)은 각각의 프레임에 전송되거나 저장된 데이터의 양을 감소시키기 위해 이러한 시간 중복성을 이용한다.
예를 들면, MPEG 규격에서는, 3종류의 프레임들, 즉, 인트라 프레임(intra frame; I-frame)들, 프리딕티드 프레임(predicted frame; P-frame)들, 및 바이디렉셔널리 인터폴레이티드 프레임(bi-directionally interpolated frame; B-frame)들이 정의된다. 도 1에 도시된 것처럼, I-프레임들은 P-프레임들과 B-프레임들을 위한 기준 프레임들이며 적당히 압축된다. P-프레임들은 과거 프레임을 참조하여 엔코딩된다. 과거 프레임은 I-프레임이거나 P-프레임일 수 있다. B-프레임들은 과거 프레임과 미래 프레임 모두를 참조하여 엔코딩된다. B-프레임들에 대한 기준 프레임들은 I-프레임이거나 P-프레임일 수 있다. B-프레임들은 기준들로서 이용되지 않는다.
기준 프레임들로부터 프리딕티드 프레임들과 인터폴레이티드 프레임들을 엔코딩하기 위해, MPEG 구조는 다양한 모션(motion) 예측 알고리즘을 이용한다. 이러 한 모션 예측 알고리즘은 풀 서치 알고리즘(full search alrorithms), 계층적 서칭 알고리즘(hierarchical searching alrorithms) 및 텔레스코픽 알고리즘(telescopic alrorithms)을 포함한다. 도 2에 도시된 것처럼, MPEG 규격 하에서, 각각의 프레임이 마크로 블록(macro block)이라고 하는 16행 16열 픽셀들의 블록들로 나누어진다. 현재 프레임의 마크로 블록은 마크로 블록이 기준 프레임 내의 블록들의 위치로부터 현재 프레임 내로 이동된 거리를 예측함으로써 기준 프레임을 이용하여 엔코딩된다. 모션 예측 알고리즘은 기준 프레임 내에서 가장 매칭(matching)이 잘되는 블록을 찾기 위해 현재 프레임의 각각의 마크로 블록과 기준 프레임의 서치 영역 이내의 마크로 블록들을 비교함으로써 이러한 예측을 수행한다. 예를 들면, 현재 프레임(207)의 마크로 블록(201)에 대해, 기준 프레임 내에서 가장 잘 매칭되는 블록을 찾기 위해 현재 프레임의 마크로 블록(201)과 기준 프레임의 각각의 마크로 블록(205) 사이의 비교가 기준 프레임(209)의 서치 영역(203) 이내에서 행해진다. 기준 프레임 이내에서 가장 잘 매칭되는 마크로 블록의 위치는 현재 프레임의 마크로 블록(201)에 대한 모션 벡터(motion vector)를 계산하기 위해 이용된다. 현재 프레임(207)에 대해 마크로 블록(201)에 대응하는 비디오 데이터 모두를 전송하는 것이 아니라 모션 벡터만이 이 블록에 대해 전송된다. 이런 방식으로, 현재 프레임에 대한 비디오 데이터가 압축된다.
모션 예측 알고리즘을 수행하는 것은 실질적인 컴퓨터 리소스들을 필요로 한다. 현재 프레임의 마크로 블록이 하나 이상의 기준 프레임들의 수많은 마크로 블록들과 비교되어야 하기 때문에, 확장된 개수의 계산이 필요하다. 예를 들면, 3단 계 서치 알고리즘(three-step-search algorithm; TSS; 계층적 알고리즘)은 서치 영역의 중심 위치와 8개의 주변 위치들에서의 매치들을 평가한다. 가장 작은 차이를 생성하는 위치가 서치 영역을 절반으로 줄이기 위해 다음 서치 영역의 중심이 된다. 이러한 시퀀스는 3번 반복된다.
특히, 인터넷과 다른 네트워크들을 통해 실시간으로 비디오 게임을 할 수 있는 시스템들에 대한 요구가 증가하고 있는 면에서, 비디오 그래픽스 데이터를 압축하기 위한 더욱 효율적이고 효과적인 방법에 대한 요구가 있다.
MPEG 엔코더들과 같은 데이터 압축 엔코더(encoder)들은 비디오 데이터의 소스(source)에 관계 없이 비디오 데이터를 압축하기 위해 같은 방법을 이용한다. 디지털 카메라에 기록된 실시간 동작에 대한 비디오 데이터와 컴퓨터에 의해 생성된 시뮬레이팅(simulating)된 비디오 데이터는 같은 데이터 압축 구조와 모션 예측 알고리즘에 따라 압축된다. 비디오 데이터가 컴퓨터에 의해 생성될 때, 객체들의 속성과 움직임에 관한 정보는 데이터의 엔코딩과 압축 이전에 공지된다. 현재 데이터 압축 엔코더들과 달리, 본 발명은 데이터 압축을 수행하는 데에 필요한 계산 단계들을 감소시키기 위해 이 정보를 이용한다.
한 실시형태에서, 본 발명은 비디오 데이터를 압축하기 위한 방법을 제공한다. 상기 방법은 그래픽스 파이프라인(pipeline)에서 객체들을 모델링(modeling)하는 비디오 그래픽스 데이터로부터 객체들에 대응하는 정점 데이터를 생성하는 단계를 포함한다. 상기 방법은 픽셀 데이터의 현재 프레임과 픽셀 데이터의 기준 프레 임을 생성하기 위해 비디오 그래픽스 데이터를 렌더링(rendering)하는 단계를 포함한다. 상기 방법은 정점 데이터에 근거하여 현재 프레임 이내의 한 블록의 픽셀 데이터에 대한 모션 벡터를 계산하기 위해 기준 프레임 이내의 서치 영역을 정의하는 단계를 포함한다.
객체들은 바람직하게는 동적인 객체들을 포함하고, 그리고 블록은 바람직하게는 동적인 객체들 중 하나의 적어도 일부분을 포함한다. 상기 방법은 바람직하게는 기준 프레임 이내의 하나의 동적인 객체에 대응하는 정점들의 뷰포트(viewport) 좌표들에 근거하여 서치 영역을 정의하는 단계를 포함한다. 서치 영역은 바람직하게는 기준 프레임 이내의 하나의 동적인 객체를 둘러싸고 그리고 직사각형 모양이다. 상기 방법은 바람직하게는 모션 벡터에 근거하여 MPEG 포맷에 따라 현재 프레임을 압축하는 단계를 포함한다.
상기 방법은 바람직하게는 현재 프레임 이내의 제 2 블록의 픽셀 데이터에 대한 모션 벡터를 계산하기 위한 제 2 서치 영역을 정점 데이터와 관계 없이 정의하는 단계를 포함한다. 제 2 블록의 픽셀 데이터는 동적인 객체들을 포함하지 않는다. 게다가, 상기 방법은 바람직하게는 그래픽스 파이프라인에서 비디오 그래픽스 데이터에 대한 기하 변환들을 수행하는 단계, 비디오 그래픽스 데이터를 뷰 볼륨(view volume)에 대해 클리핑(cliping)하는 단계, 비디오 그래픽스 데이터를 투영면에 투영하는 단계, 및 비디오 그래픽스 데이터를 뷰포트로 변환하는 단계를 포함한다. 비디오 그래픽스 데이터는 바람직하게는 비디오 게임과 관련되고, 그리고 현재 프레임과 기준 프레임 모두가 바람직하게는 인터넷과 같은 네트워크를 통해 전 송된다.
또 다른 실시형태에서, 본 발명은 비디오 데이터를 압축하기 위한 시스템을 제공한다. 상기 시스템은 그래픽스 파이프라인에서 객체들을 모델링하는 비디오 그래픽스 데이터로부터 객체들에 대응하는 정점 데이터를 생성하고 그리고 픽셀 데이터의 현재 프레임과 픽셀 데이터의 기준 프레임을 생성하기 위해 비디오 그래픽스 데이터를 렌더링하는 데에 적합한 제 1 프로세서를 포함한다. 상기 시스템은 정점 데이터에 근거하여 기준 프레임 이내의 서치 영역을 정의하고 그리고 현재 프레임 이내의 한 블록의 픽셀 데이터에 대한 모션 벡터를 계산하는 데에 적합한 제 2 프로세서를 포함한다.
도 1은 MPEG 압축 구조의 I-프레임들, B-프레임들 및 P-프레임들의 개요도이다.
도 2는 현재 프레임을 기준 프레임으로부터 예측하기 위한 모션 예측 알고리즘의 서칭 단계들의 개요도이다.
도 3은 비디오 그래픽스 데이터를 생성하기 위한 컴퓨터 시스템에 의해 수행된 그래픽스 파이프라인의 단계들의 개요도이다.
도 4는 본 발명에 따른 모션 예측 알고리즘의 서칭 단계들의 개요도이다.
도 5는 본 발명에 따른 비디오 그래픽스 데이터를 엔코딩하기 위한 시스템의 블록도이다.
도 3은 비디오 게임의 계산된 시뮬레이션(simulation) 동안 디스플레이(display)되는 것처럼 비디오 그래픽스 데이터의 프레임들을 생성하기 위한 그래픽스 파이프라인의 개요도이다. 이러한 그래픽스 파이프라인의 기능은 하드웨어, 소프트웨어 또는 2개의 조합에서 이용될 수 있다. 예를 들면, 이러한 기능들은 마이크로프로세서, 회로 접속에 의한 디지털 회로, 주문형 집적회로 또는 다른 디지털 회로들 또는 소프트웨어와 같은 프로그램된 프로세서에 의해 실행될 수 있다. 이러한 장치들은 하나 이상의 반도체 칩들에 대한 집적회로들로서 이용될 수 있다. 소프트웨어는 ROM, EPROM, EEPROM, 자기 디스크, 광 디스크 또는 다른 적합한 스토리지 미디엄(storage medium)에 저장될 수 있다. 하드웨어와 소프트웨어는 게임 기계, 서버 컴퓨터(sever computer), 데스크탑 컴퓨터(desktop computer), 핸드헬드 컴퓨터(handheld computer), 휴대용 컴퓨터, 셋톱 박스(settop box) 또는 다른 컴퓨터 장치의 부분일 수 있다. 컴퓨터 시스템은 독립형 장치이거나 인터넷과 같은 네트워크에 접속될 수 있다.
도 3에 도시된 그래픽스 파이프라인은 동적인 객체들과 정적인 객체들을 월드 좌표계(world coordinate system)로 알려진 카테시안 좌표계(x, y, z)로 모델링하는 그래픽스 데이터의 데이터베이스(도시되지 않음)를 포함한다. 동적인 객체들은 인물들, 차량들, 발사체 및 컴퓨터화된 시뮬레이션 동안 움직일 수 있는 다른 객체들 모두 또는 부분들일 수 있다. 정적인 객체들은 지형, 빌딩 및 시뮬레이션 동안 월드 좌표계와 관련하여 고정된 위치에 남아 있는 다른 객체들을 포함한다. 동적인 객체들과 정적인 객체들의 이러한 세계는 컴퓨터화된 시뮬레이션이 초래된 그래픽스 파이프라인에 대한 미처리 데이터를 제공한다. 모델링은 프리미티브(primitive)들로 알려진 한 그룹의 기본적인 빌딩 블록들을 이용하여 데이터베이스의 각각의 객체를 표현하는 것을 포함한다. 이러한 프리미티브들은 삼각형들, 사각형들 및 다른 다각형들을 포함한다. 데이터베이스는 각각의 객체와 라이팅(lighting), 셰이딩(shading), 컬러(color) 및 텍스쳐(texture)와 같은 각각의 정점과 관련된 정보에 대응하는 프리미티브들의 정점들에 대한 월드 좌표계들을 포함한다.
예를 들면, 비디오 게임의 플레잉(playing)과 같은 데이터베이스의 그래픽스 데이터에 근거한 컴퓨터화된 비디오 시뮬레이션 동안의 시뮬레이션의 프로그램된 진행과 사용자로부터의 입력은 월드 좌표계 이내에서 모델링된 동적인 객체들이 움직이고 그리고 객체들에 대한 사용자의 시야 방향과 거리가 변화하게 한다. 객체들을 디스플레이 스크린에 대한 사용자에게 적절히 디스플레이하기 위해, 기능적 블록(301)의 그래픽스 파이프라인의 단계들을 실행하는 컴퓨터 시스템은 객체들에 대한 기하 변환들을 실시간으로 수행한다. 이러한 기하 변환들은 트랜슬레이션(translation), 스케일링(scaling) 및 로테이션(rotation)을 포함하고 그리고 2개의 M-행렬들을 곱함으로써 대부분의 경우들에서 수행될 수 있다.
트렌슬레이션은 값을 객체의 각각의 정점의 x, y, z 좌표들에 더하는 것을 뜻한다. 그 결과, 객체는 월드 좌표계 이내에서 스피닝(spining) 없이 이동한다. 스케일링은 객체의 크기를 객체의 위치나 방향을 변화시키지 않고 변화시키는 것을 뜻한다. 객체의 크기는 이러한 정점들과 예정된 중심점 사이의 거리를 스케일링하 기 위해 팩터를 객체의 정점들 각각에 적용함으로써 변화될 수 있다. 로테이션은 객체를 이동시키지 않고 회전축을 중심으로 객체의 각각의 정점을 회전시킨다.
기능적 블록(303)에서, 컴퓨터 시스템은 뷰잉 볼륨(viewing volume)에 대하여 기하적으로 변환된 프리미티브들을 클리핑한다. 이러한 뷰잉 볼륨은 시야의 수평 필드(field)를 정의하는 좌면과 우면, 시야의 수직 필드를 정의하는 상면과 하면 및 가장 가까운 시거리와 가장 먼 시거리를 정의하는 정면과 배면을 가진 6면 절두체이다. 뷰잉 볼륨 이내에 있지 않는 객체들 또는 객체들의 부분들은 버려진다.
기능적 블록(305)에서는, 컴퓨터 시스템이 뷰잉 볼륨 이내의 객체들을 2차원 투영면에 투영한다. 이러한 투영면은 관찰자의 월드 좌표계로의 시야 방향에 수직이고 그리고 뷰평면이라 한다. 이 단계는 사시 또는 평행 투영 기법들을 이용하여 3차원 객체들의 각 정점을 2차원 투영면에 매핑하는 것이다. 예를 들면, x', y', z'가, z'이 투영면에 수직이고 x'과 y'이 투영면 이내에 있는 변환된 월드 좌표계의 좌표들을 표현한다면, 이 단계는 객체들의 정점들 각각에 대한 x'과 y'의 값들을 z' 값에 의해 나누는 것이다. 이렇게 함으로써, 멀리 있는 객체들은 작게 나타나고 그리고 가까이 있는 객체들은 크게 나타나도록 객체가 투영면에 투영된다.
기능적 블록(307)에서, 컴퓨터 시스템은 객체들을 뷰포트로 변환한다. 뷰포트는 컴퓨터 스크린, 텔레비젼 스크린 또는 컴퓨터화된 시뮬레이션을 보여주는 데에 사용된 다른 디스플레이 장치(도시되지 않음)의 물리적 영역이다. 이 변환은 투영면의 x', y' 좌표계와 뷰포트의 x'', y'' 좌표계 사이의 객체들의 최종 스케일링 이다.
최종적으로, 기능적 블록(309)에서는, 컴퓨터 시스템이 객체들의 래스터리제이션(rasterization)과 렌더링(rendering)을 수행하여 픽셀 데이터의 비디오 프레임들을 생성한다. 객체들의 래스터리제이션과 렌더링은 각각의 객체의 각각의 프리미티브 이내에 위치하는 각각의 스캔 라인(scan line)의 최초 픽셀과 최종 픽셀을 정의하는 것, 이 최초 픽셀과 최종 픽셀 사이의 픽셀들을 정의하는 것 및 이 픽셀들에 대해 라이팅, 컬러링(coloring), 셰이딩, 텍스쳐링(texturing) 및 블렌딩(blending) 정보를 생성하는 것을 뜻한다. 최종 픽셀 데이터는 비디오 프레임들을 디스플레이 스크린에 디스플레이하는 데에 사용하기 위해 프레임 버퍼(frame buffer; 도시되지 않음)에 저장된다. 최종 픽셀 데이터는 디스플레이를 위한 또 다른 컴퓨터 시스템으로 네트워크를 통해 압축되고 그리고 저장되거나 전송될 수 있다.
도 3의 그래픽스 파이프라인에서 수행된 단계들의 결과로서, 3차원 월드 좌표계의 각각의 객체에 대응하는 프리미티브들의 각각의 정점 x, y, z은 디스플레이 스크린의 2차원 좌표계의 정점 x'', y''으로 변환되고, 그리고 이러한 프리미티브들에 대응하는 픽셀들은 래스터라이징(rasterizing)되고 렌더링된다.
래스터라이징되고 렌더링된 픽셀 데이터를 압축하고 전송하기 위한 본 발명의 실시형태는 도 4에 도시된다. 현재 프레임(413)과 기준 프레임(415)은 컴퓨터화된 시뮬레이션으로부터의 픽셀 데이터의 두 프레임들이다. 현재 프레임(413)은 데이터 압축 구조, 예를 들면, MPEG 규격에 따라 기준 프레임(415)에 근거하여 압축 된다. 현재 프레임(413)과 기준 프레임(415) 내의 픽셀들의 위치는 뷰포트의 x'', y'' 좌표들에 의해 식별된다. 도 4에 도시된 것처럼, 동적인 객체(401)는 현재 프레임(413)의 오른쪽 밑 부분의 마크로 블록들(405, 407, 409 및 411) 이내에 위치한다. 기준 프레임(415)에서, 동적인 객체(401)는 프레임의 왼쪽 윗 부분에 위치한다. 기준 프레임(415)과 현재 프레임(413)의 생성 사이의 주기 동안, 객체(401)는 뷰포트의 왼쪽 윗부분으로부터 시뮬레이션의 결과로서 뷰포트의 오른쪽 아랫 부분으로 이동한다. 각각이 객체(401)의 부분을 포함하는 마크로 블록들(405, 407, 409 및 411)은 이 시간 동안 뷰포트의 왼쪽 윗부분으로부터 뷰포트의 오른쪽 아랫부분으로 이동한다.
통상의 방법들을 이용한 모션 예측 알고리즘이 마크로 블록들(405, 407, 409 및 411)에 대한 모션 벡터를 계산하기 위해 이용된다면, 현재 프레임(413) 내의 이 블록들의 위치를 둘러싸는 극도로 큰 서치 영역(또는 '탐색 영역', 이하 동일하다)이 가장 잘 매칭되는 블록들을 기준 프레임(415) 내에 위치시키는 데에 필요하다. 이러한 서치 영역 내에서 이 모션 예측 알고리즘을 실행하는 것은 실질적인 컴퓨터 리소스들을 소비한다.
본 발명에 따르면, 기준 프레임(415) 내의 동적인 객체(401)의 위치는 블록들(405, 407, 409 및 411)에 대한 서치 영역을 객체(401)를 둘러싸는 훨씬 더 작은 영역으로 제한하기 위한 기준으로서 식별되고 이용된다. 그래픽스 파이프라인으로부터의 객체에 대한 프리미티브들에 대한 정점 데이터는 현재 프레임(413)과 기준 프레임(415)을 렌더링하기 이전에 이 위치를 식별하는 데에 사용된다.
도 4에 도시된 것처럼, 객체(401)의 정점들(417, 419, 421 및 423)의 뷰포트 좌표들은 객체(401)를 포함하는 기준 프레임(415) 내에서 직사각형 영역(425)의 외부 경계와 정점들을 정의한다. 정점(417)은 영역(425)에 대한 최대 y'' 좌표를 정의하고, 정점(419)은 영역(425)에 대한 최대 x'' 좌표를 정의하고, 정점(421)은 영역(425)에 대한 최소 y'' 좌표를 정의하고 그리고 정점(423)은 영역(425)에 대한 최대 x'' 좌표를 정의한다. 영역(423)의 정점들에 대한 뷰포트 좌표들은 (min x'', max y''), (min x'', min y''), (max x'', min y'') 및 (max x'', max y'')이다.
영역(425)의 경계가 균일하게 확장되어 서치 영역(403)을 정의한다. 객체(401)의 전부 또는 부분을 포함하는 현재 프레임(413)의 마크로 블록들에 대해 통상의 모션 예측 알고리즘은 서치 영역을 서치 영역(403)으로 제한하도록 변형된다. 마크로 블록들(405, 407, 409 및 411)에 대해, 모션 예측 알고리즘은 서치 영역을 영역(403)으로 제한한다. 동적인 객체를 포함하지 않는 현재 프레임(413)의 마크로 블록들에 대해, 모션 예측 알고리즘은 현재 프레임(413) 이내에서 마크로 블록의 위치를 둘러싸는 통상의 서치 영역을 이용하여 모션 벡터를 계산한다. 현재 프레임과 기준 프레임 내의 동적인 객체들의 아이덴터티(identity)와 위치는 픽셀 데이터의 래스터라이징과 렌더링의 이전에 그래픽스 파이프라인에 의해 생성된 객체들에 대응하는 프리미티브들에 대한 정점 데이터로부터 얻어진다. 이 정점 데이터는 객체들의 프리미티브들의 정점들에 대한 월드 좌표들, 객체들의 프리미티브들의 정점들에 대한 투영면 좌표들 및 객체들의 프리미티브들의 정점들에 대한 뷰포트 좌표들을 포함한다.
본 발명에 따라 비디오 그래픽스 데이터를 엔코딩하고 압축하기 위한 시스템 의 한 실시형태의 블록도가 도 5에 도시된다. 그래픽스 파이프라인의 기능적 블록들(301, 303, 305, 307 및 309)은 도 3에서 논의된 것과 같은 기능들을 수행한다. 비디오 엔코더(513)는 MPEG-1 엔코더, MPEG-2 엔코더, MPEG-4 엔코더 또는 시간 중복성을 이용한 다른 데이터 압축 엔코더일 수 있다.
모션 예측기(511)는 기능적 블록(309)로부터 렌더링된 픽셀 데이터의 프레임들, 기능적 블록(307)으로부터 이 프레임들 내에서 표현된 동적인 객체들의 정점들에 대한 뷰포트 좌표들 및 서치 영역 감지기(509)로부터 기준 프레임 내의 서치 영역의 뷰포트 좌표들을 수신한다. 모션 예측기(511)는 이 정보를 이용하여 기준 프레임과 관련하여 각각의 현재 프레임의 마크로 블록들에 대한 모션 벡터들을 계산하고 그리고 현재 비디오 프레임들을 압축하는 데에 사용하기 위한 비디오 엔코더(513)로 이 모션 벡터들을 전송한다. 모션 예측기(511)는 풀 서치 알고리즘, 계층적 서칭 알고리즘 또는 이하에서 논의된 방식으로 변형된 텔레스코픽 알고리즘과 같은, 모션 벡터들을 계산하기 위한 모션 예측 알고리즘을 실행한다. 비디오 엔코더(513)는 이 모션 벡터들과 렌더링된 비디오 프레임들을 기능적 블록(309)으로부터 수신하고 그리고 근거리 네트워크 또는 원거리 네트워크, 예를 들면, 인터넷이나 다른 전송 네트워크와 같은 네트워크를 통한 전송을 위한 압축된 비디오 데이터의 비트 스트림을 생성한다.
모션 예측기(511)는 압축될 현재 프레임의 각각의 마크로 블록과 기능적 블록(307)으로부터의 동적인 객체들의 정점들에 대한 뷰포트 좌표들을 검사한다. 정점 데이터가, 움직이는 객체가 마크로 블록 내에서 전체 혹은 부분적으로 표현됨을 가리킨다면, 마크로 블록에 대한 기준 프레임 내의 서치 영역은 서치 영역 감지기(509)로부터의 정보에 근거하여 정의된다. 기능적 블록(307)으로부터의 정점 데이터가, 움직이는 객체가 마크로 블록 내에서 표현되지 않음을 가리킨다면, 모션 예측기(511)는 기준 프레임 내의 서치 영역을 통상의 방법들에 근거하여 현재 프레임 내의 마크로 블록의 위치를 둘러싸는 영역으로서 정의한다.
서치 영역 감지기(509)는 각각 기능적 블록(301), 기능적 블록(305) 및 기능적 블록(307)으로부터 비디오 시뮬레이션, 객체들에 대한 2차원 투영면 좌표들 및 객체들에 대한 2차원 뷰포트 좌표들을 생성하는 데에 이용된 그래픽스 데이터의 데이터베이스 내에서 모델링된 모든 객체들의 정점들에 대한 변환된 3차원 월드 좌표들을 수신한다. 이 데이터를 이용하여, 서치 영역 감지기(509)는 위에서 논의된 것처럼 각각의 동적인 객체를 둘러싸는 적절한 서치 영역의 정점들에 대한 뷰포트 좌표들을 생성한다.
서치 영역 감지기(509), 모션 예측기(511) 및 비디오 엔코더(513)는 하드웨어, 소프트웨어 또는 2개의 조합으로서 이용될 수 있다. 예를 들면, 서치 영역 감지기(509), 모션 예측기(511) 및 비디오 엔코더(513)의 기능들은 마이크로프로세서, 회로 접속에 의한 디지털 회로, 주문형 집적 회로 또는 다른 디지털 회로들이나 소프트웨어와 같은 프로그래밍된 프로세서에 의해 이용될 수 있다. 이러한 장치들은 하나 이상의 반도체 칩들에 대한 집적 회로들로서 이용될 수 있다. 소프트웨어는 ROM, EPROM, EEPROM, 자기 디스크, 광 디스크 또는 다른 적합한 스토리지 미 디엄에 저장될 수 있다. 하드웨어와 소프트웨어는 게임 기계, 서버 컴퓨터, 데스크탑 컴퓨터, 핸드헬드 컴퓨터, 휴대용 컴퓨터, 셋톱 박스 또는 다른 컴퓨팅 장치의 부분이다. 컴퓨터 시스템은 독립형 장치이거나 인터넷과 같은 네트워크에 접속될 수 있다.
이상의 바람직한 실시형태들은 본 발명의 사상과 범위 내에서 다양한 변화들과 조합들이 가능하다. 이러한 바람직한 실시형태들의 설명은 본 발명을 제한하는 것이 아니라 예시적으로 이해되어야 한다. 본 발명의 범위는 다음의 청구범위에서 기술될 것이다.

Claims (59)

  1. 객체들을 모델링(modeling)하는 비디오 그래픽스 데이터(video graphics data)로부터 그래픽스 파이프라인(graphics pipeline)에서 상기 객체들에 대응하는 정점 데이터를 생성하는 단계;
    픽셀 데이터의 현재 프레임과 픽셀 데이터의 기준 프레임을 생성하기 위해 상기 비디오 그래픽스 데이터를 렌더링하는 단계;
    상기 정점 데이터에 근거하여, 상기 현재 프레임 이내의 한 블록(block)의 픽셀 데이터(pixel data)에 대한 모션 벡터(motion vector)를 계산하기 위해 상기 기준 프레임 이내의 탐색 영역을 정의하는 단계를 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 방법.
  2. 제 1 항에 있어서, 상기 객체들은 동적인 객체들을 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 방법.
  3. 제 2 항에 있어서, 상기 블록은 상기 동적인 객체들 중 하나의 적어도 일부분을 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 방법.
  4. 제 3 항에 있어서, 상기 기준 프레임 이내의 상기 하나의 동적인 객체에 대응하는 정점들의 뷰포트(viewport) 좌표들에 근거하여 상기 탐색 영역을 정의하는 단계를 더 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 방법.
  5. 제 3 항에 있어서, 상기 탐색 영역은 상기 기준 프레임 이내의 상기 하나의 동적인 객체를 둘러싸는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 방법.
  6. 제 5 항에 있어서, 상기 탐색 영역은 직사각형 모양인 것을 특징으로 하는 비디오 데이터를 압축하기 위한 방법.
  7. 제 1 항에 있어서, 상기 모션 벡터에 근거하여 상기 현재 프레임을 압축하는 단계를 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 방법.
  8. 제 7 항에 있어서, 상기 압축하는 단계는 MPEG 포맷에 따라 상기 현재 프레임을 압축하는 단계를 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 방법.
  9. 제 2 항에 있어서, 상기 현재 프레임 이내의 제 2 블록의 픽셀 데이터에 대한 모션 벡터를 계산하기 위한 제 2 탐색 영역을 정의하는 단계를 더 포함하고, 상기 제 2 블록은 상기 동적인 객체들을 포함하지 않고 그리고 상기 제 2 탐색 영역은 상기 정점 데이터에 대해 독립적으로 정의되는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 방법.
  10. 제 1 항에 있어서, 상기 그래픽스 파이프라인에서 상기 비디오 그래픽스 데이터에 대한 기하 변환을 수행하는 단계, 상기 비디오 그래픽스 데이터를 뷰 볼륨(view volume)에 대하여 클리핑하는 단계, 상기 비디오 그래픽스 데이터를 투영면에 투영하는 단계, 및 상기 비디오 그래픽스 데이터를 뷰포트(viewport)로 변환하는 단계를 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 방법.
  11. 제 1 항에 있어서, 상기 비디오 그래픽스 데이터는 비디오 게임과 관련된 것을 특징으로 하는 비디오 데이터를 압축하기 위한 방법.
  12. 제 1 항에 있어서, 네트워크를 거쳐 상기 현재 프레임과 상기 기준 프레임을 전송하는 단계를 더 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 방법.
  13. 제 12 항에 있어서, 상기 네트워크는 인터넷을 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 방법.
  14. 그래픽스 파이프라인에서 객체들을 모델링하는 비디오 그래픽스 데이터로부터 상기 객체들에 대응하는 정점 데이터를 생성하기 위한 수단;
    픽셀 데이터의 현재 프레임과 픽셀 데이터의 기준 프레임을 생성하기 위해 상기 비디오 그래픽스 데이터를 렌더링하기 위한 수단; 및
    상기 정점 데이터에 근거하여, 상기 현재 프레임 이내의 한 블록의 픽셀 데이터에 대한 모션 벡터를 계산하기 위해 상기 기준 프레임 이내의 탐색 영역을 정의하기 위한 수단을 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  15. 제 14 항에 있어서, 상기 객체들은 동적인 객체들을 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  16. 제 15 항에 있어서, 상기 블록은 상기 동적인 객체들 중 하나의 적어도 일부분을 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  17. 제 16 항에 있어서, 상기 기준 프레임 이내의 상기 하나의 동적인 객체에 대응하는 정점들의 뷰포트(viewport) 좌표들에 근거하여 상기 탐색 영역을 정의하기 위한 수단을 더 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  18. 제 16 항에 있어서, 상기 탐색 영역은 상기 기준 프레임 이내의 상기 하나의 동적인 객체를 둘러싸는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  19. 제 18 항에 있어서, 상기 탐색 영역은 직사각형 모양인것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  20. 제 14 항에 있어서, 상기 모션 벡터에 근거하여 상기 현재 프레임을 압축하기 위한 수단을 더 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  21. 제 20 항에 있어서, 상기 압축하기 위한 수단은 MPEG 포맷에 따라 상기 현재 프레임을 압축하기 위한 수단을 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  22. 제 15 항에 있어서, 상기 현재 프레임 이내의 제 2 블록의 픽셀 데이터에 대한 모션 벡터를 계산하기 위해 제 2 탐색 영역을 정의하기 위한 수단을 더 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  23. 제 14 항에 있어서, 상기 그래픽스 파이프라인에서 상기 비디오 그래픽스 데이터에 대한 기하 변환들을 수행하기 위한 수단들, 상기 비디오 그래픽스 데이터를 뷰 볼륨(view volume)에 대해 클리핑하기 위한 수단, 상기 비디오 그래픽스 데이터를 투영면에 투영하기 위한 수단, 및 상기 비디오 그래픽스 데이터를 뷰포트(viewport)로 변환하기 위한 수단을 더 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  24. 제 14 항에 있어서, 상기 비디오 그래픽스 데이터는 비디오 게임과 관련된 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  25. 제 14 항에 있어서, 네트워크를 거쳐 상기 현재 프레임과 상기 기준 프레임을 전송하기 위한 수단을 더 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  26. 제 25 항에 있어서, 상기 네트워크는 인터넷을 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  27. 그래픽스 파이프라인에서 객체들을 모델링하는 비디오 그래픽스 데이터로부터 상기 객체들에 대응하는 정점 데이터를 생성하고 그리고 픽셀 데이터의 현재 프레임과 픽셀 데이터의 기준 프레임을 생성하기 위해 상기 비디오 그래픽스 데이터를 렌더링할 수 있는 제 1 프로세서; 및
    상기 현재 프레임 이내의 한 블록의 픽셀 데이터에 대한 모션 벡터를 계산하기 위해 상기 정점 데이터에 근거하여 상기 기준 프레임 이내의 탐색 영역을 정의할 수 있는 제 2 프로세서를 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  28. 제 27 항에 있어서, 상기 객체들은 동적인 객체들을 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  29. 제 28 항에 있어서, 상기 블록은 상기 동적인 객체들 중 하나의 적어도 일부분을 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  30. 제 29 항에 있어서, 상기 제 2 프로세서는 상기 기준 프레임 이내의 상기 하나의 동적인 객체에 대응하는 정점들의 뷰포트(viewport) 좌표들에 근거하여 상기 탐색 영역 또한 정의할 수 있는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  31. 제 29 항에 있어서, 상기 탐색 영역은 상기 기준 프레임 이내의 상기 하나의 동적인 객체를 둘러싸는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  32. 제 31 항에 있어서, 상기 탐색 영역은 직사각형 모양인 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  33. 제 27 항에 있어서, 상기 제 2 프로세서는 상기 모션 벡터에 근거하여 상기 현재 프레임을 또한 압축할 수 있는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  34. 제 33 항에 있어서, 상기 제 2 프로세서는 MPEG 포맷에 따라 상기 현재 프레임을 또한 압축할 수 있는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  35. 제 28 항에 있어서, 상기 제 2 프로세서는 상기 현재 프레임 이내의 제 2 블록의 픽셀 데이터에 대한 모션 벡터를 계산하기 위한 제 2 탐색 영역을 또한 정의할 수 있고, 상기 제 2 블록은 상기 동적인 객체들을 포함하지 않고 그리고 상기 제 2 탐색 영역은 상기 정점 데이터에 대해 독립적으로 정의되는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  36. 제 27 항에 있어서, 상기 제1 프로세서는 그래픽스 파이프라인에서 상기 비디오 그래픽스 데이터에 대한 기하 변환을 수행할 수 있고, 상기 비디오 그래픽스 데이터를 뷰 볼륨(view volume)에 대하여 클리핑할 수 있고, 상기 비디오 그래픽스 데이터를 투영면에 투영할 수 있고, 그리고 상기 비디오 그래픽스 데이터를 뷰포트(viewport)로 변환할 수 있는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  37. 제 27 항에 있어서, 상기 비디오 그래픽스 데이터는 비디오 게임과 관련된 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  38. 제 27 항에 있어서, 상기 제 2 프로세서는 네트워크를 거쳐 상기 현재 프레임과 상기 기준 프레임을 또한 전송할 수 있는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  39. 제 38 항에 있어서, 상기 네트워크는 인터넷을 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  40. 제 27 항에 있어서, 상기 제 1 프로세서와 상기 제 2 프로세서는 스토리지 미디엄에 저장된 소프트웨어를 실행시키는 프로그램된 프로세서들을 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  41. 제 27 항에 있어서, 상기 제 1 프로세서와 상기 제 2 프로세서는 주문형 집적 회로를 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  42. 제 27 항에 있어서, 상기 제 1 프로세서와 상기 제 2 프로세서는 게임 기계에 내장되어 있는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  43. 제 27 항에 있어서, 상기 제 2 프로세서는 MPEG 엔코더를 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  44. 제 43 항에 있어서, 상기 제 1 프로세서는 스토리지 미디엄에 저장된 소프트웨어를 실행시키는 프로그램된 프로세서를 포함하는 것을 특징으로 하는 비디오 데어터를 압축하기 위한 시스템.
  45. 그래픽스 파이프라인으로부터 픽셀 데이터의 현재 프레임, 픽셀 데이터의 기준 프레임 및 상기 그래픽스 파이프라인에 의해 렌더링되는 객체들에 대응하는 정점 데이터를 수신할 수 있는 프로세서를 포함하는 비디오 데이터를 압축하기 위한 시스템에 있어서,
    상기 프로세서는 상기 정점 데이터에 근거하여 상기 기준 프레임 이내의 탐색 영역을 정의할 수 있고, 상기 현재 프레임 이내의 한 블록의 픽셀 데이터에 대한 모션 벡터를 계산할 수 있고, 그리고 상기 모션 벡터에 근거하여 상기 현재 프레임을 압축할 수 있는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  46. 제 45 항에 있어서, 상기 객체들은 동적인 객체들을 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  47. 제 46 항에 있어서, 상기 블록은 상기 동적인 객체들 중 하나의 적어도 일부분을 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  48. 제 47 항에 있어서, 상기 프로세서는 상기 기준 프레임 이내의 상기 하나의 동적인 객체에 대응하는 정점들의 뷰포트(viewport) 좌표들에 근거하여 상기 탐색 영역을 또한 정의할 수 있는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  49. 제 47 항에 있어서, 상기 탐색 영역은 상기 기준 프레임 이내의 상기 하나의 동적인 객체를 둘러싸는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  50. 제 49 항에 있어서, 상기 탐색 영역은 직사각형 모양인 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  51. 제 45 항에 있어서, 상기 프로세서는 MPEG 포맷에 따라 상기 현재 프레임을 또한 압축할 수 있는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  52. 제 46 항에 있어서, 상기 프로세서는 상기 현재 프레임 이내의 제 2 블록의 픽셀 데이터에 대한 모션 벡터를 계산하기 위해 제 2 탐색 영역을 또한 정의할 수 있고, 상기 제 2 블록은 상기 동적인 객체들을 포함하지 않고 그리고 상기 제 2 탐색 영역은 정점 데이터에 대해 독립적으로 정의되는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  53. 제 45 항에 있어서, 상기 비디오 데이터는 비디오 게임과 관련된 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  54. 제 45 항에 있어서, 상기 프로세서는 네트워크를 거쳐 상기 현재 프레임과 상기 기준 프레임을 또한 전송할 수 있는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  55. 제 54 항에 있어서, 상기 네트워크는 인터넷을 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  56. 제 45 항에 있어서, 상기 프로세서는 스토리지 미디엄에 저장된 소프트웨어를 실행하는 프로그램된 프로세서를 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  57. 제 45 항에 있어서, 상기 프로세서는 주문형 집적 회로를 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  58. 제 45 항에 있어서, 상기 프로세서는 게임 기계에 내장되어 있는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
  59. 제 45 항에 있어서, 상기 프로세서는 MPEG 엔코더를 포함하는 것을 특징으로 하는 비디오 데이터를 압축하기 위한 시스템.
KR1020047017558A 2002-06-11 2003-04-25 3차원 컴퓨터 그래픽스의 압축을 위한 시스템 및 방법 KR100938964B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/167,328 US7038676B2 (en) 2002-06-11 2002-06-11 System and method for data compression
US10/167,328 2002-06-11
PCT/JP2003/005294 WO2003105482A1 (en) 2002-06-11 2003-04-25 System and method for compression of 3d computer graphics

Publications (2)

Publication Number Publication Date
KR20050009993A KR20050009993A (ko) 2005-01-26
KR100938964B1 true KR100938964B1 (ko) 2010-01-26

Family

ID=29710869

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047017558A KR100938964B1 (ko) 2002-06-11 2003-04-25 3차원 컴퓨터 그래픽스의 압축을 위한 시스템 및 방법

Country Status (7)

Country Link
US (1) US7038676B2 (ko)
EP (2) EP1495641B8 (ko)
JP (1) JP2005523541A (ko)
KR (1) KR100938964B1 (ko)
CN (1) CN100581250C (ko)
AU (1) AU2003222458A1 (ko)
WO (1) WO2003105482A1 (ko)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6384819B1 (en) * 1997-10-15 2002-05-07 Electric Planet, Inc. System and method for generating an animatable character
JP4409956B2 (ja) 2002-03-01 2010-02-03 ティーファイヴ ラブズ リミテッド 集中型対話グラフィカルアプリケーションサーバ
US20040165776A1 (en) * 2002-09-20 2004-08-26 Albert-Jan Brouwer Means of matching 2D motion vector fields in a render, match, and refine iterative 3D scene model refinement system so as to attain directed hierarchical convergence and insensitivity to color, lighting, and textures
US9314691B2 (en) 2002-12-10 2016-04-19 Sony Computer Entertainment America Llc System and method for compressing video frames or portions thereof based on feedback information from a client device
US8549574B2 (en) * 2002-12-10 2013-10-01 Ol2, Inc. Method of combining linear content and interactive content compressed together as streaming interactive video
US9077991B2 (en) 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
US8526490B2 (en) 2002-12-10 2013-09-03 Ol2, Inc. System and method for video compression using feedback including data related to the successful receipt of video content
US20090118019A1 (en) 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
US8964830B2 (en) 2002-12-10 2015-02-24 Ol2, Inc. System and method for multi-stream video compression using multiple encoding formats
US8711923B2 (en) 2002-12-10 2014-04-29 Ol2, Inc. System and method for selecting a video encoding format based on feedback data
US8366552B2 (en) 2002-12-10 2013-02-05 Ol2, Inc. System and method for multi-stream video compression
US9108107B2 (en) 2002-12-10 2015-08-18 Sony Computer Entertainment America Llc Hosting and broadcasting virtual events using streaming interactive video
US9192859B2 (en) 2002-12-10 2015-11-24 Sony Computer Entertainment America Llc System and method for compressing video based on latency measurements and other feedback
US9138644B2 (en) 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
US9061207B2 (en) 2002-12-10 2015-06-23 Sony Computer Entertainment America Llc Temporary decoder apparatus and method
US9446305B2 (en) 2002-12-10 2016-09-20 Sony Interactive Entertainment America Llc System and method for improving the graphics performance of hosted applications
US10201760B2 (en) 2002-12-10 2019-02-12 Sony Interactive Entertainment America Llc System and method for compressing video based on detected intraframe motion
KR100508975B1 (ko) * 2003-05-20 2005-08-17 주식회사 팬택 다층 레벨 연속 제거 알고리즘을 이용한 동영상 움직임추정 방법
DE60325954D1 (de) * 2003-07-07 2009-03-12 St Microelectronics Srl Graphisches System mit einer Graphikdatenpipeline, Verfahren zur Pipeline-Verarbeitung und Computerprogrammprodukt
US8059133B2 (en) 2004-05-03 2011-11-15 Trident Microsystems (Far East) Ltd. Graphics pipeline for rendering graphics
US8001294B2 (en) * 2004-09-28 2011-08-16 Sony Computer Entertainment Inc. Methods and apparatus for providing a compressed network in a multi-processing system
US20060230428A1 (en) * 2005-04-11 2006-10-12 Rob Craig Multi-player video game system
WO2007008356A1 (en) * 2005-07-08 2007-01-18 Tag Networks, Inc. Video game system using pre-encoded macro-blocks
US8118676B2 (en) * 2005-07-08 2012-02-21 Activevideo Networks, Inc. Video game system using pre-encoded macro-blocks
US8270439B2 (en) * 2005-07-08 2012-09-18 Activevideo Networks, Inc. Video game system using pre-encoded digital audio mixing
US9061206B2 (en) * 2005-07-08 2015-06-23 Activevideo Networks, Inc. Video game system using pre-generated motion vectors
US9060101B2 (en) * 2005-07-08 2015-06-16 Activevideo Networks, Inc. Video game system having an infinite playing field
US8284842B2 (en) 2005-07-08 2012-10-09 Activevideo Networks, Inc. Video game system using pre-encoded macro-blocks and a reference grid
US8074248B2 (en) 2005-07-26 2011-12-06 Activevideo Networks, Inc. System and method for providing video content associated with a source image to a television in a communication network
US8069466B2 (en) * 2005-08-04 2011-11-29 Nds Limited Advanced digital TV system
KR100657402B1 (ko) 2006-04-19 2006-12-14 (주)디지탈아리아 유체동역학을 이용하여 이동통신 단말기의 사용자인터페이스용 이펙트를 구현하는 방법
US8888592B1 (en) 2009-06-01 2014-11-18 Sony Computer Entertainment America Llc Voice overlay
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
WO2008088772A2 (en) 2007-01-12 2008-07-24 Ictv, Inc. Mpeg objects and systems and methods for using mpeg objects
KR100919236B1 (ko) * 2007-05-22 2009-09-30 한국전자통신연구원 병렬 프로세서를 이용한 3차원 그래픽 기하 변환 방법
US9168457B2 (en) 2010-09-14 2015-10-27 Sony Computer Entertainment America Llc System and method for retaining system state
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
US8147339B1 (en) 2007-12-15 2012-04-03 Gaikai Inc. Systems and methods of serving game video
US8968087B1 (en) 2009-06-01 2015-03-03 Sony Computer Entertainment America Llc Video game overlay
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
JP5517436B2 (ja) * 2008-10-31 2014-06-11 キヤノン株式会社 動きベクトル検出装置及びプログラム
US8840476B2 (en) 2008-12-15 2014-09-23 Sony Computer Entertainment America Llc Dual-mode program execution
US8926435B2 (en) 2008-12-15 2015-01-06 Sony Computer Entertainment America Llc Dual-mode program execution
US8506402B2 (en) 2009-06-01 2013-08-13 Sony Computer Entertainment America Llc Game execution environments
US8194862B2 (en) * 2009-07-31 2012-06-05 Activevideo Networks, Inc. Video game system with mixing of independent pre-encoded digital audio bitstreams
EP2384001A1 (en) * 2010-04-29 2011-11-02 Alcatel Lucent Providing of encoded video applications in a network environment
US8676591B1 (en) 2010-08-02 2014-03-18 Sony Computer Entertainment America Llc Audio deceleration
US20120050315A1 (en) * 2010-08-24 2012-03-01 Janos Stone Systems and methods for transforming and/or generating a tangible physical structure based on user input information
US10039978B2 (en) 2010-09-13 2018-08-07 Sony Interactive Entertainment America Llc Add-on management systems
WO2012051528A2 (en) 2010-10-14 2012-04-19 Activevideo Networks, Inc. Streaming digital video between video devices using a cable television system
WO2012078640A2 (en) * 2010-12-06 2012-06-14 The Regents Of The University Of California Rendering and encoding adaptation to address computation and network bandwidth constraints
EP2695388B1 (en) 2011-04-07 2017-06-07 ActiveVideo Networks, Inc. Reduction of latency in video distribution networks using adaptive bit rates
US8913664B2 (en) * 2011-09-16 2014-12-16 Sony Computer Entertainment Inc. Three-dimensional motion mapping for cloud gaming
US10409445B2 (en) 2012-01-09 2019-09-10 Activevideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
US9800945B2 (en) 2012-04-03 2017-10-24 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
US9123084B2 (en) 2012-04-12 2015-09-01 Activevideo Networks, Inc. Graphical application integration with MPEG objects
US10275128B2 (en) 2013-03-15 2019-04-30 Activevideo Networks, Inc. Multiple-mode system and method for providing user selectable video content
US9219922B2 (en) 2013-06-06 2015-12-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9294785B2 (en) 2013-06-06 2016-03-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9326047B2 (en) 2013-06-06 2016-04-26 Activevideo Networks, Inc. Overlay rendering of user interface onto source video
US9788029B2 (en) 2014-04-25 2017-10-10 Activevideo Networks, Inc. Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks
US9769494B2 (en) * 2014-08-01 2017-09-19 Ati Technologies Ulc Adaptive search window positioning for video encoding
US10147226B1 (en) * 2016-03-08 2018-12-04 Pixelworks, Inc. 2D motion vectors from 3D model data
US10602174B2 (en) 2016-08-04 2020-03-24 Intel Corporation Lossless pixel compression for random video memory access
US10715818B2 (en) * 2016-08-04 2020-07-14 Intel Corporation Techniques for hardware video encoding
EP3301643A1 (en) * 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for rectified motion compensation for omnidirectional videos
US10291925B2 (en) 2017-07-28 2019-05-14 Intel Corporation Techniques for hardware video encoding
US10834413B2 (en) * 2018-08-24 2020-11-10 Disney Enterprises, Inc. Fast and accurate block matching for computer generated content
US11025913B2 (en) 2019-03-01 2021-06-01 Intel Corporation Encoding video using palette prediction and intra-block copy
US10855983B2 (en) 2019-06-13 2020-12-01 Intel Corporation Encoding video using two-stage intra search
CN112203095B (zh) * 2020-12-04 2021-03-09 腾讯科技(深圳)有限公司 视频运动估计方法、装置、设备及计算机可读存储介质
CN113010281B (zh) * 2021-02-24 2024-04-02 厦门树冠科技有限公司 多相机检测系统的线程处理方法、装置、存储介质和终端
US20230004533A1 (en) * 2021-07-01 2023-01-05 Microsoft Technology Licensing, Llc Hybrid intermediate stream format

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305895A (ja) * 1995-04-28 1996-11-22 Matsushita Electric Ind Co Ltd 動きベクトル検出方法および装置と動画像符号化方法および装置
US5786860A (en) * 1994-07-30 1998-07-28 Korean Advanced Institute Of Science And Technology High speed block matching for bi-directional motion vector estimation

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970002967B1 (ko) * 1993-04-09 1997-03-13 대우전자 주식회사 영역 분류패턴을 이용한 움직임벡터 검출장치
CA2144253C (en) * 1994-04-01 1999-09-21 Bruce F. Naylor System and method of generating compressed video graphics images
US5896176A (en) * 1995-10-27 1999-04-20 Texas Instruments Incorporated Content-based video compression
JP2000102007A (ja) * 1998-09-28 2000-04-07 Matsushita Electric Ind Co Ltd マルチメディア情報合成装置、及び圧縮映像信号生成装置
KR100415266B1 (ko) * 2000-05-11 2004-01-16 가부시끼가이샤 도시바 물체영역정보 기술방법과 물체영역정보 생성장치 및 기록매체
CN1156168C (zh) * 2001-01-12 2004-06-30 北京航空航天大学 快速视频运动估计方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5786860A (en) * 1994-07-30 1998-07-28 Korean Advanced Institute Of Science And Technology High speed block matching for bi-directional motion vector estimation
JPH08305895A (ja) * 1995-04-28 1996-11-22 Matsushita Electric Ind Co Ltd 動きベクトル検出方法および装置と動画像符号化方法および装置

Also Published As

Publication number Publication date
CN100581250C (zh) 2010-01-13
CN1659888A (zh) 2005-08-24
EP3043320B1 (en) 2021-11-17
JP2005523541A (ja) 2005-08-04
EP3043320A1 (en) 2016-07-13
KR20050009993A (ko) 2005-01-26
WO2003105482A1 (en) 2003-12-18
US20030229719A1 (en) 2003-12-11
EP1495641A1 (en) 2005-01-12
EP1495641B1 (en) 2016-05-11
US7038676B2 (en) 2006-05-02
AU2003222458A1 (en) 2003-12-22
EP1495641B8 (en) 2016-09-14

Similar Documents

Publication Publication Date Title
KR100938964B1 (ko) 3차원 컴퓨터 그래픽스의 압축을 위한 시스템 및 방법
KR100361398B1 (ko) 압축비디오그래픽영상을생성하는시스템및방법,그리고이를사용한중앙집중식대화형그래픽시스템
Lee et al. GROOT: a real-time streaming system of high-fidelity volumetric videos
Briceño Pulido Geometry videos: a new representation for 3D animations
TWI678915B (zh) 一種視訊編解碼的方法及裝置
JP5775051B2 (ja) プログラム、情報処理装置及び制御方法
JP4004408B2 (ja) ビデオ情報圧縮方法
US8913664B2 (en) Three-dimensional motion mapping for cloud gaming
US8331435B2 (en) Compression system, program and method
KR101536501B1 (ko) 동화상 배포 서버, 동화상 재생 장치, 제어 방법, 기록 매체, 및 동화상 배포 시스템
Moezzi et al. Immersive video
CN109792536A (zh) 用于编码和解码全向视频的方法和装置
EP3662660A1 (en) System and method for compressing and decompressing time-varying surface data of a 3-dimensional object using a video codec
Saito et al. View interpolation of multiple cameras based on projective geometry
Inamoto et al. Free viewpoint video synthesis and presentation of sporting events for mixed reality entertainment
JP2000261808A (ja) 画像符号化方法、画像復号化方法、および観測系動き推定方法とその装置
Mihalik et al. 3D motion estimation and texturing of human head model
TW202338738A (zh) 視訊信號及其處理
EP3703013A1 (en) Apparatus and method of generating an image signal
Nicolas et al. Interactive modifications of video object trajectories in natural video sequences for post-production applications
Pulido Geometry videos: A new representation for 3D animations
Sakagawa et al. Data compression and hardware implementation of ray-space rendering for interactive augmented virtuality
Kuriakin et al. MPEG-4 Synthetic Video in real implementation
Penta Depth Image Representation for Image Based Rendering

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: 20130111

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140107

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150105

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161221

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180104

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20200107

Year of fee payment: 11