KR20150008805A - 비디오 비트스트림의 계층 정보 표현 방법 - Google Patents

비디오 비트스트림의 계층 정보 표현 방법 Download PDF

Info

Publication number
KR20150008805A
KR20150008805A KR20140072591A KR20140072591A KR20150008805A KR 20150008805 A KR20150008805 A KR 20150008805A KR 20140072591 A KR20140072591 A KR 20140072591A KR 20140072591 A KR20140072591 A KR 20140072591A KR 20150008805 A KR20150008805 A KR 20150008805A
Authority
KR
South Korea
Prior art keywords
layer
layers
bitstream
information
sub
Prior art date
Application number
KR20140072591A
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 KR20150008805A publication Critical patent/KR20150008805A/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/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

본 발명에 따른 복수의 계층을 지원하는 비디오 비트스트림의 계층 정보 표현방법은 공간/화질, 시점, 시간 스케일러빌리티 가운데 적어도 하나의 스케일러빌리티를 지원하는 비트스트림을 부호화하는 단계와; 소정의 공간/화질, 시점, 시간 계층을 포함하도록 부호화된 비트스트림을 적응 변환(추출)하는 단계와; 추출된 비트스트림을 복호화하는 단계를 포함할 수 있다. 이로써, 계층적 비트스트림이 적응변환기(extractor)에서 적응 변환된 이후에 적응 변환된 비트스트림 내에 존재하는 계층 정보를 시그널링할 수 있다.

Description

비디오 비트스트림의 계층 정보 표현 방법{Method for signalling of scalable bitstream information in a video bitstream}
본 발명은 비디오 비트스트림의 계층 정보 표현방법에 관한 것으로서, 보다 상세하게는 계층적 비트스트림이 적응변환기(extractor)에서 적응 변환된 비디오 비트스트림의 계층 정보 표현방법 에 관한 것이다.
최근 HD(High Definition) 해상도를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되면서, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지고 있으며 이에 따라 많은 기관들이 차세대 영상기기에 대한 개발에 박차를 가하고 있다. 또한 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 보다 높은 해상도, 고화질의 영상에 대한 압축기술이 요구되고 있다.
영상 압축을 위해, 시간적으로 이전 및/또는 이후의 픽쳐로부터 현재 픽쳐에 포함된 화소값을 예측하는 인터(inter) 예측 기술, 현재 픽쳐 내의 화소 정보를 이용하여 현재 픽쳐에 포함된 화소값을 예측하는 인트라(intra) 예측 기술, 출현 빈도가 높은 심볼(symbol)에 짧은 부호를 할당하고 출현 빈도가 낮은 심볼에 긴 부호를 할당하는 엔트로피 부호화 기술 등이 사용될 수 있다.
영상 압축 기술에는 유동적인 네트워크 환경을 고려하지 않고 하드웨어의 제한적인 동작 환경하에서 일정한 네트워크 대역폭을 제공하는 기술이 있다. 그러나 수시로 대역폭이 변화하는 네트워크 환경에 적용되는 영상 데이터를 압축하기 위해서는 새로운 압축 기술이 요구되고, 이를 위해 스케일러블(scalable) 비디오 부호화/복호화 방법이 사용될 수 있다.
본 발명의 일 실시예는 계층적 비트스트림이 적응변환기(extractor)에서 적응 변환된 이후에 적응 변환된 비트스트림 내에 존재하는 계층 정보를 시그널링할 수 있는 비디오 비트스트림의 계층 정보 표현 방법을 제공한다.
본 발명의 일 실시예는 계층적 비트스트림이 적응변환기에서 적응 변환된 이후에 특정 계층의 직접 참조계층 변경에 대한 정보를 시그널링할 수 있는 비디오 비트스트림의 계층 정보 표현 방법을 제공한다.
본 발명의 일 실시예는 계층적 비트스트림이 적응변환기(extractor)에서 적응 변환된 이후에 모든 계층이 아닌 변경된 계층에 대한 정보 또는 변경된 계층 관련 정보 가운데 시간 계층 정보를 시그널링할 수 있는 비디오 비트스트림의 계층 정보 표현 방법을 제공한다.
본 발명의 다른 실시예는 계층적 비트스트림이 적응 변환된 경우 시그널링된 정보를 통해 전달받은 비트스트림에 포함된 계층 정보를 파악하여 비트스트림을 적응 변환할 수 있는 적응변환기 또는 적응 변환된 비트스트림을 복호화 할 수 있는 복호화 장치를 제공한다.
본 발명의 일 실시예에 따른 복수의 계층을 지원하는 비디오 비트스트림의 계층 정보 표현방법은 공간/화질, 시점, 시간 스케일러빌리티 가운데 적어도 하나의 스케일러빌리티를 지원하는 비트스트림을 부호화하는 단계와; 소정의 공간/화질, 시점, 시간 계층을 포함하도록 부호화된 비트스트림을 적응 변환(추출)하는 단계와; 추출된 비트스트림을 복호화하는 단계를 포함할 수 있다.
상기 비트스트림을 부호화하는 단계는, 각 계층을 식별하는 계층 식별자, 상기 계층의 시간적 서브 계층을 나타내는 시간적 서브 레이어 정보 및 전체 레이어 중에서 추출하고자 하는 레이어 셋에 대한 정보를 부호화하고, 상기 비트스트림을 적응 변환 하는 단계는 상기 추출된 비트스트림 내에 포함된 계층에 대한 정보 및 시간적 서브 계층을 알려주는 정보를 시그널링하는 단계를 포함할 수 있다.
상기 추출된 비트스트림 내에 포함된 계층에 대한 정보는 현재 계층이 비트스트림의 부호화 시 생성된 계층들 중 추출된 비트스트림에 포함된 계층인지를 나타내는 제1 플래그 정보일 수 있다.
상기 부호화된 비트스트림에 포함되어 있는 전체 계층들 중 적어도 하나의 계층이 변경되었는지 여부를 나타내는 제2 플래그 정보를 시그널링 하는 단계를 더 포함하고, 상기 제1 플래그 정보는 상기 제2 플래그 정보가 1인 경우 시그널링 될 수 있다.
상기 제2 플래그 정보가 1인 경우, 상기 추출된 비트스트림 내의 계층의 시간 서브계층의 수가 상기 부호화된 비트스트림 내의 계층의 시간적 서브계층의 수와 다른지 여부를 나타내는 제3 플래그 정보를 시그널링하는 단계를 더 포함할 수 있다.
상기 추출된 비트스트림 내에 포함된 계층에 대한 정보는 현재 계층이 비트스트림의 부호화 시 생성된 계층들 중 추출된 비트스트림에 포함된 계층인지를 나타내는 제1 플래그 정보일 수 있다.
상기 부호화된 비트스트림에 포함되어 있는 전체 계층들 중 적어도 하나의 계층이 변경되었는지 여부를 나타내는 제2 플래그 정보를 시그널링 하는 단계를 더 포함하고, 상기 제1 플래그 정보는 상기 제2 플래그 정보가 1인 경우 시그널링될 수 있다.
상기 제2 플래그 정보가 1인 경우, 상기 추출된 비트스트림 내의 계층의 시간 서브계층의 수가 상기 부호화된 비트스트림 내의 계층의 시간적 서브계층의 수와 다른지 여부를 나타내는 제3 플래그 정보를 시그널링하는 단계를 더 포함할 수 있다.
상기 제3 플래그 정보가 1인 경우, 상기 추출된 비트스트림 내의 계층의 최대 시간적 서브계층의 수를 특정할 수 있는 정보를 시그널링하는 단계를 더 포함할 수 있다.
상기 제3 플래그 정보가 1인 경우, 상기 추출된 비트스트림 내의 계층 중 i번째 계층의 최대 시간적 서브계층의 수가 달라졌는지 여부를 나타내는 제4 플래그 정보를 시그널링하는 단계와; 상기 제4 플래그 정보가 1이면, 상기 i번째 계층의 최대 시간적 서브계층의 수를 특정할 수 있는 정보를 시그널링하는 단계를 더 포함할 수 있다.
상기 제3 플래그 정보가 1인 경우, 상기 추출된 비트스트림 내의 계층 중 i번째 계층의 최대 시간적 서브계층의 수를 i-1번째 계층의 최대 시간적 서브계층의 수 또는 최대 시간적 서브 레이어를 특정하는 정보로부터 유추할 수 있는지 여부를 나타내는 제5 플래그 정보를 시그널링하는 단계와; 상기 제5 플래그 정보가 0이면, 상기 i번째 계층의 최대 시간적 서브계층의 수를 특정할 수 있는 정보를 시그널링하는 단계를 더 포함할 수 있다.
상기 시간적 서브 계층을 알려주는 정보는 추출된 비트스트림 전체에 포함된 최대 시간 서브계층의 수를 특정할 수 있는 정보일 수 있다.
i 계층의 계층 의존성(layer dependency)이 변경되었는지 여부를 나타내는 제6 플래그 정보를 시그널링하는 단계와; 상기 제6 플래그 정보가 1이면, 상기 i 계층의 직접 참조 계층들 중 j 번째참조 계층이 상기 i번째 계층에 대하여 상기 계층 의존성을 갖는지 여부를 나타내는 제7 플래그 정보를 시그널링하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따르면 계층적 비트스트림이 적응변환기(extractor)에서 적응 변환된 이후에 적응 변환된 비트스트림 내에 존재하는 계층 정보를 시그널링할 수 있는 비디오 비트스트림의 계층 정보 표현 방법이 제공된다.
본 발명의 일 실시예에 따르면 계층적 비트스트림이 적응변환기에서 적응 변환된 이후에 특정 계층의 직접 참조계층 변경에 대한 정보를 시그널링할 수 있는 비디오 비트스트림의 계층 정보 표현 방법이 제공된다.
본 발명의 일 실시예에 따르면 계층적 비트스트림이 적응변환기(extractor)에서 적응 변환된 이후에 모든 계층이 아닌 변경된 계층에 대한 정보 또는 변경된 계층 관련 정보 가운데 시간 계층 정보를 시그널링할 수 있는 비디오 비트스트림의 계층 정보 표현 방법이 제공된다.
본 발명의 다른 실시예에 따르면 계층적 비트스트림이 적응 변환된 경우 시그널링된 정보를 통해 전달받은 비트스트림에 포함된 계층 정보를 파악하여 비트스트림을 적응 변환할 수 있는 적응변환기 또는 적응 변환된 비트스트림을 복호화 할 수 있는 복호화 장치가 제공된다.
도 1은 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 본 발명이 적용될 수 있는, 복수 계층을 이용한 스케일러블 비디오 코딩 구조의 일 실시예를 개략적으로 나타내는 개념도이다.
도 4는 본 발명의 일 실시예에 따라 공간 화질 계층 및 시점 계층을 개략적으로 나타내는 개념도이다.
도 5는 본 발명의 일 실시예에 따라 비디오 비트스트림의 계층 정보 표현방법을 설명하기 위한 개념도이다.
도 6은 본 발명의 일 실시예에 따라 비디오 비트스트림의 계층 정보 표현방법을 설명하기 위한 제어흐름도이다.
도 7은 본 발명의 일 실시예에 따른 비디오 복호화 장치의 제어 블록도이다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 아울러, 본 발명에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
도 1은 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다. 스케일러블(scalable) 비디오 부호화/복호화 방법 또는 장치는 스케일러빌리티(scalability)를 제공하지 않는 일반적인 영상 부호화/복호화 방법 또는 장치의 확장(extension)에 의해 구현될 수 있으며, 도 1의 블록도는 스케일러블 비디오 부호화 장치의 기초가 될 수 있는 영상 부호화 장치의 일 실시예를 나타낸다.
도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조영상 버퍼(190)를 포함한다.
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림(bit stream)을 출력할 수 있다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환된다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분을 부호화할 수 있다.
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 영상 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터와 참조 영상 버퍼(190)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔여 블록(residual block)을 생성할 수 있다. 변환부(130)는 잔여 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다.
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로, 심볼(symbol)을 확률 분포에 따라 엔트로피 부호화하여 비트스트림(bit stream)을 출력할 수 있다. 엔트로피 부호화 방법은 다양한 값을 갖는 심볼을 입력 받아, 통계적 중복성을 제거하면서, 복호 가능한 2진수의 열로 표현하는 방법이다.
여기서, 심볼이란 부호화/복호화 대상 구문 요소(syntax element) 및 부호화 파라미터(coding parameter), 잔여 신호(residual signal)의 값 등을 의미한다. 부호화 파라미터는 부호화 및 복호화에 필요한 매개변수로서, 구문 요소와 같이 부호화 장치에서 부호화되어 복호화 장치로 전달되는 정보뿐만 아니라, 부호화 혹은 복호화 과정에서 유추될 수 있는 정보를 포함할 수 있으며 영상을 부호화하거나 복호화할 때 필요한 정보를 의미한다. 부호화 파라미터는 예를 들어 인트라/인터 예측모드, 이동/움직임 벡터, 참조 영상 색인, 부호화 블록 패턴, 잔여 신호 유무, 변환 계수, 양자화된 변환 계수, 양자화 파라미터, 블록 크기, 블록 분할 정보 등의 값 또는 통계를 포함할 수 있다. 또한 잔여 신호는 원신호와 예측 신호의 차이를 의미할 수 있고, 또한 원신호와 예측 신호의 차이가 변환(transform)된 형태의 신호 또는 원신호와 예측 신호의 차이가 변환되고 양자화된 형태의 신호를 의미할 수도 있다. 잔여 신호는 블록 단위에서는 잔여 블록이라 할 수 있다.
엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다.
엔트로피 부호화를 위해 지수 골룸(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법이 사용될 수 있다. 예를 들어, 엔트로피 부호화부(150)에는 가변 길이 부호화(VLC: Variable Lenghth Coding/Code) 테이블과 같은 엔트로피 부호화를 수행하기 위한 테이블이 저장될 수 있고, 엔트로피 부호화부(150)는 저장된 가변 길이 부호화(VLC) 테이블을 사용하여 엔트로피 부호화를 수행할 수 있다. 또한 엔트로피 부호화부(150)는 대상 심볼의 이진화(binarization) 방법 및 대상 심볼/빈(bin)의 확률 모델(probability model)을 도출한 후, 도출된 이진화 방법 또는 확률 모델을 사용하여 엔트로피 부호화를 수행할 수도 있다.
양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환될 수 있다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성될 수 있다.
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(180)를 거친 복원 블록은 참조 영상 버퍼(190)에 저장될 수 있다.
도 2는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다. 도 1에서 상술한 바와 같이 스케일러블 비디오 부호화/복호화 방법 또는 장치는 스케일러빌리티를 제공하지 않는 일반적인 영상 부호화/복호화 방법 또는 장치의 확장에 의해 구현될 수 있으며, 도 2의 블록도는 스케일러블 비디오 복호화 장치의 기초가 될 수 있는 영상 복호화 장치의 일 실시예를 나타낸다.
도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 필터부(260) 및 참조 영상 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 부호화 장치에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔여 블록(residual block)을 얻고 예측 블록을 생성한 후 복원된 잔여 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.
엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다. 엔트로피 복호화 방법은 2진수의 열을 입력 받아 각 심볼들을 생성하는 방법이다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법과 유사하다.
양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 복원된 잔여 블록(residual block)이 생성될 수 있다.
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 영상 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
복원된 잔여 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거친다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력한다. 복원 영상은 참조 영상 버퍼(270)에 저장되어 화면 간 예측에 사용될 수 있다.
상기 영상 복호화 장치(200)에 포함되어 있는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 필터부(260) 및 참조 영상 버퍼(270) 중 영상의 복호화에 직접적으로 관련된 구성요소들, 예컨대, 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 필터부(260) 등을 다른 구성요소와 구분하여 복호화부 또는 디코딩부로 표현할 수 있다.
또한, 영상 복호화 장치(200)는 비트스트림에 포함되어 있는 인코딩된 영상에 관련된 정보를 파싱하는 도시하지 않은 파싱부를 더 포함할 수 있다. 파싱부는 엔트로피 복호화부(210)를 포함할 수도 있고, 엔트로피 복호화부(210)에 포함될 수도 있다. 이러한 파싱부는 또한 디코딩부의 하나의 구성요소로 구현될 수도 있다.
도 3은 본 발명이 적용될 수 있는, 복수 계층을 이용한 스케일러블 비디오 코딩 구조의 일 실시예를 개략적으로 나타내는 개념도이다. 도 3에서 GOP(Group of Picture)는 픽쳐군 즉, 픽쳐의 그룹을 나타낸다.
영상 데이터를 전송하기 위해서는 전송 매체가 필요하며, 그 성능은 다양한 네트워크 환경에 따라 전송 매체별로 차이가 있다. 이러한 다양한 전송 매체 또는 네트워크 환경에의 적용을 위해 스케일러블 비디오 코딩 방법이 제공될 수 있다.
스케일러블 비디오 코딩 방법은 계층(layer) 간의 텍스쳐 정보, 움직임 정보, 잔여 신호 등을 활용하여 계층간 중복성을 제거하여 부호화/복호화 성능을 높이는 코딩 방법이다. 스케일러블 비디오 코딩 방법은, 전송 비트율, 전송 에러율, 시스템 자원 등의 주변 조건에 따라, 공간적, 시간적, 화질적 관점에서 다양한 스케일러빌리티를 제공할 수 있다.
스케일러블 비디오 코딩은, 다양한 네트워크 상황에 적용 가능한 비트스트림을 제공할 수 있도록, 복수 계층(multiple layers) 구조를 사용하여 수행될 수 있다. 예를 들어 스케일러블 비디오 코딩 구조는, 일반적인 영상 부호화 방법을 이용하여 영상 데이터를 압축하여 처리하는 기본 계층을 포함할 수 있고, 기본 계층의 부호화 정보 및 일반적인 영상 부호화 방법을 함께 사용하여 영상 데이터를 압축 처리하는 향상 계층을 포함할 수 있다.
여기서, 계층(layer)은 공간(spatial, 예를 들어, 영상 크기), 시간(temporal, 예를 들어, 부호화 순서, 영상 출력 순서, 프레임 레이트), 화질, 복잡도 등을 기준으로 구분되는 영상 및 비트스트림(bitstream)의 집합을 의미한다. 또한 기본 계층은 하위 계층, 참조 계층 또는 Base layer, 향상 계층은 상위 계층, Enhancement layer를 의미할 수 있다. 또한 복수의 계층들은 서로 간에 종속성을 가질 수도 있다.
도 3을 참조하면, 예를 들어 기본 계층은 SD(standard definition), 15Hz의 프레임율, 1Mbps 비트율로 정의될 수 있고, 제1 향상 계층은 HD(high definition), 30Hz의 프레임율, 3.9Mbps 비트율로 정의될 수 있으며, 제2 향상 계층은 4K-UHD(ultra high definition), 60Hz의 프레임율, 27.2Mbps 비트율로 정의될 수 있다. 상기 포맷(format), 프레임율, 비트율 등은 하나의 실시예로서, 필요에 따라 달리 정해질 수 있다. 또한 사용되는 계층의 수도 본 실시예에 한정되지 않고 상황에 따라 달리 정해질 수 있다.
예를 들어, 전송 대역폭이 4Mbps라면 상기 제1향상계층 HD의 프레임 레이트를 줄여서 15Hz이하로 전송할 수 있다. 스케일러블 비디오 코딩 방법은 상기 도 3의 실시예에서 상술한 방법에 의해 시간적, 공간적, 화질적 스케일러빌리티를 제공할 수 있다.
도 4는 본 발명의 일 실시예에 따라 공간 화질 계층 및 시점 계층을 개략적으로 나타내는 개념도이다.
도시된 바와 같이, 비트스트림은 복수의 계층을 포함할 수 있다.
비트스트림은 공간(spatial) 및 화질(quality)은 동일하지만 상이한 시점(view)에 대한 복수의 시점 계층(시점 1, 시점 2, 시점 3)을 포함할 수 있다.
또한, 비트스트림은 시점은 동일하지만 공간 및 화질이 상이한 계층으로 구성될 수도 있다. 공간 화질 계층은 SD 급 계층과 HD 급 계층으로 분류될 수 있으며, SD 급 계층과 HD 급 계층은 또 다시 기본 계층과 향상 계층으로 구성될 수 있다.
도시된 바와 같이 공간, 화질 및 시점이 혼재되어 있는 계층을 식별하기 위하여 각 계층은 계층 식별자(layer_id)로 서로 구분할 수 있다. 각 식별자가 어떠한 계층(예컨대, 시점 계층, 공간 및 화질 계층)인지, 계층 내에서 상위 계층인지 하위 계층인지에 대한 정보는 VPS(video parameter set) 또는 SPS(sequence parameter set), NAL(Network Abstraction Layer) 유닛 헤더(nal unit header) 등에 포함되어 시그널링 될 수 있다.
한편, 복수의 레이어를 포함하는 비트스트림이 부호화 시 또는 적응 변환시 변경된 계층 정보를 시그널링함에 있어서, 변경된 계층을 포함하는 모든 계층(즉, 변경되지 않은 계층을 포함)의 정보를 시그널링할 수도 있으나, 모든 계층이 아닌 변경된 계층에 대한 정보만을 시그널링할 수 있다. 본 발명에서 비트스트림의 적응 변환은 부호화된 비트스트림이 특정 계층으로 추출되는 것을 의미할 수 있다. 비트스트림은 추출기(extractor) 또는 특정 시스템, 복호화 장치에서 일부가 추출될 수 있다. 이하에서는 추출기는 적응 변환기로, 비트스트림의 추출은 적응 변환으로 표현될 수 있다.
비트스트림의 부호화 시 또는 적응 변환시 변경된 계층 정보 중 시간 계층 정보의 시그널링이 필요할 수 있다.
본 발명은 비트스트림 부호화시 혹은 적응 변환 시 모든 계층이 아닌 변경된 계층에 대한 정보만 시그널링하거나, 혹은 변경된 계층 관련 정보 가운데 시간 계층 정보를 시그널링하여 다른 적응 변환기가 적응 변환하는 경우 혹은 복호화 장치가 복호하고자 하는 경우 시그널링된 정보를 통해 수신된 비트스트림에 포함된 계층 정보를 파악하여 적응 변환 시 혹은 복호화 시 활용할 수 있도록 하는 것을 목적으로 한다.
도 5는 본 발명의 일 실시예에 따라 비디오 비트스트림의 계층 정보 표현방법을 설명하기 위한 개념도이다.
도시된 바와 같이, 본 발명에 따른 비디오 비트스트림의 계층 정보를 표현하는 데 비디오 부호화 장치(510), 적응 변환기(비트스트림 추출기, 520) 및 비디오 복호화 장치(530)가 관련될 수 있다.
부호화 장치(510)는 비디오 원본 신호(raw video signal)를 공간/화질, 시점, 시간 스케일러빌리티 가운데 적어도 하나의 스케일러빌리티를 지원하는 비트스트림으로 부호화 한다.
부호화 장치(510)는 비디오 신호를 NAL 유닛을 기본 단위로하여 비트스트림으로 부호화한다. 각 NAL 유닛이 특정 계층들을 포함하고 있는 경우 공간/화질 혹은 시점 계층을 통합하여 식별하는 계층 식별자(layer_id) 및 시간적 서브 계층(이하, 시간 계층은 시간적 서브계층(temporal sub-layer)으로 표현됨)을 식별하는 temporal_id 정보가 NAL 유닛 헤더을 통해 부호화될 수 있다.
부호화 장치(510)로부터 출력된 부호화된 비트스트림(encoded bitstream)은 적응 변환기(520)로 입력될 수 있다.
적응 변환기(520)는 추출하고자 하는 소정의 계층(예를 들어, 공간/화질, 시점)들을 포함하는 비트스트림을 추출한다.
적응 변환기(520)는 부호화된 비트스트림과 추출하고자 하는 레이어셋(layer_id list), 추출하고자 하는 최대 시간적 서브계층 식별자에 대한 정보를 수신하고, 레이어 셋에 포함된 계층 식별자(layer_id) 값들을 갖는 모든 계층들 중 시간적 서브 계층 식별자(temporal_id)가 최대 시간 서브계층 식별자보다 같거나 작은 NAL 유닛들만 추출하여 출력할 수 있다.
적응 변환기(520)는 추출된 비트스트림 내에 포함된 계층들 및 시간적 서브계층을 알려주는 정보에 대하여 시그널링 할 수 있다. 이러한 정보는 복호화 장치(530)로 입력되어 복호화 장치(530)가 추출된 비디오를 복호화하는 데 사용될 수 있다.
추출된 비트스트림(extracted bitstream)은 복호화 장치(530)에 복호화되어 출력된다.
복호화 장치(530)는 비트스트림 내에 포함된 최상위 계층을 복호화할 수 있다. 이때, 복호화 장치(530)는 추출된 비트스트림 내에 포함된 계층들 및 시간적 서브 계층을 알려주는 시그널링 정보를 참고하여 복호하기 전에 비트스트림 내에 포함된 계층 정보를 파악하고, 해당 시그널링 정보를 참고하여 비트스트림을 복호화할 수 있다. 복호된 비트스트림의 프레임율은 최상위계층에 포함된 최대 시간적 서브계층 식별자가 지원 가능한 프레임율과 같을 수 있다.
각 구성에 의하여 수행되는 비디오 비트스트림의 계층 정보 표현 방법은 도 6을 참조하여 구체적으로 설명된다.
도 6은 본 발명의 일 실시예에 따라 비디오 비트스트림의 계층 정보 표현방법을 설명하기 위한 제어흐름도이다.
우선, 부호화 장치에 의하여 공간/화질, 시점, 시간 스케일러빌리티 가운데 적어도 하나의 스케일러빌리티를 지원하는 비트스트림이 부호화될 수 있다(S610).
상술된 바와 같이, 비디오는 NAL 유닛의 비트스트림으로 부호화되고, 이러한 NAL 유닛 헤더에는 계층을 식별하는 계층 식별자(layer_id)와 시간적 서브 계층에 대한 정보가 포함될 수 있다.
각 계층 식별자(layer_id) 값을 공간/화질 혹은 시점 계층 등 가운데 비트스트림 내에 존재하는 계층들을 식별하기 위한 식별자들(예를 들어, 공간/화질계층 식별자는 dependencyId, 시점계층 식별자는 ViewId 등)에 매핑하는 정보는 비디오 파라미터 세트(video parameter set, VPS)에 포함되어 부호화 될 수 있다.
전체 비트스트림 중에서 추후에 추출 가능한 계층들로 레이어 셋이 구성될 수 있으며, 한 개 이상의 레이어 셋은 VPS에 포함되어 시그널링 될 수 있다.
각 레이어 셋은 특정 계층 식별자(layer_id)로 식별되는 한 개 이상의 계층을 포함하고 있으며, 레이어 셋의 최상위 계층이 복호 가능하기 위하여 최상위 계층이 복호되는데 필요한 하위 계층이 동일 레이어 셋에 포함되어 있어야 한다. 해당 레이어 셋을 구성하는 계층들 가운데 일부 계층들로 구성된 레이어 셋이 존재할 수도 있다.
각 레이어 셋에 포함된 계층들로 이루어진 비트스트림은 복호화 장치에서 최상위 계층을 정상적으로 복호할 수 있는 적합 비트스트림(conformance bitstream)일 수 있다.
각 계층 식별자(layer_id)로 식별되는 계층은 시간적 서브 계층을 가질 수 있으며, 전체 비트스트림에서 각 계층 식별자(layer_id)로 식별되는 계층마다 지원되는 최대 시간 서브 계층의 수(max. number of temporal sub-layer for each layer)는 다를 수 있다.
부호화된 비트스트림은 적응 변환기(비트스트림 추출기)에 의하여 소정의 공간/화질, 시점, 시간 계층을 포함하도록 적응 변환(추출)될 수 있다(S620).
적응 변환기는 부호화된 비트스트림과 추출하고자 하는 레이어셋(layer_id list), 추출하고자 하는 최대 시간적 서브계층 식별자에 대한 정보를 수신하고, 레이어 셋에 포함된 계층 식별자(layer_id)값들을 가지는 모든 계층들 가운데 시간적 서브 계층 식별자(temporal_id)가 최대 시간적 서브계층 식별자보다 같거나 작은 NAL 유닛들만 추출할 수 있다.
추출된 비트스트림 내에 포함된 계층들과 추출된 계층의 시간적 서브 계층에 대한 정보는 아래 표들과 같이 시그널링 될 수 있다.
Figure pat00001
표 1을 참고하면, layer_present_flag가 1이면 i 번째 계층이 비트스트림 부호화 시 생성된 계층들(0번째부터 vps_max_layers_minus1번째 계층까지) 중 현재 추출된 비트스트림에 포함된 계층인 것을 나타내고, layer_present_flag가 0이면 i 번째 계층이 비트스트림 부호화 시 생성된 계층들 중 현재 추출된 비트스트림에 포함되지 않은 계층인 것을 나타낸다.
max_sub_layers_minus1은 추출된 비트스트림 전체에 포함된 최대 시간적 서브계층의 수에서 1을 뺀 값을 나타낸다.
Figure pat00002
표 2의 layer_not_present_flag가 1이면 i 번째 계층이 비트스트림 부호화 시 생성된 계층들(0번째부터 vps_max_layers_minus1번째 계층까지) 중 현재 추출된 비트스트림에 포함되지 않은 계층인 것을 나타내고, layer_not_present_flag가 0이면 i 번째 계층이 비트스트림 부호화 시 생성된 계층들 중 현재 추출된 비트스트림에 포함된 계층인 것을 나타낸다.
max_sub_layers_minus1은 추출된 비트스트림 전체에 포함된 최대 시간적 서브계층의 수에서 1을 뺀 값을 나타낸다.
다른 실시예에 따르면, 추출된 비트스트림 내에 포함된 계층들과 시간적 서브 계층에 대한 정보는 표 3 또는 표 4와 같이 시그널링 될 수 있다.
Figure pat00003
표 3을 참고하면, changed_layers_flag는 전체 계층들 가운데 적어도 하나의 계층이 변경되었는지 여부를 나타낸다.
또한, changed_max_sub_layers_flag는 추출된 비트스트림에서 시간적 서브계층의 수가 부호화시 생성된 전체 비트스트림에 포함된 시간적 서브계층의 수와 다른지 여부를 나타낸다.
changed_layers_flag 가 1인 경우, 비트스트림 부호화시 생성된 계층들(0번째부터 vps_max_layers_minus1번째 계층까지)에 대해서 현재 추출된 비트스트림에 포함된 계층에 대한 layer_present_flag를 1로 시그널링하고, 비트스트림 부호화시 생성된 계층들에 대해서 현재 추출된 비트스트림에 포함되지 않은 계층에 대한 layer_present_flag를 0으로 시그널링할 수 있다.
추출된 비트스트림에서 시간적 서브계층의 수가 부호화시 생성된 전체 비트스트림에 포함된 시간적 서브계층의 수와 다른 경우(즉, changed_max_sub_alyers_flag가 1인 경우), 새로운 “최대 시간 서브계층 수의 값-1”을 new_vps_max_sub_layers_minus1로 시그널링 할 수 있다.
Figure pat00004
표 4를 참고하면, changed_layers_flag는 전체 계층들 가운데 적어도 하나의 계층이 변경되었는지 여부를 나타낸다.
changed_max_sub_layers_flag는 추출된 비트스트림에서 시간적 서브계층의 수가 부호화시 생성된 전체 비트스트림에 포함된 시간적 서브계층의 수와 다른지 여부를 나타낸다.
changed_layers_flag 가 1인 경우, 비트스트림 부호화시 생성된 계층들(0번째부터 vps_max_layers_minus1번째 계층까지)에 대해서 현재 추출된 비트스트림에 포함된 계층에 대한 layer_not_present_flag를 0로 시그널링하고, 비트스트림 부호화시 생성된 계층들에 대해서 현재 추출된 비트스트림에 포함되지 않은 계층에 대한 layer_not_present_flag를 1으로 시그널링할 수 있다.
추출된 비트스트림에서 시간적 서브계층의 수가 부호화시 생성된 전체 비트스트림에 포함된 시간적 서브계층의 수와 다른 경우(즉, changed_max_sub_alyers_flag가 1인 경우), 새로운 “최대 시간 서브계층 수의 값-1”을 new_vps_max_sub_layers_minus1로 시그널링 할 수 있다.
다른 실시예에 따르면, 추출된 비트스트림 내에 포함된 계층들과 시간적 서브 계층에 대한 정보는 표 5 또는 표 6과 같이 시그널링 될 수 있다.
Figure pat00005
표 5를 참고하면, layer_present_flag가 1이면 i 번째 계층이 비트스트림 부호화 시 생성된 계층들(0번째부터 vps_max_layers_minus1번째 계층까지) 중 현재 추출된 비트스트림에 포함된 계층인 것을 나타내고, layer_present_flag가 0이면 i 번째 계층이 비트스트림 부호화 시 생성된 계층들 중 현재 추출된 비트스트림에 포함되지 않은 계층인 것을 나타낸다.
changed_max_sub_layers_flag는 추출된 비트스트림에서 시간적 서브계층의 수가 부호화시 생성된 전체 비트스트림에 포함된 시간적 서브계층의 수와 다른지 여부를 나타낸다. changed_max_sub_layer_flag가 1이면 추출된 비트스트림의 시간적 서브 계층의 수가 부호화시 생성된 비트스트림과 달라졌다는 것을 의미하며, changed_max_sub_layer_flag가 0이면 시간적 서브계층의 수가 추출 전후에 동일하다는 것을 나타낼 수 있다.
new_max_sub_layers_flag[i]는 시간적 서브계층의 수가 부호화시 생성된 비트스트림과 달라진 경우, i번째 계층에 대한 시간적 서브계층의 수가 달라졌는지 여부를 나타낸다. 즉, new_max_sub_layers_flag[i]가 1이면 i번째 계층은 비트스트림 부호화시 시간적 서브계층의 수와 추출 후 시간적 서브계층의 수가 다른 것을 나타내고, new_max_sub_layers_flag[i]가 0이면 i번째 계층은 비트스트림 부호화시 시간적 서브계층의 수와 추출 후 시간적 서브계층의 수가 동일한 것을 나타낸다.
시간적 서브 계층이 달라졌다고 시그널링 되는 경우(예를 들어, new_max_sub_layers_flag[i]가 1인 경우), “해당 계층의 최대 시간적 서브계층수-1”을 나타내는 new_max_sub_layers_minus1[i]이 시그널링 될 수 있다.
Figure pat00006
표 6의 layer_not_present_flag가 1이면 i 번째 계층이 비트스트림 부호화 시 생성된 계층들(0번째부터 vps_max_layers_minus1번째 계층까지) 중 현재 추출된 비트스트림에 포함되지 않은 계층인 것을 나타내고, layer_not_present_flag가 0이면 i 번째 계층이 비트스트림 부호화 시 생성된 계층들 중 현재 추출된 비트스트림에 포함된 계층인 것을 나타낸다.
changed_max_sub_layers_flag는 추출된 비트스트림에서 시간적 서브계층의 수가 부호화시 생성된 전체 비트스트림에 포함된 시간적 서브계층의 수와 다른지 여부를 나타낸다. changed_max_sub_layer_flag가 1이면 추출된 비트스트림의 시간적 서브 계층의 수가 부호화시 생성된 비트스트림과 달라졌다는 것을 의미하며, changed_max_sub_layer_flag가 0이면 시간적 서브계층의 수가 추출 전후에 동일하다는 것을 나타낼 수 있다.
new_max_sub_layers_flag[i]는 시간적 서브계층의 수가 부호화시 생성된 비트스트림과 달라진 경우, i번째 계층에 대한 시간적 서브계층의 수가 달라졌는지 여부를 나타낸다. 즉, new_max_sub_layers_flag[i]가 1이면 i번째 계층은 비트스트림 부호화시 시간적 서브계층의 수와 추출 후 시간적 서브계층의 수가 다른 것을 나타내고, new_max_sub_layers_flag[i]가 0이면 i번째 계층은 비트스트림 부호화시 시간적 서브계층의 수와 추출 후 시간적 서브계층의 수가 동일한 것을 나타낸다.
시간적 서브 계층이 달라졌다고 시그널링 되는 경우(예를 들어, new_max_sub_layers_flag[i]가 1인 경우), “해당 계층의 최대 시간적 서브계층수-1”을 나타내는 new_sub_layers_vps_max_minus1[i]이 시그널링 될 수 있다. new_sub_layers_vps_max_minus1[i]는 표 5에 포함되어 있는 new_max_sub_layers_minus1[i]로 시그널링 될 수도 있다.
다른 실시예에 따르면, 추출된 비트스트림 내에 포함된 계층들과 시간적 서브 계층에 대한 정보는 표 7 또는 표 8과 같이 시그널링 될 수 있다.
Figure pat00007
표 7에 따른 시그널링은 표 5에 변형을 준 실시예에 해당한다.
표 7을 참조하면, 표 5에 추가하여 전체 계층들 가운데 적어도 하나의 계층이 변경되었는지 여부를 나타내는 changed_layers_flag 가 시그널링 될 수 있다.
changed_layers_flag 가 1인 경우, 비트스트림 부호화시 생성된 계층들(0번째부터 vps_max_layers_minus1번째 계층까지)에 대해서 현재 추출된 비트스트림에 포함된 계층에 대한 layer_present_flag를 1로 시그널링하고, 비트스트림 부호화시 생성된 계층들에 대해서 현재 추출된 비트스트림에 포함되지 않은 계층에 대한 layer_present_flag를 0으로 시그널링할 수 있다.
Figure pat00008
표 8에 따른 시그널링은 표 6에 변형을 준 실시예에 해당한다.
표 8을 참조하면, 표 6에 추가하여 전체 계층들 가운데 적어도 하나의 계층이 변경되었는지 여부를 나타내는 changed_layers_flag 가 시그널링 될 수 있다.
changed_layers_flag 가 1인 경우, 비트스트림 부호화시 생성된 계층들(0번째부터 vps_max_layers_minus1번째 계층까지)에 대해서 현재 추출된 비트스트림에 포함된 계층에 대한 layer_not_present_flag를 0로 시그널링하고, 비트스트림 부호화시 생성된 계층들에 대해서 현재 추출된 비트스트림에 포함되지 않은 계층에 대한 layer_not_present_flag를 1으로 시그널링할 수 있다.
다른 실시예에 따르면, 추출된 비트스트림 내에 포함된 계층들과 시간적 서브 계층에 대한 정보는 표 9 또는 표 10과 같이 시그널링 될 수 있다.
Figure pat00009
표 9에 따른 시그널링은 표 7에 변형을 준 실시예에 해당한다.
표 9을 참조하면, 표 7의 new_max_sub_layers_flag[i] 대신에 max_sub_layers_predict_flag[i] 를 시그널링 할 수 있다.
max_sub_layers_predict_flag[i] 가 1이면, new_max_sub_layers_minus1[i]는 new_max_sub_layers_minus1[i-1] 혹은 vps_max_sub_layers_minus1으로 유추되 수 있고, max_sub_layers_predict_flag[i] 가 0이면 new_max_sub_layers_minus1[i] 은 직접 시그널링 될 수 있다.
new_max_sub_layers_minus1[i]가 new_max_sub_layers_minus1[i-1] 로 유추되는 경우 new_max_sub_layers_minus1[0]은 0으로 설정될 수 있다.
Figure pat00010
표 10에 따른 시그널링은 표 8에 변형을 준 실시예에 해당한다.
표 10을 참조하면, 표 8의 new_max_sub_layers_flag[i] 대신에 max_sub_layers_predict_flag[i] 를 시그널링 할 수 있다.
max_sub_layers_predict_flag[i] 가 1이면, new_max_sub_layers_minus1[i]는 new_max_sub_layers_minus1[i-1] 혹은 vps_max_sub_layers_minus1으로 유추되 수 있고, max_sub_layers_predict_flag[i] 가 0이면 new_max_sub_layers_minus1[i] 은 직접 시그널링 될 수 있다.
new_max_sub_layers_minus1[i]가 new_max_sub_layers_minus1[i-1] 로 유추되는 경우 new_max_sub_layers_minus1[0]은 0으로 설정될 수 있다.
본 발명의 다른 실시예에 따르면, 표 1 내지 표 10에 따른 시그널링와 유사한 형태이지만 반대의 의미을 갖는 시그널링이 가능하다. 예를 들어, 추출된 비트스트림내에 포함된 계층들을 알려주는 시그널링 대신에 부호화시 포함된 계층들 및 시간적 서브계층들 가운데 추출된 비트스트림내에 포함되지 않은 계층들을 시그널링 할 수도 있다. 물론, 이 경우에도 추출된 비트스트림에 포함된 시간적 서브계층들이 시그널링된다.
표 1 내지 표 10에 따른 정보들은 추출된 (출력되는) 비트스트림 내에 삽입될 수 있고, 다른 적응 변환기 혹은 복호화 장치로 입력될 수 있다.
또는 표 1 내지 표 10에 따른 정보들은 추출된 (출력되는) 비트스트림 내에 삽입되지 않고 다른 경로를 통하여 다른 적응변환기 혹은 복호화 장치로 전달될 수도 있다.
한편, 비트스트림이 추출되면, 계층 의존성 변화(layer dependency change)를 알려주는 정보가 표 11과 같이 시그널링 될 수 있다.
Figure pat00011
표 11을 참조하면, change_info_available_flag[i]는 i 계층의 계층 의존성(layer dependency)이 변경되었는지 여부를 나타낸다.
change_info_available_flage[i] 가 1이면, i 계층의 계층 의존성(layer dependency)이 변경되었음을 나타낼 수 있으며, 변경된 계층 의존성(layer dependency)를 시그널링할 수 있다.
예를 들어, 비디오 파라미터 세트(video parameter set, VPS)에서 시그널링된 i번째 계층의 직접 참조 계층(layer depedency)들 가운데 j번째 참조 계층이 더 이상 i번째 계층의 직접 참조 계층이 아니라면 ref_layer_disable_flag[i][j]를 1로 시그널링 할 수 있다. 반면, j번째 참조계층이 여전히 i번째 계층의 직접 참조 계층이라면 ref_layer_disable_flag[i][j]를 0으로 시그널링 할 수 있다.
이때, 시그널링에 의해 변경된 i번째 계층의 직접 참조 계층들은 VPS에서 시그널링된 i번째 계층의 직접 참조 계층들의 서브 세트(sub-set)일 수 있다.
한편, change_info_available_flage[i] 가 0이면, i 계층의 계층 의존성(layer dependency)가 변경되지 않았음을 나타내거나 의존성에 대한 시그널링이 필요 없음을 나타낼 수 있다.
비트스트림을 적응 변환하거나 부호화 하는 과정에서 특정 억세스 유닛(Access Unit, AU)에서 부터 직접 참조계층을 변경하고 싶은 경우, 계층 의존성 변화 정보는 특정 AU 내에 포함되거나 혹은 특정 AU 시그널링 바로 직전의 비트스트림에 포함되어 시그널링 될 수 있다.
추출된 비트스트림이 적응 변환기에서 출력되어 또 다른 적응 변환기에 입력되는 경우, 적응 변환기는 레이어 셋에 포함된 계층 식별자(layer_id)값들을 가지는 모든 계층들 가운데 시간적 서브계층 식별자(temporal_id)가 입력받은 최대 시간 서브계층 식별자보다 같거나 작은 NAL 유닛들을 추출하고, 추출된 비트스트림 내에 포함된 계층들 및 시간적 서브계층에 대한 정보를 시그널링하는 과정을 수행할 수 있다.
추출된 비트스트림은 복호화 장치에 의하여 복호화 된다(S630).
이때, 복호화 장치(530)는 추출된 비트스트림 내에 포함된 계층들 및 시간적 서브 계층을 알려주는 시그널링 정보를 참고하여 복호하기 전에 비트스트림 내에 포함된 계층 정보를 알 수도 있고, 해당 시그널링 정보를 참고하여 비트스트림을 복호화할 수 있다. 복호된 비트스트림의 프레임율은 최상위 계층에 포함된 최대 시간적 서브계층 식별자에 의하여 지원될 수 있는 프레임율과 같을 수 있다.
복호화 장치가 특정 계층의 직접 참조계층이 변경되었다는 정보를 수신하는 경우, VPS에 시그널링된 직접 참조계층 정보 이외에 추가적으로 시그널링된 변경된 직접 참조계층의 정보(layer dependency change SEI message)를 이용하여 비트스트림을 복호화할 수 있다.
도 7은 본 발명의 일 실시예에 따른 비디오 복호화 장치의 제어 블록도이다.
도시된 바와 같이, 디코딩 장치는 영상 정보를 파싱하는 파싱부(710)와 파싱부(710)의 영상 정보를 이용하여 현재 레이어를 예측하는 디코딩부(720)를 포함한다.
파싱부(710)는 각 계층을 식별하는 계층 식별자, 계층의 시간적 서브 계층을 나타내는 시간적 서브 레이어 정보 및 전체 레이어 중에서 추출된 레이어로 구성된 레이어 셋에 대한 정보, 추출된 비트스트림 내에 포함된 계층에 대한 정보 및 시간적 서브 계층을 알려주는 정보를 수신하여 파싱한다.
각 계층을 식별하는 계층 식별자, 계층의 시간적 서브 계층을 나타내는 시간적 서브 레이어 정보 및 전체 레이어 중에서 추출하고자 하는 레이어 셋에 대한 정보는 비트스트림이 추출되기 전에 부호화 장치에서 부호화 되는 정보일 수 있다.
파싱부(710)를 통해 수신되는 정보는 비트스트림이 추출되는 과정에서 부호화되어 시그널링 될 수도 있다. 추출 과정에서 생성된 정보들은 적응 변환기 도는 추출기에서 부호화되어 비디오 복호화 장치로 수신될 수 있다.
예를 들어, 추출된 비트스트림 내에 포함된 계층에 대한 정보 및 시간적 서브 계층을 알려주는 정보가 수신되어 파싱될 수 있다.
추출된 비트스트림 내에 포함된 계층에 대한 정보는 현재 계층이 비트스트림의 부호화 시 생성된 계층들 중 추출된 비트스트림에 포함된 계층인지를 나타내는 제1 플래그 정보(예를 들어, layer_not_present_flag 또는 layer_ present_flag)를 포함할 수 있다.
또한, 부호화된 비트스트림에 포함되어 있는 전체 계층들 중 적어도 하나의 계층이 변경되었는지 여부를 나타내는 제2 플래그 정보(예를 들어, changed_layers_flag)도 수신되어 파싱될 수 있다.
이 때, 제1 플래그 정보는 제2 플래그 정보가 1인 경우 시그널링될 수 있다.
또한, 제2 플래그 정보가 1인 경우, 추출된 비트스트림 내의 계층의 시간 서브계층의 수가 부호화된 비트스트림 내의 계층의 시간적 서브계층의 수와 다른지 여부를 나타내는 제3 플래그 정보(예를 들어, changed_max_sub_alyers_flag)가 더 시그널링될 수 있다.
만약, 제3 플래그 정보가 1인 경우, 추출된 비트스트림 내의 계층의 최대 시간적 서브계층의 수를 특정할 수 있는 정보(예를 들어, new_vps_max_sub_layers_minus1)가 더 시그널링될 수 있다.
다른 실시예에 따르면, 제3 플래그 정보가 1인 경우, 추출된 비트스트림 내의 계층 중 i번째 계층의 최대 시간적 서브계층의 수가 달라졌는지 여부를 나타내는 제4 플래그 정보(예를 들어, new_max_sub_layers_flag[i])와 제4 플래그 정보가 1이면, i번째 계층의 최대 시간적 서브계층의 수를 특정할 수 있는 정보(예를 들어, new_sub_layers_vps_max_minus1[i] 또는 new_max_sub_layers_minus1[i])가 더 시그널링될 수 있다.
또 다른 실시예에 따르면, 제3 플래그 정보가 1인 경우, 추출된 비트스트림 내의 계층 중 i번째 계층의 최대 시간적 서브계층의 수를 i-1번째 계층의 최대 시간적 서브계층의 수 또는 최대 시간적 서브 레이어를 특정하는 정보로부터 유추할 수 있는지 여부를 나타내는 제5 플래그 정보(예를 들어, max_sub_layers_predict_flag[i])와 제4 플래그 정보가 0이면, i번째 계층의 최대 시간적 서브계층의 수를 특정할 수 있는 정보(예를 들어, new_max_sub_layers_minus1[i])가 더 시그널링될 수 있다.
상술한 시간적 서브 계층을 알려주는 정보는 추출된 비트스트림 전체에 포함된 최대 시간 서브계층의 수를 특정할 수 있는 정보를 포함할 수 있다.
또한, 파싱부(710)는 i 계층의 계층 의존성(layer dependency)이 변경되었는지 여부를 나타내는 제6 플래그 정보(예를 들어, change_info_available_flage[i])를 수신하여 파싱할 수 있고, 제6 플래그 정보가 1이면, i 계층의 직접 참조 계층들 중 j 번째 참조 계층이 i번째 계층에 대하여 계층 의존성을 갖는지 여부를 나타내는 제7 플래그 정보(예를 들어, ref_layer_disable_flag[i][j])를 수신하여 파싱할 수 있다.
디코딩부(720)는 계층 식별자, 레이어 셋에 대한 정보, 추출된 비트스트림 내에 포함된 계층에 대한 정보 및 시간적 서브 계층을 알려주는 정보에 기초하여 현재 계층에 대한 디코딩을 수행할 수 있다.
디코딩된 비트스트림의 프레임율은 최상위 계층에 포함된 최대 시간적 서브계층 식별자에 의하여 지원되는 프레임율과 같을 수 있다.
디코딩부(720)는 현재 계층의 직접 참조계층이 변경되었다는 정보를 수신하는 경우, 비디오 파라미터 세트에서 시그널링된 직접 참조계층 정보 이외에 상기변경된 직접 참조계층의 정보를 이용하여 상기 현재 계층을 디코딩할 수 있다.
이와 같이, 본 발명에 따르면, 비트스트림 부호화시 혹은 적응 변환 시 모든 계층이 아닌 변경된 계층에 대한 정보만 시그널링하거나, 혹은 변경된 계층 관련 정보 가운데 시간 계층 정보를 시그널링하여 다른 적응 변환기가 적응 변환하는 경우 혹은 복호화 장치가 복호하고자 하는 경우 시그널링된 정보를 통해 비트스트림에 포함된 계층 정보를 파악하여 적응 변환 시 혹은 복호화 시 활용하도록 하는데 그 목적이 있다.
상술한 실시예에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.
100 : 영상 부호화 장치 111: 움직임 예측부
112: 움직임 보상부 120 : 인트라 예측부
115 : 스위치 125 : 감산기
130 : 변환부 140 : 양자화부
150 : 엔트로피 부호화부 160 : 역양자화부
170 : 역변환부 180 : 필터부

Claims (10)

  1. 복수의 계층을 지원하는 비디오 비트스트림의 계층 정보 표현방법에 있어서,
    공간/화질, 시점, 시간 스케일러빌리티 가운데 적어도 하나의 스케일러빌리티를 지원하는 비트스트림을 부호화하는 단계와;
    소정의 공간/화질, 시점, 시간 계층을 포함하도록 부호화된 비트스트림을 적응 변환(추출)하는 단계와;
    추출된 비트스트림을 복호화하는 단계를 포함하는 것을 특징으로 하는 계층 정보 표현방법.
  2. 제1항에 있어서,
    상기 비트스트림을 부호화하는 단계는,
    각 계층을 식별하는 계층 식별자, 상기 계층의 시간적 서브 계층을 나타내는 시간적 서브 레이어 정보 및 전체 레이어 중에서 추출하고자 하는 레이어 셋에 대한 정보를 부호화 하고,
    상기 비트스트림을 적응 변환 하는 단계는 상기 추출된 비트스트림 내에 포함된 계층에 대한 정보 및 시간적 서브 계층을 알려주는 정보를 시그널링하는 단계를 포함하는 것을 특징으로 하는 계층 정보 표현방법.
  3. 제2항에 있어서,
    상기 추출된 비트스트림 내에 포함된 계층에 대한 정보는 현재 계층이 비트스트림의 부호화 시 생성된 계층들 중 추출된 비트스트림에 포함된 계층인지를 나타내는 제1 플래그 정보인 것을 특징으로 하는 계층 정보 표현방법
  4. 제3항에 있어서,
    상기 부호화된 비트스트림에 포함되어 있는 전체 계층들 중 적어도 하나의 계층이 변경되었는지 여부를 나타내는 제2 플래그 정보를 시그널링 하는 단계를 더 포함하고,
    상기 제1 플래그 정보는 상기 제2 플래그 정보가 1인 경우 시그널링 되는 것을 특징으로 하는 계층 정보 표현방법.
  5. 제4항에 있어서,
    상기 제2 플래그 정보가 1인 경우, 상기 추출된 비트스트림 내의 계층의 시간 서브계층의 수가 상기 부호화된 비트스트림 내의 계층의 시간적 서브계층의 수와 다른지 여부를 나타내는 제3 플래그 정보를 시그널링하는 단계를 더 포함하는 것을 특징으로 하는 계층 정보 표현방법.
  6. 제5항에 있어서,
    상기 제3 플래그 정보가 1인 경우, 상기 추출된 비트스트림 내의 계층의 최대 시간적 서브계층의 수를 특정할 수 있는 정보를 시그널링하는 단계를 더 포함하는 것을 특징으로 하는 계층 정보 표현방법.
  7. 제5항에 있어서,
    상기 제3 플래그 정보가 1인 경우,
    상기 추출된 비트스트림 내의 계층 중 i번째 계층의 최대 시간적 서브계층의 수가 달라졌는지 여부를 나타내는 제4 플래그 정보를 시그널링하는 단계와;
    상기 제4 플래그 정보가 1이면, 상기 i번째 계층의 최대 시간적 서브계층의 수를 특정할 수 있는 정보를 시그널링하는 단계를 더 포함하는 것을 특징으로 하는 계층 정보 표현방법.
  8. 제5항에 있어서,
    상기 제3 플래그 정보가 1인 경우,
    상기 추출된 비트스트림 내의 계층 중 i번째 계층의 최대 시간적 서브계층의 수를 i-1번째 계층의 최대 시간적 서브계층의 수 또는 최대 시간적 서브 레이어를 특정하는 정보로부터 유추할 수 있는지 여부를 나타내는 제5 플래그 정보를 시그널링하는 단계와;
    상기 제5 플래그 정보가 0이면, 상기 i번째 계층의 최대 시간적 서브계층의 수를 특정할 수 있는 정보를 시그널링하는 단계를 더 포함하는 것을 특징으로 하는 계층 정보 표현방법.
  9. 제2항에 있어서,
    상기 시간적 서브 계층을 알려주는 정보는 추출된 비트스트림 전체에 포함된 최대 시간 서브계층의 수를 특정할 수 있는 정보인 것을 특징으로 하는 계층 정보 표현방법.
  10. 제2항에 있어서,
    i 계층의 계층 의존성(layer dependency)이 변경되었는지 여부를 나타내는 제6 플래그 정보를 시그널링하는 단계와;
    상기 제6 플래그 정보가 1이면, 상기 i 계층의 직접 참조 계층들 중 j 번째참조 계층이 상기 i번째 계층에 대하여 상기 계층 의존성을 갖는지 여부를 나타내는 제7 플래그 정보를 시그널링하는 단계를 더 포함하는 것을 특징으로 하는 계층 정보 표현방법.
KR20140072591A 2013-07-12 2014-06-16 비디오 비트스트림의 계층 정보 표현 방법 KR20150008805A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020130082392 2013-07-12
KR20130082392 2013-07-12
KR1020140000412 2014-01-02
KR20140000412A KR20150008331A (ko) 2013-07-12 2014-01-02 비디오 비트스트림의 계층정보 표현방법

Publications (1)

Publication Number Publication Date
KR20150008805A true KR20150008805A (ko) 2015-01-23

Family

ID=52572024

Family Applications (2)

Application Number Title Priority Date Filing Date
KR20140000412A KR20150008331A (ko) 2013-07-12 2014-01-02 비디오 비트스트림의 계층정보 표현방법
KR20140072591A KR20150008805A (ko) 2013-07-12 2014-06-16 비디오 비트스트림의 계층 정보 표현 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR20140000412A KR20150008331A (ko) 2013-07-12 2014-01-02 비디오 비트스트림의 계층정보 표현방법

Country Status (1)

Country Link
KR (2) KR20150008331A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108920478B (zh) * 2018-04-16 2022-01-28 宁波三星医疗电气股份有限公司 基于小系统的批量数据分段采集方法

Also Published As

Publication number Publication date
KR20150008331A (ko) 2015-01-22

Similar Documents

Publication Publication Date Title
KR102273183B1 (ko) 시간적 서브 레이어 정보에 기반한 인터 레이어 예측 방법 및 장치
KR102703007B1 (ko) 영상의 복호화 방법 및 이를 이용하는 장치
JP6517152B2 (ja) ピクチャの符号化/復号化方法及びこれを利用する装置
JP7125520B2 (ja) ピクチャ復号化方法およびピクチャ符号化方法
US10306244B2 (en) Method for encoding/decoding image and device using same
KR20130129338A (ko) 영상 정보 디코딩 방법, 영상 디코딩 방법 및 이를 이용하는 장치
KR102412637B1 (ko) 영상 부호화/복호화 방법 및 장치
KR20140043240A (ko) 영상 부호화/복호화 방법 및 장치
KR20140090566A (ko) 영상 부호화/복호화 방법 및 장치
KR20150008805A (ko) 비디오 비트스트림의 계층 정보 표현 방법
KR20140088002A (ko) 영상의 부호화/복호화 방법 및 이를 이용하는 장치
KR20150043972A (ko) 영상의 부호화/복호화 방법 및 이를 이용하는 장치
KR102271878B1 (ko) 영상의 부호화/복호화 방법 및 이를 이용하는 장치
WO2014092434A2 (ko) 비디오 부호화 방법 및 비디오 복호화 방법과 이를 이용하는 장치
KR20140088497A (ko) 영상의 부호화/복호화 방법 및 이를 이용하는 장치
KR20150043977A (ko) 다계층 기반의 영상 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination