KR101625058B1 - 시점간 예측을 이용한 비디오 신호 처리 방법 및 장치 - Google Patents
시점간 예측을 이용한 비디오 신호 처리 방법 및 장치 Download PDFInfo
- Publication number
- KR101625058B1 KR101625058B1 KR1020117010683A KR20117010683A KR101625058B1 KR 101625058 B1 KR101625058 B1 KR 101625058B1 KR 1020117010683 A KR1020117010683 A KR 1020117010683A KR 20117010683 A KR20117010683 A KR 20117010683A KR 101625058 B1 KR101625058 B1 KR 101625058B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- information
- depth
- current
- current block
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
현재 블록 타입에 따라 뎁스 시점간 예측 플래그를 획득하고, 상기 뎁스 시점간 예측 플래그에 따라 상기 현재 블록이 뎁스 시점간 예측을 이용하여 코딩됨을 지시하는 경우, 상기 현재 블록에 대응하는 참조 블록의 컬러 정보를 획득하며, 상기 참조 블록의 컬러 정보를 이용하여 상기 현재 블록의 컬러 정보를 예측하는 것을 특징으로 한다. 본 발명에 따르면, 뎁스 정보를 이용하여 시점간 예측을 수행함으로써, 매크로 블록의 움직임 벡터는 뎁스 정보를 이용하여 디코더에서 유도될 수 있다. 따라서, 매크로 블록의 움직임 벡터을 별도로 코딩하지 아니할 수 있으므로 전송되는 비트량을 줄일 수 있다. 그리고, 뎁스 정보를 이용한 시점간 예측을 수행할 지를 지시하는 플래그를 사용함으로써, 시점간 예측을 수행할 지 또는 뎁스 시점간 예측을 수행할 지를 효율적으로 지시할 수 있다.
Description
본 발명은 비디오 신호의 코딩에 관한 기술이다.
압축 부호화란 디지털화한 정보를 통신 회선을 통해 전송하거나, 저장 매체에 적합한 형태로 저장하는 일련의 신호 처리 기술을 의미한다. 압축 부호화의 대상에는 음성, 영상, 문자 등의 대상이 존재하며, 특히 영상을 대상으로 압축 부호화를 수행하는 기술을 비디오 영상 압축이라고 일컫는다. 비디오 영상의 일반적인 특징은 공간적 중복성, 시간적 중복성을 지니고 있는 점에 특징이 있다.
본 발명의 목적은 비디오 신호의 코딩 효율을 높이고자 함에 있다.
본 발명은 매크로 블록에 대하여 시점간 예측을 수행함에 있어서 상기 매크로 블록의 뎁스 정보를 이용하여 상기 매크로 블록 단위로 또는 픽셀 단위로 시점간 위치 차이값을 획득하고, 상기 시점간 위치 차이값을 이용하여 상기 매크로 블록이 참조하는 대응 블록을 획득하는 것을 특징으로 하는 비디오 신호 처리 방법을 제시한다.
본 발명은 매크로 블록이 참조하는 대응 블록을 획득함에 있어서, 뎁스 정보를 이용하여 시점간 예측을 수행하는지를 지시하는 플래그를 사용하는 것을 특징으로 하는 비디오 신호 처리 방법을 제시한다.
본 발명은 뎁스 정보를 이용하여 매크로 블록의 움직임 벡터 후보자를 구성하고, 상기 움직임 벡터 후보자 중에서 가장 적합한 움직임 벡터를 현재 매크로 블록의 움직임 벡터로 이용하는 것을 특징으로 하는 비디오 신호 처리 방법을 제시한다.
본 발명은 뎁스 정보를 이용하여 매크로 블록을 스킵 모드로 코딩하는 것을 특징으로 하는 비디오 신호 처리 방법을 제시한다.
본 발명은 뎁스 정보를 이용한 스킵 모드로 코딩되는지를 지시하는 플래그를 사용하는 것을 특징으로 하는 비디오 신호 처리 방법을 제시한다.
본 발명은 뎁스 정보를 이용한 스킵 모드로 코딩시, 매크로 블록 단위로 또는 매크로 블록의 파티션 단위로 로컬 모션 벡터를 획득하는 것을 특징으로 하는 비디오 신호 처리 방법을 제시한다.
본 발명에 따르면, 뎁스 정보를 이용하여 시점간 예측을 수행함으로써, 매크로 블록의 움직임 벡터는 뎁스 정보를 이용하여 디코더에서 유도될 수 있다. 따라서, 매크로 블록의 움직임 벡터을 별도로 코딩하지 아니할 수 있으므로 전송되는 비트량을 줄일 수 있다. 그리고, 뎁스 정보를 이용한 시점간 예측을 수행할 지를 지시하는 플래그를 사용함으로써, 시점간 예측을 수행할 지 또는 뎁스 시점간 예측을 수행할 지를 효율적으로 지시할 수 있다.
뿐만 아니라, 매크로 블록의 뎁스 정보를 이용하여 픽셀 단위로 시점간 위치 차이값을 획득함으로써, 상기 픽셀 단위로 매크로 블록의 픽셀값을 정확하게 예측할 수 있고, 이에 따라 레지듀얼 데이터를 줄일 수 있다.
뎁스 정보를 이용한 스킵 모드를 적용함으로써, 스킵 매크로 블록의 움직임 벡터를 상기 뎁스 정보를 이용하여 디코더에서 유도할 수 있고, 별도로 스킵 매크로 블록의 움직임 벡터를 코딩하지 아니할 수 있다. 또한 뎁스 정보를 이용한 스킵 모드를 적용할 것인지를 지시하는 플래그를 사용함으로써 상기 매크로 블록에 대하여 스킵 모드를 효율적으로 이용할 수 있다.
또한, 뎁스 정보를 이용한 스킵 모드를 적용할 경우, 매크로 블록 단위로 로컬 모션 벡터를 획득함으로써 예측의 정확성을 향상시킬 수 있다. 매크로 블록의 움직임 벡터를 획득함에 있어서, 뎁스 정보를 이용하여 매크로 블록의 움직임 벡터 후보자를 구성하고, 이를 이용함으로써 상기 매크로 블록에 대해 최적의 움직임 벡터를 획득할 수 있고, 이에 따라 매크로 블록의 픽셀값을 더 정확하게 예측할 수 있다.
도 1은 본 발명이 적용되는 실시예로서, 뎁스(depth)의 개념을 설명하기 위해 나타낸 것이다.
도 2는 본 발명이 적용되는 실시예로서, 뎁스 코딩이 적용되는 방송 수신기의 내부 블록도를 나타낸다.
도 3은 본 발명이 적용되는 비디오 신호 디코딩 장치의 개략적인 블록도를 나타낸다.
도 4는 현재 블록의 픽셀에 대응하는 참조 블록의 픽셀 위치를 유도하는 방법을 도시한 것이다.
도 5는 슬라이스 레벨에서 뎁스 스킵 모드 지시 플래그를 이용하여 현재 블록의 스킵 모드 방법을 결정하는 신택스의 일 실시예이다.
도 6은 매크로 블록 레벨에서 뎁스 스킵 모드 지시 플래그를 이용하여 현재 블록의 스킵 모드 방법을 결정하는 신택스의 일 실시예이다.
도 7은 본 발명이 적용되는 실시예로서, 다시점 영상 코딩된 비트스트림에 추가될 수 있는 다시점 영상에 대한 속성 정보들을 나타낸다.
도 8은 본 발명이 적용되는 실시예로서, 모션 스킵 여부에 따라 움직임 보상을 수행하는 방법을 설명하기 위해 나타낸 것이다.
도 2는 본 발명이 적용되는 실시예로서, 뎁스 코딩이 적용되는 방송 수신기의 내부 블록도를 나타낸다.
도 3은 본 발명이 적용되는 비디오 신호 디코딩 장치의 개략적인 블록도를 나타낸다.
도 4는 현재 블록의 픽셀에 대응하는 참조 블록의 픽셀 위치를 유도하는 방법을 도시한 것이다.
도 5는 슬라이스 레벨에서 뎁스 스킵 모드 지시 플래그를 이용하여 현재 블록의 스킵 모드 방법을 결정하는 신택스의 일 실시예이다.
도 6은 매크로 블록 레벨에서 뎁스 스킵 모드 지시 플래그를 이용하여 현재 블록의 스킵 모드 방법을 결정하는 신택스의 일 실시예이다.
도 7은 본 발명이 적용되는 실시예로서, 다시점 영상 코딩된 비트스트림에 추가될 수 있는 다시점 영상에 대한 속성 정보들을 나타낸다.
도 8은 본 발명이 적용되는 실시예로서, 모션 스킵 여부에 따라 움직임 보상을 수행하는 방법을 설명하기 위해 나타낸 것이다.
[발명의 실시를 위한 최선의 형태]
상기와 같은 목적을 달성하기 위하여 본 발명에 따른 비디오 신호 처리 방법은 현재 블록 타입에 따라 뎁스 시점간 예측 플래그를 획득하고, 상기 뎁스 시점간 예측 플래그에 따라 상기 현재 블록이 뎁스 시점간 예측을 이용하여 코딩됨을 지시하는 경우, 상기 현재 블록에 대응하는 참조 블록의 컬러 정보를 획득하며, 상기 참조 블록의 컬러 정보를 이용하여 상기 현재 블록의 컬러 정보를 예측하되, 상기 참조 블록은 상기 현재 블록과는 다른 시점에 존재하는 것을 특징으로 한다.
본 발명에 따르면, 상기 뎁스 시점간 예측 플래그이라 함은 상기 현재 블록이 시점간 예측을 이용하여 코딩될 지 뎁스 시점간 예측을 이용하여 코딩될 지를 지시하는 플래그이며, 상기 뎁스 시점간 예측이라 함은 대응 뎁스 블록을 이용하여 현재 블록 또는 현재 블록의 픽셀에 대응하는 참조 블록또는 참조 블록의 픽셀으로부터 상기 현재 블록의 컬러 정보를 예측인 것을 특징으로 한다.
본 발명에 따르면, 상기 뎁스 시점간 예측 플래그는 상기 현재 블록 타입에 따라 특정된 상기 현재 블록의 파티션에 대하여 획득되는 것을 특징으로 한다.
본 발명에 따르면, 상기 참조 블록의 컬러 정보는 대응 뎁스 블록으로부터 시점간 위치 차이값을 유도하고, 상기 시점간 위치 차이값과 상기 현재 블록의 픽셀 위치에 근거하여 상기 참조 블록의 픽셀 위치를 유도하며, 상기 참조 블록의 픽셀 위치에 따른 상기 참조 블록의 픽셀의 컬러 정보를 이용하여 획득되는 것을 특징으로 한다.
본 발명에 따르면, 상기 참조 블록의 컬러 정보는 대응 뎁스 블록으로부터 시점간 위치 차이값을 유도하고, 상기 시점간 위치 차이값을 이용하여 대표적인 시점간 위치 차이값을 유도하며, 상기 대표적인 시점간 위치 차이값과 상기 현재 블록의 위치에 근거하여 상기 참조 블록의 위치를 유도함으로써 획득되는 것을 특징으로 한다.
본 발명에 따르면, 상기 시점간 위치 차이값은 대응 뎁스 블록의 픽셀 단위로 유도되는 것을 특징으로 한다.
본 발명에 따르면, 상기 대응 뎁스 블록이라 함은 현재 블록과 동일 위치에 있는 현재 뎁스 픽쳐의 블록인 것을 특징으로 한다.
본 발명에 따르면, 상기 시점간 위치 차이값이라 함은 상기 현재 블록의 픽셀 위치와 상기 현재 블록의 픽셀에 대응하는 상기 참조 블록의 픽셀 위치 간의 변화량인 것을 특징으로 한다.
본 발명에 따르면, 상기 대표적인 시점간 위치 차이값이라 함은 상기 시점간 위치 차이값 간의 평균값인 것을 특징으로 한다.
[발명의 실시를 위한 형태]
비디오 신호 데이터를 압축 부호화하는 기술은 공간적 중복성, 시간적 중복성, 스케일러블한 중복성, 시점간 존재하는 중복성을 고려하고 있다. 그 중 다시점 영상을 사용하는 3차원 디스플레이를 구현하기 위해 뎁스 픽쳐(depth picture)를 코딩함에 있어서, 공간적 중복성, 시간적 중복성 등을 고려하여 압축 코딩을 할 수 있다. 이러한 압축 코딩에 대한 기술은 뎁스 픽쳐들로 구성된 영상 시퀀스뿐만 아니라, 컬러 픽쳐들로 구성된 영상 시퀀스 또는 컬러 픽쳐와 뎁스 픽쳐로 구성된 영상 시퀀스에 적용될 수 있다. 여기서, 뎁스(depth)라 함은, 시점 차이로 인해 생기는 변이 차이를 의미할 수 있으며, 이에 대한 구체적인 설명은 도 1에서 하도록 한다. 또한, 본 명세서 내에서 뎁스 정보, 뎁스 데이터, 뎁스 픽쳐, 뎁스 시퀀스, 뎁스 코딩, 뎁스 비트스트림 등과 같은 용어들은 상기 뎁스의 정의에 따라 뎁스에 관련된 정보로 유연하게 해석될 수 있을 것이다. 또한, 본 명세서에서 코딩이라 함은 인코딩과 디코딩의 개념을 모두 포함할 수 있고, 본 발명의 기술적 사상 및 기술적 범위에 따라 유연하게 해석할 수 있을 것이다.
비디오 신호의 비트열 구성을 살펴보면, 동영상 부호화 처리 그 자체를 다루는 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 (Sequence Parameter Set, 시퀀스 파라미터 세트), PPS (Picture Parameter Set, 픽쳐 파라미터 세트), SEI (Supplemental Enhancement Information, 보충적 부가정보) 등이 있다.
또한, 규격에서는 대상 제품을 적당한 비용으로 구현 가능하도록 여러 가지 프로파일 및 레벨로 제약하고 있는데, 복호기는 해당 프로파일과 레벨에서 정해진 제약을 만족시켜야 한다. 이처럼 복호기가 어떤 압축 영상의 범위까지 대응할 수 있는지 그 기능 또는 파라미터를 나타내기 위해 프로파일과 레벨이라는 두 가지의 개념이 정의되었다. 비트스트림이 어떤 프로파일에 기초하는 것인가는 프로파일 식별자(profile_idc)로 식별할 수 있다. 프로파일 식별자란, 비트스트림이 기반을 둔 프로파일을 나타내는 플래그를 의미한다. 예를 들어, H.264/AVC 에서는 프로파일 식별자가 66 이면 베이스라인 프로파일에 기초함을 의미하고, 77 이면 메인 프로파일에 기초함을 의미하며, 88 이면 확장 프로파일에 기초함을 의미한다. 상기 프로파일 식별자는 시퀀스 파라미터 세트에 포함될 수 있다.
따라서, 뎁스 픽쳐를 포함하는 영상 시퀀스(이하, 뎁스 시퀀스라 한다)를 다루기 위해서는 입력되는 비트스트림이 뎁스 시퀀스의 프로파일(Profile)에 대한 것인지 여부를 식별하고, 뎁스 시퀀스의 프로파일로 식별되면 뎁스 코딩에 관련된 적어도 하나의 추가 정보를 전송할 수 있도록 신택스를 추가할 필요가 있다. 여기서 뎁스 시퀀스의 프로파일이란, H.264/AVC의 추가 기술로서 뎁스 픽쳐(depth picture)를 다루는 프로파일 모드(profile mode)를 나타낼 수 있으며, 또는 뎁스 픽쳐를 포함하는 다시점 비디오(multiview video)에 관한 프로파일 모드(profile mode)를 나타낼 수 있다. 뎁스 코딩은 기존 AVC 기술에 대한 추가 기술이므로 무조건적인 신택스보다는 뎁스 코딩 모드인 경우에 대한 추가 정보로서 신택스를 추가하는 것이 더 효율적일 수 있다. 예를 들어, AVC의 프로파일 식별자가 뎁스 시퀀스의 프로파일을 나타낼 때 뎁스 코딩에 대한 정보를 추가하면 부호화 효율을 높일 수 있다.
시퀀스 파라미터 세트란, 프로파일, 레벨 등 시퀀스 전체의 부호화에 걸쳐있는 정보가 포함되어 있는 헤더 정보를 말한다. 압축된 동영상 전체, 즉 시퀀스는 반드시 시퀀스 헤더로부터 시작하여야 하므로 헤더 정보에 상당하는 시퀀스 파라미터 세트는 그 파라미터 세트를 참조하는 데이터보다 먼저 복호기에 도착하여야 한다. 결국, 시퀀스 파라미터 세트 RBSP 는 동영상 압축의 결과 데이터에 대한 헤더 정보로써의 역할을 한다. 비트스트림이 입력되면, 먼저 프로파일 식별자는 입력된 비트스트림이 복수개의 프로파일 중에서 어떤 프로파일에 기초하는 것인지를 식별하게 된다. 따라서, 입력되는 비트스트림이 뎁스 시퀀스의 프로파일에 대한 것인지 여부를 판단하는(예를 들어, " If ( profile_idc = DEPTH_PROFILE )") 부분을 신택스 상에 추가함으로써, 입력된 비트스트림이 뎁스 시퀀스의 프로파일에 대한 것인지 여부를 판별하고, 뎁스 시퀀스의 프로파일에 대한 것으로 인정되는 경우에만 여러 가지 속성 정보들을 추가할 수 있게 된다. 예를 들어, 뎁스 시퀀스의 전체 시점의 개수, 뎁스-뷰(depth-view) 참조 픽쳐의 개수, 뎁스-뷰 참조 픽쳐의 시점 식별 번호 등을 추가할 수 있다. 또한, 복호 픽쳐 버퍼에서는 참조 픽쳐 리스트를 생성 및 관리하기 위하여 뎁스-뷰 참조 픽쳐에 대한 정보들을 이용할 수 있다.
도 1은 본 발명이 적용되는 실시예로서, 뎁스(depth)의 개념을 설명하기 위해 나타낸 것이다.
앞서 설명한 바와 같이, 뎁스(depth)라 함은 복수개의 카메라로 촬영된 영상 시퀀스에 있어서 시점 차이로 인해 생기는 변이 차이를 의미한다. 상기 도 1을 참조하면, 카메라의 위치(Oc)는 3차원 카메라 좌표계의 원점을 나타내며, Z축(optical axis)은 눈이 바라보는 방향과 일직선이 된다. 카메라 좌표계의 임의의 한 점 P=(X,Y,Z)는 Z축에 수직인 2차원 이미지 평면의 임의의 한 점 p=(x,y)으로 투영될 수 있다.
이때, 2차원 이미지 평면 상의 p=(x,y)는 3차원 좌표계의 P=(X,Y,Z)의 컬러값으로 표현될 수 있으며, 이 때의 2차원 이미지 평면은 컬러 픽쳐를 의미할 수 있다. 또한, 2차원 이미지 평면 상의 p=(x,y)는 3차원 좌표계의 P=(X,Y,Z)의 Z 값으로 표현될 수 있으며, 이 때의 2차원 이미지 평면은 뎁스 픽쳐를 의미할 수 있다. 여기서, 초점 길이(f)는 카메라의 위치와 이미지 평면간의 거리를 의미할 수 있다.
또한, 상기 3차원 좌표계의 P=(X,Y,Z)는 카메라 좌표계의 임의의 한 점을 나타내나, 복수개의 카메라로 촬영된 경우 상기 복수개의 카메라들에 대한 공통의 기준 좌표계가 필요할 수 있다. 상기 도 1에서, Ow 점을 기준으로 하는 기준 좌표계의 임의의 점을 Pw=(Xw, Yw, Zw)라 할 수 있고, 상기 Pw=(Xw,Yw,Zw)는 3x3 로테이션 매트릭스(rotation matrix) R과 3x1 변환 벡터(translation vector) T를 이용하여 카메라 좌표계의 임의의 한 점 P=(X,Y,Z)으로 변환할 수 있다. 예를 들어, 상기 P는 수학식 1과 같이 획득될 수 있다.
[수학식 1]
상기의 설명에 기초하여 뎁스 픽쳐(depth picture) 또는 뎁스 맵(depth map)을 다시 정의하면, 카메라의 위치를 기준으로 카메라의 위치와 실물 간의 거리를 상대적인 값으로 수치화한 정보들의 집합이라 할 수 있고, 이는 픽쳐 단위, 슬라이스 단위 등으로 표현될 수 있다. 그리고, 상기 뎁스 픽쳐 또는 뎁스 맵 내에서 뎁스 정보는 픽셀 단위로 표현될 수 있다.
상기 뎁스 픽쳐의 뎁스 정보는 컬러 픽쳐의 픽셀에 대응하는 카메라 좌표계상의 3차원 좌표 P=(X,Y,Z)의 Z 값으로부터 획득할 수 있다. 상기 Z 값은 실수 범위에 속하는 값이며, 이를 정수 범위에 속하는 값으로 양자화시켜 뎁스 픽쳐의 뎁스 정보로 이용할 수도 있다. 예를 들어, 상기 뎁스 픽쳐의 뎁스 정보는 다음 수학식 2 또는 수학식 3와 같이 양자화될 수 있다.
[수학식 2]
[수학식 3]
상기 수학식 2 또는 수학식 3에서 Zq는 양자화된 뎁스 정보를 의미하며, 상기 도 1의 [Top view]를 참조하면, Znear는 Z 좌표값의 하한(the lower limit)을, Zfar는 Z 좌표값의 상한(the upper limit)을 의미한다. 상기 수학식 2 또는 수학식 3에 따라 상기 양자화된 뎁스 정보는 0∼255 범위 내의 정수값을 가질 수 있다.
이처럼, 뎁스 픽쳐 또는 뎁스 맵은 컬러 픽쳐의 영상 시퀀스와 함께 또는 별개의 시퀀스로 코딩될 수 있으며, 이러한 경우 기존의 코덱과의 호환을 위해 다양한 실시예들이 적용될 수 있다. 예를 들어, H.264 코덱과 호환될 수 있도록 뎁스 코딩 기술이 부가 기술로 적용될 수 있으며, 또는 H.264/AVC 다시점 비디오 코딩 내에서 확장 기술로 적용될 수 있으며, 또는 H.264/AVC 스케일러블 비디오 코딩 내에서 확장 기술로 적용될 수 있다. 또한, 뎁스 픽쳐를 포함하는 영상 시퀀스만을 코딩하는 별개의 코덱 기술로 이용될 수도 있다. 이하에서는 뎁스 코딩에 대한 구체적인 실시예들을 살펴보며, 뎁스 코딩의 구체적인 실시예들은 앞서 설명한 바와 같이 다양한 경우에 있어서 모두 활용할 수 있다.
도 2는 본 발명이 적용되는 실시예로서, 뎁스 코딩이 적용되는 방송 수신기의 내부 블록도를 나타낸다.
본 실시예에 따른 방송 수신기는 공중파 방송신호를 수신하여 영상을 재생하기 위한 것이다. 상기 방송 수신기는 수신된 뎁스 관련 정보들을 이용하여 3차원 콘텐츠를 생성할 수 있다. 상기 방송 수신기는 튜너(200), 복조/채널 디코더(202), 트랜스포트 역다중화부(204), 패킷 해제부(206), 오디오 디코더(208), 비디오 디코더(210), PSI/PSIP 처리부(214), 3D 렌더링부(216), 포맷터(220) 및 디스플레이부(222)를 포함한다.
튜너(200)는 안테나(미도시)를 통해 입력되는 다수의 방송 신호들 중에서 사용자가 선국한 어느 한 채널의 방송 신호를 선택하여 출력한다. 복조/채널 디코더(202)는 튜너(200)로부터의 방송 신호를 복조하고 복조된 신호에 대하여 에러 정정 디코딩을 수행하여 트랜스포트 스트림(TS)을 출력한다. 트랜스포트 역다중화부(204)는 트랜스포트 스트림을 역다중화하여, 비디오 PES와 오디오 PES를 분리하고, PSI/PSIP 정보를 추출해낸다. 패킷 해제부(206)는 비디오 PES와 오디오 PES에 대하여 패킷을 해제하여 비디오 ES와 오디오 ES를 복원한다. 오디오 디코더(208)는 오디오 ES를 디코딩하여 오디오 비트스트림을 출력한다. 오디오 비트스트림은 디지털-아날로그 변환기(미도시)에 의해 아날로그 음성신호로 변환되고, 증폭기(미도시됨)에 의해 증폭된 후, 스피커(미도시됨)를 통해 출력된다. 비디오 디코더(210)는 비디오 ES를 디코딩하여 원래의 영상을 복원한다. 상기 오디오 디코더(208) 및 상기 비디오 디코더(210)의 디코딩 과정은 PSI/PSIP 처리부(214)에 의해 확인되는 패킷 ID(PID)를 토대로 진행될 수 있다. 디코딩 과정에서, 상기 비디오 디코더(210)는 뎁스 정보를 추출할 수 있다. 또한, 가상 카메라 시점의 영상을 생성하는데 필요한 부가 정보, 예를 들어, 카메라 정보, 또는 상대적으로 앞에 있는 객체에 의해 가려지는 영역(Occlusion)을 추정하기 위한 정보(예컨대, 객체 윤곽선 등 기하학적 정보, 객체 투명도 정보 및 컬러 정보) 등을 추출하여 3D 렌더링부(216)에 제공할 수 있다. 그러나, 본 발명의 다른 실시예에 있어서는, 상기 뎁스 정보 및/또는 부가 정보가 트랜스포트 역다중화부(204)에 의해 분리될 수도 있다.
PSI/PSIP 처리부(214)는 트랜스포트 역다중화부(204)로부터의 PSI/PSIP 정보를 받아들이고, 이를 파싱하여 메모리(미도시) 또는 레지스터에 저장함으로써, 저장된 정보를 토대로 방송이 재생되도록 한다. 3D 렌더링부(216)는 복원된 영상, 뎁스 정보, 부가 정보 및 카메라 파라미터를 이용하여, 가상 카메라 위치에서의 컬러 정보, 뎁스 정보 등을 생성할 수 있다.
또한, 3D 렌더링부(216)는 복원된 영상과, 상기 복원된 영상에 대한 뎁스 정보를 이용하여 3D 와핑(Warping)을 수행함으로써, 가상 카메라 위치에서의 가상 영상을 생성한다. 본 실시예에서는 상기 3D 렌더링부(216)가 상기 비디오 디코더(210)와 별개의 블록으로 구성되어 설명되고 있지만, 이는 일실시예에 불과하며, 상기 3D 렌더링부(216)는 상기 비디오 디코더(210)에 포함되어 수행될 수도 있다.
포맷터(220)는 디코딩 과정에서 복원한 영상 즉, 실제 카메라에 의하여 촬영된 영상과, 3D 렌더링부(216)에 의하여 생성된 가상 영상을 해당 수신기에서의 디스플레이 방식에 맞게 포맷팅하여, 디스플레이부(222)를 통해 3D 영상이 표시되도록 하게 된다. 여기서, 상기 3D 렌더링부(216)에 의한 가상 카메라 위치에서의 뎁스 정보 및 가상 영상의 합성, 그리고 포맷터(220)에 의한 영상 포맷팅이 사용자의 명령에 응답하여 선택적으로 수행될 수도 있다. 즉, 시청자는 리모콘(미도시)을 조작하여 합성 영상이 표시되지 않도록 할 수도 있고, 영상 합성이 이루어질 시점을 지정할 수도 있다.
상기에서 살펴본 바와 같이, 3D 영상을 생성하기 위해 뎁스 정보는 3D 렌더링부(216)에서 이용되고 있지만, 다른 실시예로서 상기 비디오 디코더(210)에서 이용될 수도 있다.
도 3은 본 발명이 적용되는 비디오 신호 디코딩 장치의 개략적인 블록도를 나타낸다.
도 3을 참조하면, 상기 디코딩 장치는 크게 파싱부(300), 엔트로피 디코딩부(310), 역양자화/역변환부(320), 인트라 예측부(330), 디블록킹 필터부(340), 복호 픽쳐 버퍼부(350), 인터 예측부(360) 등을 포함할 수 있다. 그리고, 복호 픽쳐 버퍼부(350)는 크게 참조 픽쳐 저장부(미도시), 참조 픽쳐 리스트 생성부(미도시), 참조 픽쳐 관리부(미도시) 등을 포함할 수 있다. 인터 예측부(360)는 모션 스킵 판별부(710), 대응 블록 탐색부(720), 움직임 정보 유도부(730), 움직임 보상부(740) 및 움직임 정보 획득부(750)를 포함할 수 있다.
파싱부(300)에서는 수신된 비디오 영상을 복호하기 위하여 NAL 단위로 파싱을 수행한다. 일반적으로 하나 또는 그 이상의 시퀀스 파라미터 셋과 픽쳐 파라미터 셋이 슬라이스 헤더와 슬라이스 데이터가 디코딩되기 전에 디코더로 전송된다. 이 때 NAL 헤더 영역 또는 NAL 헤더의 확장 영역에는 여러 가지 속성 정보가 포함될 수 있다. 예를 들어, 상기 NAL 헤더 영역 또는 NAL 헤더의 확장 영역에서 MVC 비트스트림인지 여부를 식별할 수 있는 플래그 정보를 추가할 수 있다. 상기 플래그 정보에 따라 입력된 비트스트림이 다시점 영상 코딩된 비트스트림일 경우에 한해 다시점 영상에 대한 속성 정보들을 추가할 수 있다. 예를 들어, 상기 속성 정보들은 시점 식별(view identification) 정보, 인터뷰 픽쳐 그룹 식별 정보(inter-view picture group identification information), 인터뷰 예측 플래그 정보(inter-view prediction flag information), 시간적 레벨(temporal level) 정보, 우선순위 식별(priority identification) 정보, 시점에 대한 순간 복호 픽쳐인지 여부를 나타내는 식별 정보 등을 포함할 수 있다. 이는 도 7에서 상세히 설명하도록 한다.
파싱된 비트스트림은 엔트로피 디코딩부(310)를 통하여 엔트로피 디코딩되고, 각 매크로 블록의 계수, 움직임 벡터 등이 추출된다. 역양자화/역변환부(320)에서는 수신된 양자화된 값에 일정한 상수를 곱하여 변환된 계수값을 획득하고, 상기 계수값을 역변환하여 픽셀값을 복원하게 된다. 상기 복원된 화소값을 이용하여 인트라 예측부(340)에서는 현재 픽쳐 내의 디코딩된 샘플로부터 화면내 예측을 수행하게 된다. 한편, 디블록킹 필터부(340)에서는 블록 왜곡 현상을 감소시키기 위해 각각의 코딩된 매크로블록에 적용된다. 필터는 블록의 가장자리를 부드럽게 하여 디코딩된 프레임의 화질을 향상시킨다. 필터링 과정의 선택은 경계 세기(boundary strenth)와 경계 주위의 이미지 샘플의 변화(gradient)에 의해 좌우된다. 필터링을 거친 픽쳐들은 출력되거나 참조 픽쳐로 이용하기 위해 복호 픽쳐 버퍼부(350)에 저장된다.
복호 픽쳐 버퍼부(decoded Picture Buffer unit)(350)에서는 화면간 예측을 수행하기 위해서 이전에 코딩된 픽쳐들을 저장하거나 개방하는 역할 등을 수행할 수 있다. 이때 복호 픽쳐 버퍼부(350)에 저장하거나 개방하기 위해서 각 픽쳐의 frame_num 과 POC(Picture Order Count)를 이용하게 된다. 따라서, MVC에 있어서 상기 이전에 코딩된 픽쳐들 중에는 현재 픽쳐와 다른 시점에 있는 픽쳐들도 있으므로, 이러한 픽쳐들을 참조 픽쳐로서 활용하기 위해서는 상기 frame_num 과 POC 뿐만 아니라 픽쳐의 시점을 식별하는 시점 정보도 함께 이용할 수 있다. 상기 복호 픽쳐 버퍼부(350)는 참조 픽쳐 저장부(미도시)와 참조 픽쳐 리스트 생성부(미도시)와 참조 픽쳐 관리부(미도시)를 포함한다.
상기 참조 픽쳐 저장부는 현재 픽쳐의 코딩을 위해 참조가 되는 픽쳐들을 저장한다. 참조 픽쳐 리스트 생성부는 화면간 예측을 위한 참조 픽쳐들의 리스트를 생성하게 된다. 다시점 비디오 코딩에 있어서는 시점간 예측이 이루어질 수 있으므로 현재 픽쳐가 다른 시점에 있는 픽쳐를 참조하게 되는 경우, 시점간 예측을 위한 참조 픽쳐 리스트를 생성할 필요가 있을 수 있다.
상기 참조 픽쳐 리스트 생성부는 시점간 예측을 위한 참조 픽쳐 리스트를 생성하기 위하여 시점에 대한 정보를 이용할 수 있다. 예를 들어, 인터뷰 참조 정보(inter-view reference information)를 이용할 수 있다. 인터뷰 참조 정보란, 시점관 의존 관계를 나타내기 위해 이용되는 정보들을 말한다. 예를 들어, 전체 시점의 개수, 시점 식별 번호, 인터뷰 참조 픽쳐의 개수, 인터뷰 참조 픽쳐의 시점 식별 번호 등이 있을 수 있다.
참조 픽쳐 관리부는 보다 유연하게 화면간 예측을 실현하기 위하여 참조 픽쳐를 관리한다. 예를 들어, 적응 메모리 관리 방법(Memory Management Control Operation Method)과 이동 윈도우 방법(Sliding Window Method)이 이용될 수 있다. 이는 참조 픽쳐와 비참조 픽쳐의 메모리를 하나의 메모리로 통일하여 관리하고 적은 메모리로 효율적으로 관리하기 위함이다. 다시점 비디오 코딩에 있어서, 시점 방향의 픽쳐들은 픽쳐 출력 순서(Picture Order Count)가 동일하기 때문에 이들의 마킹을 위해서는 각 픽쳐의 시점을 식별해주는 정보가 이용될 수 있다. 이러한 과정을 통해 관리되는 참조 픽쳐들은 인터 예측부(360)에서 이용될 수 있다.
상기와 같은 과정을 통해 화면간 예측된 픽쳐들과 화면내 예측된 픽쳐들은 예측 모드에 따라 선택되어 현재 픽쳐를 복원하게 된다.
현재 컬러 픽쳐의 블록(이하, 현재 블록이라 한다.)은 시점간 예측(inter-view prediction)을 통해서 현재 블록의 컬러 정보를 예측할 수 있다. 즉, 현재 시점에 이웃하는 시점의 참조 컬러 픽쳐의 블록(이하, 참조 블록이라 한다.)으로부터 현재 블록의 컬러 정보를 예측할 수 있으며, 상기 현재 시점은 현재 컬러 픽쳐가 속한 시점을 의미할 수 있다. 상기 시점이라 함은 동일한 시점 정보를 가진 픽쳐들로 구성된 시퀀스를 의미하며, 상기 시점 정보라 함은 NAL 유닛이 속한 시점을 식별케하는 정보이며, 동일한 시점 정보를 가진 NAL 유닛은 동일한 시점에 속한다고 볼 수 있다. 이는 현재 블록에 국한되지 않으며, 현재 뎁스 픽쳐의 블록도 상기 시점간 예측을 이용하여 현재 뎁스 픽쳐의 블록의 뎁스 정보를 예측할 수 있다.
현재 블록은 뎁스 시점간 예측(depth inter-view prediction)을 통하여 참조 블록으로부터 현재 블록의 컬러 정보를 예측할 수도 있다. 상기 뎁스 시점간 예측이라 함은 현재 블록과 동일 위치에 있는 현재 뎁스 픽쳐의 블록(이하, 대응 뎁스 블록이라 한다.)을 이용하여 현재 블록(또는 현재 블록의 픽셀)에 대응하는 참조 블록(또는 참조 블록의 픽셀)으로부터 상기 현재 블록의 컬러 정보를 예측하는 것이다. 먼저, 매크로 블록 레이어에서 현재 블록 타입을 획득할 수 있고, 상기 현재 블록 타입이 P 또는 B 슬라이스인 경우 상기 현재 블록은 시점간 예측 또는 상기 뎁스 시점간 예측을 이용하여 코딩될 수 있다. 이 경우, 현재 블록이 상기 시점간 예측을 이용하여 코딩될 지 상기 뎁스 시점간 예측을 이용하여 코딩될 지를 지시하는 플래그를 정의할 수 있으며, 이하, 상기 플래그를 뎁스 시점간 예측 플래그라 한다. 상기 뎁스 시점간 예측 플래그를 획득하고, 상기 뎁스 시점간 예측 플래그에 따라서 상기 현재 블록이 시점간 예측을 이용하여 코딩될 지 뎁스 시점간 예측을 이용하여 코딩될 지 결정될 수 있다. 예를 들어, 상기 뎁스 시점간 예측 플래그를 획득한 결과, 상기 뎁스 시점간 예측 플래그가 1인 경우 현재 블록은 뎁스 시점간 예측을 이용하여 코딩되고, 상기 뎁스 시점간 예측 플래그가 0인 경우 상기 현재 블록은 시점간 예측을 이용하여 코딩된다. 또는, 새로운 매크로 블록 타입을 정의함으로써, 현재 블록이 뎁스 시점간 예측을 이용하여 코딩되는지를 지시할 수도 있다.
이하, 상기 뎁스 시점간 예측 플래그에 따라 상기 현재 블록이 뎁스 시점간 예측을 이용하여 코딩되는 경우, 구체적인 뎁스 시점간 예측 과정을 살펴보기로 한다.
현재 블록의 픽셀에 대응하는 참조 블록의 픽셀 위치를 유도함으로써, 상기 참조 블록의 픽셀의 컬러 정보를 획득할 수 있고, 상기 참조 블록의 픽셀의 컬러 정보를 이용하여 현재 블록을 위한 예측 블록을 구성할 수 있으며, 상기 예측 블록을 이용하여 상기 현재 블록의 움직임을 보상할 수 있다.
도 4는 현재 블록의 픽셀에 대응하는 참조 블록의 픽셀 위치를 유도하는 방법을 도시한 것이다.
도 4를 참조하면, 현재 블록의 픽셀 위치와 대응 뎁스 블록의 뎁스 정보를 이용하여 현재 시점의 공간적 위치를 획득할 수 있다. 상기 현재 시점의 공간적 위치는 현재 시점을 기준으로 현재 시점에 속한 현재 블록의 픽셀이 매핑되는 3차원상의 위치를 의미한다. 예를 들어, 현재 블록의 2차원 좌표 p=(x, y)이고, 상기 p에 대응하는 대응 뎁스 블록의 뎁스 정보가 Z(p)일 경우, 카메라 좌표계 상의 3차원 좌표 P를 획득할 수 있다. 상기 3차원 좌표 P는 다음 수학식 4와 같이 획득될 수 있다.
[수학식 4]
상기 현재 시점의 공간적 위치는 현재 시점을 기준으로 한 객체의 위치이므로, 상기 현재 시점의 공간적 위치를 참조 시점을 기준으로 한 3차원상의 위치(이하, 참조 시점의 공간적 위치라 한다.)로 변환한다. 예를 들어, 상기 참조 시점의 공간적 위치를 P'라고 할 때, 상기 P'는 3x3 로테이션 매트릭스(rotation matrix) R과 3x1 변환 벡터(translation vector)T를 이용하여 다음 수학식 5와 같이 유도될 수 있다.
[수학식 5]
그리고, 상기 참조 시점의 공간적 위치가 참조 블록에 투영되는 위치(이하, 참조 블록의 대응 픽셀 위치라 한다.)를 획득한다. 예를 들어, 상기 참조 블록의 대응 픽셀 위치를 p'=(x', y')라 할 때, 상기 p'는 상기 P'와 참조 시점 카메라의 내부 파라미터 K'를 이용하여 다음 수학식 6과 같이 유도될 수 있다.
[수학식 6]
따라서, 상기 위치에 근거하여 참조 블록의 컬러 정보를 획득할 수 있다.
현재 블록의 픽셀에 대응하는 참조 블록의 픽셀 위치를 유도하는 다른 실시예를 살펴보기로 한다.
다시점이 존재하는 경우, 상기 다시점은 카메라 좌표계의 동일한 x축 상에 놓여있고, 서로 평행한 z축을 가지는 것을 전제로 설명하기로 한다. 이 경우, 현재 블록의 픽셀 위치 p=(x, y)와 참조 블록의 대응 픽셀 위치 p'=(x', y)를 비교하면, y값은 동일하고, x값에서 차이를 가질 것이다. 따라서, 상기 x값 간의 차이값은 현재 블록의 픽셀 위치와 상기 현재 블록의 픽셀에 대응하는 참조 블록의 픽셀 위치 간의 변화량을 의미할 수 있다. 이하, 상기 변화량을 시점간 위치 차이값으로 부르기로 한다. 상기 시점간 위치 차이값을 이용하여 현재 블록의 픽셀 위치로부터 참조 블록의 대응 픽셀 위치를 획득할 수 있다. 예를 들어, 상기 시점간 위치 차이값은 현재 시점 카메라의 초점 길이(f), 현재 시점 카메라와 참조 시점 카메라 간의 거리(B)를 이용하여 다음 수학식 7과 같이 유도될 수 있다.
[수학식 7]
상기 수학식 7에서 d는 상기 시점간 위치 차이값을 의미하며, Z는 대응 뎁스 블록의 뎁스 정보를 의미한다. 대응 뎁스 블록의 뎁스 정보로서 양자화된 뎁스 정보가 이용된 경우, 상기 Z는 상기 양자화된 뎁스 정보를 이용하여 다음 수학식 8과 같이 유도될 수 있다.
[수학식 8]
상기 수학식 8에서 Znear는 상기 카메라 좌표계상의 3차원 좌표 P의 Z값의 하한(the lower limit)을, Zfar는 Z값의 상한(the upper limit)을 의미한다. 예를 들어, 현재 블록의 2차원 좌표 (x, y)에 대응하는 참조 블록의 2차원 좌표 (x', y)는 상기 2차원 좌표 (x, y)에 상기 시점간 위치 차이값(d)을 합산함으로써 획득할 수 있다. 즉, x'는 다음 수학식 9와 같이 나타낼 수 있다.
[수학식 9]
다만, 상기 참조 블록의 픽셀 위치는 상기 시점간 위치 차이값에 의해 결정된 2차원 좌표 (x', y)로 결정될 수도 있고, 상기 (x', y)와 가장 가까운 픽셀 위치로 결정될 수도 있다. 즉, 상기 x'이 정수인 경우에는 상기 2차원 좌표 (x', y)를, 상기 x'이 정수가 아닌 실수인 경우에는 x'에 반올림 연산을 수행하여 얻은 2차원 좌표를 상기 참조 블록의 픽셀 위치로 결정할 수 있다.
대응 뎁스 블록의 대표적인 시점간 위치 차이값를 이용하여 현재 블록에 대응하는 참조 블록의 위치를 유도하고, 상기 참조 블록을 상기 현재 블록을 위한 예측 블록으로 이용하여 움직임을 보상할 수도 있다.
상기 수학식 7을 이용하여 대응 뎁스 블록의 뎁스 정보로부터 시점간 위치 차이값를 유도하고, 상기 시점간 위치 차이값로부터 상기 대표적인 시점간 위치 차이값를 유도할 수 있다. 상기 대표적인 시점간 위치 차이값이라 함은 상기 시점간 위치 차이값들의 평균값으로 정의될 수 있고, 상기 시점간 위치 차이값 간의 중앙값으로 정의될 수도 있으며, 상기 시점간 위치 차이값 중에서 빈도수가 가장 높은 시점간 위치 차이값으로 정의될 수도 있다. 상기 현재 블록의 위치와 상기 대표적인 시점간 위치 차이값에 의해 참조 블록의 위치가 유도될 수 있다. 예를 들어, 상기 대표적인 시점간 위치 차이값이 d'이고, 현재 블록의 좌측 상단 픽셀의 위치가 (x,y)이며, 상기 현재 블록에 대응하는 참조 블록의 좌측 상단 픽셀의 위치가 (x',y)일 경우,x'는 다음 수학식 10과 같이 나타낼 수 있다.
[수학식 10]
현재 블록의 움직임 벡터와 현재 블록의 움직임 벡터 예측값간의 차분 벡터만을 부호화함으로써 부호화해야 할 비트량을 줄일 수 있다. 인터 예측부(360)에서는 현재 블록에 이웃하는 블록의 움직임 벡터를 추출하고, 이웃 블록으로부터 상기 현재 블록의 움직임 벡터 예측값을 획득할 수 있다. 상기 이웃 블록이라 함은 현재 블록의 좌측, 상단, 우측 상단의 블록을 포함할 수 있다. 예를 들어, 상기 이웃 블록들의 움직임 벡터의 수평 성분과 수직 성분 각각의 중앙값을 사용하여 현재 블록의 움직임 벡터 예측값을 획득할 수 있다. 또는, 현재 블록의 좌측 블록이 하나 이상의 화면간 예측 모드로 코딩된 예측 블록을 포함하는 경우에는 그 중 가장 상단에 위치한 예측 블록의 움직임 벡터를 이용하여 현재 블록의 움직임 벡터 예측값을 획득할 수 있다. 현재 블록의 상단 블록이 하나 이상의 화면간 예측 모드로 코딩된 예측 블록을 포함하는 경우에는 그 중 가장 좌측에 위치한 예측 블록의 움직임 벡터를 이용하여 현재 블록의 움직임 벡터 예측값을 획득할 수 있다. 이웃 블록 중 현재 블록의 상단, 우측 상단의 블록이 픽쳐 또는 슬라이스의 경계 밖에 위치할 경우, 좌측 블록의 움직임 벡터를 현재 블록의 움직임 벡터 예측값으로 설정할 수 있다. 이웃 블록 중 현재 블록과 참조 픽쳐 번호가 같은 블록이 하나만 있는 경우에는 그 블록의 움직임 벡터를 현재 블록의 움직임 벡터 예측값으로 설정할 수 있다.
매크로 블록 타입에 따라 특정되는 매크로 블록의 파티션에 기초하여 움직임 벡터 예측값을 획득할 수도 있다. 예를 들어, 현재 매크로 블록 타입에 따른 상기 현재 매크로 블록의 파티션이 8x16 인 경우, 상기 현재 매크로 블록의 파티션의 인덱스가 0이면, 상기 현재 매크로 블록의 좌측 블록을, 현재 블록의 인덱스가 1이면, 현재 블록의 우측 상단의 블록을 예측에 사용할 수 있다. 현재 매크로 블록 타입에 따른 매크로 블록의 파티션이 16x8 인 경우, 상기 매크로 블록의 파티션의 인덱스가 0이면, 현재 블록의 상단 블록을, 상기 매크로 블록의 파티션의 인덱스가 1이면, 현재 블록의 좌측 블록을 예측에 사용할 수 있다.
상기 획득된 움직임 벡터 예측값과 비디오 신호로부터 추출되는 차분 벡터를 이용하여 현재 블록의 움직임을 보상한다. 또한, 이러한 움직임 보상은 하나의 참조 픽쳐를 이용하여 수행될 수도 있고, 복수의 픽쳐를 이용하여 수행될 수도 있다. 예를 들어, 매크로 블록의 크기가 16X16 인 경우, 화면간 예측을 위해 16X16, 16X8, 8X16, 8X8, 8X4, 4X8, 4X4까지 총 7종류의 블록 크기가 매크로 블록의 파티션 또는 서브 매크로 블록의 파티션으로 사용될 수 있다. 이들은 매크로 블록 타입 또는 서브 매크로 블록 타입으로 계층화하여 표시될 수 있다. 구체적으로, 상기 블록 크기는 매크로 블록 타입에 따라 특정될 수 있으며, 16X16, 16X8, 8X16, 8X8 중 하나가 선택될 수 있다. 만일 8X8 이 선택되면, 서브 매크로 블록 타입으로 8X8, 8X4, 4X8, 4X4 중 하나가 선택될 수 있다. 상기 매크로 블록의 파티션 또는 서브 매크로 블록의 파티션마다 참조 픽쳐 번호와 차분 벡터를 코딩할 수 있다.
현재 블록에 대응하는 참조 블록의 위치를 획득하는 또 다른 실시예로써, 상기 대표적인 시점간 위치 차이값를 현재 블록의 움직임 벡터 예측값으로 이용하는 방법이 있다. 예를 들어, 상기 현재 블록의 움직임 벡터와 상기 대표적인 시점간 위치 차이값 간의 차분 벡터만을 코딩할 수 있다. 디코더에서는 매크로 블록의 파티션 또는 서브 매크로 블록의 파티션에 대하여 상기 차분 벡터을 획득할 수 있다. 대응 뎁스 블록의 뎁스 정보를 이용하여 상기 대표적인 시점간 위치 차이값를 유도하고, 상기 대표적인 시점간 위치 차이값와 상기 차분 벡터를 이용하여 현재 블록의 움직임 벡터를 유도할 수 있다. 상기 현재 블록의 움직임 벡터에 의해 지시되는 참조 블록을 이용하여 움직임을 보상할 수 있다.
스킵 매크로 블록은 현재 매크로 블록을 복원함에 있어서, 현재 매크로 블록에 대한 정보, 즉, 움직임 벡터, 참조 픽쳐 번호, 및 레지듀얼 데이터를 이용하지 아니하고, 이전에 코딩된 참조 픽쳐 내의 매크로 블록의 픽셀값을 그대로 이용하는 방식으로 정의할 수 있다. 스킵 매크로 블록 코딩함에 있어서, 상기 스킵 매크로 블록의 움직임 벡터 예측값을 이용한 움직임 보상이 수반될 수 있으며, 상기 움직임 벡터 예측값은 이웃 블록을 이용하여 유도될 수 있다. 이웃 블록으로부터 상기 움직임 벡터 예측값을 유도하는 방법은 앞서 설명한 움직임 벡터 예측값의 유도 방법이 동일하게 적용될 수 있다.
슬라이스 레이어에서 상기 슬라이스내의 매크로 블록에 대하여 상기 매크로 블록이 스킵 매크로 블록인지를 결정할 수 있다. 이 경우, 상기 매크로 블록이 스킵 모드로 코딩되어 있는지를 지시하는 플래그(이하, 스킵 모드 지시 플래그라 한다.)를 이용할 수 있다. 예를 들어, 현재 슬라이스 타입이 I 또는 SI 슬라이스가 아닌 경우, 현재 슬라이스내의 매크로 블록에 대하여 상기 스킵 모드 지시 플래그를 획득할 수 있다. 상기 스킵 모드 지시 플래그가 1인 경우 현재 매크로 블록은 현재 슬라이스 타입에 따라 P 또는 B 스킵 매크로 블록으로 결정될 수 있고, 상기 스킵 모드 지시 플래그가 0인 경우 상기 현재 매크로 블록은 스킵 모드로 코딩되지 아니함을 의미할 수 있다.
대응 뎁스 블록의 뎁스 정보를 이용하여 현재 블록을 스킵 모드로 코딩할 수도 있다. 이를 뎁스 스킵 모드라고 부르기로 한다. 즉, 앞서 설명한 바와 같이, 현재 블록의 픽셀에 대응하는 참조 픽쳐의 픽셀 위치를 유도함으로써, 상기 참조 픽쳐의 픽셀의 컬러 정보를 획득할 수 있고, 상기 참조 픽쳐의 픽셀의 컬러 정보를 이용하여 참조 블록을 구성할 수 있으며, 상기 참조 블록을 이용하여 움직임 보상을 수행할 수 있다. 또는, 대응 뎁스 블록의 대표적인 시점간 위치 차이값를 이용하여 현재 블록에 대응하는 참조 블록의 위치를 유도하고, 상기 참조 블록을 이용하여 움직임을 보상할 수도 있다.
현재 블록이 스킵 모드로 코딩될 지 뎁스 스킵 모드로 코딩될 지를 지시하는 플래그(이하, 뎁스 스킵 모드 지시 플래그라 한다.)를 정의할 수 있고, 상기 뎁스 스킵 모드 지시 플래그에 따라 상기 현재 블록의 스킵 모드 방법이 결정될 수 있다.
도 5는 슬라이스 레벨에서 뎁스 스킵 모드 지시 플래그를 이용하여 현재 블록의 스킵 모드 방법을 결정하는 신택스의 일 실시예이다.
도 5를 참조하면, 슬라이스 타입이 I 또는 SI 슬라이스가 아닌 경우 인터 예측, 시점간 예측, 또는 뎁스 시점간 예측 등의 예측 방식이 가능할 것이다(S100). 따라서, 현재 슬라이스 타입이 I 또는 SI 슬라이스가 아닌 경우, 현재 매크로 블록에 대하여 스킵 모드 지시 플래그를 획득할 수 있다(S110). 상기 스킵 모드 지시 플래그가 1인 경우, 상기 현재 매크로 블록은 스킵 매크로 블록인 것으로 유도될 수 있다. 따라서, 상기 현재 매크로 블록에 대해서는 매크로 블록 타입을 획득하지 아니할 수 있을 뿐만 아니라, 움직임 정보, 레지듀얼 데이터 등을 획득하지 아니할 수 있다. 따라서, 상기 현재 매크로 블록에 대하여 움직임 정보 등 다른 정보가 획득되는지를 지시하는 플래그(moredataFlag)가 0일 될 것이다(S120). 상기 플래그(moredataFlag)가 0인 경우, 상기 현재 매크로 블록에 대하여 뎁스 스킵 모드 지시 플래그를 획득할 수 있다(S130). 예를 들어, 상기 뎁스 스킵 모드 지시 플래그가 1인 경우에는 상기 현재 매크로 블록은 뎁스 스킵 모드로 코딩될 수 있고, 상기 뎁스 스킵 모드 지시 플래그가 0인 경우에는 상기 현재 매크로 블록은 스킵 모드로 코딩될 수 있다.
도 6은 매크로 블록 레벨에서 뎁스 스킵 모드 지시 플래그를 이용하여 현재 블록의 스킵 모드 방법을 결정하는 신택스의 일 실시예이다.
현재 매크로 블록에 대하여 스킵 모드 지시 플래그를 획득한 결과, 상기 현재 매크로 블록이 스킵 매크로 블록이 아닌 경우, 매크로 블록 레벨에서 상기 현재 매크로 블록에 대한 뎁스 스킵 모드 지시 플래그를 획득할 수 있다(S200). 상기 뎁스 스킵 모드 지시 플래그에 따라 상기 현재 매크로 블록의 스킵 모드 방법이 결정될 수 있다. 예를 들어, 상기 뎁스 스킵 모드 지시 플래그가 1인 경우에는 상기 현재 매크로 블록은 뎁스 스킵 모드로 코딩될 수 있고, 상기 뎁스 스킵 모드 지시 플래그가 0인 경우에는 상기 현재 매크로 블록에 대하여 매크로 블록 타입을 획득하고, 상기 매크로 블록 타입에 따라 인트라 예측 또는 인터 예측을 수행할 수 있다.
도 7은 본 발명이 적용되는 실시예로서, 다시점 영상 코딩된 비트스트림에 추가될 수 있는 다시점 영상에 대한 속성 정보들을 나타낸다.
상기 도 7에서는 다시점 영상에 대한 속성 정보들이 추가될 수 있는 NAL 단위의 구성의 일례를 나타낸다. 크게 NAL 유닛은 NAL 유닛의 헤더와 RBSP(Raw Byte Sequence 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 information)란, 현재 NAL 유닛의 코딩된 픽쳐가 인터뷰 픽쳐 그룹인지 여부를 식별하는 정보를 말한다. 그리고, 인터뷰 픽쳐 그룹(inter-view picture group)이라 함은, 모든 슬라이스들이 동일 시간대의 프레임에 있는 슬라이스만을 참조하는 부호화된 픽쳐를 의미한다. 예를 들어, 다른 시점에 있는 슬라이스만을 참조하고 현재 시점에 있는 슬라이스는 참조하지 않는 부호화된 픽쳐를 말한다.
인터뷰 예측 플래그 정보(inter-view prediction flag information)란, 현재 NAL 유닛의 코딩된 픽쳐가 시점간 예측을 위해 이용되는지 여부를 나타내는 정보를 말한다. 상기 인터뷰 예측 플래그 정보는 시간적 예측 또는 시점간 예측이 수행되는 부분에서 이용될 수 있다. 이때, NAL 유닛이 참조 픽쳐의 슬라이스를 포함하고 있는지 여부를 나타내는 식별 정보와 함께 이용될 수 있다. 예를 들어, 상기 식별 정보에 따라 현재 NAL 유닛이 참조 픽쳐의 슬라이스를 포함하고 있지는 않지만 시점간 예측을 위해 이용되는 경우에, 상기 현재 NAL 유닛은 시점간 예측에만 이용되는 참조 픽쳐일 수 있다. 또는, 상기 식별 정보에 따라 현재 NAL 유닛이 참조 픽쳐의 슬라이스를 포함하고 시점간 예측을 위해 이용되는 경우에, 상기 현재 NAL 유닛은 시간적 예측과 시점간 예측을 위해 이용될 수 있다. 또한, 상기 식별 정보에 따라 NAL 유닛이 참조 픽쳐의 슬라이스를 포함하고 있지 않더라도, 복호 픽쳐 버퍼에 저장될 수 있다. 상기 플래그 정보와 식별 정보를 함께 이용하는 경우 외에, 하나의 식별 정보로서 현재 NAL 유닛의 코딩된 픽쳐가 시간적 예측 또는/및 시점간 예측을 위해 이용되는지 여부를 나타낼 수도 있다.
또한, 상기 인터뷰 예측 플래그 정보는 싱글 루프 디코딩 과정에서 이용될 수도 있다. 상기 인터뷰 예측 플래그 정보에 따라 현재 NAL 유닛의 코딩된 픽쳐가 시점간 예측을 위해 이용되지 않는 경우 부분적으로 디코딩을 수행할 수 있다. 예를 들어, 인트라 매크로블록은 완전히 디코딩을 수행하고, 인터 매크로블록은 레지듀얼 정보만 디코딩을 수행할 수 있다. 이는 사용자가 모든 시점의 영상을 보지 않고 어느 특정 시점의 영상만을 볼 때, 다른 시점들 중 특별히 움직임 보상을 수행하여 영상을 복원할 필요가 없는 경우에 효율적일 수 있다.
시간적 레벨 정보(temporal level information)란, 비디오 신호로부터 시간적 확장성을 제공하기 위한 계층적인 구조에 대한 정보를 말한다. 이러한 시간적 레벨 정보를 통해 사용자에게 다양한 시간대의 영상을 제공할 수 있게 된다.
우선순위 식별(priority identification) 정보란, NAL 유닛의 우선순위를 식별해주는 정보를 의미한다. 이를 이용하여 시점 확장성을 제공할 수 있다. 예를 들어, 상기 우선순위 식별 정보를 이용하여 시점 레벨 정보를 정의할 수 있다. 여기서, 시점 레벨 정보란, 비디오 신호로부터 시점 확장성을 제공하기 위한 계층적인 구조에 대한 정보를 말한다. 다시점 비디오 영상에서는 사용자에게 다양한 시간 및 시점의 영상을 제공하도록 하기 위해 시간 및 시점에 대한 레벨을 정의해 줄 필요가 있다. 이처럼 레벨 정보를 정의할 경우, 시간 및 시점에 대한 확장성(scalability)을 이용할 수 있게 된다. 따라서, 사용자는 원하는 시간 및 시점의 영상만을 볼 수도 있고, 다른 제한 조건에 따른 영상만을 볼 수 있게 된다. 상기 레벨 정보는 그 기준 조건에 따라 다양한 방법으로 다르게 설정될 수 있다. 예를 들어, 카메라의 위치에 따라 다르게 설정될 수 있고, 카메라의 배열 형태에 따라 다르게 설정될 수 있다. 또한, 상기 레벨 정보는 인터뷰 참조 정보를 고려하여 결정될 수도 있는데, 예를 들어, 인터뷰 픽쳐 그룹이 I픽쳐인 시점에는 레벨을 0으로 할당하고, 인터뷰 픽쳐 그룹이 P픽쳐인 시점에는 레벨을 1로 할당하고, 인터 뷰 픽쳐 그룹이 B픽쳐인 시점에는 레벨을 2로 할당할 수 있다. 이처럼 상기 레벨값을 상기 우선순위 정보에 할당할 수도 있을 것이다. 또한, 상기 레벨 정보는 특별한 기준에 의하지 않고 임의로 설정될 수도 있다.
인터뷰 픽쳐 그룹과 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 정보가 다르기 때문에 인터뷰 픽쳐 그룹 식별 정보에 따라 인터뷰 픽쳐 그룹과 넌-인터뷰 픽쳐 그룹을 구별할 필요가 있다.
상기 인터뷰 참조 정보는, 시점간 영상들이 어떠한 구조로 예측되었는지를 알 수 있는 정보를 의미할 수 있다. 이는 비디오 신호의 데이터 영역로부터 획득될 수 있는데, 예를 들어, 시퀀스 파라미터 셋 영역으로부터 획득될 수 있다. 또한, 상기 인터뷰 참조 정보는 참조 픽쳐의 개수와 참조 픽쳐의 시점 정보를 이용하여 파악할 수 있다. 예를 들어, 먼저 전체 시점의 개수를 획득하고, 상기 전체 시점의 개수에 근거하여 각 시점을 구별하는 시점 식별 정보를 파악할 수 있다. 그리고, 각 시점마다 참조 방향에 대한 참조 픽쳐의 개수를 나타내는 인터뷰 참조 픽쳐의 개수 정보를 획득할 수 있다. 상기 인터뷰 참조 픽쳐의 개수 정보에 따라 각 인터뷰 참조 픽쳐의 시점 식별 정보를 획득할 수 있다.
이러한 방식을 통해서 상기 인터뷰 참조 정보가 획득될 수 있으며, 상기 인터뷰 참조 정보는 인터뷰 픽쳐 그룹일 경우와 넌-인터뷰 픽쳐 그룹일 경우로 나누어서 획득될 수 있다. 이는 현재 NAL에 있는 코딩된 슬라이스가 인터뷰 픽쳐 그룹인지 여부를 나타내는 인터뷰 픽쳐 그룹 식별 정보를 이용하여 알 수 있다.
다시점 비디오 코딩에서는 시점간 예측이 가능하며, 상기 시점간 예측은 H.264/AVC에서의 화면간 예측과 동일한 방법으로 수행될 수 있다.
따라서, 현재 블록의 움직임 벡터 예측값은 앞서 설명한 바와 같이 현재 블록의 이웃 블록의 움직임 벡터로부터 획득될 수 있다. 뿐만 아니라, 현재 블록과 동일 위치에 있는 블록이 가지는 움직임 벡터를 상기 현재 블록의 움직임 벡터 예측값으로 이용할 수도 있다. 이 경우, 상기 현재 블록과 동일 위치에 있는 블록은 상기 현재 블록과 동일한 시점 정보를 가진 참조 픽쳐내에 속할 수 있다.
나아가, 다시점 비디오 코딩에서는 시점간 예측 뿐만 아니라 뎁스 시점간 예측도 가능하므로, 대응 뎁스 블록의 뎁스 정보로부터 로컬 모션 벡터(local motion vector)를 유도할 수 있고, 상기 로컬 모션 벡터를 현재 블록의 움직임 벡터 예측값으로 이용할 수 있다. 상기 로컬 모션 벡터에 대해서는 모션 스킵 부분에서 설명하기로 한다.
또한, 상기 로컬 모션 벡터에 의해 지시되는 다른 시점에 있는 참조 블록의 움직임 벡터를 현재 블록의 움직임 벡터 예측값으로 이용할 수도 있다.
인코더에서는 상기 언급한 움직임 벡터 예측값들을 이용하여 현재 블록을 코딩하고, 가장 최적의 왜곡률을 가지는 움직임 벡터 예측값을 선택할 수 있다. 디코더에서는 어떤 움직임 벡터 예측값을 이용하여 코딩되는지에 대한 정보를 시퀀스 파라미터 세트, 픽쳐 파라미터 세트, 또는 슬라이스 레벨에서 획득할 수 있고, 이로써 계층적으로 최적의 움직임 벡터 예측값을 이용할 수 있다. 또한, 매크로 블록 레벨에서도 상기 정보를 획득함으로써, 상기 매크로 블록에 대해서 움직임 벡터 예측값을 획득하는 방식을 결정할 수 있다. 예를 들어, 시퀀스 파라미터 세트, 픽쳐 파라미터 세트, 또는 슬라이스 레벨에서 상기 움직임 벡터 예측값들 중에서 이용가능한 움직임 벡터 예측값이 2가지임을 지시하는 경우, 매크로 블록 레벨에서 플래그를 이용하여 현재 매크로 블록을 코딩시 이용되는 움직임 벡터 예측값을 지시할 수 있다. 즉, 상기 플래그는 현재 매크로 블록의 움직임 벡터 예측값을 획득하는 방식을 지시하는 플래그를 의미할 수 있다.
또한, 인터뷰 픽쳐 그룹 식별 정보에 기초하여 현재 매크로 블록을 코딩함에 있어 이용되는 움직임 벡터 예측값을 설정할 수도 있다. 상기 인터뷰 픽쳐 그룹 식별 정보에 따라 현재 픽쳐가 인터뷰 픽쳐 그룹인 경우, 로컬 모션 벡터가 현재 매크로 블록의 움직임 벡터 예측값으로 이용되는 것으로, 현재 픽쳐가 넌-인터뷰 픽쳐 그룹인 경우에는 상기 로컬 모션 벡터에 의해 지시되는 참조 블록의 움직임 벡터가 현재 매크로 블록의 움직임 벡터 예측값으로 이용되는 것으로 설정할 수 있다.
도 8은 본 발명이 적용되는 실시예로서, 모션 스킵 여부에 따라 움직임 보상을 수행하는 방법을 설명하기 위해 나타낸 것이다.
인터 예측부(360)에서는 엔트로피 디코딩부(310)로부터 전송된 정보들을 이용하여 현재 블록의 움직임을 보상한다. 비디오 신호로부터 현재 블록에 이웃하는 블록들의 움직임 벡터를 추출하고, 상기 현재 블록의 움직임 벡터 예측값을 획득한다. 상기 획득된 움직임 벡터 예측값과 상기 비디오 신호로부터 추출되는 차분 벡터를 이용하여 현재 블록의 움직임을 보상한다. 또한, 이러한 움직임 보상은 하나의 참조 픽쳐를 이용하여 수행될 수도 있고, 복수의 픽쳐를 이용하여 수행될 수도 있다. 다시점 비디오 코딩에 있어서, 현재 픽쳐가 다른 시점에 있는 픽쳐들을 참조하게 되는 경우, 상기 복호 픽쳐 버퍼부(350)에 저장되어 있는 시점간 예측을 위한 참조 픽쳐 리스트에 대한 정보를 이용하여 움직임 보상을 수행할 수 있다. 또한, 그 픽쳐의 시점을 식별하는 시점 정보를 이용하여 움직임 보상을 수행할 수도 있다.
모션 스킵 판별부(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 플래그 정보는 현재 블록이 모션 스킵을 이용하는지, 즉 현재 블록의 움직임 정보가 다른 시점에 있는 참조 블록의 움직임 정보로부터 유도되는지 여부를 지시할 수 있다. 예를 들어, 상기 제 1 플래그 정보에 따라 현재 슬라이스에서 모션 스킵을 이용하는 경우, 매크로블록 레이어에서 현재 매크로 블록에 대하여 상기 제 2 플래그 정보를 다시 획득할 수 있다. 상기 제 2 플래그 정보가 1이면 현재 매크로블록의 움직임 정보는 다른 시점에 있는 참조 블록으로부터 유도될 수 있다. 상기 제 2 플래그 정보가 0이면 현재 매크로블록의 움직임 정보는 다른 시점에 있는 참조 블록으로부터 유도되지 않는다. 상기 제 2 플래그 정보가 존재하지 않는 경우, 상기 제 2 플래그 정보는 0으로 유도될 수 있다. 이처럼, 모션 스킵 플래그 정보는 둘 이상의 레벨에서 계층적으로 설정함으로써 모션 스킵 수행 여부를 계층적으로 제어할 수 있다. 또는 하나의 레벨에서 독립적으로 설정될 수도 있다.
상기 모션 스킵 플래그 정보는 인터뷰 픽쳐 그룹 식별 정보에 기초하여 획득될 수 있다. 상기 모션 스킵 플래그 정보는 상기 제 1 플래그 정보 및/또는 제 2 플래그 정보를 포함할 수 있다. 상기 인터뷰 픽쳐 그룹 식별 정보에 따라 현재 픽쳐가 넌-인터뷰 픽쳐 그룹에 해당되는 경우, 상기 모션 스킵 플래그 정보가 획득될 수 있다.
또한, 상기 모션 스킵 플래그 정보는 인터뷰 참조 정보에 기초하여 획득될 수 있다. 예를 들어, 상기 모션 스킵 플래그 정보는 인터뷰 참조 관계가 존재하는 경우에 획득될 수 있다. 상기 인터뷰 참조 관계는, 예를 들어, 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 관계를 의미할 수 있다. 구체적 예로, 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 픽쳐의 개수 정보에 기초하여 상기 모션 스킵 플래그 정보가 획득될 수 있다. 넌-인터뷰 픽쳐 그룹의 L0 방향에 대한 인터뷰 참조 픽쳐의 개수가 0보다 클 경우, 상기 모션 스킵 플래그 정보가 획득될 수 있다. 또는 넌-인터뷰 픽쳐 그룹의 L1 방향에 대한 인터뷰 참조 픽쳐의 개수가 0보다 클 경우, 상기 모션 스킵 플래그 정보가 획득될 수 있다.
상기 모션 스킵 플래그 정보는 인터뷰 픽쳐 그룹 식별 정보와 인터뷰 참조 정보에 기초하여 획득될 수도 있다. 예를 들어, 현재 픽쳐가 인터뷰 픽쳐 그룹이 아니고, 넌-인터뷰 픽쳐 그룹의 L0 및/또는 L1 방향에 대한 인터뷰 참조 픽쳐의 개수가 0보다 큰 경우, 모션 스킵 플래그 정보가 획득될 수 있다.
상기 모션 스킵 판별부(710)에 따라 모션 스킵을 수행하는 경우, 대응 블록 탐색부(720)에서는 대응 블록을 탐색한다. 움직임 정보 유도부(730)에서는 상기 대응 블록의 움직임 정보를 이용하여 현재 블록의 움직임 정보를 유도할 수 있다. 이렇게 유도된 움직임 정보를 이용하여 움직임 보상부(740)에서는 움직임 보상을 수행하게 된다. 한편, 상기 모션 스킵 판별부(710)에 의해 모션 스킵을 수행하지 않는 경우, 움직임 정보 획득부(750)에서는 전송되어 온 움직임 정보를 획득하게 된다. 상기 획득된 움직임 정보를 이용하여 움직임 보상부(740)에서는 움직임 보상을 수행하게 된다. 이하에서는 움직임 보상을 수행하기 위한 구체적인 과정들에 대해서 살펴보도록 한다.
글로벌 움직임 벡터(global motion vector)란, 일정 영역에 공통적으로 적용할 수 있는 움직임 벡터를 의미할 수 있다. 예를 들어, 움직임 벡터가 일부 영역(예: 매크로블록, 블록, 픽셀 등)에 대응된다면, 글로벌 움직임 벡터(global motion vector 또는 global disparity vector)는 상기 일부 영역을 포함하는 전체 영역에 대응되는 모션 벡터이다. 예를 들어, 상기 전체 영역은 하나의 슬라이스에 대응될 수도 있고, 하나의 픽쳐에 대응될 수도 있으며, 시퀀스 전체에 대응될 수도 있다. 이러한 글로벌 움직임 벡터는 픽셀 단위 또는 1/4픽셀 단위의 값이 될 수도 있고, 4x4 단위, 8x8 단위, 또는 매크로블록 단위의 값이 될 수도 있다.
상기 글로벌 움직임 벡터는 인터뷰 픽쳐 그룹 식별 정보에 기초하여 획득될 수 있다. 예를 들어, 상기 인터뷰 픽쳐 그룹 식별 정보에 따라 현재 픽쳐가 인터뷰 픽쳐 그룹에 해당되는 경우, 상기 글로벌 움직임 벡터가 획득될 수 있다. 여기서, 상기 글로벌 움직임 벡터는 L0 방향 및/또는 L1 방향에 대한 글로벌 움직임 벡터를 포함할 수 있다.
또한, 상기 글로벌 움직임 벡터는 슬라이스 타입에 기초하여 획득될 수 있다. 예를 들어, 현재 매크로블록의 슬라이스 타입이 P 슬라이스 또는 B 슬라이스인 경우 상기 글로벌 움직임 벡터가 획득될 수 있다. 현재 매크로블록의 슬라이스 타입이 P 슬라이스인 경우, L0 방향에 대한 글로벌 움직임 벡터가 획득될 수 있다. 현재 매크로블록의 슬라이스 타입이 B 슬라이스인 경우, L0 및 L1 방향에 대한 글로벌 움직임 벡터가 획득될 수 있다.
또한, 상기 글로벌 움직임 벡터는 인터뷰 참조 정보에 기초하여 획득될 수 있다. 예를 들어, 넌-인터뷰 픽쳐 그룹의 인터뷰 참조 픽쳐의 개수 정보에 기초하여 상기 글로벌 움직임 벡터가 획득될 수 있다. 넌-인터뷰 픽쳐 그룹의 L0 방향에 대한 인터뷰 참조 픽쳐의 개수만큼, L0 방향의 글로벌 움직임 벡터가 획득될 수 있다. 또는 넌-인터뷰 픽쳐 그룹의 L1 방향에 대한 인터뷰 참조 개수만큼, L1 방향의 글로벌 움직임 벡터가 획득될 수 있다.
이처럼, 상기 글로벌 움직임 벡터를 획득하기 위해서는 상기 예들이 독립적인 요건으로 적용될 수 있을 뿐만 아니라, 그 조합에 의해 적용될 수도 있다.
상기 글로벌 움직임 벡터를 이용하여 현재 블록이 참조하는 대응 블록을 찾을 수 있게 된다. 그리고, 상기 대응 블록을 이용하여 현재 블록의 코딩 정보를 예측할 수 있다.
도 9는 부가 정보를 이용하여 대응 블록을 찾는 방법을 설명하기 위해 나타낸 것이다.
상기 글로벌 움직임 벡터는 적용되는 영역에 따라 정확도가 떨어질 수 있다. 이 경우 부가 정보를 이용하여 움직임 벡터의 정확도를 높일 수 있다. 상기 부가 정보는 오프셋 정보와 대응 블록의 시점 방향 정보를 포함할 수 있다. 예를 들어, 상기 대응 블록의 시점 방향 정보는 대응 블록이 현재 블록을 기준으로 L0 방향에 있는지 L1 방향에 있는지를 지시하는 정보이다. 상기 오프셋 정보는 현재 블록의 글로벌 움직임 벡터가 가리키는 대응 블록(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]
여기서, 상기 0과 1은 각각 수평 방향과 수직 방향을 의미할 수 있다.
상기 글로벌 움직임 벡터(GDV)와 상기 유도된 제 3 오프셋 정보(offset_Z)를 이용하여 수정된 움직임 벡터를 유도할 수 있다. 예를 들어, 상기 수정된 움직임 벡터란 참조 블록(MB2)을 가리키는 움직임 벡터(accGDV)를 의미할 수 있다. 여기서, 상기 참조 블록(MB2)는 인코더에서 모든 블록들의 왜곡률(rate-distortion)을 계산한 결과, 그 중에서 가장 최적의 왜곡률을 가지는 블록을 의미할 수 있다. 상기 수정된 움직임 벡터는 아래 수학식 5와 같이 유도될 수 있다.
[수학식 5]
상기 수정된 움직임 벡터(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)의 위치 정보에 따라 현재 블록의 모션 정보를 유도할 수 있다. 현재 블록이 참조하는 대응 블록을 찾기 위해 대응 뎁스 블록의 뎁스 정보를 이용할 수도 있다. 이를 위해 상기 현재 블록이 참조하는 참조 픽쳐의 시점 방향에 대한 정보를 획득할 수 있다. 앞서 설명한 바와 같이, 수학식 7을 이용하여 상기 대응 뎁스 블록의 뎁스 정보로부터 시점간 위치 차이값이 유도될 수 있고, 이는 픽셀 단위로 유도될 수 있다. 상기 유도된 시점간 위치 차이값로부터 대표적인 시점간 위치 차이값이 유도될 수 있고, 상기 대표적인 시점간 위치 차이값은 벡터로 표현될 수 있는데, 이를 로컬 모션 벡터로 부르기로 한다. 상기 현재 블록의 위치와 상기 로컬 모션 벡터를 이용하여 상기 대응 블록의 위치를 찾을 수 있고, 상기 대응 블록의 움직임 정보를 이용하여 현재 블록을 코딩할 수 있다. 상기 로컬 모션 벡터는 현재 블록 타입에 따라 특정되는 파티션별로 유도될 수도 있다. 이 경우 현재 블록의 파티션별로 모션 스킵을 이용하여 코딩할 수 있다. 예를 들어, 슬라이스 헤더에서 제 1 플래그 정보를 획득한 결과, 현재 슬라이스에서 모션 스킵을 이용하는 경우 매크로 블록 레이어에서 현재 매크로 블록에 대하여 제 2 플래그 정보를 획득할 수 있다. 상기 제 2 플래그 정보에 따라 현재 매크로 블록에서 모션 스킵이 이용되는 경우 상기 현재 매크로 블록 타입을 획득할 수 있다. 상기 현재 매크로 블록 타입에 따른 파티션에 대하여 상기 로컬 모션 벡터를 획득할 수 있다. 즉, 상기 파티션과 동일 위치에 있는 대응 뎁스 픽쳐의 파티션의 뎁스 정보를 이용하여 로컬 모션 벡터를 유도할 수 있다. 현재 매크로 블록 타입이 8X8인 경우에는 4개의 로컬 모션 벡터를 획득될 것이다.
그러나, 상기 대응 블록이 화면내 예측을 이용하여 코딩된 경우, 상기 대응 블록을 이용하여 모션 스킵을 수행할 수 없다. 이 경우 상기 대응 블록의 이웃 블록을 이용하여 모션 스킵을 수행할 수 있다. 상기 이웃 블록은 상기 대응 블록의 좌측, 상단, 좌측 상단, 우측 상단에 접해있는 블록을 포함할 수 있다. 예를 들어, 대응 블록이 화면내 예측을 이용하여 코딩된 경우 상기 대응 블록의 좌측 블록의 움직임 정보를 이용할 있고, 상기 좌측 블록을 이용할 수 없는 경우 상기 대응 블록의 상단 블록의 움직임 정보를 이용할 수 있다. 또는 상기 이웃 블록의 움직임 정보의 중앙값을 이용할 수도 있고, 상기 이웃 블록의 움직임 정보의 평균값을 이용할 수도 있다.
또는, 대응 블록이 화면내 예측을 이용하여 코딩된 경우, 상기 대응 블록에 이용된 화면내 예측 모드를 유도하고, 상기 화면내 예측 모드에 따라 현재 블록에 인접한 픽셀을 이용하여 화면내 예측을 수행할 수 있다.
현재 블록의 파티션별로 로컬 모션 벡터를 이용하여 모션 스킵이 이용되는 경우, 상기 현재 블록의 파티션에 대한 대응 블록 중에서 화면내 예측을 이용하여 코딩된 대응 블록이 있을 수 있다. 이 경우, 상기 화면내 예측을 이용하여 코딩된 대응 블록을 제외한 나머지 대응 블록의 움직임 정보를 이용하여 상기 현재 블록의 파티션에 대하여 모션 스킵이 수행될 수도 있다.
[산업상 이용가능성]
본 발명은 뎁스 정보를 이용하여 시점간 예측을 수행하는데 이용될 수 있다.
Claims (9)
- 현재 칼라 픽쳐 및 현재 뎁스 픽쳐를 포함하는 비디오 신호를 수신하는 단계;
상기 현재 칼라 픽쳐 내 현재 블록을 위한 뎁스 시점간 예측 플래그를 획득하는 단계, 상기 뎁스 시점간 예측 플래그는 현재 블록이 뎁스 시점간 예측을 이용하여 코딩되는지 여부를 나타내고, 상기 뎁스 시점간 예측은 상기 현재 뎁스 픽쳐 내 대응 뎁스 블록의 뎁스 정보를 이용하여 상기 현재 블록의 이웃 시점 내 참조 블록으로부터 현재 블록의 칼라 정보를 예측하는 것임;
상기 비디오 신호로부터 상기 현재 블록에 대응되는 모션 스킵 플래그를 획득하는 단계;
상기 뎁스 시점간 예측 플래그에 따라 상기 현재 블록이 뎁스 시점간 예측을 이용하여 코딩됨을 지시하는 경우, 상기 모션 스킵 플래그에 기초하여 상기 현재 블록에 대응하는 상기 참조 블록의 컬러 정보를 획득하는 단계; 및
상기 참조 블록의 컬러 정보를 이용하여 상기 현재 블록의 컬러 정보를 예측하는 단계를 포함하되,
상기 모션 스킵 플래그가 상기 현재 블록이 모션 스킵을 이용하는 것을 나타낼 때, 상기 참조 블록의 컬러 정보를 획득하는 단계는,
상기 비디오 신호로부터 뎁스 스킵 지시 플래그를 획득하는 단계, 상기 뎁스 스킵 지시 정보는 상기 현재 블록이 뎁스 스킵 모드를 이용하여 코딩되는지 여부를 나타내는 것임,
상기 뎁스 스킵 지시 플래그를 이용하여 상기 대응 뎁스 블록의 뎁스 정보를 획득하는 단계;
현재 시점 카메라의 초점 길이 및 상기 현재 시점 카메라와 참조 시점 카메라 간의 거리를 이용하여 상기 현재 블록의 픽셀을 위한 시점 간 위치 차이 값들을 유도하는 단계;
상기 유도된 시점 간 위치 차이 값들의 평균값으로부터 상기 현재 블록의 대표 시점 간 위치 차이 값을 유도하는 단계; 및
상기 유도된 대표 시점 간 위치 차이 값에 기초하여 상기 현재 블록에 대응되는 상기 참조 블록을 결정하는 단계를 포함하고,
상기 모션 스킵 플래그가 상기 현재 블록이 모션 스킵을 이용하지 않는 것을 나타낼 때, 상기 참조 블록의 컬러 정보를 획득하는 단계는,
상기 비디오 신호로부터 글로벌 모션 벡터를 획득하는 단계;
상기 비디오 신호로부터 오프셋 정보와 시점 방향 정보를 포함하는 추가 정보를 획득하는 단계;
상기 글로벌 모션 벡터와 상기 오프셋 정보를 이용하여 수정된 글로벌 모션 벡터를 획득하는 단계; 및
상기 수정된 글로벌 모션 벡터와 상기 시점 방향 정보를 이용하여 상기 참조 블록의 상기 컬러 정보를 획득하는 단계를 포함하는 것을 특징으로 하는 비디오 신호 처리 방법. - 삭제
- 제 1항에 있어서, 상기 뎁스 시점간 예측 플래그를 획득하는 단계는,
상기 현재 블록 타입에 따라 특정된 상기 현재 블록의 파티션에 대하여 상기 뎁스 시점간 예측 플래그를 획득하는 것을 특징으로 하는 비디오 신호 처리 방법. - 제 1항에 있어서,
상기 참조 블록의 픽셀 위치에 따른 상기 참조 블록의 픽셀의 컬러 정보를 이용하여 상기 참조 블록의 컬러 정보를 획득하는 것을 특징으로 하는 비디오 신호 처리 방법. - 제 1항에 있어서,
상기 현재 블록에 대응되는 상기 참조 블록을 결정하는 단계는,
상기 대표 시점간 위치 차이값과 상기 현재 블록의 위치에 근거하여 상기 참조 블록의 위치를 유도하는 단계를 포함하되,
상기 참조 블록의 위치에 따른 상기 참조 블록의 컬러 정보를 획득하는 것을 특징으로 하는 비디오 신호 처리 방법. - 제 1항에 있어서,
상기 시점간 위치 차이값은 대응 뎁스 블록의 픽셀 단위로 유도되는 것을 특징으로 하는 비디오 신호 처리 방법. - 제 1항에 있어서,
상기 대응 뎁스 블록이라 함은 현재 블록과 동일 위치에 있는 현재 뎁스 픽쳐의 블록인 것을 특징으로 하는 비디오 신호 처리 방법. - 제 1항에 있어서,
상기 시점간 위치 차이값이라 함은 상기 현재 블록의 픽셀 위치와 상기 현재 블록의 픽셀에 대응하는 상기 참조 블록의 픽셀 위치 간의 변위량인 것을 특징으로 하는 비디오 신호 처리 방법. - 삭제
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11318008P | 2008-11-10 | 2008-11-10 | |
US11317708P | 2008-11-10 | 2008-11-10 | |
US61/113,180 | 2008-11-10 | ||
US61/113,177 | 2008-11-10 | ||
US14006408P | 2008-12-22 | 2008-12-22 | |
US61/140,064 | 2008-12-22 | ||
US15226609P | 2009-02-13 | 2009-02-13 | |
US61/152,266 | 2009-02-13 | ||
PCT/KR2009/006579 WO2010053332A2 (ko) | 2008-11-10 | 2009-11-10 | 시점간 예측을 이용한 비디오 신호 처리 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110093792A KR20110093792A (ko) | 2011-08-18 |
KR101625058B1 true KR101625058B1 (ko) | 2016-05-27 |
Family
ID=42153418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117010683A KR101625058B1 (ko) | 2008-11-10 | 2009-11-10 | 시점간 예측을 이용한 비디오 신호 처리 방법 및 장치 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9113196B2 (ko) |
EP (1) | EP2348732A4 (ko) |
KR (1) | KR101625058B1 (ko) |
WO (1) | WO2010053332A2 (ko) |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101158491B1 (ko) * | 2008-12-08 | 2012-06-20 | 한국전자통신연구원 | 다시점 영상 부호화, 복호화 방법 및 그 장치. |
EP3661199A1 (en) * | 2010-07-15 | 2020-06-03 | GE Video Compression, LLC | Hybrid video coding supporting intermediate view synthesis |
WO2012124121A1 (ja) * | 2011-03-17 | 2012-09-20 | 富士通株式会社 | 動画像復号方法、動画像符号化方法、動画像復号装置及び動画像復号プログラム |
US9363500B2 (en) * | 2011-03-18 | 2016-06-07 | Sony Corporation | Image processing device, image processing method, and program |
CN107274475A (zh) | 2011-03-18 | 2017-10-20 | 索尼公司 | 图像处理设备、图像处理方法和计算机可读存储介质 |
ES2900107T3 (es) * | 2011-03-21 | 2022-03-15 | Lg Electronics Inc | Método para seleccionar un predictor de vector de movimiento |
US20120268551A1 (en) * | 2011-04-19 | 2012-10-25 | Ben Wu | Image Interaction Device, Interactive Image Operating System, and Interactive Image Operating Method thereof |
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 |
US9363535B2 (en) | 2011-07-22 | 2016-06-07 | Qualcomm Incorporated | Coding motion depth maps with depth range variation |
US9288505B2 (en) | 2011-08-11 | 2016-03-15 | Qualcomm Incorporated | Three-dimensional video with asymmetric spatial resolution |
CA2846425A1 (en) * | 2011-08-30 | 2013-03-07 | Nokia Corporation | An apparatus, a method and a computer program for video coding and decoding |
CA2842150A1 (en) | 2011-08-31 | 2013-03-07 | Sony Corporation | Encoding device, encoding method, decoding device, and decoding method |
CN103907346B (zh) * | 2011-10-11 | 2017-05-24 | 联发科技股份有限公司 | 运动矢量预测子及视差矢量导出方法及其装置 |
WO2013055148A2 (ko) | 2011-10-12 | 2013-04-18 | 엘지전자 주식회사 | 영상 인코딩 방법 및 디코딩 방법 |
US9167261B2 (en) * | 2011-11-07 | 2015-10-20 | Sharp Laboratories Of America, Inc. | Video decoder with constrained dynamic range |
KR102492490B1 (ko) | 2011-11-11 | 2023-01-30 | 지이 비디오 컴프레션, 엘엘씨 | 깊이-맵 추정 및 업데이트를 사용한 효율적인 멀티-뷰 코딩 |
EP2777256B1 (en) | 2011-11-11 | 2017-03-29 | GE Video Compression, LLC | Multi-view coding with effective handling of renderable portions |
EP3657796A1 (en) | 2011-11-11 | 2020-05-27 | GE Video Compression, LLC | Efficient multi-view coding using depth-map estimate for a dependent view |
WO2013068491A1 (en) | 2011-11-11 | 2013-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | 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 |
US10158873B2 (en) | 2011-11-30 | 2018-12-18 | Qualcomm Incorporated | Depth component removal for multiview video coding (MVC) compatible three-dimensional video coding (3DVC) |
JP6681609B2 (ja) * | 2012-04-09 | 2020-04-15 | サン パテント トラスト | 画像符号化方法および画像復号化方法 |
WO2013162252A1 (ko) * | 2012-04-23 | 2013-10-31 | 삼성전자 주식회사 | 슬라이스 헤더를 이용하는 3차원 비디오 부호화 방법 및 그 장치, 3차원 비디오 복호화 방법 및 그 장치 |
WO2013162275A1 (ko) * | 2012-04-24 | 2013-10-31 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
EP2670146A1 (en) * | 2012-06-01 | 2013-12-04 | Alcatel Lucent | Method and apparatus for encoding and decoding a multiview video stream |
JP5970609B2 (ja) * | 2012-07-05 | 2016-08-17 | 聯發科技股▲ふん▼有限公司Mediatek Inc. | 3dビデオ符号化における統一された視差ベクトル導出の方法と装置 |
JP6000463B2 (ja) | 2012-09-21 | 2016-09-28 | 聯發科技股▲ふん▼有限公司Mediatek Inc. | 3d映像符号化の仮想深度値の方法および装置 |
KR101664758B1 (ko) | 2012-09-21 | 2016-10-10 | 노키아 테크놀로지스 오와이 | 비디오 코딩 방법 및 장치 |
KR20140048783A (ko) * | 2012-10-09 | 2014-04-24 | 한국전자통신연구원 | 깊이정보값을 공유하여 움직임 정보를 유도하는 방법 및 장치 |
CN104982038B (zh) * | 2013-01-09 | 2018-09-28 | Lg 电子株式会社 | 处理视频信号的方法和设备 |
CN104104962B (zh) * | 2013-04-03 | 2018-09-07 | 乐金电子(中国)研究开发中心有限公司 | 一种视差矢量获取的方法、编码器装置及解码器装置 |
US9894377B2 (en) | 2013-04-05 | 2018-02-13 | Samsung Electronics Co., Ltd. | Method for predicting disparity vector for interlayer video decoding and encoding apparatus and method |
WO2015000108A1 (en) * | 2013-07-01 | 2015-01-08 | Mediatek Singapore Pte. Ltd. | An improved texture merging candidate in 3dvc |
GB2516223A (en) * | 2013-07-09 | 2015-01-21 | Nokia Corp | Method and apparatus for video coding and decoding |
CN105393540A (zh) * | 2013-07-18 | 2016-03-09 | Lg电子株式会社 | 用于处理视频信号的方法和设备 |
JP6469588B2 (ja) * | 2013-12-19 | 2019-02-13 | シャープ株式会社 | 残差予測装置、画像復号装置、画像符号化装置、残差予測方法、画像復号方法、および画像符号化方法 |
WO2015139183A1 (en) * | 2014-03-17 | 2015-09-24 | Mediatek Inc. | Method of signaling of depth-based block partitioning mode for three-dimensional and multi-view video coding |
WO2015199376A1 (ko) * | 2014-06-26 | 2015-12-30 | 주식회사 케이티 | 다시점 비디오 신호 처리 방법 및 장치 |
EP3016075A1 (en) * | 2014-11-03 | 2016-05-04 | Graphine NV | Prediction system for texture streaming |
FR3046321B1 (fr) * | 2015-12-29 | 2018-01-26 | B<>Com | Procede de codage d'une image numerique, procede de decodage, dispositifs, terminal d'utilisateur et programmes d'ordinateurs associes |
GB2556319A (en) * | 2016-07-14 | 2018-05-30 | Nokia Technologies Oy | Method for temporal inter-view prediction and technical equipment for the same |
KR20180057789A (ko) * | 2016-11-22 | 2018-05-31 | 광운대학교 산학협력단 | 전방향 카메라에서 효과적인 차분 움직임 백터 전송방법을 이용한 비디오 코딩 방법 및 방법 및 장치 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005235211A (ja) | 2004-02-20 | 2005-09-02 | Samsung Electronics Co Ltd | 中間時点の画像合成方法及びそれを適用した3dディスプレイ装置 |
KR100544677B1 (ko) * | 2003-12-26 | 2006-01-23 | 한국전자통신연구원 | 다시점 영상 및 깊이 정보를 이용한 3차원 객체 추적 장치및 그 방법 |
US20070121722A1 (en) | 2005-11-30 | 2007-05-31 | Emin Martinian | Method and system for randomly accessing multiview videos with known prediction dependency |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006041261A1 (en) | 2004-10-16 | 2006-04-20 | Electronics And Telecommunications Research Institute | Method and system for encoding/decoding multi-view video based on layered-depth image |
KR100789753B1 (ko) * | 2005-07-18 | 2008-01-02 | 한국전자통신연구원 | 시간 및 시점간 참조영상 버퍼를 활용한 예측부호화/복호화장치 및 그 방법 |
KR20070098429A (ko) | 2006-03-30 | 2007-10-05 | 엘지전자 주식회사 | 비디오 신호의 디코딩 방법 |
KR100934674B1 (ko) * | 2006-03-30 | 2009-12-31 | 엘지전자 주식회사 | 비디오 신호를 디코딩/인코딩하기 위한 방법 및 장치 |
EP2269378A2 (en) * | 2008-04-25 | 2011-01-05 | Thomson Licensing | Multi-view video coding with disparity estimation based on depth information |
-
2009
- 2009-11-10 EP EP09825015A patent/EP2348732A4/en not_active Withdrawn
- 2009-11-10 WO PCT/KR2009/006579 patent/WO2010053332A2/ko active Application Filing
- 2009-11-10 US US13/128,555 patent/US9113196B2/en active Active
- 2009-11-10 KR KR1020117010683A patent/KR101625058B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100544677B1 (ko) * | 2003-12-26 | 2006-01-23 | 한국전자통신연구원 | 다시점 영상 및 깊이 정보를 이용한 3차원 객체 추적 장치및 그 방법 |
JP2005235211A (ja) | 2004-02-20 | 2005-09-02 | Samsung Electronics Co Ltd | 中間時点の画像合成方法及びそれを適用した3dディスプレイ装置 |
US20070121722A1 (en) | 2005-11-30 | 2007-05-31 | Emin Martinian | Method and system for randomly accessing multiview videos with known prediction dependency |
Non-Patent Citations (1)
Title |
---|
MVC inter-view skip mode using depth information, 26. JVT MEETING, 83.MPEG MEETING, ANTALYA, JVT-Z029 (2008.01.15.)* |
Also Published As
Publication number | Publication date |
---|---|
EP2348732A4 (en) | 2012-05-09 |
EP2348732A2 (en) | 2011-07-27 |
WO2010053332A3 (ko) | 2010-08-05 |
US9113196B2 (en) | 2015-08-18 |
WO2010053332A2 (ko) | 2010-05-14 |
US20110222602A1 (en) | 2011-09-15 |
KR20110093792A (ko) | 2011-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101625058B1 (ko) | 시점간 예측을 이용한 비디오 신호 처리 방법 및 장치 | |
KR101619450B1 (ko) | 뎁스 정보를 이용한 비디오 신호 처리 방법 및 장치 | |
KR101619448B1 (ko) | 영상 신호 처리 방법 및 장치 | |
KR101697598B1 (ko) | 가상 뷰 이미지 합성 방법 및 장치 | |
US9196059B2 (en) | Method and apparatus for processing video signals using boundary intra coding | |
KR100934677B1 (ko) | 다시점 비디오의 처리 | |
JP5021739B2 (ja) | 信号処理方法及び装置 | |
JP6446488B2 (ja) | ビデオデータデコーディング方法及びビデオデータデコーディング装置 | |
JP2010525724A (ja) | ビデオ信号をデコーディング/エンコーディングする方法および装置 | |
KR20160048025A (ko) | 비디오 신호 처리 방법 및 장치 | |
CA2897299C (en) | Method and apparatus for processing video signal | |
KR102248074B1 (ko) | 비디오 신호 처리 방법 및 장치 | |
KR101753592B1 (ko) | 비디오 신호 처리 방법 및 장치 | |
KR20150095679A (ko) | 비디오 신호 처리 방법 및 장치 | |
KR101783617B1 (ko) | 비디오 신호 처리 방법 및 장치 | |
KR102133936B1 (ko) | 3d 비디오 부호화/복호화 장치 및 부호화/복호화 방법 | |
KR102300036B1 (ko) | 비디오 신호 처리 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |