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

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

Info

Publication number
KR20090129412A
KR20090129412A KR1020097018359A KR20097018359A KR20090129412A KR 20090129412 A KR20090129412 A KR 20090129412A KR 1020097018359 A KR1020097018359 A KR 1020097018359A KR 20097018359 A KR20097018359 A KR 20097018359A KR 20090129412 A KR20090129412 A KR 20090129412A
Authority
KR
South Korea
Prior art keywords
information
view
picture
block
motion
Prior art date
Application number
KR1020097018359A
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 KR20090129412A publication Critical patent/KR20090129412A/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • 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/186Methods 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 a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

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

Abstract

본 발명은, 현재 NAL 유닛의 코딩된 픽쳐가 인터 뷰 픽쳐 그룹인지를 나타내는 식별 정보를 획득하는 단계와 상기 식별 정보에 따라 넌-인터뷰 픽쳐 그룹의 시점간 참조 정보를 획득하는 단계와 상기 넌-인터뷰 픽쳐 그룹의 시점간 참조 정보에 따라 움직임 벡터를 획득하는 단계와 상기 움직임 벡터를 이용하여 제 1 대응 블록의 위치를 유도하는 단계 및 상기 유도된 제 1 대응 블록의 움직임 정보를 이용하여 현재 블록을 디코딩하는 단계를 포함하되, 상기 시점간 참조 정보는 넌-인터뷰 픽쳐 그룹의 참조 시점의 개수 정보를 포함하는 것을 특징으로 하는 비디오 신호 디코딩 방법을 제공한다.

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는 본 발명이 적용되는 실시예로서, 다시점 비디오 코딩된 비트스트림을 AVC 코덱으로 디코딩하는 경우 상기 다시점 비디오 코딩된 비트스트림을 AVC 비트스트림으로 재작성하기 위한 신택스 구조를 나타낸다. 도 5는 본 발명이 적용되는 실시예로서, 다시점 비디오 코딩에 있어서 참조 픽쳐를 관리하기 위한 방법을 설명하기 위해 나타낸 것이다.
도 6은 본 발명이 적용되는 실시예로서, 다시점 비디오 코딩에 있어서의 공간 직접 모드를 설명하기 위한 예측 구조를 나타낸다.
도 7은 본 발명이 적용되는 실시예로서, 모션 스킵 여부에 따라 움직임 보상을 수행하는 방법을 설명하기 위해 나타낸 것이다.
도 8 및 도 9는 본 발명이 적용되는 실시예로서, 현재 시점에 대한 참조시점 리스트로부터 참조 시점 및 대응 블록을 결정하는 방법의 일례를 나타낸 것이다.
도 10 및 도 11은 본 발명이 적용되는 실시예로서, 다시점 비디오 코딩에 있어서 다양한 확장성을 제공하기 위한 실시예들을 설명하기 위해 나타낸 것이다.
Best Mode for Carrying Out the Invention
본 발명은, 현재 NAL 유닛의 코딩된 픽쳐가 인터 뷰 픽쳐 그룹인지를 나타내는 식별 정보를 획득하는 단계와 상기 식별 정보에 따라 넌-인터뷰 픽쳐 그룹의 시점간 참조 정보를 획득하는 단계와 상기 넌-인터뷰 픽쳐 그룹의 시점간 참조 정보에 따라 움직임 벡터를 획득하는 단계와 상기 움직임 벡터를 이용하여 제 1 대응 블록의 위치를 유도하는 단계 및 상기 유도된 제 1 대응 블록의 움직임 정보를 이용하여 현재 블록을 디코딩하는 단계를 포함하되, 상기 시점간 참조 정보는 넌-인터뷰 픽쳐 그룹의 참조 시점의 개수 정보를 포함하는 것을 특징으로 하는 비디오 신호 디코딩 방법을 제공한다.
본 발명은, 제 1 대응 블록의 블록 타입을 확인하는 단계를 더 포함하되, 상기 제 1 대응 블록의 블록 타입에 기초하여, 상기 제 1 대응 블록의 시점과 다른 참조 시점에 존재하는 제 2 대응 블록의 위치를 유도할지 여부가 결정되는 것을 특징으로 한다.
본 발명은, 제 1 대응 블록 및 제 2 대응 블록의 위치는 일정한 순서에 기초하여 유도되는 것을 특징으로 하며, 상기 일정한 순서는 넌-인터뷰 픽쳐 그룹의 L0 방향에 대한 참조 시점을 우선적으로 이용하고, 그 다음에 L1 방향에 대한 참조 시점을 이용하는 것을 특징으로 한다.
본 발명은, 제 1 대응 블록의 블록 타입이 인트라 블록인 경우, 상기 L1 방향에 대한 참조 시점을 이용할 수 있는 것을 특징으로 한다.
본 발명은, L0/L1 방향에 대한 참조 시점은 현재 시점과 가장 가까운 순서대로 이용되는 것을 특징으로 한다.
본 발명은, 현재 블록의 움직임 정보가 유도될지 여부를 나타내는 플래그 정보를 획득하는 단계를 더 포함하되, 상기 플래그 정보에 기초하여 상기 제 1 대응 블록의 위치를 유도하는 것을 특징으로 한다.
본 발명은, 제 1 대응 블록의 움직임 정보를 획득하는 단계와 상기 제 1 대 응 블록의 움직임 정보에 기초하여 상기 현재 블록의 움직임 정보를 유도하는 단계를 더 포함하되, 상기 현재 블록의 움직임 정보를 이용하여 상기 현재 블록을 디코딩하는 것을 특징으로 한다.
본 발명은, 움직임 정보는 움직임 벡터 및 참조 번호를 포함하는 것을 특징으로 한다.
본 발명은, 움직임 벡터는 인터뷰 픽쳐 그룹의 글로벌 움직임 벡터인 것을 특징으로 한다.
본 발명은, 현재 NAL 유닛의 코딩된 픽쳐가 인터 뷰 픽쳐 그룹인지를 나타내는 식별 정보에 따라 넌-인터뷰 픽쳐 그룹의 시점간 참조 정보를 획득하는 참조 정보 획득부와 상기 넌-인터뷰 픽쳐 그룹의 시점간 참조 정보에 따라 획득된 인터뷰 픽쳐 그룹의 글로벌 움직임 벡터를 이용하여 대응 블록의 위치를 유도하는 대응 블록 탐색부를 포함하되, 상기 시점간 참조 정보는 넌-인터뷰 픽쳐 그룹의 참조 시점의 개수 정보를 포함하는 것을 특징으로 하는 비디오 신호 디코딩 장치를 제공한다.
본 발명은, 비디오 신호는 방송 신호로서 수신된 것임을 특징으로 한다.
본 발명은, 비디오 신호는 디지털 미디엄을 통해 수신된 것임을 특징으로 한다.
본 발명은, 상기의 기재된 특징들을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체를 제공한다.
비디오 신호 데이터를 압축 부호화하는 기술은 공간적 중복성, 시간적 중복성, 스케일러블한 중복성, 시점간 존재하는 중복성을 고려하고 있다. 또한, 이러한 압축 부호화 과정에서 시점 간 존재하는 상호 중복성을 고려하여 압축 코딩을 할 수 있다. 시점간 중복성을 고려하는 압축 코딩에 대한 기술은 본 발명의 실시예일 뿐이며, 본 발명의 기술적 사상은 시간적 중복성, 스케일러블한 중복성 등에도 적용될 수 있다. 또한, 본 명세서에서 코딩이라 함은 인코딩과 디코딩의 개념을 모두 포함할 수 있고, 본 발명의 기술적 사상 및 기술적 범위에 따라 유연하게 해석할 수 있을 것이다.
비디오 신호의 비트열 구성을 살펴보면, 동영상 부호화 처리 그 자체를 다루는 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 이면 확장 프로파일에 기초함을 의미한다. 상기 프로파일 식별자는 시퀀스 파라미터 세트에 포함될 수 있다.
따라서, 다시점(multiview) 영상을 다루기 위해서는 입력되는 비트스트림이 다시점 프로파일(Multiview Profile)에 대한 것인지 여부를 식별하고, 다시점 프로파일로 식별되면 다시점에 대한 하나 이상의 추가 정보를 전송할 수 있도록 신택스를 추가할 필요가 있다. 여기서 다시점 프로파일이란, H.264/AVC의 추가 기술로서 다시점 비디오(multiview video)를 다루는 프로파일 모드(profile mode)를 나타낸다. MVC는 기존 AVC 기술에 대한 추가 기술이므로 무조건적인 신택스보다는 MVC 모 드인 경우에 대한 추가 정보로서 신택스를 추가하는 것이 더 효율적일 수 있다. 예를들어, AVC의 프로파일 식별자가 다시점 프로파일을 나타낼 때 다시점 영상에 대한 정보를 추가하면 부호화 효율을 높일 수 있다.
시퀀스 파라미터 세트란, 프로파일, 레벨 등 시퀀스 전체의 부호화에 걸쳐있는 정보가 포함되어 있는 헤더 정보를 말한다. 압축된 동영상 전체, 즉 시퀀스는 반드시 시퀀스 헤더로부터 시작하여야 하므로 헤더 정보에 상당하는 시퀀스 파라미터 세트는 그 파라미터 세트를 참조하는 데이터보다 먼저 복호기에 도착하여야 한다. 결국, 시퀀스 파라미터 세트 RBSP 는 동영상 압축의 결과 데이터에 대한 헤더 정보로써의 역할을 한다.
비트스트림이 입력되면, 먼저 프로파일 식별자는 입력된 비트스트림이 복수개의 프로파일 중에서 어떤 프로파일에 기초하는 것인지를 식별하게 된다. 따라서, 입력되는 비트스트림이 다시점 프로파일에 대한 것인지 여부를 판단하는(예를 들어, " If ( profile_idc 〓 MULTI_VIEW_PROFILE )") 부분을 신택스 상에 추가함으로써, 입력된 비트스트림이 다시점 프로파일에 대한 것인지 여부를 판별하고, 다시점 프로파일에 대한 것으로 인정되는 경우에만 여러 가지 속성 정보들을 추가할 수 있게 된다. 예를 들어, 전체 시점의 개수, 인터뷰 참조 픽쳐의 개수, 인터뷰 참조 픽쳐의 시점 식별 번호 등을 추가할 수 있다. 또한, 복호 픽쳐 버퍼에서는 참조 픽쳐 리스트를 생성 및 관리하기 위하여 인터뷰 참조 픽쳐에 대한 정보들을 이용할 수 있다.
도 1은 본 발명이 적용되는 비디오 신호 디코딩 장치의 개략적인 블록도를 나타낸다.
도 1a를 참조하면, 상기 디코딩 장치는 크게 파싱부(100), 엔트로피 디코딩부(200), 역양자화/역변환부(300), 인트라 예측부(400), 디블록킹 필터부(500), 복호 픽쳐 버퍼부(600), 인터 예측부(700) 등을 포함할 수 있다. 그리고, 복호 픽쳐 버퍼부(600)는 크게 참조 픽쳐 저장부(610), 참조 픽쳐 리스트 생성부(620), 참조 픽쳐 관리부(630) 등을 포함할 수 있다. 도 1b를 참조하면, 인터 예측부(700)는 직접 예측 모드 식별부(710), 공간 직접 예측 수행부(720) 등을 포함하며, 상기 공간 직접 예측 수행부(720)는 제 1 변수 유도부(721), 제 2 변수 유도부(722) 및 움직임 정보 예측부(723)를 포함할 수 있다. 또한, 상기 인터 예측부(700)는 모션 스킵 판별부(730), 대응 블록 탐색부(731), 움직임 정보 유도부(732), 움직임 보상부(733) 및 움직임 정보 획득부(740)를 포함할 수 있다.
파싱부(100)에서는 수신된 비디오 영상을 복호하기 위하여 NAL 단위로 파싱을 수행한다. 일반적으로 하나 또는 그 이상의 시퀀스 파라미터 셋과 픽쳐 파라미터 셋이 슬라이스 헤더와 슬라이스 데이터가 디코딩되기 전에 디코더로 전송된다. 이 때 NAL 헤더 영역 또는 NAL 헤더의 확장 영역에는 여러 가지 속성 정보가 포함될 수 있다. MVC는 기존 AVC 기술에 대한 추가 기술이므로 무조건적으로 추가하기보다는 MVC 비트스트림인 경우에 한해 여러 가지 속성 정보들을 추가하는 것이 더 효율적일 수 있다. 예를 들어. 상기 NAL 헤더 영역 또는 NAL 헤더의 확장 영역에서 MVC 비트스트림인지 여부를 식별할 수 있는 플래그 정보를 추가할 수 있다. 상기 플래그 정보에 따라 입력된 비트스트림이 다시점 영상 코딩된 비트스트림일 경우에 한해 다시점 영상에 대한 속성 정보들을 추가할 수 있다. 예를 들어, 상기 속성 정보들은 시점 식별(view identification) 정보, 인터뷰 픽쳐 그룹 식별 정보(inter-view picture group identification information), 인터뷰 예측 플래그 정보(inter-view prediction flag information), 시간적 레벨(temporal level) 정보, 우선순위 식별(priority identification) 정보, 시점에 대한 순간 복호 픽쳐인지 여부를 나타내는 식별 정보 등을 포함할 수 있다. 이는 도 2에서 상세히 설명하도록 한다.
파싱된 비트스트림은 엔트로피 디코딩부(200)를 통하여 엔트로피 디코딩되고, 각 매크로브록의 계수, 움직임 벡터 등이 추출된다.
역양자화/역변환부(300)에서는 수신된 양자화된 값에 일정한 상수를 곱하여 변환된 계수값을 획득하고, 상기 계수값을 역변환하여 화소값을 복원하게 된다. 상기 복원된 화소값을 이용하여 인트라 예측부(400)에서는 현재 픽쳐내의 디코딩된 샘플로부터 화면내 예측을 수행하게 된다. 한편, 디블록킹 필터부(500)에서는 블록 왜곡 현상을 감소시키기 위해 각각의 코딩된 매크로블록에 적용된다. 필터는 블록의 가장자리를 부드럽게 하여 디코딩된 프레임의 화질을 향상시킨다. 필터링 과정의 선택은 경계 세기(boundary strenth)와 경계 주위의 이미지 샘플의 변화(gradient)에 의해 좌우된다. 필터링을 거친 픽쳐들은 출력되거나 참조 픽쳐로 이용하기 위해 복호 픽쳐 버퍼부(600)에 저장된다.
복호 픽쳐 버퍼부(Decoded Picture Buffel unit)(600)에서는 화면간 예측을 수행하기 위해서 이전에 코딩된 픽쳐들을 저장하거나 개방하는 역할 등을 수행한 다. 이 때 복호 픽쳐 버퍼부(600)에 저장하거나 개방하기 위해서 각 픽쳐의 frame_num 과 POC(Picture Order Count)를 이용하게 된다. 따라서, MVC에 있어서 상기 이전에 코팅된 픽쳐들 중에는 현재 픽쳐와 다른 시점에 있는 픽쳐들도 있으므로, 이러한 픽쳐들을 참조 픽쳐로서 활용하기 위해서는 상기 frame_num과 POC 뿐만 아니라 픽쳐의 시점을 식별하는 시점 정보도 함께 이용할 수 있다. 상기 복호 픽쳐 버퍼부(600)는 참조 픽쳐 저장부(610)와 참조 픽쳐 리스트 생성부(620)와 참조 픽쳐 관리부(630)를 포함한다.
참조 픽쳐 저장부(610)는 현재 픽쳐의 코딩을 위해 참조가 되는 픽쳐들을 저장한다. 참조 픽쳐 리스트 생성부(620)는 화면간 예측을 위한 참조 픽쳐들의 리스트를 생성하게 된다. 다시점 비디오 코딩에 있어서는 시점간 예측이 이루어질 수 있으므로 현재 픽쳐가 다른 시점에 있는 픽쳐를 참조하게 되는 경우, 시점간 예측을 위한 참조 픽쳐 리스트를 생성할 필요가 있을 수 있다. 또한, 시간적 예측 및 시점간 예측을 모두 하기 위한 참조 픽쳐 리스트를 생성할 수도 있다. 예를 들어, 현재 픽쳐가 대각선 방향에 있는 픽쳐를 참조하는 경우에, 대각선 방향의 참조 픽쳐 리스트를 생성할 수도 있다. 이때, 상기 대각선 방향의 참조 픽쳐 리스트를 생성하는 방법에는 여러 가지가 있을 수 있다. 예를 들어, 참조 픽쳐 리스트를 식별하는 정보(ref_list_idc)를 정의할 수 있다. ref_list_idc = 0이면, 시간적 예측을 위한 참조 픽쳐 리스트를 나타내고, 1이면, 시점간 예측을 위한 참조 픽쳐 리스트, 2이면, 시간적 예측 및 시점간 예측을 위한 참조 픽쳐 리스트를 나타낼 수 있다.
또한, 상기 대각선 방향의 참조 픽쳐 리스트는 상기 시간적 예측을 위한 참 조 픽쳐 리스트 또는 상기 시점간 예측을 위한 참조 픽쳐 리스트를 이용하여 생성할 수도 있다. 예를 들어, 시간적 예측을 위한 참조 픽쳐 리스트에 대각선 방향에 있는 참조 픽쳐들을 배열시킬 수 있다. 또는 시점간 예측을 위한 참조 픽쳐 리스트에 대각선 방향에 있는 참조 픽쳐들을 배열시킬 수도 있다. 이처럼, 다양한 방향에 대한 리스트를 생성할 경우 보다 효율적인 코딩이 가능할 수 있다. 본 명세서에서는 상기 시간적 예측을 위한 참조 픽쳐 리스트와 상기 시점간 예측을 위한 참조 픽쳐 리스트에 대해서 주로 설명하지만, 본 발명의 컨셉은 대각선 방향의 참조 픽쳐 리스트에도 적용될 수 있다.
상기 참조 픽쳐 리스트 생성부(620)는 시점간 예측을 위한 참조 픽쳐 리스트를 생성하기 위하여 시점에 대한 정보를 이용할 수 있다. 예를 들어, 인터뷰 참조 정보(inter-view reference information)를 이용할 수 있다. 인터뷰 참조 정보란, 시점관 의존 관계를 나타내기 위해 이용되는 정보들을 말한다. 예를 들어, 전체 시점의 개수, 시점 식별 번호, 인터뷰 참조 픽쳐의 개수, 인터뷰 참조 픽쳐의 시점 식별 번호 등이 있을 수 있다.
참조 픽쳐 관리부(630)는 보다 유연하게 화면간 예측을 실현하기 위하여 참조 픽쳐를 관리한다. 예를 들어, 적응 메모리 관리 방법(Memory Management Control Operation Method)과 이동 윈도우 방법(Sliding Window Method)이 이용될 수 있다. 이는 참조 픽쳐와 비참조 픽쳐의 메모리를 하나의 메모리로 통일하여 관리하고 적은 메모리로 효율적으로 관리하기 위함이다. 다시점 비디오 코딩에 있어서, 시점 방향의 픽쳐들은 픽쳐 출력 순서(Picture Order Count)가 동일하기 때문 에 이들의 마킹을 위해서는 각 픽쳐의 시점을 식별해주는 정보가 이용될 수 있다. 이러한 과정을 통해 관리되는 참조 픽쳐들은 인터 예측부(700)에서 이용될 수 있다.
도 1b를 참조하면, 인터 예측부(700)는 직접 예측 모드 식별부(710), 공간 직접 예측 수행부(720) 및 모션 스킵 판별부(730), 대응 블록 탐색부(731), 움직임 정보 유도부(732), 움직임 정보 획득부(733), 움직임 보상부(740)를 포함할 수 있다.
움직임 보상부(740)에서는 엔트로피 디코딩부(200)로부터 전송된 정보들을 이용하여 현재 블록의 움직임을 보상한다. 비디오 신호로부터 현재 블록에 이웃하는 블록들의 움직임 벡터를 추출하고, 상기 현재 블록의 움직임 벡터 예측값을 획득한다. 상기 획득된 움직임 벡터 예측값과 상기 비디오 신호로부터 추출되는 차분 벡터를 이용하여 현재 블록의 움직임을 보상한다. 또한, 이러한 움직임 보상은 하나의 참조 픽쳐를 이용하여 수행될 수도 있고, 복수의 픽쳐를 이용하여 수행될 수도 있다. 다시점 비디오 코딩에 있어서, 현재 픽쳐가 다른 시점에 있는 픽쳐들을 참조하게 되는 경우, 상기 복호 픽쳐 버퍼부(600)에 저장되어 있는 시점간 예측을 위한 참조 픽쳐 리스트에 대한 정보를 이용하여 움직임 보상을 수행할 수 있다. 또한, 그 픽쳐의 시점을 식별하는 시점 정보를 이용하여 움직임 보상을 수행할 수도 있다.
또한, 직접 예측 모드(direct prediction mode)는 부호화가 끝난 블록의 움직임 정보로부터 현재 블록의 움직임 정보를 예측하는 부호화 모드이다. 이러한 방 법은 움직임 정보를 부호화할 때 필요한 비트수가 절약되기 때문에 압축 효율을 향상시킬 수 있다. 예를 들어, 시간 직접 모드(temporal direct mode)는 시간 방향의 움직임 정보 상관도를 이용하여 현재 블록의 움직임 정보를 예측하게 된다. 상기 시간 직접 모드는 서로 다른 움직임을 포함하고 있는 영상에서 그 움직임의 속도가 일정할 때 효과가 있다. 이러한 시간 직접 모드가 다시점 비디오 코딩에서 이용되는 경우, 시점간의 움직임 벡터를 고려하여야 한다.
상기 직접 예측 모드의 다른 예로, 공간 직접 모드(spatial direct mode)는 공간 방향의 움직임 정보 상관도를 이용하여 현재 블록의 움직임 정보를 예측하게 된다. 상기 공간 직접 모드는 서로 같은 움직임을 포함하고 있는 영상에서 그 움직임의 속도가 변할 때 효과가 있다. 현재 픽쳐의 역방향 참조 픽쳐 리스트(List1)에서 가장 작은 참조 번호를 가지는 참조 픽쳐 내에서, 현재 블록과 동일한 위치(co-located)에 있는 블록의 움직일 정보를 이용하여 현재 블록의 움직임 정보를 예측할 수 있다. 그러나, 다시점 비디오 코딩에 있어서는, 상기 참조 픽쳐가 상기 현재 픽쳐와 다른 시점 상에 존재할 수 있다. 따라서, 이러한 경우 공간 직접 모드를 적용함에 있어서 다양한 실시예들이 이용될 수 있다.
상기와 같은 과정을 통해 인터 예측된 픽쳐들과 인트라 예측된 픽쳐들은 예측 모드에 따라 선택되어 현재 픽쳐를 복원하게 된다.
도 2는 본 발명이 적용되는 실시예로서, 다시점 영상 코딩된 비트스트림에 추가될 수 있는 다시점 영상에 대한 속성 정보들을 나타낸다.
상기 도 2에서는 다시점 영상에 대한 속성 정보들이 추가될 수 있는 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는 시퀀스 파라미터 세트에 대한 정보를 포함할 수 있다. 이 때, 프로파일 정보에 따라 상기 시퀀스 파라미터 세트는 시퀀스 파라미터 세트의 확장 영역을 포함할 수 있다. 예를 들어, 프로파일 정보(profile_idc)가 다시점 비디오 코딩에 관련된 프로파일인 경우, 상기 시퀀스 파라미터 세트는 시퀀스 파라미터 세트의 확장 영역을 포함할 수 있다. 또는 프로파일 정보에 따라 서브셋 시퀀스 파라미터 세트가 시퀀스 파라미터 세트의 확장 영역을 포함할 수 있다. 상기 시퀀스 파라미터 세트의 확장 영역은 시점간 의존 관계를 나타내는 인터뷰 참조 정보를 포함할 수 있다. 또한, 상기 시퀀스 파라미터 세트의 확장 영역은 코덱 호환(codec compatibility)을 위한 특정한 신택스를 제한하는 제한 플래그 정보(restriction flag information)를 포함할 수 있다. 이는 도 4에서 상세히 설명하도록 한다.
이하 다시점 영상에 대한 다양한 속성 정보들, 예를 들어, NAL 유닛 헤더의 확장 영역에 포함될 수 있는 속성 정보들, 또는 시퀀스 파라미터 세트의 확장 영역에 포함될 수 있는 속성 정보들에 대해 구체적으로 살펴보도록 한다.
먼저 시점 식별 정보(view identification information)란, 현재 시점에 있는 픽쳐와 다른 시점에 있는 픽쳐를 구별하기 위한 정보를 말한다. 비디오 영상 신호가 코딩될 때, 각각의 픽쳐를 식별하기 위하여 POC(Picture Order Count)와 frame_num 이 이용된다. 다시점 비디오 영상인 경우에는 시점간 예측이 수행되기 때문에 현재 시점에 있는 픽쳐와 다른 시점에 있는 픽쳐를 구별하기 위한 식별 정보가 필요하다. 따라서, 픽쳐의 시점을 식별하는 시점 식별 정보를 정의할 필요가 있다. 상기 시점 식별 정보는 비디오 신호의 헤더 영역으로부터 획득될 수 있다. 예를 들어, 상기 헤더 영역은 NAL 헤더 영역 또는 NAL 헤더의 확장 영역일 수도 있고, 슬라이스 헤더 영역일 수도 있다. 상기 시점 식별 정보를 이용하여 현재 픽쳐와 다른 시점에 있는 픽쳐의 정보를 획득하고, 상기 다른 시점에 있는 픽쳐의 정보를 이용하여 상기 비디오 신호를 디코딩할 수 있다.
이러한 상기 시점 식별 정보는 비디오 신호의 인코딩/디코딩 과정 전반에 걸 쳐 적용될 수 있다. 예를 들어, 시점 식별 정보는 시점간 의존 관계를 나타내기 위해 이용될 수 있다. 시점간 의존 관계를 나타내기 위해서는 인터뷰 참조 픽쳐의 개수 정보, 인터뷰 참조 픽쳐의 시점 식별 정보 등이 필요할 수 있다. 상기 인터뷰 참조 픽쳐의 개수 정보, 인터뷰 참조 픽쳐의 시점 식별 정보처럼, 시점관 의존 관계를 나타내기 위해 이용되는 정보들을 인터뷰 참조 정보(inter-view reference information)라 부르기로 한다. 이때, 상기 인터뷰 참조 픽쳐의 시점 식별 정보를 나타내기 위해 상기 시점 식별 정보가 이용될 수 있다. 여기서, 인터뷰 참조 픽쳐란, 현재 픽쳐에 대해 시점간 예측을 수행할 때 이용되는 참조 픽쳐를 의미할 수 있다. 또한, 특정한 시점 식별자가 아닌, 시점이 고려된 frame_num을 이용하여 다시점 비디오 코딩에 그대로 적용할 수도 있다.
인터뷰 픽쳐 그룹 식별 정보(inter-view picture group identification information)란, 현재 NAL 유닛의 코딩된 픽쳐가 인터뷰 픽쳐 그룹인지 여부를 식별하는 정보를 말한다. 그리고, 인터뷰 픽쳐 그룹(inter-view picture group)이라 함은, 모든 슬라이스들이 동일 시간대의 프레임에 있는 슬라이스만을 참조하는 부호화된 픽쳐를 의미한다. 예를 들어, 다른 시점에 있는 슬라이스만을 참조하고 현재 시점에 있는 슬라이스는 참조하지 않는 부호화된 픽쳐를 말한다. 다시점 영상의 복호화 과정에 있어서, 시점 간의 랜덤 액세스는 가능할 수 있다. 또한, 시점간 예측을 위해서는 인터뷰 참조 정보가 필요한데, 상기 인터뷰 참조 정보를 획득할 때, 인터뷰 픽쳐 그룹 식별 정보가 이용될 수 있다. 예를 들어, 현재 픽쳐가 인터뷰 픽쳐 그룹에 해당되는 경우, 인터뷰 픽쳐 그룹에 대한 인터뷰 참조 정보를 획득할 수 있다. 현재 픽쳐가 넌-인터뷰 픽쳐 그룹에 해당되는 경우에는 넌-인터뷰 픽쳐 그룹에 대한 인터뷰 참조 정보를 획득할 수 있다.
이처럼, 인터뷰 픽쳐 그룹 식별 정보에 기초하여 인터뷰 참조 정보를 획득하게 될 경우, 보다 효율적으로 시점 간의 랜덤 액세스를 수행할 수 있게 된다. 이는 인터뷰 픽쳐 그룹에서의 각 픽쳐들 사이의 시점간 참조 관계가 넌-인터뷰 픽쳐 그룹에서의 시점간 참조 관계가 다를 수 있기 때문이다. 또한, 인터뷰 픽쳐 그룹의 경우 복수개의 시점에 있는 픽쳐들을 참조할 수도 있기 때문이다. 예를 들어, 복수개의 시점에 있는 픽쳐로부터 가상 시점의 픽쳐를 생성하고, 상기 가상 시점의 픽쳐를 이용하여 현재 픽쳐를 예측할 수 있다.
또한, 참조 픽쳐 리스트를 생성할 때 상기 인터뷰 픽쳐 그룹 식별 정보가 이용될 수도 있다. 이때 상기 참조 픽쳐 리스트는 시점간 예측을 위한 참조 픽쳐 리스트를 포함할 수 있다. 그리고, 상기 시점간 예측을 위한 참조 픽쳐 리스트는 상기 참조 픽쳐 리스트에 추가될 수 있다. 예를 들어, 참조 픽쳐 리스트를 초기화하는 경우나 상기 참조 픽쳐 리스트를 수정하는 경우에 상기 인터뷰 픽쳐 그룹 식별 정보가 이용될 수 있다. 그리고, 추가된 상기 시점간 예측을 위한 참조 픽쳐들을 관리하기 위해서도 이용될 수 있다. 예를 들어, 상기 참조 픽쳐들을 인터뷰 픽쳐 그룹과 넌-인터뷰 픽쳐 그룹으로 나누고, 시점간 예측을 수행할 때 이용되지 않는 참조 픽쳐들은 사용하지 않겠다는 마킹을 할 수 있다. 또한, 상기 인터뷰 픽쳐 그룹 식별 정보는 가상 참조 디코더(hypothetical reference decoder)에서도 적용될 수 있다.
인터뷰 예측 플래그 정보(intel-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로 할당할 수 있다. 이처럼 상기 레벨값을 상기 우선순위 정보에 할당할 수도 있을 것이다. 또한, 상기 레벨 정보는 특별한 기준에 의하지 않고 임의로 설정될 수도 있다.
제한 플래그 정보(restriction flag information)란, 코덱 호환을 위해 다시점 비디오 코딩된 비트스트림의 재작성을 위한 플래그 정보를 의미할 수 있다. 기존 코덱과의 호환을 위해, 예를 들어, 다시점 비디오 코딩된 비트스트림을 AVC 코덱으로 디코딩하는 경우, 상기 다시점 비디오 코팅된 비트스트림을 AVC 비트스트림으로 재작성할 필요가 있다. 이 때, 상기 제한 플래그 정보가 상기 다시점 비디오 코딩된 비트스트림에만 적용되는 신택스 정보를 막아줄 수 있다. 이를 막음으로써 간단한 변환 과정을 통해 AVC 비트스트림으로 변환할 수 있게 된다. 예를 들어, 이를 mvc_to_avc_rewrite_flag 로 나타낼 수 있다. 이는 도 4에서 상세히 설명하도록 한다.
이하에서는 비디오 신호의 효율적인 디코딩 방법을 제공하기 위한 다양한 실시예들을 설명하도록 한다.
도 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는 본 발명이 적용되는 실시예로서, 다시점 비디오 코딩된 비트스트림을 AVC 코덱으로 디코딩하는 경우 상기 다시점 비디오 코딩된 비트스트림을 AVC 비트 스트림으로 재작성하기 위한 신택스 구조를 나타낸다. 코덱 호한성을 위해 다른 코덱으로 코딩된 비트스트림의 정보를 막아줄 수 있는 다른 정보가 필요할 수 있다. 또는 비트스트림의 포맷을 용이하게 변환시키기 위해 상기 다른 코덱으로 코딩된 비트스트림의 정보를 막아줄 수 있는 다른 정보가 필요할 수 있다. 예를 들어, 코덱 호환을 위해 다시점 비디오 코딩된 비트스트림의 재작성을 위한 플래그 정보를 정의할 수 있다. 기존 코덱과의 호환을 위해, 예를 들어, 다시점 비디오 코딩된 비트스트림을 AVC 코덱으로 디코딩하는 경우, 상기 다시점 비디오 코딩된 비트스트림을 AVC 비트스트림으로 재작성할 필요가 있다. 이 때, 제한 플래그 정보가 상기 다시점 비디오 코딩된 비트스트림에만 적용되는 신택스 정보를 막아줄 수 있다. 여기서, 제한 플래그 정보(restriction flag information)란, 다시점 비디오 코딩된 비트스트림을 AVC 비트스트림으로 재작성할지 여부를 나타내는 플래그 정보를 의미할 수 있다. 상기 다시점 비디오 코딩된 비트스트림에만 적용되는 신택스 정보를 막음으로써 간단한 변환 과정을 통해 AVC 비트스트림으로 변환할 수 있게 된다. 예를 들어, 이를 mvc_to_avc_rewrite_flag 로 나타낼 수 있다(S410). 상기 제한 플래그 정보는 시퀀스 파라미터 세트, 서브 시퀀스 파라미터 세트 또는 서브 시퀀스 파라미터 세트의 확장 영역으로부터 획득될 수 있다. 또는 슬라이스 헤더로부터 획득될 수 있다.
상기 제한 플래그 정보에 의해 특정 코덱에만 이용되는 신택스 요소를 제한할 수 있다. 또는 디코딩 프로세스 중 특정 프로세스를 위한 신택스 요소를 제한할 수 있다. 예를 들어, 다시점 비디오 코딩에 있어서, 상기 제한 플래그 정보는 넌- 인터뷰 픽쳐 그룹에만 적용될 수 있다. 이를 통해, 각각의 시점은 완전히 복원된 이웃 시점들을 필요로 하지 않을 수 있고, 단일 시점으로 코딩될 수 있다.
또한, 본 발명이 적용되는 다른 실시예로, 도 4(a)를 참조하면, 상기 제한 플래그 정보에 기초하여, 상기 제한 플래그 정보가 슬라이스 헤더에서도 이용될지 여부를 나타내는 적응적인 플래그 정보가 정의될 수 있다. 예를 들어, 상기 제한 플래그 정보에 따라 다시점 비디오 코딩된 비트스트림을 AVC 비트스트림으로 재작성하게 되는 경우(S420), 적응적인 플래그 정보(adaptive_mvc_to_avc_rewrite_flag)를 획득할 수 있다(S430).
또한, 다른 실시예로, 상기 적응적인 플래그 정보에 기초하여(S440), 다시점 비디오 코딩된 비트스트림을 AVC 비트스트림으로 재작성할지 여부를 나타내는 플래그 정보를 획득할 수 있다(S450). 예를 들어, 이를 rewrite_avc_flag 로 나타낼 수 있다. 이 때, 상기 과정(S440,S450)은 기준 시점이 아닌 시점에만 적용될 수 있다. 그리고, 인터뷰 픽쳐 그룹 식별 정보에 따라 현재 슬라이스가 넌 인터뷰 픽쳐 그룹일 경우에만 적용될 수 있다. 예를 들어, 현재 슬라이스의 rewrite_avc_flag = 1이면, 현재 시점이 참조하는 시점에 속하는 슬라이스들의 rewrite_avc_flag 는 1이 될 것이다. 즉, AVC로 재작성하려는 현재 시점이 정해지면, 상기 현재 시점이 참조하는 시점에 속하는 슬라이스들의 rewrite_avc_flag는 자동으로 1로 셋팅될 수 있다. 상기 현재 시점이 참조하는 시점에 속하는 슬라이스들은 모든 픽셀 데이터를 복원할 필요가 없고, 현재 시점을 위해 필요한 움직임 정보만 디코딩하면 된다. 상기 rewrite_avc_flag는 슬라이스 헤더로부터 획득될 수 있다. 상기 슬라이스 헤더 로부터 획득된 플래그 정보는 다시점 비디오 코팅된 비트스트림의 슬라이스 헤더를 AVC 코덱으로 디코딩이 가능하도록 AVC 비트스트림의 헤더와 동일하게 만들어 주는 역할을 할 수 있다.
도 5는 본 발명이 적용되는 실시예로서, 다시점 비디오 코딩에 있어서 참조 픽쳐를 관리하기 위한 방법을 설명하기 위해 나타낸 것이다.
도 1a를 참조하면, 참조 픽쳐 리스트 생성부(620)는 변수 유도부(미도시), 참조 픽쳐 리스트 초기화부(미도시) 및 참조 픽쳐 리스트 재배열부(미도시)를 포함할 수 있다.
변수 유도부(미도시)는 참조 픽쳐 리스트 초기화에 사용되는 변수들을 유도한다. 예를 들어, 픽쳐의 식별 번호를 나타내는 frame_num 을 이용하여 상기 변수를 유도할 수 있다. 구체적 예로, 각각의 단기 참조 픽쳐에는 변수 FrameNum과 변수 FrameNumWrap 이 이용될 수 있다. 먼저 상기 변수 FrameNum은 신택스 요소인 frame_num 값과 같다. 그리고, 상기 변수 FrameNumWrap은 상기 복호 픽쳐 버퍼부(600)에서 참조 픽쳐마다 작은 번호를 할당해주기 위하여 이용될 수 있으며, 상기 변수 FrameNum으로부터 유도될 수 있다. 이렇게 유도된 상기 변수 FrameNumWrap 을 이용하여 변수 PicNum 을 유도할 수 있다. 여기서 변수 PicNum은 상기 복호 픽쳐 버퍼부(600)에서 사용되는 픽쳐의 식별 번호를 의미할 수 있다. 장기 참조 픽쳐를 나타내는 경우에는 변수 LongTermPicNum이 이용될 수 있다.
또한, 시점간 예측을 위한 참조 픽쳐 리스트를 생성하기 위해서는 시점에 대한 정보를 이용하여 시점간 예측을 위한 참조 픽쳐 리스트를 생성하기 위한 제 1 변수(예를 들어, ViewNum)를 유도할 수 있다. 예를 들어, 픽쳐의 시점을 식별해주는 vlew_id 를 이용하여 상기 제 2 변수(예를 들어, ViewId)를 유도할 수 있다. 먼저 상기 제 2 변수는 신택스 요소인 상기 view_id 값과 같을 수 있다. 그리고, 제 3 변수(예를 들어, ViewIdWrap)는 상기 복호 픽쳐 버퍼부(600)에서 참조 픽쳐마다 작은 시점 식별 번호를 할당해주기 위하여 이용될 수 있으며, 상기 제 2 변수로부터 유도될 수 있다. 여기서 상기 제 1 변수(ViewNum)는 상기 복호 픽쳐 버퍼부(600)에서 사용되는 픽쳐의 시점 식별 번호를 의미할 수 있다. 다만, 다시점 비디오 코딩에서는 시간적 예측에 이용되는 참조 픽쳐의 수에 비해 시점간 예측에 이용되는 참조 픽쳐의 수가 상대적으로 작을 수 있으므로, 장기 참조 픽쳐의 시점 식별 번호를 표시하기 위한 별도의 변수를 정의하지 않을 수 있다.
참조 픽쳐 리스트 초기화부(미도시)는 상기 변수들을 이용하여 참조 픽쳐 리스트를 초기화한다. 이때 참조 픽쳐 리스트의 초기화 과정은 슬라이스 타입에 따라 그 방식이 달라질 수 있다. 예를 들어, P슬라이스를 디코딩할 경우에는 디코딩 순서에 기초하여 참조 픽쳐 번호를 할당할 수 있으며, B슬라이스를 디코딩할 경우에는 픽쳐 출력 순서에 기초하여 참조 픽쳐 번호를 할당할 수 있다. 또한, 시점간 예측을 위한 참조 픽쳐 리스트를 초기화할 경우에는 상기 제 1 변수, 즉 시점 정보로부터 유도된 변수에 기초하여 참조 픽쳐에 번호를 할당할 수 있다.
참조 픽쳐 리스트 재배열부(미도시)는 초기화된 참조 픽쳐 리스트에서 빈번하게 참조된 픽쳐에 더 작은 번호를 할당함으로써 압축률을 향상시키는 역할을 수행한다. 참조 픽쳐를 지정하는 참조 픽쳐 번호는 블록단위로 부호화되는데 참조 픽 쳐 번호의 부호화를 위한 참조 픽쳐 번호가 작을수록 작은 비트수의 부호가 할당되기 때문이다. 재배열 과정이 종료되면, 참조 픽쳐 리스트가 생성된다.
참조 픽쳐 관리부(630)는 보다 유연하게 화면간 예측을 실현하기 위하여 참조 픽쳐를 관리한다. 다시점 비디오 코딩에 있어서, 시점 방향의 픽쳐들은 픽쳐 출력 순서(Picture Order Count)가 동일하기 때문에 이들의 마킹을 위해서는 각 픽쳐의 시점을 식별해주는 정보가 이용될 수 있다.
참조 픽쳐는 "비참조 픽쳐", "단기 참조 픽쳐" 또는 "장기 참조 픽쳐"로 마킹될 수 있다. 다시점 비디오 코딩에 있어서, 참조 픽쳐를 단기 참조 픽쳐 또는 장기 참조 픽쳐로 마킹할 때 상기 참조 픽쳐가 시간 방향의 예측을 위한 참조 픽쳐인지 시점 방향의 예측을 위한 참조 픽쳐인지 여부를 구별해줄 필요가 있다.
먼저 현재 NAL이 참조 픽쳐라면, 디코딩된 픽쳐의 마킹 과정을 수행할 수 있다. 상기 도 1a에서 설명한 바와 같이, 참조 픽쳐를 관리하는 방법으로 적응 메모리 관리 방법(Memory Management Control Operation Method)과 이동 윈도우 방법(Sliding Window Method)이 이용될 수 있다. 상기 방법들 중 어느 방법이 이용될지 여부를 나타내는 플래그 정보를 획득할 수 있다(S510). 예를 들어, adaptive_ref_pic_marking_mode_flag 가 0이면 이동 윈도우 방법이 이용될 수 있다. 그리고, adaptive_ref_Pic_marking_mode_flag 가 1이면 적응 메모리 관리 방법이 이용될 수 있다.
본 발명이 적용되는 실시예로서, 상기 플래그 정보에 따라 적응 메모리 관리 방법에 대해 알아보도록 한다. 먼저, 메모리를 적응적으로 관리하기 위해 참조 픽 쳐의 저장, 개방을 제어할 식별 정보를 획득할 수 있다(S520). 예를 들어, memory_management_control_operation 을 획득하고, 상기 식별 정보(memory_management_control_operation) 값에 따라 참조 픽쳐를 저장 또는 개방할 수 있다. 구체적 예로, 도 5(b)를 참조하면, 상기 식별 정보가 1이면 시간 방향 예측을 위한 단기 참조 픽쳐를 "비참조 픽쳐"로 마킹할 수 있다(S580) 즉, 시간 방향 예측을 위한 참조 픽쳐들 중, 지정된 단기 참조 픽쳐를 개방하고 비참조 픽쳐로 변경할 수 있다. 상기 식별 정보가 3이면 시간 방향 예측을 위한 장기 참조 픽쳐를 "단기 참조 픽쳐"로 마킹할 수 있다(S581). 즉, 시간 방향 예측을 위한 참조 픽쳐들 중, 지정된 단기 참조 픽쳐를 장기 참조 픽쳐로 변경할 수 있다.
또한, 다시점 비디오 코딩에 있어서는 참조 픽쳐를 단기 참조 픽쳐 또는 장기 참조 픽쳐로 마킹할 때 상기 참조 픽쳐가 시간 방향의 예측을 위한 참조 픽쳐인지 시점 방향의 예측을 위한 참조 픽쳐인지 여부에 따라 다른 식별 정보를 할당해줄 수 있다. 예를 들어, 상기 식별 정보가 7이면 시점 방향 예측을 위한 단기 참조 픽쳐를 "비참조 픽쳐"로 마킹할 수 있다(S582). 즉, 시점 방향 예측을 위한 참조 픽쳐들 중, 지정된 단기 참조 픽쳐를 개방하고 비참조 픽쳐로 변경할 수 있다. 상기 식별 정보가 8이면 시점 방향 예측을 위한 장기 참조 픽쳐를 "단기 참조 픽쳐"로 마킹할 수 있다(S583). 즉, 시점 방향 예측을 위한 참조 픽쳐들 중, 지정된 단기 참조 픽쳐를 장기 참조 픽쳐로 변경할 수 있다.
상기 식별 정보가 1,3,7 또는 8일 때(S530), 픽쳐 식별 번호(PicNum) 또는 시점 식별 번호(ViewNum)의 차이값(difference_of_pic_nums_minus1)을 획득할 수 있다(S540). 상기 차이값은 장기 참조 픽쳐의 프레임 인덱스를 단기 참조 픽쳐에 할당하기 위해 이용될 수 있다. 또는 단기 참조 픽쳐를 비참조 픽쳐로 마킹하기 위해 이용될 수 있다. 상기 참조 픽쳐들이 시간 방향의 예측을 위한 참조 픽쳐인 경우, 상기 픽쳐 식별 번호가 이용될 수 있고, 상기 참조 픽쳐들이 시점 방향의 예측을 위한 참조 픽쳐인 경우에는 상기 시점 식별 번호가 이용될 수 있다.
구체적 예로, 상기 식별 정보가 7일 때, 단기 참조 픽쳐를 비참조 픽쳐로 마킹하기 위해 이용될 수 있다. 그리고, 상기 차이값은 시점 식별 번호의 차이값을 의미할 수 있다. 상기 단기 참조 픽쳐의 시점 식별 번호는 다음 수학식 1과 같을 수 있다.
[수학식 1]
Figure 112009054029058-PCT00001
상기 시점 식별 번호(ViewNum)에 해당되는 단기 참조 픽쳐는 비참조 픽쳐로 마킹될 수 있다.
다른 예로, 상기 식별 정보가 8일 때(S550), 상기 차이값은 장기 참조 픽쳐의 프레임 인덱스를 단기 참조 픽쳐에 할당하기 위해 이용될 수 있다(S560). 그리고, 상기 차이값은 시점 식별 번호의 차이값을 의미할 수 있다. 상기 차이값을 이용하여 상기 수학식 1처럼 시점 식별 번호(ViewNum)가 유도될 수 있다. 상기 시점 식별 번호는 단기 참조 픽쳐로 마킹된 픽쳐를 참조한다.
이처럼, 상기 식별 정보에 따라 참조 픽쳐를 저장, 개방하는 동작을 계속 실 행하게 된다. 상기 식별 정보가 0 값으로 코딩되는 시점에서 저장, 개방 동작이 종료된다.
도 6은 본 발명이 적용되는 실시예로서, 다시점 비디오 코딩에 있어서의 공간 직접 모드를 설명하기 위한 예측 구조를 나타낸다.
먼저, 상기 공간 직접 모드가 적용되는 실시예들을 설명하기에 앞서 이후 이용될 용어들에 대해서 미리 정의할 필요가 있다. 예를 들어, 직접 예측 모드에서는 List1 레퍼런스 픽쳐 중 가장 작은 참조 번호(reference index)를 가지는 픽쳐를 앵커 픽쳐라고 정의할 수 있다. 픽쳐 출력 순서상 현재 픽쳐의 역방향으로 가장 가까운 참조 픽쳐(2)가 앵커 픽쳐가 될 수 있다. 그리고, 상기 현재 블록(①)과 같은 공간 위치(co-located)에 있는 앵커 픽쳐의 블록(②)을 앵커 블록이라고 정의할 수 있다. 이 때 상기 앵커 블록의 List0 방향의 움직임 벡터를 mvCol 이라 정의할 수 있다. 상기 앵커 블록의 List0 방향의 움직임 벡터가 없고. List1 방향의 움직임 벡터가 있다면 List1 방향의 움직임 벡터를 mvCol 로 할 수 있다. 여기서, B픽쳐의 경우 시간적 또는 공간적 전후에 상관없이 임의의 두 장을 참조 픽쳐로 사용할 수 있는데, 이 때 이용되는 예측을 List0 예측, List1 예측이라 한다. 예를 들어, List0 예측은 순방향(시간적으로 앞서는 방향)에 대한 예측을, List1 예측은 역방향에 대한 예측을 의미할 수 있다. 직접 예측 모드에서는 상기 앵커 블록의 움직임 정보를 이용하여 현재 블록의 움직임 정보를 예측할 수 있다. 여기서, 움직임 정보라 함은 움직임 벡터(motion vector), 참조 번호(reference index) 등을 의미할 수 있다.
도 1을 참조하면, 직접 예측 모드 식별부(710)는 현재 슬라이스의 예측 모드를 식별하게 된다. 예를 들어, 현재 슬라이스의 슬라이스 타입이 B슬라이스인 경우, 직접 예측 모드가 이용될 수 있다. 이때 직접 예측 모드 중에서 시간 직접 모드가 이용될지 공간 직접 모드가 이용될지를 나타내는 직접 예측 모드 플래그가 이용될 수 있다. 상기 직접 예측 모드 플래그는 슬라이스 헤더로부터 획득될 수 있다. 상기 직접 예측 모드 플래그에 따라 공간 직접 모드가 적용되는 경우, 먼저 현재 블록에 이웃하는 블록들의 움직임 정보를 획득할 수 있다. 예를 들어, 현재 블록(①)의 좌측에 있는 블록을 이웃 블록 A, 상측에 있는 블록을 이웃 블록 B, 우측 상위에 있는 블록을 이웃 블록 C라 하면, 상기 이웃 블록 A,B,C의 움직임 정보를 획득할 수 있다.
제 1 변수 유도부(721)에서는 이웃 블록들의 움직임 정보를 이용하여 현재 블록의 List0/1 방향에 대한 참조 번호를 유도할 수 있다. 그리고, 상기 현재 블록의 참조 번호에 기초하여 제 1 변수를 유도할 수 있다. 여기서, 상기 제 1 변수는 현재 블록의 움직임 벡터를 임의의 값으로 예측하기 위해 이용되는 변수(directZeroPredictionFlag)를 의미할 수 있다. 예를 들어, 현재 블록의 List0/1 방향에 대한 참조 번호는 상기 이웃 블록들의 참조 번호들 중에서 가장 작은 값으로 유도될 수 있다. 이 때, 다음 수학식 2가 이용될 수 있다.
[수학식 2]
Figure 112009054029058-PCT00002
구체적 예로, MinPositive(0,1) = 0 이 된다. 즉, 두 개의 유효한 인덱스가 존재하는 경우 작은 값을 얻을 수 있다. 또는 MinPositive(-1,0) = 0 이 된다. 즉, 하나의 유효한 인덱스가 존재하는 경우 유효한 인덱스 값인 큰 값을 얻을 수 있다. 또는 MinPositive(-1,-1) = -1 이 된다. 즉, 두 개가 모두 유효하지 않은 인덱스인 경우, 예를 들어, 두 개의 이웃 블록이 모두 인트라 코딩된 블록이거나 이용할 수 없는 경우에는 큰 값인 -1 값을 얻게 된다. 결국, 결과값이 유효하지 않은 값이 나오려면 하나라도 유효한 값이 있으면 안된다.
먼저, 상기 제 1 변수의 초기값으로, 상기 제 1 변수를 0으로 셋팅할 수 있다. 또한, 상기 유도된 List0/1 방향에 대한 참조 번호가 모두 0보다 작을 경우, 상기 현재 블록의 List0/1 방향에 대한 참조 번호는 0으로 셋팅될 수 있다. 그리고, 상기 제 1 변수는, 상기 현재 블록의 참조 픽쳐가 존재하지 않음을 나타내기 위한 값으로 셋팅될 수 있다. 이 때, 상기 유도된 List0/1 방향에 대한 참조 번호가 모두 0보다 작은 경우란, 예를 들면, 상기 이웃 블록이 인트라 코딩된 블록일 경우, 또는 어떠한 이유로 상기 이웃 블록이 이용가능하지 않게 되는 경우를 의미 할 수 있다. 이러한 경우, 상기 제 1 변수를 1로 셋팅함으로서 현재 블록의 움직임 벡터를 0으로 셋팅할 수 있게 된다.
제 2 변수 유도부(722)에서는 앵커 픽쳐 내의 앵커 블록의 움직임 정보를 이용하여 제 2 변수를 유도할 수 있다. 여기서, 상기 제 2 변수는 현재 블록의 움직임 벡터를 임의의 값으로 예측하기 위해 이용되는 변수(colZeroFlag)를 의미할 수 있다. 예를 들어, 앵커 블록의 움직임 정보가 일정한 조건을 만족하는 경우에 상기 제 2 변수를 1로 셋팅할 수 있다. 그리고, 상기 제 2 변수가 1로 셋팅되는 경우, 현재 블록의 List0/1 방향에 대한 움직임 벡터를 0으로 셋팅할 수 있게 된다. 상기 일정한 조건은 다음과 같을 수 있다. 첫째, List1 방향에 대한 참조 픽쳐 중 가장 작은 참조 번호를 가지는 픽쳐가 단기 참조 픽쳐이어야 한다. 둘째, 앵커 블록의 참조하는 픽쳐의 참조 번호가 0 이어야 한다. 셋째, 앵커 블록의 움직임 벡터의 수평 성분, 수직 성분 크기가 土1 화소 이하이어야 한다. 즉, 움직임이 거의 없는 경우를 의미할 수 있다. 이처럼, 상기 일정한 조건을 모두 만족하는 경우에 움직임이 거의 없는 영상에 가깝다고 판단하여 현재 블록의 움직임 벡터를 0으로 셋팅하는 것이다.
움직임 정보 예측부(723)에서는 상기 유도된 제 1 변수와 제 2 변수에 기초하여 현재 블록의 움직임 정보를 예측할 수 있다. 예를 들어, 상기 제 1 변수가 1로 셋팅될 경우, 현재 블록의 List0/1 방향에 대한 움직임 벡터를 0으로 셋팅할 수 있다. 또한, 상기 제 2 변수를 1로 셋팅할 경우, 현재 블록의 List0/1 방향에 대한 움직인 벡터를 0으로 셋팅할 수 있게 된다. 여기서, 0 또는 1로 셋팅하는 것은 일 실시예일 뿐이며, 상기 제 1 변수 또는 상기 제 2 변수는 다른 일정한 값으로 셋팅하여 이용할 수도 있다. 이외의 경우 현재 픽쳐 내의 이웃 블록들의 움직임 정보로부터 현재 블록의 움직임 정보를 예측할 수 있다.
본 발명이 적용되는 실시예에서는 시점 방향을 고려하여야 하기 때문에 앞에서 설명한 용어들에 대해 추가적으로 설명할 필요가 있다. 예를 들어, 앵커 픽쳐라 함은 시점 방향으로 List0/1 레퍼런스 픽쳐 중 가장 작은 참조 번호(reference index)를 가지는 픽쳐를 의미할 수 있다. 그리고, 앵커 블록은 시간 방향에 있어서는 현재 블록과 같은 공간 위치(co-located)에 있는 블록을 의미할 수 있지만, 시점 방향에 있어서는 시점 간의 변이 차이를 고려하여 변이 벡터(disparity vector)만큼 이동한 대응 블록을 의미할 수 있다. 또한, 움직임 벡터(motion vector)는 시점 간의 변이 차이를 나타내는 변이 벡터의 의미를 포함할 수 있다. 여기서, 상기 변이 벡터는 서로 다른 두 시점 사이의 객체간 또는 픽쳐간 변이 차이를 의미할 수 있으며, 또는 글로벌 변이 벡터(global disparity vector)를 의미할 수도 있다. 여기서, 움직임 벡터는 일부 영역(예: 매크로블록, 블록, 픽셀 등)에 대응될 수 있고, 상기 글로벌 변이 벡터는 상기 일부 영역을 포함하는 전체 영역에 대응되는 움직임 벡터를 의미할 수 있다. 상기 전체 영역은 매크로블록, 슬라이스, 픽쳐, 또는 시퀀스에 대응될 수도 있다. 경우에 따라서는, 픽쳐내 하나 이상의 객체(object) 영역 및 배경에 각각 대응될 수도 있다. 또한, 참조 번호(reference index)는 시점 방향에 있어서는 픽쳐의 시점을 식별할 수 있는 시점 식별 정보를 의미할 수 있다. 따라서, 본 명세서에서 상기 용어들은 본 발명의 기술적 사상 및 기술적 범위에 따 라 유연하게 해석할 수 있을 것이다.
먼저, 현재 블록(①)이 시점 방향의 픽쳐를 참조하는 경우, 시점 방향의 참조 픽쳐 중 가장 작은 참조 번호를 가지는 픽쳐(3)를 이용할 수 있다. 여기서 참조 번호는 시점 식별 정보(Vn)를 의미할 수 있다. 그리고, 상기 시점 방향의 참조 픽쳐(3) 내에서 변이 벡터만큼 이동한 대응 블록(corresponding block)(③)의 움직임 정보를 이용할 수 있다. 이 때 상기 대응 블록의 움직임 벡터를 mvCor이라고 정의할 수 있다.
본 발명이 적용되는 실시예로서, 다시점 비디오 코딩에 있어서 공간 직접 모드를 설명하도록 한다. 먼저, 제 1 변수 유도부(721)에서, 이웃 블록들의 움직임 정보를 이용할 때 이웃 블록들의 참조 번호는 시점 식별 정보를 의미할 수 있다. 예를 들어, 상기 이웃 블록들의 참조 번호가 모두 시점 방향에 있는 픽쳐를 가리키는 경우 현재 블록의 List0/1 방향에 대한 참조 번호는 상기 이웃 블록들의 시점 식별 정보 중에서 가장 작은 값으로 유도될 수 있다. 이러한 경우, 제 2 변수 유도부(722)에서는 제 2 변수를 유도하는 과정에서 대응 블록의 움직임 정보를 이용할 수 있다. 예를 들어, 현재 블록의 List0/1 방향에 대한 움직임 벡터를 0으로 셋팅하기 위한 조건들이 다음과 같이 적용될 수 있다. 첫째, List0/1 방향에 대한 참조 픽쳐 중 가장 작은 참조 번호를 가지는 픽쳐가 단기 참조 픽쳐이어야 한다. 이 때 상기 참조 번호는 시점 식별 정보일 수 있다. 둘째, 대응 블록이 참조하는 픽쳐의 참조 번호가 0 이어야 한다. 이때, 상기 참조 번호는 시점 식별 정보일 수 있다. 셋째, 대응 블록(③)의 움직임 벡터(mvCor)의 수평 성분, 수직 성분 크기가 ±1 화소 이하이어야 한다. 이때 상기 움직임 벡터는 변이 벡터일 수 있다.
다른 예로, 상기 이웃 블록들의 참조 번호가 모두 시간 방향에 있는 픽쳐를 가리키는 경우, 상기에서 설명한 방식을 이용하여 공간 직접 모드를 수행할 수 있다.
본 발명의 다른 실시예로서, 다시점 비디오 코딩에 있어서 상기 제 2 변수를 유도하는 과정을 보다 효율적으로 적용할 필요가 있다. 예를 들어, 현재 블록의 움직임 정보와 앵커 픽쳐의 대응 블록의 움직임 정보 사이의 상관성을 확인함으로써 보다 효율적인 코딩이 가능할 수 있다. 구체적 예로, 먼저 현재 블록과 대응 블록이 동일 시점 상에 존재한다고 가정하자. 현재 블록의 움직임 정보가 동일 시점 상의 블록을 가리키는데, 대응 블록의 움직임 정보는 다른 시점 상의 블록을 가리키는 경우, 양 움직임 정보 사이에는 상관성이 떨어진다고 볼 수 있다. 또는 현재 블록의 움직임 정보가 다른 시점 상의 블록을 가리키는데, 대응 블록의 움직임 정보는 동일 시점 상의 블록을 가리키는 경우에도 양 움직임 정보 사이에는 상관성이 떨어진다고 볼 수 있다. 한편, 현재 블록과 대응 블록이 서로 다른 시점 상에 존재한다고 가정하자. 마찬가지로, 현재 블록의 움직임 정보가 동일 시점 상의 블록을 가리키는데, 대응 블록의 움직임 정보는 다른 시점 상의 블록을 가리키는 경우, 양 움직임 정보 사이에는 상관성이 떨어진다고 볼 수 있다. 또는 현재 블록의 움직임 정보가 다른 시점 상의 블록을 가리키는데, 대응 블록의 움직임 정보는 동일 시점 상의 블록을 가리키는 경우에도 양 움직임 정보 사이에는 상관성이 떨어진다고 볼 수 있다.
따라서, 현재 블록의 움직임 정보와 대응 블록의 움직임 정보를 비교하여 상관성이 있는 경우에 제 2 변수를 유도함으로써 보다 효율적인 코딩을 할 수 있다. 움직임 정보 예측부(723)에서는 상기 유도된 제 1 변수와 제 2 변수에 기초하여 현재 블록의 움직임 정보를 예측할 수 있다. 예를 들어, 상기 제 1 변수가 1로 셋팅될 경우, 현재 블록의 List0/1 방향에 대한 움직임 벡터를 0으로 셋팅할 수 있다. 또한, 상기 제 2 변수를 1로 셋팅할 경우, 현재 블록의 List0/1 방향에 대한 움직임 벡터를 0으로 셋팅할 수 있게 된다. 또는, 상기 제 2 변수를 1로 셋팅하고, 참조 번호가 0이며, 현재 블록과 대응 블록의 움직임 정보의 상관성이 있는 경우, 상기 현재 블록의 움직임 텍터를 0으로 셋팅할 수 있다. 여기서, 대응 블록은 앵커 픽쳐의 동일 위치에 있는 블록일 수 있다. 그리고, 현재 블록과 대응 블록의 움직임 정보의 상관성이 있는 경우는, 상기 움직임 정보들이 같은 방향을 가리키는 경우를 의미할 수 있다. 예를 들어, 현재 블록과 대응 블록이 동일 시점 상에 존재한다고 가정하자. 현재 블록의 움직임 정보가 동일 시점 상의 블록을 가리키고, 대응 블록의 움직임 정보도 동일 시점 상의 블록을 가리키는 경우, 양 움직임 정보 사이에는 상관성이 있다고 볼 수 있다. 또는 현재 블록의 움직임 정보가 다른 시점 상의 블록을 가리키고, 대응 블록의 움직임 정보도 다른 시점 상의 블록을 가리키는 경우에도 양 움직임 정보 사이에는 상관성이 있다고 볼 수 있다. 마찬가지로, 현재 블록과 대응 블록이 서로 다른 시점 상에 존재한다고 가정하는 경우도 동일한 방식으로 판단될 수 있다.
본 발명이 적용되는 다른 실시예로서, 현재 블록과 대응 블록의 움직임 정보의 상관성을 판단하는 구체적인 방법들을 살펴보도록 한다.
예를 들어, 현재 블록의 움직임 정보(mvL0,mL1)의 예측 타입(predTypeL0,PredTypeL1)을 정의할 수 있다. 즉, 시간 방향의 움직임 정보인지 시점 방향의 움직임 정보인지를 나타내는 예측 타입을 정의할 수 있다. 마찬가지로, 대응 블록의 움직임 정보(mvColL0,mvColL1)의 예측 타입(predTypeColL0,PredTypeColL1)을 정의할 수 있다. 그리고, 상기 현재 블록의 움직임 정보의 예측 타입과 상기 대응 블록의 움직임 정보의 예측 타입이 동일한지 여부를 판단할 수 있다. 상기 예측 타입들이 동일한 경우, 유도된 제 2 변수가 유효하다고 판단할 수 있다. 이 때, 상기 유도된 제 2 변수가 유효한지 여부를 나타내는 변수를 정의할 수 있다. 이를 colZeroFlagValidLX라 할 때, 상기 예측 타입들이 동일한 경우, colZeroFlagValidLX = 1 이라 할 수 있고, 동일하지 않은 경우, colZeroFlagValidLX = 0 이라 할 수 있다.
또한, 본 발명이 적용되는 다른 실시예로, L0방향에 대한 제 2 변수와 L1 방향에 대한 제 2 변수를 각각 정의함으로써 각 mvLX 유도시에 이용할 수도 있다.
도 7은 본 발명이 적용되는 실시예로서, 모션 스킵 여부에 따라 움직임 보상을 수행하는 방법을 설명하기 위해 나타낸 것이다.
모션 스킵 판별부(730)에서는 현재 블록의 움직임 정보를 유도할지 여부를 판별하게 된다. 예를 들어, 모션 스킵 플래그를 이용할 수 있다. motion_skip_flag = 1 일 경우, 모션 스킵을 수행하게 되며 즉 현재 블록의 움직임 정보를 유도하게 된다. 반면, motion_skip_flag = 0 일 경우에는 모션 스킵을 수행하지 않고 전송되어 온 움직임 정보를 획득하게 된다. 여기서, 움직임 정보란, 움직임 벡터, 레퍼런스 인덱스, 블록 타입 등을 포함할 수 있다. 상기 모션 스킵 판별부(730)에 의해 모션 스킵을 수행하는 경우, 대응 블록 탐색부(731)에서는 대응 블록을 탐색한다. 움직임 정보 유도부(732)에서는 상기 대응 블록의 움직인 정보를 이용하여 현재 블록의 움직임 정보를 유도할 수 있다. 이렇게 유도된 움직임 정보를 이용하여 움직임 보상부(740)에서는 움직임 보상을 수행하게 된다. 한편, 상기 모션 스킵 판별부(730)에 의해 모션 스킵을 수행하지 않는 경우, 움직임 정보 획득부(733)에서는 전송되어 온 움직임 정보를 획득하게 된다. 상기 획득된 움직임 정보를 이용하여 움직임 보상부(740)에서는 움직임 보상을 수행하게 된다.
본 발명이 적용되는 실시예로서, 제 1 도메인 블록의 제 2 도메인에 대한 코딩 정보를 이용하여 현재 블록의 제 2 도메인에 대한 코딩 정보를 예측할 수 있다. 이 때, 코딩 정보로서, 움직임 정보와 함께 블록 정보도 획득할 수 있다. 예를 들어, 스킵 모드란 이전에 현재 블록보다 먼저 코딩된 다른 블록의 정보를 이용하여 현재 블록의 정보로 활용하는 것을 의미한다. 이러한 스킵 모드를 적용함에 있어서, 서로 다른 도메인에 존재하는 정보를 이용할 수 있다. 이하에서는 그에 대한 구체적인 실시예들을 살펴보고자 한다.
첫번째 예로서, 시간 Ta에서 다른 두 개의 시점 영상들 내의 객체(또는 배경)들의 상대적인 움직임 관계는 충분히 가까운 시간 Tb에서도 거의 유사하게 유지된다고 가정할 수 있다. 이 때, 시간 Ta에서의 시점 방향 코딩 정보와 시간 Tb에서 의 시점 방향 코딩 정보는 높은 상관도를 갖는다. 동일 시점의 다른 시간대에 있는 대응 블록의 움직임 정보를 그대로 가져다 이용하면 높은 코딩 효율을 얻을 수 있다. 이러한 방식을 이용했는지 여부를 나타내는 모션 스킵 정보를 이용할 수 있다. 상기 모션 스킵 정보에 따라 모션 스킵 모드가 적용되는 경우, 블록 타입, 움직임 벡터, 레퍼런스 인덱스와 같은 움직임 정보를 현재 블록의 대응 블록으로부터 예측할 수 있다. 따라서 이러한 움직임 정보를 코딩하는데 필요한 비트량을 줄일 수 있다. 예를 들어, motion_skip_flag가 0일 때는 상기 모션 스킵 모드가 적용되지 않으며, 1일 때는 현재 블록에 모션 스킵모드가 적용된다. 상기 모션 스킵 정보는 매크로블록 레이어에 위치할 수 있다. 예를 들어, 상기 모션 스킵 정보가 매크로블록 레이어의 확장 영역에 위치하여, 디코더측에서 움직임 정보를 비트스트림에서 가져오는지를 우선적으로 알려줄 수 있다.
두번째 예로서, 상기 예와 마찬가지로, 알고리듬 적용축인 상기 제 1 도메인과 제 2 도메인을 바꾸어 동일한 방식을 이용할 수 있다. 즉, 동일 시간 Ta에서의 Va시점 내의 객체(또는 배경)와 그에 이웃하는 Vb 시점내의 객체(또는 배경)는 유사한 움직임 정보를 가질 확률이 높다. 이때, 동일 시간대의 다른 시점에 있는 대응 블록의 움직임 정보를 그대로 가져다 이용하면 높은 코딩 효율을 가져다 줄 수 있다. 이러한 방식을 이용했는지 여부를 나타내는 모션 스킵 정보를 이용할 수 있다.
인코더에서는 현재 블록에 이웃하는 블록의 움직임 정보를 이용하여, 현재 블록의 움직임 정보를 예측하고, 실제 움직임 벡터와 예측된 움직임 벡터의 차이값 을 전송해주게 된다. 마찬가지로 디코더에서는, 현재 매크로블록이 참조하는 픽쳐의 참조 픽쳐 번호와 이웃 블록이 참조하는 픽쳐의 참조 픽쳐 번호가 동일한지 여부를 판별하고 그에 따라서 움직임 벡터 예측값을 획득하게 된다. 예를 들어, 상기 이웃 블록들 중에서 현재 매크로블록과 동일한 참조 픽쳐 번호를 가지는 블록이 하나만 존재하는 경우에는 그 이웃 블록의 움직임 벡터를 그대로 사용하고 그 이외의 경우에는 이웃 블록들의 움직임 벡터들의 중간값(median value)을 사용한다.
또한, 다시점 비디오 코딩에서는 참조 픽쳐가 시간축으로뿐만 아니라 시점축으로도 존재할 수 있다. 이러한 특성 때문에 현재 매크로블록의 참조 픽쳐 번호와 이웃 블록의 참조 픽쳐 번호가 다를 경우, 그 움직임 벡터들은 아무런 상관 관계를 가지지 않을 가능성이 높다. 이런 경우 움직임 벡터 예측값의 정확도는 매우 떨어지게 된다. 따라서, 본 발명이 적용되는 일실시예로서, 시점간의 상관 관계를 이용한 새로운 움직임 벡터 예측 방법을 제안한다.
예를 들어, 시점간에 생기는 움직임 벡터는 각 객체(object)들의 깊이(depth)에 의존적(dependent)일 수 있다. 영상의 깊이가 공간적으로 매우 심한 변화가 없고 시간축의 변화에 따른 영상의 움직임 자체가 매우 심하지만 않다면, 각 매크로블록 위치에서의 깊이 자체는 크게 변하지 않을 것이다. 여기서, 깊이(depth)란, 시점 간의 변이 차이를 나타낼 수 있는 정보를 의미할 수 있다. 또한, 기본적으로 카메라간에 글로벌 움직임 벡터들의 영향이 존재하기 때문에 깊이가 조금 변하더라도 글로벌 움직임 벡터가 깊이 변화에 비해 충분히 크다면, 상관 관계(correlation)가 없는 이웃 블록의 시간 방향 움직임 벡터를 이용하는 것보다 상기 글로벌 움직임 벡터를 이용하는 것이 더 효율적일 수 있다.
여기서, 글로벌 움직임 벡터(global motion vector)란, 일정 영역에 공통적으로 적용할 수 있는 움직임 벡터를 의미할 수 있다. 예를 들어, 움직임 벡터가 일부 영역(예: 매크로블록, 블록, 픽셀 등)에 대응된다면, 글로벌 움직임 벡터(global motion vector 또는 global disparity vector)는 상기 일부 영역을 포함하는 전체 영역에 대응되는 모션 벡터이다.
예를 들어, 상기 전체 영역은 하나의 슬라이스에 대응될 수도 있고, 하나의 픽쳐에 대응될 수도 있으며, 시퀀스 전체에 대응될 수도 있다. 또는, 픽쳐내 하나 이상의 객체, 배경, 또는 일정 영역에 각각 대응될 수도 있다. 이러한 글로벌 움직임 벡터는 픽셀 단위 또는 1/4픽셀 단위의 값이 될 수도 있고, 4x4 단위, 8x8 단위, 또는 매크로블록 단위의 값이 될 수도 있다.
본 발명이 적용되는 실시예로서, 동일 위치(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 position of neighboring view on the same temporal instant)를 가리킬 수 있다. 상기 도 7을 살펴보면, 픽쳐 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)가 가리키는 블록이다. 상기 상기 글로벌 움직임 벡터는 현재 픽쳐와 이웃 시점에 있는 픽쳐 사이의 매크로블록 단위로 획득될 수 있다. 이 때 상기 이웃 시점에 관한 정보는 시점간 참조 관계를 나타내는 정보에 의해 알 수 있다.
시점간 참조 관계(view dependency)를 나타내는 정보란, 시점간 영상들이 어떠한 구조로 예측되었는지를 알 수 있는 정보를 말한다. 이는 비디오 신호의 데이터 영역로부터 획득될 수 있는데, 예를 들어, 시퀀스 파라미터 셋 영역으로부터 획 득될 수 있다. 또한, 상기 시점간 참조 정보는 참조 픽쳐의 개수와 참조 픽쳐의 시점 정보를 이용하여 파악할 수 있다. 예를 들어, 먼저 전체 시점의 개수를 획득하고, 상기 전체 시점의 개수에 근거하여 각 시점을 구별하는 시점 정보를 파악할 수 있다. 그리고, 각 시점마다 참조 방향에 대한 참조 픽쳐의 개수를 획득할 수 있다. 상기 참조 픽쳐의 개수에 따라 각 참조 픽쳐의 시점 정보를 획득할 수 있다. 이러한 방식을 통해서 시점간 참조 정보가 획득될 수 있으며, 상기 시점간 참조 정보는 인터뷰 픽쳐 그룹일 경우와 넌-인터뷰 픽쳐 그룹일 경우로 나누어서 파악될 수 있다. 이는 현재 NAL에 있는 코딩된 슬라이스가 인터뷰 픽쳐 그룹인지 여부를 나타내는 인터뷰 픽쳐 그룹 식별 정보를 이용하여 알 수 있다.
상기 인터뷰 픽쳐 그룹 식별 정보에 따라 상기 글로벌 움직임 벡터를 획득하는 방법이 다를 수 있다. 예를 들어, 현재 픽쳐가 인터뷰 픽쳐 그룹일 경우에는 수신된 비트스트림으로부터 상기 글로벌 움직임 벡터를 획득할 수 있다. 현재 픽쳐가 넌-인터뷰 픽쳐 그룹일 경우에는 상기 인터뷰 픽쳐 그룹의 글로벌 움직임 벡터로부터 유도할 수 있다.
이 때, 상기 인터뷰 픽쳐 그룹의 글로벌 움직임 벡터 외에 시간 거리를 나타내는 정보도 함께 이용할 수 있다. 예를 들어, 상기 도 7을 살펴보면, 픽쳐 A의 글로벌 움직임 벡터를 GDVa라 하고, 픽쳐 E의 글로벌 움직임 벡터를 GDVb라 하면, 넌-인터뷰 픽쳐 그룹인 현재 픽쳐 C의 글로벌 움직임 벡터는 상기 인터뷰 픽쳐 그룹인 픽쳐 A,E의 글로벌 움직임 벡터와 시간 거리 정보를 이용하여 획득할 수 있다. 예를 들어, 상기 시간 거리 정보로는 픽쳐 출력 순서를 나타내는 POC(Picture Order Count)일 수 있다. 따라서, 상기 현재 픽쳐의 글로벌 움직 벡터는 아래 수학식 3을 이용하여 유도할 수 있다.
[수학식 3]
Figure 112009054029058-PCT00003
이렇게 유도된 현재 픽쳐의 글로벌 움직임 벡터가 가리키는 블록을 상기 현재 블록의 코딩 정보를 예측하기 위한 대응 블록으로 볼 수 있다.
상기 대응 블록의 모든 움직임 정보와 모드 정보는 상기 현재 블록의 코딩 정보를 예측하기 위해 이용될 수 있다. 상기 코딩 정보는 움직임 정보, 조명 보상(illumination compensation)에 관한 정보, 가중치 예측 정보 등 현재 블록을 코딩하기 위해 필요한 다양한 정보를 포함할 수 있다. 현재 매크로블록에 모션 스킵 모드가 적용되는 경우에는 상기 현재 매크로블록의 움직임 정보를 코딩하지 않고, 이미 코딩된 다른 시점에 있는 픽쳐의 움직임 정보를 상기 현재 매크로블록의 움직임 정보로 그대로 이용할 수 있다. 여기서, 모션 스킵 모드란 이웃 시점에 있는 대응 블록의 움직임 정보에 의존하여 현재 블록의 움직임 정보를 획득하는 경우를 포함할 수 있다. 예를 들어, 현재 매크로블록에 모션 스킵 모드가 적용되는 경우, 상기 대응 블록의 모든 움직임 정보, 예를 들어, 매크로블록 타입, 참조 인덱스(reference index), 움직임 벡터 등을 그대로 현재 매크로블록의 움직임 정보로 활용할 수 있다. 다만, 상기 모션 스킵 모드는 다음과 같은 경우에는 적용되지 않을 수 있다. 예를 들어, 현재 픽쳐가 기존 코덱과 호환가능한 기준 시점에 있는 픽쳐 인 경우이거나, 또는 인터뷰 픽쳐 그룹인 경우를 들 수 있다. 그리고, 상기 모션 스킵 모드는 이웃 시점에 대응 블록이 존재하고, 상기 대응 블록이 인터 예측 모드로 코딩된 경우에 적용될 수 있다. 또한, 상기 모션 스킵 모드가 적용되는 경우에는 상기 시점간 참조 정보에 따라, 먼저 List0 참조 픽쳐의 움직임 정보를 이용하고, 필요한 경우에는 List1 참조 픽쳐의 움직임 정보도 이용할 수 있다.
본 발명이 실시예로서, 하나 이상의 참조 시점이 이용될 수 있는 경우 보다 효율적인 모션 스킵을 적용할 수 있는 방법을 설명하도록 한다.
참조 시점에 관한 정보는 인코더에서 비트스트림을 통해 전송되는 명시적 방식이 있을 수 있고, 디코더에서 임의적으로 결정되는 묵시적 방식이 있을 수 있다. 이하 명시적 방식 및 묵시적 방식에 대해서 설명하고자 한다.
참조 시점 리스트에 포함되어 있는 시점들 중에서 어느 시점을 참조 시점으로 할 것인지에 관한 정보, 즉 참조 시점의 시점 식별 정보를 명시적으로 전송할 수 있다. 여기서, 참조 시점 리스트는 시점 간 참조 관계에 기초하여 생성되는 참조 시점의 리스트를 의미할 수 있다.
예를 들어, 상기 참조 시점 리스트에 속하는 시점들 중에서, 현재 시점과 가장 가까운 시점부터 참조 시점이 될 수 있는지 여부를 체크하는 것으로 설정되어 있는 경우에는, 참조 시점의 시점 식별 정보를 명시적으로 전송할 필요는 없다. 그러나 이런 경우에도 L0,L1 방향의 참조 시점 리스트가 존재할 수 있기 때문에, 그 둘 중에 어느 것부터 체크할 것인지를 나타내는 플래그 정보를 명시적으로 전송할 수 있다. 예를 들어, 상기 플래그 정보에 따라 L0 방향의 참조 시점 리스트를 먼저 체크할지, 아니면 L1 방향의 참조 시점 리스트를 먼저 체크할지를 판단할 수 있다.
다른 예로, 모션 스킵을 위해 이용될 참조 시점의 개수 정보를 명시적으로 전송할 수 있다. 이 때, 상기 참조 시점의 개수 정보는 시퀀스 파라미터 세트로부터 획득될 수 있다. 또한, 인코더에서 계산된 가장 효율이 좋은 복수개의 글로벌 움직임 벡터를 명시적으로 전송할 수도 있다. 이 때, 상기 복수개의 글로벌 움직임 벡터는 넌-인터뷰 픽쳐 그룹의 슬라이스 헤더로부터 획득될 수 있다. 이렇게 전송된 복수개의 글로벌 움직임 벡터를 순차적으로 적용할 수 있다. 예를 들어, 가장 효율이 좋은 글로벌 움직임 벡터가 가리키는 블록이 인트라 모드로 코딩되어 있거나 이용 불가능한 경우, 두번째로 효율이 좋은 글로벌 움직임 벡터가 가리키는 블록을 체크할 수 있다. 마찬가지 방식으로 명시적으로 전송된 복수개의 글로벌 움직임 벡터가 가리키는 블록을 모두 체크할 수 있다.
다른 예로, 시퀀스에서 모션 스킵 모드를 적용할지 여부를 나타내는 플래그 정보를 정의할 수 있다. 예를 들어, motion_skip_flag_seq 가 1이면 모션 스킵 모드는 시퀀스에서 적용될 수 있다. motion_skip_flag_seq 가 0이면 모션 스킵 모드는 시퀀스에서 적용되지 않는다. 이러한 경우는 슬라이스 또는 매크로블록 레벨에서 모션 스킵 모드가 적용될지 여부를 다시 확인할 수 있다.
상기 플래그 정보에 따라 시퀀스에서 모션 스킵 모드가 적용되는 경우, 모션 스킵 모드에서 이용될 참조 시점의 전체 개수를 정의할 수 있다. 예를 들어, num_of_views_minus1_for_ms 은 모션 스킵 모드에서 이용될 참조 시점의 전체 개수를 의미할 수 있고, 상기 num_of_views_minus1_for_ms 는 시퀀스 파라미터 세트의 확장 영역으로부터 획득될 수 있다. 상기 참조 시점의 전체 개수만큼 글로벌 움직임 벡터를 획득할 수 있다. 이때 상기 글로벌 움직임 벡터는 슬라이스 헤더로부터 획득될 수 있다. 또한, 상기 글로벌 움직임 벡터는 현재 슬라이스가 넌-인터뷰 픽쳐 그룹에 해당될 경우에만 획득될 수 있다. 이렇게 획득된 복수개의 글로벌 움직임 벡터는 상기에서 설명했던 방식처럼 순차적으로 적용할 수 있다.
다른 예로, 글로벌 움직임 벡터는 참조 시점의 개수에 기초하여 시퀀스 파라미터 세트의 확장 영역으로부터 획득될 수 있다. 예를 들어, 상기 글로벌 움직임 벡터는 L0 방향에 대한 글로벌 움직임 벡터와 L1 방향에 대한 글로벌 움직임 벡터로 구분하여 각각 획득될 수 있다. 이 때, 상기 참조 시점의 개수는 시점간 참조 정보로부터 확인할 수 있고, L0 방향에 대한 참조 시점의 개수와 L1 방향에 대한 참조 시점의 개수로 구분되어 획득될 수 있다. 이러한 경우, 슬라이스 내의 모든 블록들은 시퀀스 파라미터 세트의 확장 영역으로부터 획득된 동일한 글로벌 움직임 벡터를 이용하게 된다. 그리고, 매크로블록 레이어에서는 각각 다른 글로벌 움직임 벡터를 이용할 수 있다. 이때 상기 글로벌 움직임 벡터를 가리키는 인덱스는 이미 코딩된 인터뷰 픽쳐 그룹의 글로벌 움직임 벡터의 인덱스와 동일할 수 있다. 또한, 상기 글로벌 움직임 벡터의 시점 식별 번호는 이미 코딩된 인터뷰 픽쳐 그룹의 글로벌 움직임 벡터가 가리키는 시점의 식별 번호와 동일할 수 있다.
다른 예로, 인코더에서 계산된 가장 효율이 좋은 대응 블록의 시점 식별 번호를 전송할 수 있다. 즉, 선택된 참조 시점의 시점 식별 번호가 매크로블록 레벨에서 코딩될 수 있다. 또는 선택된 참조 시점의 시점 식별 번호가 슬라이스 레벨에 서 코딩될 수 있다. 또는 슬라이스 레벨과 매크로블록 레벨 중 어느 하나를 선택할 수 있는 플래그 정보를 슬라이스 레벨에서 정의할 수 있다. 예를 들어, 상기 플래그 정보가 매크로블록 레벨에서의 이용을 나타내는 경우, 참조 시점의 시점 식별 번호는 매크로블록 레벨에서 파싱될 수 있다. 또는 상기 플래그 정보가 슬라이스 레벨에서의 이용을 나타내는 경우, 참조 시점의 시점 식별 번호는 슬라이스 레벨에서 파싱되고 매크로블록 레벨에서는 파싱되지 않는다.
한편, L0,L1 방향의 참조 시점 리스트에 포함되어 있는 참조 시점들 중에서 어느 시점을 참조 시점으로 할 것인지에 관한 정보가 전송되지 않을 수 있다. 이런 경우, 각 참조 시점들의 대응 블록에 모션 정보가 존재하는지 여부를 체크하면서, 최종적인 참조 시점 및 대응 블록을 결정할 수 있다. L0,L1 방향의 참조 시점 리스트 중 어느 참조 시점 리스트에 속하는 참조 시점부터 최우선적으로 체크를 할 것인지, 그 참조 시점에 모션 정보가 없는 경우, 그 이후에는 어느 순서대로 체크를 할 것인지에 관해 다양한 실시예가 존재할 수 있다.
예를 들어, 특정 참조 시점 리스트에 속하는 참조 시점들간 우선 순위에 있어서, 첫째, L0 방향의 참조 시점 리스트(또는 L1 방향의 참조 시점 리스트)에 포함되어 있는 참조 시점들 중에서, 참조 시점을 가르키는 인덱스가 낮은 순서대로 체크할 수 있다. 여기서, 참조 시점을 가르키는 인덱스란, 인코더에서 비트스트림을 코딩할 때 설정된 참조 시점들의 일련 번호일 수 있는 데, 예를 들어 시퀀스 확장 정보(SPS extension)에서 의넌-인터뷰 픽쳐 그룹의 참조 시점을 non_anchor_ref_l0[i] 또는 non_anchor_ref_l1[i]라고 표현할 때, 여기서 i가 참조 시점을 가르키는 인덱스일 수 있다. 인코더에서, 현재 시점과 가까운 순서대로 낮은 인덱스를 부여할 수 있지만, 본 발명은 이에 한정되지 아니한다. 만약, 인덱스 'i'가 0부터 시작하는 경우, i=0인 참조 시점을 체크하고, 다음으로 i=1인 참조 시점을, 그 다음 i=2인 참조 시점을 체크할 수 있다.
다른 예로, L0 방향의 참조 시점 리스트(또는 L1 방향의 참조 시점 리스트)에 포함되어 있는 참조 시점들 중에서, 현재 시점과 가까운 순서대로 참조 시점들을 체크할 수 있다.
다른 예로, L0 방향의 참조 시점 리스트(또는 L1 방향의 참조 시점 리스트)에 포함되어 있는 참조 시점들 중에서, 기준 시점(base view)과 가까운 순서대로 참조 시점들을 체크할 수 있다.
L0 방향의 참조 시점 리스트 및 L1 방향의 참조 시점 리스트 간의 우선 순위에 있어서, L1 방향의 참조 시점 리스트보다 L0 방향의 참조 시점 리스트에 속하는 참조 시점부터 체크하는 것으로 설정할 수 있다. 이와 같은 설정을 전제로 하여, 참조 시점이 L0 방향의 참조 시점 리스트 및 L1 방향의 참조 시점 리스트 모두에 존재하는 경우, L0 방향의 참조 시점 리스트에 또는 L1 방향의 참조 시점 리스트에만 존재하는 경우 각각에 대해서 이하에서 설명하고자 한다.
도 8 및 도 9는 본 발명이 적용되는 실시예로서, 현재 시점에 대한 참조 시점 리스트로부터 참조 시점 및 대응 블록을 결정하는 방법의 일례를 나타낸 것이다.
도 8 및 도 9를 참조하면, 현재 시점(Vc) 및 현재 블록(MBc)을 기준으로, L0 방향의 참조 시점 리스트(RL1) 및 L1 방향의 참조 시점 리스트(RL2)가 모두 존재함을 알 수 있다. L0 방향의 참조 시점 리스트(RL1) 중에서, 참조 시점을 나타내는 인덱스가 가장 낮은 시점(VC-1=non_anchor_ref_l0[0])을 제1 참조시점(RV1)으로 결정하고, 현재 시점(Vc) 및 제1 참조시점(RV1)간의 글로벌 움직임 벡터(GDV_l0[0])가 가르키는 블록을 제1 대응 블록(CB1)으로 결정할 수 있다(S310). 만약, 제1 대응 블록(CB1)이 인트라 블록이 아닌 경우, 즉, 모션 정보가 존재하는 경우(S320), 제1 대응 블록을 최종적으로 대응 블록으로 결정하고, 제1 대응 블록으로부터 모션 정보를 획득할 수 있다(S332).
반면, 제1 대응 블록(CB1)의 블록 타입이 화면내 예측 블록인 경우(S320), L1 방향의 참조 시점 리스트(RL2) 중에서 인덱스가 가장 낮은 시점 (VC+1=non_anchor_ref_l1[0])을 제2 참조시점(RV2)으로 결정하고, 현재 시점(Vc) 및 제2 참조시점(RV2)간의 글로벌 움직임 벡터(GDV_l1[0])가 가르키는 블록을 제2 대응 블록(CB2)로 결정할 수 있다(S334). 그리고, 앞서 설명된 S320 단계, S332 단계, S334와 마찬가지로, 제2 대응 블록(CB2)에 모션 정보가 존재하지 않는 경우, L0 방향의 참조 시점 리스트(RL1) 중 인덱스가 두번째로 낮은 시점(VC-2=non_anchor_ref_l0[1])을 제3 참조시점(RV3)으로, L1 방향의 참조 시점 리스트(RL2) 중 인덱스가 두번째로 낮은 시점(VC+2 =non_anchor_ref_l1[1])을 제4 참조시점(RV4)으로 하여, 제3 대응 블록(CB3) 및 제4 대응 블록(CB4)에 관하여 순차적으 로 체크할 수 있다. 즉, 참조 시점을 나타내는 인덱스를 고려하여, L0 방향의 참조 시점 리스트(RL1)과 L1 방향의 참조 시점 리스트(RL2)의 각 참조 시점을 번갈아 가면서 모션 정보가 존재하는지 여부를 체크하는 것이다.
만약, 현재 시점에 대한 시점간 참조 정보에서 가장 낮은 인덱스를 갖는 시점(예: non_anchor_ref_l0[i], non_anchor_ref_l1[i], i=0)이 현재 시점(Vc)과 가장 가까운 시점인 경우, 참조 시점의 후보(즉, 상기 제1 참조시점, 상기 제2 참조시점 등)의 선정 기준은 현재 시점(Vc)과 가장 가까운 순서가 될 수도 있다. 한편, 가장 낮은 인덱스를 갖는 시점이 기준 시점(base view)와 가까운 시점인 경우, 참조시점의 후보 선정 기준은 기준 시점(base view) 또는 기준 시점(base view)과 가장 가까운 순서가 될 수도 있으나, 본 발명은 이에 한정되지 아니한다.
다른 예로, 이웃 블록의 참조 정보에 기초하여 참조 시점을 선택할 수 있다. 예를 들어, 현재 블록에 이웃하는 블록들 중 시점 방향의 참조 정보가 이용가능한 이웃 블록이 존재하지 않는 경우, 시점간 참조 관계에 기초하여 참조 시점을 선택할 수 있다. 또는 현재 블록에 이웃하는 블록들 중 시점 방향의 참조 정보가 이용가능한 이웃 블록이 하나 존재하는 경우, 상기 현재 블록은 상기 하나의 이웃 블록의 시점 방향 참조 정보를 이용할 수 있다. 또는 현재 블록에 이웃하는 블록들 중 시점 방향의 참조 정보가 이용가능한 이웃 블록이 2이상 존재하는 경우, 동일한 시점 방향의 참조 정보를 가지는 이웃 블록들의 시점 방향 참조 정보를 이용할 수 있다.
다른 예로, 현재 블록과 동일 시간대의 다른 시점에 존재하는 블록의 블록타 입에 기초하여 참조 시점을 선택할 수 있다. 예를 들어, 16x16 매크로블록을 레벨 0, 16x8 또는 8x16 매크로블록을 레벨 1, 8x8 매크로블록을 레벨 2, 8x4 또는 4x8 매크로블록을 레벨 3, 4x4 매크로블록을 레벨 4라고 가정하자 복수개의 참조 시점들 중 각 대응 블록들의 블록 타입을 비교할 수 있다. 상기 블록 타입이 모두 동일한 경우, 앞서 설명했던 방식을 적용하여 L0 또는 L1 방향에 대한 참조 시점 리스트로부터 참조 시점을 선택할 수 있다. 반면, 상기 블록 타입이 모두 동일하지 않은 경우에는, 보다 상위 레벨에있는 블록을 포함하는 참조 시점을 우선적으로 선택할 수 있다. 또는 보다 하위 레벨에 있는 블록을 포함하는 참조 시점을 우선적으로 선택할 수도 있다.
도 10 내지 도 11은 본 발명이 적용되는 실시예로서, 다시점 비디오 코딩에 있어서 다양한 확장성을 제공하기 위한 실시예들을 설명하기 위해 나타낸 것이다.
도 10(a)는 공간 확장성(spatial scalability)을 나타내고, 도 10(b)는 프레임/필드 확장성(frame/field scalability)을 나타내고, 도 10(c)는 비트 깊이 확장성(bit depth scalability)을 나타내고, 도 10(d)는 색차 포맷 확장성(chroma format scalability)을 나타낸다.
본 발명의 실시예로서, 다시점 비디오 코딩에 있어서 각 시점마다 독립적인 시퀀스 파라미터 세트 정보를 이용할 수 있다. 각 시점마다 독립적인 시퀀스 파라미터 세트 정보를 이용하게 된다면, 상기 다양한 확장성에 대한 정보들은 각 시점마다 독립적으로 적용될 수 있다.
다른 실시예로서, 다시점 비디오 코딩에 있어서 모든 시점이 단 하나의 시퀀 스 파라미터 세트 정보를 이용할 수 있다. 모든 시점이 하나의 시퀀스 파라미터 세트 정보를 이용하게 된다면, 상기 다양한 확장성에 대한 정보들은 하나의 시퀀스 파라미터 세트 내에서 새롭게 정의될 필요가 있다. 이하, 상기 다양한 확장성에 대해 보다 상세히 설명하도록 한다.
첫째, 도 10(a)의 공간 확장성(spatial scalability)에 대해 설명하도록 한다. 다양한 시점에서 찍은 영상들은 여러 가지 요인으로 인해 공간 해상도가 다를 수가 있다. 예를 들어, 카메라의 특성 차이로 인해 각 시점의 공간 해상도가 다를 수 있다. 이러한 경우, 보다 효율적인 코딩을 위하여 각 시점마다 각각의 공간 해상도 정보가 필요할 수 있다. 이를 위해 상기 공간 해상도 정보를 나타내는 신택스 정보가 정의될 수 있다(S1300). 먼저, 모든 시점의 공간 해상도가 동일한지 여부를 나타내는 플래그를 정의 할 수 있다. 예를 들어, 도 11c에서 spatial_scalable_flag = 0 이면, 모든 시점의 코딩된 픽쳐들의 폭(width)과 높이(height)가 동일함을 의미할 수 있다.
spatial_scalable_flag = 1 이면, 각 시점의 코딩된 픽쳐들의 폭과 높이가 다를 수 있음을 의미할 수 있다. 상기 플래그 정보에 따라 각 시점의 공간 해상도가 동일하지 않은 경우, 공간 해상도가 기준 시점(base view)과 다른 시점들의 전체 개수에 대한 정보를 정의할 수 있다. 예를 들어, num_spatial_scalable_views_minus1 값에 1을 더한 값은 공간 해상도가 기준 시점(base view)과 다른 시점들의 전체 개수를 의미할 수 있다.
이렇게 획득된 상기 전체 개수에 따라, 공간 해상도가 기준 시점(base view) 과 다른 시점들의 시점 식별 정보를 획득할 수 있다. 예를 들어, spatial_scalable_view_id[i] 는 상기 전체 개수에 따른, 공간 해상도가 기준 시점(base view)과 다른 시점들의 시점 식별 번호를 의미할 수 있다. 또한, 상기 전체 개수에 따라, 상기 시점 식별 번호를 갖는 시점의 코딩된 픽쳐들의 폭을 나타내는 정보를 획득할 수 있다. 예를 들어, 도 11a와 도 11c에서 pic_width_in_mbs_minus1[i] 값에 1을 더한 값은, 공간 해상도가 기준 시점(base view)과 다른 시점의 코딩된 픽쳐의 폭을 의미할 수 있다. 이때, 상기 폭을 나타내는 정보는 매크로블록 단위에 대한 정보일 수 있다. 따라서, 휘도 성분에 대한 픽쳐의 폭은 상기 pic_width_in_mbs_minus1[i] 값에 16을 곱한 값일 수 있다.
또한, 상기 전체 개수에 따라, 상기 시점 식별 번호와 동일한 시점의 코딩된 픽쳐들의 높이를 나타내는 정보를 획득할 수 있다. 예를 들어, pic_height_in_map_units_minus1[i] 값에 1을 더한 값은, 공간 해상도가 기준 시점(base view)과 다른 시점의 코딩된 프레임/필드의 높이를 의미할 수 있다. 이때, 상기 높이를 나타내는 정보는 슬라이스 그룹 맵 단위에 대한 정보일 수 있다. 따라서, 픽쳐의 크기는 상기 폭을 나타내는 정보와 상기 높이를 나타내는 정보를 곱한 값일 수 있다.
둘째, 도 10(b)의 프레임/필드 확장성(frame/field scalability)에 대해 설명하도록 한다. 다양한 시점에서 찍은 영상들은 여러 가지 요인으로 인해 코딩 방식이 다를 수가 있다. 예를 들어, 각 시점 영상들은 프레임 부호화, 필드 부호화, 픽쳐 레벨 필드/프레임 적응 부호화 또는 매크로블록 레벨 필드/프레임 적응 부호 화 방식에 의해 코딩될 수 있다. 이러한 경우, 보다 효율적인 코딩을 위하여 각 시점마다 각각의 부호화 방식을 알려줄 필요가 있다. 이를 위해 상기 부호화 방식을 나타내는 신택스 정보가 정의될 수 있다(S1400).
먼저, 모든 시점 영상의 부호화 방식이 동일한지 여부를 나타내는 플래그를 정의할 수 있다. 예를 들어, 도 11c에서 frame_field_scalable_flag = 0 이면, 모든 시점의 코딩 방식을 나타내는 플래그 정보가 동일함을 의미할 수 있다. 상기 코딩 방식을 나타내는 플래그 정보의 예로는, 도 11a와 도 11c를 참조하면, frame_mbs_only_flag 와 mbadaptive_frame_field_flag 가 있을 수 있다. 상기 frame_mbs_only_flag 는 코딩된 픽쳐가 오로지 프레임 매크로블록만을 포함하는지 여부를 나타내는 플래그 정보를 의미할 수 있다. 상기 mbadaptive_frame_field_flag 는 프레임 내에서 프레임 매크로블록과 필드 매크로블록 사이의 스위칭이 일어나는지 여부를 나타내는 플래그 정보를 의미할 수 있다. 상기 frame_field_scalable_flag = 1 이면, 각 시점마다 코딩 방식을 나타내는 플래그 정보가 다름을 의미할 수 있다.
상기 플래그 정보에 따라 각 시점의 코딩 방식이 동일하지 않은 경우, 코딩 방식이 기준 시점(base view)과 다른 시점들의 전체 개수에 대한 정보를 정의할 수 있다. 예를 들어, num_frame_field_scalable_views_minus1 값에 1을 더한 값은 프레임/필드 코딩 방식이 기준 시점(base view)과 다른 시점들의 전체 개수를 의미할 수 있다.
이렇게 획득된 상기 전체 개수에 따라, 코딩 방식이 기준 시점(base view)과 다른 시점들의 시점 식별 정보를 획득할 수 있다. 예를 들어, frame_field_scalable_view_id[i] 는 상기 전체 개수에 따른, 코딩 방식이 기준 시점(base view)과 다른 시점들의 시점 식별 번호를 의미할 수 있다. 또한, 상기 전체 개수에 따라, 상기 시점 식별 번호와 동일한 시점의 코딩된 픽쳐들의 코딩 방식을 나타내는 정보를 획득할 수 있다. 예를 들어, frame_mbs_only_flag[i] 와 mbadaptive_frame_field_flag[i] 가 있을 수 있다. 이에 대해서는 상기에서 설명한 바 있다.
셋째, 도 10(c)의 비트 깊이 확장성(bit depth scalability)에 대해 설명하도록 한다. 다양한 시점에서 찍은 영상들은 여러 가지 요인으로 인해 휘도 신호 및 색차 신호의 비트 깊이와 양자화 파라미터 레인지 오프셋이 다를 수가 있다. 이러한 경우, 보다 효율적인 코딩을 위하여 각 시점마다 각각의 비트 깊이와 양자화 파라미터 레인지 오프셋을 알려줄 필요가 있다. 이를 위해 상기 비트 깊이와 양자화 파라미터 레인지 오프셋을 나타내는 신택스 정보가 정의될 수 있다(S1200).
먼저, 모든 시점 영상의 비트 깊이와 양자화 파라미터 레인지 오프셋이 동일한지 여부를 나타내는 플래그를 정의할 수 있다. 예를 들어, bit_depth_scalable_flag = 0 이면, 모든 시점의 비트 깊이와 양자화 파라미터 레인지 오프셋이 동일함을 의미할 수 있다. 상기 bit_depth_scalable_flag = 1 이면, 각 시점마다 비트 깊이와 양자화 파라미터 레인지 오프셋이 다름을 의미할 수 있다. 상기 플래그 정보는 프로파일 식별자에 기초하여 시퀀스 파라미터 세트의 확장 영역으로부터 획득될 수 있다.
상기 플래그 정보에 따라 각 시점의 비트 깊이가 동일하지 않은 경우, 비트 깊이가 기준 시점(base view)과 다른 시점들의 전체 개수에 대한 정보를 정의할 수 있다. 예를 들어, num_bit_depth_scalable_views_minus1 값에 1을 더한 값은 비트 깊이가 기준 시점(base view)과 다른 시점들의 전체 개수를 의미할 수 있다. 이렇게 획득된 상기 전체 개수에 따라, 비트 깊이가 기준 시점(base view)과 다른 시점들의 시점 식별 정보를 획득할 수 있다. 예를 들어, bit_depth_scalable_view_id[i] 는 상기 전체 개수에 따른, 비트 깊이가 기준 시점과 다른 시점들의 시점 식별 번호를 의미할 수 있다.
또한, 상기 전체 개수에 따라, 상기 시점 식별 번호와 동일한 시점의 휘도 신호 및. 색차 신호의 비트 깊이와 양자화 파라미터 레인지 오프셋을 나타내는 정보를 획득할 수 있다. 예를 들어, 도 11a와 도 11b에서, bit_depth_luma_minus8[i] 와 bit_depth_chroma_minus8[i] 가 있을 수 있다. 상기 bit_depth_luma_minus8[i] 는 비트 깊이가 기준 시점과 다른 시점의 비트 깊이와 양자화 파라미터 레인지 오프셋을 의미할 수 있다. 이때, 상기 비트 깊이는 휘도 신호에 대한 정보일 수 있다. 상기 bit_depth_chroma_minus8[i] 는 비트 깊이가 기준 시점과 다른 시점의 비트 깊이와 양자화 파라미터 레인지 오프셋을 의미할 수 있다. 이때, 상기 비트 깊이는 색차 신호에 대한 정보일 수 있다. 상기 비트 깊이 정보들과 매크로블록의 폭과 높이 정보들을 이용하여, 상기 시점 식별 번호와 동일한 시점의 원래 매크로블록의 비트(RawMbBits[i])를 알 수 있다.
넷째, 도 10(d)의 색차 포맷 확장성(chroma format scalability)에 대해 설 명하도록 한다. 다양한 시점에서 찍은 영상들은 여러 가지 요인으로 인해 각 시점마다 영상 포맷이 다를 수가 있다. 이러한 경우, 보다 효율적인 코딩을 위하여 각 시점의 영상 포맷을 알려줄 필요가 있다. 이를 위해 상기 영상 포맷을 나타내는 신택스 정보가 정의될 수 있다(S1100).
먼저, 모든 시점의 영상 포맷이 동일한지 여부를 나타내는 플래그를 정의 할 수 있다. 예를 들어, chroma_format_scalable_flag = 0 이면, 모든 시점의 영상 포맷이 동일함을 의미할 수 있다. 즉, 휘도 샘플 대비 색차 샘플의 비율이 동일함을 의미할 수 있다. chroma_format_scalable_flag = 1 이면, 각 시점의 영상 포맷이 다를 수 있음을 의미할 수 있다. 상기 플래그는 프로파일 식별자에 기초하여 시퀀스 파라미터 세트의 확장 영역으로부터 획득될 수 있다.
상기 플래그에 따라 각 시점의 영상 포맷이 동일하지 않은 경우, 영상 포맷이 기준 시점(base view)과 다른 시점들의 전체 개수에 대한 정보를 정의할 수 있다. 예를 들어, num_chroma_format_scalable_views_minus1 값에 1을 더한 값은 영상 포맷이 기준 시점과 다른 시점들의 전체 개수를 의미할 수 있다.
이렇게 획득된 상기 전체 개수에 따라, 영상 포맷이 기준 시점(base view)과 다른 시점들의 시점 식별 정보를 획득할 수 있다. 예를 들어, chroma_format_scalable_view_id[i] 는 상기 전체 개수에 따른, 영상 포맷이 기준 시점(base view)과 다른 시점들의 시점 식별 번호를 의미할 수 있다.
또한, 상기 전체 개수에 따라, 상기 시점 식별 번호를 갖는 시점의 영상 포맷을 나타내는 정보를 획득할 수 있다. 예를 들어, 도 11b에서 chroma_format_idc[i] 는 영상 포맷이 기준 시점(base view)과 다른 시점의 영상 포맷을 의미할 수 있다. 구체적 예로, 4:4:4 포맷, 4:2:2 포맷 또는 4:2:0 포맷을 의미할 수 있다. 이 때, 상기 chroma_format_idc[i]가 4:4:4 포맷을 나타내는 경우에는 레지듀얼 컬러 변환 과정이 적용되는지 여부를 나타내는 플래그(residual_colour_transform_flag[i]) 정보를 획득할 수 있다.
이상에서 설명한 바와 같이, 본 발명이 적용되는 디코딩/인코딩 장치는 DMB(Digital Multimedia Broadcasting)과 같은 멀티미디어 방송 송/수신 장치에 구비되어, 비디오 신호 및 데이터 신호 등을 복호화하는데 사용될 수 있다. 또한 상기 멀티미디어 방송 송/수신 장치는 이동통신 단말기를 포함할 수 있다.
또한, 본 발명이 적용되는 디코딩/인코딩 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 인코딩 방법에 의해 생성된 비트스트림은 컴퓨터가 읽을 수 있는 기록 매체에 저장되거나, 유/무선 통신망을 이용해 전송될 수 있다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.

Claims (13)

  1. 현재 NAL 유닛의 코딩된 픽쳐가 인터 뷰 픽쳐 그룹인지를 나타내는 식별 정보를 획득하는 단계;
    상기 식별 정보에 따라 넌-인터뷰 픽쳐 그룹의 시점간 참조 정보를 획득하는 단계;
    상기 넌-인터뷰 픽쳐 그룹의 시점간 참조 정보에 따라 움직임 벡터를 획득하는 단계;
    상기 움직임 벡터를 이용하여 제 1 대응 블록의 위치를 유도하는 단계 및 상기 유도된 제 1 대응 블록의 움직임 정보를 이용하여 현재 블록을 디코딩하는 단계를 포함하되,
    상기 시점간 참조 정보는 넌-인터뷰 픽쳐 그룹의 참조 시점의 개수 정보를 포함하는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  2. 제 1항에 있어서,
    상기 유도된 제 1 대응 블록의 블록 타입을 확인하는 단계를 더 포함하되,
    상기 제 1 대응 블록의 블록 타입에 기초하여, 상기 제 1 대응 블록의 시점과 다른 참조 시점에 존재하는 제 2 대응 블록의 위치를 유도할지 여부가 결정되는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  3. 제 2항에 있어서,
    상기 제 1 대응 블록 및 제 2 대응 블록의 위치는 일정한 순서에 기초하여 유도되는 것을 특징으로 하며,
    상기 일정한 순서는 넌-인터뷰 픽쳐 그룹의 L0 방향에 대한 참조 시점을 우선적으로 이용하고, 그 다음에 L1 방향에 대한 참조 시점을 이용하는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  4. 제 3항에 있어서,
    상기 제 1 대응 블록의 블록 타입이 인트라 블록인 경우, 상기 L1 방향에 대한 참조 시점을 이용할 수 있는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  5. 제 3항에 있어서,
    상기 L0/L1 방향에 대한 참조 시점은 현재 시점과 가장 가까운 순서대로 이용되는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  6. 제 1항에 있어서,
    상기 현재 블록의 움직임 정보가 유도될지 여부를 나타내는 플래그 정보를 획득하는 단계를 더 포함하되,
    상기 플래그 정보에 기초하여 상기 제 1 대응 블록의 위치를 유도하는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  7. 제 1항에 있어서,
    상기 제 1 대응 블록의 움직임 정보를 획득하는 단계;
    상기 제 1 대응 블록의 움직임 정보에 기초하여 상기 현재 블록의 움직임 정보를 유도하는 단계를 더 포함하되,
    상기 현재 블록의 움직임 정보를 이용하여 상기 현재 블록을 디코딩하는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  8. 제 1항에 있어서,
    상기 움직임 정보는 움직임 벡터 및 참조 번호를 포함하는 것을 특징으로 하는 비디오 신호 디코딩 방법.
  9. 제 1항에 있어서,
    상기 움직임 벡터는 인터뷰 픽쳐 그룹의 글로벌 움직임 벡터인 것을 특징으로 하는 비디오 신호 디코딩 방법.
  10. 현재 NAL 유닛의 코딩된 픽쳐가 인터 뷰 픽쳐 그룹인지를 나타내는 식별 정보에 따라 넌-인터뷰 픽쳐 그룹의 시점간 참조 정보를 획득하는 참조 정보 획득부와;
    상기 넌-인터뷰 픽쳐 그룹의 시점간 참조 정보에 따라 획득된 인터뷰 픽쳐 그룹의 글로벌 움직임 벡터를 이용하여 대응 블록의 위치를 유도하는 대응 블록 탐색부를 포함하되,
    상기 시점간 참조 정보는 넌-인터뷰 픽쳐 그룹의 참조 시점의 개수 정보를 포함하는 것을 특징으로 하는 비디오 신호 디코딩 장치.
  11. 제 1 항에 있어서,
    상기 비디오 신호는, 방송 신호로서 수신된 것임을 특징으로 하는 비디오 신호 디코딩 방법.
  12. 제 1 항에 있어서,
    상기 비디오 신호는, 디지털 미디엄을 통해 수신된 것임을 특징으로 하는 비디오 신호 디코딩 방법.
  13. 제 1 항에 기재된 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
KR1020097018359A 2007-03-02 2008-03-03 비디오 신호 디코딩/인코딩 방법 및 장치 KR20090129412A (ko)

Applications Claiming Priority (14)

Application Number Priority Date Filing Date Title
US89275307P 2007-03-02 2007-03-02
US60/892,753 2007-03-02
US90792607P 2007-04-23 2007-04-23
US60/907,926 2007-04-23
US94640207P 2007-06-27 2007-06-27
US60/946,402 2007-06-27
US94820107P 2007-07-06 2007-07-06
US60/948,201 2007-07-06
US94951607P 2007-07-13 2007-07-13
US60/949,516 2007-07-13
US95193607P 2007-07-25 2007-07-25
US60/951,936 2007-07-25
US99269307P 2007-12-05 2007-12-05
US60/992,693 2007-12-05

Publications (1)

Publication Number Publication Date
KR20090129412A true KR20090129412A (ko) 2009-12-16

Family

ID=39738410

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097018359A KR20090129412A (ko) 2007-03-02 2008-03-03 비디오 신호 디코딩/인코딩 방법 및 장치

Country Status (4)

Country Link
EP (1) EP2135454A4 (ko)
JP (1) JP2010520697A (ko)
KR (1) KR20090129412A (ko)
WO (1) WO2008108566A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012036468A2 (en) * 2010-09-14 2012-03-22 Samsung Electronics Co., Ltd. Method and apparatus for hierarchical picture encoding and decoding
WO2012177052A2 (ko) * 2011-06-21 2012-12-27 한국전자통신연구원 인터 예측 방법 및 그 장치
WO2013055148A2 (ko) * 2011-10-12 2013-04-18 엘지전자 주식회사 영상 인코딩 방법 및 디코딩 방법
WO2014054896A1 (ko) * 2012-10-07 2014-04-10 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
WO2014112830A1 (ko) * 2013-01-17 2014-07-24 삼성전자 주식회사 디코더 설정을 위한 비디오 부호화 방법 및 그 장치, 디코더 설정에 기초한 비디오 복호화 방법 및 그 장치
US9532042B2 (en) 2011-06-21 2016-12-27 Electronics And Telecommunications Research Institute Inter-prediction method and apparatus for same

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5303556B2 (ja) 2007-08-06 2013-10-02 トムソン ライセンシング 複数のインタービュー参照ピクチャを用いたモーションスキップモードのための方法及び装置
JP5298201B2 (ja) * 2008-10-07 2013-09-25 テレフオンアクチーボラゲット エル エム エリクソン(パブル) メディアコンテナファイル
KR101158491B1 (ko) 2008-12-08 2012-06-20 한국전자통신연구원 다시점 영상 부호화, 복호화 방법 및 그 장치.
CN102131091B (zh) * 2010-01-15 2013-01-23 联发科技股份有限公司 解码端运动向量导出方法
US20110176611A1 (en) * 2010-01-15 2011-07-21 Yu-Wen Huang Methods for decoder-side motion vector derivation
EP2613537A4 (en) * 2010-09-03 2014-08-06 Sony Corp DEVICE AND ENCODING METHOD, AND DEVICE, AND DECODING METHOD
RU2013108074A (ru) * 2010-09-03 2014-08-27 Сони Корпорейшн Устройство кодирования, способ кодирования, устройство декодирования и способ декодирования
KR101893559B1 (ko) * 2010-12-14 2018-08-31 삼성전자주식회사 다시점 비디오 부호화/복호화 장치 및 방법
KR20120095610A (ko) * 2011-02-21 2012-08-29 삼성전자주식회사 다시점 비디오의 부호화 방법 및 장치, 그 복호화 방법 및 장치
JPWO2012121052A1 (ja) * 2011-03-08 2014-07-17 ソニー株式会社 画像処理装置、画像処理方法、及び、プログラム
JP5664762B2 (ja) * 2011-03-17 2015-02-04 富士通株式会社 動画像復号方法、動画像符号化方法、動画像復号装置及び動画像復号プログラム
US9247249B2 (en) 2011-04-20 2016-01-26 Qualcomm Incorporated Motion vector prediction in video coding
AU2012269583B2 (en) * 2011-06-15 2015-11-26 Hfi Innovation Inc. Method and apparatus of motion and disparity vector prediction and compensation for 3D video coding
JP5947405B2 (ja) * 2012-02-01 2016-07-06 ノキア テクノロジーズ オーユー ビデオ符号化方法および装置
US10200709B2 (en) 2012-03-16 2019-02-05 Qualcomm Incorporated High-level syntax extensions for high efficiency video coding
US9503720B2 (en) 2012-03-16 2016-11-22 Qualcomm Incorporated Motion vector coding and bi-prediction in HEVC and its extensions
US9762903B2 (en) * 2012-06-01 2017-09-12 Qualcomm Incorporated External pictures in video coding
EP2871567A4 (en) * 2012-07-06 2016-01-06 Samsung Electronics Co Ltd METHOD AND APPARATUS FOR ENCODING MULTILAYER VIDEO, AND METHOD AND APPARATUS FOR DECODING MULTILAYER VIDEO
WO2014056423A1 (en) 2012-10-09 2014-04-17 Mediatek Inc. Method and apparatus for motion information prediction and inheritance in video coding
US9521389B2 (en) * 2013-03-06 2016-12-13 Qualcomm Incorporated Derived disparity vector in 3D video coding
US10080030B2 (en) 2013-04-11 2018-09-18 Lg Electronics Inc. Video signal processing method and device
US9628795B2 (en) * 2013-07-17 2017-04-18 Qualcomm Incorporated Block identification using disparity vector in video coding
CN103533361B (zh) * 2013-10-21 2017-01-04 华为技术有限公司 多视点视差矢量的确定方法、编码设备及解码设备
EP3796652B1 (en) * 2019-09-23 2022-05-18 Axis AB Video encoding method and method for reducing file size of encoded video
CN116456100B (zh) * 2023-06-16 2023-08-29 深流微智能科技(深圳)有限公司 一种帧间编码树单元划分方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050008240A1 (en) * 2003-05-02 2005-01-13 Ashish Banerji Stitching of video for continuous presence multipoint video conferencing
US20050201471A1 (en) * 2004-02-13 2005-09-15 Nokia Corporation Picture decoding method
KR100770704B1 (ko) * 2005-08-04 2007-10-29 삼성전자주식회사 픽쳐 스킵 방법 및 장치
CN102292990B (zh) * 2008-11-25 2016-10-05 汤姆森特许公司 对视频编码和解码进行基于稀疏性的去伪像滤波的方法和装置

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012036468A3 (en) * 2010-09-14 2012-06-14 Samsung Electronics Co., Ltd. Method and apparatus for hierarchical picture encoding and decoding
WO2012036468A2 (en) * 2010-09-14 2012-03-22 Samsung Electronics Co., Ltd. Method and apparatus for hierarchical picture encoding and decoding
US10536704B2 (en) 2011-06-21 2020-01-14 Electronics And Telecommunications Research Institute Inter-prediction method and apparatus for same
WO2012177052A2 (ko) * 2011-06-21 2012-12-27 한국전자통신연구원 인터 예측 방법 및 그 장치
WO2012177052A3 (ko) * 2011-06-21 2013-02-28 한국전자통신연구원 인터 예측 방법 및 그 장치
US11706423B2 (en) 2011-06-21 2023-07-18 University-Industry Cooperation Group Of Kyung Hee University Inter-prediction method and apparatus for same
US11412231B2 (en) 2011-06-21 2022-08-09 Electronics And Telecommunications Research Institute Inter-prediction method and apparatus for same
US10986348B2 (en) 2011-06-21 2021-04-20 Electronics And Telecommunications Research Institute Inter-prediction method and apparatus for same
US9532042B2 (en) 2011-06-21 2016-12-27 Electronics And Telecommunications Research Institute Inter-prediction method and apparatus for same
US10917645B2 (en) 2011-06-21 2021-02-09 Electronics And Telecommunications Research Institute Inter-prediction method and apparatus for same
US9854248B2 (en) 2011-06-21 2017-12-26 Electronics And Telecommunications Research Institute Inter-prediction method and apparatus for same
US10085031B2 (en) 2011-06-21 2018-09-25 Electronics And Telecommunications Research Institute Inter-prediction method and apparatus for same
WO2013055148A2 (ko) * 2011-10-12 2013-04-18 엘지전자 주식회사 영상 인코딩 방법 및 디코딩 방법
US10659758B2 (en) 2011-10-12 2020-05-19 Lg Electronics Inc. Image encoding method and image decoding method
US9712819B2 (en) 2011-10-12 2017-07-18 Lg Electronics Inc. Image encoding method and image decoding method
WO2013055148A3 (ko) * 2011-10-12 2013-07-04 엘지전자 주식회사 영상 인코딩 방법 및 디코딩 방법
US10171836B2 (en) 2012-10-07 2019-01-01 Lg Electronics Inc. Method and device for processing video signal
WO2014054896A1 (ko) * 2012-10-07 2014-04-10 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
WO2014112830A1 (ko) * 2013-01-17 2014-07-24 삼성전자 주식회사 디코더 설정을 위한 비디오 부호화 방법 및 그 장치, 디코더 설정에 기초한 비디오 복호화 방법 및 그 장치

Also Published As

Publication number Publication date
EP2135454A4 (en) 2010-09-01
JP2010520697A (ja) 2010-06-10
EP2135454A1 (en) 2009-12-23
WO2008108566A1 (en) 2008-09-12

Similar Documents

Publication Publication Date Title
KR20090129412A (ko) 비디오 신호 디코딩/인코딩 방법 및 장치
KR100949982B1 (ko) 비디오 신호를 디코딩/인코딩하기 위한 방법 및 장치
US8488677B2 (en) Method and an apparatus for decoding/encoding a video signal
US20100266042A1 (en) Method and an apparatus for decoding/encoding a video signal
KR20120027193A (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