KR-20260061290-A - METHOD FOR OUTPUT LAYER SET SIGNALING IN SCALABLE VIDEO STREAM
Abstract
적어도 하나의 프로세서를 사용하여 인코딩된 비디오 비트스트림을 디코딩하는 방법은, 인코딩된 비디오 비트스트림으로부터 복수의 출력 계층 세트를 포함하는 코딩된 비디오 시퀀스를 획득하는 단계; 복수의 출력 계층 세트의 각각의 출력 계층 세트가 하나보다 많은 계층을 포함하는지를 표시하는 제1 플래그를 획득하는 단계; 각각의 출력 계층 세트가 하나보다 많은 계층을 포함한다는 것을 표시하는 제1 플래그에 기초하여, 출력 계층 세트 모드를 표시하는 제1 신택스 요소를 획득하는 단계; 제1 플래그 및 제1 신택스 요소 중 적어도 하나에 기초하여, 복수의 출력 계층 세트에 포함된 계층들 중에서 적어도 하나의 계층을 적어도 하나의 출력 계층으로서 선택하는 단계; 및 적어도 하나의 출력 계층을 출력하는 단계를 포함한다.
Inventors
- 최, 병두
- 웽거, 스테판
- 류, 산
Assignees
- 텐센트 아메리카 엘엘씨
Dates
- Publication Date
- 20260506
- Application Date
- 20200929
- Priority Date
- 20200924
Claims (10)
- 적어도 하나의 프로세서를 사용하여 비디오 데이터를 인코딩하는 방법으로서, 비디오 데이터를 획득하는 단계; 복수의 출력 계층 세트를 결정하기 위해 상기 비디오 데이터를 처리하는 단계; 상기 복수의 출력 계층 세트의 각각의 출력 계층 세트가 하나보다 많은 계층을 포함하는지를 표시하는 제1 플래그를 결정하는 단계; 상기 복수의 출력 계층 세트에 포함된 계층들 모두가 독립적으로 코딩된다는 것을 표시하는 제2 플래그를 결정하는 단계; 상기 제1 플래그가 상기 각각의 출력 계층 세트가 하나보다 많은 계층을 포함한다는 것을 표시하고 상기 제2 플래그가 상기 복수의 출력 계층 세트에 포함된 계층들 모두가 독립적으로 코딩된다는 것을 표시하는 것에 기초하여, 출력 계층 세트 모드를 결정하는 단계; 상기 출력 계층 세트 모드에 기초하여 상기 복수의 출력 계층 세트에 포함된 계층들 중에서 적어도 하나의 계층을 적어도 하나의 출력 계층으로서 선택하는 단계; 상기 적어도 하나의 출력 계층으로서 선택되지 않은 각각의 미선택 계층에 대하여, 각 미선택 계층이 상기 선택된 적어도 하나의 출력 계층에 대한 직접 참조 계층인지를 표시하는 제3 플래그를 설정하는 단계; 및 상기 제1 플래그, 상기 제2 플래그, 상기 제3 플래그 및 상기 복수의 출력 계층 세트에 기초하여 인코딩된 비디오 비트스트림을 생성하는 단계를 포함하는 방법.
- 제1항에 있어서, 상기 제1 플래그 및 상기 제2 플래그는 비디오 파라미터 세트(VPS)에서 시그널링되는 방법.
- 제1항에 있어서, 상기 출력 계층 세트 모드가 제1 모드인 것에 기초하여 상기 각각의 출력 계층 세트의 최상위 계층이 상기 적어도 하나의 출력 계층으로서 선택되는 방법.
- 제1항에 있어서, 상기 출력 계층 세트 모드가 제2 모드인 것에 기초하여 상기 복수의 출력 계층 세트에 포함된 계층들 모두가 상기 적어도 하나의 출력 계층으로서 선택되는 방법.
- 제1항에 있어서, 상기 출력 계층 세트 모드가 제3 모드인 것에 기초하여, 상기 적어도 하나의 출력 계층은 상기 인코딩된 비디오 비트스트림에서 시그널링된 구문 요소에 기초하여 상기 복수의 출력 계층 세트에 포함된 계층들 중에서 선택되는 방법.
- 제5항에 있어서, 상기 출력 계층 세트 모드가 상기 제3 모드인 것에 기초하여, 상기 복수의 출력 계층 세트에 포함된 계층들 중 상기 미선택 계층들이 상기 적어도 하나의 출력 계층에 대한 참조 계층들로서 사용되는 방법.
- 제5항에 있어서, 상기 제1 플래그가 상기 각각의 출력 계층 세트가 하나보다 많은 계층을 포함한다는 것을 표시하고, 상기 제2 플래그가 상기 복수의 출력 계층 세트에 포함된 계층들 모두가 독립적으로 코딩된다는 것을 표시하는 것에 기초하여, 상기 출력 계층 세트 모드는 상기 제3 모드인 것으로 추론되는 방법.
- 비디오 데이터를 인코딩하기 위한 디바이스로서, 프로그램 코드를 저장하도록 구성되는 적어도 하나의 메모리; 및 상기 프로그램 코드를 판독하고 상기 프로그램 코드에 의해 명령된 바와 같이 동작하여 제1항 내지 제7항 중 어느 한 항의 방법을 수행하도록 구성되는 적어도 하나의 프로세서를 포함하는 디바이스.
- 명령어들이 저장된 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은: 비디오 데이터를 인코딩하기 위한 디바이스의 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 제1항 내지 제7항 중 어느 한 항의 방법을 수행하게 하는 하나 이상의 명령어를 포함하는 비일시적 컴퓨터 판독가능 매체.
- 제1항 내지 제7항 중 어느 한 항에 따른 방법에 의해 생성된 비디오의 인코딩된 비트스트림을 저장하는 비일시적 컴퓨터 판독가능 저장 매체.
Description
스케일러블 비디오 스트림에서의 출력 계층 세트 시그널링을 위한 방법{METHOD FOR OUTPUT LAYER SET SIGNALING IN SCALABLE VIDEO STREAM} 관련 출원 교차 참조 본 출원은 2019년 10월 8일자로 출원된 미국 가특허 출원 제62/912,275호, 및 2020년 9월 24일자로 출원된 미국 특허 출원 제17/030,950호로부터 우선권을 주장하며, 그 전문이 본 명세서에 포함된다. 분야 개시된 주제는 비디오 코딩 및 디코딩에 관한 것으로, 보다 구체적으로는, 스케일러블 비디오 스트림을 위한 출력 계층 세트의 시그널링 메커니즘에 관한 것이다. ITU-T VCEG(Q6/16) 및 ISO/IEC MPEG(JTC 1/SC 29/WG 11)은 2013(버전 1) 2014(버전 2) 2015(버전 3) 및 2016(버전 4)년에 H.265/HEVC(High Efficiency Video Coding) 표준을 공개했다. 2015년에, 이러한 2개의 표준 조직들은 JVET(Joint Video Exploration Team)를 공동으로 형성하여 HEVC를 뛰어넘는 다음 비디오 코딩 표준을 개발할 가능성을 모색하였다. 2017년 10월에, 그들은 HEVC를 뛰어넘는 능력을 갖는 비디오 압축에 대한 공동 제안 요청서(call for proposals, CfP)를 발행했다. 2018년 2월 15일자로, 표준 동적 범위(SDR)에 대한 총 22개의 CfP 응답, 높은 동적 범위(HDR)에 대한 12개의 CfP 응답, 및 360개의 비디오 범주에 대한 12개의 CfP 응답이 각각 제출되었다. 2018년 4월에, 모든 수신된 CfP 응답들은 122 MPEG / 10번째 JVET 미팅에서 평가되었다. 이 미팅의 결과로서, JVET는 HEVC를 넘어서는 차세대 비디오 코딩의 표준화 프로세스를 공식적으로 론칭했다. 새로운 표준은 다목적 비디오 코딩(Versatile Video Coding)(VVC)으로 명명되었고, JVET는 조인트 비디오 전문가 팀(Joint Video Expert Team)으로서 재명명되었다. 일 실시예에서, 적어도 하나의 프로세서를 사용하여 인코딩된 비디오 비트스트림을 디코딩하는 방법이 제공되고, 방법은 인코딩된 비디오 비트스트림으로부터 복수의 출력 계층 세트를 포함하는 코딩된 비디오 시퀀스를 획득하는 단계; 복수의 출력 계층 세트의 각각의 출력 계층 세트가 하나보다 많은 계층을 포함하는지를 표시하는 제1 플래그를 획득하는 단계; 각각의 출력 계층 세트가 하나보다 많은 계층을 포함한다는 것을 표시하는 제1 플래그에 기초하여, 출력 계층 세트 모드를 표시하는 제1 신택스 요소를 획득하는 단계; 제1 플래그 및 제1 신택스 요소 중 적어도 하나에 기초하여, 복수의 출력 계층 세트에 포함된 계층들 중에서 적어도 하나의 계층을 적어도 하나의 출력 계층으로서 선택하는 단계; 및 적어도 하나의 출력 계층을 출력하는 단계를 포함한다. 일 실시예에서, 인코딩된 비디오 비트스트림을 디코딩하기 위한 디바이스가 제공되고, 디바이스는 프로그램 코드를 저장하도록 구성되는 적어도 하나의 메모리; 및 프로그램 코드를 판독하고 프로그램 코드에 의해 명령된 바와 같이 동작하도록 구성되는 적어도 하나의 프로세서를 포함하고, 프로그램 코드는: 적어도 하나의 프로세서로 하여금 인코딩된 비디오 비트스트림으로부터 복수의 출력 계층 세트를 포함하는 코딩된 비디오 시퀀스를 획득하게 하도록 구성되는 제1 획득 코드; 적어도 하나의 프로세서로 하여금 복수의 출력 계층 세트의 각각의 출력 계층 세트가 하나보다 많은 계층을 포함하는지를 표시하는 제1 플래그를 획득하게 하도록 구성되는 제2 획득 코드; 적어도 하나의 프로세서로 하여금 각각의 출력 계층 세트가 하나보다 많은 계층을 포함한다는 것을 표시하는 제1 플래그에 기초하여, 출력 계층 세트 모드를 표시하는 제1 신택스 요소를 획득하게 하도록 구성되는 제3 획득 코드; 적어도 하나의 프로세서로 하여금 제1 플래그 및 제1 신택스 요소 중 적어도 하나에 기초하여 복수의 출력 계층 세트에 포함된 계층들 중 적어도 하나의 계층을 적어도 하나의 출력 계층으로서 선택하게 하도록 구성되는 선택 코드; 및 적어도 하나의 프로세서로 하여금 적어도 하나의 출력 계층을 출력하게 하도록 구성되는 출력 코드를 포함한다. 일 실시예에서, 명령어들이 저장된 비-일시적 컴퓨터 판독가능 매체가 제공되고, 명령어들은 인코딩된 비디오 비트스트림을 디코딩하기 위한 디바이스의 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금: 인코딩된 비디오 비트스트림으로부터 복수의 출력 계층 세트들을 포함하는 코딩된 비디오 시퀀스를 획득하게 하고; 복수의 출력 계층 세트의 각각의 출력 계층 세트가 하나보다 많은 계층을 포함하는지를 표시하는 제1 플래그를 획득하게 하고; 각각의 출력 계층 세트가 하나보다 많은 계층을 포함한다는 것을 표시하는 제1 플래그에 기초하여, 출력 계층 세트 모드를 표시하는 제1 신택스 요소를 획득하게 하고; 제1 플래그 및 제1 신택스 요소 중 적어도 하나에 기초하여, 복수의 출력 계층 세트에 포함된 계층들 중에서 적어도 하나의 출력 계층을 적어도 하나의 출력 계층으로서 선택하게 하고; 적어도 하나의 출력 계층을 출력하게 한다. 개시된 주제의 추가 특징들, 본질 및 다양한 이점들이 다음의 상세한 설명 및 첨부 도면들로부터 더 명백해질 것이다. 도 1은 일 실시예에 따른 통신 시스템의 단순화된 블록 다이어그램의 개략적인 예시이다. 도 2는 일 실시예에 따른 통신 시스템의 단순화된 블록 다이어그램의 개략적인 예시이다. 도 3은 일 실시예에 따른 디코더의 단순화된 블록 다이어그램의 개략적인 예시이다. 도 4는 일 실시예에 따른 인코더의 단순화된 블록 다이어그램의 개략적인 예시이다. 도 5는 일 실시예에 따른 신택스 표의 예들의 개략적인 예시이다. 도 6은 일 실시예에 따른 인코딩된 비디오 비트스트림을 디코딩하는 예시적인 프로세스의 흐름도이다. 도 7은 일 실시예에 따른 컴퓨터 시스템의 개략적인 예시이다. 도 1은 본 개시내용의 일 실시예에 따른 통신 시스템(100)의 단순화된 블록 다이어그램을 예시한다. 시스템(100)은 네트워크(150)를 통해 상호접속되는 적어도 2개의 단말(110-120)을 포함할 수 있다. 데이터의 단방향 송신을 위해, 제1 단말(110)은 네트워크(150)를 통해 다른 단말(120)로 송신하기 위해 로컬 위치에서 비디오 데이터를 코딩할 수 있다. 제2 단말(120)은 네트워크(150)로부터 다른 단말의 코딩된 비디오 데이터를 수신하고, 코딩된 데이터를 디코딩하고 복구된 비디오 데이터를 디스플레이할 수 있다. 단방향 데이터 송신은 미디어 서빙 응용들(media serving applications) 등에서 일반적일 수 있다. 도 1은, 예를 들어, 영상회의(videoconferencing) 동안 발생할 수 있는 코딩된 비디오의 양방향 송신을 지원하기 위해 제공되는 제2 쌍의 단말들(130, 140)을 예시한다. 데이터의 양방향 송신을 위해, 각각의 단말(130, 140)은 네트워크(150)를 통해 다른 단말로 송신하기 위해 로컬 위치에서 캡처된 비디오 데이터를 코딩할 수 있다. 각각의 단말(130, 140)은 또한 다른 단말에 의해 송신된 코딩된 비디오 데이터를 수신할 수 있고, 코딩된 데이터를 디코딩할 수 있고, 복구된 비디오 데이터를 로컬 디스플레이 디바이스에서 디스플레이할 수 있다. 도 1에서, 단말들(110-140)은 서버들, 개인용 컴퓨터들 및 스마트폰들로서 예시될 수 있지만, 본 개시내용의 원리들은 그렇게 제한되지 않을 수 있다. 본 개시내용의 실시예들은 랩톱 컴퓨터들, 태블릿 컴퓨터들, 미디어 플레이어들 및/또는 전용 영상 회의 장비에서 응용된다. 네트워크(150)는 예를 들어, 유선(wireline) 및/또는 무선(wireless) 통신 네트워크들을 포함하여, 단말들(110-140) 사이에 코딩된 비디오 데이터를 전달하는 임의의 수의 네트워크들을 표현한다. 통신 네트워크(150)는 회선 교환(circuit-switched) 및/또는 패킷 교환(packet-switched) 채널들에서 데이터를 교환할 수 있다. 대표적인 네트워크들은 원거리통신(telecommunications) 네트워크들, 로컬 영역 네트워크들, 광역 네트워크들 및/또는 인터넷을 포함한다. 본 논의의 목적을 위해, 네트워크(150)의 아키텍처 및 토폴로지는 아래의 본 명세서에서 설명되지 않는 한 본 개시내용의 동작에 중요하지 않을 수 있다. 도 2는, 개시된 주제를 위한 응용의 예로서, 스트리밍 환경에서의 비디오 인코더 및 디코더의 배치를 예시한다. 개시된 주제는, 예를 들어, 영상 회의, 디지털 TV, CD, DVD, 메모리 스틱 등을 포함하는 디지털 미디어 상의 압축된 비디오의 저장 등을 포함하여, 다른 비디오 인에이블 응용들에 동등하게 적용가능할 수 있다. 스트리밍 시스템은, 예를 들어, 압축되지 않은 비디오 샘플 스트림(202)을 생성하는 비디오 소스(201), 예를 들어, 디지털 카메라를 포함할 수 있는, 캡처 서브시스템(213)을 포함할 수 있다. 인코딩된 비디오 비트스트림들과 비교할 때 많은 데이터 용량을 강조하기 위해 굵은 라인으로 묘사된 그 샘플 스트림(202)은 카메라(201)에 결합된 인코더(203)에 의해 처리될 수 있다. 인코더(203)는 아래에서 더 상세히 설명되는 바와 같이 개시된 주제의 양태들을 가능하게 하거나 구현하기 위해 하드웨어, 소프트웨어, 또는 이들의 조합을 포함할 수 있다. 샘플 스트림과 비교할 때 더 적은 데이터 용량을 강조하기 위해 얇은 라인으로 묘사된 인코딩된 비디오 비트스트림(204)은 미래의 사용을 위해 스트리밍 서버(205) 상에 저장될 수 있다. 하나 이상의 스트리밍 클라이언트(206, 208)는 스트리밍 서버(205)에 액세스하여 인코딩된 비디오 비트스트림(204)의 사본들(207, 209)을 검색할 수 있다. 클라이언트(206)는 인코딩된 비디오 비트스트림의 착신(incoming) 사본(207)을 디코딩하고 디스플레이(212) 또는 다른 렌더링 디바