KR20100014553A - 비디오 신호의 인코딩/디코딩 방법 및 장치 - Google Patents

비디오 신호의 인코딩/디코딩 방법 및 장치 Download PDF

Info

Publication number
KR20100014553A
KR20100014553A KR1020097019888A KR20097019888A KR20100014553A KR 20100014553 A KR20100014553 A KR 20100014553A KR 1020097019888 A KR1020097019888 A KR 1020097019888A KR 20097019888 A KR20097019888 A KR 20097019888A KR 20100014553 A KR20100014553 A KR 20100014553A
Authority
KR
South Korea
Prior art keywords
information
interview
picture
block
view
Prior art date
Application number
KR1020097019888A
Other languages
English (en)
Inventor
전용준
전병문
박승욱
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of KR20100014553A publication Critical patent/KR20100014553A/ko

Links

Images

Classifications

    • 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/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • 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
    • H04N19/527Global motion vector estimation
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은, 부가 정보를 이용하여 참조 블록을 찾는 단계, 상기 참조 블록으로부터 현재 블록의 움직임 정보를 유도하는 단계 및 상기 현재 블록의 움직임 정보를 이용하여 상기 현재 블록을 디코딩하는 단계를 포함하되, 상기 부가 정보는 상기 참조 블록과 대응 블록의 위치 차이를 나타내는 오프셋 정보를 포함하고, 상기 대응 블록은 상기 현재 블록의 시점과 상기 참조 블록의 시점 사이의 변이 차이를 나타내는 글로벌 움직임 벡터가 가리키는 블록인 것을 특징으로 하는 비디오 신호 디코딩 방법을 제공한다.

Description

비디오 신호의 인코딩/디코딩 방법 및 장치{A METHOD AND AN APPARATUS FOR DECODING/ENCODING A VIDEO SIGNAL}
본 발명은 비디오 신호의 코딩에 관한 기술이다.
압축 부호화란 디지털화한 정보를 통신 회선을 통해 전송하거나, 저장매체에 적합한 형태로 저장하는 일련의 신호 처리 기술을 의미한다. 압축부호화의 대상에는 음성, 영상, 문자 등의 대상이 존재하며, 특히 영상을 대상으로 압축 부호화를 수행하는 기술을 비디오 영상 압축이라고 일컫는다. 비디오 영상의 일반적인 특징은 공간적 중복성, 시간적 중복성을 지니고 있는 점에 특징이 있다.
Technical Problem
본 발명의 목적은 비디오 신호의 코딩 효율을 높이고자 함에 있다.
Technical Solution
시점간 픽쳐들의 관련성을 근거로 하여 현재 픽쳐의 모션 정보를 획득함으로써 움직임 보상을 수행할 수 있는 비디오 신호 디코딩/인코딩 방법 및 장치를 제공하는데 있다.
현재 픽쳐의 모션 정보와 유사성이 높은 참조 시점의 모션 정보를 이용함으로써, 현재 픽쳐의 복원률을 높일 수 있는 비디오 신호 디코딩/인코딩 방법 및 장치를 제공하는데 있다.
픽쳐의 시점을 식별할 수 있는 시점 정보를 정의함으로써 비디오 신호를 효율적으로 코딩하고자 한다.
시점간 예측에 이용되는 참조 픽쳐들을 관리하기 위한 방법을 제공함으로써 비디오 신호를 효율적으로 코딩하고자 한다.
비디오 신호의 움직임 정보를 예측하는 방법을 제공함으로써 비디오 신호를 효율적으로 처리하고자 한다.
현재 블록에 대응되는 블록을 찾는 방법을 제공함으로써 비디오 신호를 효율적으로 처리하고자 한다.
Advantageous Effects
본 발명에 따르면, 영상 시퀀스의 시간적, 공간적 상관 관계를 이용하여 움직임 정보를 예측함으로써 신호 처리 효율을 높일 수 있다. 또한 현재블록과 상관 관계가 높은 픽쳐의 코딩 정보를 이용하여 현재 블록의 코딩 정보를 예측함으로써 보다 정확하게 예측이 가능하고, 그에 따른 오차값 전송량이 감소하게 되어 효율적인 코딩을 수행할 수 있다. 그리고, 현재 블록의 움직임 정보가 전송되지 않더라도, 현재 블록의 움직임 정보와 매우 유사한 움직임 정보를 산출할 수 있기 때문에 복원율이 향상되는 효과가 있다.
또한, 시점간 예측에 이용되는 참조 픽쳐들을 관리하기 위한 방법을 제공함으로써 보다 효율적으로 코딩을 수행할 수 있게 된다. 본 발명을 이용하여 시점간 예측(inter-view prediction)을 수행할 때, DPB(Decoded Picture Buffer)의 부담을 감소시켜 코딩 속도를 향상시킬 수 있을 뿐만 아니라 보다 정확한 예측이 가능하여 전송할 비트수를 감소시킬 수도 있다. 또한, 다시점 영상에 대한 다양한 속성 정보들을 이용함으로써 보다 효율적인 코딩이 가능할 수 있다.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호 디코딩 장치의 개략적인 블록도를 나타낸다.
도 2는 본 발명이 적용되는 실시예로서, 다시점 영상 코딩된 비트스트림에 추가될 수 있는 다시점 영상에 대한 속성 정보들을 나타낸다.
도 3은 본 발명이 적용되는 실시예로서, 인터뷰 픽쳐 그룹의 개념을 설명하기 위한 다시점 영상 신호의 전체적인 예측 구조를 나타낸다.
도 4는 본 발명이 적용되는 실시예로서, 모션 스킵 여부에 따라 움직임 보상을 수행하는 방법을 설명하기 위해 나타낸 것이다.
도 5는 본 발명이 적용되는 실시예로서, 대응 블록을 찾는 방법을 설명하기 위해 나타낸 것이다.
도 6은 본 발명이 적용되는 다른 실시예로서, 부가 정보를 이용하여 대응 블록을 찾는 방법을 설명하기 위해 나타낸 것이다.
도 7은 본 발명이 적용되는 실시예로서, 하나 이상의 참조 시점이 이용될 수 있는 경우 모션 스킵을 수행하는 방법을 설명하기 위해 나타낸 것이다.
도 8a 내지 도 8d는 본 발명이 적응되는 시점이 이용가능할 경우 모션 스킵 에 이용되는 시점을 알려주기 위한 다양한 실시예들을 나타낸다.
도 9a, 도 9b 및 도 10a, 도 10b는 본 발명이 적용되는 실시예로서, 시점간 해상도가 다른 경우 시점간 예측을 수행하는 방법을 설명하기 위해 나타낸 것이다.
도 11은 본 발명이 적용되는 실시예로서, 모션 스킵이 수행되는 경우 참조 인덱스를 유도하는 방법을 설명하기 위해 나타낸 것이다.
도 12는 본 발명이 적용되는 실시예로서, 시점간 예측에 이용되는 움직임 벡터를 획득하기 위한 다양한 방법들을 설명하기 위해 나타낸 것이다.
도 13a와 도 13b는 본 발명이 적용되는 실시예로서, 확장된 인터뷰 참조 정보를 나타내는 신택스이다.
도 14는 본 발명이 적용되는 실시예로서, 깊이 정보를 전송하기 위한 다양한 방법들을 설명하기 위해 나타낸 것이다.
Best Mode for Carrying Out the Invention
본 발명은, 부가 정보를 이용하여 참조 블록을 찾는 단계, 상기 참조 블록으로부터 현재 블록의 움직임 정보를 유도하는 단계 및 상기 현재 블록의 움직임 정보를 이용하여 상기 현재 블록을 디코딩하는 단계를 포함하되, 상기 부가 정보는 상기 참조 블록과 대응 블록의 위치 차이를 나타내는 오프셋 정보를 포함하고, 상기 대응 블록은 상기 현재 블록의 시점과 상기 참조 블록의 시점 사이의 변이 차이를 나타내는 글로벌 움직임 벡터가 가리키는 블록인 것을 특징으로 하는 비디오 신호 디코딩 방법을 제공한다.
또한, 발명은, 현재 블록의 움직임 정보가 유도되는지 여부를 나타내는 제 2 플래그 정보를 획득하는 단계와 상기 제 2 플래그 정보에 기초하여 상기 부가 정보를 획득하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 발명은, 제 2 플래그 정보는 매크로블록 레이어로부터 획득되는 것을 특징으로 한다.
또한, 발명은, 현재 슬라이스가 모션 스킵을 이용하는지 여부를 나타내는 제 1 플래그 정보를 획득하는 단계를 더 포함하되, 상기 제 2 플래그 정보는 상기 제 1 플래그 정보에 기초하여 획득되는 것을 특징으로 한다.
또한, 발명은, 상기 제 1 플래그 정보는 슬라이스 헤더로부터 획득되는 것을 특징으로 한다.
또한, 발명은, 상기 제 1 플래그 정보 또는 상기 제 2 플래그 정보는 인터뷰 픽쳐 그룹 식별 정보에 기초하여 획득되는 것을 특징으로 한다.
또한, 발명은, 인터뷰 픽쳐 그룹 식별 정보에 따라 현재 픽쳐가 넌-인터뷰 픽쳐 그룹에 해당되는 경우, 상기 제 1 플래그 정보 또는 상기 제 2 플래그 정보가 획득되는 것을 특징으로 한다.
또한, 발명은, 상기 제 1 플래그 정보는 시점간 참조 관계를 나타내는 인터뷰 참조 정보에 기초하여 획득되는 것을 특징으로 한다.
또한, 발명은, 인터뷰 참조 정보는 시퀀스 파라미터 세트의 확장 영역으로부터 획득되는 것을 특징으로 한다.
또한, 발명은, 인터뷰 참조 정보는 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 픽쳐의 개수 정보를 포함하는 것을 특징으로 한다.
또한, 발명은, 넌-인터뷰 픽쳐 그름의 인터뷰 참조 픽쳐가 L0 방향 또는/및 L1 방향으로 적어도 하나 이상 존재하는 것을 특징으로 한다.
또한, 발명은, 글로벌 움직임 벡터와 오프셋 정보를 이용하여 수정된 글로벌 움직임 벡터를 유도하는 단계를 더 포함하고, 상기 수정된 글로벌 움직임 벡터를 이용하여 상기 참조 블록의 위치 정보가 유도되는 것을 특징으로 한다.
또한, 발명은, 글로벌 움직임 벡터는 시점간 참조 관계를 나타내는 인터뷰 참조 정보에 기초하여 획득되는 것을 특징으로 한다.
또한, 발명은, 인터뷰 참조 정보는 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 픽쳐의 개수 정보를 포함하고, 상기 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 픽쳐의 개수 정보만큼 상기 글로벌 움직임 벡터가 획득되는 것을 특징으로 한다.
또한, 발명은, 글로벌 움직임 벡터는 인터뷰 픽쳐 그룹 식별 정보에 기초하여 획득되는 것을 특징으로 한다.
또한, 발명은, 인터뷰 픽쳐 그룹 식별 정보에 따라 현재 픽쳐가 인터뷰 픽쳐 그룹에 해당되는 경우, 상기 글로벌 움직임 벡터가 획득되는 것을 특징으로 한다.
또한, 본 발명은, 부가 정보를 이용하여 참조 블록을 찾는 대응 블록 탐색부와 상기 참조 블록으로부터 현재 블록의 움직임 정보를 유도하는 움직임 정보 유도부 및 상기 현재 블록의 움직임 정보를 이용하여 상기 현재 블록을 디코딩하는 움직임 보상부를 포함하되, 상기 부가 정보는 상기 참조 블록과 대응 블록의 위치 차이를 나타내는 오프셋 정보를 포함하고, 상기 대응 블록은 상기 현재 블록의 시점과 상기 참조 블록의 시점 사이의 변이 차이를 나타내는 글로벌 움직임 벡터가 가 리키는 블록인 것을 특징으로 하는 비디오 신호 디코딩 장치를 제공한다.
비디오 신호 데이터를 압축 부호화하는 기술은 공간적 중복성, 시간적 중복성, 스케일러블한 중복성, 시점간 존재하는 중복성을 고려하고 있다. 또한, 이러한 압축 부호화 과정에서 시점 간 존재하는 상호 중복성을 고려하여 압축 코딩을 할 수 있다. 시점간 중복성을 고려하는 압축 코딩에 대한 기술은 본 발명의 실시예일 뿐이며, 본 발명의 기술적 사상은 시간적 중복성, 스케일러블한 중복성 등에도 적용될 수 있다 또한, 본 명세서에서 코딩이라 함은 인코딩과 디코딩의 개념을 모두 포함할 수 있고, 본 발명의 기술적 사상 및 기술적 범위에 따라 유연하게 해석할 수 있을 것이다.
비디오 신호의 비트열 구성을 살펴보면, 동영상 부호화 처리 그 자체를 다루는 VCL(Video Coding Layer, 비디오 부호화 계층)과 부호화된 정보를 전송하고 저장하는 하위 시스템과의 사이에 있는 NAL(Network Abstraction Layer, 네트워크 추상 계층)이라는 분리된 계층 구조로 정의되어 있다. 부호화 과정의 출력은 VCL 데이터이고 전송하거나 저장하기 전에 NAL 단위로 맵핑된다. 각 NAL 단위는 압축된 비디오 데이터 또는 헤더 정보에 해당하는 데이터인 RBSP(Raw Byte Sequence Payload, 동영상 압축의 결과데이터)를 포함한다.
NAL 단위는 기본적으로 NAL 헤더와 RBSP의 두 부분으로 구성된다. NAL 헤더에는 그 NAL 단위의 참조픽처가 되는 슬라이스가 포함되어 있는지 여부를 나타내는 플래그 정보(nal_ref_idc)와 NAL 단위의 종류를 나타내는 식별자(nal_unit_type)가 포함되어 있다 RBSP 에는 압축된 원본이 데이터를 저장하며, RBSP 의 길이를 8비트의 배수로 표현하기 위해 RBSP 의 마지막에 RBSP 채워넣기 비트(RBSP trailing bit)를 첨가한다. 이러한 NAL 단위의 종류에는 IDR (Instantaneous Decoding Refresh, 순간 복호 리프레쉬) 픽쳐, SPS (Sesuence Parameter Set, 시퀀스 파라미터 세트), PPS (Picture Parameter Set, 픽쳐 파라미터 세트), SEI (Supplemental Enhancement Information, 보충적 부가정보) 등이 있다.
또한, 규격에서는 대상 제품을 적당한 비용으로 구현 가능하도록 여러 가지 프로파일 및 레벨로 제약하고 있는데, 복호기는 해당 프로파일과 레벨에서 정해진 제약을 만족시켜야 한다. 이처럼 복호기가 어떤 압축 영상의 범위까지 대응할 수 있는지 그 기능 또는 파라미터를 나타내기 위해 프로파일과 레벨이라는 두 가지의 개념이 정의되었다. 비트스트림이 어떤 프로파일에 기초하는 것인가는 프로파일 식별자(profile_idc)로 식별할 수 있다. 프로파일 식별자란, 비트스트림이 기반을 둔 프로파일을 나타내는 플래그를 의미한다. 예를 들어, H.264/AVC 에서는 프로파일 식별자가 66이면 베이스라인 프로파일에 기초함을 의미하고, 77 이면 메인 프로파일에 기초함을 의미하며, 88 이면 확장 프로파일에 기초함을 의미한다. 상기 프로파일 식별자는 시퀀스 파라미터 세트에 포함될 수 있다.
따라서, 다시점(multiview) 영상을 다루기 위해서는 입력되는 비트스트림이 다시점 프로파일(Multiview Profile)에 대한 것인지 여부를 식별하고, 다시점 프로파일로 식별되면 다시점에 대한 하나 이상의 추가 정보를 전송할 수 있도록 신택스를 추가할 필요가 있다. 여기서 다시점 프로파일이란, H.264/AVC의 추가 기술로서 다시점 비디오(multiview video)를 다루는 프로파일 모드(profile mode)를 나타낸다. MVC는 기존 AVC 기술에 대한 추가 기술이므로 무조건적인 신택스보다는 MVC 모드인 경우에 대한 추가 정보로서 신택스를 추가하는 것이 더 효율적일 수 있다. 예를 들어, AVC의 프로파일 식별자가 다시점 프로파일을 나타낼 때 다시점 영상에 대한 정보를 추가하면 부호화 효율을 높일 수 있다.
시퀀스 파라미터 세트란, 프로파일, 레벨 등 시퀀스 전체의 부호화에 걸쳐있는 정보가 포함되어 있는 헤더 정보를 말한다. 압축된 동영상 전체, 즉 시퀀스는 반드시 시퀀스 헤더로부터 시작하여야 하므로 헤더 정보에 상당하는 시퀀스 파라미터 세트는 그 파라미터 세트를 참조하는 데이터보다 먼저 복호기에 도착하여야 한다. 결국, 시퀀스 파라미터 세트 RBSP 는 동영상 압축의 결과 데이터에 대한 헤더 정보로써의 역할을 한다. 비트스트림이 입력되면, 먼저 프로파일 식별자는 입력된 비트스트림이 복수개의 프로파일 중에서 어떤 프로파일에 기초하는 것인지를 식별하게 된다. 따라서, 입력되는 비트스트림이 다시점 프로파일에 대한 것인지 여부를 판단하는(예를 들어, " If ( profile_idc = MULTI_VIEW_PROFILE )") 부분을 신택스 상에 추가함으로써, 입력된 비트스트림이 다시점 프로파일에 대한 것인지 여부를 판별하고, 다시점 프로파일에 대한 것으로 인정되는 경우에만 여러 가지 속성 정보들을 추가할 수 있게 된다. 예를 들어, 전체 시점의 개수, 인터뷰 참조 픽쳐의 개수, 인터뷰 참조 픽쳐의 시점 식별 번호 등을 추가할 수 있다. 또한, 복호 픽쳐 버퍼에서는 참조 픽쳐 리스트를 생성 및 관리하기 위하여 인터뷰 참조 픽쳐에 대한 정보들을 이용할 수 있다.
도 1은 본 발명이 적용되는 비디오 신호 디코딩 장치의 개략적인 블록도를 나타낸다.
도 1을 참조하면, 상기 디코딩 장치는 끄게 파싱부(100), 엔트로피 디코딩부(200), 역양자화/역변환부(300), 인트라 예측부(400), 디블록킹 필터부(500), 복호 픽쳐 버퍼부(600), 인터 예측부(700) 등을 포함할 수 있다. 그리고, 복호 픽쳐 버퍼부(600)는 크게 참조 픽쳐 저장부(미도시), 참조 픽쳐 리스트 생성부(미도시), 참조 픽쳐 관리부(미도시) 등을 포함할 수 있다. 인터 예측부(700)는 모션 스킵 판별부(710), 대응 블록 탐색부(720), 움직임 정보 유도부(730), 움직임 보상부(740) 및 움직임 정보 획득부(750)를 포함할 수 있다.
파싱부(100)에서는 수신된 비디오 영상을 복호하기 위하여 NAL 단위로 파싱을 수행한다. 일반적으로 하나 또는 그, 이상의 시퀀스 파라미터 셋과 픽쳐 파라미터 셋이 슬라이스 헤더와 슬라이스 데이터가 디코딩되기 전에 디코더로 전송된다. 이 때 NAL 헤더 영역 또는 NAL 헤더의 확장 영역에는 여러 가지 속성 정보가 포함될 수 있다. MVC는 기존 AVC 기술에 대한 추가 기술이므로 무조건적으로 추가하기보다는 MVC 비트스트림인 경우에 한해 여러 가지 속성 정보들을 추가하는 것이 더 효율적일 수 있다. 예를 들어, 상기 NAL 헤더 영역 또는 NAL 헤더의 확장 영역에서 MVC 비트스트림인지 여부를 식별할 수 있는 플래그 정보를 추가할 수 있다. 상기 플래그 정보에 따라 입력된 비트스트림이 다시점 영상 코딩된 비트스트림일 경우에 한해 다시점 영상에 대한 속성 정보들을 추가할 수 있다. 예를 들어, 상기 속성 정보들은 시점 식별(view iden-tification) 정보, 인터뷰 픽쳐 그룹 식별 정보 (inter-view picture group identification informatlon), 인터뷰 예측 플래그 정보(inter-view prediction flag information), 시간적 레벨(temporal level) 정보, 우선순위 식별(priority identification) 정보, 시점에 대한 순간 복호 픽쳐인지 여부를 나타내는 식별 정보 등을 포함할 수 있다. 이는 도 2에서 상세히 설명하도록 한다.
파싱된 비트스트림은 엔트로피 디코딩부(200)를 통하여 엔트로피 디코딩되고, 각 매크로브록의 계수, 움직임 벡터 등이 추출된다. 역양자화/역변환부(300)에서는 수신된 양자화된 값에 일정한 상수를 곱하여 변환된 계수값을 획득하고, 상기 계수값을 역변환하여 화소값을 복원하게 된다. 상기 복원된 화소값을 이용하여 인트라 예측부(400)에서는 현재 픽쳐내의 디코딩된 샘플로부터 화면내 예측을 수행하게 된다. 한편, 디블록킹 필터부(500)에서는 블록 왜곡 현상을 감소시키기 위해 각각의 코딩된 매크로블록에 적용된다. 필터는 블록의 가장자리를 부드럽게 하여 디코딩된 프레임의 화질을 향상시킨다. 필터링 과정의 선택은 경계 세기(boundary strenth)와 경계 주위의 이미지 샘플의 변화(gradient)에 의해 좌우된다. 필터링을 거친 픽쳐들은 출력되거나 참조 픽쳐로 이용하기 위해 복호 픽쳐 버퍼부(600)에 저장된다.
복호 픽쳐 버퍼부(Decoded Picture Buffer unit)(600)에서는 화면간 예측을 수행하기 위해서 이전에 코딩된 픽쳐들을 저장하거나 개방하는 역할 등을 수행할 수 있다. 이 때 복호 픽쳐 버퍼부(600)에 저장하거나 개방하기 위해서 각 픽쳐의 frame_num 과 POC(Picture Order Count)를 이용하게 된다. 따라서, MVC에 있어서 상기 이전에 코딩된 픽쳐들 중에는 현재 픽쳐와 다른 시점에 있는 픽쳐들도 있으므로, 이러한 픽쳐플을 참조 픽쳐로서 활용하기 위해서는 상기 frame_num 과 POC 뿐만 아니라 픽쳐의 시점을 식별하는 시점 정보도 함께 이용할 수 있다. 상기 복호 픽쳐 버퍼부(600)는 참조 픽쳐 저장부(미도시)와 참조 픽쳐 리스트 생성부(미도시)와 참조 픽쳐 관리부(미도시)를 포함한다.
상기 참조 픽쳐 저장부는 현재 픽쳐의 코딩을 위해 참조가 되는 픽쳐들을 저장한다. 참조 픽쳐 리스트 생성부는 화면간 예측을 위한 참조 픽쳐들의 리스트를 생성하게 된다. 다시점 비디오 코딩에 있어서는 시점간 예측이 이루어질 수 있으므로 현재 픽쳐가 다른 시점에 있는 픽쳐를 참조하게 되는 경우, 시점간 예측을 위한 참조 픽쳐 리스트를 생성할 필요가 있을 수 있다. 상기 참조 픽쳐 리스트 생성부는 시점간 예측을 위한 참조 픽쳐 리스트를 생성하기 위하여 시점에 대한 정보를 이용할 수 있다. 예를 들어, 인터뷰 참조 정보(Inter-view reference information)를 이용할 수 있다. 인터뷰 참조 정보란, 시점관 의존 관계를 나타내기 위해 이용되는 정보들을 말한다. 예를 들어, 전체 시점의 개수, 시점 식별 번호, 인터뷰 참조 픽쳐의 개수, 인터뷰 참조 픽쳐의 시점 식별 번호 등이 있을 수 있다.
참조 픽쳐 관리부는 보다 유연하게 화면간 예측을 실현하기 위하여 참조 픽쳐를 관리한다. 예를 들어, 적응 메모리 관리 방법(Memory Management Control Operation Method)과 이동 윈도우 방법(Sliding Window Method)이 이용될 수 있다. 이는 참조 픽쳐와 비참조 픽쳐의 메모리를 하나의 메모리로 통일하여 관리하고 적은 메모리로 효율적으로 관리하기 위함이다. 다시점 비디오 코딩에 있어서, 시점 방향의 픽쳐들은 픽쳐 출력 순서(Picture Order Count)가 동일하기 때문에 이들의 마킹을 위해서는 각 픽쳐의 시점을 식별해주는 정보가 이용될 수 있다. 이러한 과정을 통해 관리되는 참조 픽쳐들은 인터 예측부(700)에서 이용될 수 있다.
상기와 같은 과정을 통해 인터 예측된 픽쳐들과 인트라 예측된 픽쳐들은 예측 모드에 따라 선택되어 현재 픽쳐를 복원하게 된다.
도 2는 본 발명이 적용되는 실시예로서, 다시점 영상 코딩된 비트스트림에 추가될 수 있는 다시점 영상에 대한 속성 경보들을 나타낸다.
상기 도 2에서는 다시점 영상에 대한 속성 정보들이 추가될 수 있는 NAL 단위의 구성의 일례를 나타낸다. 크게 NAL 유닛은 NAL 유닛의 헤더와 RBSP(Raw Byte Sesuence Payload, 동영상 압축의 결과데이터)로 구성될 수 있다. 그리고, NAL 유닛의 헤더에서는 NAL 유닛이 참조 픽쳐의 슬라이스를 포함하고 있는지 여부를 나타내는 식별 정보(nal_ref_idc)와 NAL 유닛의 타입을 나타내는 정보(nal_unit_type)를 포함할 수 있다. 또한, 제한적으로 상기 NAL 유닛 헤더의 확장 영역도 포함할 수 있다. 예를 들어, 상기 NAL 유닛의 타입을 나타내는 정보가 다시점 비디오 코딩과 관련이 있는 경우, 또는 prefix NAL 유닛을 나타내는 경우에, 상기 NAL 유닛은 상기 NAL 유닛 헤더의 확장 영역도 포함할 수 있다. 구체적 예로, 상기 nal_unit_type = 20 또는 14일때 상기 NAL 유닛은 상기 NAL 유닛 헤더의 확장 영역도 포함할 수 있다. 또한, 상기 NAL 유닛 헤더의 확장 영역 내에서는, MVC 비트스트림인지 여부를 식별할 수 있는 플래그 정보(svc_mvc_flag)에 따라 다시점 영상에 대한 속성 정보들을 추가할 수 있다.
또 다른 예로, 상기 NAL 유닛의 타입을 나타내는 정보가 시퀀스 파라미터 세트를 나타내는 정보일 경우, 상기 RBSP는 시퀀스 파라미터 세트에 대한 정보를 포함할 수 있다. 구체적 예로, nal_unit_type = 7 일 경우, 상기 RBSP는 시퀀스 파라미터 세트에 대한 정보를 포함할 수 있다. 또는, nal_unit_type = 15 일 경우, 상기 RBSP는 서브셋 시퀀스 파라미터 세트에 대한 정보를 포함할 수 있다. 이 때, 프로파일 정보에 따라 상기 서브셋 시퀀스 파라미터 세트는 시퀀스 파라미터 세트의 확장 영역을 포함할 수 있다 예를 들어, 프로파일 정보(profile_idc)가 다시점 비디오 코딩에 관련된 프로파일인 경우, 상기 서브셋 시퀀스 파라미터 세트는 시퀀스 파라미터 세트의 확장 영역을 포함할 수 있다. 상기 시퀀스 파라미터 세트의 확장 영역은 시점간 의존 관계를 나타내는 인터뷰 참조 정보를 포함할 수 있다.
이하 다시점 영상에 대한 다양한 속성 정보들, 예를 들어, NAL 유닛 헤더의 확장 영역에 포함될 수 있는 속성 정보들, 또는 시퀀스 파라미터 세트의 확장 영역에 포함될 수 있는 속성 정보들에 대해 구체적으로 살펴보도록 한다.
먼저 시점 식별 정보(view identification information)란, 현재 시점에 있는 픽쳐와 다른 시점에 있는 픽쳐를 구별하기 위한 정보를 말한다. 비디오 영상 신호가 코딩될 때, 각각의 픽쳐를 식별하기 위하여 POC(Picture Order Count)와 frame_num 이 이용된다. 다시점 비디오 영상인 경우에는 시점간 예측이 수행되기 때문에 현재 시점에 있는 픽쳐와 다른 시점에 있는 픽쳐를 구별하기 위한 식별 정보가 필요하다. 따라서, 픽쳐의 시점을 식별하는 시점 식별 정보를 정의할 필요가 있다. 상기 시점 식별 정보는 비디오 신호의 헤더 영역으로부터 획득될 수 있다. 예를 들어, 상기 헤더 영역은 NAL 헤더 영역 또는 NAL 헤더의 확장 영역일 수도 있고, 슬라이스 헤더 영역일 수도 있다. 상기 시점 식별 정보를 이용하여 현재 픽쳐와 다른 시점에 있는 픽쳐의 정보를 획득하고, 상기 다른 시점에 있는 픽쳐의 정보를 이용하여 상기 비디오 신호를 디코딩할 수 있다.
이러한 상기 시점 식별 정보는 비디오 신호의 인코딩/디코딩 과정 전반에 걸쳐 적용될 수 있다. 예를 들어, 시점 식별 정보는 시점간 의존 관계를 나타내기 위해 이용될 수 있다. 시점간 의존 관계를 나타내기 위해서는 인터뷰 참조 픽쳐의 개수 정보, 인터뷰 참조 픽쳐의 시점 식별 정보 등이 필요할 수 있다. 상기 인터뷰 참조 픽쳐의 개수 정보, 인터뷰 참조 픽쳐의 시점 식별 정보처럼, 시점관 의존 관계를 나타내기 위해 이용되는 정보들을 인터뷰 참조 정보(inter-view reference information)라 부르기로 한다. 이때, 상기 인터뷰 참조 픽쳐의 시점 식별 정보를 나타내기 위해 상기 시점 식별 정보가 이용될 수 있다. 여기서, 인터뷰 참조 픽쳐(inter-view reference picture)란, 현재 픽쳐에 대해 시점간 예측을 수행할 때 이용되는 참조 픽쳐를 의미할 수 있다. 또한, 특정한 시점 식별자가 아닌, 시점이 고려된 frame_num을 이용하여 다시점 비디오 코딩에 그대로 적용할 수도 있다.
인터뷰 픽쳐 그룹 식별 정보(inter-view picture group identification in-formation)란, 현재 NAL 유닛의 코딩된 픽쳐가 인터뷰 픽쳐 그룹인지 여부를 식별하는 정보를 말한다. 그리고, 인터뷰 픽쳐 그룹(inter-view picture group)이라 함은, 모든 슬라이스들이 동일 시간대의 프레임에 있는 슬라이스만을 참조하는 부호화된 픽쳐를 의미한다, 예를 들어, 다른 시점에 있는 슬라이스만을 참조하고 현재 시점에 있는 슬라이스는 참조하지 않는 부호화된 픽쳐를 말한다. 다시점 영상의 복호화 과정에 있어서, 시점 간의 랜덤 액세스는 가능할 수 있다. 또한, 시점간 예측을 위해서는 인터뷰 참조 정보가 필요한데, 상기 인터뷰 참조 정보를 획득할 때, 인터뷰 픽쳐 그룹 식별 정보가 이용될 수 있다. 예를 들어. 현재 픽쳐가 인터뷰 픽쳐 그룹에 해당되는 경우, 인터뷰 픽쳐 그룹에 대한 인터뷰 참조 정보를 획득할 수 있다. 현재 픽쳐가 넌-인터뷰 픽쳐 그룹에 해당되는 경우에는 넌-인터뷰 픽쳐 그룹에 대한 인터뷰 참조 정보를 획득할 수 있다. 이는 도 3에서 상세히 설명하도록 한다.
이처럼, 인터뷰 픽쳐 그룹 식별 정보에 기초하여 인터뷰 참조 정보를 획득하게 될 경우, 보다 효율적으로 시점 간의 랜덤 액세스를 수행할 수 있게 된다. 이는 인터뷰 픽쳐 그룹에서의 각 픽쳐들 사이의 시점간 참조 관계가 넌-인터뷰 픽쳐 그룹에서의 시점간 참조 관계가 다를 수 있기 때문이다. 또한, 인터뷰 픽쳐 그룹 또는 넌-인터뷰 픽쳐 그룹의 경우 복수개의 시점에 있는 픽쳐들을 참조할 수도 있기 때문이다 예를 들어, 복수개의 시점에 있는 픽쳐로부터 가상 시점의 픽쳐를 생성하고, 상기 가상 시점의 픽쳐를 이용하여 현재 픽쳐를 예측할 수 있다. 또는, 복수개의 시점에 있는 복수개의 픽쳐를 참조하여 현재 픽쳐를 예측할 수도 있다. 또한, 참조 픽쳐 리스트를 생성할 때 상기 인터뷰 픽쳐 그룹 식별 정보가 이용될 수도 있다. 이때 상기 참조 픽쳐 리스트는 시점간 예측을 위한 참조 픽쳐 리스트를 포함할 수 있다. 그리고, 상기 시점간 예측을 위한 참조 픽쳐 리스트는 상기 참조 픽쳐 리스트에 추가될 수 있다. 예를 들어, 참조 픽쳐 리스트를 초기화하는 경우나 상기 참조 픽쳐 리스트를 수정하는 경우에 상기 인터뷰 픽쳐 그룹 식별 정보가 이용될 수 있다. 그리고, 추가된 상기 시점간 예측을 위한 참조 픽쳐들을 관리하기 위해서도 이용될 수 있다. 예를 들어, 상기 참조 픽쳐들을 인터뷰 픽쳐 그룹과 넌-인터뷰 픽쳐 그룹으로 나누고, 시점간 예측을 수행할 때 이용되지 않는 참조 픽쳐들은 사용하지 않겠다는 마킹을 할 수 있다. 또한, 상기 인터뷰 픽쳐 그룹 식별 정보는 가상 참조 디코더(hypothetical reference decoder)에서도 적용될 수 있다.
인터뷰 예측 플래그 정보(inter-view prediction flag information)란, 현재 NAL 유닛의 코딩된 픽쳐가 시점간 예측을 위해 이용되는지 여부를 나타내는 정보를 말한다. 상기 인터뷰 예측 플래그 정보는 시간적 예측 또는 시점간 예측이 수행되는 부분에서 이용될 수 있다. 이때, NAL 유닛이 참조 픽쳐의 슬라이스를 포함하고 있는지 여부를 나타내는 식별 정보와 함께 이용될 수 있다. 예를 들어, 상기 식별 정보에 따라 현재 NAL 유닛이 참조 픽쳐의 슬라이스를 포함하고 있지는 않지만 시점간 예측을 위해 이용되는 경우에, 상기 현재 NAL 유닛은 시점간 예측에만 이용되는 참조 픽쳐일 수 있다. 또는, 상기 식별 정보에 따라 현재 NAL 유닛이 참조 픽쳐의 슬라이스를 포함하고 시점간 예측을 위해 이용되는 경우에, 상기 현재 NAL 유닛은 시간적 예측과 시점간 예측을 위해 이용될 수 있다. 또한, 상기 식별 정보에 따라 NAL 유닛이 참조 픽쳐의 슬라이스를 포함하고 있지 않더라도, 복호 픽쳐 버퍼에 저장될 수 있다. 왜냐하면, 상기 인터뷰 예측 플래그 정보에 따라 현재 NAL 유닛의 코딩된 픽쳐가 시점간 예측을 위해 이용되는 경우에는 저장해야 될 필요가 있기 때문이다.
상기 플래그 정보와 식별 정보를 함께 이용하는 경우 외에, 하나의 식별 정보로서 현재 NAL 유닛의 코딩된 픽쳐가 시간적 예측 또는/및 시점간 예측을 위해 이용되는지 여부를 나타낼 수도 있다.
또한, 상기 인터뷰 예측 플래그 정보는 싱글 루프 디코딩 과정에서 이용될 수도 있다. 상기 인터뷰 예측 플래그 정보에 따라 현재 NAL 유닛의 코팅된 픽쳐가 시점간 예측을 위해 이용되지 않는 경우 부분적으로 디코딩을 수행할 수 있다. 예를 들어, 인트라 매크로블록은 완전히 디코딩을 수행하고, 인터 매크로블록은 레지듀얼 정보만 디코딩을 수행할 수 있다. 이로써 디코딩 장치의 복잡도를 감소시킬 수 있다. 이는 사용자가 모든 시점의 영상을 보지 않고 어느 특정 시점의 영상만을 볼 때, 다른 시점들 중 특별히 움직임 보상을 수행하여 영상을 복원할 필요가 없는 경우에 효율적일 수 있다.
본 발명의 일실시예로서, 도 3의 그림을 이용하여 설명해보도록 한다.
예를 들어, 도 3에서 일부분만 볼 때, 코딩하는 순서는 S0, S2, S1 순서일 수 있다. 현재 코딩하고자 하는 픽쳐를 S1 시점의 T2 시간대에 있는 B3 픽쳐라고 하자. 이때 시점간 예측을 위해 S0 시점의 T2 시간대에 있는 B2 픽쳐와, S2 시점의 T2시간대에 있는 B2 픽쳐를 이용할 수 있다. 만약 S0 시점의 T2 시간대에 있는 B2 픽쳐가 시점간 예측에 이용된다면 상기 인터뷰 예측 플래그 정보가 1로 셋팅될 수 있다, 그리고, 만약 시점간 예측에 이용되지 않는다면 0으로 셋팅될 수 있다. 이때 S0 시점에 있는 모든 슬라이스의 인터뷰 예측 플래그 정보가 0이 된다면 상기 S0 시점의 모든 슬라이스를 디코딩할 필요가 없게 될 수 있다. 따라서, 코딩 효율을 높일 수 있게 된다.
또 다른 예로서, 만약 S0 시점에 있는 모든 슬라이스의 인터뷰 예측 플래그 정보가 0이 아니라면, 즉 하나라도 1로 셋팅된 경우가 있다면, 0으로 셋팅된 슬라이스라 할지라도 반드시 디코딩을 해야 한다. 만약 S0 시점의 T2 시간대에 있는 B2 픽쳐가 현재 픽쳐의 디코딩에 이용되지 않아 상기 인터뷰 예측 플래그 정보를 0으로 셋팅하고 디코딩을 수행하지 않는다고 가정하면, S0 시점에 있는 슬라이스들을 디코딩할 때 상기 S0 시점의 T2 시간대에 있는 B2 픽쳐를 참조 픽쳐로 사용하는 S0 시점의 T1 시간대에 있는 B3 픽쳐와 S0 시점의 T3 시간대에 있는 B3 픽쳐는 복원할 수 없게 되기 때문이다. 따라서 상기 인터뷰 예측 플래그 정보에 상관없이 반드시 복원해야만 한다.
또 다른 예로서, 상기 인터뷰 예측 플래그 정보는 복호 픽쳐 버퍼(Decoded Picture Buffer, DPB)에 사용될 수 있다. 만약, 상기 인터뷰 예측 플래그 정보가 없다면 상기 복호 픽쳐 버퍼에 무조건 상기 S0 시점의 T2 시간대에 있는 B2 픽쳐 등을 저장해 두어야 한다. 그러나, 상기 인터뷰 예측 플래그 정보가 0이라는 것를 알 수 있다면 상기 S0 시점의 T2 시간대에 있는 B2 픽쳐는 상기 복호 픽쳐 버퍼에 저장 하지 않을 수 있다. 따라서, 복호 픽쳐 버퍼의 메모리를 절약할 수 있게 된다.
시간적 레벨 정보(temporal level information)란, 비디오 신호로부터 시간 적 확장성을 제공하기 위한 계층적인 구조에 대한 정보를 말한다. 이러한 시간적 레벨 정보를 통해 사용자에게 다양한 시간대의 영상을 제공할 수 있게 된다.
우선순위 식별(priority identification) 정보란, NAL 유닛의 우선순위를 식별해주는 정보를 의미한다. 이를 이용하여 시점 확장성을 제공할 수 있다. 예를 들어, 상기 우선순위 식별 정보를 이용하여 시점 레벨 정보를 정의할 수 있다. 여기서, 시점 레벨 정보란, 비디오 신호로부터 시점 확장성을 제공하기 위한 계층적인 구조에 대한 정보를 말한다. 다시점 비디오 영상에서는 사용자에게 다양한 시간 및 시점의 영상을 제공하도록 하기 위해 시간 및 시점에 대한 레벨을 정의해 줄 필요가 있다. 이처럼 레벨 정보를 정의할 경우, 시간 및 시점에 대한 확장성(scalability)을 이용할 수 있게 된다. 따라서, 사용자는 원하는 시간 및 시점의 영상만을 볼 수도 있고, 다른 제한 조건에 따른 영상만을 볼 수 있게 된다. 상기 레벨 정보는 그 기준 조건에 따라 다양한 방법으로 다르게 설정될 수 있다. 예를 들어, 카메라의 위치에 따라 다르게 설정될 수 있고, 카메라의 배열 형태에 따라 다르게 설정될 수 있다. 또한, 상기 레벨 정보는 인터뷰 참조 정보를 고려하여 결정될 수도 있는데, 예를 들어, 인터뷰 픽쳐 그룹이 I픽쳐인 시점에는 레벨을 0으로 할당하고, 인터뷰 픽쳐 그룹이 P픽쳐인 시점에는 레벨을 1로 할당하고, 인터 뷰 픽쳐 그룹이 B픽쳐인 시점에는 레벨을 2로 할당할 수 있다. 이처럼 상기 레벨값을 상기 우선순위 정보에 할당할 수도 있을 것이다. 또한, 상기 레벨 정보는 특별한 기준에 의하지 않고 임의로 설정될 수도 있다.
도 3은 본 발명이 적용되는 실시예로서, 인터뷰 픽쳐 그룹의 개념을 설명하 기 위한 다시점 영상 신호의 전체적인 예측 구조를 나타낸다.
도 3에 나타난 바와 같이 가로축의 T0 ∼ T100 은 각각 시간에 따른 프레임을 나타낸 것이고, 세로축의 S0 ∼ S7은 각각 시점에 따른 프레임을 나타낸 것이다. 예를 들어, T0에 있는 픽쳐들은 같은 시간대(T0)에 서로 다른 카메라에서 찍은 영상들을 의미하며, S0 에 있는 픽쳐들은 한 대의 카메라에서 찍은 다른 시간대의 영상들을 의미한다. 또한, 도면 상의 화살표들은 각 픽쳐들의 예측 방향과 순서를 나타낸 것으로서, 예를 들어, T0 시간대의 S2 시점에 있는 P0 픽쳐는 I0로부터 예측된 픽쳐이며, 이는 T0 시간대의 S4 시점에 있는 P0 픽쳐의 참조 픽쳐가 된다. 또한, S2 시점의 T4, T2 시간대에 있는 B1, B2 픽쳐의 참조 픽쳐가 된다.
다시점 영상의 복호화 과정에 있어서, 시점 간의 랜덤 액세스가 필요할 수 있다. 따라서, 복호화 노력을 최소화하면서 임의 시점에 대한 액세스가 가능하도록 하여야 한다. 여기서 효율적인 랜덤 액세스를 실현하기 위하여 인터뷰 픽쳐 그룹의 개념이 필요할 수 있다. 인터 뷰 픽쳐 그룹의 정의는 앞서 상기 도 2에서 설명한 바 있다. 예를 들면, 도 3에서, T0 시간대의 S0 시점에 있는 I0픽쳐가 인터 뷰 픽쳐 그룹이라면, 같은 시간대에 있는, 즉 T0 시간대의 다른 시점에 있는 모든 픽쳐들 또한 인터 뷰 픽쳐 그룹이 될 수 있다. 또 다른 예로서, T8 시간대의 S0 시점에 있는 I0픽쳐가 인터 뷰 픽쳐 그룹이라면, 같은 시간대에 있는, 즉 T8 시간대의 다른 시점에 있는 모든 픽쳐들 또한 인터 뷰 픽쳐 그룹이 될 수 있다. 마찬가지로, T16, ..., T96, T100 에 있는 모든 픽쳐들이 인터 뷰 픽쳐 그룹의 예가 될 수 있다.
다른 실시예로서, MVC의 전반적인 예측 구조에 있어서, GOP는 I 픽쳐로부터 시작될 수 있으며, 상기 I 픽쳐는 H.264/AVC와 호환 가능하다. 따라서, H,264/AVC와 호환 가능한 모든 인터 뷰 픽쳐 그룹들은 항상 I 픽쳐가 될 수 있다. 그러나, 상기 I 픽쳐들을 P 픽쳐로 대체하게 될 경우, 우리는 보다 효율적인 코딩이 가능해질 수 있다. 즉, GOP가 H.264/AVC와 호환 가능한 P 픽쳐로 시작하도록 하는 예측 구조를 이용할 경우 보다 효율적인 코딩이 가능해질 것이다. 이 때, 인터 뷰 픽쳐 그룹을 다시 정의하면, 모든 슬라이스들이 동일 시간대의 프레임에 있는 슬라이스뿐만 아니라 동일 시점의 다른 시간대에 있는 슬라이스도 참조할 수 있는 부호화된 픽쳐가 된다. 다만, 동일 시점의 다른 시간대에 있는 슬라이스를 참조하는 경우는 오로지 H.264/AVC와 호환 가능한 인터 뷰 픽쳐 그룹에 한할 수 있다.
인터뷰 픽쳐 그룹이 디코딩된 후, 차례로 코딩된 모든 픽쳐들은 출력 순서상 인터뷰 픽쳐 그룹에 선행하여 디코딩된 픽쳐로부터 인터-프리딕션(inter-prediction)없이 디코딩 된다.
따라서, 상기 도 3의 다시점 비디오 영상의 전반적인 코딩 구조에 따를 때, 인터뷰 픽쳐 그룹과 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 정보가 다르기 때문에 인터뷰 픽쳐 그룹 식별 정보에 따라 인터뷰 픽쳐 그룹과 넌-인터뷰 픽쳐 그룹을 구별할 필요가 있다.
상기 인터뷰 참조 정보는, 시점간 영상들이 어떠한 구조로 예측되었는지를 알 수 있는 정보를 의미할 수 있다. 이는 비디오 신호의 데이터 영역로부터 획득될 수 있는데, 예를 들어, 시퀀스 파라미터 셋 영역으로부터 획득될 수 있다. 또한, 상기 인터뷰 참조 정보는 참조 픽쳐의 개수와 참조 픽쳐의 시점 정보를 이용하여 파악할 수 있다. 예를 들어, 먼저 전체 시점의 개수를 획득하고, 상기 전체 시점의 개수에 근거하여 각 시점을 구별하는 시점 식별 정보를 파악할 수 있다. 그리고, 각 시점마다 참조 방향에 대한 참조 픽쳐의 개수를 나타내는 인터뷰 참조 픽쳐의 개수 정보를 획득할 수 있다. 상기 인터뷰 참조 픽쳐의 개수 정보에 따라 각 인터뷰 참조 픽쳐의 시점 식별 정보를 획득할 수 있다.
이러한 방식을 통해서 상기 인터뷰 참조 정보가 획득될 수 있으며, 상기 인터뷰 참조 정보는 인터뷰 픽쳐 그룹일 경우와 넌-인터뷰 픽쳐 그룹일 경우로 나누어서 파악될 수 있다. 이는 현재 NAL에 있는 코딩된 슬라이스가 인터뷰 픽쳐 그룹인지 여부를 나타내는 인터뷰 픽쳐 그룹 식별 정보를 이용하여 알 수 있다. 이러한 인터뷰 픽쳐 그룹 식별 정보는 NAL 헤더의 확장 영역으로부터 획득될 수 있으며, 또는 슬라이스 레이어 영역으로부터 획득될 수도 있다.
또한, 상기 인터뷰 픽쳐 그룹 식별 정보에 따라 획득된 인터뷰 참조 정보는 참조 픽쳐 리스트의 생성 및 관리 등에 이용될 수 있다.
이하에서는 비디오 신호의 효율적인 디코딩 방법을 제공하기 위한 다양한 실시예들을 설명하도록 한다.
도 4는 본 발명이 적용되는 실시예로서, 모션 스킵 여부에 따라 움직임 보상을 수행하는 방법을 설명하기 위해 나타낸 것이다.
인터 예측부(700)에서는 엔트로피 디코딩부(200)로부터 전송된 정보들을 이용하여 현재 블록의 움직임을 보상한다. 비디오 신호로부터 현재 블록에 이웃하는 블록들의 움직임 벡터를 추출하고, 상기 현재 블록의 움직임 벡터 예측값을 획득한다. 상기 획득된 움직임 벡터 예측값과 상기 비디오 신호로부터 추출되는 차분 벡터를 이용하여 현재 블록의 움직임을 보상한다. 또한, 이러한 움직임 보상은 하나의 참조 픽쳐를 이용하여 수행될 수도 있고, 복수의 픽쳐를 이용하여 수행될 수도 있다. 다시점 비디오 코딩에 있어서, 현재 픽쳐가 다른 시점에 있는 픽쳐들을 참조하게 되는 경우, 상기 복호 픽쳐 버퍼부(600)에 저장되어 있는 시점간 예측을 위한 참조 픽쳐 리스트에 대한 정보를 이용하여 움직임 보상을 수행할 수 있다. 또한, 그 픽쳐의 시점을 식별하는 시점 정보를 이용하여 움직임 보상을 수행할 수도 있다.
또한, 직접 예측 모드(direct prediction mode)는 부호화가 끝난 블록의 움직임 정보로부터 현재 블록의 움직임 정보를 예측하는 부호화 모드이다, 이러한 방법은 움직임 정보를 부호화할 때 필요한 비트수가 절약되기 때문에 압축 효율을 향상시킬 수 있다, 예를 들어, 시간 직접 모드(temporal direct mode)는 시간 방향의 움직임 정보 상관도를 이용하여 현재 블록의 움직임 정보를 예측하게 된다. 상기 시간 직접 모드는 서로 다른 움직임을 포함하고 있는 영상에서 그 움직임의 속도가 일정할 때 효과가 있다. 이러한 시간 직접 모드가 다시점 비디오 코딩에서 이용되는 경우, 시점간의 움직임 벡터를 고려하여야 한다.
상기 직접 예측 모드의 다른 예로, 공간 직접 모드(spatial direct mode)는 공간 방향의 움직임 정보 상관도를 이용하여 현재 블록의 움직임 정보를 예측하게 된다. 상기 공간 직접 모드는 서로 같은 움직임을 포함하고 있는 영상에서 그 움직 임의 속도가 변할 때 호과가 있다, 현재 픽쳐의 역방향 참조 픽쳐 리스트(List 1)에서 가장 작은 참조 번호를 가지는 참조 픽쳐 내에서, 현재 블록과 동일한 위치(co-located)에 있는 블록의 움직임 정보를 이용하여 현재 블록의 움직임 정보를 예측할 수 있다 그러나, 다시점 비디오 코딩에 있어서는, 상기 참조 픽쳐가 상기 현재 픽쳐와 다른 시점 상에 존재할 수 있다. 따라서, 이러한 경우 공간 직접 모드를 적용함에 있어서 다양한 실시예들이 이용될 수 있다.
한편, 본 발명의 실시예로서, 모션 스킵 여부에 따라 움직임 보상을 수행하는 실시예들을 살펴보도록 한다.
모션 스킵 판별부(710)에서는 현재 블록의 움직임 정보를 유도할지 여부를 판별하게 된다. 예를 들어, 모션 스킵 수행 여부를 나타내는 플래그 정보(이하, 모션 스킵 플래그 정보라 한다)를 이용할 수 있다. 상기 모션 스킵 플래그 정보는 계층적으로 설정될 수 있다. 예를 들어, 시퀀스 레벨, 시점 레벨, GOP(Group Of Picture) 레벨, 픽쳐 레벨, 슬라이스 레벨 또는 매크로블록 레벨, 서브-블록 레벨 중 적어도 하나 이상의 레벨에서 설정될 수 있다.
상기 모션 스킵 플래그 정보가 1 일 경우, 모션 스킵을 수행하게 된다. 즉, 현재 블록의 움직임 정보를 참조 블록의 움직임 정보로부터 유도할 수 있다. 반면, 상기 모션 스킵 플래그 정보가 0 일 경우에는 모션 스킵을 수행하지 않고 전송되어 온 움직임 정보를 획득하게 된다. 여기서, 움직임 정보란, 움직임 벡터, 레퍼런스 인덱스, 블록 타입, 파티션 정보 등을 포함할 수 있다.
구체적 예로, 슬라이스 헤더로부터 제 1 플래그 정보 (motion_skip_enable_flag)를 획득할 수 있다. 이때, 상기 제 1 플래그 정보는 현재 슬라이스가 모션 스킵을 이용하는지 여부를 나타낼 수 있다. 예를 들어, 상기 제 1 플래그 정보가 1이면 현재 슬라이스는 모션 스킵을 이용하고, 상기 제 1 플래그 정보가 0이면 현재 슬라이스는 모션 스킵을 이용하지 않는다. 상기 제 1 플래그 정보가 존재하지 않는 경우, 상기 제 1 플래그 정보는 0으로 유도될 수 있다.
또한, 매크로블록 레이어로부터 제 2 플래그 정보(motion_skip_flag)를 획득할 수 있다. 이때, 상기 제 2 플래그 정보는 현재 블록의 움직임 정보가 유도되는지 여부를 나타낼 수 있다. 예를 들어, 상기 제 1 플래그 정보에 따라 현재 슬라이스에서 모션 스킵을 이용하는 경우, 매크로블록 레이어에서 모션 스킵을 이용할지 여부를 나타내는 제 2 플래그 정보를 다시 획득할 수 있다. 예를 들어, 상기 제 2 플래그 정보가 1이면 현재 매크로블록의 움직임 정보는 다른 시점에 있는 참조 블록으로부터 유도될 수 있다. 상기 제 2 플래그 정보가 0이면 현재 매크로블록의 움직임 정보는 다른 시점에 있는 참조 블록으로부터 유도되지 않는다. 상기 제 2 플래그 정보가 존재하지 않는 경우, 상기 제 2 플래그 정보는 0으로 유도될 수 있다. 이처럼, 모션 스킵 플래그 정보는 2 이상의 레벨에서 계층적으로 설정함으로써 모션 스킵 수행 여부를 계층적으로 제어할 수 있다. 또는 하나의 레벨에서 독립적으로 설정될 수도 있다.
다른 실시예로서, 모션 스킵 플래그 정보를 획득하기 위해서는 일정한 요건이 필요할 수 있다.
첫번째 예로, 모션 스킵 플래그 정보는 인터뷰 픽쳐 그룹 식별 정보에 기초 하여 획득될 수 있다, 상기 인터뷰 픽쳐 그룹 식별 정보는 상기 도 2에서 상세히 설명한 바 있다. 여기서, 상기 모션 스킵 플래그 정보는 상기 제 1 플래그 정보 및/또는 제 2 플래그 정보를 포함할 수 있다. 또는 다른 계층에서 정의된 또 다른 플래그 정보도 포함할 수 있다, 상기 인터뷰 픽쳐 그룹 식별 정보에 따라 현재 픽쳐가 넌-인터뷰 픽쳐 그룹에 해당되는 경우, 상기 모션 스킵 플래그 정보가 획득될 수 있다.
두번째 예로, 모션 스킵 플래그 정보는 인터뷰 참조 정보에 기초하여 획득될 수 있다. 상기 인터뷰 참조 정보는 상기 도 2에서 상세히 설명할 바 있다. 여기서, 상기 모션 스킵 플래그 정보는 상기 제 1 플래그 정보 및/또는 제 2 플래그 정보를 포함할 수 있다. 예를 들어, 상기 모션 스킵 플래그 정보는 인터뷰 참조 관계가 존재하는 경우에 획득될 수 있다. 상기 인터뷰 참조 관계는, 예를 들어, 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 관계를 의미할 수 있다. 구체적 예로, 넌-인티뷰 픽쳐 그룹의 인터뷰 참조 픽쳐의 개수 정보에 기초하여 상기 모션 스킵 플래그 정보가 획득될 수 있다. 넌-인터뷰 픽쳐 그룹의 L0 방향에 대한 인터뷰 참조 픽처의 개수가 0보다 클 경우, 상기 모션 스킵 플래그 정보가 획득될 수 있다. 또는 넌-인터뷰 픽쳐 그룹의 L1 방향에 대한 인터뷰 참조 픽쳐의 개수가 0보다 클 경우, 상기 모션 스킵 플래그 정보가 획득될 수 있다.
또는 상기 모션 스킵 플래그 정보는 인터뷰 픽쳐 그룹의 인터뷰 참조 관계가 존재하는 경우에 획득되도록 설정할 수도 있다. 또는, 인터뷰 픽쳐 그룹인지 여부에 상관없이 상기 모션 스킵 플래그 정보가 획득되도록 설정할 수도 있다.
세번째 예로, 모션 스킵 플래그 정보는 인터뷰 픽쳐 그룹 식별 정보와 인터뷰 참조 정보에 기초하여 획득될 수 있다. 여기서, 상기 모션 스킵 플래그 정보는 상기 제 1 플래그 정보 및/또는 제 2 플래그 정보를 포함할 수 있다. 예를 들어, 현재 픽쳐가 인터뷰 픽쳐 그룹이 아니고, 넌-인터뷰 픽쳐 그룹의 L0 및/또는 L1 방향에 대한 인터뷰 참조 픽쳐의 개수가 0보다 큰 경우, 모션 스킵 플래그 정보가 획득될 수 있다.
또한, 상기 모션 스킵 플래그 정보는 또 다른 모션 스킵 플래그 정보에 기초하여 획득될 수 있다. 예를 들어, 상기 제 2 플래그 정보는 상기 제 1 플래그 정보에 기초하여 획득될 수 있다. 즉, 상기 제 1 플래그 정보(motion_skip_enable_flag)에 따라 현재 슬라이스가 모션 스킵을 수행하는 경우에, 상기 제 2 플래그 정보(motion_skip_flag)가 획득될 수 있다. 또는 상기 제 2 플래그 정보는, 현재 픽쳐가 인터뷰 픽쳐이 아니고, 현재 슬라이스가 모션 스킵을 수행하는 경우에 획득될 수 있다.
네번째 예로서, 모션 스킵 플래그 정보는 현재 시점이 기준 시점인지 여부에 기초하여 획득될 수 있다. 여기서, 기준 시점이란, 다른 시점들과는 독립적으로 코딩가능한 시점을 의미할 수 있다. 또는 기존의 디코더(예를 들어, H.264/AVC, MPEG-2, MPEG-4 등)와의 호환성을 위한 적어도 하나의 시점을 의미할 수 있다. 상기 기준 시점은 다시점 중 부호화의 기준이 될 수 있다. 또는 다른 시점의 예측을 위한 참조 시점(reference view)에 해당될 수 있다. 상기 기준 시점에 해당되는 영상은 영상 코덱 방식(MPEG-2, MPEG-4, H.26L 시리즈 등)에 의해 부호화되어 독립적 인 비트스트림으로 형성될 수 있다. 상기 기준 시점에 해당되는 시퀀스는 H.264/AVC와 호환될 수도 있고, 되지 않을 수도 있다. 그러나, H.264/AVC와 호환될 수 있는 시점의 시퀀스는 기준 시점이 된다. 예를 들어, 현재 슬라이스가 기준 시점에 해당되는 경우 현재 슬라이스의 모션 스킵 플래그 정보는 파싱되지 않을 수 있다. 즉, 현재 슬라이스의 모션 스킵 플래그 정보는 현재 슬라이스가 기준 시점에 해당되지 않을 경우에 획득될 수 있다.
한편, 상기 기준 시점은 다양한 방법으로 정의될 수 있다. 첫째, 현재 코딩하려는 대상이 기준 시점에 해당되는지 여부를 나타내는 플래그 정보를 이용할 수 있다. 예를 들어, base_view = 1이면 현재 시점은 기준 시점에 해당되고, base_view = 0이면 현재 시점은 기준 시점에 해당되지 않음을 의미할 수 있다. 둘째, 레벨 정보를 이용하여 기준 시점을 정의할 수 있다. 예를 들어, 인터뷰 픽쳐 그룹이 인트라 코딩된 경우, 상기 인터뷰 픽쳐 그룹을 포함하는 시점은 가장 낮은 레벨로 설정할 수 있다. 그리고, 가장 낮은 레벨을 가지는 시점을 기준 시점으로 정의할 수 있다. 셋째, 우선 순위 식별 정보(priority iden-tification information)를 이용하여 기준 시점을 정의할 수 있다. 우선 순위 식별 정보는 상기에서 설명한 바 있다. 예를 들어, 상기 우선순위 식별 정보가 가장 낮은 값을 가지는 시점을 기준 시점으로 정의할 수 있다.
다섯번째 예로, 모션 스킵 플래그 정보는 부분 디코딩 플래그에 기초하여 획득될 수 있다. 여기서, 부분 디코딩 플래그란, 현재 픽쳐가 넌-인터뷰 픽쳐 그룹일 경우 인터뷰 참조 픽쳐의 완전한 복원없이(without fully reconstructing an inter-view reference picture) 상기 현재 픽쳐가 디코딩될 수 있는지 여부를 나타낸다. 예를 들어, 상기 부분 디코딩 플래그가 1인 경우, 현재 픽쳐는 부분적으로(partially) 디코딩된 인터뷰 참조 픽쳐를 이용하여 디코딩될 수 있다, 여기서, 부분적 디코딩(partial decoding)은 레지듀얼 정보만을 디코딩하는 경우를 의미할 수 있다.
이처럼, 상기 모션 스킵 플래그를 획득하기 위해서는 상기 실시예들이 독립적인 요건으로 적용될 수 있을 뿐만 아니라, 그 조합에 의해 적용될 수도 있다. 또한, 상기 모션 스킵 플래그는 아무런 요건 없이 획득될 수도 있다. 예를 들어, 시퀀스 파라미터 세트, 픽쳐, 슬라이스 헤더, 매크로블록 레이어, 및/또는 이들의 확장 영역으로부터 획득될 수 있다.
상기 모션 스킵 판별부(710)에 따라 모션 스킵을 수행하는 경우, 대응 블록 탐색부(720)에서는 대응 블록을 탐색한다. 움직임 정보 유도부(730)에서는 상기 대응 블록의 움직임 정보를 이용하여 현재 블록의 움직임 정보를 유도할 수 있다. 이렇게 유도된 움직임 정보를 이용하여 움직임 보상부(740)에서는 움직임 보상을 수행하게 된다. 한편, 상기 모션 스킵 판별부(710)에 의해 모션 스킵을 수행하지 않는 경우, 움직임 정보 획득부(750)에서는 전송되어 온 움직임 정보를 획득하게 된다. 상기 획득된 움직임 정보를 이용하여 움직임 보상부(740)에서는 움직임 보상을 수행하게 된다. 이하에서는 움직임 보상을 수행하기 위한 구체적인 과정들에 대해서 살펴보도록 한다.
도 5는 본 발명이 적용되는 실시예로서, 대응 블록을 찾는 방법을 설명하기 위해 나타낸 것이다.
본 발명이 적용되는 일실시예로서, 제 1 도메인 블록의 제 2 도메인에 대한 코딩 정보를 이용하여 현재 블록의 제 2 도메인에 대한 코딩 정보를 예측할 수 있다. 이 때, 코딩 정보로서, 움직임 정보와 함께 블록 정보도 획득할 수 있다. 예를 들어, 스킵 모드란 현재 블록보다 먼저 코딩된 다른 블록의 정보를 이용하여 현재 블록의 정보로 활용하는 것을 의미할 수 있다. 이러한 스킵 모드를 적용함에 있어서, 서로 다른 도메인에 존재하는 정보를 이용할 수 있다. 이하에서는 그에 대한 구체적인 실시예들을 살펴보고자 한다.
첫번째 예로서, 시간 Ta에서 다른 두 개의 시점 영상들 내의 객체(또는 배경)들의 상대적인 움직임 관계는 충분히 가까운 시간 Tcurr에서도 거의 유사하게 유지된다고 가정할 수 있다. 이 때, 시간 Ta에서의 시점 방향 코딩 정보와 시간 Tcurr에서의 시점 방향 코딩 정보는 높은 상관도를 갖는다. 동일 시점의 다른 시간대에 있는 대응 블록의 움직임 정보를 그대로 이용하면 높은 코딩 효율을 얻을 수 있다. 이러한 방식의 이용 여부를 나타내는 모션 스킵 정보를 이용할 수 있다. 상기 모션 스킵 정보에 따라 모션 스킵이 수행되는 경우, 블록 타입, 움직임 벡터, 레퍼런스 인덱스와 같은 움직임 정보를 현재 블록의 대응 블록으로부터 예측할 수 있다. 따라서 이러한 움직임 정보를 코딩하는데 필요한 비트량을 줄일 수 있다.
두번째 예로서, 상기 예와 마찬가지로, 알고리듬 적용축인 상기 제 1 도메인과 제 2 도메인을 바꾸어 동일한 방식을 이용할 수 있다 즉, 동일 시간 Ta에서의 Vn시점 내의 객체(또는 배경)와 그에 이웃하는 Vm 시점내의 객체(또는 배경)는 유 사한 움직임 정보를 가질 확률이 높다. 이때, 동일 시간대의 다른 시점에 있는 대응 블록의 움직임 정보를 그대로 가져다 이용하면 높은 코딩 효율을 가져다 줄 수 있다, 이러한 방식을 이용했는지 여부를 나타내는 모션 스킵 정보를 이용할 수 있다.
한편, 인코더에서는 현재 블록에 이웃하는 블록의 움직임 정보를 이용하여, 현재 블록의 움직임 정보를 예측하고, 실제 움직임 벡터와 예측된 움직임 벡터의 차이 값을 전송해주게 된다. 마찬가지로 디코더에서는, 현재 매크로블록이 참조하는 픽쳐의 참조 번호(reference index)와 이웃 블록이 참조하는 픽쳐의 참조 번호(reference index)가 동일한지 여부를 판별하고 그에 따라서 움직임 벡터 예측값을 획득할 수 있다. 예를 들어, 상기 이웃 블록들 중에서 현재 매크로블록과 동일한 참조 번호(reference index)를 가지는 블록이 하나만 존재하는 경우에는 그 이웃 블록의 움직임 벡터를 그대로 사용하고 그 이외의 경우에는 이웃 블록들의 움직임 벡터들의 중간값(median value)을 사용할 수 있다.
또한, 다시점 비디오 코딩에서는 참조 픽쳐가 시간축으로뿐만 아니라 시점축으로도 존재할 수 있다. 이러한 특성 때문에 현재 매크로블록의 참조 픽쳐 번호와 이웃 블록의 참조 픽쳐 번호가 다를 경우, 그 움직임 벡터들은 아무런 상관 관계를 가지지 않을 가능성이 높다. 이런 경우 움직임 벡터 예측값의 정확도는 매우 떨어지게 된다. 따라서, 본 발명이 적용되는 일실시예로서, 시점간의 상관 관계를 이용한 새로운 움직임 벡터 예측 방법을 제안한다.
예를 들어, 시점간에 생기는 움직임 벡터는 각 객체(object)들의 깊이 (depth)에 의존적(dependent)일 수 있다. 영상의 깊이가 공간적으로 매우 심한 변화가 없고 시간축의 변화에 따른 영상의 움직임 자체가 매우 심하지만 않다면, 각 매크로블록 위치에서의 깊이 자체는 크게 변하지 않을 것이다. 여기서, 깊이(depth)란, 시점 간의 변이 차이를 나타낼 수 있는 정보를 의미할 수 있다. 또한, 기본적으로 카메라간에 글로벌 움직임 벡터들의 영향이 존재하기 때문에 깊이가 조금 변하더라도 글로벌 움직임 벡터가 깊이 변화에 비해 충분히 크다면, 상관 관계(correlation)가 없는 이웃 블록의 시간 방향 움직임 벡터를 이용하는 것보다 상기 글로벌 움직임 벡터를 이용하는 것이 더 효율적일 수 있다.
여기서, 글로벌 움직임 벡터(global motion vector)란, 일정 영역에 공통적으로 적용할 수 있는 움직임 벡터를 의미할 수 있다. 예를 들어, 움직임 벡터가 일부 영역(예: 매크로블록, 블록, 픽셀 등)에 대응된다면, 글로벌 움직임 벡터(global motion vector 또는 global disparity vector)는 상기 일부 영역을 포함하는 전체 영역에 대응되는 모션 벡터이다. 예를 들어, 상기 전체 영역은 하나의 슬라이스에 대응될 수도 있고, 하나의 픽쳐에 대응될 수도 있으며, 시퀀스 전체에 대응될 수도 있다. 또는, 픽쳐내 하나 이상의 객체, 배경, 또는 일정 영역에 각각 대응될 수도 있다. 이러한 글로벌 움직임 벡터는 픽셀 단위 또는 1/4픽셀 단위의 값이 될 수도 있고, 4×4 단위, 8×8 단위, 또는 매크로블록 단위의 값이 될 수도 있다.
본 발명이 적용되는 실시예로서, 동일 위치(co-located) 블록의 시점간 움직임 정보를 이용하여 현재 블록의 움직임 벡터를 예측할 수 있다. 여기서, 상기 동 일 위치(co-located) 블록이란, 동일 픽쳐에 존재하는 현재 블록에 인접한 블록을 의미할 수 있고, 또는 다른 픽쳐에 포함된 상기 현재 블록과 같은 위치에 존재하는 블록일 수도 있다. 예를 들어, 다른 시점에 있는 다른 픽쳐인 경우 공간적 동일 위치(spatial co-located)의 블록이라고 할 수 있고, 동일 시점에 있는 다른 픽쳐의 경우에는 시간적 동일 위치(temporal co-located)의 블록이라고 할 수도 있다.
다시점 비디오 코딩 구조에서는 일정 시간 간격으로 시점 방향으로만 예측하는 픽쳐들을 둠으로써 랜덤 액세스(random access)를 실현할 수 있다. 이처럼 시점 방향으로만 움직임 정보를 예측하는 두 개의 픽쳐가 복호화되면, 시간적으로 그 사이에 있는 픽쳐들에 대해 새로운 움직임 벡터 예측 방법을 적용할 수 있다. 예를 들어, 시점 방향으로만 예측하는 픽쳐로부터 시점 방향 움직임 벡터를 얻을 수 있고 이를 4×4 블록 단위로 저장할 수 있다. 시점 방향으로만 예측할 때 조명(illumination) 차이가 매우 심할 경우에는 인트라 예측으로 코딩되는 경우가 많이 발생하게 된다. 이때에는 움직임 벡터를 0으로 설정할 수 있다. 그러나, 조명 차이가 커서 인트라 예측으로 많이 코딩되면 시점 방향의 움직임 벡터에 대한 정보를 알 수 없는 매크로블록이 많이 생기게 된다. 이를 보완하기 위해 인트라 예측일 경우에는 이웃 블록의 움직임 벡터를 이용하여 가상의 시점간 움직임 벡터(inter-view motion vector)를 계산할 수 있다. 그리고, 상기 가상의 시점간 움직임 벡터를 상기 인트라 예측으로 코딩된 블록의 움직임 벡터로 설정할 수 있다.
이렇게 복호화된 2개의 픽쳐로부터 시점간 움직임 정보를 획득한 후 그 사이에 존재하는 계층적(hierarchical) B 픽쳐들을 코딩할 수 있다 이 때 상기 복호화 된 2개의 픽쳐는 인터뷰 퍽쳐 그룹일 수 있다. 여기서 인터뷰 픽쳐 그룹이라 함은, 모든 슬라이스들이 동일 시간대의 프레임에 있는 슬라이스만을 참조하는 부호화된 픽쳐를 의미한다. 예를 들어, 다른 시점에 있는 슬라이스만을 참조하고 현재 시점에 있는 슬라이스는 참조하지 않는 부호화된 픽쳐를 말한다.
한편, 현재 블록의 움직임 벡터를 예측하는 방법에 있어서, 현재 블록의 시점과 다른 시점에 존재하는 대응 블록을 찾아서 상기 대응 블록의 코딩 정보를 이용하여 상기 현재 블록의 코딩 정보를 예측할 수 있다. 먼저 현재 블록의 시점과 다른 시점에 존재하는 대응 블록을 찾는 방법에 대해서 살펴보도록 한다.
예를 들어, 대응 블록은 현재 블록의 시점 방향 움직임 벡터가 가리키는 블록일 수 있다. 여기서, 시점 방향의 움직임 벡터는 시점 간의 변이 차이를 나타내는 벡터를 의미할 수 있고, 또는 글로벌 움직임 벡터를 의미할 수 있다. 여기서, 글로벌 움직인 벡터(global motion vector)의 의미에 대해서는 상기에서 설명한 바 있다. 또한, 상기 글로벌 움직임 벡터는 현재 블록과 동일한 시간상에 있는 이웃 시점의 대응되는 블록 위치 (corresponding macroblock posit ion of neighboring view on the same temporal instant)를 가리킬 수 있다. 상기 도 5를 살펴보면, 픽쳐 A,B는 Ta시간에, 픽쳐 C,D는 Tcurr 시간에, 픽쳐 E,F는 Tb시간에 존재한다. 이때, Ta,Tb시간에 있는 상기 픽쳐 A,B,E,F는 인터뷰 픽쳐 그룹일 수 있고, Tcurr시간에 있는 상기 픽쳐 C,D는 넌-인터뷰 픽쳐 그룹일 수 있다. 그리고, 픽쳐 A,C,E는 동일한 시점(Vn)상에 존재하며, 픽쳐 B,D,F도 동일한 시점(Vm)상에 존재한다. 픽쳐 C가 현재 복호화하려는 픽쳐이며, 픽쳐 D의 대응 매크로블록(corresponding MB)은 현재 블록(current MB)의 시점 방향의 글로벌 움직임 벡터(GDVcurr)가 가리키는 블록이다. 상기 글로벌 움직임 벡터는 시퀀스 단위, 슬라이스 단위 또는 매크로블록 단위로 획득될 수 있다. 이 때 상기 이웃 시점에 관한 정보는 시점간 참조 관계를 나타내는 정보에 의해 알 수 있다.
인터뷰 참조 관계(inter-view reference relation)를 나타내는 정보란, 시점간 영상들이 어떠한 구조로 예측되었는지를 알 수 있는 정보를 말한다. 이는 비디오 신호의 데이터 영역로부터 획득될 수 있는데, 예를 들어, 시퀀스 파라미터 셋 영역으로부터 획득될 수 있다. 또한, 상기 인터뷰 참조 정보는 참조 픽쳐의 개수와 참조 픽쳐의 시점 정보를 이용하여 파악할 수 있다. 예를 들어, 먼저 전체 시점의 개수를 획득하고, 상기 전체 시점의 개수에 근거하여 각 시점을 구별하는 시점 정보를 파악할 수 있다. 그리고, 각 시점마다 참조 방향에 대한 참조 픽쳐의 개수를 획득할 수 있다. 상기 참조 픽쳐의 개수에 따라 각 참조 픽쳐의 시점 정보를 획득할 수 있다. 이러한 방식을 통해서 인터뷰 참조 정보가 획득될 수 있으며, 상기 인터뷰 참조 정보는 인터뷰 픽쳐 그룹일 경우와 넌-인터뷰 픽쳐 그룹일 경우로 나누어서 파악될 수 있다. 이는 현재 NAL에 있는 코딩된 슬라이스가 인터뷰 픽쳐 그룹인지 여부를 나타내는 인터뷰 픽쳐 그룹 식별 정보를 이용하여 알 수 있다.
본 발명의 실시예로서, 대응 블록을 찾기 위한 시점 방향의 움직임 벡터를 획득하기 위해서는 일정한 요건이 필요할 수 있다. 예를 들어, 글로벌 움직임 벡터를 획득하기 위한 요건을 살펴보도록 한다.
첫번째 예로서, 글로벌 움직임 벡터는 인터뷰 픽쳐 그룹 식별 정보에 기초하 여 획득될 수 있다. 상기 인터뷰 퍽쳐 그룹 식별 정보와 상기 글로벌 움직임 벡터는 상기에서 이미 설명한 바 있다. 예를 들어, 상기 인터뷰 픽쳐 그룹 식별 정보에 따라 현재 픽쳐가 인터뷰 픽쳐 그룹에 해당되는 경우, 상기 글로벌 움직임 벡터가 획득될 수 있다. 여기서, 상기 글로벌 움직임 벡터는 L0 방향 및/또는 L1 방향에 대한 글로벌 움직임 벡터를 포함할 수 있다. 또는, 상기 인터뷰 픽쳐 그룹 식별 정보에 따라 현재 픽쳐가 넌-인터뷰 픽쳐 그룹에 해당되는 경우, 상기 글로벌 움직임 벡터가 획득되도록 설정할 수도 있다. 또는, 인터뷰 픽쳐 그룹인지 여부에 상관없이 상기 글로벌 움직임 벡터가 획득되도록 설정할 수도 있다.
두번째 예로서, 글로벌 움직임 벡터는 슬라이스 타입에 기초하여 획득될 수 있다 예를 들어, 현재 매크로블록의 슬라이스 타입이 P 슬라이스 또는 B 슬라이스인 경우 상기 글로벌 움직임 벡터가 획득될 수 있다. 현재 매크로블록의 슬라이스 타입이 P 슬라이스인 경우, L0 방향에 대한 글로벌 움직임 벡터가 획득될 수 있다. 현재 매크로블록의 슬라이스 타입이 B 슬라이스인 경우, L0 및 L1 방향에 대한 글로벌 움직임 벡터가 획득될 수 있다.
세번째 예로서, 글로벌 움직임 벡터는 인터뷰 참조 정보에 기초하여 획득될 수 있다. 상기 인터뷰 창조 정보는 상기 도 2에서 상세히 설명한 바 있다. 예를 들어, 상기 글로벌 움직임 벡터는 인터뷰 참조 관계가 존재하는 경우에 획득될 수 있다. 여기서, 상기 인터뷰 참조 관계는, 예를 들어, 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 관계를 의미할 수 있다. 구체적 예로, 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 픽쳐의 개수 정보에 기초하여 상기 글로벌 움직임 벡터가 획득될 수 있다. 넌-인터뷰 픽쳐 그룹의 L0 방향에 대한 인터뷰 참조 픽쳐의 개수만큼, L0 방향의 글로벌 움직임 벡터가 획득될 수 있다. 또는 넌-인터뷰 픽쳐 그룹의 L1 방향에 대한 인터뷰 참조 개수만큼, L1 방향의 글로벌 움직임 벡터가 획득될 수 있다.
네번째 예로서, 글로벌 움직임 벡터는 현재 시점이 기준 시점인지 여부에 기초하여 획득될 수 있다. 여기서, 기준 시점이란, 다른 시점들과는 독립적으로 코딩가능한 시점을 의미할 수 있다. 또는 기존의 디코더(예를 들어, H.264/AVC, MPEG-2, MPEG-4 등)와의 호환성을 위한 적어도 하나의 시점을 의미할 수 있다. 상기 기준 시점은 다시점 중 부호화의 기준이 될 수 있다. 또는 다른 시점의 예측을 위한 참조 시점(reference view)에 해당될 수 있다. 상기 기준 시점에 해당되는 영상은 영상 코덱 방식(MPEG-2, MPEG-4, H.26L 시리즈 등)에 의해 부호화되어 독립적인 비트스트림으로 형성될 수 있다. 상기 기준 시점에 해당되는 시퀀스는 H.264/AVC와 호환될 수도 있고, 되지 않을 수도 있다. 그러나, H.264/AVC와 호환될 수 있는 시점의 시퀀스는 기준 시점이 된다. 예를 들어, 현재 슬라이스가 기준 시점에 해당되는 경우 현재 슬라이스의 글로벌 움직임 벡터는 파싱되지 않을 수 있다. 즉, 현재 슬라이스의 글로벌 움직임 벡터는 현재 슬라이스가 기준 시점에 해당되지 않을 경우에 획득될 수 있다.
한편, 상기 기준 시점은 다양한 방법으로 정의될 수 있다. 첫째, 현재 코딩하려는 대상이 기준 시점에 해당되는지 여부를 나타내는 플래그 정보를 이용할 수 있다. 예를 들어, base_view = 1 이면 현재 시점은 기준 시점에 해당되고, base_view = 0이면 현재 시점은 기준 시점에 해당되지 않음을 의미할 수 있다. 둘 째, 레벨 정보를 이용하여 기준 시점을 정의할 수 있다. 예를 들어, 인터뷰 픽쳐 그룹이 인트라 코딩된 경우, 상기 인터뷰 픽쳐 그룹을 포함하는 시점은 가장 낮은 레벨로 설정할 수 있다. 그리고, 가장 낮은 레벨을 가지는 시점을 기준 시점으로 정의할 수 있다. 셋째, 우선 순위 식별 정보(priority iden-tification information)를 이용하여 기준 시점을 정의할 수 있다. 우선 순위 식별 정보는 상기에서 설명한 바 있다. 예를 들어, 상기 우선순위 식별 정보가 가장 낮은 값을 가지는 시점을 기준 시점으로 정의할 수 있다.
이처럼, 상기 글로벌 움직임 벡터를 획득하기 위해서는 상기 예들이 독립적인 요건으로 적용될 수 있을 뿐만 아니라, 그 조합에 의해 적용될 수도 있다.
본 발명의 다른 실시예로서, 현재 픽쳐가 넌-인터뷰 픽쳐 그룹일 경우, 상기 현재 픽쳐의 글로벌 움직임 벡터를 유도하는 방법을 설명하도록 한다. 현재 픽쳐가 넌-인터뷰 픽쳐 그룹일 경우, 상기 현재 픽쳐의 글로벌 움직임 벡터는 인터뷰 픽쳐 그룹의 글로벌 움직인 벡터로부터 유도될 수 있다. 예를 들어, 상기 현재 픽쳐의 글로벌 움직임 벡터는 코딩 순서에 따라(in coding order) 상기 현재 픽쳐보다 앞서 코딩된 인터뷰 픽쳐 그룹(a coded inter-view picture group prior to the current picture)의 글로벌 움직임 벡터를 이용하여 유도될 수 있다. 이때, 상기 인터뷰 픽쳐 그룹은 상기 현재 픽쳐보다 앞서 코딩된 인터뷰 픽쳐 그룹 중 가장 최근에 코딩된 인터뷰 픽쳐 그룹(the recently coded inter-view picture group)일 수 있다. 그러나, 상기 최근에 코딩된 인터뷰 픽쳐 그룹이 이용불가능한 경우, 상기 최근에 코딩된 인터뷰 픽쳐 그룹보다 앞서 코딩된 인터뷰 픽쳐 그룹의 글로벌 움직임 벡터가 이용될 수 있다. 구체적 예로, 도 5의 Vn 시점에 있는 A,C,E 픽쳐의 코딩 순서가 A,E,C 순서라고 하자. 그리고, A,E 픽쳐는 인터뷰 픽쳐 그룹이고 C 픽쳐는 넌-인터뷰 픽쳐 그룹이라고 하자. 이 때, 현재 픽쳐 C의 글로벌 움직임 벡터는 가장 최근에 코딩된 인터뷰 픽쳐 그룹인 픽쳐 E의 글로벌 움직임 벡터로부터 유도될 수 있다. 즉, 아래 수학식 1과 같다.
[수학식 1]
Figure 112009058458687-PCT00001
그러나, 상기 GDVB가 이용불가능한 경우에는 픽쳐 A의 글로벌 움직임 벡터를 이용할 수 있다. 즉, 아래 수학식 2과 같다.
[수학식 2]
Figure 112009058458687-PCT00002
그리고, 상기 현재 픽쳐의 글로벌 모션 벡터는 상기 현재 픽쳐가 참조하는 시점의 개수만큼 획득될 수 있다. 이때, 상기 참조하는 시점의 개수는 인터뷰 참조 정보로부터 알 수 있다. 그리고, 상기 인터뷰 참조 정보는 시퀀스 파라미터 세트의 확장 영역으로부터 획득될 수 있다. 예를 들어, 상기 참조하는 시점의 개수는 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 픽쳐 개수(the number of inter-view reference picture for non-interview picture group)를 의미할 수 있다. 이는 List0 및/또는 List1 방향에 대해 모두 적용될 수 있다.
그리고, 상기 현재 픽쳐가 참조하는 시점도 상기 인터뷰 참조 정보로부터 알 수 있다. 예를 들어, 상기 참조 시점의 시점 식별 정보는 넌-인터뷰 픽쳐 그룹에 대한 인터뷰 참조 픽쳐의 시점 식별 정보(view identification information of inter-view reference picture for non-interview picture group)를 의미할 수 있다. 이는 List0 및/또는 List1 방향에 대해 모두 적용될 수 있다.
본 발명의 다른 실시예로, 현재 픽쳐가 넌-인터뷰 픽쳐 그룹일 경우, 현재 픽쳐의 글로벌 움직임 벡터는 인터뷰 픽쳐 그룹의 글로벌 움직임 벡터와 시간(또는 공간) 거리를 나타내는 정보를 함께 이용함으로써 획득될 수 있다. 예를 들어, 상기 도 5를 살펴보면, 픽쳐 A의 글로벌 움직임 벡터를 GDVa라 하고, 픽쳐 E의 글로벌 움직임 벡터를 GDVb라 하면, 넌-인터뷰 픽쳐 그룹인 현재 픽쳐 C의 글로벌 움직임 벡터는 상기 인터뷰 픽쳐 그룹인 픽쳐 A,E의 글로벌 움직임 벡터와 시간 거리 정보를 이용하여 획득할 수 있다. 예를 들어, 상기 시간 거리 정보로는 픽쳐 출력 순서를 나타내는 POC(picture Order Count)일 수 있다. 따라서, 상기 현재 픽쳐의 글로벌 움직임 벡터는 아래 수학식 3을 이용하여 유도될 수 있다.
[수학식 3]
Figure 112009058458687-PCT00003
상기 수학식 3을 살펴보면, 현재 픽쳐(C)와 이용되는 인터뷰 픽쳐 그룹(A,E)과의 시간 거리를 이용하여 현재 블록의 글로벌 움직임 벡터를 계산할 수 있다.
이렇게 획득된 글로벌 움직임 벡터를 이용하여 현재 블록이 참조하는 대응 블록을 찾을 수 있게 된다. 그리고, 상기 대응 블록을 이용하여 현재 블록의 코딩 정보를 예측할 수 있다. 그러나, 상기 글로벌 움직임 벡터는 적용되는 영역에 따라 정확도가 떨어질 수 있다. 따라서, 보다 세밀하게 대응 블록을 찾을 필요가 있다. 이하, 도 6에서는 부가 정보를 이용하여 보다 정확하게 대응 블록을 찾는 방법을 선명하도록 한다.
도 6은 본 발명이 적용되는 다른 실시예로서, 부가 정보를 이용하여 대응 블록을 찾는 방법을 설명하기 위해 나타낸 것이다.
현재 블록의 움직임 벡터를 예측하는 방법에 있어서, 현재 블록의 시점과 다른 시점에 존재하는 대응 블록을 찾아서 상기 대응 블록의 코딩 정보를 이용하여 상기 현재 블록의 코딩 정보를 예측할 수 있다. 상기 대응 블록은 현재 블록의 시점 방향 움직임 벡터가 가리키는 블록일 수 있고, 상기 시점 방향의 움직임 벡터는 글로벌 움직임 벡터를 의미할 수 있다. 상기 글로벌 움직임 벡터의 의미에 대해서는 상기에서 설명한 바 있다. 여기서, 부가 정보를 이용하여 현재 블록과 가장 유사한 블록을 찾게 된다면 보다 코딩 효율을 높일 수 있게 된다.
본 발명의 실시예로서, 움직임 벡터의 정확도를 높일 수 있는 방법을 설명하도록 한다. 예를 들어, 부가 정보를 이용하여 움직임 벡터의 정확도를 높일 수 있다. 상기 부가 정보는 오프셋 정보를 포함할 수 있다. 예를 들어, 상기 오프셋 정보는 현재 블록의 글로벌 움직임 벡터가 가리키는 대응 블록(MB1)과, 모션 정보를 포함하는 실제 참조 블록(MB2)과의 위치 차이를 나타내는 제 1 오프셋 정보(offset_X)를 포함할 수 있다. 이 때, 상기 대응 블록(MB1)과 상기 참조 블록(MB2)은 16X16 매크로블록일 수 있다. 그리고, 상기 제 1 오프셋 정보(offset_X)는 모션 스킵이 수행되는 경우에 매크로블록 레이어로부터 획득될 수 있다. 이하, 상기 제 1 오프셋 정보(offset_X)를 이용하여 상기 참조 블록(MB2)을 가리키는 움직임 벡터를 유도하는 과정을 설명하도록 한다.
먼저, 현재 블록의 글로벌 움직임 벡터가 가리키는 위치(P1)와 상기 위치(P1)를 포함하는 매크로블록(MB1)의 위치(P2) 간의 차이를 나타내는 제 2 오프셋 정보(offset_Y)가 유도될 수 있다. 여기서, 상기 제 2 오프셋 정보(offset_Y)는 변수를 의미할 수 있다. 예를 들어, 상기 제 2 오프셋 정보(offset_Y)는 상기 현재 블록의 글로벌 움직임 벡터가 가리키는 위치(P1) 값에 기초하여 유도될 수 있다. 구체적 예로, 상기 현재 블록의 글로벌 움직임 벡터가 가리키는 위치(P1)(x,y)의 수평, 수직 성분 값을 각각 2로 나눈 나머지 값이 (0,0)이면, 상기 제 2 오프셋 정보(offset_Y)는 (0,0)으로 셋팅된다. 그리고, (0,1)이면 (0,1)로, (1,0)이면 (1,0)으로, (1,1)이면 (1,1)로 각각 셋팅될 수 있다.
상기 제 1 오프셋 정보(offset_X)와 상기 제 2 오프셋 정보(offset_Y)를 이용하여, 현재 블록의 글로벌 움직임 벡터가 가리키는 위치(P1)와 상기 참조 블록(MB2)의 위치(P3) 간의 차이를 나타내는 제 3 오프셋 정보(offset_Z)를 유도할 수 있다. 이는 아래 수학식 4와 같다.
[수학식 4]
Figure 112009058458687-PCT00004
여기서, 상기 0과 1은 각각 수평 방향과 수직 방향을 의미할 수 있다.
한편, 현재 블록의 글로벌 움직임 벡터(GDV)는 비트스트림으로부터 전송될 수 있다. 따라서, 상기 전송된 글로벌 움직임 벡터(GDV)와 상기 유도된 제 3 오프셋 정보(offset_Z)를 이용하여 수정된 움직임 벡터를 유도할 수 있다. 예를 들어, 상기 수정된 움직임 벡터란 참조 블록(MB2)을 가리키는 움직임 벡터(accGDV)를 의미할 수 있다. 여기서, 상기 참조 블록(MB2)는 인코더에서 모든 블록들의 왜곡률(rate-distortion)을 계산한 결과, 그 중에서 가장 최적의 왜곡률을 가지는 블록을 의미할 수 있다. 즉, 현재 블록과 가장 유사한 블록을 의미할 수 있다. 상기 수정된 움직임 벡터는 아래 수학식 5와 같이 유도될 수 있다.
[수학식 5]
Figure 112009058458687-PCT00005
상기 수정된 움직임 벡터(accGDV)를 이용하며 상기 참조 블록(MB2)의 위치 정보를 유도할 수 있게 된다. 예를 들어, 상기 수정된 움직임 벡터가 가리키는 위치(P3)(x,y)의 수평, 수직 성분 값을 각각 2로 나눈 나머지 값이 (0,0)이면, 모드0 라 할 수 있다. 여기서, 모드 0은, 상기 참조 블록(MB2)의 위치가 8x8 단위로 4등분된 16X16 매크로블록 중 좌측 상단의 8x8 블록의 위치를 나타냄을 의미할 수 있다. 그리고, 상기 수정된 움직임 벡터가 가리키는 위치(P3)(x,y)의 수평, 수직 성분 간을 각각 2로 나눈 나머지 값이 (1,0)이면, 모드1 이라 할 수 있다. 여기서, 모드 1은, 상기 참조 블록(MB2)의 위치가 8x8 단위로 4등분된 16X16 매크로블록 중 우측 상단의 8x8 블록의 위치를 나타냄을 의미할 수 있다. 동일한 방식으로, 상기 나머지 값이 (0,1)이면 모드2, (1,1)이면 모드3이라 할 수 있다. 그리고, 모드 2는 좌측 하단의 8x8 블록의 위치를 나타내고, 모드 3은 우측 하단의 8x8 블록의 위치를 나타낼 수 있다.
이처럼, 상기 참조 블록(MB2)의 위치 정보가 유도되고, 상기 참조 블록(MB2)의 위치 정보에 따라 현재 블록의 모션 정보를 유도할 수 있다. 여기서, 모션 정보란, 움직임 벡터, 참조 번호(reference index) 및 블록 타입 등을 포함할 수 있다.
도 7은 본 발명이 적용되는 실시예로서, 하나 이상의 참조 시점이 이용될 수 있는 경우 모션 스킵을 수행하는 방법을 설명하기 위해 나타낸 것이다. 참조 시점에 관한 정보는 인코더에서 비트스트림을 통해 전송되는 명시적 방식이 있을 수 있고, 디코더에서 임의적으로 결정되는 묵시적 방식이 있을 수 있다. 이하 명시적 방식 및 묵시적 방식에 대해서 설명하고자 한다.
참조 시점 리스트에 포함되어 있는 시점들 중에서 어느 시점을 참조 시점으로 할 것인지에 관한 정보, 즉 참조 시점의 시점 식별 정보를 명시적으로 전송할 수 있다. 여기서, 참조 시점 리스트는 시점 간 참조 관계에 기초하여 생성되는 참조 시점의 리스트를 의미할 수 있다.
예를 들어, 상기 참조 시점 리스트에 속하는 시점들 중에서, 현재 시점과 가장 가까운 시점부터 참조 시점이 될 수 있는지 여부를 체크하는 것으로 설정되어 있는 경우에는, 참조 시점의 시점 식별 정보를 명시적으로 전송할 필요는 없다. 그러나 이런 경우에도 L0,L1 방향의 참조 시점 리스트가 존재할 수 있기 때문에, 그 둘 중에 어느 것부터 체크할 것인지를 나타내는 플래그 정보를 명시적으로 전송할 수 있다. 예를 들어, 상기 플래그 정보에 따라 L0 방향의 참조 시점 리스트를 먼저 체크할지, 아니면 L1 방향의 참조 시점 리스트를 먼저 체크할지를 판단할 수 있다.
다른 예로, 모션 스킵을 위해 이용될 참조 시점의 개수 정보를 명시적으로 전송할 수 있다. 이 때, 상기 참조 시점의 개수 정보는 시퀀스 파라미터 세트로부터 획득될 수 있다. 또한, 인코더에서 계산된 가장 효율이 좋은 복수개의 글로벌 움직임 벡터를 명시적으로 전송할 수도 있다. 이 때, 상기 복수개의 글로벌 움직임 벡터는 넌-인터뷰 픽쳐 그룹의 슬라이스 헤더로부터 획득될 수 있다. 이렇게 전송된 복수개의 글로벌 움직임 벡터를 순차적으로 적용할 수 있다. 예를 들어, 가장 효율이 좋은 글로벌 움직임 벡터가 가리키는 블록이 인트라 모드로 코딩되어 있거나 이용 불가능한 경우, 두번째로 효율이 좋은 글로벌 움직임 벡터가 가리키는 블록을 체크할 수 있다. 마찬가지 방식으로 명시적으로 전송된 복수개의 글로벌 움직임 벡터가 가리키는 블록을 모두 체크할 수 있다.
다른 예로, 시퀀스에서 모션 스킵 모드를 적용할지 여부를 나타내는 플래그 정보를 정의할 수 있다. 예를 들어, motion_skip_flag_seq 가 1이면 모션 스킵 모드는 시퀀스에서 적용될 수 있다. motion_skip_flag_seq 가 0이면 모션 스킵 모드는 시퀀스에서 적용되지 않는다. 이러한 경우는 슬라이스 또는 매크로블록 레벨에서 모션 스킵 모드가 적용될지 여부를 다시 확인할 수 있다.
상기 플래그 정보에 따라 시퀀스에서 모션 스킵 모드가 적용되는 경우, 모션 스킵 모드에서 이용될 참조 시점의 전체 개수를 정의할 수 있다. 예를 들어, num_of_views_minusl_for_ms 은 모션 스킵 모드에서 이용될 참조 시점의 전체 개수 를 의미할 수 있고, 상기 num_of_views_minusl_for_ms 는 시퀀스 파라미터 세트의 확장 영역으로부터 획득될 수 있다. 상기 참조 시점의 전체 개수만큼 글로벌 움직임 벡터를 획득할 수 있다. 이때 상기 글로벌 움직임 벡터는 슬라이스 헤더로부터 획득될 수 있다. 또한, 상기 글로벌 움직임 벡터는 현재 슬라이스가 넌-인터뷰 픽쳐 그룹에 해당될 경우에만 획득될 수 있다. 이렇게 획득된 복수개의 글로벌 움직임 벡터는 상기에서 설명했던 방식처럼 순차적으로 적용할 수 있다.
다른 예로, 글로벌 움직임 벡터는 참조 시점의 개수에 기초하여 시퀀스 파라미터 세트의 확장 영역으로부터 획득될 수 있다. 예를 들어, 상기 글로벌 움직임 벡터는 L0 방향에 대한 글로벌 움직임 벡터와 L1 방향에 대한 글로벌 움직임 벡터로 구분하여 각각 획득될 수 있다. 이 때, 상기 참조 시점의 개수는 인터뷰 참조 정보로부터 확인할 수 있고, L0 방향에 대한 참조 시점의 개수와 L1 방향에 대한 참조 시점의 개수로 구분되어 획득될 수 있다. 이러한 경우, 슬라이스 내의 모든 블록들은 시퀀스 파라미터 세트의 확장 영역으로부터 획득된 동일한 글로벌 움직임 벡터를 이용하게 된다. 그리고, 매크로블록 레이어에서는 각각 다른 글로벌 움직임 벡터를 이용할 수 있다. 이때 상기 글로벌 움직임 벡터를 가리키는 인덱스는 이미 코딩된 인터뷰 픽쳐 그룹의 글로벌 움직임 벡터의 인덱스와 동일할 수 있다. 또한, 상기 글로벌 움직임 벡터의 시점 식별 번호는 이미 코딩된 인터뷰 픽쳐 그룹의 글로벌 움직임 벡터가 가리키는 시점의 식별 번호와 동일할 수 있다.
다른 예로, 인코더에서 계산된 가장 효율이 좋은 대응 블록의 시점 식별 번호를 전송할 수 있다. 즉, 선택된 참조 시점의 시점 식별 번호가 매크로블록 레벨 에서 코딩될 수 있다. 또는 선택된 참조 시점의 시점 식별 번호가 슬라이스 레벨에서 코딩될 수 있다. 또는 슬라이스 레벨과 매크로블록 레벨 중 어느 하나를 선택할 수 있는 플래그 정보를 슬라이스 레벨에서 정의할 수 있다. 예를 들어, 상기 플래그 정보가 매크로블록 레벨에서의 이용을 나타내는 경우, 참조 시점의 시점 식별 번호는 매크로블록 레벨에서 파싱될 수 있다. 또는 상기 플래그 정보가 슬라이스 레벨에서의 이용을 나타내는 경우, 참조 시점의 시점 식별 번호는 슬라이스 레벨에서 파싱되고 매크로블록 레벨에서는 파싱되지 않는다.
한편, L0,L1 방향의 참조 시점 리스트에 포함되어 있는 참조 시점들 중에서 어느 시점을 참조 시점으로 할 것인지에 관한 정보가 전송되지 않을 수 있다. 이런 경우, 각 참조 시점들의 대응 블록에 모션 정보가 존재하는지 여부를 체크하면서, 최종적인 참조 시점 및 대응 블록을 결정할 수 있다, L0,L1 방향의 참조 시점 리스트 중 어느 참조 시점 리스트에 속하는 참조 시점부터 최우선적으로 체크를 할 것인지, 그 참조 시점에 모션 정보가 없는 경우, 그 이후에는 어느 순서대로 체크를 할 것인지에 관해 다양한 실시예가 존재할 수 있다.
예를 들어, 특정 참조 시점 리스트에 속하는 참조 시점들간 우선 순위에 있어서, 첫째, L0 방향의 참조 시점 리스트(또는 L1 방향의 참조 시점 리스트)에 포함되어 있는 참조 시점들 중에서, 참조 시점을 가르키는 인덱스가 낮은 순서대로 체크할 수 있다. 여기서, 참조 시점을 가르키는 인덱스란, 인코더에서 비트스트림을 코딩할 때 설정된 참조 시점들의 일련 번호일 수 있는 데, 예를 들어 시퀀스 확장 정보(SPS extension)에서 의 넌-인터뷰 픽쳐 그룹의 참조 시점을 non_anchor_ref_10[i] 또는 non_anchor_ref_11[i]라고 표현할 때, 여기서 i가 참조 시점을 가르키는 인덱스일 수 있다. 인코더에서, 현재 시점과 가까운 순서대로 낮은 인덱스를 부여할 수 있지만, 본 발명은 이에 한정되지 아니한다. 만약, 인덱스 'i'가 0부터 시작하는 경우, i=0인 참조 시점을 체크하고, 다음으로 i=1인 참조 시점을, 그 다음 i=2인 참조 시점을 체크할 수 있다.
도 7을 참조하면, 제1 참조 리스트(RL1) 중에서, 참조시점을 나타내는 인덱스가 가장 낮은 시점(Vc-1=non_anchor_ref_10[0])을 제1 참조시점(RV1)으로 결정할 수 있다. 그리고, 현재 시점(Vc) 및 제1 참조시점(RV1)간의 글로벌 움직임 벡터(GDV_10[0])가 가르키는 블록을 제1 대응 블록(CB1)으로 결정할 수 있다. 만약, 상기 제1 대응 블록(CB1)이 인트라 블록이 아닌 경우, 상기 제1 대응 블록으로부터 움직임 정보를 유도할 수 있다.
반면, 상기 제1 대응 블록(CB1)의 블록 타입이 인트라 블록인 경우, 제2 참조 리스트(RL2) 중에서 인덱스가 가장 낮은 시점 (Vc+1=non_anchor_ref_11[0])을 제2 참조시점(RV2)으로 결정할 수 있다. 그리고, 현재 시점(VC) 및 제2 참조시점(RV2) 간의 글로벌 움직임 벡터(GDV_11[0])가 가르키는 블록을 제2 대응 블록(CB2)로 결정할 수 있다. 상기에서 설명한 방식과 마찬가지로, 대응 블록의 블록 타입에 기초하여 제3 참조시점(RV3)의 제3 대응 블록(CB3), 제4 참조시점(RV4)의 제4 대응 블록(CB4)을 순차적으로 확인할 수 있다. 즉, 참조 시점을 나타내는 인덱스를 고려하여, L0방향의 제1 참조 리스트(RL1)과 L1방향의 제2 참조 리스트(RL2)의 각 참조 시점을 번갈아 가면서 움직임 정보가 존재하는지 여부를 체크할 수 있다.
다른 예로, L0 방향의 참조 시점 리스트(또는 L1 방향의 참조 시점 리스트)에 포함되어 있는 참조 시점들 중에서, 현재 시점과 가까운 순서대로 참조 시점들을 체크할 수 있다.
다른 예로, L0 방향의 참조 시점 리스트(또는 L1 방향의 참조 시점 리스트)에 포함되어 있는 참조 시점들 중에서, 기준 시점(base view)과 가까운 순서대로 참조 시점들을 체크할 수 있다.
또한, L0 방향의 참조 시점 리스트 및 L1 방향의 참조 시점 리스트 간의 우선 순위에 있어서, L1 방향의 참조 시점 리스트보다 L0 방향의 참조 시점 리스트에 속하는 참조 시점부터 체크하는 것으로 설정할 수 있다.
도 8a 내지 도 8d는 본 발명이 적용되는 실시예로서, 하나 이상의 참조 시점이 이용가능할 경우 모션 스킵에 이용되는 시점을 알려주기 위한 다양한 실시예들을 나타낸다.
첫번째 예로, 모션 스킵에 이용되는 참조 시점의 시점 식별 정보를 이용하여 모션 스킵을 수행할 수 있다. 인코더에서 모든 경우의 왜곡률(rate-distortion)을 계산하고, 그에 따라 가장 효율이 좋은 대응 블록을 찾을 수 있다. 상기 대응 블록의 시점 식별 정보를 디코더에 전송해줄 수 있다. 예를 들어, 도 8a를 살펴보면, 현재 블록에 대해 모션 스킵이 수행되는 경우(S820), 상기 대응 블록의 시점 식별 정보를 획득할 수 있다(S830). 여기서, 대응 블록의 시점 식별 정보는 현재 블록에 이용되는 시점의 시점 식별자(view identifier)를 의미할 수 있다. 또한, 참조 시 점의 시점 식별 정보는 현재 픽쳐가 넌-인터뷰 픽쳐 그룹인 경우에만 획득될 수 있다. 그리고, 상기 참조 시점의 시점 식별 정보는 인터뷰 참조 정보에 기초하여 획득될 수 있다. 예를 들어, 상기 참조 시점의 식별 정보는 인터뷰 참조 관계가 존재하는 경우에 획득될 수 있다. 여기서, 상기 인터뷰 참조 관계는, 예를 들어, 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 관계를 의미할 수 있다. 구체적 예로, 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 픽쳐의 개수 정보에 기초하여 상기 참조 시점의 시점 식별 정보가 획득될 수 있다. 넌-인터뷰 픽쳐 그룹의 L0 방향에 대한 인터뷰 참조 픽쳐의 개수가 0보다 크거나, 또는 넌-인터뷰 픽쳐 그룹의 L1 방향에 대한 인터뷰 참조 개수가 0보다 클 경우에 상기 참조 시점의 시점 식별 정보가 획득될 수 있다(S810). 상기 참조 시점의 시점 식별 정보는 시퀀스 파라미러 세트, 시퀀스 파라미터 세트의 확장 영역, 슬라이스 헤더 또는 매크로블록 레이어에서 획득될 수 있다.
상기 획득된 시점 식별 정보와 동일한 시점 식별자를 갖고, 인터뷰 예측을 수행하며, 현재 픽쳐와 동일한 POC를 갖는 픽쳐의 매크로블록으로부터 현재 블록의 움직임 정보를 유도할 수 있다.
두번째 예로, 모션 스킵에 이용되는 참조 슬라이스의 참조 인덱스(reference index)를 이용하여 모션 스킵을 수행할 수 있다. 인코더에서 모든 경우의 왜곡률(rate-distcrtion)을 계산하고, 그에 따라 가장 효율이 좋은 픽쳐(또는 슬라이스) 순으로 참조 인덱스를 할당할 수 있다. 상기 참조 인덱스를 디코더에 전송해줄 수 있다. 예를 들어, 도 8b를 살펴보면, 현재 블록에 대해 모션 스킵이 수행되는 경우(S850), 상기 현재 블록을 포함하는 슬라이스의 참조 인덱스를 획득할 수 있다 (S860). 여기서, 상기 참조 인덱스는 현재 블록의 모션 스킵에 이용되는 슬라이스의 참조 인덱스를 의미할 수 있다. 또한, 상기 참조 인덱스는 현재 픽쳐가 넌-인터뷰 픽쳐 그룹인 경우에만 획득될 수 있다. 그리고, 상기 참조 인덱스는 인터뷰 참조 정보에 기초하여 획득될 수 있다. 예를 들어, 상기 참조 인덱스는 인터뷰 참조 관계가 존재하는 경우에 획득될 수 있다. 여기서, 상기 인터뷰 참조 관계는, 예를 들어, 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 관계를 의미할 수 있다. 구체적 예로, 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 픽쳐의 개수 정보에 기초하여 상기 참조 인덱스가 획득될 수 있다. 넌-인터뷰 픽쳐 그룹의 L0 방향에 대한 인터뷰 참조 픽쳐의 개수가 0보다 크거나, 또는 넌-인터뷰 픽쳐 그룹의 L1 방향에 대한 인터뷰 참조 개수가 0보다 클 경우에 상기 참조 인덱스가 획득될 수 있다(S840). 상기 참조 인덱스는 시퀀스 파라미터 세트, 시퀀스 파라미터 세트의 확장 영역, 슬라이스 헤더 또는 매크로블록 레이어에서 획득될 수 있다.
상기 참조 인덱스가 가리키는 참조 픽쳐(또는 슬라이스)의 시점 식별 정보와 동일한 시점 식별자를 갖고, 인터뷰 예측을 수행하며, 현재 픽쳐와 동일한 POC를 갖는 픽쳐의 매크로블록으로부터 현재 블록의 움직임 정보를 유도할 수 있다.
세번째 예로, 모션 스킵에 이용되는 시절의 시점 인덱스(view index)를 이용하여 모션 스킵을 수행할 수 있다. 인코더에서 모든 경우의 왜곡률(rate-distortion)을 계산하고, 그에 따라 가장 효율이 좋은 픽쳐(또는 슬라이스)의 시점 순으로 시점 인덱스를 할당할 수 있다. 그리고, 상기 시점 인덱스를 디코더에 전송해줄 수 있다. 예를 들어, 도 8c를 살펴보면, 현재 블록에 대해 모션 스킵이 수행 되는 경우(S880), 상기 현재 블록의 모션 스킵에 이용되는 시점의 시점 인덱스를 획득할 수 있다(S890). 또한, 상기 시점 인덱스는 현재 픽쳐가 넌-인터뷰 픽쳐 그룹인 경우에만 획득될 수 있다. 그리고, 상기 시점 인덱스는 인터뷰 참조 정보에 기초하여 획득될 수 있다. 예를 들어, 상기 시점 인덱스는 인터뷰 참조 관계가 존재하는 경우에 획득될 수 있다. 여기서, 상기 인터뷰 참조 관계는, 예를 들어, 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 관계를 의미할 수 있다. 구체적 예로, 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 픽쳐의 개수 정보에 기초하여 상기 시점 인덱스가 획득될 수 있다. 넌-인터뷰 픽쳐 그룹의 L0 방향에 대한 인터뷰 참조 픽쳐의 개수가 0보다 크거나, 또는 넌-인터뷰 픽쳐 그룹의 L1 방향에 대한 인터뷰 참조 개수가 0보다 클 경우에 상기 시점 인덱스가 획득될 수 있다(S870). 상기 시점 인덱스는 시퀀스 파라미터 세트, 시퀀스 파라미터 세트의 확장 영역, 슬라이스 헤더 또는 매크로블록 레이어에서 획득될 수 있다.
상기 시점 인덱스를 이용하여 모션 스킵을 수행하기 위한 글로벌 움직임 벡터와 참조 블록의 시점 식별 정보를 유도할 수 있다. 예를 들어, 도 8d를 살펴보면, 상기 시점 인덱스를 2로 나눈 나머지가 0인 경우 L0 방향의 글로벌 움직임 벡터와 L0 방향의 시점 식별 정보가 모션 스킵을 위해 이용될 수 있다. 그러나, 상기 시점 인덱스를 2로 나눈 나머지가 1인 경우 L1 방향의 글로벌 움직임 벡터와 L1 방향의 시점 식별 정보가 모션 스킵을 위해 이용될 수 있다. 또한, 상기 시점 인덱스를 2로 나눈 몫(정수)을 글로벌 움직임 벡터 인덱스에 할당하고. 그에 기초하여 글로벌 움직임 벡터와 참조 블록의 시점 식별 정보를 유도할 수 있다.
상기 참조 블록의 시점 식별 정보와 동일한 시점에서 상기 글로벌 움직임 벡터가 가리키는 매크로블록으로부터 현재 를록의 움직임 정보를 유도할 수 있다.
도 9a, 도 9b 및 도 10a, 도 10b는 본 발명이 적용되는 실시예로서, 시점간 해상도가 다른 경우 시점간 예측을 수행하는 방법을 설명하기 위해 나타낸 것이다.
현재 시점과 참조 시점 사이의 공간 해상도가 다를 경우, 시점간 예측을 수행하는 방법이 달라질 수 있다.
첫번째 예로, 참조 픽쳐의 샘플링을 이용하여 시점간 예측을 수행할 수 있다. 예를 들어, 도 9a를 살펴보면, 현재 픽쳐보다 참조 픽쳐의 공간 해상도가 더 클 경우, 상기 참조 픽쳐를 다운 샘플링하고 상기 다운 샘플링된 참조 픽쳐를 이용하여 시점간 예측을 수행할 수 있다. 또는 현재 픽쳐보다 참조 픽쳐의 공간 해상도가 더 작을 경우에는, 상기 참조 픽쳐를 업샘플링하여 시점간 예측을 수행할 수도 있다. 또는 이와 마찬가지로, 현재 픽쳐의 샘플링을 이용해서 시점간 예측을 수행할 수도 있다.
두번째 예로, 인코더에서 샘플링 과정이 수행되지 않은 경우, 참조 픽쳐의 움직임 정보의 스케일링을 이용하여 시점간 예측을 수행할 수 있다, 예를 들어, 도 9b를 살펴보면, 현재 픽쳐보다 참조 픽쳐의 공간 해상도가 더 클 경우, 참조 블록의 움직임 정보를 스케일링한 후 상기 스케일된 움직일 정보로부터 현재 블록의 움직임 정보를 유도할 수 있다, 여기서, 상기 움직임 정보는 움직임 벡터, 글로벌 움직인 벡터 등을 의미할 수 있다. 이는 현재 픽쳐보다 참조 픽쳐의 공간 해상도가 더 작을 경우에도 유사한 방식으로 적용될 수 있다.
구체적 예로, 현재 픽쳐의 스케일링 후 참조 픽쳐로부터 움직임 정보를 유도할 수 있다. 이는 아래 수학식 6과 같다.
[수학식 6]
Figure 112009058458687-PCT00006
여기서, MbX는 현재 블록의 수평 위치를 나타낸다. 이를 참조 픽쳐의 해상도로 스케일링 한 후 GDV를 더함으로써 대응 블록의 위치를 유도할 수 있다.
예를 들어, 도 10a를 살펴보면, 현재 매크로블록의 수평 위치가 각각 0,1,2일 경우 상기 수학식 6을 이용하여 대응 블록의 수평 위치를 계산할 수 있다. 각각의 예는 아래 수학식 7과 같다.
[수학식 7]
Figure 112009058458687-PCT00007
즉, 현재 매크로블록의 수평 위치가 각각 0,1,2일 경우에 대응 블록의 수평 위치는 2,3,5에 대응된다.
다른 예로, 참조 픽쳐의 스케일링 후 현재 픽쳐로부터 움직임 정보를 유도할 수 있다. 이는 아래 수학식 8과 같다.
[수학식 8]
Figure 112009058458687-PCT00008
마찬가지로, MBX는 현재 블록의 수평 위치를 나타낸다. 상기 현재 블록의 수 평 위치에 GDV를 더한 후 참조 픽쳐의 해상도로 스케일링함으로써 대응 블록의 수평 위치를 유도할 수 있다.
예를 들어, 도 10b를 살펴보면, 현재 매크로블록의 수평 위치가 각각 0,1,2일 경우 상기 수학식 8을 이용하여 대응 블록의 수평 위치를 계산할 수 있다. 각각의 예는 아래 수학식 9와 같다.
[수학식 9]
Figure 112009058458687-PCT00009
즉, 현재 매크로블록의 수평 위치가 각각 0,1,2일 경우에 대응 블록의 수평 위치는 1,3,4에 대응된다.
상기 방법들은 수직 방향의 정보를 이용하여 동일한 방식으로 적용 가능하다.
또한, 상기 예들은 참조 시점의 픽쳐들이 완전히 복원되는 경우에 적용될 수 있다. 그리고, 상기 두번째 예는 참조 시점의 픽쳐들이 부분적으로 복원되는 경우에도 적용될 수 있다. 한편, 상기 예들은 모션 스킵이 수행되는 경우에도 적용할 수 있다.
도 11은 본 발명이 적용되는 실시예로서, 모션 스킵이 수행되는 경우 참조 인덱스를 유도하는 방법을 설명하기 위해 나타낸 것이다.
모션 스킵이 수행되는 경우, 현재 블록의 움직임 정보는 대응 블록의 움직임 정보로부터 유도될 수 있다. 이때, 상기 움직임 정보는 움직임 벡터, 참조 인덱스, 블록 타입 등을 포함할 수 있다. 이하에서는 참조 인덱스를 유도하는 다양한 실시예들을 살펴보도록 한다.
시점간 예측에 있어서, 대응 블록을 찾기 위해서는 시점 방향의 움직임 벡터가 필요할 수 있다. 이때, 상기 움직임 벡터는 글로벌 움직임 벡터를 포함할 수 있다. 상기 도 4 내지 도 6에서 설명한 바와 같이, 글로벌 움직임 벡터를 이용함에 있어서 가장 효율이 좋은 대응 블록을 찾기 위해서 보다 세밀한 글로벌 움직임 벡터를 이용할 수 있다. 예를 들어, 16pel, 8pel, 또는 4 pel 단위의 글로벌 움직임 벡터를 이용할 수 있다. 이처럼, 세밀한 단위의 글로벌 움직임 벡터를 이용할 경우 대응 블록의 위치가 정해진 매크로블록의 위치와 일치하지 않을 수 있다. 따라서, 이러한 경우 참조 인덱스를 유도하는 다양한 방법이 존재할 수 있다.
예를 들어, 도 11을 살펴보면, 글로벌 움직임 벡터가 가리키는 대응 블록이 복수개의 매크로블록들과 겹쳐져 있는 경우, 다양한 방법으로 참조 인덱스를 유도할 수 있다. 이때, 겹치는 매크로블록들의 참조 인덱스들 중 이용불가능한 참조 인덱스가 있는 경우는 이용하지 않을 수 있다. 예를 들어, refidx > -1 인 경우에만 참조 인덱스를 이용할 수 있다. 첫번째 예로, 이용가능한 참조 인덱스들 중 가장 중요한 참조 인덱스를 이용할 수 있다. 예를 들어, 가장 많이 겹치는 영역의 참조 인덱스를 이용할 수 있다. 두번째 예로, 이용가능한 참조 인덱스들 중 가장 작은 참조 인덱스를 이용할 수 있다. 세번째 예로, 이용가능한 참조 인덱스들 중 가장 큰 참조 인덱스를 이용할 수 있다.
다른 실시예로서, 겹치는 매크로블록들 중 인트라 코딩된 파티션을 포함하는 경우, 다양한 방법으로 움직임 정보를 유도할 수 있다. 예를 들어, 움직임 정보 유도시 인트라 코딩된 파티션은 이용되지 않을 수 있다.
다른 실시예로서, 겹치는 매크로블록들 중 인트라 코딩된 파티션을 포함하는 경우, 다른 시점에 있는 정보를 이용하도록 할 수 있다. 또는 상기 인트라 코딩된 파티션에 인접한 8x8 매크로블록들로부터 움직임 정보를 유도할 수 있다.
도 12는 본 발명이 적용되는 실시예로서. 시점간 예측에 이용되는 움직임 벡터를 획득하기 위한 다양한 방법들을 설명하기 위해 나타낸 것이다.
앞서 설명한 바와 같이, 글로벌 움직임 벡터(global motion vector)란, 일정 영역에 공통적으로 적용할 수 있는 움직임 벡터를 의미할 수 있다. 예를 들어, 움직임 벡터가 일부 영역(예: 매크로블록, 블록, 픽셀 등)에 대응된다면, 글로벌 움직임 벡터(global motion vector 또는 global disparity vector)는 상기 일부 영역을 포함하는 전체 영역에 대응되는 모션 벡터이다. 예를 들어, 상기 전체 영역은 하나의 슬라이스에 대응될 수도 있고, 하나의 픽쳐에 대응될 수도 있으면, 시퀀스 전체에 대응될 수도 있다. 또는, 픽쳐내 하나 이상의 객체, 배경, 또는 일정 영역에 각각 대응될 수도 있다. 이러한 글로벌 움직임 벡터는 픽셀 단위 또는 1/4픽셀 단위의 값이 될 수도 있고, 4x4 단위, 8x8 단위, 또는 매크로블록 단위의 값이 될 수도 있다.
첫번째 예로, 픽쳐 내의 영역을 적어도 하나 이상의 영역으로 분할하고, 분할된 각 영역마다 글로벌 움직임 벡터를 획득할 수 있다. 예를 들어, 픽쳐를 16등 분한 경우, 각 영역에 해당되는 글로벌 움직임 벡터들을 획득할 수 있다. 이 때, 16개의 각 영역마다 인덱스가 할당될 수 있다. 또한, 상기 글로벌 움직임 벡터는 현재 픽쳐가 인터뷰 픽쳐 그룹인 경우에 획득될 수 있다. 또는 상기 글로벌 움직임 벡터는 현재 픽쳐가 넌-인터뷰 픽쳐 그룹인 경우에 획득되도록 설정할 수도 있다. 상기 글로벌 움직임 벡터를 획득하기 위한 요건들에 대해서는 이미 상기 도 5에서 상세히 설명한 바 있다. 상기 요건들이 동일한 방식으로 적용될 수 있다.
두번째 예로, 픽쳐 내의 영역이 적어도 2 이상의 영역으로 분할된 경우, 각 영역의 글로벌 움직임 벡터 간의 차이값을 획득할 수 있다. 예를 들어, 인덱스 0인 영역의 글로벌 움직임 벡터와 인덱스 1인 영역의 글로벌 움직임 벡터 간의 차이간을 획득할 수 있다. 이때, 인덱스 0인 영역의 글로벌 움직임 벡터를 상기 차이값의 초기값으로 설정할 수 있다. 그리고, 인덱스 1인 영역의 글로벌 움직임 벡터는 상기 인덱스 0인 영역의 글로벌 움직임 벡터와 전송된 차이값을 더함으로써 유도될 수 있다.
다른 예로, 인덱스 값을 4로 나눈 나머지가 0일 경우에는 상기 차이값은 아래 수학식 10을 이용하여 획득될 수 있다.
[수학식 10]
Figure 112009058458687-PCT00010
여기서, idx는 0 ∼ (분할된 영역수-1) 값을 의미할 수 있다. 그렇지 않은 경우, 상기 차이값은 수학식 11을 이용하여 획득될 수 있다.
[수학식 11]
Figure 112009058458687-PCT00011
또한, 상기 차이값은 현재 픽쳐가 인터뷰 픽쳐 그룹인 경우에 획득될 수 있다. 또는 상기 차이값은 현재 픽쳐가 넌-인터뷰 픽쳐 그룹인 경우에 획득되도록 설정할 수도 있다. 상기 차이값을 획득하기 위한 요건들은 상기 도 5에서 설명한 요건들을 동일한 방식으로 적용할 수 있다.
세번째 예로, 픽쳐 내의 영역을 오브젝트를 기준으로 적어도 하나 이상의 영역으로 분할하여, 분할된 각 영역마다 글로벌 움직임 벡터를 획득할 수 있다. 이때, 분할된 영역의 개수 정보와 분할된 영역의 위치 정보를 획득할 수 있다. 예를 들어, 상기 도 12를 살펴보면, 2개의 오브젝트를 기준으로 3개의 영역으로 분할할 수 있다. 이때, 분할된 영역이 3개라는 정보와 각 분할된 영역의 위치 정보를 획득할 수 있다. 예를 들어, 상기 위치 정보는 좌측 상단 위치와 우측 하단 위치 정보를 포함할 수 있다.
상기 개수 정보는 슬라이스 내에서의 총 영역의 개수를 의미할 수 있다. 그리고, 상기 개수 정보는 모션 스킵을 수행할 때 이용될 수 있으며, 슬라이스 헤더로부터 획득될 수 있다. 또는 상기 개수 정보는 시퀀스 레벨 또는 픽쳐 레벨에서 획득될 수도 있다. 다만, 이 경우 슬라이스 레벨에서는 존재하지 않을 수 있다.
다른 예로, 현재 블록의 위치가 각각 분할된 영역의 좌측 상단 위치와 우측 하단 위치 사이에 존재하면, 상기 분할된 영역에 인덱스를 할당할 수 있다. 그렇지 않은 경우, 상기 인덱스 값을 1씩 증가시키면서 위의 과정을 반복적으로 수행할 수 있다. 낮은 인덱스 값을 가질수록 더 높은 우선 순위를 가질 수 있다. 여기서, 우선 순위란, 앞서 도 2에서 설명한 우선 순위를 의미할 수 있다.
도 13a와 도 13b는 본 발명이 적용되는 실시예로서, 확장된 인터뷰 참조 정보를 나타내는 신택스이다.
확장 기술을 위한 확장된 인터뷰 참조 정보를 정의할 수 있다. 예를 들어, 모션 스킵에 이용되는 인터뷰 참조 정보를 새로 정의할 수 있다. 구체적 예로, 모션 스킵시 이용되는 참조 시점의 개수 정보를 정의할 수 있다. 이때, 상기 참조 시점의 개수 정보는 L0 방향과 L1 방향에 대해 각각 정의할 수 있다. 예를 들어, num_motion_skip_refs_10[i], num_motion_skip_refs_11[i]로 정의할 수 있다(S1310, S1330). 또한, 상기 참조 시점의 시점 식별 정보를 정의할 수 있다. 예를 들어, motion_skip_refs_10[i][j], motion_skip_refs_11[i][j]로 정의할 수 있다(S1320, S1340). 상기 모션 스킵을 위한 인터뷰 참조 정보는 시퀀스 파라미터 세트의 확장 영역으로부터 획득될 수 있다.
또한, 상기 모션 스킵에 이용되는 인터뷰 참조 정보가 정의될 경우, 상기 인터뷰 참조 정보에 기초하여 모션 스킵 플래그 정보 및 글로벌 움직임 벡터를 획득할 수 있게 된다(S1350). 이를 획득하기 위한 요건들에 대해서는 이미 상기 도 4 내지 도 6에서 상세히 설명한 바 있다. 따라서, 상기 요건들이 유사한 방식으로 적용될 수 있다.
이처럼, 확장된 인터뷰 참조 정보를 정의할 경우, 원래의 인터뷰 참조 정보는 이용되지 않을 수 있다. 상기 확장된 인터뷰 참조 정보는 독립적으로 획득될 수 있다. 또한, 원래의 인터뷰 참조 정보와 함께 획득될 수도 있다.
또한, 상기 확장된 인터뷰 참조 정보는 시퀀스 파라미터 세트의 확장 영역에 추가될 수 있다. 모션 스킵은 인터뷰 샘플 예측과는 별도로 동작될 수 있다. 인터뷰 샘플 예측이 이용불가능한 시점들에 대해 인터뷰 참조 관계를 설정함으로써, 상기 인터뷰 샘플 예측이 이용불가능한 시점들에 대해서도 모션 스킵이 이용될 수 있다.
다른 예로, 상기 확장된 인터뷰 참조 정보를 제어하기 위한 플래그 정보를 설정할 수 있다, 예를 들어, 현재 시퀀스에서 모션 스킵이 이용되는지 여부를 나타내는 시퀀스 모션 스킵 플래그 정보가 설정될 수 있다. 상기 시퀀스 모션 스킵 플래그 정보에 따라 현재 시퀀스가 모션 스킵을 수행하는 경우, 상기 확장된 인터뷰 참조 정보를 획득할 수 있다.
다른 예로, 상기 시퀀스 모션 스킵 플래그 정보를 제어하기 위한 플래그 정보를 설정할 수 있다. 예를 들어, 상기 시퀸스 모션 스킵 플래그 정보는 부분 디코딩 플래그에 기초하여 획득될 수 있다. 여기서, 부분 디코딩 플래그란, 현재 픽쳐가 넌-인터뷰 픽쳐 그룹일 경우 인터뷰 참조 픽쳐의 완전한 복원없이(without fully reconstructing an inter-view reference picture) 상기 현재 픽쳐가 디코딩될 수 있는지 여부를 나타낸다. 이에 대해서는 상기 도 4에서 상세히 설명한 바 있다.
이처럼, 상기 시퀀스 모션 스킵 플래그를 획득하기 위해서는 상기 실시예들이 독립적인 요건으로 적용될 수 있을 뿐만 아니라, 그 조합에 의해 적용될 수도 있다. 또한, 상기 모션 스킵 플래그는 아무런 요건 없이 획득될 수도 있다. 예를 들어, 시퀀스 파라미터 세트, 픽쳐, 슬라이스 헤더, 매크로블록 레이어, 및/또는 이들의 확장 영역으로부터 획득될 수 있다.
도 14는 본 발명이 적용되는 실시예로서, 깊이 정보를 전송하기 위한 다양한 방법들을 설명하기 위해 나타낸 것이다.
비디오 신호 코딩에 있어서, 특정 어플리케이션을 위해서 또는 다른 목적을 위해서 깊이 정보를 이용할 수 있다. 깊이 정보란, 시점 간의 변이 차이를 나타낼 수 있는 정보를 의미할 수 있다. 예를 들어, 시점간 예측을 통해서 변이 벡터를 획득할 수 있는데 상기 획득된 변이 벡터는 현재 블록의 번이 보상을 위해 디코딩 장치에 전송되어야 한다. 하지만, 깊이 맵을 구하여 이를 디코딩 장치에 전송하게 될 경우, 상기 변이 벡터를 디코딩 장치에 전송할 필요없이 상기 깊이 맵(depth map)(또는 변이 맵(disparity map))으로부터 상기 변이 벡터를 유추해낼 수 있다. 이러한 경우, 디코딩 장치에 전송되어져야 할 깊이 정보의 비트수를 감소시킬 수 있다. 또는, 움직임 벡터 또는 변이 벡터를 깊이 맵과 함께 전송할 수도 있다. 따라서, 상기 깊이 맵으로부터 변이 벡터를 유도함으로써 새로운 변이 보상하는 방법이 제공될 수 있다. 그리고, 상기 깊이 맵으로부터 변이 벡터를 유도하는 과정에서 다른 시점의 픽쳐를 이용할 경우, 시점 식별 정보가 이용될 수 있다. 이하에서는 상기 깊이 정보를 전송하는 다양한 방법들을 살펴보도록 한다.
본 발명의 실시예로, 현재 NAL이 깊이 정보들을 포함하는 깊이 비트스트림인지 아니면 일반적인 컬러 비트스트림인지 여부를 나타내는 플래그 정보를 정의할 수 있다. 예를 들어, depth_flag 가 1인 경우 현재 NAL은 깊이 비트스트림을 의미할 수 있고, 0인 경우 현재 NAL은 컬러 비트스트림을 의미할 수 있다. 상기 플래그 정보에 따라 현재 NAL이 깊이 비트스트림을 의미하는 경우, 다시점 비디오 코딩을 위한 속성 정보들을 이용할 수 있다. 깊이 정보들 사이에서도 시점간 예측이 필요할 수 있기 때문이다. 예를 들어, 상기 속성 정보들로는 시점 식별 정보, 인터뷰 픽쳐 그룹 식별 정보, 인터뷰 예측 플래그 정보, 시간적 레벨 정보, 우선순위 식별 정보, 시점에 대한 순간 복호 픽쳐인지 여부를 나타내는 식별 정보 등이 있을 수 있다. 이에 대해서는 상기 도 2에서 상세히 설명한 바 있다. 한편, 현재 NAL에 속하는 깊이 맵은 복수개의 시점들 사이의 깊이를 나타낼 수 있다. 그리고, 상기 깊이 정보는 다양한 정보들을 포함할 수 있다. 예를 들어, 상기 깊이 정보로는 상기 깊이 맵에 관련된 픽쳐들의 시점 식별 정보(target_view_id_base, target_view_id_ref)가 있을 수 있다. 또는, 컬러 비트스트림과 깊이 비트스트림 간에 공간 해상도의 차이가 있는 경우, 수평, 수직 방향의 스케일링 팩터(factor)(scale_x, scale_y)가 있을 수 있다. 또는, 샘플링된 깊이 픽쳐와 컬러 픽쳐 사이의 수평,수직 위치 차이를 나타내는 오프셋 정보(offset_x, offset_y)가 있을 수 있다. 상기 오프셋 정보의 예로서, 업샘플된 깊이 픽쳐와 현재 픽쳐 사이의 상,하,좌,우 위치 차이를 나타내는 오프셋 정보들(left_offset, top_offset, right_offset, bottom_offset)이 있을 수 있다. 그리고, 픽쳐 간의 멀고 가까움을 나타내는 깊이의 레인지(range) 정보(nk_far, nk_near)가 있을 수 있다.
다른 실시예로, 상기 깊이 정보들을 NAL 유닛 헤더, NAL 유닛 RBSP 또는 시 퀀스 파라미터 세트에 넣어 전송할 수 있다.
NAL 유닛은 NAL 유닛의 헤더와 RBSP(Raw Byte Sesuence Payload, 동영상 압축의 결과데이터)로 구성될 수 있다 그리고, NAL 유닛의 헤더에서는 nal_ref_idc와 nal_unit_type을 포함할 수 있다. 또한, 제한적으로 상기 NAL 유닛 헤더의 확장 영역도 포함할 수 있다. 예를 들어, 상기 NAL 유닛의 타입을 나타내는 정보가 다시점 비디오 코딩과 관련이 있는 경우, 또는 prefix NAL 유닛을 나타내는 경우에, 상기 NAL 유닛은 상기 NAL 유닛 헤더의 확장 영역도 포함할 수 있다. 이에 대해서는 상기 도 2에서 상세히 설명한 바 있다. 또한, 시퀀스 파라미터 세트는 시퀀스 파라미터 세트의 확장 영역, 시퀀스 파라미터 세트의 다시점 확장 영역 또는 시퀀스 파라미터 세트의 깊이 확장 영역 등을 포함할 수 있다. 이하에서는 이에 대한 구체적인 실시예들을 살펴보도록 한다.
첫번째 예로, 현재 NAL이 기준 시점에 해당되는 경우 상기 깊이 정보들을 NAL유닛 헤더에 넣어 전송하는 방법을 설명하도록 한다.
기준 시점이란, 다른 시점들과는 독립적으로 코딩가능한 시점을 의미할 수 있다. 또는 기존의 디코더(예를 들어, H.264/AVC, MPEG-2, MPEG-4 등)와의 호환성을 위한 적어도 하나의 시점을 의미할 수 있다. 따라서, 현재 NAL이 기준 시점에 해당되는 경우, 기존 디코더와의 호환성 때문에 상기 깊이 정보들을 코딩할 수 없게 된다. 따라서, 선행하는 prefix NAL 유닛에 상기 깊이 정보들을 넣을 수 있다. 여기서, prefix NAL 유닛이란, 후행하는 NAL 유닛의 설명 정보를 포함하는 NAL 유닛을 의미할 수 있다. 상기 prefix NAL 유닛은 RBSP 정보를 포함하지 않을 수 있 다. 예를 들어, NAL 유닛 타입이 prefix NAL 유닛을 나타내는 경우, NAL 유닛 헤더는 깊이 정보를 포함할 수 있다. 구체적 예로, nal_unit_type = 14 인 경우, NAL 유닛 헤더는 스케일러블 확장 정보 또는 다시점 확장 정보를 포함할 수 있다. 상기 다시점 확장 정보는 깊이 정보를 포함할 수 있다.
또한, 상기 NAL 헤더 영역 또는 NAL 헤더의 확장 영역에서 MVC 비트스트림인지 여부를 식별할 수 있는 플래그 정보(svc_mvc_flag)를 추가할 수 있다. 상기 플래그 정보에 따라 입력된 비트스트림이 다시점 영상 코딩된 비트스트림일 경우, 현재 NAL 유닛에 깊이 관련 정보가 존재하는지 여부를 나타내는 플래그 정보가 정의될 수 있다. 예를 들어, depth_flag = 1 이면, 현재 NAL 유닛에 깊이 관련 정보가 존재함을 알 수 있다. 이때, 상기 깊이 관련 정보는 NAL 유닛 헤더의 확장 영역에서 정의될 수 있다. 또는 상기 NAL 유닛 헤더의 확장 영역 중 깊이 확장 영역 내에서 따로 정의될 수도 있다.
두번째 예로, 현재 NAL이 기준 시점에 해당되지 않는 경우 상기 깊이 정보들을 NAL 유닛 헤더에 넣어 전송하는 방법을 설명하도록 한다.
현재 NAL이 기준 시점에 해당되지 않는 강우에는 다시점 확장 NAL 유닛에 상기 깊이 정보들을 넣을 수 있다. 예를 들어, NAL 유닛 타입이 스케일러블 확장 NAL 유닛 또는 다시점 확장 NAL 유닛을 나타내는 경우, NAL 유닛 헤더는 깊이 정보를 포함할 수 있다. 구체적 예로, nal_unit_type = 20 인 경우, NAL 유닛 헤더는 스케일러블 확장 정보 또는 다시점 확장 정보를 포함할 수 있다. 상기 다시점 확장 정보는 깊이 정보를 포함할 수 있다. 여기서, 상기 깊이 정보를 정의하는 구체적인 방법은 상기 첫번째 예에서 설명한 방식과 유사하게 적용할 수 있다.
세번째 예로, 현재 NAL이 기준 시점에 해당되는 경우 상기 깊이 정보들을 NAL 유닛의 RBSP에 넣어 전송하는 방법을 설명하도록 한다.
상기 첫번째 예에서 설명한 바와 마찬가지로, 기존 디코더와의 호환성 때문에 prefix NAL 유닛에 상기 깊이 정보들을 넣을 수 있다. 다만, 첫번째 예에서는 상기 깊이 정보들이 prefix NAL 유닛의 헤더에 포함되었지만, 세번째 예에서는 prefix NAL 유닛의 RBSP에 포함될 수 있다. 이때, prefix NAL 유닛의 헤더의 확장 영역에서 depth_flag를 정의할 수 있다. 그리고, 상기 prefix NAL 유닛의 RBSP에서 상기 depth_flag 정보에 기초하여 깊이 정보들을 획득할 수 있게 된다.
네번째 예로, 현재 NAL이 기준시점에 해당되지 않는 경우 상기 깊이 정보들을 NAL 유닛의 RBSP에 넣어 전송하는 방법을 설명하도록 한다.
상기 두번째 예에서 설명한 바와 마찬가지로, 다시점 확장 NAL 유닛에 상기 깊이 정보들을 넣을 수 있다. 다만, 두번째 예에서는 상기 깊이 정보들이 다시점 확장 NAL 유닛의 헤더에 포함되었지만, 네번째 예에서는 다시점 확장 NAL 유닛의 RBSP에 포함될 수 있다. 이때, 다시점 확장 NAL 유닛의 헤더의 확장 영역에서 depth_flag를 정의할 수 있다. 그리고, 상기 다시점 확장 NAL 유닛의 RBSP에서 상기 depth_flag 정보에 기초하여 깊이 정보들을 획득할 수 있게 된다.
다섯번째 예로, 현재 NAL이 기준 시점에 해당되는 경우 상기 깊이 정보들을 새로운 NAL 유닛 헤더에 넣어 전송하는 방법을 설명하도록 한다.
깊이 관련 정보들을 전송하기 위한 새로운 NAL 유닛 타입을 정의할 수 있다. 예를 들어, nal_unit_type = 21 인 경우, 현재 NAL 유닛에 깊이 관련 정보가 존재함을 알 수 있다. 첫번째 예에서와 마찬가지로, 기존 디코더와의 호환성 때문에 prefix NAL 유닛에 상기 깊이 정보들을 넣을 수 있다. NAL 유닛 헤더의 확장 영역에서 NAL 유닛 타입이 Prefix NAL 유닛인 경우에만 depth_flag를 획득할 수 있다. 따라서, 상기 depth_flag와 새로운 NAL 유닛 타입에 기초하여 깊이 정보들을 획득할 수 있다. 이때, 상기 NAL 유닛 헤더의 확장 영역 중 깊이 확장 영역 내에서 따로 정의될 수도 있다.
여섯번째 예로, 현재 NAL이 기준 시점에 해당되지 않는 경우 상기 깊이 정보들을 새로운 NAL 유닛 헤더에 넣어 전송하는 방법을 설명하도록 한다. 다섯번째 예에서와 마찬가지로, 깊이 관련 정보들을 전송하기 위한 새로운 NAL 유닛 타입을 정의할 수 있다. 상기 새로운 NAL 유닛 타입의 헤더에서 깊이 관련 정보들을 정의할 수 있다. 예를 들어, nal_unit_type = 21 인 경우, NAL 헤더의 확장 영역에 있는 정보들을 파싱할 수 있다. 그리고, svc_mvc_flag = 1 이면, 다시점 영상의 속성 정보들을 파싱할 수 있다. 이때, 상기 NAL 헤더의 확장 영역에서 다시 nal_unit_type = 21 인 경우에는 NAL 유닛 헤더의 확장 영역 중 깊이 확장 영역을 파싱할 수 있게 된다.
또는 새로운 NAL 유닛 타입을 확인한 후, 바로 NAL 유닛 헤더의 깊이 확장 영역을 파싱할 수도 있다. 이 경우, 상기 NAL 유닛 헤더의 확장 영역 내의 다시점 영상 속성 정보들은 상기 NAL 유닛 헤더의 깊이 확장 영역 내에서 정의될 수 있다.
일곱번째 예로, 현재 NAL이 기준 시점에 해당되는 경우 상기 깊이 정보들을 새로운 NAL 유닛의 RBSP에 넣어 전송하는 방법을 설명하도록 한다.
다섯번째 예에서와 마찬가지로, 기존 디코더와의 호환성 때문에 prefix NAL 유닛에 상기 깊이 정보들을 넣을 수 있다. NAL 유닛 헤더의 확장 영역에서 NAL 유닛 타입이 prefix NAL 유닛인 경우에만 depth_flag를 획득할 수 있다. 따라서, 상기 depth_flag 에 기초하여 깊이 정보들을 획득할 수 있다. 이때, 상기 NAL 유닛 헤더의 확장 영역 중 깊이 확장 영역 내에서 따로 정의될 수도 있다. 그리고, 상기 prefix NAL 유닛의 RBSP에서 상기 depth_flag에 기초하여 깊이 정보들을 획득할 수 있게 된다. 예를 들어, nal_unit_type = 14 인 경우, NAL 헤더의 확장 영역에 있는 정보들을 파싱할 수 있다. 그리고, svc_mvc_flag = 1 이면, 다시점 영상의 속성 정보들을 파싱할 수 있다. 이때, 상기 NAL 헤더의 확장 영역에서 다시 nal_unit_type = 14 인 경우에는 depth_flag를 파싱할 수 있다. 그리고, prefix NAL 유닛의 RBSP에서 depth_flag = 1 인 경우 깊이 정보들을 획득할 수 있게 된다.
여덟번째 예로, 현재 NAL이 기준 시점에 해당되지 않는 경우 상기 깊이 정보들을 새로운 NAL 유닛의 RBSP에 넣어 전송하는 방법을 설명하도록 한다. 여섯번째 예에서와 마찬가지로, 깊이 관련 정보들을 전송하기 위한 새로운 NAL 유닛 타입을 정의할 수 있다. 상기 새로운 NAL 유닛 타입의 RBSP에서 깊이 관련 정보들을 정의할 수 있다. 예를 들어, nal_unit_type = 21 인 경우, NAL 헤더의 확장 영역에 있는 정보들을 파싱할 수 있다. 그리고, svc_mvc_flag = 1 이면, 다시점 영상의 속성 정보들을 파싱할 수 있다. 이때, 상기 NAL 헤더의 확장 영역에서 다시 nal_unit_type = 21 인 경우에는 NAL 유닛 헤더의 깊이 확장 영역을 파싱할 수 있 게 된다.
또는 새로운 NAL 유닛 타입을 확인한 후, 바로 NAL 유닛 헤더의 깊이 확장 영역을 파싱할 수도 있다. 이 경우, 상기 NAL 유닛 헤더의 확장 영역 내의 다시점 영상 속성 정보들은 상기 NAL 유닛 헤더의 깊이 확장 영역 내에서 정의될 수 있다.
아홉번째 예로, 시퀀스 파라미터 세트 내에 깊이 정보에 대한 인터뷰 참조 정보를 정의할 수 있다. 이하, 깊이 정보에 대하여 시점을 칭할 때, 깊이 시점(depth view)이라 부르기로 한다. 예를 들어, 코딩된 깊이 시점들의 총 개수(total number of coded depth views)(num_vlews_minusl_depth), 코딩 순서에 따른 깊이 시점의 시점 식별 정보(view identification information of the depth view with coding order)(view_id_depth[i]), 깊이 시점을 복원하는데 필요한 컬러 비디오 시점들(기준 시점, 참조 시점)의 시점 식별 정보(target_view_id_base[i], target_view_id_ref[i]) 등이 있을 수 있다. NAL 유닛의 타입을 나타내는 정보가 시퀀스 파라미터 세트를 나타내는 정보일 경우, 상기 RBSP는 시퀀스 파라미터 세트에 대한 정보를 포함할 수 있다. 구체적 예로, nal_unit_type = 7 일 경우, 상기 RBSP는 시퀀스 파라미터 세트에 대한 정보를 포함할 수 있다. 또는, nal_unit_type = 15 일 경우, 상기 RBSP는 서브셋 시퀀스 파라미터 세트에 대한 정보를 포함할 수 있다. 이 때, 프로파일 정보에 따라 상기 서브셋 시퀀스 파라미터 세트는 시퀀스 파라미터 세트의 확장 영역을 포함할 수 있다.
예를 들어, 프로파일 정보(profile_idc)가 다시점 비디오 코딩에 관련된 프로파일인 경우, 상기 서브셋 시퀀스 파라미터 세트는 시퀀스 파라미터 세트의 확장 영역을 포함할 수 있다. 상기 시퀀스 파라미터 세트의 확장 영역은 깊이 시점간 의존 관계를 나타내는 깊이 시점간 참조 정보(inter-depth-view reference information)를 포함할 수 있다. 또한, 상기 시퀀스 파라미터 세트의 확장 영역은 상기 도 14에서 설명한 깊이 정보들을 포함할 수도 있다.
또는, 깊이 관련 정보들을 위한 프로파일 정보(profile_idc)를 새롭게 정의할 수 있다. 예를 들어, 프로파일 정보가 깊이 정보 코딩에 관련된 프로파일인 경우, 상기 서브셋 시퀀스 파라미터 세트는 시퀀스 파라미터 세트의 확장 영역을 포함할 수 있다 마찬가지로, 상기 시퀀스 파라미터 세트의 확장 영역은 상기 새로운 프로파일 정보에 기초하여, 깊이 시점간 참조 정보(inter-depth-view reference information) 및/또는 깊이 정보들을 포함할 수 있다.
또는, 상기 새로운 프로파일 정보(profile_idc)에 기초하여 시퀀스 파라미터 세트의 깊이 확장 영역를 새롭게 정의할 수 있다. 이때, 상기 시퀀스 파라미터 세트의 깊이 확장 영역은 깊이 시점간 참조 정보(inter-depth-view reference in-formation) 및/또는 깊이 정보들을 포함할 수 있다. 또는, 상기 시퀀스 파라미터 세트의 깊이 확장 영역의 NAL 유닛 타입을 새롭게 정의할 수 있다. 예를 들어, 상기 새로운 NAL 유닛 타입에 따라 새로운 시퀀스 파라미터 세트의 깊이 확장 영역이 정의될 수 있다. 그리고, 상기 시퀀스 파라미터 세트의 확장 영역은 깊이 시점간 참조 정보(inter-depth-view reference information) 및/또는 깊이 정보들을 포함할 수 있다. 또한, 상기 시퀀스 파라미터 세트의 확장 영역은, 디코딩된 픽쳐의 수평 길이 정보와, 디코딩된 프레임/필드의 슬라이스 그룹 맵 단위의 수직 길이 정보 들도 포함할 수 있다. 이는 컬러 픽쳐와 깊이 픽쳐 간의 공간 해상도 차이를 보상하기 위해 필요할 수 있다.
이상에서 설명한 바와 같이, 본 발명이 적용되는 디코딩/인코딩 장치는 DMB(Digital Multimedia Broadcasting)과 같은 멀티미디어 방송 송/수신 장치에 구비되어, 비디오 신호 및 데이터 신호 등을 복호화하는데 사용될 수 있다. 또한 상기 멀티미디어 방송 송/수신 장치는 이동통신 단말기를 포함할 수 있다.
또한, 본 발명이 적용되는 디코딩/인코딩 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이티가 저장되는 모든 종류의 저장 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 인코딩 방법에 의해 생성된 비트스트림은 컴퓨터가 읽을 수 있는 기록 매체에 저장되거나, 유/무선 통신망을 이용해 전송될 수 있다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다양한 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.

Claims (20)

  1. 부가 정보를 이용하여 참조 블록을 찾는 단계;
    상기 참조 블록으로부터 현재 블록의 움직임 정보를 유도하는 단계;
    상기 현재 블록의 움직임 정보를 이용하여 상기 현재 블록을 디코딩하는 단계
    를 포함하되,
    상기 부가 정보는 상기 참조 블록과 대응 블록의 위치 차이를 나타내는 오프셋 정보를 포함하고, 상기 대응 블록은 상기 현재 블록의 시점과 상기 참조 블록의 시점 사이의 변이 차이를 나타내는 글로벌 움직임 벡터가 가리키는 블록인 것을 특징으로 하는 비디오 신호 디코딩 방법.
  2. 제 1항에 있어서,
    상기 현재 블록의 움직임 정보가 유도되는 여부를 나타내는 제 2 플래그 정보를 획득하는 단계와;
    상기 제 2 플래그 정보에 기초하여 상기 부가 정보를 획득하는 단계를 더 포함하는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  3. 제 2항에 있어서,
    상기 제 2 플래그 정보는 매크로블록 레이어로부터 획득되는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  4. 제 2항에 있어서,
    현재 슬라이스가 모션 스킵을 이용하는지 여부를 나타내는 제 1 플래그 정보를 획득하는 단계를 더 포함하되,
    상기 제 2 플래그 정보는 상기 제 1 플래그 정보에 기초하여 획득되는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  5. 제 4항에 있어서,
    상기 제 1 플래그 정보는 슬라이스 헤더로부터 획득되는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  6. 제 2항 또는 제 4항에 있어서,
    상기 제 1 플래그 정보 또는 상기 제 2 플래그 정보는 인터뷰 픽쳐 그룹 식별 정보에 기초하여 획득되는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  7. 제 6항에 있어서,
    상기 인터뷰 픽쳐 그룹 식별 정보에 따라 현재 픽쳐가 넌-인터뷰 픽쳐 그룹에 해당되는 경우, 상기 제 1 플래그 정보 또는 상기 제 2 플래그 정보가 획득되는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  8. 제 4항에 있어서,
    상기 제 1 플래그 정보는 시점간 참조 관계를 나타내는 인터뷰 참조 정보에 기초하여 획득되는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  9. 제 8항에 있어서,
    상기 인터뷰 참조 정보는 시퀀스 파라미터 세트의 확장 영역으로부터 획득되는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  10. 제 8항에 있어서,
    상기 인터뷰 참조 정보는 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 픽쳐의 개수 정보를 포함하는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  11. 제 10항에 있어서,
    상기 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 픽쳐가 L0 방향 또는/및 L1 방향으로 적어도 하나 이상 존재하는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  12. 제 1항에 있어서,
    상기 글로벌 움직임 벡터와 상기 오프셋 정보를 이용하여 수정된 글로벌 움직임 벡터를 유도하는 단계를 더 포함하되,
    상기 수정된 글로벌 움직임 벡터를 이용하여 상기 참조 블록의 위치 정보가 유도되는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  13. 제 1항에 있어서,
    상기 글로벌 움직임 벡터는 시점간 참조 관계를 나타내는 인터뷰 참조 정보에 기초하여 획득되는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  14. 제 13항에 있어서,
    상기 인터뷰 참조 정보는 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 픽쳐의 개수 정보를 포함하고, 상기 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 픽쳐의 개수 정보만큼 상기 글로벌 움직임 벡터가 획득되는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  15. 제 1항에 있어서,
    상기 글로벌 움직임 벡터는 인터뷰 픽쳐 그룹 식별 정보에 기초하여 획득되는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  16. 제 15항에 있어서,
    상기 인터뷰 픽쳐 그룹 식별 정보에 따라 현재 픽쳐가 인터뷰 픽쳐 그룹에 해당되는 경우, 상기 글로벌 움직임 벡터가 획득되는 것을 특징으로 하는 비디오 신호 더코딩 방법.
  17. 제 1 항에 있어서,
    상기 비디오 신호는, 방송 신호로서 수신된 것임을 특징으로 하는 비디오 신호 디코딩 방법.
  18. 제 1 항에 있어서,
    상기 비디오 신호는, 디지털 미디엄을 통해 수신된 것임을 특징으로 하는 비디오 신호 디코딩 방법.
  19. 제 1 항에 기재된 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
  20. 부가 정보를 이용하여 참조 블록을 찾는 대응 블록 탐색부;
    상기 참조 블록으로부터 현재 블록의 움직인 정보를 유도하는 움직임 정보 유도부; 및
    상기 현재 블록의 움직임 정보를 이용하여 상기 현재 블록을 디코딩하는 움직임 보상부
    를 포함하되,
    상기 부가 정보는 상기 참조 블록과 대응 블록의 위치 차이를 나타내는 오프 셋 정보를 포함하고, 상기 대응 블록은 상기 현재 블록의 시점과 상기 참조 블록의 시점 사이의 변이 차이를 나타내는 글로벌 움직임 벡터가 가리키는 블록인 것을 특징으로 하는 비디오 신호 디코딩 장치.
KR1020097019888A 2007-04-25 2008-04-25 비디오 신호의 인코딩/디코딩 방법 및 장치 KR20100014553A (ko)

Applications Claiming Priority (36)

Application Number Priority Date Filing Date Title
US90796507P 2007-04-25 2007-04-25
US60/907,965 2007-04-25
US90799007P 2007-04-26 2007-04-26
US60/907,990 2007-04-26
US92402607P 2007-04-27 2007-04-27
US60/924,026 2007-04-27
US92407907P 2007-04-30 2007-04-30
US60/924,079 2007-04-30
US92423207P 2007-05-04 2007-05-04
US60/924,232 2007-05-04
US92461407P 2007-05-23 2007-05-23
US60/924,614 2007-05-23
US92469507P 2007-05-29 2007-05-29
US60/924,695 2007-05-29
US92921807P 2007-06-18 2007-06-18
US60/929,218 2007-06-18
US94820107P 2007-07-06 2007-07-06
US60/948,201 2007-07-06
US95193607P 2007-07-25 2007-07-25
US60/951,936 2007-07-25
US95611207P 2007-08-15 2007-08-15
US60/956,112 2007-08-15
US98017407P 2007-10-16 2007-10-16
US60/980,174 2007-10-16
US98629507P 2007-11-08 2007-11-08
US98629407P 2007-11-08 2007-11-08
US60/986,295 2007-11-08
US60/986,294 2007-11-08
US99269307P 2007-12-05 2007-12-05
US60/992,693 2007-12-05
US1848508P 2008-01-01 2008-01-01
US61/018,485 2008-01-01
US1985408P 2008-01-09 2008-01-09
US61/019,854 2008-01-09
US4224608P 2008-04-03 2008-04-03
US61/042,246 2008-04-03

Publications (1)

Publication Number Publication Date
KR20100014553A true KR20100014553A (ko) 2010-02-10

Family

ID=39925853

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097019888A KR20100014553A (ko) 2007-04-25 2008-04-25 비디오 신호의 인코딩/디코딩 방법 및 장치

Country Status (6)

Country Link
US (1) US8488677B2 (ko)
EP (1) EP2149262A4 (ko)
JP (1) JP2010525724A (ko)
KR (1) KR20100014553A (ko)
CN (1) CN101690220B (ko)
WO (1) WO2008133455A1 (ko)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012011672A2 (ko) * 2010-07-22 2012-01-26 에스케이텔레콤 주식회사 확장된 스킵모드를 이용한 영상 부호화/복호화 방법 및 장치
WO2012026734A2 (ko) * 2010-08-24 2012-03-01 삼성전자 주식회사 컬러 영상과 깊이 영상의 모션 벡터 공유를 이용한 부호화/복호화 장치 및 방법
WO2013039348A1 (ko) * 2011-09-16 2013-03-21 엘지전자 주식회사 영상 정보 시그널링 방법 및 이를 이용한 비디오 디코딩 방법
WO2014007596A1 (ko) * 2012-07-06 2014-01-09 삼성전자 주식회사 다계층 비디오 부호화 방법 및 장치, 다계층 비디오 복호화 방법 및 장치
WO2014051320A1 (ko) * 2012-09-28 2014-04-03 삼성전자주식회사 움직임 벡터와 변이 벡터를 예측하는 영상 처리 방법 및 장치
WO2014054897A1 (ko) * 2012-10-05 2014-04-10 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR20140096165A (ko) * 2011-11-30 2014-08-04 퀄컴 인코포레이티드 멀티뷰 비디오 코딩(mvc)호환가능한 3 차원 비디오 코딩(3dvc)을 위한 심도 컴포넌트 제거
KR101483380B1 (ko) * 2010-08-11 2015-01-15 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 멀티-뷰 신호 코덱
WO2015034303A1 (ko) * 2013-09-04 2015-03-12 삼성전자 주식회사 스크린 영상 부호화 방법 및 그 장치, 스크린 영상 복호화 방법 및 그 장치
US9288505B2 (en) 2011-08-11 2016-03-15 Qualcomm Incorporated Three-dimensional video with asymmetric spatial resolution
US9485503B2 (en) 2011-11-18 2016-11-01 Qualcomm Incorporated Inside view motion prediction among texture and depth view components
US9521418B2 (en) 2011-07-22 2016-12-13 Qualcomm Incorporated Slice header three-dimensional video extension for slice header prediction
US10264277B2 (en) 2011-11-11 2019-04-16 Ge Video Compression, Llc Multi-view coding with exploitation of renderable portions
US10440385B2 (en) 2011-11-11 2019-10-08 Ge Video Compression, Llc Multi-view coding with effective handling of renderable portions
US11496760B2 (en) 2011-07-22 2022-11-08 Qualcomm Incorporated Slice header prediction for depth maps in three-dimensional video codecs

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8131095B2 (en) * 2003-02-03 2012-03-06 Actimagine Process and device for the compression of portions of images
WO2005004479A1 (en) * 2003-07-08 2005-01-13 Koninklijke Philips Electronics N.V. Motion-compensated image signal interpolation
KR101277713B1 (ko) * 2007-02-08 2013-06-24 삼성전자주식회사 비디오 부호화 장치 및 그 방법
US20080317124A1 (en) * 2007-06-25 2008-12-25 Sukhee Cho Multi-view video coding system, decoding system, bitstream extraction system for decoding base view and supporting view random access
CN101690231A (zh) * 2007-06-28 2010-03-31 汤姆森特许公司 多视图编码视频的单环解码
EP2215844A2 (en) * 2007-10-15 2010-08-11 Nokia Corporation Motion skip and single-loop encoding for multi-view video content
BRPI0821500A2 (pt) * 2008-01-11 2015-06-16 Thomson Licensing Codificação de vídeo e profundidade
CN101562745B (zh) * 2008-04-18 2012-07-04 华为技术有限公司 一种多视点视频图像编码和解码的方法及装置
WO2009131688A2 (en) 2008-04-25 2009-10-29 Thomson Licensing Inter-view skip modes with depth
KR101663819B1 (ko) 2008-08-20 2016-10-10 톰슨 라이센싱 정제된 깊이 맵
JP2012504925A (ja) * 2008-10-06 2012-02-23 エルジー エレクトロニクス インコーポレイティド ビデオ信号の処理方法及び装置
RU2504917C2 (ru) * 2008-10-07 2014-01-20 Телефонактиеболагет Лм Эрикссон (Пабл) Файл медиаконтейнера
EP2365694B1 (en) * 2008-11-18 2017-01-04 LG Electronics Inc. Method and apparatus for processing image signal
KR101158491B1 (ko) 2008-12-08 2012-06-20 한국전자통신연구원 다시점 영상 부호화, 복호화 방법 및 그 장치.
TWI387317B (zh) * 2008-12-11 2013-02-21 Novatek Microelectronics Corp 產生重新取樣參考畫面之裝置及其方法與影像解碼系統
BRPI0924045A2 (pt) 2009-01-07 2017-07-11 Thomson Licensing Estimação de profundidade conjunta
KR101619450B1 (ko) * 2009-01-12 2016-05-10 엘지전자 주식회사 뎁스 정보를 이용한 비디오 신호 처리 방법 및 장치
US9503728B2 (en) * 2009-01-15 2016-11-22 Renesas Electronics Corporation Image processing device, decoding method, intra-frame decoder, method of decoding intra-frame and intra-frame encoder
US9485299B2 (en) * 2009-03-09 2016-11-01 Arris Canada, Inc. Progressive download gateway
US8719309B2 (en) * 2009-04-14 2014-05-06 Apple Inc. Method and apparatus for media data transmission
CN102450009B (zh) * 2009-04-20 2015-07-22 杜比实验室特许公司 在视频应用中用于视频预处理的滤波器选择
TWI489834B (zh) * 2009-04-28 2015-06-21 Panasonic Corp Image decoding method and image decoding apparatus
JP5614900B2 (ja) 2009-05-01 2014-10-29 トムソン ライセンシングThomson Licensing 3d映像符号化フォーマット
CA2904730C (en) 2009-05-29 2023-11-21 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, and image decoding method
US8675730B2 (en) * 2009-07-13 2014-03-18 Nvidia Corporation Macroblock grouping in a destination video frame to improve video reconstruction performance
KR20110007928A (ko) * 2009-07-17 2011-01-25 삼성전자주식회사 다시점 영상 부호화 및 복호화 방법과 장치
US8566393B2 (en) * 2009-08-10 2013-10-22 Seawell Networks Inc. Methods and systems for scalable video chunking
EP2499829B1 (en) 2009-10-14 2019-04-17 Dolby International AB Methods and devices for depth map processing
KR101768207B1 (ko) * 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
CN103826131B (zh) * 2010-04-08 2017-03-01 株式会社东芝 图像解码方法以及图像解码装置
WO2011125211A1 (ja) 2010-04-08 2011-10-13 株式会社 東芝 画像符号化方法及び画像復号化方法
CN103826130B (zh) * 2010-04-08 2017-03-01 株式会社东芝 图像解码方法以及图像解码装置
US9014271B2 (en) * 2010-07-12 2015-04-21 Texas Instruments Incorporated Method and apparatus for region-based weighted prediction with improved global brightness detection
ES2561078T3 (es) * 2010-07-15 2016-02-24 Ge Video Compression, Llc Codificación de vídeo híbrido que soporta síntesis de vistas intermedias
US8190677B2 (en) * 2010-07-23 2012-05-29 Seawell Networks Inc. Methods and systems for scalable video delivery
AU2011296954B2 (en) 2010-09-03 2016-02-11 Sony Corporation Encoding device and encoding method, as well as decoding device and decoding method
CA2806846A1 (en) * 2010-09-03 2012-03-08 Sony Corporation Encoding device, encoding method, decoding device, and decoding method
US20130162774A1 (en) 2010-09-14 2013-06-27 Dong Tian Compression methods and apparatus for occlusion data
MA34944B1 (fr) 2011-01-19 2014-03-01 Ericsson Telefon Ab L M Indication de sous-ensembles de flux de bits
US20120189060A1 (en) * 2011-01-20 2012-07-26 Industry-Academic Cooperation Foundation, Yonsei University Apparatus and method for encoding and decoding motion information and disparity information
US9215473B2 (en) 2011-01-26 2015-12-15 Qualcomm Incorporated Sub-slices in video coding
KR102401123B1 (ko) 2011-02-09 2022-05-23 엘지전자 주식회사 움직임 정보 저장 방법 및 이를 이용한 시간적 움직임 벡터 예측자 유도 방법
KR20120095610A (ko) * 2011-02-21 2012-08-29 삼성전자주식회사 다시점 비디오의 부호화 방법 및 장치, 그 복호화 방법 및 장치
JP5747559B2 (ja) * 2011-03-01 2015-07-15 富士通株式会社 動画像復号方法、動画像符号化方法、動画像復号装置、及び動画像復号プログラム
UA109312C2 (uk) 2011-03-04 2015-08-10 Імпульсно-кодова модуляція з квантуванням при кодуванні відеоінформації
US9565449B2 (en) 2011-03-10 2017-02-07 Qualcomm Incorporated Coding multiview video plus depth content
JPWO2012147622A1 (ja) * 2011-04-28 2014-07-28 ソニー株式会社 画像処理装置、及び、画像処理方法
JPWO2012147621A1 (ja) 2011-04-28 2014-07-28 ソニー株式会社 符号化装置および符号化方法、並びに、復号装置および復号方法
KR20120140592A (ko) * 2011-06-21 2012-12-31 한국전자통신연구원 움직임 보상의 계산 복잡도 감소 및 부호화 효율을 증가시키는 방법 및 장치
CN107426579B (zh) 2011-06-24 2020-03-10 Lg 电子株式会社 图像信息编码和解码方法
WO2013002709A1 (en) * 2011-06-30 2013-01-03 Telefonaktiebolaget L M Ericsson (Publ) Indicating bit stream subsets
SG10201505808YA (en) * 2011-06-30 2015-09-29 Sony Corp Image processing device and image processing method
KR20130018628A (ko) * 2011-08-09 2013-02-25 삼성전자주식회사 다시점 비디오 예측 부호화 방법 및 그 장치, 다시점 비디오 예측 복호화 방법 및 그 장치
RU2583040C2 (ru) * 2011-08-30 2016-05-10 Нокиа Текнолоджиз Ой Устройство, способ и компьютерная программа для кодирования и декодирования видеосигналов
CN107580218B (zh) 2011-09-09 2020-05-12 株式会社Kt 用于解码视频信号的方法
US9712819B2 (en) * 2011-10-12 2017-07-18 Lg Electronics Inc. Image encoding method and image decoding method
US9077998B2 (en) 2011-11-04 2015-07-07 Qualcomm Incorporated Padding of segments in coded slice NAL units
US9124895B2 (en) 2011-11-04 2015-09-01 Qualcomm Incorporated Video coding with network abstraction layer units that include multiple encoded picture partitions
WO2013068547A2 (en) * 2011-11-11 2013-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Efficient multi-view coding using depth-map estimate and update
EP2777273B1 (en) 2011-11-11 2019-09-04 GE Video Compression, LLC Efficient multi-view coding using depth-map estimate for a dependent view
WO2013072484A1 (en) 2011-11-18 2013-05-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Multi-view coding with efficient residual handling
KR20130088636A (ko) * 2012-01-31 2013-08-08 삼성전자주식회사 영상 전송 장치 및 방법, 그리고 영상 재생 장치 및 방법
TW201342884A (zh) * 2012-01-31 2013-10-16 Sony Corp 編碼裝置及編碼方法、以及解碼裝置及解碼方法
US20140341285A1 (en) * 2012-01-31 2014-11-20 Sony Corporation Image processing device and image processing method
CN102595164A (zh) * 2012-02-27 2012-07-18 中兴通讯股份有限公司 一种视频图像发送方法、装置及系统
JP6681609B2 (ja) * 2012-04-09 2020-04-15 サン パテント トラスト 画像符号化方法および画像復号化方法
WO2013153808A1 (ja) * 2012-04-13 2013-10-17 パナソニック株式会社 画像復号方法および画像復号装置
US9503702B2 (en) * 2012-04-13 2016-11-22 Qualcomm Incorporated View synthesis mode for three-dimensional video coding
US20130272371A1 (en) * 2012-04-16 2013-10-17 Sony Corporation Extension of hevc nal unit syntax structure
SG10201710075SA (en) 2012-05-14 2018-01-30 Luca Rossato Decomposition of residual data during signal encoding, decoding and reconstruction in a tiered hierarchy
WO2014000664A1 (en) * 2012-06-28 2014-01-03 Mediatek Inc. Method and apparatus of disparity vector derivation in 3d video coding
CN102752595B (zh) * 2012-06-29 2014-07-09 香港应用科技研究院有限公司 用于深度图编码和解码的混合型跳过模式
RU2510944C2 (ru) * 2012-07-03 2014-04-10 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ кодирования/декодирования многоракурсной видео последовательности на основе адаптивной локальной коррекции яркости опорных кадров без передачи дополнительных параметров (варианты)
JP5885604B2 (ja) * 2012-07-06 2016-03-15 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
US20150208083A1 (en) * 2012-07-10 2015-07-23 Lg Electronics Inc. Method and device for processing video signal
EP3588958B1 (en) 2012-08-29 2024-07-03 Vid Scale, Inc. Method and apparatus of motion vector prediction for scalable video coding
US9998727B2 (en) * 2012-09-19 2018-06-12 Qualcomm Incorporated Advanced inter-view residual prediction in multiview or 3-dimensional video coding
WO2014050675A1 (ja) * 2012-09-28 2014-04-03 ソニー株式会社 画像処理装置および方法
KR102137266B1 (ko) * 2012-09-28 2020-07-23 삼성전자주식회사 움직임 벡터와 변이 벡터를 예측하는 영상 처리 방법 및 장치
JP6763664B2 (ja) 2012-10-01 2020-09-30 ジーイー ビデオ コンプレッション エルエルシー エンハンスメント層作動パラメータのためのベース層ヒントを使用するスケーラブルビデオ符号化
US9781413B2 (en) * 2012-10-02 2017-10-03 Qualcomm Incorporated Signaling of layer identifiers for operation points
WO2014056150A1 (en) * 2012-10-09 2014-04-17 Nokia Corporation Method and apparatus for video coding
US20150304676A1 (en) * 2012-11-07 2015-10-22 Lg Electronics Inc. Method and apparatus for processing video signals
US9544566B2 (en) * 2012-12-14 2017-01-10 Qualcomm Incorporated Disparity vector derivation
US9277200B2 (en) * 2013-01-17 2016-03-01 Qualcomm Incorporated Disabling inter-view prediction for reference picture list in video coding
BR112015017059A2 (ko) * 2013-01-17 2018-09-25 Samsung Electronics Co., Ltd. Video encoding method and apparatus, a video decoding method based on the set decoder and a device for setting the decoder
MY169901A (en) 2013-04-12 2019-06-13 Ericsson Telefon Ab L M Constructing inter-layer reference picture lists
AU2014202288B2 (en) * 2013-04-29 2017-10-05 Everi Technology Pty Ltd Gaming machine and method employing video compression
US20160165207A1 (en) * 2014-12-03 2016-06-09 Kabushiki Kaisha Toshiba Electronic device, method, and computer program product
KR102349788B1 (ko) * 2015-01-13 2022-01-11 인텔렉추얼디스커버리 주식회사 영상의 부호화/복호화 방법 및 장치
CN109076213A (zh) * 2016-04-28 2018-12-21 Lg 电子株式会社 基于间预测模式的图像处理方法及其装置
US10812791B2 (en) 2016-09-16 2020-10-20 Qualcomm Incorporated Offset vector identification of temporal motion vector predictor
US20200128238A1 (en) * 2016-12-22 2020-04-23 Kt Corporation Video signal processing method and device
BR122022003217B1 (pt) 2017-09-12 2023-12-05 Samsung Electronics Co., Ltd. Método para decodificar informações de movimento, método para codificar informações de movimento, e meio legível por computador não transitório para registrar um fluxo de bits
US10708626B2 (en) * 2018-11-19 2020-07-07 Google Llc Iterative IDCT with adaptive non-linear filtering
EP3796652B1 (en) * 2019-09-23 2022-05-18 Axis AB Video encoding method and method for reducing file size of encoded video
CN110839157B (zh) * 2019-10-17 2023-03-17 西安万像电子科技有限公司 图像处理方法及装置
CN110933428B (zh) * 2019-10-17 2023-03-17 西安万像电子科技有限公司 图像处理方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6043838A (en) 1997-11-07 2000-03-28 General Instrument Corporation View offset estimation for stereoscopic video coding
KR100481732B1 (ko) 2002-04-20 2005-04-11 전자부품연구원 다 시점 동영상 부호화 장치
US20050008240A1 (en) 2003-05-02 2005-01-13 Ashish Banerji Stitching of video for continuous presence multipoint video conferencing
US7489342B2 (en) * 2004-12-17 2009-02-10 Mitsubishi Electric Research Laboratories, Inc. Method and system for managing reference pictures in multiview videos
CN1258925C (zh) * 2003-06-27 2006-06-07 中国科学院计算技术研究所 多视角视频编解码预测补偿方法及装置
US20050201471A1 (en) 2004-02-13 2005-09-15 Nokia Corporation Picture decoding method
US7324687B2 (en) * 2004-06-28 2008-01-29 Microsoft Corporation Color segmentation-based stereo 3D reconstruction system and process
KR100770704B1 (ko) 2005-08-04 2007-10-29 삼성전자주식회사 픽쳐 스킵 방법 및 장치
MX2009003968A (es) 2006-10-16 2009-06-01 Nokia Corp Sistema y método para usar segmentos decodificables paralelamente para codificación de video de vistas múltiples.
KR100823287B1 (ko) * 2007-01-03 2008-04-21 삼성전자주식회사 전역 차이 벡터를 이용한 다시점 영상의 부호화, 복호화방법 및 장치

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012011672A3 (ko) * 2010-07-22 2012-04-12 에스케이텔레콤 주식회사 확장된 스킵모드를 이용한 영상 부호화/복호화 방법 및 장치
WO2012011672A2 (ko) * 2010-07-22 2012-01-26 에스케이텔레콤 주식회사 확장된 스킵모드를 이용한 영상 부호화/복호화 방법 및 장치
KR101483380B1 (ko) * 2010-08-11 2015-01-15 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 멀티-뷰 신호 코덱
KR20210147084A (ko) * 2010-08-11 2021-12-06 지이 비디오 컴프레션, 엘엘씨 멀티-뷰 신호 코덱
US10110903B2 (en) 2010-08-11 2018-10-23 Ge Video Compression, Llc Multi-view signal codec with reusing coding parameters
US11843757B2 (en) 2010-08-11 2023-12-12 Ge Video Compression, Llc Multi-view signal codec
KR20220163520A (ko) * 2010-08-11 2022-12-09 지이 비디오 컴프레션, 엘엘씨 멀티-뷰 신호 코덱
KR20170108171A (ko) * 2010-08-11 2017-09-26 지이 비디오 컴프레션, 엘엘씨 멀티-뷰 신호 코덱
US11330242B2 (en) 2010-08-11 2022-05-10 Ge Video Compression, Llc Multi-view signal codec
US9648298B2 (en) 2010-08-11 2017-05-09 Ge Video Compression, Llc Multi-view signal codec
KR20180118807A (ko) * 2010-08-11 2018-10-31 지이 비디오 컴프레션, 엘엘씨 멀티-뷰 신호 코덱
US10674134B2 (en) 2010-08-11 2020-06-02 Ge Video Compression, Llc Multi-view signal codec with reusing coding parameters
KR20190134822A (ko) * 2010-08-11 2019-12-04 지이 비디오 컴프레션, 엘엘씨 멀티-뷰 신호 코덱
KR20200136497A (ko) * 2010-08-11 2020-12-07 지이 비디오 컴프레션, 엘엘씨 멀티-뷰 신호 코덱
WO2012026734A2 (ko) * 2010-08-24 2012-03-01 삼성전자 주식회사 컬러 영상과 깊이 영상의 모션 벡터 공유를 이용한 부호화/복호화 장치 및 방법
WO2012026734A3 (ko) * 2010-08-24 2012-05-03 삼성전자 주식회사 컬러 영상과 깊이 영상의 모션 벡터 공유를 이용한 부호화/복호화 장치 및 방법
US11496760B2 (en) 2011-07-22 2022-11-08 Qualcomm Incorporated Slice header prediction for depth maps in three-dimensional video codecs
US9521418B2 (en) 2011-07-22 2016-12-13 Qualcomm Incorporated Slice header three-dimensional video extension for slice header prediction
US9288505B2 (en) 2011-08-11 2016-03-15 Qualcomm Incorporated Three-dimensional video with asymmetric spatial resolution
WO2013039348A1 (ko) * 2011-09-16 2013-03-21 엘지전자 주식회사 영상 정보 시그널링 방법 및 이를 이용한 비디오 디코딩 방법
US10880571B2 (en) 2011-11-11 2020-12-29 Ge Video Compression, Llc Multi-view coding with effective handling of renderable portions
US11856219B2 (en) 2011-11-11 2023-12-26 Ge Video Compression, Llc Multi-view coding with effective handling of renderable portions
US11689738B2 (en) 2011-11-11 2023-06-27 Ge Video Compression, Llc Multi-view coding with exploitation of renderable portions
US11405635B2 (en) 2011-11-11 2022-08-02 Ge Video Compression, Llc Multi-view coding with effective handling of renderable portions
US10264277B2 (en) 2011-11-11 2019-04-16 Ge Video Compression, Llc Multi-view coding with exploitation of renderable portions
US10440385B2 (en) 2011-11-11 2019-10-08 Ge Video Compression, Llc Multi-view coding with effective handling of renderable portions
US10887617B2 (en) 2011-11-11 2021-01-05 Ge Video Compression, Llc Multi-view coding with exploitation of renderable portions
US9485503B2 (en) 2011-11-18 2016-11-01 Qualcomm Incorporated Inside view motion prediction among texture and depth view components
US9473752B2 (en) 2011-11-30 2016-10-18 Qualcomm Incorporated Activation of parameter sets for multiview video coding (MVC) compatible three-dimensional video coding (3DVC)
KR20140096161A (ko) * 2011-11-30 2014-08-04 퀄컴 인코포레이티드 멀티뷰 비디오 코딩(mvc)호환가능한 3 차원 비디오 코딩(3dvc)을 위한 시퀀스 레벨 정보
KR20140096165A (ko) * 2011-11-30 2014-08-04 퀄컴 인코포레이티드 멀티뷰 비디오 코딩(mvc)호환가능한 3 차원 비디오 코딩(3dvc)을 위한 심도 컴포넌트 제거
US10200708B2 (en) 2011-11-30 2019-02-05 Qualcomm Incorporated Sequence level information for multiview video coding (MVC) compatible three-dimensional video coding (3DVC)
US10158873B2 (en) 2011-11-30 2018-12-18 Qualcomm Incorporated Depth component removal for multiview video coding (MVC) compatible three-dimensional video coding (3DVC)
US10154276B2 (en) 2011-11-30 2018-12-11 Qualcomm Incorporated Nested SEI messages for multiview video coding (MVC) compatible three-dimensional video coding (3DVC)
US10116947B2 (en) 2012-07-06 2018-10-30 Samsung Electronics Co., Ltd. Method and apparatus for coding multilayer video to include scalable extension type information in a network abstraction layer unit, and method and apparatus for decoding multilayer video
WO2014007596A1 (ko) * 2012-07-06 2014-01-09 삼성전자 주식회사 다계층 비디오 부호화 방법 및 장치, 다계층 비디오 복호화 방법 및 장치
WO2014051320A1 (ko) * 2012-09-28 2014-04-03 삼성전자주식회사 움직임 벡터와 변이 벡터를 예측하는 영상 처리 방법 및 장치
US9955166B2 (en) 2012-10-05 2018-04-24 Lg Electronics Inc. Method and device for processing video signal
WO2014054897A1 (ko) * 2012-10-05 2014-04-10 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
WO2015034303A1 (ko) * 2013-09-04 2015-03-12 삼성전자 주식회사 스크린 영상 부호화 방법 및 그 장치, 스크린 영상 복호화 방법 및 그 장치

Also Published As

Publication number Publication date
CN101690220A (zh) 2010-03-31
JP2010525724A (ja) 2010-07-22
CN101690220B (zh) 2013-09-25
US20100111183A1 (en) 2010-05-06
WO2008133455A1 (en) 2008-11-06
EP2149262A1 (en) 2010-02-03
EP2149262A4 (en) 2010-09-01
US8488677B2 (en) 2013-07-16

Similar Documents

Publication Publication Date Title
KR20100014553A (ko) 비디오 신호의 인코딩/디코딩 방법 및 장치
KR101619451B1 (ko) 다시점 비디오 신호의 처리 방법 및 장치
KR101669524B1 (ko) 비디오 코딩을 위한 방법 및 장치
KR20090129412A (ko) 비디오 신호 디코딩/인코딩 방법 및 장치
JP5156088B2 (ja) ビデオ信号のデコーディング/エンコーディング方法及び装置
TWI538481B (zh) 於可擴展及多視角視訊寫碼之進階殘差預測
US8115804B2 (en) Processing multiview video
KR101370919B1 (ko) 신호처리방법 및 장치
KR101625058B1 (ko) 시점간 예측을 이용한 비디오 신호 처리 방법 및 장치
JP2018110413A (ja) マルチビューコード化及び3dコード化におけるビュー依存性
US20070177671A1 (en) Processing multiview video
KR20150109282A (ko) 다시점 비디오 신호 처리 방법 및 장치
KR20120027194A (ko) 다시점 비디오 신호 처리 방법 및 장치
CA2701877A1 (en) Motion skip and single-loop encoding for multi-view video content
KR20110139304A (ko) 다시점 영상의 참조 픽쳐 리스트 변경 방법
US20150016502A1 (en) Device and method for scalable coding of video information
KR20080007086A (ko) 비디오 신호의 디코딩/인코딩 방법 및 장치
KR20070098429A (ko) 비디오 신호의 디코딩 방법
KR20080006495A (ko) 비디오 신호의 디코딩 방법 및 장치
KR101366289B1 (ko) 비디오 신호의 디코딩/인코딩 방법 및 장치
USRE44680E1 (en) Processing multiview video
GB2519513A (en) Method of deriving displacement information in a video coder and a video decoder
KR20080007177A (ko) 비디오 신호 처리 방법 및 장치

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid