KR102271879B1 - 영상 부호화/복호화 방법 및 장치 - Google Patents
영상 부호화/복호화 방법 및 장치 Download PDFInfo
- Publication number
- KR102271879B1 KR102271879B1 KR1020140001045A KR20140001045A KR102271879B1 KR 102271879 B1 KR102271879 B1 KR 102271879B1 KR 1020140001045 A KR1020140001045 A KR 1020140001045A KR 20140001045 A KR20140001045 A KR 20140001045A KR 102271879 B1 KR102271879 B1 KR 102271879B1
- Authority
- KR
- South Korea
- Prior art keywords
- layers
- sub
- maximum number
- information
- layer
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/423—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
복수의 계층을 지원하는 영상 부호화/복호화 방법 및 장치가 개시된다. 상기 복수의 계층을 지원하는 영상 복호화 방법은 상기 복수의 계층을 포함하는 비트스트림을 수신하는 단계 및 상기 비트스트림을 디코딩하여 상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 획득하는 단계를 포함한다.
Description
본 발명은 영상 부호화 및 복호화에 관한 것으로, 보다 상세하게는 스케일러블 비디오 코딩(Scalable Video Coding; SVC)을 기반으로 하는 영상 부호화 및 복호화에 관한 것이다.
최근 멀티미디어(multimedia) 환경이 구축되면서, 다양한 단말과 네트워크가 이용되고 있으며, 이에 따른 사용자 요구도 다변화하고 있다.
예컨대, 단말의 성능과 컴퓨팅 능력(computing capability)가 다양해짐에 따라서 지원하는 성능도 기기별로 다양해지고 있다. 또한 정보가 전송되는 네트워크 역시 유무선 네트워크와 같은 외형적인 구조뿐만 아니라, 전송하는 정보의 형태, 정보량과 속도 등 기능별로도 다양해지고 있다. 사용자는 원하는 기능에 따라서 사용할 단말과 네트워크를 선택하며, 또한 기업이 사용자에게 제공하는 단말과 네트워크의 스펙트럼도 다양해지고 있다.
이와 관련하여, 최근 HD(High Definition) 해상도를 가지는 방송이 국내뿐만 아니라 세계적으로 확대되어 서비스되면서, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지고 있다. 이에 따라서 많은 영상 서비스 관련 기관들이 차세대 영상 기기에 대한 개발에 많은 노력을 하고 있다.
또한 HDTV와 더불어 HDTV의 4배 이상의 해상도를 가지는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 보다 높은 해상도, 고화질의 영상을 압축하여 처리하는 기술에 대한 요구는 더 높아지고 있다.
영상을 압축하여 처리하기 위해, 시간적으로 이전 및/또는 이후의 픽처로부터 현재 픽처에 포함된 화소값을 예측하는 인터(inter) 예측 기술, 현재 픽처 내의 화소 정보를 이용하여 현재 픽처에 포함된 다른 화소값을 예측하는 인트라(intra) 예측 기술, 출현 빈도가 높은 심볼(symbol)에 짧은 부호를 할당하고 출현 빈도가 낮은 심볼에 긴 부호를 할당하는 엔트로피 인코딩 기술 등이 사용될 수 있다.
상술한 바와 같이, 지원하는 기능이 상이한 각 단말과 네트워크 그리고 다변화된 사용자의 요구를 고려할 때, 지원되는 영상의 품질, 크기, 프레임 등도 이에 따라 다변화될 필요가 있다.
이와 같이, 이종의 통신망과 다양한 기능 및 종류의 단말로 인해, 영상의 화질, 해상도, 크기, 프레임 율 등을 다양하게 지원하는 스케일러빌리티(scalability)는 비디오 포맷의 중요한 기능이 되고 있다.
따라서, 고효율의 비디오 부호화 방법을 기반으로 다양한 환경에서 사용자가 요구하는 서비스를 제공하기 위해 시간, 공간, 화질 등의 측면에서 효율적인 비디오 부호화와 복호화가 가능하도록 스케일러빌리티 기능을 제공하는 것이 필요하다.
본 발명은 영상 부호화/복호화 효율을 향상시킬 수 있는 영상 부호화/복호화 방법 및 장치를 제공한다.
본 발명은 부호화/복호화 효율을 향상시킬 수 있는 스케일러블 비디오 코딩에서 계층간 전환을 수행하는 방법 및 장치를 제공한다.
본 발명은 영상 부호화/복호화 효율을 향상시킬 수 있는 스케일러블 비트스트림의 스케일러빌리티 정보를 표현하고 시그널링하는 방법 및 장치를 제공한다.
본 발명은 영상 부호화/복호화 효율을 향상시킬 수 있는 스케일러블 계층의 서브 레이어 정보를 표현하고 시그널링하는 방법 및 장치를 제공한다.
본 발명의 일 양태에 따르면, 복수의 계층을 지원하는 영상 복호화 방법이 제공된다. 상기 복수의 계층을 지원하는 영상 복호화 방법은 상기 복수의 계층을 포함하는 비트스트림을 수신하는 단계 및 상기 비트스트림을 디코딩하여 상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 획득하는 단계를 포함한다.
본 발명의 다른 양태에 따르면, 복수의 계층을 지원하는 영상 부호화 방법이 제공된다. 상기 복수의 계층을 지원하는 영상 부호화 방법은 상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 결정하는 단계 및 상기 서브 레이어의 최대 개수 정보를 인코딩하여 상기 서브 레이어의 최대 개수 정보를 포함하는 비트스트림을 전송하는 단계를 포함한다.
본 발명의 또 다른 양태에 따르면, 복수의 계층을 지원하는 영상 복호화 장치가 제공된다. 상기 복수의 계층을 지원하는 영상 복호화 장치는 기 복수의 계층을 포함하는 비트스트림을 수신하고, 상기 비트스트림을 디코딩하여 상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 획득하는 디코딩부를 포함한다.
본 발명의 또 다른 양태에 따르면, 복수의 계층을 지원하는 영상 부호화 장치가 제공된다. 상기 복수의 계층을 지원하는 영상 부호화 장치는 상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 결정하고, 상기 서브 레이어의 최대 개수 정보를 인코딩하여 상기 서브 레이어의 최대 개수 정보를 포함하는 비트스트림을 전송하는 인코딩부를 포함한다.
계층적 비트스트림 내의 추출 및 스케일러빌리티 정보를 기술하는 방법을 제공함으로써, 다양한 종류의 비트스트림의 스케일러빌리티 정보를 유연하게 표현할 수 있으며 패킷 레벨에서의 효율적인 적응 변환을 가능하게 한다.
또한, 계층적 비디오 부호화를 이용하여 부호화된 비트스트림의 다양한 스케일러빌리티 정보를 효율적으로 표현하도록 함으로써, 비트스트림 추출기가 쉽게 원하는 계층을 추출할 수 있도록 한다.
도 1은 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 본 발명이 적용될 수 있는 복수 계층을 이용한 스케일러블 비디오 코딩 구조의 일예를 개략적으로 나타내는 개념도이다.
도 4는 본 발명의 실시예에 따른 스케일러블 비트스트림(계층적 비트스트림)을 지원하는 영상 부호화 방법을 개략적으로 나타내는 순서도이다.
도 5는 본 발명의 실시예에 따른 스케일러블 비트스트림(계층적 비트스트림)을 지원하는 영상 복호화 방법을 개략적으로 나타내는 순서도이다.
도 6은 본 발명의 실시예에 따른 스케일러블 비트스트림(계층적 비트스트림)을 지원하는 영상 부/복호화 구조에서 스케일러블 계층에 대한 서브 레이어 정보를 시그널링하는 방법을 개략적으로 나타내는 순서도이다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 본 발명이 적용될 수 있는 복수 계층을 이용한 스케일러블 비디오 코딩 구조의 일예를 개략적으로 나타내는 개념도이다.
도 4는 본 발명의 실시예에 따른 스케일러블 비트스트림(계층적 비트스트림)을 지원하는 영상 부호화 방법을 개략적으로 나타내는 순서도이다.
도 5는 본 발명의 실시예에 따른 스케일러블 비트스트림(계층적 비트스트림)을 지원하는 영상 복호화 방법을 개략적으로 나타내는 순서도이다.
도 6은 본 발명의 실시예에 따른 스케일러블 비트스트림(계층적 비트스트림)을 지원하는 영상 부/복호화 구조에서 스케일러블 계층에 대한 서브 레이어 정보를 시그널링하는 방법을 개략적으로 나타내는 순서도이다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 해당 설명을 생략할 수도 있다.
본 명세서에서 어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있는 것을 의미할 수도 있고, 중간에 다른 구성 요소가 존재하는 것을 의미할 수도 있다. 아울러, 본 명세서에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제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) 모드로 부호화를 수행하고 비트스트림을 출력할 수 있다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환될 수 있다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분(residual)을 부호화할 수 있다. 이때, 입력 영상은 원 영상(original picture)를 의미할 수 있다.
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화/복호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 픽처 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 여기서, 움직임 벡터는 인터 예측에 사용되는 2차원 벡터이며, 현재 부호화/복호화 대상 영상과 참조 영상 사이의 오프셋을 나타낼 수 있다.
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔차 블록(residual block)을 생성할 수 있다.
변환부(130)는 잔차 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 여기서, 변환 계수는 잔차 블록 및/또는 잔차 신호에 대한 변환을 수행함으로써 생성된 계수 값을 의미할 수 있다. 이하, 본 명세서에서는 변환 계수에 양자화가 적용되어 생성된, 양자화된 변환 계수 레벨(transform coefficient level)도 변환 계수로 불릴 수 있다.
양자화부(140)는 입력된 변환 계수를 양자화 파라미터(quantization parameter, 또는 양자화 매개변수)에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다. 양자화된 계수는 양자화된 변환 계수 레벨(quantized transform coefficient level)로 불릴 수도 있다. 이때, 양자화부(140)에서는 양자화 행렬을 사용하여 입력된 변환 계수를 양자화할 수 있다.
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 비트스트림(bitstream)을 출력할 수 있다. 엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. 엔트로피 부호화부(150)는 엔트로피 부호화를 위해 지수-골롬(Exponential-Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다.
도 1의 실시예에 따른 영상 부호화 장치(100)는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환된다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록(Reconstructed Block)이 생성된다.
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(180)는 적응적 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 픽셀값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 필터부(180)를 거친 복원 블록은 참조 픽처 버퍼(190)에 저장될 수 있다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 1에서 상술한 바와 같이, 스케일러블 비디오 부호화/복호화 방법 또는 장치는, 스케일러빌리티를 제공하지 않는 일반적인 영상 부호화/복호화 방법 또는 장치의 확장에 의해 구현될 수 있으며, 도 2의 블록도는 스케일러블 비디오 복호화 장치의 기초가 될 수 있는 영상 복호화 장치의 일 실시예를 나타낸다.
도 2를 참조하면, 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 가산기(255), 필터부(260) 및 참조 픽처 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다.
영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔차 블록(reconstructed residual block)을 얻고 예측 블록을 생성한 후 복원된 잔차 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.
엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다.
엔트로피 복호화 방법이 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 각 심볼들에 대한 비트열의 크기가 감소될 수 있다.
양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 복원된 잔차 블록이 생성될 수 있다. 이때, 역양자화부(220)에서는 양자화된 계수에 양자화 행렬을 적용할 수 있다.
인트라 모드인 경우, 인트라 예측부(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) 간의 텍스쳐 정보, 움직임 정보, 잔여 신호 등을 활용하여 계층 간 중복성을 제거하여 인코딩 및 디코딩 성능을 높이는 코딩 방법이다. 스케일러블 비디오 코딩 방법은, 전송 비트율, 전송 에러율, 시스템 자원 등의 주변 조건에 따라, 공간적(spatial), 시간적(temporal), 화질적(혹은 품질적, quality), 시점(view) 관점에서 다양한 스케일러빌리티를 제공할 수 있다.
스케일러블 비디오 코딩은, 다양한 네트워크 상황에 적용 가능한 비트스트림을 제공할 수 있도록, 복수 계층(multiple layers) 구조를 사용하여 수행될 수 있다. 예를 들어 스케일러블 비디오 코딩 구조는, 일반적인 영상 디코딩 방법을 이용하여 영상 데이터를 압축하여 처리하는 기본 계층을 포함할 수 있고, 기본 계층의 디코딩 정보 및 일반적인 영상 디코딩 방법을 함께 사용하여 영상 데이터를 압축 처리하는 향상 계층을 포함할 수 있다.
여기서, 계층(layer)은 공간(spatial, 예를 들어, 영상 크기), 시간(temporal, 예를 들어, 디코딩 순서, 영상 출력 순서, 프레임 레이트), 화질, 복잡도, 시점(view) 등을 기준으로 구분되는 영상 및 비트스트림(bitstream)의 집합을 의미한다.
기본 계층(Base layer)은 베이스 레이어라고 지칭할 수도 있고, 하위 계층(lower layer)이라 지칭할 수도 있다. 향상 계층(Enhancement layer)은 인핸스먼트 레이어 혹은 상위 계층(higher 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의 실시예에서 상술한 방법에 의해 시간적, 공간적, 화질적, 시점 스케일러빌리티를 제공할 수 있다.
본 명세서에서 스케일러블 비디오 코딩은 인코딩 관점에서는 스케일러블 비디오 인코딩, 디코딩 관점에서는 스케일러블 비디오 디코딩과 동일한 의미를 가진다.
상술한 바와 같이, 스케일러빌리티는 이종의 통신망 및 다양한 단말로 인해 현재 비디오 포맷의 중요한 기능이 되었다. 콘텐츠 전달경로(content delivery path)에서 모든 노드가 비트스트림을 효과적이며 효율적으로 변환하기 위해서는 비트스트림의 스케일러빌리티 정보가 매우 중요하다. 현재 HEVC(High Efficiency Video Coding) 표준에서 비트스트림과 관련된 중요한 정보는 비디오 파라미터 세트(VPS: Video Parameter Set)에서 기술하도록 되어 있다. 또한, 스케일러빌리티를 제공하기 위한 HEVC를 확장한 비디오 표준에서도 비트스트림과 관련된 중요한 정보, 예컨대 추출 정보(extraction information) 및 계층적 정보(scalability information)를 기술하는 것이 매우 중요하다.
이하, 본 발명에서는 계층적 비디오 부호화를 이용하여 부호화된 비트스트림의 다양한 스케일러빌리티 정보를 효율적으로 표현하는 방법을 제공하고, 이를 통해 비트스트림 추출기가 쉽게 원하는 계층을 추출할 수 있도록 하는 방법을 제공한다.
비트스트림
특성 표현(
Bitstream
characteristics
)
HEVC 표준화에서 스케일러블 비트스트림(scalable bitstream, 혹은 계층적 비트스트림)의 특성을 나타내기 위한 기술(description)이 정의되어 있으며, 본 발명에서는 스케일러블 비디오 코딩 구조에서 적용 가능하도록 스케일러블 비트스트림의 특성 표현을 다음과 같이 개선하고자 한다.
1) 최대 비트율 정의(Max. bitrate definition)를 위한 타임 윈도우(time window)
현재 계층적 표현(scalable representation, 스케일러블하게 디코딩 가능한 복원 영상을 일컬음)에서 최대 비트율(max. bitrate)은 1초 동안의 타임 윈도우(time window) 내에서 비트율의 상한선(upper bound)을 나타낸다.
그러나, 어플리케이션에 따라 다른 타임스케일(timescale)에서의 최대치 비트율(peak bitrate)이나 픽처율(picture rate) 정보가 필요할 수 있다. 예를 들어, 어떤 어플리케이션은 30초의 타임 윈도우 내에서의 정보만 필요할 수 있고, 반면 어떤 어플리케이션은 10초의 타임 윈도우 내에서의 최대치 비트율(peak bitrate) 혹은 최대 버스트(largest-burst) 정보가 필요할 수도 있다. 그래서, 이러한 목적을 위해서 최소한 한 개의(한 개 이상의) 타임 윈도우를 표현할 수 있는 방안을 다음과 같이 제안한다.
표 1은 한 개 이상의 타임 윈도우 내에서 비트율 정보를 나타내는 신택스의 일 실시예이다.
표 1에 도시된 신택스들의 의미는 다음과 같다.
- num_max_bit_rate_windows_minus1+1은 최대 비트율(max. bitrate)을 계산하기 위해서 사용된 타임 윈도우(time window)의 수를 나타낸다.
- num_max_pic_rate_windows_minus1+1은 최대 픽처율(max. picture rate)을 계산하기 위해서 사용된 타임 윈도우(time window)의 수를 나타낸다.
- max_bit_rate_calc_window[j]는 1/100초 단위로 서브 레이어들(sub-layers)의 표현(representation)들의 비트율(bitrate)에 대한 상한선(upper bounds)을 계산하기 위해 사용되는 j번째 타임 윈도우(time window)의 크기를 나타낸다. max_bit_rate_calc_window[0]의 디폴트(default) 값은 100 이다.
- max_pic_rate_calc_window[j]는 1/100초 단위로 서브 레이어(sub-layers)의 표현(representation)들의 픽처율(picture rate)에 대한 상한선(upper bounds)을 계산하기 위해 사용되는 j번째 타임 윈도우(time window)의 크기를 나타낸다. max_pic_rate_calc_window[0]의 디폴트(default) 값은 25600 이다.
- bit_rate_info_present_flag[i]가 “1”인 경우는 i번째 서브 레이어(sub-layer)의 비트율(bit rate)에 대한 기술이 존재함을 나타내며, bit_rate_info_present_flag[i]가 “0”인 경우는 i번째 서브 레이어(sub-layer)의 비트율(bit rate)에 대한 기술이 존재하지 않음을 나타낸다. bit_rate_info_present_flag[i]의 디폴트(default) 값은 “1”이다.
- pic_rate_info_present_flag[i]가 “1”인 경우는 i번째 서브 레이어(sub-layer)의 픽처율(picture rate)에 대한 기술이 존재함을 나타내며, pic_rate_info_present_flag[i]가 “0”인 경우는 i번째 서브 레이어(sub-layer)의 픽처율(picture rate)에 대한 기술이 존재하지 않음을 나타낸다. pic_rate_info_present_flag[i]의 디폴트(default) 값은 “1”이다.
- avg_bit_rate[i]는 i번째 서브 레이어(sub-layer)의 표현(representation)의 평균 비트율(average bit rate)을 나타낸다. avg_bit_rate[i]는 SVC 표준에 기술된 내용과 동일하다.
- max_bit_rate[i][j]는 max_bit_rate_calc_window[j]에 의해 표현된 타임 윈도우(time window)를 사용하여 SVC 표준에 기술된 대로 계산한 값으로, i번째 서브 레이어(sub layer)의 표현(representation)의 비트율(bitrate)에 대한 상한선(upper bound)을 나타낸다.
- avg_pic_rate[i]는 i번째 서브 레이어(sub-layer)의 표현(representation)의 평균 픽처율(average picture rate)을 나타낸다(256초 동안의 픽처 단위). avg_pic_rate[i]는 SVC 표준에 기술된 내용과 동일하다.
- max_pic_rate[i][j]는 max_pic_rate_calc_window[j]에 의해 표현된 타임 윈도우(time window)를 사용하여 SVC 표준에 기술된 대로 계산한 값으로, i번째 서브 레이어(sub layer)의 표현(representation)의 픽처율(picture rate)에 대한 상한선(upper bound)을 나타낸다.
2) 최대 비트율 정의(Max. bitrate definition)를 위한 버킷 크기(bucket size)
비트율 정보를 기술하는 다른 방법은 리키 버킷 모델(leaky bucket model)을 사용할 수 있다. 리키 버킷 모델은 고정된 시간 간격대신 고정된 데이터의 양을 이용하여 각각의 비트율 값을 계산하는 방식이다. 이 방식을 사용하는 경우의 실시 예는 다음 표 2와 같다.
표 2에 도시된 신택스들의 의미는 다음과 같다.
- num_max_bit_rate_values_minus1+1은 해당 신택스 구조에서 명시되는 최대 비트율(max. bitrate)의 수를 의미한다.
- max_pic_rate_calc_bucket_size[j]는 서브 레이어(sub-layer)들의 표현(representation)들의 비트율에 대한 상한선(upper-bound)을 계산하기 위해 사용되는 j번째 리키 버킷(leaky bucket)의 크기를 킬로비트(kilobits) 단위로 명시한다.
- num_max_pic_rate_windows_minus1는 서브 레이어(Sub-layer)들을 위한 비트율(bitrate) 정보가 정의되지 않은 경우 0의 값을 갖는다.
- max_pic_rate_calc_window[j]는 1/100초 단위로 서브 레이어들(sub-layers)의 표현(representation)들의 비트율(bitrate)에 대한 상한선(upper bounds)을 계산하기 위해 사용되는 j번째 타임 윈도우(time window)의 크기를 나타낸다. max_pic_rate_calc_window[0]의 디폴트(default) 값은 25600 이다.
- bit_rate_info_present_flag[i]가 “1”인 경우는 i번째 서브 레이어(sub-layer)의 비트율(bit rate)에 대한 기술이 존재함을 나타내며, bit_rate_info_present_flag[i]가 “0”인 경우는 i번째 서브 레이어(sub-layer)의 비트율(bit rate)에 대한 기술이 존재하지 않음을 나타낸다. bit_rate_info_present_flag[i]의 디폴트(default) 값은 “1”이다.
- pic_rate_info_present_flag[i]가 “1”인 경우는 i번째 서브 레이어(sub-layer)의 픽처율(picture rate)에 대한 기술이 존재함을 나타내며, pic_rate_info_present_flag[i]가 “0”인 경우는 i번째 서브 레이어(sub-layer)의 픽처율(picture rate)에 대한 기술이 존재하지 않음을 나타낸다. pic_rate_info_present_flag[i]의 디폴트(default) 값은 “1”이다.
- avg_bit_rate[i]은 i번째 서브 레이어(sub-layer)의 표현(representation)의 평균 비트율(average bit rate)을 나타낸다. avg_bit_rate[i]은 SVC 표준에 기술된 내용과 동일하다.
- max_bit_rate[i][j]는 i번째 서브 레이어(sub-layer)의 표현(representation)의 비트율에 대한 상한선(upper bound)을 나타낸다. max_pic_rate_calc_bucket_size[j]에 의해 표현된 타임 윈도우(time window)를 사용하여 SVC 표준에 기술된 대로 계산한 값으로, i번째 서브 레이어(sub layer)의 표현(representation)의 비트율(bitrate)에 대한 상한선(upper bound)을 나타낸다. 최대 비트율(Max. bitrate)은 다음과 같이 계산할 수 있다.
max
_
bit
_
rate
[i][j]=
max
_
bit
_
rate
_
calc
_
bucket
_
size
[j]/
SmallestInterval
[i][j]
- avg_pic_rate[i]는 i번째 서브 레이어(sub-layer)의 표현(representation)의 평균 픽처율(average picture rate)을 나타낸다(256초 동안의 픽처 단위). avg_pic_rate[i]는 SVC 표준에 기술된 내용과 동일하다.
- max_pic_rate[i][j]는 max_pic_rate_calc_window[j]에 의해 표현된 타임 윈도우(time window)를 사용하여 SVC 표준에 기술된 대로 계산한 값으로, i번째 서브 레이어(sub layer)의 표현(representation)의 픽처율(picture rate)에 대한 상한선(upper bound)을 나타낸다.
상기 표 1 및 2에 도시된 신택스는 비디오 파라미터 세트(이하, VPS) 확장(extension)에 추가될 수도 있으며, SEI(supplemental enhancement information) 메시지(message)의 형태로 정의될 수도 있다.
표 3은 비트율 정보를 SEI 메시지 형태로 정의한 신택스의 일 실시예를 나타낸다.
표 3에서, same_max_sub_layers_flag[i]와 max_sub_layers_minus1[i]는 후술할 동일한 이름의 신택스와 의미가 같을 수 있다.
same_max_sub_layers_flag[i]는 i번째 서브 레이어의 최대 수가 VPS에서 정의된 i번째 서브 레이어의 최대 수와 동일한지 여부를 나타내는 정보일 수 있다.
max_sub_layers_minus1[i]+1은 i번째 서브 레이어의 최대 수를 나타낸다.
3) 다른 시간 간격을 위한 비트율과 프레임율 정보(bitrate and picture rate information for different temporal periods)
현재 비트율과 픽처율 정보는 VPS에서만 기술되도록 되어 있다. 그러나 부호화된 비디오 신호는 다른 시간 간격(temporal period)에서 다른 비트율과 픽처율을 가질 수도 있다. 그래서 본 발명에서는 시간 간격에 대한 비트율과 픽처율의 기술 방안을 제안한다. 아래 표 4에서 제안된 추가 정보는 비디오 콘텐츠의 부분적인 특성을 나타내기 위해서 사용될 수도 있다. 반면, VPS에서의 비트율과 픽처율은 전체 부호화된 시퀀스에 대해서만 유효하다.
이러한 목적을 위해서, 표 4는 새로운 SEI 메시지(예를 들어, “period_characteristics”)를 이용하여 다른 시간 간격을 위한 비트율과 프레임율 정보를 기술한 신택스이다.
표 4에서 새로 정의된 SEI 메시지 “period_characteristics”는 비디오 시퀀스의 시간 간격(temporal period)의 특성을 나타내며, “period_characteristics” SEI 메시지는 해당 SEI 메시지가 적용되는 간격(period)의 복호화 순서상 가장 첫 번째 AU(access unit)에 포함되어야만 한다.
표 4에서 새로 정의된 SEI 메시지의 의미는 다음과 같다.
- duration_flag가 “0”이면 대상 시간 간격(target temporal period)의 길이가 기술되지 않았음을 의미한다.
- period_duration는 90-KHz 클락(clock)의 클락 틱(clock tick) 단위로 대상 시간 간격(target temporal period)의 길이를 나타낸다.
계층 참조 방식 (
Layer
referencing
)
현재 HEVC에서 기술된 계층 참조 방식은 특정 계층이 직접적으로 참조하는 계층을 모두 기술할 수 있도록 한다. 그러나, 특정 차원(dimension(s), 혹은 계층)에 있어서, 특정 계층(예를 들어, 품질 계층(quality layer) “3”)은 바로 하위 계층(예를 들어, 품질 계층(quality layer) “2”)을 직접적으로 참조하는 것이 명백할 수 있을 것이다.
이러한 목적으로, 본 발명에서는 기본 참조(default direct dependency)를 가지는 차원(들)을 기술하고, 기본 참조를 가지는 않는 차원(들)에 대해서만 스케일러블 레이어(scalable layer)의 기술(description loop)에서 따로 계층 참조를 기술하는 방안을 제안한다.
표 5는 본 발명에 따라 계층 참조 방식을 VPS_extension에서 기술한 신택스의 일예이다.
표 5에서 새로 정의되거나 수정된 신택스 요소들(elements)의 의미는 다음과 같다.
- default_dependency_flag[i]가 “1”을 가지는 경우는 스케일러빌리티 차원(scalability dimension, 혹은 스케일러빌리티 계층) i가 기본 참조(default dependency)를 가짐을 나타낸다. 이것은 차원(dimension, 혹은 계층) i 에 대해, 기본적으로 dimension_id[i]=n인 계층은 dimension_id[i]=n-1인 계층을 직접적으로 참조함을 의미한다. 비기본 참조(non-default dependencies)인 경우에는 specific_dependency_flag에 의해 참조 계층을 시그널링할 수 있다.
- default_temp_dependency_flag가 “1”을 가지는 경우는 시간 차원(temporal dimension)이 기본 참조(default dependency)를 가짐을 의미한다.
- specific_dependency_flag[i]가 “1”을 가지는 경우는 참조(계층) 관계가 이후에 기술됨을 나타낸다. specific_dependency_flag[i]가 “0”의 값을 가지는 경우는 계층(차원) i가 기본 참조(default dependency)를 가지거나, 간접적인 참조(dependency, 혹은 종속성)를 가지거나, 참조 계층이 존재하지 않음(no dependency layer)을 의미한다.
- num_direct_ref_layers[i]는 i번째 계층이 직접적으로 참조하는 계층의 수를 명시한다. 명시되지 않은 계층들은 기본 참조(default dependency)를 가지거나, 간접적인 참조(dependency)를 가지거나, 참조 계층이 존재하지 않음(no dependency layer)을 의미한다.
- temporal_dim_description_flag[i][j]가 “1”을 가지는 경우는 스케일러블 계층(scalable layer)의 ref_layer_id[i][j]의 시간 서브 레이어(temporal sub layer)에 대한 자세한 참조 관계를 나타내는 것을 의미한다.
- num_unref_temp_layers[i][j]는 스케일러블 계층(scalable layer) i를 위해 참조 계층으로 사용되지 않는 시간 서브 레이어(temporal sub layer)의 수를 나타낸다.
- unref_temp_layer_id[i][j][k]는 스케일러블 계층(scalable layer) i를 위해 참조 계층으로 사용되지 않는 시간 서브 레이어(temporal sub layer)의 id 값을 나타낸다.
여기서, 계층 C(layer C)가 계층 B를 직접적으로 참조한다는 것은 계층 C를 복호화하기 위해서, 디코더는 계층 B의 데이터(non-decoded 혹은 decoded)를 사용해야만 한다는 것을 의미한다. 더해서, 만약 계층 B가 계층 A의 데이터를 직접적으로 사용한다면, 계층 C는 계층 A를 직접적으로 참조한다고 할 수는 없다.
앞에서 제안한 방법은 시간 레벨(temporal level)(즉, 서브 레이어)마다 다른 참조 계층 구조를 표현하기 힘들다. 시간 레벨마다 다른 참조 계층 구조가 가능하도록 참조 계층을 표현하는 것이 필요하다.
다음 표 6은 본 발명에 따라 시간 레벨마다 다른 참조 계층 구조가 가능하도록 참조 계층을 기술한 신택스의 일예이다. 각각의 스케일러블 계층이 layer_id와 temporal_id 값에 의해 식별된다.
표 6을 참조하면, num_direct_ref_scal_layers[i][t]는 현재 스케일러블 계층이 (layer_id=i와 temporal_id=t 로 식별되는) 직접적으로 참조하는 참조 계층의 수를 명시한다. 여기서 명시되지 않은 계층들은 기본 참조(default dependency)를 가지거나 간접적인 참조 계층을 가질 수 있다.
ref_layer_id[i][t][j]와 ref_temporal_id[i][t][j]는 현재 계층이 직접적으로 참조하는 스케일러블 계층(layer_id = ref_layer_id[i][t][j]와 temporal_id = ref_layer_id[i][t][j]에 의해 식별되는)을 나타낸다.
HEVC 버전 1의 VPS에서 정의된 모든 오퍼레이션 포인트(operation point)에 명시된 모든 계층들(고유의 layer id를 가지는)이 서로간에 직접적인 혹은 간접적인 참조 관계가 있다면, direct_dependency_flag에 의해 기술되는 내용을 오퍼레이션 포인트가 포함하므로 direct_dependency_flag에 의한 시그널링을 생략할 수 있으며, 이를 layer_dependency_info_flag로 알려줄 수 있다.
표 7은 본 발명에 따라 VPS 확장에서 계층 간 참조 관계가 존재하는지 여부를 시그널링하는 방법을 나타내는 신택스의 일예이다.
표 7을 참조하면, layer_dependency_info_flag가 1인 경우 계층 참조(layer dependency) 관련 정보가 VPS extension에 기술되어 있음을 나타내며, layer_dependency_info_flag가 0인 경우 계층 참조 관련 정보가 VPS extension에 기술되지 않음을 나타낸다.
또한, 현재 기술되어 있는 스케일러빌리티 차원(scalability dimension)의 기본 타입에 특정 스케일러빌리티 차원을 추가할 수 있다. 즉, 표 8에서와 같이, 스케일러빌리티 차원의 기본 타입에서, 인코딩시 혹은 인코딩한 이후에 선정된 우선순위(priority) 순서대로 콘텐츠를 추출하여 소비할 수 있도록 하는 priority ID와 특정 영역만을 추출하여 볼 수 있도록 하는 region ID를 추가할 수 있다.
profile
_
tier
_
level
(계층에 대한 프로파일,
티어
, 레벨 정보 표현)
현재, VPS의 확장 부분(extension part)에서 각각의 계층(layer_id 값을 가지는 계층)에 대해 profile_tier_level(프로파일, 티어, 레벨 정보)을 비트스트림에서 최대 서브 레이어(혹은 시간 서브 레이어)의 수 (즉, vps_max_sub_layers_minus1+1)만큼 시그널링 하도록 되어 있다. 그러나, 각각의 계층은 서로 다른 수의 서브 레이어를 가질 수 있고, 미들 박스(middle box)를 위해서, 각 계층에서 서브 레이어의 개수를 기술하는 것이 더 나을 수 있다. 그래서, profile_tier_level에 대한 시그널링을 상기 표 5에 기술된 vps_extension()의 신택스에서 음영으로 표시된 부분과 같이 수정할 수 있으며, 수정된 신택스 요소들의 의미는 다음과 같다.
표 5를 참조하면, same_max_sub_layers_flag[i]가 “1”인 경우는 계층(layer) i의 시간 서브 레이어(temporal sub-layer)의 최대 수(max. sub-layer 값)가 vps_max_sub_layers_minus1+1임을 나타낸다.
max_sub_layers_minus1[i]+1은 계층(layer) i의 최대 시간 서브 레이어의 수(max. sub-layer 값)를 나타낸다.
same_max_sub_layers_flag[i]와 max_sub_layers_minus1[i]는 상기 표5의 실시예와 같이 profile_tier_level과 함께 시그널링될 수도 있고, 다음 표 9의 실시예와 같이 따로 시그널링될 수도 있다.
상술한 바와 같이, 각 계층마다 최대 서브 레이어의 개수(시간 서브 레이어의 최대 개수)를 시그널링함으로써, 성능 협상(capability negotiation) 또는 추출기(extractor)에 도움을 줄 수 있다.
또한, 계층들이 다른 프레임율을 가지는 경우, 그리고 max_one_active_ref_layer_flag가 1이거나 NumDirectRefLayers[nuh_layer_id]가 1이거나 all_ref_layers_active_flag가 1인 경우, 디코더는 다음 2가지 경우를 구별할 수 없다.
i) AU(Access Unit)가, 비트스트림에 존재하지 않는 픽처이기 때문에(예를 들어, 다른 프레임율을 가지는 참조 계층으로 인해), 현재 계층이 직접적으로 참조하는 참조 계층에 대한 코딩(인코딩/디코딩)된 픽처를 가지고 있지 않은 경우
ii) 현재 계층이 직접적으로 참조하는 참조 계층에 대한 코딩(인코딩/디코딩)된 픽처가 전송하는 동안 손실된(lost) 경우
본 발명에서는 상술한 i)과 ii)의 경우를 구별하기 위한 방법을 제안한다. 즉, 본 발명에서는 VPS에서 각 계층마다 최대 서브 레이어의 개수를 시그널링함으로써, 디코더 혹은 미들 박스에서 상위 서브 레이어 AU에 대한 하위 계층 픽처가 의도적으로 없어진(missing) 것인지 손실된(lost) 것인지를 판단할 수 있도록 한다.
향상 계층(enhancement layer, 즉, layer_id>0 인 계층)마다 최대 서브 레이어의 값(개수)을 기술하는 방법은 앞에서 제시한 것과 같이 VPS(video parameter set)에서 시그널링되는 vps_max_sub_layers_minus1+1과 다른 최대 서브 레이어의 값을 가지는 계층(layer)에 대해서만 해당 계층의 최대 서브 레이어 값을 시그널링하는 방식이 있으며, 또는 다음의 실시예와 같은 방식들이 존재할 수 있다.
A. 각각의 향상 계층(enhancement layer, 즉, layer_id>0 인 계층)에 대응되는 SPS(Sequence parameter set)마다 해당 계층(layer)의 최대 서브 레이어 값을 시그널링 하는 방식
표 10은 SPS에서 해당 계층의 최대 서브 레이어 값을 시그널링하는 방법을 나타내는 신택스의 일예이다.
B. VPS(Video parameter set) extension에서 각각의 향상 계층(enhancement layer, 즉, layer_id>0 인 계층)의 최대 서브 레이어 값을 시그널링하는 방식
표 11은 VPS extension에서 시간 서브 레이어의 최대 개수를 시그널링하는 방법을 나타내는 신택스의 일예이다.
표 11을 참조하면, max_sub_layers_minus1[i]+1은 i번째 계층(layer)이 가지는 최대 서브 레이어 값(시간 서브 레이어의 최대 개수)을 나타낸다.
C. VPS에서 시그널링되는 vps_max_sub_layers_minus1+1과 특정 계층의 최대서브 레이어 값이 다른 경우에만 해당 계층의 SPS에서 최대 서브 레이어 값을 시그널링하는 방식
일반적인 VPS 신택스는 다음 표 12와 같이 전체 비트스트림에서 최대 서브 레이어 값을 vps_max_sub_layers_minus1의 값을 이용하여 시그널링한다.
이때, VPS에서 시그널링된 vps_max_sub_layers_minus1+1 값과 동일하지 않은 최대 서브 레이어 값을 가지는 계층이 존재하는 경우, 이러한 계층의 최대 서브 레이어 값을 표 13에서와 같이 향상 계층의 SPS에서 시그널링할 수 있다.
표 13을 참조하면, max_sub_layers_predict_flag는 nuh_layer_id 값이 0보다 큰 경우(즉, 향상 계층인 경우)에 시그널링된다. max_sub_layers_predict_flag 값이 1인 경우, sps_max_sub_layers_minus1은 vps_max_sub_layers_minus1으로 유추될 수 있으며(infer), max_sub_layers_predict_flag 값이 0인 경우, sps_max_sub_layers_minus은 명시적으로(explicit) SPS에 시그널링된다.
각 계층(layer)마다 최대 서브 레이어 값이 해당 계층에 대응되는 SPS에서 시그널링되는 경우, 최대 서브 레이어 값에 따라 시그널링되는 최대 DPB 크기(max. DPB size) 및 최대 지연시간(max. latency) 정보가 SPS에서 시그널링될 수도 있다. 또는, 각 계층마다 최대 서브 레이어 값을 VPS extension에서 시그널링 하는 경우, VPS와 SPS 간의 파싱 종속성(parsing dependency)을 없애기 위하여, SPS에서 시그널링 되고 있는 최대 DPB 크기와 최대 지연시간 정보인 sps_max_dec_pic_buffering_minus1, sps_max_num_reorder_pics, sps_max_latency_increase_plus1 값들을 SPS가 아닌 VPS extension에서 시그널링될 수도 있다.
A. 각각의 향상 계층(enhancement layer, 즉, layer_id>0 인 계층)에 대응되는 SPS(Sequence parameter set)마다 해당 계층(layer)의 최대 서브 레이어 값을 시그널링 하는 방식의 경우, 표 14와 같이 SPS에서 최대 DPB 크기와 최대 지연시간 정보를 시그널링할 수 있다.
B. VPS(Video parameter set) extension에서 각각의 향상 계층(enhancement layer, 즉, layer_id>0 인 계층)의 최대 서브 레이어 값을 독립적으로 시그널링하는 방식의 경우, 표 15 및 표 16과 같이 VPS extension에서 최대 DPB 크기와 최대 지연시간 정보를 시그널링할 수 있다.
C. VPS(Video parameter set) extension에서 각각의 향상 계층(enhancement layer, 즉, layer_id>0 인 계층)의 최대 서브 레이어 값이 vps_max_sub_layers_minus1+1과 다른 경우에만 시그널링하는 방식의 경우, 다음 실시예 C-1 내지 C-4와 같이 VPS extension에서 최대 DPB 크기와 최대 지연시간 정보를 시그널링할 수 있다.
실시예 C-1 및 C-2는 모든 계층의 최대 DPB 크기와 최대 지연시간 정보를 VPS extension에서 시그널링하는 방식이다.
실시예 C-3 및 C-4는 최대 서브 레이어 값과 vps_max_sub_layers_minus1+1 값이 다르거나, 최대 서브 레이어 값과 vps_max_sub_layers_minus1+1 값은 같으나 VPS에서 시그널링되는 전체 비트스트림의 최대 DPB 크기와 최대 지연시간 정보가 동일하지 않은 경우에만 해당 계층의 최대 DPB 크기와 최대 지연시간 정보를 VPS extension에서 시그널링하는 방식이다.
실시예
C-1
실시예
C-2
실시예
C-3
표 19는 VPS에서 최대 DPB 크기와 최대 지연시간 정보를 시그널링하는 것을 나타낸 것이고, 표 20은 VPS extension에서 최대 DPB 크기와 최대 지연시간 정보를 시그널링하는 것을 나타낸 것이다.
표 20을 참조하면, sub_layer_vps_buf_ordering_info_predict_flag[i]는 i번째 계층(layer)의 최대 서브 레이어 값이 vps_max_sub_layers_minus1+1과 같은 경우, i번째 계층의 최대 DPB 크기 및 최대 지연시간 정보가 VPS에서 시그널링되는 전체 비트스트림의 최대 DPB 크기 및 최대 지연시간 정보와 동일한지 여부를 나타낸다.
sub_layer_vps_buf_ordering_info_predict_flag[i]가 “1”의 값을 가지는 경우는 동일함을 나타내며, sub_layer_vps_buf_ordering_info_predict_flag[i]가 “0”의 값을 가지는 경우는 동일하지 않음을 나타낸다.
sub_layer_vps_buf_ordering_info_predict_flag[i]가 “0”의 값을 가지는 경우 혹은 최대 서브 레이어 값이 vps_max_sub_layers_minus1+1과 같지 않은 경우에만 해당 계층의 최대 DPB 크기 및 최대 지연시간 정보가 시그널링될 수 있다. sub_layer_vps_buf_ordering_info_predict_flag[i]가 시그널링되지 않는 경우에 그 값은 “0”으로 설정한다.
실시예
C-3.1
실시예 C-3.1은 상기 실시예 C-3을 다르게 표현한 것으로, 표 21은 VPS에서 최대 DPB 크기와 최대 지연시간 정보를 시그널링하는 것을 나타낸 것이고, 표 22는 VPS extension에서 최대 DPB 크기와 최대 지연시간 정보를 시그널링하는 것을 나타낸 것이다.
표 22에서 추가된 신택스들의 의미는 전술한 동일한 이름의 신택스와 같다. 예컨대, sub_layer_vps_buf_ordering_info_predict_flag[i]는 표 20을 참조하여 설명한 바와 같다.
실시예
C-4
표 23을 참조하면, sub_layer_vps_buf_ordering_info_predict_flag[i]는 i번째 계층(layer)의 최대 서브 레이어 값이 vps_max_sub_layers_minus1+1과 같은 경우, i번째 계층의 최대 DPB 크기 및 최대 지연시간 정보가 VPS에서 시그널링되는 전체 비트스트림의 최대 DPB 크기 및 최대 지연시간 정보와 동일한지 여부를 나타낸다.
sub_layer_vps_buf_ordering_info_predict_flag[i]가 “1”의 값을 가지는 경우는 동일함을 나타내며, sub_layer_vps_buf_ordering_info_predict_flag[i]가 “0”의 값을 가지는 경우는 동일하지 않음을 나타낸다.
sub_layer_vps_buf_ordering_info_predict_flag[i]가 “0”의 값을 가지는 경우 혹은 최대 서브 레이어 값이 vps_max_sub_layers_minus1+1과 같지 않은 경우에만 해당 계층의 최대 DPB 크기 및 최대 지연시간 정보가 시그널링될 수 있다. sub_layer_vps_buf_ordering_info_predict_flag[i]가 시그널링되지 않는 경우에 그 값은 “0”으로 설정한다.
실시예
C-4.1
실시예 C-4.1은 상기 실시예 C-4을 다르게 표현한 것이다.
표 24에서 추가된 신택스들의 의미는 전술한 동일한 이름의 신택스와 같다. 예컨대, sub_layer_vps_buf_ordering_info_predict_flag[i]는 표 23을 참조하여 설명한 바와 같다.
D. VPS에서 시그널링되는 vps_max_sub_layers_minus1+1과 특정 계층의 최대 서브 레이어 값이 다른 경우에만 해당 계층의 SPS에서 최대 서브 레이어 개수를 시그널링하는 방식의 경우, 다음 실시예 D-1 내지 D-3과 같이 SPS 혹은 VPS extension에서 최대 DPB 크기와 최대 지연시간 정보를 시그널링할 수 있다.
일반적인 VPS 신택스는 다음 표 25와 같이 전체 비트스트림에서 최대 서브 레이어 값을 vps_max_sub_layers_minus1의 값을 이용하여 시그널링한다.
이때, 향상 계층의 SPS에서 해당 계층의 최대 서브 레이어 값이 vps_max_sub_layers_minus1+1과 동일하지 않을 때 최대 서브 레이어 값을 시그널링하는 경우, 해당 계층의 최대 DPB 크기와 최대 지연시간 정보를 SPS에서 시그널링하는 실시예는 다음 표 26과 같다.
실시예
D-1
다음 두 가지 실시예는 향상 계층 가운데 vps_max_sub_layers_minus1+1과 동일한 최대 서브 레이어 값을 가지는 계층(layer)의 최대 DPB 크기와 최대 지연시간 정보를 시그널링 하는 실시예이다.
실시예 D-2는 vps_max_sub_layers_minus1+1과 동일한 최대 서브 레이어 값을 가지는 모든 계층(layer)의 최대 DPB 크기와 최대 지연시간 정보를 시그널링하는 실시예를 나타낸다.
실시예 D-3는 vps_max_sub_layers_minus1+1과 동일한 최대 서브 레이어 값을 가지는 계층(layer)의 최대 DPB 크기와 최대 지연시간 정보가 VPS에서 시그널링되는 전체 비트스트림의 최대 DPB 크기와 최대 지연시간 정보와 동일하지 않은 경우에만 해당 계층의 최대 DPB 크기와 최대 지연시간 정보를 VPS extension에서 시그널링하는 방식이다.
실시예
D-2
표 27을 참조하면, max_sub_layers_vps_predict_flag[i]가 “1”의 값을 가지는 경우는 i번째 계층(layer)의 최대 (시간) 서브 레이어의 값이 vps_max_sub_layers_minus1+1 인 경우이며, max_sub_layers_vps_predict_flag[i]가 “0”의 값을 가지는 경우는 i번째 계층(layer)의 최대 (시간) 서브 레이어의 값이 해당 계층의 SPS(해당 계층과 동일한 nuh_layer_id 값을 가지는 SPS)에서 시그널링되는 sps_max_sub_layers_minus1+1의 값을 가지는 것을 의미한다.
vps_extension에서는 최대 (시간) 서브 레이어의 값이 vps_max_sub_layers_minus1+1값을 가지는 계층의 최대 DPB 크기 및 지연시간 관련 정보를 시그널링하며, 최대 (시간) 서브 레이어의 값이 vps_max_sub_layers_minus1+1 값과 다른 값을 가지는 계층의 경우는 실시예 D-1과 같이 해당 계층의 SPS에서 최대 DPB 크기와 지연시간 관련 정보를 시그널링한다.
실시예
D-3
표 28을 참조하면, max_sub_layers_vps_predict_flag[i]가 “1”의 값을 가지는 경우는 i번째 계층(layer)의 최대 (시간) 서브 레이어의 값이 vps_max_sub_layers_minus1+1 인 경우이며, max_sub_layers_vps_predict_flag[i]가 “0”의 값을 가지는 경우는 i번째 계층(layer)의 최대 (시간) 서브 레이어의 값이 해당 계층의 SPS(해당 계층과 동일한 nuh_layer_id 값을 가지는 SPS)에서 시그널링되는 sps_max_sub_layers_minus1+1의 값을 가지는 것을 의미한다.
sub_layer_vps_buf_ordering_info_predict_flag[i]는 i번째 계층(layer)의 최대 서브 레이어 값이 vps_max_sub_layers_minus1+1과 같은 경우 최대 DPB 크기 와 최대 지연시간 정보가 VPS에서 시그널링되는 전체 비트스트림의 최대 DPB 크기 와 최대 지연시간 정보와 동일한지 여부를 나타낸다.
sub_layer_vps_buf_ordering_info_predict_flag[i]가 “1”의 값을 가지는 경우는 동일함을 나타내며, sub_layer_vps_buf_ordering_info_predict_flag[i]가 “0”의 값을 가지는 경우는 동일하지 않음을 나타낸다. sub_layer_vps_buf_ordering_info_predict_flag[i]가 “0”의 값을 가지는 경우에만 해당 계층의 최대 DPB 크기 와 최대 지연시간 정보가 시그널링된다.
상기 모든 경우에 max_dec_pic_buffering_minus1[0][j], max_num_reorder_pics[0][j], max_latency_increase_plus1[0][j]는 nuh_layer_id 값이 0인 기본 계층의 SPS에서 시그널링되는 sps_max_dec_pic_buffering_minus1[j], max_num_reorder_pics[j], max_latency_increase_plus1[j]값을 사용한다.
상술한 바와 같은 시그널링된 DPB 관련 신택스 정보들을 이용하여 각 계층별 DPB를 관리할 수 있다.
(1) 특정 계층의 복호화된 영상이 복호화기에서 출력되어 디스플레이되는 계층인 경우에는(즉, VPS extension에서 시그널링되는 layer_output_flag가 ‘1’인 계층) 다음과 같이 해당 계층에 대한 최대 DPB 크기를 정할 수 있다.
MaxDPBsize[i][j]는 i번째 계층이 temporal_id가 j인 시간 서브 레이어(temporal sub-layer)까지 디코딩하는 경우의 최대 DPB 크기를 나타낸다.
디코딩 하고자 하는 비트스트림 전체에서 최대 (시간) 서브 레이어의 값 혹은 디코더에서 디스플레이로 출력되는 계층의 최대 (시간) 서브 레이어의 값을 HighestTid라고 할 경우, i번째 계층(이때 i의 범위는 1 <= i <= vps_max_layers_minus1일 수 있음)의 최대 (시간) 서브 레이어의 값이 A이며 A < HighestTid인 경우, 해당 계층의 max_dec_pic_buffering_minus1[i][j] 값은 A < j <= HighestTid에 대해, max_dec_pic_buffering_minus1[i][A]의 값을 적용할 수 있다. max_num_reorder_pics[i][j] 및 max_latency_incresase_plus1[i][j]도 동일하게, A < j <= HighestTid에 대해, max_num_reorder_pics[i][A]와 max_latency_increase_plus1[i][A]의 값을 적용할 수 있다.
또한, 특정 시간 서브 레이어 범위내의 i번쩨 계층(이때 i의 범위는 1 <= i <= vps_max_layers_minus1일수 있음)이 다른 계층의 참조 계층으로 사용되는 경우 (아래 신택스 테이블에서 max_tid_il_ref_pics_plus1[i]는 시간 서브 레이어를 나타내는 temporal_id값이 max_tid_il_ref_pics_plus1[i]-1 값보다 작거나 같은 i번째 계층이 다른 계층의 참조 계층으로 사용됨을 의미), max_tid_il_ref_pics_plus1[i]-1 < j <= HighestTid 범위에 속하는 j에 대해, MaxDPBsize[i][j] 값은 max_dec_pic_buffering_minus1[i][max_tid_il_ref_pics_plus1[i]-1]+1 값을 적용할 수 있다. 0 <= j <= max_tid_il_ref_pics_plus1[i]-1 인 경우의 MaxDPBsize[i][j] 값은 max_dec_pic_buffering_minus1[i][j]+1 값을 적용할 수 있다.
MaxReorderPics[i][j] 및 MaxLatencyIncreasePlus1[i][j]도 동일하게, max_tid_il_ref_pics_plus1-1[i] < j <= HighestTid 범위에 속하는 j에 대해, max_num_reorder_pics[i][max_tid_il_ref_pics_plus1[i]-1]와 max_latency_increase_plus1[i][max_tid_il_ref_pics_plus1[i]-1]의 값을 적용할 수 있고, 0 <= j <= max_tid_il_ref_pics_plus1[i]-1인 경우에 max_num_reorder_pics[i][j]와 max_latency_increase_plus1[i][j]의 값을 적용할 수도 있다. 혹은 0 <= j <= HighestTid인 경우의 MaxReorderPics[i][j] 및 MaxLatencyIncreasePlus1[i][j]도 max_num_reorder_pics[i][j]와 max_latency_increase_plus1[i][j]의 값을 적용할 수도 있다.
표 29는 상술한 신택스 정보들을 이용하여 각 계층별 DPB를 관리하기 위한 VPS extension의 일예를 나타낸 것이다.
(2) 특정계층의 복호화된 영상이 복호화기에서 출력되어 디스플레이되지 않는 계층인 경우에는(즉, VPS extension에서 시그널링되는 layer_output_flag가 ‘0’인 계층) 다음과 같이 해당 계층에 대한 최대 DPB 크기를 정할 수 있다.
디코딩 하고자 하는 비트스트림 전체에서 최대 (시간) 서브 레이어의 값 혹은 디코더에서 디스플레이로 출력되는 계층의 최대 (시간) 서브 레이어의 값을 HighestTid 라고 할 경우에, i번째 계층(이때 i의 범위는 1 <= i <= vps_max_layers_minus1일 수 있음)의 최대 (시간) 서브 레이어의 값이 A 이며 A < HighestTid인 경우, 해당 계층의 max_dec_pic_buffering_minus1[i][j] 값은 A < j <= HighestTid에 대해, max_dec_pic_buffering_minus1[i][A]의 값을 적용할 수 있다. max_num_reorder_pics[i][j] 및 max_latency_incresase_plus1[i][j]도 동일하게, A < j <= HighestTid에 대해, max_num_reorder_pics[i][A]와 max_latency_increase_plus1[i][A]의 값을 적용할 수 있다.
0 <= j <= HighestTid인 경우의 MaxDPBsize[i][j] 값은 max_dec_pic_buffering_minus1[i][j]+1 값을 적용할 수 있다. 0 <= j <= HighestTid인 경우의 MaxReorderPics[i][j] 및 MaxLatencyIncreasePlus1[i][j]도 max_num_reorder_pics[i][j]와 max_latency_increase_plus1[i][j]의 값을 적용할 수도 있다.
(3) 앞에서 기술된 것과 유사하나 다음과 같이 최대 DPB 크기 관리도 가능하다.
MaxDecPicbuffering[i][j][k]은 i번째 출력 계층 세트(output layer set)에 포함된 nuh_layer_id값이 j이며, 디코딩되는 최대 temporal_id값이 j인 경우의 최대 DPB 크기를 나타낸다.
MaxDecPicbuffering[i][j][k]을 이용하여 다음 표 30과 같이 최대 DPB 크기를 정할 수 있다.
표 30을 참조하면, numOutputLayerSets는 비트스트림이 지원 가능한 출력 계층 세트(output layer set)의 개수를 나타낸다.
output_layer_set_idx_minus1[i]+1은 i번째 출력 계층 세트에 해당하는 계층 세트(layer set)를 가리키는 인덱스(index) 값을 의미한다.
layer set은 서브 비트스트림 추출 과정(sub-bitstream extraction process)을 통해 생성된 비트스트림 내에 포함되는 계층들의 집합을 의미한다.
LayerSetLayerIdList[IsIdx][j]는 i번째 layer set에 포함된 j번째 계층의 nuh_layer_id를 의미한다.
0 <= i <= vps_max_layers_minus1에 대해, LayerIdxInVps[layer_id_in_nuh[i]] = i일 수 있다. 이때, layer_id_in_nuh[i]는 i 번째 계층의 VCL NAL unit에서 시그널링 되는 nuh_layer_id 값을 나타낸다.
max_sub_layers_vps_minus1[m]은 m번째 계층이 가지는 최대 시간 서브 레이어(temporal sub-layer)의 temporal_id -1 값을 나타낸다.
max_tid_il_ref_pics_plus1[m]은 m번째 계층이 상위 계층의 참조 계층으로 사용될 때 m개의 계층 가운데 temporal_id 값이 max_tid_il_ref_pics_plus1[i]-1 값보다 작거나 같은 경우에만 참조 영상으로 사용됨을 나타낸다.
혹은 위와 같이 파라미터들을 관리하기 위하여 다음 표 31 및 표 32와 같이 신택스들을 시그널링 할 수 도 있다.
우선순위 정보(
Priority
information
) 표현
비트스트림의 각각의 스케일러블 계층(scalable layer)의 우선순위(priority)를 나타내기 위한 방법을 제안한다. 위에서 기술하였듯이 VPS 혹은 SEI 메시지(예를 들어 아래와 같이 layer_priority_info message로)로 기술될 수 있으며, 일예로 다음 표 33 및 표 34와 같이 계층에 대한 우선순위를 시그널링할 수 있다.
표 33 및 표 34에서 새로 정의되거나 수정된 신택스 요소들(elements)의 의미는 다음과 같다.
- priority_description_flag가 “1”인 경우는 스케일러블 계층(scalable layer)의 우선순위(priority ) 정보가 제공됨을 의미한다.
- num_priority_policies_minus1+1은 우선순위 정책(priority setting policy)의 수를 나타낸다.
- priority_id[i][j]는 layer_id가 i이고 temporal_id가 j인 계층의 우선순위 값을 나타낸다. 이 요소(element)의 값이 낮을수록 우선순위가 높음을 의미한다.
- priority_id_setting_uri[PriorityIdSettingUriIdx]는 대상 엑세스 유닛 세트(target access unit set)를 위한 NAL 유닛 헤더(NAL unit header)에서 priority_id 값을 계산하기 위해 사용된 방법을 기술하는 URI(universal resource identifier)를 나타내는 것으로, UTF-8 character로 인코딩된 null-terminated string의 PriorityIdSettingUriIdx 번재 바이트이다.
만약 layer_priority_info 메시지(message)가 존재한다면, 이 메시지는 메시지가 적용되는 주기의 디코딩 순서상 첫 번째 엑세스 유닛(access unit)에 포함되어야만 한다.
도 4는 본 발명의 실시예에 따른 스케일러블 비트스트림(계층적 비트스트림)을 지원하는 영상 부호화 방법을 개략적으로 나타내는 순서도이다. 도 4의 방법은 상술한 도 1의 영상 부호화 장치에 의해 수행될 수 있다.
도 4를 참조하면, 부호화 장치는 비트스트림의 스케일러빌리티 정보를 인코딩한다(S400).
비트스트림의 스케일러빌리티 정보는 스케일러블 비트스트림(스케일러블 계층)을 지원하는 비디오 코딩 구조에서 비트스트림의 스케일러블한 특성을 효율적으로 코딩(인코딩/디코딩)하기 위해서 필요한 정보들을 말한다.
예를 들어, 상술한 바와 같이, 비트스트림의 스케일러빌리티 정보는, 비트스트림의 특성 정보, 비트스트림에 포함되는 계층(들)에 대한 계층 참조 정보, 비트스트림에 포함되는 계층(들)에 대한 프로파일, 티어, 레벨 정보, 비트스트림에 포함되는 계층(들)에 대한 우선순위 정보를 포함할 수 있다.
비트스트림의 특성 정보는, 고정된 시간 간격(예를 들어, 타임 윈도우) 혹은 고정된 데이터 양(예를 들어, 버킷 크기)을 이용하여 계산된 비트율 혹은 픽처율에 대한 정보, 다른 시간 간격을 이용하여 계산된 비트율 혹은 픽처율에 대한 정보를 포함할 수 있다.
계층 참조 정보는, 비트스트림에 포함되는 각 계층에 대한 참조 관계 정보(기본 참조 관계를 가지는지 여부에 따른 계층 참조 정보), 시간 서브 레이어에 대한 참조 관계 정보를 포함할 수 있다.
프로파일, 티어, 레벨 정보는, 비트스트림에 포함되는 각 계층에 대한 프로파일, 티어, 레벨과 같은 정보를 말하며, 각 계층의 최대 서브 레이어 수만큼 시그널링될 수 있다.
우선순위 정보는, 비트스트림에 포함되는 계층(들)에 대해 우선순위 정책을 적용하기 위한 각 계층별 우선순위 값 정보를 포함할 수 있다. 예컨대, 우선순위에 따라 콘텐츠를 추출하여 소비할 수 있도록 하는 우선순위 ID 정보, 또는 특정 영역을 추출하여 볼 수 있도록 하는 영역 ID 정보 등이 있을 수 있다.
또한, 비트스트림의 스케일러빌리티 정보는 비트스트림에 포함되는 계층(들)에 대한 서브 레이어 정보를 포함할 수 있다. 즉, 각 계층이 가질 수 있는 최대 서브 레이어의 개수에 대한 정보를 포함할 수 있다. 또한, 각 계층 혹은 각 서브 레이어에 대한 최대 DPB 크기 및 최대 지연시간 정보를 포함할 수 있다.
부호화 장치는 상술한 비트스트림의 스케일러빌리티 정보를 VPS, VPS 확장(extention), SPS, SEI 메시지 등의 신택스를 통해 기술하고 기술된 신택스 정보를 인코딩할 수 있다.
여기서, VPS, VPS 확장(extention), SPS, SEI 메시지 등의 신택스를 통해 스케일러빌리티 정보를 기술하는 방법에 대해서는 표 1 내지 표 34를 참조하여 구체적으로 상술한 바 있으므로, 본 실시예에서는 이에 대한 설명을 생략한다.
부호화 장치는 인코딩된 스케일러빌리티 정보를 포함하는 비트스트림을 전송한다(S410).
도 5는 본 발명의 실시예에 따른 스케일러블 비트스트림(계층적 비트스트림)을 지원하는 영상 복호화 방법을 개략적으로 나타내는 순서도이다. 도 5의 방법은 상술한 도 2의 영상 복호화 장치에 의해 수행될 수 있다.
도 5를 참조하면, 복호화 장치는 스케일러빌리티 정보를 포함하는 비트스트림을 수신한다(S500).
복호화 장치는 수신된 비트스트림을 디코딩하여 비트스트림에 대한 스케일러빌리티 정보를 획득한다(S510).
이때, 비트스트림을 디코딩하여 비트스트림에 대한 스케일러빌리티 정보를 획득하는 과정은 엔트로피 디코딩 혹은 파싱 과정으로 볼 수 있으며, 이러한 과정을 통해 스케일러빌리티 정보의 신택스 요소 값들이 출력될 수 있다.
비트스트림에 대한 스케일러빌리티 정보는, 상술한 바와 같이, 비트스트림의 특성 정보, 비트스트림에 포함되는 계층(들)에 대한 계층 참조 정보, 비트스트림에 포함되는 계층(들)에 대한 프로파일, 티어, 레벨 정보, 비트스트림에 포함되는 계층(들)에 대한 우선순위 정보를 포함할 수 있다.
비트스트림의 특성 정보는, 고정된 시간 간격(예를 들어, 타임 윈도우) 혹은 고정된 데이터 양(예를 들어, 버킷 크기)을 이용하여 계산된 비트율 혹은 픽처율에 대한 정보, 다른 시간 간격을 이용하여 계산된 비트율 혹은 픽처율에 대한 정보를 포함할 수 있다.
계층 참조 정보는, 비트스트림에 포함되는 각 계층에 대한 참조 관계 정보(기본 참조 관계를 가지는지 여부에 따른 계층 참조 정보), 시간 서브 레이어에 대한 참조 관계 정보를 포함할 수 있다.
프로파일, 티어, 레벨 정보는, 비트스트림에 포함되는 각 계층에 대한 프로파일, 티어, 레벨과 같은 정보를 말하며, 각 계층의 최대 서브 레이어 수만큼 시그널링될 수 있다.
우선순위 정보는, 비트스트림에 포함되는 계층(들)에 대해 우선순위 정책을 적용하기 위한 각 계층별 우선순위 값 정보를 포함할 수 있다. 예컨대, 우선순위에 따라 콘텐츠를 추출하여 소비할 수 있도록 하는 우선순위 ID 정보, 또는 특정 영역을 추출하여 볼 수 있도록 하는 영역 ID 정보 등이 있을 수 있다.
또한, 비트스트림에 대한 스케일러빌리티 정보는 비트스트림에 포함되는 계층(들)에 대한 서브 레이어 정보를 포함할 수 있다. 즉, 각 계층이 가질 수 있는 최대 서브 레이어의 개수에 대한 정보를 포함할 수 있다. 또한, 각 계층 혹은 각 서브 레이어에 대한 최대 DPB 크기 및 최대 지연시간 정보를 포함할 수 있다.
한편, 부호화 장치는 상술한 바와 같이, 비트스트림에 대한 스케일러빌리티 정보를 VPS, VPS 확장(extention), SPS, SEI 메시지 등의 신택스를 통해 기술하고 기술된 신택스 정보를 인코딩하여 시그널링한다.
그러므로, 복호화 장치는 VPS, VPS 확장(extention), SPS, SEI 메시지 등의 신택스 요소들을 디코딩하여 비트스트림에 대한 스케일러빌리티 정보를 획득할 수 있다.
여기서, VPS, VPS 확장(extention), SPS, SEI 메시지 등의 신택스를 통해 스케일러빌리티 정보를 기술하는 방법에 대해서는 표 1 내지 표 34를 참조하여 구체적으로 상술한 바 있으므로, 본 실시예에서는 이에 대한 설명을 생략한다.
도 6은 본 발명의 실시예에 따른 스케일러블 비트스트림(계층적 비트스트림)을 지원하는 영상 부/복호화 구조에서 스케일러블 계층에 대한 서브 레이어 정보를 시그널링하는 방법을 개략적으로 나타내는 순서도이다.
도 6의 방법은 상술한 도 1의 영상 부호화 장치 또는 상술한 도 2의 영상 복호화 장치에 의해 수행될 수 있다. 도 6에서는 설명의 편의상 복호화 장치에서 수행되는 스케일러블 계층에 대한 서브 레이어 정보를 시그널링하는 과정에 대해 기술하였다.
도 6을 참조하면, 복호화 장치는 복수의 계층을 포함하는 비트스트림을 수신한다(S600).
이때, 복수의 계층은 기본 계층 및 적어도 하나의 향상 계층을 포함할 수 있다.
복호화 장치는 수신한 비트스트림을 디코딩하여 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 획득한다(S610).
서브 레이어의 최대 개수 정보는 비디오 파라미터 세트 확장 정보(Video Parameter Set extension information), 비디오 파라미터 세트(Video Parameter Set) 및 시퀀스 파라미터 세트(Sequence Parameter Set) 중 적어도 하나에 포함되어 시그널링될 수 있다. 비디오 파라미터 세트 확장 정보는 VPS extension 신택스일 수 있다.
서브 레이어의 최대 개수 정보를 비디오 파라미터 세트 확장 정보, 비디오 파라미터 세트, 시퀀스 파라미터 세트를 이용하여 시그널링하는 방법에 대해서는 표 5, 표 9 내지 표 13을 참조하여 구체적으로 상술한 바 있다.
일 예로, 복호화 장치는 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 비디오 파라미터 세트 확장 정보(VPS extension)로부터 획득할 수 있다. 이때, 복호화 장치는 비디오 파라미터 세트 확장 정보에 서브 레이어의 최대 개수 정보가 존재하는지 여부를 나타내는 플래그 정보를 획득함으로써 복수의 계층 각각에 대한 서브 레이어의 최대 개수를 알 수 있다.
다른 예로, 복호화 장치는 비디오 파라미터 세트 확장 정보에서 시그널링되는 서브 레이어의 최대 개수와 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수가 다른 값을 가지는 계층에 대해서 해당 계층의 서브 레이어의 최대 개수 정보를 비디오 파라미터 세트 확장 정보로부터 획득할 수 있다. 이때, 복호화 장치는 비디오 파라미터 세트 확장 정보에서 시그널링되는 서브 레이어의 최대 개수와 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수가 동일한지 여부를 나타내는 플래그 정보를 획득함으로써, 해당 계층에 대한 서브 레이어의 최대 개수를 파악할 수 있다.
또 다른 예로, 복호화 장치는 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 시퀀스 파라미터 세트로부터 획득할 수 있다. 즉, 복호화 장치는 기본 계층 혹은 향상 계층 각각에 대응되는 시퀀스 파라미터 세트로부터 해당 계층의 서브 레이어의 최대 개수 정보를 획득할 수 있다.
또 다른 예로, 복호화 장치는 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수와 복수의 계층(기본 계층 혹은 향상 계층) 각각의 시퀀스 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수가 동일하지 않는 경우에, 해당 계층의 서브 레이어의 최대 개수 정보를 시퀀스 파라미터 세트로부터 획득할 수 있다. 이때, 복호화 장치는 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수와 시퀀스 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수가 동일한지 여부를 나타내는 플래그 정보를 획득함으로써, 해당 계층의 서브 레이어의 최대 개수를 파악할 수 있다. 상기 플래그 정보는 향상 계층일 경우에 시그널링될 수 있다.
예컨대, 상기 플래그 정보가 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수와 시퀀스 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수가 동일한 것으로 나타내는 경우, 해당 계층(향상 계층)에 대한 서브 레이어의 최대 개수는 비디오 파라미터 세트에서 시그널링되는 서브 레이어 최대 개수로 결정될 수 있다. 반면, 상기 플래그 정보가 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수와 시퀀스 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수가 동일하지 않은 것으로 나타내는 경우, 해당 계층(향상 계층)에 대한 서브 레이어의 최대 개수는 시퀀스 파라미터 세트에서 시그널링되는 정보로 결정될 수 있다.
상술한 단계 S600 ~ S610은 복호화 장치의 엔트로피 복호화부 혹은 파싱부 혹은 디코딩부에 의해 수행될 수 있다.
또한, 상술한 본 발명의 실시예에 따른 스케일러블 비트스트림(계층적 비트스트림)을 지원하는 영상 부/복호화 구조에서 스케일러블 계층에 대한 서브 레이어 정보를 시그널링하는 방법을 부호화 장치에서 수행할 경우, 복호화 장치에서 수행한 반대 절차로 진행될 수 있다.
예를 들어, 부호화 장치는 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 결정하여 인코딩하고, 인코딩된 서브 레이어의 최대 개수 정보를 포함하는 비트스트림을 전송할 수 있다. 이때, 상술한 바와 같이, 서브 레이어의 최대 개수 정보는 비디오 파라미터 세트 확장 정보, 비디오 파라미터 세트 및 시퀀스 파라미터 세트 중 적어도 하나에 저장되어 시그널링될 수 있다. 이러한 서브 레이어의 최대 개수 정보는 부호화 장치의 엔트로피 부호화부 혹은 인코딩부에 의해 부호화되어 복호화 장치로 전송될 수 있다.
상술한 본 발명의 실시예에서와 같이 서브 레이어의 최대 개수 정보를 각 계층마다 시그널링함으로써 미들 박스의 성능 및 효율성을 향상시킬 수 있으며, 성능 협상 혹은 비트스트림 추출 과정에 도움을 줄 수 있다.
상술한 실시예들에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호범위는 특허청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (19)
- 복수의 계층을 지원하는 영상 복호화 방법에 있어서,
상기 복수의 계층을 포함하는 비트스트림을 수신하는 단계; 및
상기 비트스트림을 디코딩하여 상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 획득하는 단계를 포함하고,
상기 서브 레이어의 최대 개수 정보는 비디오 파라미터 세트 확장 정보(Video Parameter Set extension information)에 포함되어 시그널링되는 것을 특징으로 하는 영상 복호화 방법.
- 삭제
- 제1항에 있어서,
상기 서브 레이어의 최대 개수 정보가 존재하는지 여부를 나타내는 플래그 정보에 따라 상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 획득하는 것을 특징으로 하는 영상 복호화 방법. - 제1항에 있어서,
상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 획득하는 단계는,
상기 비디오 파라미터 세트 확장 정보에서 시그널링되는 상기 서브 레이어의 최대 개수가 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수와 다른 값을 가지는 계층에 대해 상기 서브 레이어의 최대 개수 정보를 획득하는 것을 특징으로 하는 영상 복호화 방법. - 제4항에 있어서,
상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 획득하는 단계는,
상기 비디오 파라미터 세트 확장 정보에서 시그널링되는 서브 레이어의 최대 개수와 상기 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수가 동일한지 여부를 나타내는 플래그 정보를 기반으로 상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 획득하는 것을 특징으로 하는 영상 복호화 방법. - 제1항에 있어서,
상기 복수의 계층은 기본 계층 및 적어도 하나의 향상 계층을 포함하며,
상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 획득하는 단계는,
상기 향상 계층에 대응되는 시퀀스 파라미터 세트(Sequence Parameter Set)에서 상기 향상 계층에 대한 서브 레이어의 최대 개수 정보를 획득하는 것을 특징으로 하는 영상 복호화 방법. - 제1항에 있어서,
상기 복수의 계층은 기본 계층 및 적어도 하나의 향상 계층을 포함하며,
상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 획득하는 단계는,
상기 향상 계층에 대응되는 시퀀스 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수와 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수가 동일하지 않은 경우, 상기 향상 계층에 대한 서브 레이어의 최대 개수 정보를 시퀀스 파라미터 세트로부터 획득하는 것을 특징으로 하는 영상 복호화 방법. - 제7항에 있어서,
상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 획득하는 단계는,
상기 시퀀스 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수와 상기 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수가 동일한지 여부를 나타내는 플래그 정보를 획득하는 단계를 포함하며,
상기 플래그 정보가 상기 시퀀스 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수와 상기 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수가 동일한 것으로 나타내는 경우, 상기 향상 계층에 대한 서브 레이어의 최대 개수 정보는 상기 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수로 결정되며,
상기 플래그 정보가 상기 시퀀스 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수와 상기 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수가 동일하지 않은 것으로 나타내는 경우, 상기 향상 계층에 대한 서브 레이어의 최대 개수 정보는 상기 시퀀스 파라미터 세트에서 획득되는 것을 특징으로 하는 영상 복호화 방법. - 복수의 계층을 지원하는 영상 부호화 방법에 있어서,
상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 결정하는 단계; 및
상기 서브 레이어의 최대 개수 정보를 인코딩하여 상기 서브 레이어의 최대 개수 정보를 포함하는 비트스트림을 전송하는 단계를 포함하고,
상기 서브 레이어의 최대 개수 정보는 비디오 파라미터 세트 확장 정보(Video Parameter Set extension information)에 포함되어 시그널링되는 것을 특징으로 하는 영상 부호화 방법.
- 삭제
- 제9항에 있어서,
상기 서브 레이어의 최대 개수 정보가 존재하는지 여부를 나타내는 플래그 정보를 결정하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법. - 제9항에 있어서,
상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 결정하는 단계는,
상기 비디오 파라미터 세트 확장 정보에서 시그널링되는 상기 서브 레이어의 최대 개수가 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수와 다른 값을 가지는 계층에 대해 상기 서브 레이어의 최대 정보를 결정하는 것을 특징으로 하는 영상 부호화 방법. - 제12항에 있어서,
상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 결정하는 단계는,
상기 비디오 파라미터 세트 확장 정보에서 시그널링되는 서브 레이어의 최대 개수와 상기 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수가 동일한지 여부를 나타내는 플래그 정보를 결정하여 부호화하고,
상기 플래그 정보를 기반으로 상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 결정하는 것을 특징으로 하는 영상 부호화 방법. - 제9항에 있어서,
상기 복수의 계층은 기본 계층 및 적어도 하나의 향상 계층을 포함하며,
상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 결정하는 단계는,
상기 향상 계층에 대한 서브 레이어의 최대 개수 정보를 결정하여 상기 향상 계층에 대응되는 시퀀스 파라미터 세트(Sequence Parameter Set)를 통해 시그널링하는 것을 특징으로 하는 영상 부호화 방법. - 제9항에 있어서,
상기 복수의 계층은 기본 계층 및 적어도 하나의 향상 계층을 포함하며,
상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 결정하는 단계는,
상기 향상 계층에 대응되는 시퀀스 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수와 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수가 동일하지 않은 경우, 상기 향상 계층에 대한 서브 레이어의 최대 개수 정보를 결정하여 상기 시퀀스 파라미터 세트를 통해 시그널링하는 것을 특징으로 하는 영상 부호화 방법. - 제15항에 있어서,
상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 결정하는 단계는,
상기 시퀀스 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수와 상기 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수가 동일한지 여부를 나타내는 플래그 정보를 결정하여 부호화하는 단계를 포함하며,
상기 플래그 정보가 상기 시퀀스 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수와 상기 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수가 동일한 것으로 나타내는 경우, 상기 향상 계층에 대한 서브 레이어의 최대 개수 정보는 상기 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수로 결정되며,
상기 플래그 정보가 상기 시퀀스 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수와 상기 비디오 파라미터 세트에서 시그널링되는 서브 레이어의 최대 개수가 동일하지 않은 것으로 나타내는 경우, 상기 향상 계층에 대한 서브 레이어의 최대 개수 정보는 상기 시퀀스 파라미터 세트를 통해 시그널링되는 것을 특징으로 하는 영상 부호화 방법. - 복수의 계층을 지원하는 영상 복호화 장치에 있어서,
상기 복수의 계층을 포함하는 비트스트림을 수신하고, 상기 비트스트림을 디코딩하여 상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 획득하는 디코딩부를 포함하고,
상기 서브 레이어의 최대 개수 정보는 비디오 파라미터 세트 확장 정보(Video Parameter Set extension information)에 포함되어 시그널링되는 것을 특징으로 하는 영상 복호화 장치. - 복수의 계층을 지원하는 영상 부호화 장치에 있어서,
상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 결정하고, 상기 서브 레이어의 최대 개수 정보를 인코딩하여 상기 서브 레이어의 최대 개수 정보를 포함하는 비트스트림을 전송하는 인코딩부를 포함하고,
상기 서브 레이어의 최대 개수 정보는 비디오 파라미터 세트 확장 정보(Video Parameter Set extension information)에 포함되어 시그널링되는 것을 특징으로 하는 영상 부호화 장치. - 복수의 계층을 지원하는 영상 부호화 방법으로 생성된 비트스트림을 저장하는 기록매체에 있어서,
상기 영상 부호화 방법은,
상기 복수의 계층 각각에 대한 서브 레이어의 최대 개수 정보를 결정하는 단계; 및
상기 서브 레이어의 최대 개수 정보를 인코딩하여 상기 서브 레이어의 최대 개수 정보를 포함하는 비트스트림을 전송하는 단계를 포함하고,
상기 서브 레이어의 최대 개수 정보는 비디오 파라미터 세트 확장 정보(Video Parameter Set extension information)에 포함되어 시그널링되는 것을 특징으로 하는 영상 부호화 방법으로 생성된 비트스트림을 저장하는 기록매체.
Priority Applications (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015551610A JP6386475B2 (ja) | 2013-01-07 | 2014-01-06 | ピクチャ復号化方法およびピクチャ符号化方法 |
US14/653,436 US9843814B2 (en) | 2013-01-07 | 2014-01-06 | Image encoding/decoding method and device |
CN201480007888.XA CN104969554B (zh) | 2013-01-07 | 2014-01-06 | 图像编码/解码方法和装置 |
PCT/KR2014/000100 WO2014107069A1 (ko) | 2013-01-07 | 2014-01-06 | 영상 부호화/복호화 방법 및 장치 |
US15/708,967 US10116946B2 (en) | 2013-01-07 | 2017-09-19 | Image encoding/decoding method and device |
JP2018112225A JP6578417B2 (ja) | 2013-01-07 | 2018-06-12 | ピクチャ復号化方法およびピクチャ符号化方法 |
US16/136,415 US10455241B2 (en) | 2013-01-07 | 2018-09-20 | Image encoding/decoding method and device |
JP2019154123A JP6841877B2 (ja) | 2013-01-07 | 2019-08-26 | ピクチャ復号化方法およびピクチャ符号化方法 |
US16/565,558 US10841598B2 (en) | 2013-01-07 | 2019-09-10 | Image encoding/decoding method and device |
JP2021023559A JP7125520B2 (ja) | 2013-01-07 | 2021-02-17 | ピクチャ復号化方法およびピクチャ符号化方法 |
KR1020210083165A KR102431741B1 (ko) | 2013-01-07 | 2021-06-25 | 영상 부호화/복호화 방법 및 장치 |
JP2022128444A JP7371181B2 (ja) | 2013-01-07 | 2022-08-10 | ピクチャ復号化方法およびピクチャ符号化方法 |
JP2023177848A JP7521093B2 (ja) | 2013-01-07 | 2023-10-13 | ピクチャ復号化方法およびピクチャ符号化方法 |
Applications Claiming Priority (14)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130001825 | 2013-01-07 | ||
KR20130001825 | 2013-01-07 | ||
KR20130003643 | 2013-01-11 | ||
KR1020130003643 | 2013-01-11 | ||
KR20130039044 | 2013-04-10 | ||
KR1020130039044 | 2013-04-10 | ||
KR1020130071845 | 2013-06-21 | ||
KR1020130071845A KR20140092198A (ko) | 2013-01-07 | 2013-06-21 | 계층적 비디오 부호화에서의 스케일러빌리티 정보 표현방식 |
KR1020130082480A KR20140092201A (ko) | 2013-01-07 | 2013-07-12 | 계층적 비디오 부호화에서의 스케일러빌리티 정보 표현방식 |
KR1020130082480 | 2013-07-12 | ||
KR1020130086839 | 2013-07-23 | ||
KR1020130086839A KR20140093577A (ko) | 2013-01-07 | 2013-07-23 | 계층적 비디오 부호화에서의 스케일러빌리티 정보 표현방식 |
KR1020130118148 | 2013-10-02 | ||
KR1020130118148A KR20140092206A (ko) | 2013-01-07 | 2013-10-02 | 계층적 비디오 부호화에서의 스케일러빌리티 정보 표현방식 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210083165A Division KR102431741B1 (ko) | 2013-01-07 | 2021-06-25 | 영상 부호화/복호화 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140090566A KR20140090566A (ko) | 2014-07-17 |
KR102271879B1 true KR102271879B1 (ko) | 2021-07-01 |
Family
ID=51738152
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140001045A KR102271879B1 (ko) | 2013-01-07 | 2014-01-06 | 영상 부호화/복호화 방법 및 장치 |
KR1020210083165A KR102431741B1 (ko) | 2013-01-07 | 2021-06-25 | 영상 부호화/복호화 방법 및 장치 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210083165A KR102431741B1 (ko) | 2013-01-07 | 2021-06-25 | 영상 부호화/복호화 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR102271879B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101581131B1 (ko) | 2014-09-11 | 2015-12-30 | 이화여자대학교 산학협력단 | 영상 정보를 전달하는 방법, 영상 부호기 및 영상 복호기 |
CN114666596A (zh) * | 2019-03-11 | 2022-06-24 | 杜比实验室特许公司 | 帧速率可伸缩视频编码 |
US20230179769A1 (en) * | 2020-05-25 | 2023-06-08 | Lg Electronics Inc. | Multilayer-based image coding method in video or image coding system |
-
2014
- 2014-01-06 KR KR1020140001045A patent/KR102271879B1/ko active Application Filing
-
2021
- 2021-06-25 KR KR1020210083165A patent/KR102431741B1/ko active IP Right Grant
Non-Patent Citations (3)
Title |
---|
K. Sato. On inter-layer prediction enabling/disabling for HEVC scalable extensions. JCT-VC of ITU-T and ISO/IEC. JCTVC-K0175 Ver.4, Oct. 10, 2012, pp.1-6 |
T. C. Thang, et al. Proposal to the Extension of Video Parameter Set. JCT-VC of ITU-T and ISO/IEC. JCTVC-L0246 Ver.1, Jan. 8, 2013, pp.1-6 |
Y-K. Wang. Solutions considered for NAL unit header and video parameter set for HEVC extensions. JCT-VC of ITU-T and ISO/IEC. JCT1VC-J1007 Ver.1, Jul. 20, 2012, pp.1-6 |
Also Published As
Publication number | Publication date |
---|---|
KR20210083229A (ko) | 2021-07-06 |
KR20140090566A (ko) | 2014-07-17 |
KR102431741B1 (ko) | 2022-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102551896B1 (ko) | 영상 부호화/복호화 방법 및 장치 | |
KR101904255B1 (ko) | 영상 정보 디코딩 방법, 영상 디코딩 방법 및 이를 이용하는 장치 | |
KR102703007B1 (ko) | 영상의 복호화 방법 및 이를 이용하는 장치 | |
KR102273183B1 (ko) | 시간적 서브 레이어 정보에 기반한 인터 레이어 예측 방법 및 장치 | |
KR102431741B1 (ko) | 영상 부호화/복호화 방법 및 장치 | |
KR102290091B1 (ko) | 다계층 기반의 영상 부호화/복호화 방법 및 장치 | |
KR20140043240A (ko) | 영상 부호화/복호화 방법 및 장치 | |
KR20210093819A (ko) | 영상 부호화/복호화 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent |