KR20070088609A - 일시적 가변 그래픽 모델을 나타내는 데이터 스트림에 대한코딩 방법 - Google Patents

일시적 가변 그래픽 모델을 나타내는 데이터 스트림에 대한코딩 방법 Download PDF

Info

Publication number
KR20070088609A
KR20070088609A KR1020077008053A KR20077008053A KR20070088609A KR 20070088609 A KR20070088609 A KR 20070088609A KR 1020077008053 A KR1020077008053 A KR 1020077008053A KR 20077008053 A KR20077008053 A KR 20077008053A KR 20070088609 A KR20070088609 A KR 20070088609A
Authority
KR
South Korea
Prior art keywords
prediction error
error vector
data
data portion
prediction
Prior art date
Application number
KR1020077008053A
Other languages
English (en)
Other versions
KR100891375B1 (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 KR20070088609A publication Critical patent/KR20070088609A/ko
Application granted granted Critical
Publication of KR100891375B1 publication Critical patent/KR100891375B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

본 발명은 압축 이득을 높일 수 있고 즉 동일한 비트율에서 동일한 품질로 또는 더 낳은 품질로 비트율을 절감할 수 있는 일시적 가변 그래픽 모델을 나타내는 데이터 스트림을 인코딩/디코딩하는 코딩 방법을 제공한다. 본 발명에서는 다른 예측 스테이지, 즉 제 1 예측 스테이지의 예측 에러 또는 동작 벡터의 예측이 실제로 먼저 인코딩 및/또는 압축 효율을 증가시키고, 대응적으로 디코딩 및/또는 해제 효율이 증가하는데, 이 예측은 동작의 획일성에 기인하는 대부분의 그래픽 모델 시퀀스에서의 효율과 관련하여서는 압축 이득이 충분히 향상된다. 예측 에러 벡터의 예측, 즉 제 2 예측 스테이지는 일시 예측 및/또는 공간 예측을 포함할 수 있다.
압축 이득,가변 그래픽 모델, 인코딩, 디코딩, 예측 스테이지, 예측 에러, 동작 벡터, 압축 효율, 동작의 획일성

Description

일시적 가변 그래픽 모델을 나타내는 데이터 스트림에 대한 코딩 방법{CODING SCHEME FOR A DATA STREAM REPRESENTING A TEMPORALLY VARYING GRAPHICS MODEL}
본 발명은 일시적 가변 그래픽 모델을 나타내는 데이터 스트림을 인코딩/디코딩하는 것에 관한 것으로, 특히 그 그래픽 모델 데이터의 압축에 관한 것이다.
일시적 가변 3D 컴퓨터 그래픽 모델은 오늘날 표준 컴퓨터 그래픽에서 광범위하게 적용되는 것을 알 수 있다. 예를 들면 3D 컴퓨터 그래픽 모델은 게임, 가상 세계, 만화 제작 등에서뿐만 아니라 FVV(Free Viewpoint Video) 또는 3DVO(3D Video Object)라는 최근 시스템에 적용되는 것을 알 수 있다.
3D 컴퓨터 그래픽 모델은 가상 3D 좌표 시스템에서 3D 오브젝트의 표면을 나타낸다. 이를 위해서, 상기 표면상에 있는 또는 표면을 따라 배치된 임의의 수의 제어 포인트 또는 정점의 3D 좌표(x, y, z)가 규정된다. 연속 면은 파라미터 화의 각종 다른 접근 방법에 의해서 규정된다. 다각형 메시(polygon mesh)라고 하는 파라미터 화에서는, 예를 들면 3D 오브젝트의 표면 형상이 다각형으로 규정되고, 그 코너 포인트는 제어 포인트를 형성한다. 오브젝트의 기술(설명, 표현등의 의미)을 위해, 연결성의 지정, 즉 임의의 제어 포인트에 대한 지정이 각각 다각형으로 간략 화되며, 본 발명이 여기에 속한다. 그 다음 완성된 3D 오브젝트는 컬러, 텍스쳐(기질, 표면 질감의 표현) 및 리플렉션과 같은 다른 형태의 연관에 의해 전개된다. 사용되는 표면 파라미터 화에 따라, 이들 특징들이 포인트 표시와 연결성을 가지고 또는 직접적으로 연관된다.
따라서, 3D 기하학적 구조의 통상의 표시는 이들의 연결성의 지정 있든 없든 리스트에서의 제어 포인트의 3D 좌표 지정이 된다. 예를 들면, 삼각형 메시에 대한 상술한 다각형 연결의 경우에, 대응하는 리스트 번호에 각각 세 개의 제어 포인트가 삼각형을 형성하고, 이는 리스트로 재차 간략화된다. 3D 좌표는 플로팅 포인트 또는 정수값으로 나타낼 수도 있다. 이 연결은 정수 값, 즉 대응하는 제어 포인트가 리스트에 배열되어 있는 리스트 번호의 지정으로 이루어진다.
가변 시스템과 애플리케이션 사이에 3D 기하학적 구조를 교환 및 전송하기 위해서는, VRML(virtual reality modeling language)와 같은 특정 텍스트 형식을 사용하는 것이 바람직한데, 그 이유는 수신 측에서 3D 데이터를 파싱(parsing)할 수 있기 때문이다.
또한, 무엇보다도, 데이터 전송률을 향상시키고 요구되는 메모리 공간을 줄이기 위해서는 3D 기하학적 구조에 대한 데이터의 요구량을 줄이는 것이 바람직하다. 이는 특정 압축 방법이 채용되면 가능하다. 이 때문에, MPEG-4 표준에서, 스태틱 오브젝트의 3D 기하학적 구조를 코딩하는 방법이 표준화되어 있고 3DMC(3D mesh coding)라고 한다. 3DMC는 30 내지 40 폴드 압축(fold compression)과 달리, 유효 텍스트 형식이 아닌, 전송 기능을 향상시킨 이진 형식(binary format)이다.
그러나 다수의 애플리케이션에서, 동적, 즉 일시적 가변 3D 모델이 사용되고 있다. 표준 컴퓨터 그래픽에서, 이들은 시간 순간 각각에 대하여 자주 모델을 새롭게 설정해야 하는 연산자를 가진 애니메이션으로 발전 되었다. 가장 최근 FVV 또는 3DVO의 방법에서는, 동적 모델이 일부 카메라에 의해서 기록되는 실제 피사체의 3D 동작의 재구성으로 발전 되었다. 기본적으로, 동적 3D 모델의 두 경우 사이에 식별이 가능하다. 전자의 경우, 토폴러지에 제어 포인트 또는 정점의 수가 존재하고, 연결이 시간에 대하여 일정하다. 제어 포인트의 3D 위치만 변경된다. 후자의 경우가 일반적인데 이 경우도 역시 토폴러지에서의 변경이 용인될 수 있다.
일부의 경우에는, 일시적 변경이 애니메이션으로 기술될 수 있다. 즉 잠재 물리적 동작 모델에 의해서 변경을 기술할 수 있다. 이에 대한 예는 MPEG-4에 이미 표준화된 사람 얼굴과 몸의 애니메이션, 즉 소위 FBA(face and body animation)에 의한 것이 개시되어 있다. 이러한 애니메이션 모델은 일반적인 경우에 전송이 불가능한데, 다시 말하면, 이들은 특정 동작 시퀀스 및/또는 얼굴 등의 특정 오브젝트로 제한되어 있는 단점이 있다. 각 시간 순간 동안 애니메이션 모델이 존재하지 않으면, 오히려 제어 포인트의 새로운 3D 모델 또는 새로운 메시가 전송됨으로써 각 시간 순간 동안 MPEG-4 3DMC에 대하여 코딩이 이루어지지만, 매시간 순간에서 동일한 오브젝트가 동작되기 때문에, 여전히 데이터는 더 압축이 필요한 많은 양의 일시적 잉여분을 포함하고 있게 된다.
"J. Zhang and C.B. Cwen, 'Octree-based Animated Geometry Compression', DCC'04, Data Compresssion Conference, Snowbird, Utah, USA, pages 508-517, March 23-25, 2004"에 일시적 가변 3D 모델을 코딩하는 방법이 개시되어 있고, 여기서 일시적 변경은 제어 포인트의 예측, 예측 에러 또는 동작 벡터의 양자화, 및 동작 벡터의 그룹으로 간략화로 기술되어 진다. 압축, 즉 비트율의 절감은 DPCM(differential pulse code modulation)의 일반적인 원리를 따라 이루어진다. 이 방식에서는, 심지어 더 충분한 압축 이득, 즉 동일한 비트율에서 동일한 품질 또는 더 낳은 품질로의 비트율 절감이 3DMC에 비해 동적 모델에 대하여 얻어질 수 있다.
매우 다른 분야의 애플리케이션에서 3D 모델의 채용이 증가하고 있으며, 또한 동적 모델의 향상된 압축을 위한 더 유효한 코딩 방법의 필요성도 증가하고 있다.
본 발명의 목적은 압축 이득을 높일 수 있고, 즉 동일한 비트율에서 동일한 품질로 또는 더 낳은 품질로 비트율을 절감할 수 있는 일시적 가변 그래픽 모델을 나타내는 데이터 스트림을 인코딩/디코딩하는 코딩 방법을 제공하는 데 있다.
본 발명의 상기 목적은 청구범위 제 1 항 또는 제 12 항의 장치에 의해서 그리고 청구항 제 19 항 또는 제 20 항의 방법에 의해서 성취될 수 있다.
본 발명에 따르면, 일시적 가변 그래픽 모델을 나타내며 차동 시간 순간에서 그래픽 모델을 규정하는 좌표 데이터를 갖는 일련의 데이터 부분(data portions)을 포함하는 데이터 스트림을 인코딩하고, 현재 인코딩될 제 1 데이터 부분의 좌표 데이터를 현재 인코딩될 제 1 데이터 부분을 선행하는 제 2 데이터 부분의 좌표 데이터를 기초하여 예측함으로써, 제 1 데이터 부분에 대한 예측 좌표 데이터를 얻고, 제 1 데이터 부분에 대한 예측 좌표 데이터와 제 1 데이터 부분에 대한 좌표 데이터를 비교함으로써, 현재 인코딩될 제 1 데이터 부분에 대한 예측 에러 벡터를 얻는 것을 포함한다. 그 다음 제 2 예측이 이루어지며, 즉 제 1 데이터 부분에 대한 예측 에러 벡터를, 이미 얻어진 예측 에러 벡터를 기초하여 예측함으로써, 제 1 데이터 부분에 대한 예측된 예측 에러 벡터를 얻고, 제 1 데이터 부분에 대한 예측된 예측 에러 벡터와 제 1 데이터 부분에 대한 예측 에러 벡터가 서로 비교되어, 제 1 데이터 부분에 대한 예측 에러 벡터 차분이 얻어진다. 이 예측 에러 벡터 차분은 인코딩된 데이터 스트림의 부분을 얻도록 처리된다.
대응적으로, 디코딩이 역 방식으로 이루어진다. 상기 데이터 스트림의 인코딩된 형태를 나타내며 인코딩된 예측 에러 벡터 차분을 포함하는 인코딩 데이터 스트림이 인코딩 데이터 스트림을 먼저 처리함으로써 인코딩되고, 이에 의해 디코딩된 예측 에러 벡터 차분이 얻어진다. 현재 디코딩될 제 1 데이터 부분에 대한 예측 에러 벡터는 이미 디코딩된 예측 에러 벡터 차분을 기초하여 예측되고, 이에 의해 제 1 데이터 부분에 대한 예측된 예측 에러 벡터가 얻어진다. 이 예측된 예측 에러 벡터와 현재 디코딩될 제 1 데이터 부분의 예측 에러 벡터 차분이 결합되고, 이에 의해서 제 1 데이터 부분에 대한 예측 에러 벡터가 얻어진다. 그 다음 제 2 예측이 이루어지며, 즉 제 1 데이터 부분의 좌표 데이터를, 제 1 데이터 부분을 선행하는 제 2 데이터 부분의 좌표 데이터에 기초하여 예측함으로써, 제 1 데이터 부분에 대한 예측된 좌표 데이터가 얻어지고, 제 1 데이터 부분에 대한 예측된 좌표 데이터가 제 1 데이터 부분에 대한 예측 에러 벡터와 결합되고, 이에 의해서 현재 디코딩될 제 1 데이터 부분의 좌표 데이터가 얻어진다.
본 발명에는 다른 예측 스테이지, 즉 제 1 예측 스테이지의 예측 에러 또는 동작 벡터의 예측이 소개되어 있는 것을 알 수 있는데, 실제로 먼저 인코딩 및/또는 압축 효율을 증가시키고, 대응적으로 디코딩 및/또는 해제 효율이 증가하지만, 이 예측은 동작의 획일성에 기인하는 대부분의 그래픽 모델 시퀀스에서의 효율과 관련하여서는 압축 이득이 충분히 향상된다.
예측 에러 벡터의 예측, 즉 제 2 예측 스테이지는 일시 예측 및/또는 공간 예측을 포함할 수 있다. 특히, 현재 인코딩될 데이터 부분의 예측 에러 벡터의 예측을 위하여, 현재 인코딩될 데이터 부분을 선행하는 데이터 부분에 대한 예측 에러 벡터와 현재 인코딩될 데이터 부분에 대한 예측 에러 벡터 둘 다가 사용될 수 있으며, 물론 이들이 이미 존재하는 경우에만 사용된다.
특정 실시예에 따르면, 예측 데이터 부분의 예측 에러 벡터에 기초한 예측 에러 벡터의 일시적 예측을 위해, 동일한 좌표 정보 및/또는 동일한 제어 포인트에 대한 동작 벡터를 나타내는 데이터 부분의 예측 에러 벡터가 사용된다.
동일한 데이터 부분의 이미 얻어진 예측 에러 벡터에 기초한 예측 에러 벡터의 공간적 예측의 경우, 예측될 것에 근접한 예측 에러 벡터가 사용되는 예측에 대하여는 데이터 스트림에서의 연결 및/또는 이웃 정보에 기초하거나 기하학적 분석에 의해 결정된다.
예측될 예측 에러 벡터에 유용한 예측된 예측 에러 벡터 또는 일부 일시적/공간적 예측기가 있는 경우, 예를 들면, 예측된 예측 에러 벡터가 모든 이들 예측기의 중간값에 기초하여 결정된다.
본 발명의 특정 실시예에 따르면, 예측 에러 벡터 차분이 여전히 클러스터링되고 다음 스케일링/양자화되어 비트율이 감소된다.
본 발명의 특정 실시예에 따르면, 예측 에러 벡터 차분이 최종적으로 이치적으로 산술적으로 코딩된다. 이를 위해, 이들은 먼저 이진화되고, 즉 이진 판정되고 빈(bin) 또는 빈 시리즈(bin series)가 된다. 빈 시리즈는 이치적으로 산술적으로 빈 또는 비트-와이즈 방식으로 코딩된다. 이진 산술적 코딩은 적응 확률 추정 및/또는 스태틱 확률 추정에 기초하여 이루어진다. 또한, 환경 모델(context model)을 채용하는 것, 즉 서로로부터의 분리 방식으로 이진화의 비트 또는 다른 비트에 대하여 확률 추정의 적응을 수행하는 것이 가능하다.
이진 산술적 코딩의 노력을 제한하면서 가능한 한 압축률을 높게 유지하기 위해서, 본 발명의 특정 실시예에 따르면, 두 개의 상이한 이진화 방법에 기초하여 수행되고, 첫 번째 이진화 방법은 이진화될 데이터가 소정의 임계값보다 작은 경우 배타적으로 애플리케이션을 발견하고, 그리고 그 데이터가 임계값보다 큰 경우, 첫 번째 이진화 방법이 임계값에 적용되어 프리픽스가 얻어지고, 두 번째 이진화 방법이 이진화될 나머지 데이터에 사용된다. 즉, 먼저 프리픽스만으로 이루어진 첫 번째 경우, 그리고 프리픽스와 서픽스 둘 다에 의한 두 번째 경우의 이진화이다. 특정 실시예에 따르면, 프리픽스의 비트는 그 다음 필요하다면 환경 모델링 하에서, 적응 확률 모델에 의해, 즉 개별 비트에 대한 다른 적응 확률 추정에 의해 이치적으로 적응적으로 인코딩되고, 서픽스의 비트는 스태틱 확률 추정에 의해 이치적으로 산술적으로 인코딩된다. 이는 예측 에러 벡터 차분에 대한 이진화 방법의 적절한 선택에 의해 산술적 코딩에 대한 계산 노력을 줄이고 압축률 손실을 최소로 한다.
이하 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 인코더의 블록 회로도.
도 2는 다각형 메시의 개략도.
도 3은 도 1의 클러스터 형성 수단의 블록 회로도.
도 4는 도 1에서의 산술 코더의 개략 블록 회로도.
도 5는 도 4의 이진 수단의 기능을 설명한 흐름도.
도 6은 도 5에 따른 이진화 결과의 예시적 설명을 위한 표.
도 7은 도 4의 이진 산술적 코딩 수단의 기능을 나타내는 흐름도.
도 8은 본 발명의 실시예에 따른 도 1의 인코더에 의해서 생성되는 데이터 스트림을 디코딩하는데 적합한 디코더의 블록 회로도.
도 1은 본 발명의 실시예에 따른 일시 가변 그래픽 모델을 나타내는 데이터 스트림을 인코딩하는 인코더를 나타낸 도면이다. 도면 참조 부호 2로 나타낸 인코더는 인코딩될 데이터 스트림을 수신하는 입력(12)과 인코딩된 데이터 스트림을 출 력하는 출력(14)을 포함한다. 내부적으로, 인코더(10)는 입력(12)과 스위치(20)의 제 1 입력 사이로 연장하는 인트라 인코딩 경로(18)에 연결된 인트라 인코딩 수단(16)을 포함한다. 인코더(10)의 나머지 부분(24)이 연결되며 인터 인코딩 부분을 나타내는 인트라 경로(18)에, 병렬로 지나가는 인터 인코딩 경로(22)에서, 인코더(10)의 부분은 이전 시간 순간에 대한 데이터 스트림의 이전 부분과 별개의 시간 순간에 관련한 그래픽 모델의 위치의 인코딩을 수행하며, 이와 반대로 인트라 인코딩 수단(16)은 다른 시간 순간에 대한 데이터 스트림의 상기 부분에 별개의 시간 순간에서 그래픽 모델의 위치의 인코딩을 행한다.
인터 인코딩 부분(24)은 두 개의 인터리브 DPCM 루프, 즉 입력(12)에서의 데이터 스트림에서의 제어 포인트 또는 정점(vertices)의 예측에 사용되는 외부 루프(26)와 외부 루프(26)의 예측 오류 및/또는 시프트 벡터의 예측을 담당하는 내부 루프(28)로 이루어진다.
내부 루프(28)는 비교기, 즉 미분 형성 수단 또는 미분기(30), 결합기, 즉 가산 수단 또는 가산기(32), 클러스터 형성 수단(34), 스케일링/양자화 수단(36), 스케일링/양자화 수단(36)의 대응부로서 역 스케일링 수단(38), 클러스터 생성 수단(34)에 대응부로서 역 클러스터 형성 수단 또는 클러스터 결정 수단(40: cluster resolution means), 일시간 또는 공간 예측을 위한 예측 수단(42) 및 스위치(44)를 포함한다.
외측 루프(26)는 내부 루프(28)와 구성 요소(30 ~ 40)가 겹치고, 이에 부가하여, 비교기 또는 보상 수단, 즉 미분기(46), 및 결합기 또는 결합 수단, 즉 가산 기(48), 뿐만 아니라 메모리 또는 메시(mesh) 메모리(50) 및 스위치(52)를 포함한다.
내부 인코딩부(24)는 산술적 코딩을 위한 인코딩 수단(56)뿐만 아니라 인트라/인터 스위치에 대한 제어 수단(54)을 더 포함한다.
이들 구성 요소의 내부 접속과 관련하여, 미분기(46), 미분기(30), 클러스터 형성 수단(34), 스케일링/양자화 수단(36) 및 인코딩 수단(56)은 입력(12)과 스위치(20) 사이의 인터 인코딩 경로(22)에 직렬로 연결된다. 스위치(20)는 제어 수단(54)에 의해서 제어가능하여, 인트라 경로(18) 또는 인터 경로(22) 중 하나를 출력(14)에 제어 용이하게 연결시킨다.
스케일링/양자화 수단(36)의 출력과 인코딩 수단(56)의 입력 사이에, 역 스케일링 수단(38), 역 클러스터 형성 수단(40) 및 가산기(32)의 일련의 접속 형태로 분기된다. 특히, 가산기(32)의 제 1 출력은 역 클러스터 형성 수단(40)의 출력에 연결되고, 이때 가산기(32)의 출력은 내부 루프(28)의 예측 수단(42)의 입력에 연결된다. 스위치(44)는 두 개의 입력을 포함하고, 즉 하나는 예측 수단(42)의 출력에 연결되고, 다른 하나는 시프트 벡터에 대한 예측 교환으로서 논리 제로가 나타난다. 스위치(44)는 제어 수단(54)에 의해서 제어되고, 동일한 것을 예측 수단(42)의 출력 또는 논리 제로를 미분기(30)의 반전 입력에 인가할 수 있다. 비반전 입력을 갖는 미분기(30)가 미분기(46)의 출력에 연결된다. 스위치(44)의 출력은 미분기(30)의 반전 입력에 연결될 뿐만 아니라 가산기(32)의 다른 입력에도 연결된다.
가산기(32)의 출력은 가산기(48)의 입력에 또한 연결되고, 다음에 그 출력은 메모리(50)의 입력에 연결된다. 스위치(52)는 두 개의 입력을 포함하는데, 하나는 메모리(50)의 출력에 연결되고, 다른 하나는 예측된 제어 포인트에 대한 교환으로서 논리 제로가 나타나는 단자에 연결된다. 스위치(52)는 제어 수단(54)에 의해서 제어되고, 이는 논리 제로 또는 메모리(50)의 내용을 미분기(46)의 반전 입력 및 가산기(48)의 다른 입력에 인가할 수 있다. 미분기(46)의 비반전 입력은 인터 경로(22)를 통해 입력(12)에 연결된다.
이하 인코더(10)의 구조를 상세히 설명한 후에 그 기능을 설명한다.
입력(12)에서 들어오는 데이터 스트림은 일시적 가변 그래픽 모델을 나타낸다. 즉, 인커밍 데이터 스트림은 미분 시간 순간에서 그래픽 모델을 규정하는 좌표 데이터 또는 제어 포인트를 갖는 일련의 데이터 부분으로 이루어진다. 이는 제어 포인트로부터 최종적으로 모델의 표면을 어떻게 규정하는지에 따른 기본적 파라미터 화에 달려 있다. 파라미터 화에 따라, 이들 사이의 관계를 결정하고 모델의 파라미터 화 또는 완전 결정을 위해 요구되는 연결 정보가 또한 제어 포인트와 연관된다.
실제로는 파라미터 화의 다른 접근 방법이 있다. 그러나 이하에서는 파라미터 화가 다각형 메시 파라미터 화(polygon mesh parameterization)인 것을 가정하여 예시한다. 다각형 메시 파라미터에 따르면, 3D 오브젝트 또는 그래픽 모델의 표면의 형태는 다각형으로 정의되고, 그 코너 부는 제어 포인트를 형성한다. 표면 다각형의 가장 단순한 형태는 평면 삼각형 영역이다. 오브젝트를 설명하기 위해서 는, 연결의 지시가 요구되는데, 즉 각 제어 포인트가 다각형으로 간략화되는 것이 요구되고, 여기서 상술한 연결 정보는 인커밍 데이터 스트림에 포함되어 있다. 제어 포인트 및 연결은 함께 오브젝트의 기하학적 구조를 나타낸다.
임의의 시간 순간에서의 그래픽 모델의 표면을 규정하는 제어 포인트는 데이터 부분에서 얻어진다. 연결 정보는 각 데이터 부분에 대하여 및/또는 각 시간 수단에 대하여 재전송되지만, 데이터 스트림에서 토폴러지(topology: 위상 기하학) 및/또는 연결 정보가 변경되는 이들 데이터 부분에서의 데이터 스트림(12)에만 나타내는 것이 바람직하다.
특수한 경우의 다각형 메시 파라미터 화는 소위 정규 사각 그리드(grid)와, 공간에 임의의 평면에 대하여 규정되는 소위 고도(高度) 그리드이다. 여기서, 제어 포인트의 세 개의 좌표(x, y, z) 중 두 개는 그리드에서의 제어 포인트의 공간 위치를 나타내고, 나머지 세 번째 좌표는 평면에 대한 포인트의 깊이 또는 평면으로부터 포인트의 수직 고도를 나타낸다.
이하에서, 도 1의 인코더(10)의 기능을 더욱 명료히 설명하기 위해서, 상술한 바와 같이 다각형 메시 파라미터 화는 입력(12)에서 데이터 스트림에 아래에 있는 것으로 가정한다. 도 2는 공간에서 임의의 시간 순간에 다각형 메시 파라미터 화에서의 그래픽 모델(60)을 예시적으로 나타낸다. 이 시간 순간을 규정하는 인커밍 데이터 스트림의 데이터 부분뿐만 아니라 이 데이터 부분에 의해서 규정되는 변경 그래픽 모델의 위치는, 제어 포인트가 도 2에 나타난 바와 같이 연결 정보에 따라 연결선으로 상호 연결된 경우 결과적으로 상기 그리드로 유추하여 이하 종종 메 시 또는 그리드라고 칭해진다. 메시는 오브젝트(60)의 표면상에 제어 포인트(62)를 포함한다. 또한, 데이터 부분 그 자신에서 또는 선행하는 데이터 부분 중 어느 하나에서의 데이터 스트림(12)은 다각형(64), 여기서는 삼각형에 속하는 세 개의 제어 포인트(62)를 나타내는 연결 정보를 포함한다. 제어 포인트(62)는 도 2에서 그래픽 모델(60)의 선의 교차점에서 볼 수 있고, 다각형 또는 삼각형은 이들 선에 의해서 둘러싸인다.
이하 설명에서, 제어 포인트는 mi(t)로 지정하고, 이때 i는 각 제어 포인트(62)와 연관된 고유의 리스트 번호이고 t는 이 제어 포인트가 위치(mi(t))에 있는 시간 순간을 나타낸다. 즉, (mi(t))는 소정의 원점(68)을 갖는 좌표 시스템(66)에 대한 제어 포인트(i)의 위치를 규정하는 벡터이다. 시간 순간(t)에서 그래픽 모델을 규정하는 i 전체 모든 제어 포인트는 이하에서 종종 m(t)라 한다. m(t-1)는 시간 순간(t-1)에서, 즉 시간 순간(t) 직전의 시간 순간에서의 그래픽 모델을 규정하는 전체 제어 포인트를 지정하고, m(t-2)는 시간 순간(t-2)에서의 그래픽 모델을 규정하는 전체 제어 포인트를 지정한다. 시간 순간(t)에서의 3D 모델(m(t))은 현재압축될 모델이다.
데이터 스트림이 입력(12)에 지금 도착한 경우, 우선, 제 1 데이터 부분이 도착하고 이는 제 1 시간 순간 t=0에서의 그래픽 모델을 규정한다. 이 상황에서, 인코더(10)는 그래픽 모델에서 이전 정보를 멸실한다. 즉, 이 모델은 아직 전 처리되지 않았고, 메시 메모리(50)는 여전히 비어있다. 이 상황에서, 상호 인코딩 경로(24)는 예측을 수행할 수 없다. 이 이유 때문에, 이 경우에는 우선 제어부(54)가 스위치(20)를 조절하여, 시간 순간 t=0 및/또는 제어 포인트(m(t))에서 데이터 부분의 인트라 인코딩 수단(16)에 의해서 생성되고, 연관된 연결 정보가 될 수 있는 스태틱 코딩(static coding)이 인코드 데이터 스트림(14)에 결합하도록 한다. 예를 들면, 스태틱 코딩은 MPEG-4로부터의 3DMC이다. 데이터 부분의 스태틱 코딩은 이 시간 부분의 코딩 및/또는 이 데이터 부분에서의 제어 포인트(m(t=0))가 별개의 방식으로, 즉 데이터 스트림에서 다른 데이터에 종속되지 않고 인코딩되어, 이 데이터 부분의 디코딩 결과가 다른 데이터 부분의 콘텐츠의 지식으로부터 독립적으로 얻어질 수 있도록 하게 한다는 것을 의미하는 것으로 상정한다.
이때, 제어부(54)는 인트라 경로(18)를 출력(14)으로 개방하도록 스위치(20)를 제어하고, 제어부(54)는 예측 교체를 적용하도록, 즉 각각 미분기(46 및 30)의 반전 입력에 논리 제로를 인가하도록 스위치(44 및 52)를 제어한다. 따라서, 인트라 인코딩 수단(16)은 제어 포인트(m(t=0))의 스태틱 코딩을 수행하고, 제어 포인트(m(t=0))는 미변경 방식으로 클러스터 형성 수단(34)의 입력에 도달하고, 여기서 이들은 벡터의 수를 감소시키며 이하 상세하게 설명한다. 수로 나타나는 벡터는 필요하다면 스케일링/양자화 수단(36)에서 스케일링되거나 양자화되고 - 이때 물론 정보의 손실 있음 - , 다시 반전 스케일 수단(38P)에서 되돌려지고, 그룹 결정 수단(40)에서의 제어 포인트(
Figure 112007027099356-PCT00001
(t))로 다시 분리되고, 이들은 메시 메모리(50)의 입력에 도달하여 다음 시간 순간에서 제어 포인트의 예측 또는 예측 제어 포인트로서 역할을 한다.
이 스위치 위치, 즉 도 1에서 상부 스위치 위치에 있는 스위치(20, 44 및 52)는 인코딩될, 즉 시간 순간(t=0)에 있는 제 1 메시에 대해서뿐만 아니라,
장면 또는 오브젝트 콘텐츠의 변경이 발생한 경우 - 이는 예를 들면, 제어기(54)가 데이터 스트림(12)에서의 부 정보(side information)로부터 유도함 -,
모델의 기술 변경이 발생한 경우 - 이는 제어기(54)가 또한 데이터 스트림(12)에서 부 정보에 기초하여, 예를 들면 새롭게 전송된 연결 정보에 기초하여 판정을 행하고, 이에 의해서 인코더(10) 및/또는 대응하는 인코딩 방법이 통상적으로 모든 종류의 모델에 적용 가능하게 됨 -, 또는
외부 루프(26)의 재구성 에러가 너무 큰 경우, 즉 본래 모델과 디코딩된 모델 사이의 차 및/또는 현재 인코딩될 제어 포인트(m(t))와 메모리(50)에 존재하는 제어 포인트(
Figure 112007027099356-PCT00002
(t-1)) 사이의 차가 너무 큰 경우에도 제어기(54)에 의해서 제어된다.
재구성 에러를 판정하기 위해, 제어기(54)는 또한 미분기(46)의 출력에 연결되어 있다.
따라서, 스위치(20, 44 및 52)가 상부 스위치 위치에 있는 스위치 위치는 예측이 행하여지지 않기 때문에 인코더(10)의 인트라 모드라고 한다.
한편, 인트라 모드 동안 인코더(10)의 기능을 이하 설명한다. 이 모드에서, 스위치(20 및 52)는 제어기(54)에 의해 제어되어, 스위치(20 및 52)가 하부 스위치 위치에 있게 되고, 즉 인터 경로(22)가 출력(14)에 연결되고, 메모리(50)의 출력은 비교기(46)의 반전 입력에 연결된다. 스위치(44)의 조절은 이하 기술할 동작-벡터-와이즈(motion-vector-wise)로 행하여져, 대안적으로 예측 수단(42)의 출력 또는 예측 교체 제로 중 어느 하나가 미분기(30)의 반전 입력에 연결된다.
인터 모드에서, 먼저 외부 루프(26)에 의해서 예측하여 일시적 잉여분을 감소시키고, 그 다음 내부 루프(28)의 일시적 및/또는 공간적 예측에 의해서 일시적 및/또는 공간적 잉여분을 감소시킴으로써, 더 큰 압축이 성취되며, 이하 더욱 상세하게 설명한다.
상술한 인트라 모드로부터 알 수 있는 바와 같이, 시간 순간(t)에 관련한 데이터 부분에 대한 인트라 모드의 실행에 수반하여, 메모리(50)에서 이 시간 순간(t)에서, 양자화 수단(36)에서의 양자화에 의해서만 제어 포인트(m(t))의 본래 버전으로부터 유도된 제어 포인트(
Figure 112007027099356-PCT00003
(t))를 포함하여 메시의 복사가 이루어진다. 시간 순간(t+1)에서의 다음 데이터 부분이 토폴러지(topology)가 동일한 경우, 즉 제어 포인트(m(t))와 동일한 연결 정보를 갖는 제어 포인트(m(t+1))를 포함하는 경우, 외부 루프(26)에서의 예측이 가능하다.
시간 순간(t-1)에서 이전 메시의 토폴러지와 동일한 토폴러지를 갖는 메시에 대한 제어 포인트(m(t))가 입력(12)에 도달한 경우를 이하 상정한다. 시간 순간(t-1)에 대한 대응하는 재구성 메시는 메모리(50)에서 제어 포인트(
Figure 112007027099356-PCT00004
(t-1))의 형태로 되고, 제어기(54)에 의해서 하부 스위치 위치로 조절되는 스위치(52)를 통 해 미분기(46)의 반전 입력에 인가된다. 그 후 미분기(46)는 제어 포인트(m(t))와 재구성 제어 포인트(
Figure 112007027099356-PCT00005
(t-1)) 사이의 차를 형성하고, 이에 의해서 시프트 벡터(d(t))가 미분기(46)의 출력에 발생하여 외부 예측 루프(26)의 예측 에러를 나타낸다. 따라서, 미분기(46)의 출력으로부터 미분기(30)의 입력으로, 정점 자신이 전송되지 않고 시프트 벡터(d(t))가 전송된다. 이 시프트 벡터(d(t))는 특히 시간 순간(t)에서 현재 전송될 메시와 시간 순간(t-1)에서 이전 재구성된 메시 사이의 각 개별 제어 포인트 i의 x, y, z(도 2 참조)에서의 개별 좌표의 차, 즉 1과 N 사이의 모든 i에 대한 di(t) = mi(t) -
Figure 112007027099356-PCT00006
i(t-1)를 나타내며, 여기서 N은 동일한 토폴러지를 가지며 또한 인터 모드가 존재하는 동안 정점의 수가 동일한 시간 순간 t와 t-1에서의 메시에서 제어 포인트의 수를 나타낸다.
내부 예측 루프(28)에 의해서, 현재 시프트 벡터(d(t))가 이전 전송된 시프트 벡터 및/또는 이전 전송된 제어 포인트로부터 유도된 시프트 벡터로부터 예측된다. 제 2 예측은 모든 시프트 벡터(di(t))에 대하여 가능한 것은 아니다. 특정 시프트 벡터(di(t))에 대하여, 현재 메시와 동일한 하나 이상의 메시가 이미 전송되었다면 일시적 예측이 가능하다. 그 다음, 각 정점 i에 대하여, 이미 적어도 좌표 정보(mi(t-2)와 mi(t-1))가 입력(12)으로부터 수신되고, 이로부터 예측된 시프트 벡터(
Figure 112007027099356-PCT00007
(t-1)) 가 유도될 수 있고, 미분기(30)의 반전 입력에 인가될 수 있고, 따라서 예측을 위해 역할을 할 수 있다. 이러한 일시적 예측은 이점이 있는 것은 무엇 보다도 통상적으로 시간에 대한 오브젝트의 동작이 절대로 변경되지 않기 때문이고, 따라서, 알려진 동작으로부터의 동작의 예측이 가능하고, 그리고/또는 동작 벡터 차분 발생이 작고 따라서 낮은 압축률로 압축할 수 있다. 예측 수단(42)에 의해서 수행되는 일시 예측에 대해서 이하 상세하게 설명한다.
공간 예측은 또한 수단(42)에 의해서 수행될 수 있는데, 즉 방금 처리된 메시 t의 적어도 하나의 포인트(mi(t))가 이미 전송되었다면 가능하다. 이 제어 포인터 i에 대하여, 정보(mi(t-1))가 이미 도착했다면, 시프트 벡터(
Figure 112007027099356-PCT00008
i(t))는 예측 수단(42)에서 사용가능하며, 이하 상세하게 설명한다.
이 제어 포인트 i에서의 모든 공간적 이웃 j는 di(t)와 동일한 값을 갖는 시프트 벡터(dj(t))와 연관된다는 가정이 정당화되며, 그 이유는 그 동작이 오브젝트를 가로질러 절대로 변경되지 않기 때문이다. 이 때문에, 이웃 정점 j의 값 (
Figure 112007027099356-PCT00009
j(t))은 di(t)에 대한 공간적 예측기로서 사용될 수 있고, 반대로 di(t)를 값(dj(t))에 대한 공간 예측기로서 사용될 수 있다. 현재 정점 i에 대한 공간적 이웃 j 및/또는 연관된 동작 벡터(di(t))는 여기서 예측 수단(42)에 의해서 결정될 수도 있는데, 예를 들면, 현재 인코딩될 정점 i에 공간적으로 연결됨으로써, 즉 예를 들면, 근사 다각형 함수의 근접하는 제어 포인트가 되거나 또는 그래픽 모델의 표면 또는 기하학 구성을 따른 임의의 형태로 정점 i의 공간적으로 이웃하는 표면 파라미터의 종류에 따른 다각형 메시에 다각형을 형성함으로써 결정될 수 있다. 예 를 들면, 이 정보는 3D 모델의 토폴러지 설명으로부터 기하학적 검사에 의해서 요구된다. 심지어 이미 전송된 현재 메시의 모든 공간적 이웃 j의 시프트 벡터(dj(t))가 예측에 이용될 수도 있다.
최종적으로, 현재 정점 i의 시프트 벡터 di(t)에 대한 예측기(
Figure 112007027099356-PCT00010
i(t-1))는 전체의 유용한 공간적 및 일시적 예측 벡터로부터 판정된다. 이를 위해서, 중간 필터가 채용되고, 즉 수단(42)은 배열되어 있는 유용한 예측 벡터 중에서 선택하며, 이는 그들의 길이에 따라 동일한 것이 정렬될 수 있기 때문이고, 홀수의 예측 벡터의 경우에 중간 것을, 예를 들면, 짝수 예측기의 경우에 두 개의 중간 예측 벡터의 평균값을 최종 예측 벡터로서 선택한다. 예를 들면, 한 세트의 네 개의 공간적 예측 시프트 벡터(
Figure 112007027099356-PCT00011
j(t))가 "j ∈ [i의 이웃]"인 일시적 예측 시프트 벡터 (
Figure 112007027099356-PCT00012
i(t-1)) 다음에 존재하는 경우, 예측 수단(42)은 이 세트의 5개의 예측 벡터로부터 세 번째 것을 선택한다.
중간 필터링을 상용하는 대신에, 평균 등의 사용도 또한 가능하다.
최종적으로, 미분기(30)는 예측기(
Figure 112007027099356-PCT00013
(t-1)) 및/또는 예측된 시프트 벡터와, 시프트 벡터(d(t)) - 미분기(46)에 의해서 전송된 바와 동일 -, 즉 현재 메시의 시프트 벡터 사이의 차를 형성한다. 이 결과는 정점 i 당 형성되는 하나의 시프트 벡터 차분(ei(t))을 갖는 시프트 벡터 차분(e(t))이다. 이로부터 시프트 벡터 차(ei(t))는 예측기의 부재시 동작 벡터(di(t))에 대응한다는 것을 알 수 있다.
내부 루프(28)에 의한 상술한 예측, 즉 시프트 벡터 차분(e(t))의 다른 처리를 포함한 시프트 벡터의 예측은 오히려 정점 자신만 예측되고 발생한 시프트 벡터가 더 처리된다고 하는 상세한 설명 부분의 설명 부분에 기술되어 있는 방법에 대하여 명백히 다른 이점이 있음을 나타낸다.
내부 루프(28)의 예측의 기능은 루프(28)로 진행하는 모든 시프트 벡터(d(t))에 대하여 이미 설명하였다. 개별 정점 i에 대한 개별 시프트 벡터(di(t))를 좀더 고려해보면, 각 시프트 벡터(di(t))에 대하여는 예측기가 있을 필요가 없다는 것을 알 수 있다. 결국, 상기로부터 명백히 알 수 있는 바와 같이, 시간 순간(t-1)에서 인트라 모드를 바로 앞서는 시간 순간(t)에서의 모든 시프트 벡터(d(t))에 대하여는, 예측된 시프트 벡터(
Figure 112007027099356-PCT00014
(t-1))를 형성하는데 필요한 정보가 누락되어 있고, 이 때문에 시간 순간(t-2)에서의 정점에 대한 제어 포인트 정보가 결국 존재해야 한다. 부가적으로 또는 대안적으로, 예측될 시프트 벡터(di(t))가 시프트 벡터(dj(t)) 및/또는 제어 포인트(mj(t))가 얻어지지 않은 이웃 j를 위한 정점 i에 대한 것이거나 또는 입력(12)에서 데이터 스트림으로부터 아직 유도될 수 있는 공간적 예측기가 누락될 수도 있다. 이 경우에, 시프트 벡터(di(t))에 대한 일시적 또는 공간적 예측기 어느 것도 예측 수단(42)에 의해서 제공될 수 없기 때문에, 제어 수단(54)은 스위치(44)를 상부 스위치 위치로 설정한다. 그렇지 않으면, 스위치는 도 1의 하부 스위치 위치로 설정된다. 즉, 제어 수단(54)은 인트라 모드 동 안 예측기의 존재에 따라 개별적으로 각 시프트 벡터(d(t))에 대하여 스위치(44)를 제어한다.
또한, 상기에서, 미분기(30)의 출력과 가산기(32)의 입력 사이에서의 루프(28 및 26)의 부분이 무시된다. 이 부분이 의미하는 것을 이하 설명하면, 이 부분의 정확한 설명을 위해서 예측 수단(42)만이 일시적 예측을 수행하는 것, 선행하는 시프트 벡터(di(t-1)) 및/또는 두 개의 선행하는 시간 수단, 즉 mi(t-1)과 mi(t-2)에서의 제어 포인트에 기초하여 인커밍 시프트 벡터(di(t))의 예측을 수행하는 것으로 가정하고 있음을 알 수 있다.
클러스터 형성 수단(34)은 시간 순간(t)에서 현재 인코딩될 메시에 대한 시프트 벡터 차분(e(t))을 수신한다. 클러스터 형성 수단(34) - 이 기능을 도 3을 참조하여 이하 상세하게 설명함 - 은 옥트리(octree) 알고리즘을 따르는 유사 및 근사 시프트 벡터 차분의 간략화를 수행한다. 즉, 클러스터 형성 수단(34)은 시프트 벡터 차분(e(t))을 한 세트의 대용 시프트 벡터 차분(o(t))과 대체하고, 그 대용 시프트 벡터 차분의 수는 시프트 벡터 차분(e(t))의 수와 동일하다. 결과적으로, 전송될 값들의 수가 감소되고, 즉 개별 벡터 차분과 대등해진다. 그 다음 교체 시프트 벡터 차분(o(t))이 스케일링/양자화 수단(36)에서 스케일링 및 양자화되고, 이에 의해서 양자화된 벡터(y(t))가 된다. 다음으로, 이들은 대수적으로 인코딩하는 인코딩 수단(56)에 공급되며 이하 상세하게 설명한다. 이런 방식으로 인코딩되어 압축되는 값(y(t))은 출력(14)에서 인코딩 데이터 스트림에 결합된다. 두 개의 DPCM 루프(26 및 28)를 폐쇄하기 위해, 디코더(10)에서의 출력 신호(m(t))는 다시 양자화된 벡터(y(t))에 기초하여 다시 재구성되고, 여기서 인코더의 모든 이전 단계들, 즉 미분기(46 및 30)에서의 차분 형성, 수단(34)에서의 클러스터 형성, 및 스케일링/양자화 수단(36)에서의 스케일링이 취소되거나 또는 역 방식으로 수행된다. 대응적으로, 역 스케일링 수단(38)은 스케일링 수단(36)에 의해서 사용된 스케일링 팩터(factor)에 대한 역 스케일링 팩터로 벡터(y(t))를 스케일링하고, 이에 의해 재구성된 대용 시프트 벡터 차분(
Figure 112007027099356-PCT00015
(t))이 된다. 재구성된 대용 시프트 벡터 차분의 세트는 수단(34)에 의해서 클러스터 분류를 취소함으로써 클러스터 결정 수단(40)에서 재구성된 또는 디코딩된 시프트 벡터 차분(
Figure 112007027099356-PCT00016
(t))의 세트로 변환된다. 필요하다면, 이를 위해, 도 3을 참조하여 설명하면, 클러스터 결정 수단(40)은 클러스터 형성 수단(34)이 대용 시프트 벡터 차분(o(t))과 함께 출력하는 부 정보를 사용하고, 또한 필요하다면 출력(14)에서 인코딩 비트 스트림으로 부 정보로서 인코딩된다.
시프트 벡터(d(t))를 재구성하기 위해서, 임의의 재구성된 시프트 벡터 차분(
Figure 112007027099356-PCT00017
i(t))이 가산기(32)의 입력에, 그리고 동시에 다른 입력에서 동일한 예측기(
Figure 112007027099356-PCT00018
(t-1))에 나타나고, 이는 이동 벡터(di(t))로부터 시프트 벡터 차분(ei(t))을 생성하는 시간 순간에 미분기(30)의 반전 입력에 나타난다. 따라서, 가산기의 출력에서의 결과는 재구성된 시프트 벡터(
Figure 112007027099356-PCT00019
i(t))이다. 이는 예측 수단(42)에 도달하 고, 그 후 특히 시프트 벡터(di(t+1))를 위한 입력(12)에서 뿐만 아니라 가산기(48)의 출력에서 데이터 스트림에서의 후속 데이터 부분에 대한 시프트 벡터(d(t+1))의 예측에 사용된다. 가산기(48)는 메모리(0)에 저장되어 있고, 미분기(46)에 의해서 재구성될 제어 포인트(m(t))로부터 차감된 이들 예측된 제어 포인트(
Figure 112007027099356-PCT00020
(t-1))를 재구성된 시프트 벡터(
Figure 112007027099356-PCT00021
(t))에 가산함으로써, 미분기(46)에서 차분 정보를 취소한다. 따라서, 가산기(48)의 결과는 현재 인코딩될 데이터 부분을 따르는 데이터 부분의 제어 포인트(m(t+1))를 예측하기 위해 메모리(50)에 저장된 재구성 제어 포인트(
Figure 112007027099356-PCT00022
(t))가 된다. 결과적으로, 메모리(50)는 막 전송된 메시의 재구성을 포함한다. 스케일링/양자화 수단(36)에 의한 양자화에 기인하여, 메모리(50)에서의 메시는 본래 메시와 일치하지 않으며, 즉 m(t)≠
Figure 112007027099356-PCT00023
(t)가 된다.
상호 인코딩(24)에서 인코딩하는 목적은 가능한 한 적은 비트로 본래 메시(m(t))에 유사한 재구성된 메시(
Figure 112007027099356-PCT00024
(t))를 만들기 위한 것이다. 재구성 에러는 본래 메시와 디코딩된 일시적 예측기 메시 사이의 차분, 즉, d(t) = m(t) -
Figure 112007027099356-PCT00025
(t-1)으로 나타내고, 상술한 바와 같이 너무 큰 재구성 에러에서 인트라 모드로 전환하기 위해 제어 수단(54)에 의해서 사용된다.
인코더(10)의 기능에 대한 상기 설명을 참조하면, 예측 수단(42)에서의 공간적 예측을 갖는 대안적 인코더는, 클러스터 형성 수단(34)과 클러스터 분리 수단(40)이 인코더(10)의 도 1의 블록 회로도로부터 생략되는 경우, 예측 수단이 메 시의 후속하는 시프트 벡터(d(t))의 예측을 위한 가산기(32)의 출력에서 즉시 유용한 재구성된, 특히 인접한 정점의 시프트 벡터(
Figure 112007027099356-PCT00026
(t))를 가지고 있기 때문에, 용이하게 얻어질 수 있다는 것을 알 수 있다.
이하에서, 도 3을 참조하여, 클러스터 형성 수단(34)의 내부 구조에 대하여 상세하게 설명한다. 살펴본 바와 같이, 클러스터 형성 수단(34)은 시프트 벡터 차분(e(t))을 수신하고 이를
Figure 112007027099356-PCT00027
,
Figure 112007027099356-PCT00028
...
Figure 112007027099356-PCT00029
, ...
Figure 112007027099356-PCT00030
와 같은 그룹으로 분류하는 수단(80)을 포함하고, 여기서 1≤n1≤n2...ng -1≤N, g는 그룹의 수를 나타내고, N은 정점(vertices)의 수를 나타낸다. 그룹으로의 분류는 예를 들면 모든 시프트 벡터 차분(e(t))을 둘러싸고 여기서는 가능한 한 작은 큐빅 셀(cubic cell)을 예를 들면 임의의 경계 조건 하에서 8분 공간으로 부 분할함으로써 기하학적으로 이루어지고, 8분 공간에 있는 모든 시프트 벡터 차분(e(t))은 그룹으로 간략화된다.
그 다음, 클러스터 형성 수단(34)의 다른 수단(82)은 각 그룹에 속하는 모든 시프트 벡터 차분을 평균함으로써 그룹당 대용 시프트 벡터 차분을 결정한다. 따라서, 그 결과는 대용 시프트 벡터 차분
Figure 112007027099356-PCT00031
1(t), ...
Figure 112007027099356-PCT00032
g(t), 즉 그룹당 하나가 된다. 그 다음, 클러스터 형성 수단(34)의 다른 수단(84)은 각 그룹에 대하여 관련 그룹의 시프트 벡터 차분과 대용 시프트 벡터 차분의 일치를 검사한다. 크게 일치하지 않는 경우, 수단(86)은 다시 한번 대응 그룹을 수단(80)에 공급되게 하거나 그리고/또는 다시 한번 서브 분할되도록 하게 한다. 어떠한 그룹에서도 더 이상 결과가 크게 불일치할 경우, 클러스터 형성 수단(34)의 수단(88)은 시프트 벡터 차분(e(t))을 대용 시프트 벡터 차분과 대체하고, 임의의 시프트 벡터 차분에 대하여 지시를 부여하는 분류 정보는 반복 루프(80-86)에 의해서 그룹으로 간략화된다. 수단(42)에 혼합된 공간적/일시적 예측을 일부 e(t)에 사용하는 경우, 어느 예측기도 결정될 수 없고, 이는 동일한 메시 중 다른 메시에 대향하는 것으로서 시프트 벡터(d)에 대응한다. 이 경우에, 실제 시프트 벡터 차분(e)의 클러스터링에 시프트 벡터를 내포하지 않도록 하는 것이 이점이 될 수 있다.
수단(40)은 다시 분류 정보를 사용하여 각 그룹의 모든 정점과 연관된 대용 벡터 차분을 연관시킴으로써 벡터의 수의 데시메이션(decimation)을 취소한다.
상기 설명은 두 개의 예측 루프(26 및 28)의 기능 설명에 실질적으로 제한되었다. 다음으로, 양자화된 벡터(y(t)), 특히 이들 3D 벡터의 개별 성분 x, y, z의 의 산술적 코딩을 수행하고, 결국 대용 시프트 벡터 차분의 양자화를 나타내는 인코딩 수단(56)의 기능을 진행한다.
통상적으로, 엔트로피 코딩의 특정 형태인 산술적 코딩에서, 인코딩될 소스 알파벳의 문자, 즉 인코딩될 벡터(y(t))의 성분은 발생 차분 확률과 연관된다. 현재 인코딩될 문자를 인코딩하기 위해, 현재 확률 간격은 소스 알파벳의 모든 문자의 발생 확률에 따라 서브 분할되고, 그 다음 확률 간격은 현재 인코딩될 문자에 대응하는 현재 확률 간격의 서브 영역으로 줄임으로써 갱신된다. 이 절차는 인코딩될 일련의 문자에 대하여 반복된다. 이 일련의 문자에 대하여 최종 출력되는 코 드워드는 결과적인 확률 간격을 나타낸다. 디코더 측에서, 이 절차는 산술적 디코딩으로 모방하는데, 즉 예를 들면 0 내지 1의 일차 확률 간격이 소스 알파벳의 발생 확률에 따라 서브 분할됨으로써, 코드워드가 지시하는 임의의 면적에 검사가 이루어지고, 이때 확률 간격이 서브 영역으로 갱신된다. 다음에 사용되는 이진 산술적 코딩에서, 소스 알파벳은 0 및 1과 같이 두 개의 가능한 2치 상태 또는 값으로 고정되고, 이는 y(t) 성분이 이전에 이진화되는 이유이며, 이하 상세하게 설명한다.
이 경우에, 시프트 벡터 차분의 확률 통계량에서, CABAC(Context-Based Adaptive Binary Arithmetic Coding)를 따르는 산술적 코딩이 고압축률을 가능하게 한다. CABAC는 예를 들면, "D. Marpe, H. Schwarz und T. Wiegand: 'Contex-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression standard' (invited paper), IEEE Transactions on Circuits and Systems for Video Technology, Vol. 13, No. 7, p. 620-636, July 2003"에 개시되어 있다. 클러스터 감소 벡터(y(t)) 또는 비 클러스터 동작 벡터(d(t))에 대하여 기초가 되는 CABAC 또는 이진 산술적 코딩을 사용함으로써, 높은 데이터 압축률이 성취된다.
이하에서, 인코딩 수단(56)의 내부 구조를 설명한다. 도 4는 수단(56)의 개략 구성을 나타낸다. 도시된 바와 같이, 이 수단은 일련의 이진화 수단(100)과 이진 산술적 코딩용 수단(102)으로 구성된다. 이진화 수단은 인코딩될 값(y(t))을 수신하고 이를 이진화하며, 이진 값은 비 이진 값의 이진 표현으로의 변환을 나타낸다. 후술하는 바와 같이, 본 실시예에 따른 이진화 수단은 예시적으로 두 개의 이진화 방법, "단일체 이진화(unary binarization)" 또는 "TU(truncated unary) 이진화"와 "k-th order exp Golomb binarization"의 결합을 사용한다. 수단(100)에 의한 이진화의 결과는 대용 시프트 벡터 차분(y(t))의 성분 x, y 또는 z와 같은 인코딩될 각 값을 나타내는 일련의 비트가 된다.
이진화 값의 결과는 빈 체인(bin chain) 또는 일련의 이진 결정 또는 빈(bin)이 될 수 있다. 이러한 종류의 지정은 결과적으로 이진화가 이진 트리(binary tree)에 의한 이진화값의 빈 체인으로의 정합으로 간주되는 경우, 이진 트리의 잎들은 이진화될 값의 확률값을 나타내고, 트리의 노드는 이진 결정을 나타내고, 하나의 노드로부터 후속하는 별개의 레벨을 갖는 두 개의 가지(branch)는 각각 가능한 이진 값 0 및 1로 연관된다. 그 다음 이진화될 값은 이진 트리의 뿌리로부터 이진화될 값에 대응하는 각 잎으로의 경로에 있는 빈 체인(bin chain) 또는 빈 시리즈(bin series)에 정합된다.
수단(100)에 의해서 사용되는 "TU 이진화"와 "k-th order exp Golomb binarization"의 결합을 이진화 수단(100)의 기능을 나타내는 도 5를 참조하여 상세하게 설명한다. 도시된 바와 같이, 이진화 수단(100)은 먼저 최소값을 경계 값 s와 제 1 이진화 방법, 여기서는 단일체 이진화에 따라 이진화될 값(y(t)) 미만으로 이진화함으로써, 일차 프리픽스(primary prefix)를 얻는다. 값 x의 단일체 이진화는 x-1 하나로 시작해서 하나의 제로로 끝나는 길이 x의 코드 워드를 생성한다. 여기서 프리픽스의 이진화에 사용되는 TU 이진화는 엄밀히 말하면, s 또는 15인 경계 값 w를 사용하는 단일체 이진화를 나타낸다. s 이상의 값의 TU 이진화에 서는, 순수 단일체 이진화와 반대로 종료 제로가 생략된다.
다음 단계 122에서, 이진화 수단(100)은 이진화될 값(y(t))이 이진화 값 s보다 큰지의 여부를 검사하고, 크지 않은 경우, 이진화 수단(100)은 이진화될 값(y(t))에 대한 이진화 처리 단계 124를 마무리한다. 결과적으로, 이 경우에, 이진화 결과는 프리픽스만으로 이루어진다. 그렇지 않으면, 수단(100)은 이진화될 값(y(t))으로부터의 차분과 단계 126에서의 제 2 이진화 방법, 여기에서는 "k-th order exp Golomb scheme"에 따른 이진 값을 이진화함으로써 일차 서픽스(primary suffix)를 얻는다.
일차 서픽스는 단계 128에서 일차 프리픽스에 부가됨으로써 이진화 결과 및/또는 빈 체인이 얻어진다.
도 6은 k=0이고 s=14인 예시적인 경우에 대한 도 5에 따른 이진화의 결과를 예시적으로 나타내며, 도 6에서의 표는 좌측 열 140에서 이진화될 값의 가능한 값을 나타내고, 이진화 결과 및/또는 대응하는 비트 또는 빈 시리즈는 142에서 우측에 나타나 있다. 도시된 바와 같이, 빈 시리즈(142)만 1과 14 사이의 이진화될 값에 대한 프리픽스로 이루어진다.
s 보다 크면서 이진화될 값은 TU 프리픽스(144) 뿐만 아니라 s를 뺀 이진화될 값 b의 "0-order exp Golomb binarization"을 나타내는 서픽스(145)를 포함한다. 점선(146)은 점선(146)의 좌측에 대하여 일차 서픽스(145) 자신이 이차 프리픽스로 이루어질 수 있고, 점선(146)의 우측에 대하여 이차 서픽스로 이루어질 수 있음을 나타낸다. 도 6의 표에서 마지막 선은 환경 모델(context model)과 개별 빈 의 연관성에 관련될 수 있는 빈 수(bin number)를 나타내며, 이하 상세하게 설명한다.
완성을 위해, 아래의 의사 프로그램 코드는 이진화될 값이 비트 시리즈에 어떻게 정합되는지 또는 빈 시리즈가 "k-th order exp Golomb scheme"에 따라 어떻게 b에 의존하여 구성되는지를 나타낸다.
while(1) {
if (b >= (1 << k)) {
set(1) // 단일체 이차 프리픽스 중 하나를 설정
b = b - (1 << k)
k++
} else {
set(0) // 단일체 이차 프리픽스의 종료 제로를 설정
while(k--) // 이진 표현시 수자 k로
set((b >> k) & 0x01 // 이차 서픽스를 생성
break
}
}
여기서, k는 "exp Golomb scheme"의 차수이고, 후치사 "++"는 1만큼의 증분을 나타내고, 후치사"--"는 1만큼의 감소분이고, "x<<y"는 x×y 이진수의 2의 보수 정수 표시의 좌측으로의 산술적 시프트 동작이고, 마찬가지로 "x>>y"는 x×y 이진 수의 2의 보수 정수 표시의 우측으로의 산술적 시프트 동작이고, "&"는 2의 보수 표시에서 동작하는 비트 와이즈 "AND" 연산 동작을 나타낸다. "set" 명령은 비트 시리즈의 비트가 브래킷에서의 값으로 설정되도록 지시하는 것이다.
즉, 일차 서픽스의 이차 프리픽스는 l(b)=[log2(b/2k+1)]의 값의 단일체 코드이고, 이차 서픽스는 k+1(b) 유효 비트를 사용한, b+2K(1-2l(b))의 수의 이진 표시이다.
도 7에 기초하여, 이진화 결과의 빈의 이진 산술적 코딩에 대한 수단(102)의 기능을 설명한다. 빈 체인의 빈은 그 다음 단계 160에서 이 빈이 일차 프리픽스의 부분인지의 여부에 대하여 연속적으로 검사한다. 맞는 경우, 수단(102)은 단계 162에서 빈의 적응 이진 산술적 코딩을 사용한다. 이는 현재 확률 간격의 일차 서브 분할에 대한 비트 또는 빈에 대한 가변 확률 추정을 사용하여, 확률 간격을 빈의 값에 따른 서브 분할 확률 간격의 두 절반 중 하나로 갱신한다는 것을 의미하며, 여기서 다음 빈에 대한 확률 추정은 그 다음 현재 빈의 값에 따라 갱신된다. 여기서, 또한 CABAC를 갖는 경우와 마찬가지로 환경 의존 적응 이진 산술적 코딩이 단계 162에서 수행되는 것이 가능하다. 이 경우에, 수단(102)은 일차 프리픽스의 빈 위치 또는 모든 빈에 대한 동일한 확률 추정을 사용하지 않고, 예를 들면, 그 자신의 적응 확률 추정이 순차로 각각 연관된 각종 환경 모델을 예를 들면 개별 빈 위치에 할당한다.
단계 160에서의 검사가 네거티브이면, 빈이 단계 162에서 일차 서픽스의 부 분인지의 여부를 검사한다. 이 단계는 인코더(56)에만 양자화된 대용 시프트 벡터 차분이 공급되면 생략될 수 있고, 그러나 이는 부 정보의 전송에 기인한 경우에는 될 수 없다. 단계 164에서의 검사가 포지티브이면, 수단(102)은 단계 166에서의 스태틱 확률 추정으로, 즉 빈이 고정 확률 p를 갖는 값 1과 고정 확률 1-p를 갖는 이진값 0을 갖는지에 따른 확률 추정으로 현재 빈의 이진 산술적 코딩을 사용한다. 바람직하게는 p=0.5이다. 일차 서픽스의 빈에 대한 통계 확률 추정을 사용하는 것은 적응 확률 추정 또는 환경 모델의 관리가 필요 없기 때문에 노동력을 크게 줄일 수 있다.
적응 이진 산술적 코딩을 위한 방법 및 인코딩될 심벌의 확률의 부가적인 환경 의존 모델링의 상술한 결합에 의해서, 상술한 산술적 코딩 방법은 인코딩될 신호 통계에 대한 높은 적응성을 성취하고, 엔트로피 코딩에 대하여 매우 효율이 좋은 방법을 나타낸다. 충분한 압축 향상이 성취된다. 더욱이, 상술한 방식에 따른 산술적 코딩은 특히 간격 갱신 및 확률 추정의 갱신이 승산 없는 표 기반 방식에서 동작하는 것을 구현하는데 ABAC가 사용되는 경우 복잡도가 낮기 때문에 하드웨어 및 소프트웨어에 통합시키는데 적합하다.
특히, TU와 상술한 "k-th order exp Golomb binarization"은 이들이 상술한 알고리즘에 따른 유사 및 근사 시프트 벡터 차분의 간략화에 의해서 향상되는 바와 같이, 상대적으로 서로 강하게 서로로부터 유도되는 임의의 진폭의 양자화된 대용 시프트 벡터 차분의 유효 표시를 성취할 수 있다. 이진 표시의 단일체 부분의 최적 길이 s 뿐만 아니라 사용되는 Golomb 코드의 차수 k는 인코딩될 전체 값에 따라 결정된다. 이진화된 빈 시퀀스의 이진 산술적 코딩에 대하여 일부 환경 모델을 사용함으로써, 신호 통계에 대한 더 낳은 적응성이 이루어진다.
이하 산술적 코딩에 대하여 설명한다. 물론, 모든 메시에 대한 재차 적응과 코드 워드 생성을 수행할 수 있다. 클러스터에 대한 유사 및 근사 시프트 벡터 차분의 상술한 간략화에 의해서, 전송될 값(y(t))의 수가 감소된다. 여기서, 수는 너무 작아서 상술한 산술적 코딩 방법에 의해서 산술적 코딩에 대한 이들의 적성을 참조하여 인코딩될 심벌의 분배가 더 이상 최적이 되지 않는데, 그 이유는 이 코딩에 적합한 주파수 분배가 두 개의 연속적인 3D 메시 사이에서 일어나지 않기 때문이다. 따라서, 유효 산술적 코딩을 위해서, 연속적인 3D 기하학 구성의 시퀀스의 예측된 시프트 벡터가 소위 데이터 부분의 그룹 또는 메시의 그룹으로 간략화되고, 공통 코드 워드가 결정되고, 즉 연속적인 간격 서브 분할과 (환경) 적응을 갖는 코드워드가 결정된다. 따라서, 전체 그룹의 시프트 벡터 차분은 개별 메시의 메시 투 메시 또는 별도의 프레임 투 프레임 코딩에 대향하여, 공통으로 산술적으로 코딩된다. 간략화에 의해서, 더욱 적합한 심벌 주파수 또는 분배 함수가 이루어진다.
도 8을 참조하면, 도 1에 따른 인코더에 의해서 생성되는 인코딩 데이터 스트림을 디코딩하는데 적합한 디코더의 구성을 만전을 기하여 이하 설명한다. 도 8의 디코더는 통상적으로 도면 식별 번호 200으로 나타낸다. 그 구조는 실질적으로 출력(14)으로부터 메시 메모리(50)로 연장하는 인코더(10)의 구조의 일부에 대응되고, 물론 산술적 코딩이 산술적 디코딩으로 변경된다는 것은 다르다. 결과적으로, 디코더(200)는 인코딩 데이터 스트림의 수신을 위한 입력(210)과 디코딩 데이터 스트림 또는 재구성된 데이터 스트림을 출력하는 출력(212) 사이에서 입력측 스위치(206)와 출력측 스위치(208) 상을 지나가는 인트라 디코딩 경로(204)에 연결된다.
인트라 디코딩 경로(204)로부터 이격하여, 인터 디코딩 경로(214)가 있고, 이에 수단(56)의 코딩에 대하여 산술적 코딩 반정을 수행하는 산술적 디코딩 수단(216), 역 스케일 수단(218), 클러스터 분할 수단(220), 결합기 또는 가산기(222) 및 일련의 결합기 또는 가산기(224)가 있고, 이는 입력(210)으로부터 스위치(208)로 연장한다. 구성 요소(218, 224)는 기능 및 강제적 업무에 인코더(10)의 구성 요소(38, 40, 32 및 48)에 대응한다. 대응적으로, 디코더(200)는 시간/위치 예측 수단(226)을 포함하고, 그 입력은 가산기(222)의 출력과 가산기(224)의 입력과 스위치(228)를 통해 가산기(222)의 입력에 접속되는 출력 사이에 연결된다. 스위치(228)는 도 1에서의 스위치(44)에 대응하고, 상술한 바와 같이 예측 수단(226)의 출력 또는 논리 제로 중 어느 하나를 가산기(222)의 입력측으로 스위칭한다. 가산기(222)의 다른 입력은 클러스터 분할 수단(220)의 출력에 연결된다. 마찬가지로, 디코더(200)는 메시 메모리(230)를 포함하고, 그 입력은 가산기(224)의 출력에 연결되고, 그 출력은 스위치(52)에 대응하는 스위치(232)를 통해 가산기(224)의 입력에 연결된다. 스위치(232)는 제로의 예측 대용값 또는 메시 메모리(230)의 출력 신호 중 어느 하나를 가산기(224)의 입력에 연결된다. 도 8에 도시되지 않은 제어 수단은 항상 동시에 동작하는 스위치(206, 208)로, 도 1에 기술한 것에 대응 하는 방식으로 디코더에서 인트라 및 인코더 모드를 조절하도록 스위치(206, 208, 228 및 232)를 제어한다.
디코더(200)의 기능은 도 1의 설명에서 설명하였으므로, 이하에서는 대략적으로만 설명한다. 디코딩될 데이터 스트림이 입력(210)에 도달하는 경우, 먼저 인트라 모드가 나타나고, 따라서 인트라 디코딩 수단(202)이 제 1 데이터 부분 또는 메시의 디코딩을 행한다. 그 결과는 재구성된/디코딩된 데이터 스트림의 부분으로서 스위치(208)를 통해 출력(212)에 출력된다. 디코딩의 결과는 도 8에 도시되는 않았지만 명확화를 위해 인트라 모드 동안 도 1의 인코더의 수단(34 및 36)의 직렬 연결에 대응하는 직렬 연결을 통해 역 스케일 수단(218)의 입력에 출력되고, 이에 의해서 메시 재구성이 메시 메모리(230)로 입력되는 인트라 모드에서 얻어진다. 여기서, 스위치(228 및 232) 양자는 제로의 대용 예측기 신호로 전환된다.
다음 데이터 부분의 디코딩은 인터 디코딩 경로(214)를 통해 이미 이루어진다. 수신되고 산술적 코딩되고 양자화된 대용 시프트 벡터 차분은 디코딩 수단(216)에서 산술 디코딩된다. 특히, 디코더(216)는 적응성에 따른 현재 확률 간격, 또는 일차 프리픽스 또는 일차 서픽스에 대한 제휴에 따라 사용될 적응 또는 스태틱 확률 추정에 따른 현재 확률 간격을 수단(216)에 의해서 분할하고, 상승하는 상부 절반 또는 하부 절반에 인코딩 데이터 스트림에서의 수신 코드 워드가 있는지의 여부를 시험하여 인코딩 값(y(t)에 대하여 빈 시리즈를 빈-바이-빈(bin-by-bin)으로 결정한다. 이 방식에서, 수단(216)은 디코딩될 값(y(t))의 이진화를 얻고, 그 다음 역으로 이진화로부터 비-이진화 표시에서의 값을 결정한다. 그 결과 는 값(y(t))이고 인코더(10)에서 수단(56)에 공급된다.
그 후에, 처리는 도 1에 나타낸 바와 같이, 즉 값(y(t))은 역으로 스케일링되고 분할되어 재구성된 형태
Figure 112007027099356-PCT00033
(t)의 시프트 벡터 차분을 얻는다. 시프트 벡터 차분에 대한 예측 수단(226)에 예측기가 없다면 - 이는 인코딩에도 예측기가 없는 것을 의미함 -, 특정 시프트 벡터 차분(
Figure 112007027099356-PCT00034
i(t))은 이미 시프트 벡터(
Figure 112007027099356-PCT00035
(t))가 되고 따라서 가산기(222)에 의해서 대용 예측기(0)만 결합된다. 그렇지 않으면, 가산기(222)는 eo(t)와
Figure 112007027099356-PCT00036
(t-1) 사이의 합을 실행한다. 마찬가지로, 가산기(224)는
Figure 112007027099356-PCT00037
(t)와
Figure 112007027099356-PCT00038
(t-1) 사이에 가산을 실행하고 그 결과는 출력(212)에 출력된다.
상기 설명을 참조하면, 이하를 알 수 있다. 비록 본 발명은 다각형 메시 파라미터 화의 배경으로 한 것에 대해서만 설명하였지만, 본 발명은 다른 파라미터 화에도 적용 가능하다. 스플라인 파라미터 화(spline parameterization)는 예를 들면 표면 피스-바이-피스(surface piece-by-piece)를 파라미터 화함으로써 또는 전체로서 정점이 제어 포인트로서 역할을 기동하게 함으로써 3D그래픽 모델을 규정한다. 가장 잘 알려진 형태 중 하나는 큐빅 B 스플라인과 같은 차수가 낮은 다항식이 사용되는 스플라인에 의한 기술이다.
본 발명에 적용 가능한 다른 가능한 파라미터 화는 슬라이스 파라미터 화 또는 슬라이스 표시를 포함한다. 이는 특히 컴퓨터 토모그래피에서 적용 예를 찾아볼 수 있는 표면 기술의 형태이다. 이는 일련의 2D 구분 영역에 의해서 3D 공간에 서 공지된 위치로 진화된 것이다. 이들 구획 영역의 구분 선은 다각형 또는 파라미터 화 함수에 의해서 3D 오브젝트에 연결된다.
파라미터 화의 다른 형태는 소위 포인트 클라우드(point cloud)이다. 여기서 표면 기술은 원 또는 타원과 같은 단순한 기하학적 3D 몸체에 대한 제어 포인트의 확장에 의해서 이루어진다. 이들 기하학적 몸체를 접촉 및 관통함으로써, 그래픽 모델의 폐쇄 표면이 이루어진다.
복셀 모델(voxel model) 파라미터 화는 연결 없이 특정 종류의 3D 기술을 형성한다. 여기서, 큐부 또는 큐보이드(cuboid)가 기하학적 몸체로 사용되고, 이는 실시예에 따라 크기가 동일하거나 다르며, 기하학적 몸체의 위치는 제어 포인트에 의해서 결정된다.
스켈레톤 모델(skeleton model) 파라미터 화는 3D 모델의 스켈레톤을 기술한 다수의 1차원 파라미터 화 함수의 지지 위치로서 제어 포인트를 사용한다. 이 모델의 표면은 스켈레톤 함수에 의해서 방사 확장, 예를 들면 실린더, 타원 또는 블랍(blob)에 의해서 전개된다.
마지막으로, 기하학적 고대 모델이 사용되는 파라미터 화의 일 형태가 있다. 3D 그래픽 또는 오브젝트는 간단한 소위 기하학적 고대 모델 또는 수개의 고대 모델의 결합한 것이다. 고대 모델은 구, 원뿔, 피라미드, 원뿔 기둥, 피라미드 기둥, 원통, 각기둥, 사각 블록, 타원, 또는 평행 파이프가 될 수 있고, 이들의 위치 및 위치 결정은 제어 포인트에 의해서 지정된다.
상술한 바와 같이, 사용되는 파라미터 화에 따라, 현재 인코딩될 정점의 공 간적 이웃이 공간 예측에서 결정되는 방식이 변경될 수 있다.
상술한 일시 연속적 메시의 시프트 벡터 또는 동작을 결정하는 외부 루프 및 일시적 또는 공간적 근사 시프트 벡터 사이에 미분 형태로 사용되는 내부 루프에서, 스케일링은 수단(36)에서 이루어진다. 이 스케일링은 제외될 수도 있고, 블록(38 및/또는 218)이 제외될 수도 있다. 다른 일반적인 사항들은 본 발명을 숙지한 당업자에게 명백한 것으로 하며 이는 특정 실시예의 설명에 제한되지 않는 것을 의도로 하는 이유이다.
따라서, 상기 실시예는 일시적 가변 3D 컴퓨터 그래픽 모델을 인코딩 및 디코딩하는 방법 및 구성을 나타내고, 여기서 인코딩 및 디코딩은 동작 보상, 양자화와 산술적 코딩뿐만 아니라 대응하는 컴퓨터 프로그램과 컴퓨터 프로그램이 실행가능한 방식으로 저장된 컴퓨터 판독 가능한 매체를 포함한다.
특히, 상기 실시예들은 3D 메시의 INTRA-INTER 코딩에 대한 완성된 시스템을 기술하고 있고, 여기서 정적 및 동적 모델(토폴러지 변경이 있거나 없거나)이 동일하게 처리될 수 있다. 인코딩된 메시의 고정 또는 가변 번호 이후에 INTRA 모드로 전환될 수도 있다. 시프트 벡터의 예측은 연속적인 시간 순간에서 3D 메시의 정점 사이에서 이루어질 수 있다. 메시 그룹에서 다수의 연속하는 시간 순간에 대한 각각의 시간 순간 별개로 또는 집합적으로 3D 메시의 시프트 벡터와 시프트 벡터의 산술적 코딩을 위한 CABAC의 적응 및 최적화를 사용하는 것은 더욱 향상된 압축률을 가능하게 한다. 하나 이상의 정점의 하나 이상의 시프트 벡터의 콤포넌트-와이즈(component-wise) 예측은 인코더에서 공통 그룹 예측기 또는 중간값 예측기 및 디코더에서 부 정보를 가지고 또는 없이 이루어질 수도 있다. 공간적으로 또는 일시적으로 이전에 인코딩된 정점의 시프트 벡터의 목적으로 중간값 예측기에 대한 대응하는 부 정보의 정형화된 전송 또는 선택 전송이 제공될 수도 있다. 마찬가지로, 인코딩될 정점 또는 시프트 정점의 그룹에 대하여 공통 예측기의 정형화 및 전송이 가능하다. 인코딩될 정점의 본래 시프트 벡터와 대응하는 예측된 각 시프트 벡터 중 콤포넌트-와이즈 시프트 벡터 차분은 더욱 용이하게 할 수 있도록 작은 값이 될 수 있다. 인코딩될 정점의 본래 시프트 벡터와 대응하는 예측된 시프트 벡터 사이의 양자화된 또는 비양자화된 시프트 벡터 차분의 엔트로피 디코딩은 더 큰 압축률을 제공한다. 디코딩된 시프트 벡터 차분과 디코더 또는 그룹 예측기에서 산출된 중간값 예측기의 추가에 의해서 인코딩된 정점의 디코딩이 디코더 측에서 이루질 수 있다. 환경 적응 산술 인코더에 의한 엔트로피 인코딩은 대응하는 엔트로피 디코딩과 마찬가지로 상술한 바와 같이 추가로 제공될 수도 있다. 상술한 바와 같이, 이전에 공간적으로 및 일시적으로 인코딩된 정점의 시프트 벡터 및 이들 양 정점에서의 위치에 의해 인코더 및 디코더에서의 연속적인 계산이 가능하다.
최종적으로, 조건에 따라 발명의 코딩 방법은 소프트웨어로 구현될 수 있음을 알 수 있다. 이 구현은 디지털 저장 매체, 특히 프로그램 가능한 컴퓨터 시스템과 상호 작용하여 대응하는 방법이 실행될 수 있는 전기적으로 판독 가능한 제어 신호를 구비한 플로피 디스크 또는 CD가 될 수도 있다. 통상적으로, 본 발명은 또한 컴퓨터 프로그램 제품이 컴퓨터에서 실행되는 경우 본 발명에 따른 방법을 수행 하는 기계 판독 가능한 캐리어에 저장된 프로그램 코드를 가진 컴퓨터 프로그램 제품을 포함한다. 즉, 본 발명은 따라서 컴퓨터 프로그램이 컴퓨터에서 실행되는 경우 방법을 실행하는 프로그램 코드를 가진 컴퓨터 프로그램으로서 실현될 수도 있다.
특히, 흐름도 블록 또는 수단 블록에서의 상 방법 단계는 개별적으로 또는 수개의 서브 프로그램 루틴으로 구현될 수도 있다. 대안적으로, 이들 블록의 구현은 물론 ASIC의 개별 부품으로도 가능하다.

Claims (21)

  1. 일시적 가변 그래픽 모델(60)을 나타내며, 차동 시간 순간(t)에서 상기 그래픽 모델(60)을 규정하는 좌표 데이터(m)를 갖는 일련의 데이터 부분(data portions)을 포함하는 데이터 스트림을 인코딩하는 데이터 스트림 인코딩 장치로서,
    현재 인코딩될 제 1 데이터 부분의 좌표 데이터(m(t))를, 현재 인코딩될 상기 제 1 데이터 부분을 선행하는 제 2 데이터 부분의 좌표 데이터(m(t-1))를 기초하여 예측함으로써, 상기 제 1 데이터 부분에 대한 예측 좌표 데이터(
    Figure 112007027099356-PCT00039
    (t))를 얻는 제 1 예측 수단(26),
    상기 제 1 데이터 부분에 대한 상기 예측 좌표 데이터(
    Figure 112007027099356-PCT00040
    (t))와 상기 제 1 데이터 부분에 대한 상기 좌표 데이터(m(t))를 비교함으로써, 현재 인코딩될 제 1 데이터 부분에 대한 예측 에러 벡터(d(t))를 얻는 제 1 비교 수단(46)),
    상기 제 1 데이터 부분에 대한 상기 예측 에러 벡터(d(t))를, 이미 얻어진 예측 에러 벡터(d(t-1), d(t))를 기초하여 예측함으로써, 상기 제 1 데이터 부분에 대한 예측된 예측 에러 벡터(
    Figure 112007027099356-PCT00041
    (t-1),
    Figure 112007027099356-PCT00042
    (t))를 얻는 제 2 예측 수단(24),
    상기 제 1 데이터 부분에 대한 상기 예측된 예측 에러 벡터(
    Figure 112007027099356-PCT00043
    (t-1)),
    Figure 112007027099356-PCT00044
    (t))와 상기 제 1 데이터 부분에 대한 상기 예측 에러 벡터(d(t))를 비교함으로써, 상기 제 1 데이터 부분에 대한 예측 에러 벡터 차분(e(t))을 얻는 제 2 비교 수단(30), 및
    상기 제 1 데이터 부분에 대한 상기 예측 에러 벡터 차분(e(t))을, 인코딩된 데이터 스트림의 부분을 얻도록 처리하는 수단(34, 36, 56)을 포함하는 데이터 스트림 인코딩 장치.
  2. 제 1 항에 있어서,
    상기 제 1 예측 수단(26) 및 상기 제 1 비교 수단은 상기 제 2 데이터 부분을 선행하는 제 3 데이터 부분의 좌표 데이터(m(t-2))에 기초하여 상기 제 2 데이터 부분의 상기 좌표 데이터(m(t-1))를 예측함으로써 상기 제 2 데이터 부분에 대한 예측 좌표 데이터((
    Figure 112007027099356-PCT00045
    (t-1))를 얻고, 상기 제 2 데이터 부분에 대한 상기 예측 좌표 데이터((
    Figure 112007027099356-PCT00046
    (t))와 상기 제 2 데이터 부분의 상기 좌표 데이터(m(t-1))를 비교함으로써 상기 제 2 데이터 부분에 대한 예측 에러 벡터(d(t-1))를 얻도록 형성되고, 상기 제 2 예측 수단(42)은 상기 제 2 데이터 부분에 대한 상기 예측 에러 벡터(d(t-1))에 기초하여 상기 제 1 데이터 부분에 대한 상기 예측 에러 벡터(d(t))를 예측하도록 형성되는 것인 데이터 스트림 인코딩 장치.
  3. 제 2 항에 있어서,
    현재 인코딩될 상기 제 1 데이터 부분의 상기 좌표 데이터(m(t))와 상기 제 2 데이터 부분의 상기 좌표 데이터(m(t-1)) 사이에 고유한 관계가 있는지의 여부를 검사하고, 관계가 없는 경우, 현재 인코딩될 상기 데이터 부분의 상기 좌표 데이터(m(t))를 예측 없이 즉시 인코딩되도록 하고, 상기 제 1 데이터 부분 이전에 데이터 부분의 좌표 데이터에 기초하지 않고 상기 제 1 데이터 부분에 후속하는 데이터 부분의 좌표 데이터(m(t+1))에 예측이 수행되게 하는 검사 수단(54)을 더 포함하는 것인 데이터 스트림 인코딩 장치.
  4. 제 2 항에 있어서,
    상기 제 2 예측 수단(24)은 상기 제 1 데이터 부분에 대한 상기 예측 에러 벡터(d(t))를, 상기 제 2 데이터 부분에 대한 이들 예측 에러 벡터(v(t-1))에 기초하여 예측하도록 형성되고, 상기 제 2 비교 수단(30)은 상기 제 1 데이터 부분의 상기 좌표 데이터(m(t))와 상기 제 2 데이터 부분의 상기 좌표 데이터(m(t-1)) 사이에 고유한 관계에 의해서 상기 제 1 데이터 부분에 대한 상기 예측 에러 벡터(d(t))에 할당되는 상기 제 2 데이터 부분에 대한 이들 예측 에러 벡터(d(t-1))와의 비교를 수행하도록 형성되는 것인 데이터 스트림 인코딩 장치.
  5. 제 1 항에 있어서,
    상기 제 2 예측 수단(24)은 현재 인코딩될 상기 제 1 데이터 부분에 대한 상기 예측 에러 벡터(d(t))의 일부분의 예측을, 상기 제 1 데이터 부분에 대한 이미 얻어진 예측 에러 벡터(d(t))에 기초하여 수행하도록 형성되는 것인 데이터 스트림 인코딩 장치.
  6. 제 1 항에 있어서,
    상기 제 2 예측 수단(24)은 상기 제 1 데이터 부분에 대한 소정의 예측 에러 벡터(di(t))의 상기 예측을 위해,
    처음에, 예측 좌표 정보(
    Figure 112007027099356-PCT00047
    j(t)), 그 다음 이로부터의 예측 에러 벡터(dj(t))가 상기 제 1 데이터 부분의 상기 좌표 데이터의 그 좌표 정보(mj(t))에 대하여 이미 얻어졌는지의 여부에 대하여, 좌표 정보(mi(t))에 이웃하고 있으며, 예측 좌표 정보(
    Figure 112007027099356-PCT00048
    i(t))가 얻어지고, 그 다음 상기 소정의 예측 에러 벡터(di(t))가 얻어지는 상기 데이터 스트림에서의 이웃 정보를 검사하고,
    그 좌표 정보(mj(t))가 존재하면, 그 좌표 정보(mj(t))에 대하여 데이터 예측 데이터 좌표 정보(
    Figure 112007027099356-PCT00049
    j(t))로부터 얻어진 상기 소정의 예측 에러 벡터(di(t))의 예측에 대하여 상기 예측 에러 벡터(dj(t))를 사용하도록 형성되는 것인 데이터 스트림 인코딩 장치.
  7. 제 1 항에 있어서,
    상기 제 2 예측 수단(24)은 하나 이상의 예측기가 상기 제 1 데이터 부분에 대하여 상기 예측 에러 벡터 중에 소정의 예측 에러 벡터(di(t))에 대하여 존재하는 경우에, 이들 예측기의 중앙값에 기초하여 상기 소정의 예측 에러 벡터의 예측을 수행하도록 형성되는 것인 데이터 스트림 인코딩 장치.
  8. 제 1 항에 있어서,
    상기 예측 에러 벡터(d(t))가 소정의 표준을 벗어났는지를 검사하고, 벗어난 경우라면, 상기 제 1 데이터 부분의 상기 좌표 데이터(m(t))를 즉시 예측 없이 인코딩되도록 하고, 상기 데이터 부분에 후속하는 데이터 부분의 좌표 데이터에 수행되는 예측이 상기 제 1 데이터 부분 이전 데이터 부분의 좌표 데이터에 기초하지 않고 수행되도록 하는 검사 수단(54)을 더 포함하는 것인 데이터 스트림 인코딩 장 치.
  9. 제 1 항에 있어서,
    상기 인코딩 수단(56)은,
    상기 예측 에러 벡터 차분(e(t))을 양자화하는 수단(36)을 포함하는 것인 데이터 스트림 인코딩 장치.
  10. 제 1 항에 있어서,
    상기 인코딩 수단(56)은,
    (a) 다수의 예측 에러 벡터 차분을 상기 예측 에러 벡터 차분이 결정된 예측 에러 벡터가 얻어진 좌표 정보에 따라 또는 상기 데이터 스트림에서의 이웃 정보에 따라 상기 예측 에러 벡터 차분을 그룹으로 분류하고 (80),
    (b) 예측 에러 벡터 차분의 각 그룹에 대한 대용 예측 에러 벡터 차분을 결정하고 (82),
    (c) 각 그룹에 대하여, 상기 대용 예측 에러 벡터 차분에 대한 상기 그룹의 상기 예측 에러 벡터 차분의 편차가 소정의 임계값을 초과하는지를 검사하고 (84),
    (d) 초과한 경우, 각 그룹에 대하여, 상기 각 그룹에 대한 단계(a) ~ (c)를 반복하고 (86),
    (e) 각 그룹의 상기 예측 에러 벡터 차분을 상기 대용 예측 에러 벡터 차분으로 교체(88) 하여 이를 상기 예측 에러 벡터 차분으로서 사용하고, 단계 (a)에서 분류의 결과를 상기 인코딩 데이터 스트림에 도입시킴으로써,
    다수의 예측 에러 벡터 차분을 데시메이팅(decimating)하는 수단(34)을 포함하는 것인 데이터 스트림 인코딩 장치.
  11. 제 1 항에 있어서,
    상기 예측 에러 벡터 차분을 인코딩하는 상기 인코딩 수단(56)은 제 1 이진화 방법에 따라 소정의 경계값(s)와 상기 예측 에러 벡터 차분의 최소분을 이진화함으로써 일차 프리픽스(144 : prefix)를 얻는 이진화 수단(120),
    상기 소정의 예측 에러 벡터 차분이 상기 경계값(s)보다 큰 경우 제 2 이진화 방법에 따라 상기 소정의 경계값(s)을 뺀 상기 소정의 예측 에러 벡터 차분의 차분을 이진화함으로써, 일차 서픽스(145: suffix)를 얻고, 상기 서픽스(145)를 상기 일차 프리픽스(144)에 부가하되, 상기 제 1 및 제 2 이진화 방법은 서로 상이한 이진화 수단(126), 및
    상기 일차 프리픽스 또는 상기 일차 프리픽스와 상기 일차 서픽스로 구성된 코드워드(codeword)에서 각 비트를,
    상기 코드워드의 비트가 상기 일차 프리픽스(144)(160)의 일부이면, 적응적 가변 비트값 확률 추정에 의해서 상기 비트를 이치적으로 대수적으로 인코딩하고 (162),
    상기 코드워드의 비트가 상기 일차 서픽스(145)(162)의 일부이면, 상태 비트값 확률 추정에 의해서 상기 비트를 이치적으로 대수적으로 인코딩(166)함 으로써,
    이치적으로 대수적으로 인코딩하는 수단(102)을 포함하는 것인 데이터 스트림 인코딩 장치.
  12. 일시적 가변 그래픽 모델(60)을 나타내며, 차동 시간 순간(t)에서 상기 그래픽 모델(60)을 규정하는 좌표 데이터(m)를 갖는 일련의 데이터 부분(data portions)을 포함하는 데이터 스트림의 인코딩된 형태이며 예측 에러 벡터 차분을 포함하는 인코딩 데이터 스트림을 디코딩하는 데이터 스트림 디코딩 장치로서,
    상기 인코딩 데이터 스트림을, 디코딩된 예측 에러 벡터 차분(
    Figure 112007027099356-PCT00050
    (t))을 얻도록 처리하는 수단(216, 218, 220),
    현재 디코딩될 제 1 데이터 부분에 대한 예측 에러 벡터(
    Figure 112007027099356-PCT00051
    (t))를, 이미 디코딩된 예측 에러 벡터 차분(
    Figure 112007027099356-PCT00052
    (t))을 기초하여 예측함으로써, 상기 제 1 데이터 부분에 대한 예측된 예측 에러 벡터(
    Figure 112007027099356-PCT00053
    (t-1)),
    Figure 112007027099356-PCT00054
    (t))를 얻는 제 1 예측 수단(226),
    상기 예측된 예측 에러 벡터(
    Figure 112007027099356-PCT00055
    (t-1),
    Figure 112007027099356-PCT00056
    (t))와 현재 디코딩될 상기 제 1 데이터 부분의 예측 에러 벡터 차분(
    Figure 112007027099356-PCT00057
    (t))을 결합시킴으로써, 상기 제 1 데이터 부분에 대한 예측 에러 벡터(
    Figure 112007027099356-PCT00058
    (t))를 얻는 제 1 결합 수단(222),
    상기 제 1 데이터 부분의 좌표 데이터(
    Figure 112007027099356-PCT00059
    (t))를, 상기 제 1 데이터 부분을 선행하는 제 2 데이터 부분의 이미 얻어진 좌표 데이터(
    Figure 112007027099356-PCT00060
    (t-1))에 기초하여 예측함으로써, 상기 제 1 데이터 부분에 대한 예측된 좌표 데이터(
    Figure 112007027099356-PCT00061
    (t-1))를 얻는 제 2 예측 수단(230), 및
    상기 제 1 데이터 부분에 대한 상기 예측된 좌표 데이터(
    Figure 112007027099356-PCT00062
    (t-1))를 상기 제 1 데이터 부분에 대한 상기 예측 에러 벡터(
    Figure 112007027099356-PCT00063
    (t))와 결합시킴으로써, 상기 제 1 데이터 부분의 상기 좌표 데이터(
    Figure 112007027099356-PCT00064
    (t))를 얻는 제 2 결합 수단(224)을 포함하는 데이터 스트림 디코딩 수단.
  13. 제 12 항에 있어서,
    상기 제 1 예측 수단(226)은 상기 제 1 데이터 부분에 대한 상기 예측 에러 벡터(
    Figure 112007027099356-PCT00065
    (t))를 상기 제 2 데이터 부분에 대한 이들 예측 에러 벡터 차분(
    Figure 112007027099356-PCT00066
    (t-1))에 기초하여 예측하도록 형성되고, 상기 제 2 결합 수단(230)은 상기 제 1 데이터 부분의 사기 예측 에러 벡터 차분(
    Figure 112007027099356-PCT00067
    (t))과 상기 제 2 데이터 부분의 상기 예측 에러 벡터 차분(
    Figure 112007027099356-PCT00068
    (t-1)) 사이의 고유 관계에 의해서 상기 제 1 데이터 부분에 대한 상기 예측 에러 벡터 차분(
    Figure 112007027099356-PCT00069
    (t))에 할당되는 상기 제 2 데이터 부분에 대한 이들 예측 에러 벡터 차분(
    Figure 112007027099356-PCT00070
    (t-1))과 결합을 수행하도록 형성되는 것인 데이터 스트림 디코딩 수단.
  14. 제 12 항에 있어서,
    상기 제 2 예측 수단(226)은 현재 디코딩될 상기 제 1 데이터 부분에 대한 상기 예측 에러 벡터(d(t))의 일부의 예측을, 상기 제 1 데이터 부분에 대한 이미 얻어진 예측 에러 벡터(v(t))에 기초하여 수행하도록 형성되는 것인 데이터 스트림 디코딩 수단.
  15. 제 12 항에 있어서,
    상기 제 2 예측 수단은 상기 제 1 데이터 부분에 대한 소정의 예측 에러 벡터(di(t))의 예측을 위해,
    먼저, 상기 제 1 데이터 부분의 상기 예측 에러 벡터 차분(
    Figure 112007027099356-PCT00071
    j(t))의 그 예측 에러 벡터 차분(
    Figure 112007027099356-PCT00072
    j(t)) 및 이로부터 예측된 예측 에러 벡터(
    Figure 112007027099356-PCT00073
    j(t))가 이미 얻어졌는지의 여부에 관하여, 예측 에러 벡터 차분(
    Figure 112007027099356-PCT00074
    i(t))에 대하여 이웃하고 있으며, 소정의 예측 에러 벡터(di(t))가 결합에 의해서 얻어지게 되는, 상기 데이터 스트림에서의 이웃 정보를 검사하고,
    이러한 예측 에러 벡터 차분(
    Figure 112007027099356-PCT00075
    j(t))이 존재하면, 상기 소정의 예측 에러 벡터(di(t))의 예측을 위해 얻어진 상기 예측 에러 벡터(dj(t))를 사용하도록 형성되 는 것인 데이터 스트림 디코딩 장치.
  16. 제 12 항에 있어서,
    상기 제 1 예측 수단(226)은 하나 이상의 예측기가 상기 제 1 데이터 부분에 대한 예측 에러 벡터들 중 소정의 예측 에러 벡터를 위해 존재하는 경우 이들 예측기의 중앙값에 기초하여 상기 소정의 예측 에러 벡터의 예측을 수행하도록 형성되는 것인 데이터 스트림 디코딩 장치.
  17. 제 12 항에 있어서,
    상기 인코딩 수단(56)은,
    소정의 에러 벡터 차분의 수를,
    (a) 상기 인코딩 데이터 스트림에서의 분류 정보에 따라 대용 예측 에러 벡터 차분으로서 상기 예측 에러 벡터 차분을 그룹으로 할당하고,
    (b) 각 예측 에러 벡터 차분을 동일한 예측 에러 벡터 차분의 그룹으로 교체하고(88) 이들을 상기 예측 에러 벡터 차분으로서 사용함으로써, 확대하는 수단(34)을 포함하는 것인 데이터 스트림 디코딩 장치.
  18. 제 12 항에 있어서,
    소정의 예측 에러 벡터 차분은 그 이진화를 나타내는 코드워드의 비트를 비트-바이-비트로 인코딩 데이터 스트림으로 인코딩함으로써 인코딩 데이터 스트림으 로 인코딩되고, 상기 코드워드는 제 1 이진화 방법에 따라 상기 소정의 예측 에러 벡터 차분의 최소분의 이진화를 나타내는 일차 프리픽스를 포함하고, 상기 소정의 예측 에러 벡터 차분이 소정의 경계값보다 크면, 상기 제 1 이진화 방법과 상이한 제 2 이진화 방법에 따라 상기 소정의 예측 에러 벡터 차분의 상기 소정의 경계값을 뺀 차분의 이진화를 나타내는 일차 서픽스를 포함하고, 상기 인코딩 데이터 스트림을 처리하는 수단(216)은,
    상기 코드워드의 각 비트에 대하여,
    상기 코드워드의 상기 비트가 상기 일차 프리픽스의 부분이면, 적응 가변 비트값 확률 추정에 의해 상기 비트를 이치적으로 대수적으로 디코딩하고,
    상기 코드워드의 상기 비트가 상기 일차 서픽스의 부분이면, 스태틱 비트값 확률 추정에 의해서 이치적으로 대수적으로 디코딩함으로써, 상기 코드워드를 얻는 수단,
    상기 일차 프리픽스로부터 최소값을 추출하는 수단,
    상기 일차 서픽스로부터 상기 차분을 추출하고 상기 최소값이 상기 소정의 경계값보다 작으며 그 차분을 상기 소정의 경계값에 가산함으로써, 상기 소정의 예측 에러 벡터 차분을 얻고, 그렇지 않으면 상기 최소값을 상기 예측 에러 벡터 차분으로 간주하는 수단을 포함하는 것인 데이터 스트림 디코딩 장치.
  19. 일시적 가변 그래픽 모델(60)을 나타내며, 차동 시간 순간(t)에서 상기 그래픽 모델(60)을 규정하는 좌표 데이터(m)를 갖는 일련의 데이터 부분(data portions)을 포함하는 데이터 스트림을 인코딩하는 방법으로서,
    현재 인코딩될 제 1 데이터 부분의 좌표 데이터(m(t))를, 현재 인코딩될 상기 제 1 데이터 부분을 선행하는 제 2 데이터 부분의 좌표 데이터(m(t-1))를 기초하여 예측함으로써, 상기 제 1 데이터 부분에 대한 예측 좌표 데이터(
    Figure 112007027099356-PCT00076
    (t))를 얻는 단계,
    상기 제 1 데이터 부분에 대한 상기 예측 좌표 데이터(
    Figure 112007027099356-PCT00077
    (t))와 상기 제 1 데이터 부분에 대한 상기 좌표 데이터(m(t))를 비교함으로써, 현재 인코딩될 제 1 데이터 부분에 대한 예측 에러 벡터(d(t))를 얻는 단계,
    상기 제 1 데이터 부분에 대한 상기 예측 에러 벡터(d(t))를, 이미 얻어진 예측 에러 벡터(d(t-1), d(t))를 기초하여 예측함으로써, 상기 제 1 데이터 부분에 대한 예측된 예측 에러 벡터(
    Figure 112007027099356-PCT00078
    (t-1),
    Figure 112007027099356-PCT00079
    (t))를 얻는 단계,
    상기 제 1 데이터 부분에 대한 상기 예측된 예측 에러 벡터(
    Figure 112007027099356-PCT00080
    (t-1)),
    Figure 112007027099356-PCT00081
    (t))와 상기 제 1 데이터 부분에 대한 상기 예측 에러 벡터(d(t))를 비교함으로써, 상기 제 1 데이터 부분에 대한 예측 에러 벡터 차분(e(t))을 얻는 단계, 및
    상기 제 1 데이터 부분에 대한 상기 예측 에러 벡터 차분(e(t))을, 인코딩된 데이터 스트림의 부분을 얻도록 처리하는 단계를 포함하는 데이터 스트림 인코딩 방법.
  20. 일시적 가변 그래픽 모델(60)을 나타내며, 차동 시간 순간(t)에서 상기 그래픽 모델(60)을 규정하는 좌표 데이터(m)를 갖는 일련의 데이터 부분(data portions)을 포함하는 데이터 스트림의 인코딩된 형태이며, 예측 에러 벡터 차분을 포함하는 인코딩 데이터 스트림을 디코딩하는 방법으로서,
    상기 인코딩 데이터 스트림을, 디코딩된 예측 에러 벡터 차분(
    Figure 112007027099356-PCT00082
    (t))을 얻도록 처리하는 단계,
    현재 디코딩될 제 1 데이터 부분에 대한 예측 에러 벡터(
    Figure 112007027099356-PCT00083
    (t))를, 이미 디코딩된 예측 에러 벡터 차분(
    Figure 112007027099356-PCT00084
    (t))을 기초하여 예측함으로써, 상기 제 1 데이터 부분에 대한 예측된 예측 에러 벡터(
    Figure 112007027099356-PCT00085
    (t-1)),
    Figure 112007027099356-PCT00086
    (t))를 얻는 단계,
    상기 예측된 예측 에러 벡터(
    Figure 112007027099356-PCT00087
    (t-1),
    Figure 112007027099356-PCT00088
    (t))와 현재 디코딩될 상기 제 1 데이터 부분의 예측 에러 벡터 차분(
    Figure 112007027099356-PCT00089
    (t))을 결합시킴으로써, 상기 제 1 데이터 부분에 대한 예측 에러 벡터(
    Figure 112007027099356-PCT00090
    (t))를 얻는 단계,
    상기 제 1 데이터 부분의 좌표 데이터(
    Figure 112007027099356-PCT00091
    (t))를, 상기 제 1 데이터 부분을 선행하는 제 2 데이터 부분의 이미 얻어진 좌표 데이터(
    Figure 112007027099356-PCT00092
    (t-1))에 기초하여 예측함으로써, 상기 제 1 데이터 부분에 대한 예측된 좌표 데이터(
    Figure 112007027099356-PCT00093
    (t-1))를 얻는 단계, 및
    상기 제 1 데이터 부분에 대한 상기 예측된 좌표 데이터(
    Figure 112007027099356-PCT00094
    (t-1))를 상기 제 1 데이터 부분에 대한 상기 예측 에러 벡터(
    Figure 112007027099356-PCT00095
    (t))와 결합시킴으로써, 상기 제 1 데이터 부분의 상기 좌표 데이터(
    Figure 112007027099356-PCT00096
    (t))를 얻는 단계를 포함하는 데이터 스트림 디코딩 방법.
  21. 컴퓨터에서 실행될 때, 제 19 항 또는 제 20 항에 따른 방법을 수행하기 위한 프로그램 코드를 가진 컴퓨터 프로그램.
KR1020077008053A 2004-10-08 2005-09-15 일시적 가변 그래픽 모델을 나타내는 데이터 스트림에 대한코딩 방법 KR100891375B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102004049156.9 2004-10-08
DE102004049156A DE102004049156B4 (de) 2004-10-08 2004-10-08 Codierschema für einen ein zeitlich veränderliches Graphikmodell darstellenden Datenstrom

Publications (2)

Publication Number Publication Date
KR20070088609A true KR20070088609A (ko) 2007-08-29
KR100891375B1 KR100891375B1 (ko) 2009-04-02

Family

ID=35115770

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077008053A KR100891375B1 (ko) 2004-10-08 2005-09-15 일시적 가변 그래픽 모델을 나타내는 데이터 스트림에 대한코딩 방법

Country Status (8)

Country Link
US (1) US7929795B2 (ko)
EP (1) EP1797536B1 (ko)
JP (1) JP4579987B2 (ko)
KR (1) KR100891375B1 (ko)
CN (1) CN100547615C (ko)
AT (1) ATE441905T1 (ko)
DE (2) DE102004049156B4 (ko)
WO (1) WO2006039979A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007531078A (ja) * 2003-07-16 2007-11-01 ハンヤン ハク ウォン カンパニー,リミテッド 3次元メッシュ情報の符号化及び復号化方法並びにその装置
US8542748B2 (en) 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
JP5524072B2 (ja) * 2008-10-10 2014-06-18 株式会社東芝 動画像符号化装置
KR101669873B1 (ko) * 2009-10-16 2016-10-27 삼성전자주식회사 삼차원 메쉬 압축장치 및 방법
US8711760B2 (en) * 2010-03-26 2014-04-29 Intel Corporation Method and apparatus to adjust received signal
CN102263560B (zh) * 2010-05-28 2013-11-20 富士通株式会社 差分编码方法和系统
US20120014431A1 (en) * 2010-07-14 2012-01-19 Jie Zhao Methods and Systems for Parallel Video Encoding and Parallel Video Decoding
US10349070B2 (en) * 2010-09-30 2019-07-09 Texas Instruments Incorporated Simplified binary arithmetic coding engine
US9313514B2 (en) 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization
CN107529708B (zh) 2011-06-16 2019-05-07 Ge视频压缩有限责任公司 解码器、编码器、解码和编码视频的方法及存储介质
EP3021591A1 (en) * 2011-06-28 2016-05-18 Samsung Electronics Co., Ltd. Apparatus for decoding video accompanied with context-based arithmetic decoding
UA114674C2 (uk) 2011-07-15 2017-07-10 ДЖ.І. ВІДІЕУ КЕМПРЕШН, ЛЛСі Ініціалізація контексту в ентропійному кодуванні
US8736603B2 (en) * 2011-11-02 2014-05-27 Visual Technology Services Limited Compression of texture rendered wire mesh models
US9154792B2 (en) 2011-11-08 2015-10-06 Qualcomm Incorporated Progressive coding of position of last significant coefficient
US9357185B2 (en) 2011-11-08 2016-05-31 Qualcomm Incorporated Context optimization for last significant coefficient position coding
BR112015025623B1 (pt) * 2013-04-08 2023-02-07 Dolby International Ab Método e codificador para codificar uma tabela de busca de cor tridimensional associada a octantes de uma octree, e método e decodificador para decodificar uma tabela de busca de cor tridimensional de octantes
EP3334157B1 (en) * 2015-08-04 2020-09-02 LG Electronics Inc. Inter prediction method and device in video coding system
TWI620437B (zh) * 2016-12-02 2018-04-01 英業達股份有限公司 重覆播放系統與方法
GB2565268B (en) * 2017-06-22 2021-11-24 Avago Tech Int Sales Pte Lid Apparatus and method for packing a bit stream
TWI659205B (zh) * 2017-09-19 2019-05-11 財團法人工業技術研究院 即位量測系統、基準校準方法、誤差量測方法與電腦可讀取記錄媒體
CN111541456B (zh) * 2020-05-18 2023-07-18 深圳市埃伯瑞科技有限公司 一种连续变量分布的软网格编码方法及其解码方法
CN112218008B (zh) * 2020-10-12 2024-01-23 Oppo广东移动通信有限公司 设备控制方法、装置、存储介质和电子设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4802102A (en) * 1987-07-15 1989-01-31 Hewlett-Packard Company Baseline correction for chromatography
US5568378A (en) * 1994-10-24 1996-10-22 Fisher-Rosemount Systems, Inc. Variable horizon predictor for controlling dead time dominant processes, multivariable interactive processes, and processes with time variant dynamics
US5818463A (en) * 1997-02-13 1998-10-06 Rockwell Science Center, Inc. Data compression for animated three dimensional objects
EP2352300A1 (en) 1997-02-13 2011-08-03 Mitsubishi Denki Kabushiki Kaisha Moving picture prediction system
JP2002290743A (ja) * 2001-03-23 2002-10-04 Ricoh Co Ltd 画像情報符号化方法、符号化装置、ディジタル複写機、ディジタルファクシミリ装置、及び、ディジタルファイリング装置
JP2002300043A (ja) * 2001-04-03 2002-10-11 Sony Corp 情報処理装置及び方法、並びに記憶媒体
EP1322119B1 (en) * 2001-11-27 2013-01-09 Samsung Electronics Co., Ltd. Apparatus for encoding and decoding key data and keyvalue data of coordinate interpolator and recording medium
KR100480787B1 (ko) * 2001-11-27 2005-04-07 삼성전자주식회사 좌표 인터폴레이터의 키 값 데이터 부호화/복호화 방법 및 장치
US6690307B2 (en) * 2002-01-22 2004-02-10 Nokia Corporation Adaptive variable length coding of digital video
JP4021685B2 (ja) 2002-03-04 2007-12-12 松下電器産業株式会社 画像合成変換装置
HUE026930T2 (en) * 2002-03-15 2016-08-29 Nokia Technologies Oy Procedure for encoding motion in a series of images
JP4441182B2 (ja) * 2003-01-10 2010-03-31 三菱電機株式会社 画像符号化装置および画像復号化装置

Also Published As

Publication number Publication date
EP1797536B1 (de) 2009-09-02
WO2006039979A1 (de) 2006-04-20
US7929795B2 (en) 2011-04-19
JP2008516318A (ja) 2008-05-15
DE502005008069D1 (de) 2009-10-15
ATE441905T1 (de) 2009-09-15
CN100547615C (zh) 2009-10-07
CN101061515A (zh) 2007-10-24
KR100891375B1 (ko) 2009-04-02
DE102004049156A1 (de) 2006-04-20
EP1797536A1 (de) 2007-06-20
DE102004049156B4 (de) 2006-07-13
US20070242894A1 (en) 2007-10-18
JP4579987B2 (ja) 2010-11-10

Similar Documents

Publication Publication Date Title
KR100891375B1 (ko) 일시적 가변 그래픽 모델을 나타내는 데이터 스트림에 대한코딩 방법
US11711545B2 (en) Arithmetic coding information for parallel octree coding
US11895307B2 (en) Block-based predictive coding for point cloud compression
US20190311501A1 (en) Hierarchical point cloud compression with smoothing
AU2020397870A1 (en) Method and apparatus for point cloud coding
US5724451A (en) Image compression method and apparatus using conditional quadtree split sysyem
KR102600727B1 (ko) 파라미터화된 확률 추정 유한 상태 머신들을 이용한 이진 산술 코딩
CN105027560A (zh) 确定用于变换系数的二进制码字的方法
US20240078715A1 (en) Apparatus and method for point cloud processing
US20030142098A1 (en) Encoding method and apparatus of deformation information of 3D object
CN115299055A (zh) 基于几何形状的点云压缩的trisoup语法信令
WO2022131948A1 (en) Devices and methods for sequential coding for point cloud compression
MXPA03006756A (es) Metodo de compresion de informacion de imagen en movimiento y su sistema.
JP2002064821A (ja) 動画像情報の圧縮方法およびそのシステム
Corte-Real et al. A very low bit rate video coder based on vector quantization
JPH09326024A (ja) 画像符号及び復号化方法とその装置
JP2000165873A (ja) 動画像情報の圧縮方法およびそのシステム
JPH1098620A (ja) 画像処理装置
Menasri et al. Hardware implementation of HEVC CABAC binarization/de-binarization
JP3359214B2 (ja) 多値画像符号化装置
KR100284764B1 (ko) 디지탈 영상 데이타 압축방법 및 부호화기
WO2024123569A1 (en) Geometry point cloud coding method, encoder and decoder
KR20240030922A (ko) Mpeg-vcm에 기반하여 인공신경망을 분산 처리하는 npu 및 방법
KR20240105394A (ko) 바이너리 복셀 그리드 코딩에 대한 상태 요약
JP2024512915A (ja) 非マニホールドメッシュにおける境界ループの検出のための方法、装置、およびコンピュータプログラム

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140320

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160315

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170314

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180320

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190318

Year of fee payment: 11