Search

KR-102961370-B1 - 비디오 인코딩 및 디코딩을 위한 가상 파이프라인

KR102961370B1KR 102961370 B1KR102961370 B1KR 102961370B1KR-102961370-B1

Abstract

비디오 정보를 인코딩 또는 디코딩하는 것은, 예를 들어, 코딩 유닛의 재구성을 위해 파이프라인 구성과 연관되는 파티셔닝에 대한 제약의 수정에 기초하는 파티셔닝을 사용하여 비디오 정보의 코딩 유닛을 파티셔닝하는 것- 수정은 파이프라인 구성과 연관되는 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -, 및 파티셔닝에 기초하여 비디오 정보를 인코딩 또는 디코딩하는 것을 포함할 수 있다.

Inventors

  • 갈핀 프랑크
  • 라카페 파비엥
  • 보르드 필리프

Assignees

  • 인터디지털 브이씨 홀딩스 인코포레이티드

Dates

Publication Date
20260506
Application Date
20191111
Priority Date
20181112

Claims (20)

  1. 인코딩을 위한 장치로서, 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는, 적어도 하나의 코딩 유닛이 적어도 2개의 파이프라인 디코딩 유닛을 완전히 커버하지 않으면서 상기 적어도 2개의 파이프라인 디코딩 유닛에 걸쳐짐(span over)을 결정하고; 상기 결정에 응답하여, 서브세트보다 큰 코딩 모드 세트의 상기 서브세트에서 상기 코딩 유닛에 대한 코딩 모드를 획득하고 - 상기 서브세트는 의존성이 없는 적어도 하나의 코딩 모드를 포함하고, 상기 의존성이 없는 코딩 모드는, 처리(processing)가 코딩 유닛 전체(an entire coding unit)에 적용되는지 상기 코딩 유닛의 각 하위부분(sub-part)에 독립적으로 적용되는지 여부와 관계없이 동일한 결과를 주는 처리 툴을 수반하는 코딩 모드임 - ; 상기 코딩 모드에 기초하여 각 파이프라인 디코딩 유닛에 독립적으로 상기 코딩 유닛을 인코딩하도록 구성되는 것인, 장치.
  2. 디코딩을 위한 장치로서, 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는, 적어도 하나의 코딩 유닛이 적어도 2개의 파이프라인 디코딩 유닛을 완전히 커버하지 않으면서 상기 적어도 2개의 파이프라인 디코딩 유닛에 걸쳐짐(span over)을 결정하고; 상기 결정에 응답하여, 서브세트보다 큰 코딩 모드 세트의 상기 서브세트에서 상기 코딩 유닛에 대한 코딩 모드를 획득하고 - 상기 서브세트는 의존성이 없는 적어도 하나의 코딩 모드를 포함하고, 상기 의존성이 없는 코딩 모드는, 처리(processing)가 코딩 유닛 전체에 적용되는지 상기 코딩 유닛의 각 하위부분(sub-part)에 독립적으로 적용되는지 여부와 관계없이 동일한 결과를 주는 처리 툴을 수반하는 코딩 모드임 - ; 상기 코딩 모드에 기초하여 각 파이프라인 디코딩 유닛에 독립적으로 상기 코딩 유닛을 디코딩하도록 구성되는 것인, 장치.
  3. 인코딩을 위한 방법으로서, 적어도 하나의 코딩 유닛이 적어도 2개의 파이프라인 디코딩 유닛을 완전히 커버하지 않으면서 상기 적어도 2개의 파이프라인 디코딩 유닛에 걸쳐짐(span over)을 결정하는 단계; 상기 결정에 응답하여, 서브세트보다 큰 코딩 모드 세트의 상기 서브세트에서 상기 코딩 유닛에 대한 코딩 모드를 획득하는 단계 - 상기 서브세트는 의존성이 없는 적어도 하나의 코딩 모드를 포함하고, 상기 의존성이 없는 코딩 모드는, 처리(processing)가 코딩 유닛 전체에 적용되는지 상기 코딩 유닛의 각 하위부분(sub-part)에 독립적으로 적용되는지 여부와 관계없이 동일한 결과를 주는 처리 툴을 수반하는 코딩 모드임 - ; 및 상기 코딩 모드에 기초하여 각 파이프라인 디코딩 유닛에 독립적으로 상기 코딩 유닛을 인코딩하는 단계를 포함하는, 방법.
  4. 디코딩을 위한 방법으로서, 적어도 하나의 코딩 유닛이 적어도 2개의 파이프라인 디코딩 유닛을 완전히 커버하지 않으면서 상기 적어도 2개의 파이프라인 디코딩 유닛에 걸쳐짐(span over)을 결정하는 단계; 상기 결정에 응답하여, 서브세트보다 큰 코딩 모드 세트의 상기 서브세트에서 상기 코딩 유닛에 대한 코딩 모드를 획득하는 단계 - 상기 서브세트는 의존성이 없는 적어도 하나의 코딩 모드를 포함하고, 상기 의존성이 없는 코딩 모드는, 처리(processing)가 코딩 유닛 전체에 적용되는지 상기 코딩 유닛의 각 하위부분(sub-part)에 독립적으로 적용되는지 여부와 관계없이 동일한 결과를 주는 처리 툴을 수반하는 코딩 모드임 - ; 및 상기 코딩 모드에 기초하여 각 파이프라인 디코딩 유닛에 독립적으로 상기 코딩 유닛을 디코딩하는 단계를 포함하는, 방법.
  5. 제1항 또는 제2항에 있어서, 상기 서브 세트는, 상기 처리가 코딩 유닛 전체에 적용되는지 상기 코딩 유닛의 각 하위부분에 독립적으로 적용되는지 여부와 관계없이 동일한 결과를 주는 서브블록 의존성을 갖는 처리 툴을 수반하는 코딩 모드를 포함하는 것인, 장치.
  6. 제1항 또는 제2항에 있어서, 강한 의존성을 갖는 코딩 모드는 상기 서브세트에서 제외되고, 상기 강한 의존성을 갖는 코딩 모드는, 상기 처리가 코딩 유닛 전체에 적용되는지 상기 코딩 유닛의 각 하위부분에 독립적으로 적용되는지 여부에 따라 상이한 결과를 주는 처리 툴을 수반하는 코딩 모드인 것인, 장치.
  7. 제1항 또는 제2항에 있어서, 강한 의존성을 갖는 코딩 모드는 상기 서브세트에서 제외되고, 상기 강한 의존성을 갖는 코딩 모드는, 상기 코딩 유닛의 각 하위부분에 독립적으로 처리 툴을 적용하는 것이 가능하지 않은 상기 처리 툴을 수반하는 코딩 모드인 것인, 장치.
  8. 제1항 또는 제2항에 있어서, 상기 파이프라인 디코딩 유닛은 가상 파이프라인 디코딩 유닛인 것인, 장치.
  9. 제1항 또는 제2항에 있어서, 상기 서브세트는 생략(skip) 모드를 포함하는 것인, 장치.
  10. 제3항 또는 제4항에 있어서, 상기 서브 세트는, 상기 처리가 코딩 유닛 전체에 적용되는지 상기 코딩 유닛의 각 하위부분에 독립적으로 적용되는지 여부와 관계없이 동일한 결과를 주는 서브블록 의존성을 갖는 처리 툴을 수반하는 코딩 모드를 포함하는 것인, 방법.
  11. 제3항 또는 제4항에 있어서, 강한 의존성을 갖는 코딩 모드는 상기 서브세트에서 제외되고, 상기 강한 의존성을 갖는 코딩 모드는, 상기 처리가 코딩 유닛 전체에 적용되는지 상기 코딩 유닛의 각 하위부분에 독립적으로 적용되는지 여부에 따라 상이한 결과를 주는 처리 툴을 수반하는 코딩 모드인 것인, 방법.
  12. 제3항 또는 제4항에 있어서, 강한 의존성을 갖는 코딩 모드는 상기 서브세트에서 제외되고, 상기 강한 의존성을 갖는 코딩 모드는, 상기 코딩 유닛의 각 하위부분에 독립적으로 처리 툴을 적용하는 것이 가능하지 않은 상기 처리 툴을 수반하는 코딩 모드인 것인, 방법.
  13. 제3항 또는 제4항에 있어서, 상기 파이프라인 디코딩 유닛은 가상 파이프라인 디코딩 유닛인 것인, 방법.
  14. 제3항 또는 제4항에 있어서, 상기 서브세트는 생략 모드를 포함하는 것인, 방법.
  15. 비일시적 컴퓨터 판독가능 저장 매체로서, 하나 이상의 프로세서에 의해 실행될 때 제3항 또는 제4항의 방법을 수행하는 명령어들이 저장되어 있는, 비일시적 컴퓨터 판독가능 저장 매체.
  16. 하나 이상의 프로세서에 의해 실행될 때 제3항 또는 제4항의 방법을 수행하기 위한 명령어들을 포함하는, 매체에 저장된 컴퓨터 프로그램.
  17. 디바이스로서, 제2항에 따른 장치; 및 (i) 신호를 수신하도록 구성된 안테나- 상기 신호는 비디오 정보를 나타내는 데이터를 포함함 -, (ii) 상기 수신된 신호를 상기 비디오 정보를 나타내는 상기 데이터를 포함하는 주파수의 대역으로 제한하도록 구성된 대역 제한기, 및 (iii) 상기 비디오 정보로부터의 이미지를 디스플레이하도록 구성된 디스플레이 중 적어도 하나를 포함하는, 디바이스.
  18. 제17항에 있어서, 상기 디바이스는 텔레비전 신호 수신기, 셋톱 박스, 게이트웨이 디바이스, 및 모바일 디바이스 중 하나를 포함하는 것인, 디바이스.
  19. 삭제
  20. 삭제

Description

비디오 인코딩 및 디코딩을 위한 가상 파이프라인 본 개시는 일반적으로 비디오 인코딩 및 디코딩에 관한 것이다. 높은 압축 효율을 달성하기 위해, 이미지 및 비디오 코딩 방식들은 일반적으로 비디오 콘텐츠에서 공간적 및 시간적 리던던시를 활용하기 위해 예측 및 변환 코딩을 이용한다. 일반적으로, 인트라 또는 인터 프레임 상관을 이용하기 위해 인트라 또는 인터 예측이 사용되고, 그 후 종종 예측 에러들 또는 예측 잔차들로 표시되는, 원래의 블록들과 예측 블록들 사이의 차이들이 변환되고, 양자화되고, 엔트로피 코딩된다. 비디오를 재구성하기 위해, 압축 데이터가 예측, 변환, 양자화 및 엔트로피 코딩에 대응하는 역 프로세스들에 의해 디코딩된다. 비디오 압축 기술에 대한 최근의 추가들은, VVC(Versatile Video Coding)라고 알려진 새로운 비디오 코딩 표준의 개발의 일부로서 JVET(Joint Video Exploration Team)에 의해 개발되고 있는 다양한 버전들의 참조 소프트웨어 및/또는 문서 JEM(Joint Exploration Model) 및 VTM(Versatile Video Coding (VVC) Test Model)을 포함한다. JEM, VTM 및 더 일반적으로 VVC의 목적은, 기존의 HEVC(High Efficiency Video Coding) 표준에 대한 추가 개선을 행하는 것이다. 일반적으로, 일 실시예의 적어도 하나의 예는 비디오 정보를 인코딩하기 위한 장치를 포함할 수 있으며, 이 장치는 파티셔닝에 대한 제약의 수정에 기초하는 파티셔닝을 사용하여 비디오 정보의 코딩 유닛을 파티셔닝하고- 제약은 코딩 유닛의 재구성을 위한 파이프라인 구성과 연관되고, 수정은 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -; 파티셔닝에 기초하여 비디오 정보를 인코딩하도록 구성된 하나 이상의 프로세서를 포함한다. 일반적으로, 일 실시예의 적어도 하나의 다른 예는 비디오 정보를 디코딩하기 위한 장치를 포함할 수 있으며, 이 장치는 비디오 정보의 코딩 유닛의 파티셔닝의 표시를 획득하고- 파티셔닝은 파티셔닝에 대한 제약의 수정에 기초하고, 제약은 디코딩을 위한 파이프라인 구성과 연관되며, 수정은 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -; 파티셔닝에 기초하여 그리고 파이프라인 구성을 사용하여 비디오 정보를 디코딩하도록 구성된 하나 이상의 프로세서를 포함한다. 일반적으로, 일 실시예의 적어도 하나의 다른 예는 비디오 정보를 인코딩하기 위한 방법을 포함할 수 있으며, 이 방법은 파티셔닝에 대한 제약의 수정에 기초하는 파티셔닝을 사용하여 비디오 정보의 코딩 유닛을 파티셔닝하는 단계- 제약은 코딩 유닛의 재구성을 위한 파이프라인 구성과 연관되고, 수정은 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -; 및 파티셔닝에 기초하여 비디오 정보를 인코딩하는 단계를 포함한다. 일반적으로, 일 실시예의 적어도 하나의 다른 예는 비디오 정보를 디코딩하기 위한 방법을 포함할 수 있으며, 이 방법은 비디오 정보의 코딩 유닛의 파티셔닝의 표시를 획득하는 단계- 파티셔닝은 파티셔닝에 대한 제약의 수정에 기초하고, 제약은 디코딩을 위한 파이프라인 구성과 연관되며, 수정은 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -; 파티셔닝에 기초하여 그리고 파이프라인 구성을 사용하여 비디오 정보를 디코딩하는 단계를 포함한다. 일반적으로, 일 실시예의 적어도 하나의 예는 파티셔닝에 대한 제약의 수정에 기초하는 코딩 유닛의 파티셔닝을 표시하는 하나 이상의 구문 요소를 제공하는 것을 포함할 수 있고, 제약은 코딩 유닛의 재구성을 위한 파이프라인 구성과 연관되며, 수정은 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초한다. 일반적으로, 일 실시예의 적어도 하나의 예는 파티셔닝에 대한 제약의 수정에 기초하는 코딩 유닛의 파티셔닝을 표시하는 정보를 포함함으로써 형성되는 비트스트림을 포함할 수 있고, 제약은 코딩 유닛의 재구성을 위한 파이프라인 구성과 연관되며, 수정은 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초한다. 일반적으로, 일 실시예의 적어도 하나의 예는 본 명세서에 설명된 하나 이상의 실시예에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어들을 저장한 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 일반적으로, 일 실시예의 적어도 하나의 예는 실행가능 프로그램 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체를 포함할 수 있으며, 명령어들은 명령어들을 실행하는 컴퓨터로 하여금 본 명세서에 설명된 하나 이상의 실시예에 따른 방법을 수행하게 한다. 본 실시예들은 또한 본 명세서에 설명된 하나 이상의 양태 및/또는 실시예에 따라 생성된 비트스트림을 저장한 컴퓨터 판독가능 저장 매체를 제공한다. 본 실시예들은 또한 본 명세서에 설명된 하나 이상의 양태 및/또는 실시예에 따라 생성된 비트스트림을 송신하기 위한 방법 및 장치를 제공한다. 상기 내용은 본 개시의 일부 양태들의 기본적인 이해를 제공하기 위해 본 발명의 단순화된 요약을 제시한다. 이 요약은 본 발명의 광범위한 개요는 아니다. 이 요약은 실시예들의 핵심적/결정적 요소들을 식별하거나 본 발명의 범위를 묘사하려고 하는 것이 아니다. 그의 유일한 목적은 이하에서 제공되는 더 상세한 설명에 대한 서론으로서 본 발명의 일부 개념들을 간략화된 형태로 제시하는 것이다. 본 개시는 첨부 도면들과 함께 아래의 상세한 설명을 고려함으로써 더 잘 이해될 수 있다. 도면들에서: 도 1은 비디오 인코더의 일 실시예의 일례의 블록도를 도시한다. 도 2는 비디오 디코더의 일 실시예의 일례의 블록도를 도시한다. 도 3은 압축된 HEVC 픽처를 표현하기 위한 코딩 트리 유닛(CTU) 및 코딩 트리(CT) 개념들을 도시한다. 도 4는 코딩 트리 유닛(CTU)의 코딩 유닛들(CU), 예측 유닛들(PU) 및 변환 유닛들(TU)로의 분할을 도시한다. 도 5는 QTBT(Quad-Tree Plus Binary-Tree) CTU 표현의 예를 도시한다. 도 6은 CTU의 확장된 QTBT 표현에서 사용될 수 있는 CU 파티션들의 세트의 예를 도시한다. 도 7은 픽처의 예를 인코딩하기 위해 선택된 코딩 구조들, 예를 들어 쿼드-트리에 내장되는 대칭 이진 트리, 비대칭 이진 트리 및 트리플 트리 분해들의 예를 도시한다. 도 8은 HEVC 코덱에서의 QTBT+ABT(Asymmetric Binary Tree) 코딩 구조의 사용으로 인한 코딩 효율 증가를 도시한다. 도 9는 인코딩된 비디오 비트스트림을 디코딩하는 디코더에 대한 처리 파이프라인의 예를 도시한다. 도 10은 본 개시의 적어도 하나의 양태에 따른 가상 파이프라인 디코딩 유닛(VPDU)을 포함하는 인터 예측 프로세스의 병렬 처리의 예를 도시한다. 도 11은, 본 명세서에 설명된 바와 같이, VPDU를 사용하는 처리에 문제가 될 수 있는 CTU를 파티셔닝 또는 분할하는 접근법들의 다양한 예들을 도시한다. 도 12는, 본 명세서에 설명된 바와 같이, VPDU를 사용하는 처리에 적합할 수 있는 CTU를 파티셔닝 또는 분할하는 접근법들의 다양한 예들을 도시한다. 도 13은 인터 예측(도 13의 상부)과 인트라 예측(도 13의 하부) 양자에 대한 CU 재구성을 위한 파이프라인의 예를 도시한다. 도 14는 본 개시의 적어도 일 실시예의 양태에 따른 VPDU로 분할된 CU 및 독립 처리의 예를 도시한다. 도 15는 본 명세서에 설명된 바와 같은 상이한 유형의 모션 필드 구성의 다양한 예를 도시한다. 도 16은 본 개시에 따라 CU를 파티셔닝 또는 분할하는 예를 도시한다. 도 17은 본 개시에 따른 적어도 하나의 실시예의 예를 도시한다. 도 18은 본 개시에 따른 적어도 하나의 실시예의 양태를 도시한다. 도 19는 본 개시에 따른, 다양한 양태, 실시예 및 특징 중 하나 이상을 구현하는 데 적합한 시스템의 예의 블록도를 도시한다. 도 20은 본 개시에 따른 일 실시예의 예를 도시한다. 도 21은 본 개시에 따른 다른 실시예의 예를 도시한다. 도면들은 다양한 양태들 및 실시예들의 예들을 도시하기 위한 것이고 반드시 유일한 가능한 구성들은 아니라는 것을 이해해야 한다. 다양한 도면들 전반에 걸쳐, 유사한 참조 부호들은 동일하거나 유사한 특징들을 지칭한다. 이제 도면들을 참조하면, 도 1은 고효율 비디오 코딩(HEVC) 인코더와 같은 비디오 인코더(100)의 예를 도시한다. 도 1은 또한, VVC(Versatile Video Coding)로 알려진 새로운 비디오 코딩 표준의 개발의 일부로서 JVET(Joint Video Exploration Team)에 의해 개발 중인 JEM(Joint Exploration Model) 인코더와 같은, HEVC 표준에 대한 개선들이 이루어지는 인코더 또는 HEVC와 유사한 기술들을 이용하는 인코더를 도시할 수 있다. 본 출원에서, 용어들 "재구성된" 및 "디코딩된"은 교환 가능하게 사용될 수 있고, 용어들 "인코딩된" 또는 "코딩된"은 교환 가능하게 사용될 수 있으며, 용어들 "이미지", 픽처" 및 "프레임"은 교환 가능하게 사용될 수 있다. 필수적이 아니라, 일반적으로, 용어 "재구성된"은 인코더 측에서 사용되는 반면, "디코딩된"은 디코더 측에서 사용된다. 인코딩되기 전에, 비디오 시퀀스는 인코딩 전처리(101), 예를 들어, 입력 컬러 픽처에 컬러 변환을 적용하는 것(예를 들어, RGB 4:4:4로부터 YCbCr 4:2:0로의 변환), 또는 (예를 들어, 컬러 성분들 중 하나의 컬러 성분의 히스토그램 등화를 사용하여) 압축에 더 탄력적인 신호 분산을 얻기 위하여 입력 픽처 컴포넌트들의 리매핑을 수행하는 것을 겪을 수 있다. 메타데이터는 전처리와 연관되고, 비트스트림에 첨부된다. HEVC에서, 하나 이상의 픽처를 갖는 비디오 시퀀스를 인코딩하기 위해, 픽처는 하나 이상의 슬라이스로 파티셔닝되고(102), 각각의 슬라이스는 하나 이상의 슬라이스 세그먼트를 포함할 수 있다. 슬라이스 세그먼트는 코