KR20220045231A - Signaling of sub picture structure - Google Patents

Signaling of sub picture structure Download PDF

Info

Publication number
KR20220045231A
KR20220045231A KR1020227009223A KR20227009223A KR20220045231A KR 20220045231 A KR20220045231 A KR 20220045231A KR 1020227009223 A KR1020227009223 A KR 1020227009223A KR 20227009223 A KR20227009223 A KR 20227009223A KR 20220045231 A KR20220045231 A KR 20220045231A
Authority
KR
South Korea
Prior art keywords
subpicture
sequence
video
picture
subpictures
Prior art date
Application number
KR1020227009223A
Other languages
Korean (ko)
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
Priority claimed from US17/016,257 external-priority patent/US11284077B2/en
Application filed by 에이치에프아이 이노베이션 인크. filed Critical 에이치에프아이 이노베이션 인크.
Publication of KR20220045231A publication Critical patent/KR20220045231A/en

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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • 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
    • 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/17Methods 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 an image region, e.g. an object
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/174Methods 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 an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/176Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • H04N19/865Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness with detection of the former encoding block subdivision in decompressed video

Landscapes

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

Abstract

코딩된 비디오에 대한 서브화상 구조를 시그널링하기 위한 방법이 제공된다. 비디오 디코더는 비디오 화상의 시퀀스로서 디코딩될 데이터를 비트스트림으로부터 수신한다. 비디오 디코더는 비디오 화상의 시퀀스에서 하나 이상의 서브화상에 대한 서브화상 사양을 비트스트림으로부터 수신한다. 서브화상 사양은 서브화상에 대한 코딩 트리 단위(coding tree unit; CTU)를 식별하는 인덱스를 제공함으로써 각 서브화상에 대한 위치 및 크기를 식별한다. 비디오 디코더는 서브화상 사양에 따라 비디오 화상의 시퀀스에 대한 각 서브화상을 재구성한다.A method is provided for signaling a subpicture structure for coded video. A video decoder receives from a bitstream data to be decoded as a sequence of video pictures. A video decoder receives, from a bitstream, subpicture specifications for one or more subpictures in a sequence of video pictures. The subpicture specification identifies the location and size for each subpicture by providing an index that identifies the coding tree unit (CTU) for the subpicture. The video decoder reconstructs each sub-picture for a sequence of video pictures according to the sub-picture specification.

Description

서브화상 구조의 시그널링Signaling of sub picture structure

관련 특허 출원(들)에 대한 상호 참조CROSS-REFERENCE TO RELATED PATENT APPLICATION(S)

본 개시는 2019년 9월 10일 및 2019년 9월 11에 각각 출원된 미국 특허 가출원 제62/898,127호 및 제62/898,620호의 우선권 혜택을 주장하는, 가출원이 아닌 출원의 일부이다. 상기 나열된 출원들의 내용은 본원에 참조로 통합된다.This disclosure is part of a non-provisional application claiming priority to U.S. Provisional Patent Applications Nos. 62/898,127 and 62/898,620, filed on September 10, 2019 and September 11, 2019, respectively. The contents of the applications listed above are incorporated herein by reference.

본 개시는 일반적으로 비디오 코딩에 대한 것이다. 특히, 본 개시는 서브화상 구조(subpicture structures)를 시그널링하는 방법에 관한 것이다.This disclosure relates generally to video coding. In particular, the present disclosure relates to a method of signaling subpicture structures.

본 명세서에서 달리 지시되지 않는 한, 이 섹션에 기술된 접근법은 아래에 나열된 청구항들에 대한 종래 기술이 아니며 이 섹션에 포함시킴으로써 종래 기술로서 인정되지 않는다.Unless otherwise indicated herein, the approach described in this section is not prior art to the claims listed below and is not admitted as prior art by inclusion in this section.

고효율 비디오 코딩(high-efficiency video coding; HEVC)은 JCT-VC(Joint Collaborative Team on Video Coding)에 의해 개발된 최신 국제 비디오 코딩 표준이다. 입력 비디오 신호는 코딩된 화상 영역으로부터 유도된 재구성된 신호로부터 예측된다. 예측 잔차 신호는 선형 변환에 의해 처리된다. 변환 계수는 양자화되고 비트스트림의 다른 부가 정보와 함께 엔트로피 코딩된다. 재구성된 신호는 역양자화된 변환 계수에 대한 역변환 후 예측 신호 및 재구성된 잔차 신호로부터 생성된다. 재구성된 신호는 코딩 아티팩트를 제거하기 위한 인루프 필터링에 의해 추가로 처리된다. 디코딩된 화상은 입력 비디오 신호의 미래 화상을 예측하기 위해 프레임 버퍼에 저장된다. High-efficiency video coding (HEVC) is the latest international video coding standard developed by the Joint Collaborative Team on Video Coding (JCT-VC). An input video signal is predicted from a reconstructed signal derived from a coded picture region. The prediction residual signal is processed by a linear transformation. The transform coefficients are quantized and entropy coded along with other side information of the bitstream. A reconstructed signal is generated from the prediction signal and the reconstructed residual signal after inverse transform for the inverse quantized transform coefficients. The reconstructed signal is further processed by in-loop filtering to remove coding artifacts. The decoded picture is stored in a frame buffer to predict future pictures of the input video signal.

HEVC에서 코딩된 화상은 연관된 코딩 트리 단위(coding tree unit; CTU)로 표현되는 비중첩 정사각형 블록 영역으로 분할된다. 코딩된 화상은 각각 정수개의 CTU를 포함하는 슬라이스 모음으로 나타낼 수 있다. 슬라이스의 개별 CTU는 래스터 스캔 순서로 처리된다. 양방향 예측(bi-predictive; B) 슬라이스는 최대 2개의 모션 벡터 및 참조 인덱스를 사용하여 각 블록의 샘플 값을 예측하는 인트라 예측 또는 인터 예측을 사용하여 디코딩될 수 있다. 예측(predictive; P) 슬라이스는 각 블록의 샘플 값을 예측하기 위해 최대 하나의 모션 벡터 및 참조 인덱스를 사용하는 인트라 예측 또는 인터 예측을 사용하여 디코딩된다. 인트라(intra; I) 슬라이스는 인트라 예측만을 사용하여 디코딩된다.A coded picture in HEVC is divided into non-overlapping square block regions represented by associated coding tree units (CTUs). A coded picture may be represented as a collection of slices each including an integer number of CTUs. Individual CTUs in a slice are processed in raster scan order. A bi-predictive (B) slice can be decoded using either intra prediction or inter prediction, which predicts the sample value of each block using up to two motion vectors and a reference index. A predictive (P) slice is decoded using either intra prediction or inter prediction using at most one motion vector and a reference index to predict the sample values of each block. An intra (I) slice is decoded using only intra prediction.

CTU는 다양한 로컬 모션 및 텍스처 특성에 적응하기 위해 재귀 쿼드트리(quadtree; QT) 구조를 사용하여 다수의 중첩되지 않은 코딩 단위(CU)로 분할될 수 있다. CTU는 또한 이진 및 삼진 분할을 사용하여 내포된(nested) 다중 유형 트리를 가진 쿼드트리에 의해 하나 또는 다수의 더 작은 크기 CU로 분할될 수 있다. 결과 CU 분할은 정사각형 또는 직사각형 형상일 수 있다.A CTU can be divided into multiple non-overlapping coding units (CUs) using a recursive quadtree (QT) structure to adapt to various local motion and texture characteristics. A CTU may also be partitioned into one or multiple smaller size CUs by a quadtree with nested multi-type trees using binary and ternary partitioning. The resulting CU segmentation may be square or rectangular in shape.

각 CU에 대해 하나 이상의 예측 단위(prediction unit; PU)가 명시된다. 예측 단위는 연관된 CU 신택스(syntax)와 함께 예측자 정보를 시그널링하기 위한 기본 단위로서 작동한다. 명시된 예측 프로세스는 PU 내부의 연관된 픽셀 샘플의 값을 예측하는 데 사용된다. CU는 연관된 예측 잔차 신호를 나타내기 위한 잔차 쿼드트리(residual quadtree; RQT) 구조를 사용하여 더 분할될 수 있다. RQT의 리프 노드(leaf nodes)는 변환 단위(transform unit; TU)에 대응한다. 변환 단위는 크기 8x8, 16x16, 또는 32x32의 루마 샘플의 변환 블록(transform block; TB) 또는 크기 4x4의 루마 샘플의 4개의 변환 블록과, 4:2:0 색상 형식의 화상의 크로마 샘플의 2개의 대응 변환 블록을 포함한다. 변환 블록에 정수 변환이 적용되고 양자화된 계수의 레벨 값은 다른 부가 정보와 함께 비트스트림에서 엔트로피 코딩된다.One or more prediction units (PUs) are specified for each CU. A prediction unit operates as a basic unit for signaling predictor information together with an associated CU syntax. The specified prediction process is used to predict the value of the associated pixel sample inside the PU. The CU may be further partitioned using a residual quadtree (RQT) structure to represent the associated prediction residual signal. Leaf nodes of the RQT correspond to a transform unit (TU). A transform unit is a transform block (TB) of luma samples of size 8x8, 16x16, or 32x32 or four transform blocks of luma samples of size 4x4 and two of chroma samples of a 4:2:0 color format image. Includes a corresponding transform block. An integer transform is applied to the transform block, and the level values of the quantized coefficients are entropy-coded in the bitstream together with other side information.

코딩 트리 블록(coding tree block; CTB), 코딩 블록(coding block; CB), 예측 블록(prediction block; PB) 및 변환 블록(transform block; TB)이라는 용어는 CTU, CU, PU, 및 TU와 각각 관련된 하나의 색상 성분의 2D 샘플 어레이를 명시하기 위해 정의된다. 따라서 CTU는 루마 CTB 1개, 크로마 CTB 2개 및 연관 신택스 요소로 구성된다. 유사한 관계가 CU, PU 및 TU에 대해 유효하다. 트리 분할은 일반적으로 루마와 크로마 모두에 동시에 적용되지만 크로마에 대한 특정 최소 크기에 도달하면 예외가 적용된다.The terms coding tree block (CTB), coding block (CB), prediction block (PB), and transform block (TB) refer to CTU, CU, PU, and TU, respectively. It is defined to specify a 2D sample array of one color component involved. Therefore, the CTU consists of 1 luma CTB, 2 chroma CTBs, and related syntax elements. A similar relationship holds for CUs, PUs and TUs. Tree splitting is usually applied to both luma and chroma simultaneously, with an exception when a certain minimum size for chroma is reached.

다음의 요약은 단지 예시적인 것이며 어떤 식으로든 제한하려는 것은 아니다. 즉, 다음 요약은 여기에 설명된 신규 및 비자명한(non-obvious) 기술의 개념, 하이라이트, 혜택, 및 이점을 소개하기 위해 제공된다. 모든 구현이 아닌 선택된 구현이 아래의 상세한 설명에서 추가로 설명된다, 다음의 요약은 청구된 특허 대상의 필수 피처(features)를 식별하도록 의도된 것이 아니며, 청구된 특허 대상의 범위를 결정하는데 사용하기 위한 것이 아니다.The following summary is illustrative only and is not intended to be limiting in any way . That is, the following summary is provided to introduce concepts, highlights, benefits, and advantages of the novel and non-obvious technologies described herein. Selected implementations, but not all implementations, are further described in the Detailed Description below. The following summary is not intended to identify essential features of the claimed subject matter, but to be used in determining the scope of the claimed subject matter. not for

일부 실시예는 코딩된 비디오에 대한 서브화상 구조를 시그널링하기 위한 방법을 제공한다. 비디오 디코더는 비디오 화상의 시퀀스로서 디코딩될 비트스트림으로부터 데이터를 수신한다. 비디오 디코더는 비디오 화상의 시퀀스에서 하나 이상의 서브화상에 대한 서브화상 사양(subpicture specification)을 비트스트림으로부터 수신한다. 서브화상 사양은 서브화상에 대한 화상 내에서 래스터 스캔 순서대로 코딩 트리 단위(CTU)를 식별하는 인덱스를 제공함으로써 각 서브화상에 대한 위치 및 크기를 식별한다. 비디오 디코더는 서브화상 사양에 따라 비디오 화상의 시퀀스에 대한 각 서브화상을 재구성한다.Some embodiments provide a method for signaling a subpicture structure for coded video. A video decoder receives data from a bitstream to be decoded as a sequence of video pictures. A video decoder receives, from a bitstream, subpicture specifications for one or more subpictures in a sequence of video pictures. The subpicture specification identifies the location and size for each subpicture by providing an index that identifies the coding tree units (CTUs) within the picture in raster scan order for that subpicture. The video decoder reconstructs each sub-picture for a sequence of video pictures according to the sub-picture specification.

일부 실시예에서, 비디오 화상의 시퀀스의 시퀀스 파라미터 세트(SPS)의 신택스 요소는 하나 이상의 서브화상이 비디오 화상의 시퀀스에 존재한다는 것을 표시한다. SPS는 또한 비디오 화상의 시퀀스의 서브화상의 수와 각 서브화상에 대한 식별자를 명시하는 신택스 요소를 포함할 수 있다. 서브화상의 식별자는 비디오 화상의 시퀀스에서 비디오 화상의 슬라이스 헤더 및/또는 화상 파라미터 세트(picture parameter set; PPS)로 시그널링될 수도 있다. 일부 실시예에서, 비디오 화상의 시퀀스에서 비디오 화상의 PPS에 있는 신택스 요소는 비디오 화상의 모든 슬라이스가 직사각형임을 표시한다.In some embodiments, a syntax element of a sequence parameter set (SPS) of a sequence of video pictures indicates that one or more subpictures are present in the sequence of video pictures. The SPS may also include a syntax element that specifies the number of subpictures and an identifier for each subpicture in the sequence of video pictures. The identifier of a sub-picture may be signaled in a sequence of video pictures in a slice header of the video picture and/or in a picture parameter set (PPS). In some embodiments, a syntax element in a PPS of a video picture in a sequence of video pictures indicates that all slices of the video picture are rectangular.

일부 실시예에서, 화상 내의 래스터 스캔에서 식별된 CTU는 서브화상의 코너(예컨대, 상단 좌측 또는 하단 우측)에 있다. 일부 실시예에서, 인덱스는 화상 내의 래스터 스캔에서 서브화상 그리드에 할당되고, 상이한 서브화상 그리드들에는 상이한 인덱스들이 할당된다. 일부 실시예에서, 인덱스는 서브화상 그리드의 경계가 CTU의 경계를 따라 정의되도록 하나의 CTU로 정의되거나 하나의 CTU에 대응하는 서브화상 그리드를 식별한다. 일부 실시예에서, 서브화상 위치 및 크기의 인덱스는 비디오 화상 시퀀스의 SPS에서 시그널링된다. In some embodiments, the CTU identified in the raster scan within the picture is in a corner (eg, top left or bottom right) of the subpicture. In some embodiments, an index is assigned to a subpicture grid in a raster scan within a picture, and different subpicture grids are assigned different indices. In some embodiments, the index identifies a subpicture grid defined as or corresponding to one CTU such that the boundary of the subpicture grid is defined along the boundary of the CTU. In some embodiments, the index of sub picture position and size is signaled in the SPS of the video picture sequence.

첨부 도면은 본 개시의 추가 이해를 제공하기 위해 포함되며 본 개시에 통합되고 본 개시의 일부를 구성한다. 도면은 본 개시의 구현을 예시하고, 상세한 설명과 함께 본 개시의 원리를 설명하는 역할을 한다. 본 개시의 개념을 명확하게 설명하기 위해 일부 컴포넌트가 실제 구현에서의 크기보다 비례하지 않게 도시될 수 있기 때문에 도면들이 반드시 축척대로는 아니라는 것이 이해될 것이다.
도 1a 내지 1e는 비디오 시퀀스의 서브화상을 명시하는 데 사용되는 CTB 또는 CTU 기반 그리드 단위를 개념적으로 도시한다.
도 2는 서브화상을 명시하기 위해 화상 내에서 래스터 스캔 순서로 인덱싱되는 CTU 또는 CTB 기반 서브화상 그리드를 도시한다.
도 3은 서브화상을 지원하는 예시적인 비디오 인코더를 도시한다.
도 4는 서브화상에 대한 시그널링을 구현하는 비디오 인코더의 부분을 개념적으로 도시한다.
도 5는 비디오 인코더에서 서브화상 사양을 제공하기 위한 프로세스를 개념적으로 도시한다.
도 6은 서브화상을 지원하는 예시적인 비디오 디코더를 도시한다.
도 7은 서브화상에 대한 시그널링을 구현하는 비디오 디코더의 부분을 개념적으로 도시한다.
도 8은 비디오 디코더에서 서브화상 사양을 처리하기 위한 프로세스를 개념적으로 도시한다.
도 9는 본 개시의 일부 실시예들이 구현되는 전자 시스템을 개념적으로 도시한다.
The accompanying drawings are included to provide a further understanding of the present disclosure and are incorporated in and constitute a part of this disclosure. The drawings illustrate implementations of the disclosure, and together with the description serve to explain the principles of the disclosure. It will be understood that the drawings are not necessarily to scale, as some components may be drawn to scale in an actual implementation to clearly illustrate the concepts of the present disclosure.
1A-1E conceptually illustrate CTB or CTU-based grid units used to specify subpictures of a video sequence.
2 shows a CTU or CTB based subpicture grid that is indexed in raster scan order within a picture to specify a subpicture.
3 shows an example video encoder supporting subpictures.
4 conceptually shows a part of a video encoder that implements signaling for a subpicture.
5 conceptually illustrates a process for providing a sub-picture specification in a video encoder.
6 shows an example video decoder supporting subpictures.
7 conceptually shows a part of a video decoder that implements signaling for a subpicture.
Fig. 8 conceptually shows a process for processing a sub-picture specification in a video decoder.
9 conceptually illustrates an electronic system in which some embodiments of the present disclosure are implemented.

다음의 상세한 설명에서, 다수의 특정한 세부사항들은 관련 교시의 완전한 이해를 제공하기 위해 예시에 의해 설명된다. 본원에 기술된 교시에 기초한 임의의 변형, 유도물 및/또는 확장은 본 개시의 보호 범위 내에 있다. 일부 예에서, 본 개시의 교시의 양상을 불필요하게 모호하게 하는 것을 피하기 위해, 본 명세서에 개시된 하나 이상의 예시적인 구현에 관한 공지된 방법, 절차, 컴포넌트 및/또는 회로는 세부 사항 없이 비교적 높은 수준으로 설명될 수 있다.In the following detailed description, numerous specific details are set forth by way of example in order to provide a thorough understanding of the relevant teachings. Any modifications, derivatives and/or extensions based on the teachings described herein fall within the protection scope of the present disclosure. In some instances, well-known methods, procedures, components, and/or circuits relating to one or more example implementations disclosed herein have been presented at a relatively high level without detail in order to avoid unnecessarily obscuring aspects of the teachings of this disclosure. can be explained.

I. 서브화상 구조의 시그널링I. Signaling of sub picture structure

서브화상은 화상 내의 하나 이상의 슬라이스의 직사각형 영역이며 슬라이스는 하나 이상의 타일/브릭으로 구성된다. 각 타일/브릭은 CTU로 정렬된다. 화상에 서브화상이 존재하는 경우, 서브화상의 개수는 2 이상일 수 있다. 서브화상을 형성하는 슬라이스는 직사각형일 수 있다. 일부 실시예에서, CTB 단위의 그리드는 각각의 서브화상에 대한 화상 내의 래스터 스캔 순서로 하단 우측 서브화상 그리드 인덱스를 표시함으로써 화상 내의 서브화상 구조를 명시하는 데 사용된다. A sub-picture is a rectangular region of one or more slices within a picture and a slice is made up of one or more tiles/bricks. Each tile/brick is ordered by CTU. When there are sub pictures in the picture, the number of sub pictures may be two or more. A slice forming a sub-picture may be rectangular. In some embodiments, a grid in CTB units is used to specify the subpicture structure within a picture by indicating the bottom right subpicture grid index in raster scan order within the picture for each subpicture.

일부 실시예에서, 비디오 인코더는 서브화상의 사양을 시그널링할 수 있다(그리고 비디오 디코더는 서브화상의 사양을 수신할 수 있음). 아래의 표 1a는 서브화상 정보를 시그널링하는 시퀀스 파라미터 세트(sequence parameter set; SPS) 원시 바이트 시퀀스 페이로드(raw byte sequence payload; RBSP)에 대한 예시적인 신택스 표이다:In some embodiments, the video encoder may signal the specification of the subpicture (and the video decoder may receive the specification of the subpicture). Table 1a below is Here is an exemplary syntax table for a sequence parameter set (SPS) raw byte sequence payload (RBSP) signaling subpicture information:

[표 1a][Table 1a]

Figure pct00001
Figure pct00001

SPSSPS 시그널링signaling 서브화상sub picture 정보 information

아래의 표 1b는 서브화상의 사양을 제공하는 시퀀스 파라미터 세트(SPS) 원시 바이트 시퀀스 페이로드(RBSP)에 대한 또 다른 예시적인 신택스 표이다.Table 1b below is another example syntax table for a Sequence Parameter Set (SPS) Raw Byte Sequence Payload (RBSP) that provides a specification of a subpicture.

[표 1b][Table 1b]

Figure pct00002
Figure pct00002

서브화상을sub picture 명시하는 to specify SPSSPS

아래의 표 1c는 서브화상의 사양을 제공하는 시퀀스 파라미터 세트(SPS) 원시 바이트 시퀀스 페이로드(RBSP)에 대한 또 다른 예시적인 신택스 표이다.Table 1c below is Another example syntax table for the Sequence Parameter Set (SPS) Raw Byte Sequence Payload (RBSP) that provides the specification of the subpicture.

[표 1c][Table 1c]

Figure pct00003
Figure pct00003

서브화상을sub picture 명시하는 to specify SPSSPS

아래의 표 1d는 서브화상의 사양을 제공하는 시퀀스 파라미터 세트(SPS) 원시 바이트 시퀀스 페이로드(RBSP)에 대한 또 다른 예시적인 신택스 표이다.Table 1d below is another example syntax table for a Sequence Parameter Set (SPS) Raw Byte Sequence Payload (RBSP) that provides a specification of a subpicture.

[표 1d][Table 1d]

Figure pct00004
Figure pct00004

서브화상을sub picture 명시하는 to specify SPSSPS

신택스 요소 subpics_present_flag가 1인 것은 서브화상 파라미터가 SPS RBSP 신택스에 현재 존재함을 나타낸다. 일부 실시예에서, subpics_present_flag가 1과 같을 때, rect_slice_flag의 값은 1로 설정된다. 신택스 요소 subpics_present_flag가 0인 것은 서브화상 파라미터가 SPS RBSP 신택스에 현재 존재하지 않음을 나타낸다. 일부 실시예에서, 비트스트림이 서브-비트스트림 추출 프로세스의 결과이고 서브-비트스트림 추출 프로세스에 대한 입력 비트스트림의 서브화상의 서브세트만을 포함하는 경우, subpics_present_flag의 값은 SPS의 RBSP에서 1로 설정될 수 있다.The syntax element subpics_present_flag equal to 1 indicates that the subpicture parameter currently exists in the SPS RBSP syntax. In some embodiments, when subpics_present_flag is equal to 1, the value of rect_slice_flag is set to 1. The syntax element subpics_present_flag equal to 0 indicates that the subpicture parameter does not currently exist in the SPS RBSP syntax. In some embodiments, the value of subpics_present_flag is set to 1 in the RBSP of the SPS when the bitstream is the result of the sub-bitstream extraction process and contains only a subset of the sub-pictures of the input bitstream for the sub-bitstream extraction process. can be

신택스 요소 max_subpics_minus2 더하기 2는 코딩된 비디오 시퀀스(CVS)에 존재할 수 있는 최대 서브화상 수를 명시한다. 일부 실시예에서, max_subpics_minus2는 0 내지 254의 범위에 있도록 제약된다. 값 255는 나중에 사용하기 위해 예약되어 있다.The syntax element max_subpics_minus2 plus 2 specifies the maximum number of subpictures that can exist in a coded video sequence (CVS). In some embodiments, max_subpics_minus2 is constrained to be in the range of 0 to 254. The value 255 is reserved for future use.

신택스 요소 num_subpics_minus1 더하기 1은 CVS에 존재할 수 있는 서브화상의 수를 명시한다. 일부 실시예에서, num_subpics_minus1의 값은 0 내지 254의 범위에 있도록 제약된다. 값 255는 나중에 사용하기 위해 예약되어 있다. 표 1d에 예시된 바와 같이, CVS에 존재하는 서브화상의 수는 신택스 요소 num_subpics_minus1을 통해 SPS에서 직접 시그널링된다.The syntax element num_subpics_minus1 plus 1 specifies the number of subpictures that can exist in CVS. In some embodiments, the value of num_subpics_minus1 is constrained to be in the range of 0 to 254. The value 255 is reserved for future use. As illustrated in Table 1d, the number of subpictures present in the CVS is signaled directly in the SPS via the syntax element num_subpics_minus1 .

신택스 요소 num_subpics_minus2 더하기 2는 CVS에 존재할 수 있는 서브화상의 수를 명시한다. 일부 실시예에서, num_subpics_minus2의 값은 0 내지 254의 범위에 있도록 제약된다. 값 255는 나중에 사용하기 위해 예약되어 있다.The syntax element num_subpics_minus2 plus 2 specifies the number of subpictures that can exist in CVS. In some embodiments, the value of num_subpics_minus2 is constrained to be in the range of 0 to 254. The value 255 is reserved for future use.

신택스 요소 subpic_grid_col_width_minus1 더하기 1은 CtbSizeY 단위로 화상의 가장 우측 그리드 열을 제외한 서브화상 식별자 그리드의 각 요소의 폭을 명시한다. 신택스 요소의 길이는 Ceil( Log2( pic_width_max_in_luma_samples /CtbSizeY) ) 비트이다. 존재하지 않는 경우, subpic_grid_row_width_minus1은 0으로 추론된다.The syntax element subpic_grid_col_width_minus1 plus 1 specifies the width of each element of the subpicture identifier grid except for the rightmost grid column of the picture in units of CtbSizeY. The length of the syntax element is Ceil( Log2( pic_width_max_in_luma_samples /CtbSizeY) ) bits. If not present, subpic_grid_row_width_minus1 is inferred to be 0.

신택스 요소 subpic_grid_row_height_minus1 더하기 1은 CtbSizeY 단위로 화상의 하단 그리드 행을 제외한 서브화상 식별자 그리드의 각 요소의 높이를 명시한다. 신택스 요소의 길이는 Ceil( Log2( pic_height_max_in_luma_samples /CtbSizeY) ) 비트이다. 존재하지 않는 경우, subpic_grid_row_height_minus1은 0으로 추론된다.The syntax element subpic_grid_row_height_minus1 plus 1 specifies the height of each element of the sub-picture identifier grid except for the lower grid row of the picture in CtbSizeY units. The length of the syntax element is Ceil(Log2(pic_height_max_in_luma_samples /CtbSizeY)) bits. If not present, subpic_grid_row_height_minus1 is inferred to be 0.

변수 NumSubPicGridRows는 다음과 같이 유도된다: The variable NumSubPicGridRows is derived as follows:

NumSubPicGridRows = NumSubPicGridRows =

(pic_height_max_in_luma_samples + (pic_height_max_in_luma_samples +

subpic_grid_row_height_minus1 * CtbSizeY + CtbSizeY - 1 ) /subpic_grid_row_height_minus1 * CtbSizeY + CtbSizeY - 1 ) /

(subpic_grid_row_height_minus1 * CtbSizeY + CtbSizeY)(subpic_grid_row_height_minus1 * CtbSizeY + CtbSizeY)

신택스 요소 bottom_right_subpic_grid_idx_length_minus1 더하기 1은 신택스 요소 bottom_right_subpic_grid_idx_delta[ i ]를 나타내는 데 사용되는 비트 수를 명시한다. bottom_right_subpic_grid_idx_length_minus1의 값은 0 내지 Ceil( Log2( NumSubPicGridRows * NumSubPicGridCols ) ) - 1(이 두 수 포함(inclusive))의 범위에 있어야 한다.The syntax element bottom_right_subpic_grid_idx_length_minus1 plus 1 specifies the number of bits used to represent the syntax element bottom_right_subpic_grid_idx_delta[ i ]. The value of bottom_right_subpic_grid_idx_length_minus1 must be in the range of 0 to Ceil( Log2( NumSubPicGridRows * NumSubPicGridCols ) ) - 1 (inclusive of these two numbers).

변수 bottom_right_subpic_grid_idx_delta[ i ]는 i가 0보다 클 때 i번째 서브화상의 하단 우측 코너의 서브화상 그리드 인덱스와 (i - 1)번째 서브화상의 하단 우측 코너의 서브화상 그리드 인덱스 간의 차이를 명시한다. 변수 bottom_right_subpic_grid_idx_delta[ 0 ]는 0번째 서브화상의 하단 우측 코너의 서브화상 그리드 인덱스를 명시한다.The variable bottom_right_subpic_grid_idx_delta [i] specifies the difference between the sub-picture grid index of the lower right corner of the i-th sub-picture and the sub-picture grid index of the lower right corner of the (i - 1)-th sub picture when i is greater than 0. The variable bottom_right_subpic_grid_idx_delta[ 0 ] specifies the sub picture grid index of the lower right corner of the 0th sub picture.

1과 동일한 신택스 요소 subpic_grid_idx_delta_sign_flag[ i ]는 bottom_right_subpic_grid_idx_delta[ i ]에 대한 양수 기호를 나타낸다. 0과 동일한 sign_bottom_right_subpic_grid_idx_delta[ i ]는 bottom_right_subpic_grid_idx_delta[ i ]에 대한 음수 기호를 나타낸다.The syntax element subpic_grid_idx_delta_sign_flag [i] equal to 1 indicates a positive sign for bottom_right_subpic_grid_idx_delta[i]. sign_bottom_right_subpic_grid_idx_delta[ i ] equal to 0 indicates a negative sign for bottom_right_subpic_grid_idx_delta[ i ].

도 1a 내지 1e는 CTB 또는 CTU 기반 그리드 단위가 비디오 시퀀스의 서브화상을 명시하는 데 사용되는 것을 개념적으로 도시한다. 도 1a는 여러 비디오 화상을 포함하는 비디오 시퀀스(CVS)(100)를 도시한다. 예를 들어, 화상(110)과 같은 시퀀스(100)의 비디오 화상은 CTU로 분할된다. 도 1b는, 시퀀스의 화상이 서브화상을 명시하기 위해 서브화상 그리드로 분할되는 것을 도시한다. 각 서브화상 그리드(120)는 CTU 또는 CTB의 경계에 기초해 각 서브화상 그리드가 정의되도록 정수개의 CTU에 대응한다. 도 1c는 각 서브화상 그리드(120)가 정확히 하나의 CTU 또는 CTB에 대응하는 예를 도시한다. 도 1d는 각 서브화상 그리드(120)가 2x1 CTU 또는 CTB에 대응하는 예를 도시한다. 도 1e는 각 서브화상 그리드(120)가 2x3 CTU 또는 CTB에 대응하는 예를 도시한다. 일부 실시예에서, 예를 들어, subpic_grid_col_width_minus1 및 subpic_grid_row_height_minus1과 같은 SPS 신택스 요소는 CTU 또는 CTB의 관점에서 서브화상 그리드를 정의한다. 또한, 각 CTU 또는 CTB의 크기는 신택스 요소 log2_ctu_size_minus5에서 SPS로 시그널링된다.1A-1E conceptually illustrate that a CTB or CTU-based grid unit is used to specify a subpicture of a video sequence. 1A shows a video sequence (CVS) 100 comprising several video pictures. For example, a video picture of a sequence 100 such as picture 110 is divided into CTUs. Fig. 1B shows that the pictures of the sequence are divided into subpicture grids to specify subpictures. Each sub picture grid 120 corresponds to an integer number of CTUs such that each sub picture grid is defined based on a boundary of a CTU or CTB. 1C shows an example in which each sub-picture grid 120 corresponds to exactly one CTU or CTB. 1D shows an example in which each sub-picture grid 120 corresponds to a 2×1 CTU or CTB. FIG. 1E shows an example in which each sub-picture grid 120 corresponds to a 2×3 CTU or CTB. In some embodiments, for example, SPS syntax elements such as subpic_grid_col_width_minus1 and subpic_grid_row_height_minus1 define a subpicture grid in terms of a CTU or CTB. In addition, the size of each CTU or CTB is signaled to the SPS in the syntax element log2_ctu_size_minus5.

도 2는 서브화상을 명시하기 위해 인덱싱되는 CTU 또는 CTB 기반 서브화상 그리드를 도시한다. 화상(110)의 각각의 서브화상 그리드는, 비디오 코덱이 서브화상의 크기(예컨대, 폭, 높이) 및/또는 위치를 시그널링할 때 사용될 수 있는 인덱스에 대응한다. 서브화상 식별자 그리드의 명시된 요소는 래스터 스캔의 순서로 인덱싱된다. 일부 실시예에서, 서브화상은 또한 래스터 스캔의 순서로 인덱싱된다.2 shows a CTU or CTB based subpicture grid that is indexed to specify subpictures. Each subpicture grid of picture 110 corresponds to an index that can be used when the video codec signals the size (eg, width, height) and/or position of the subpicture. The specified elements of the subpicture identifier grid are indexed in the order of the raster scan. In some embodiments, the subpictures are also indexed in the order of the raster scan.

도시된 바와 같이, 시퀀스(100)의 화상, 예를 들어, 화상(110)은 CTU 또는 CTB 기반의 서브화상 그리드를 사용하여 정의된 4개의 서브화상(210, 220, 230, 및 240)을 갖도록 정의된다. 서브화상 그리드와 연관된 인덱스는 서브화상(210-240)의 크기 및 위치를 명시하는 데 사용된다.As shown, a picture of sequence 100, eg, picture 110, has four subpictures 210, 220, 230, and 240 defined using a CTU or CTB based subpicture grid. is defined The index associated with the subpicture grid is used to specify the size and position of the subpictures 210-240.

일부 실시예에서, 각각의 서브화상의 위치는 서브화상의 코너(예컨대, 하단 우측 코너 또는 상단 좌측 코너)의 서브화상 그리드와 연관된 인덱스에 기초하여 명시된다. 이 도면에서, 서브화상(210)의 위치는 인덱스 27이고, 서브화상(220)의 위치는 인덱스 36이고, 서브화상(230)의 위치는 인덱스 79이며, 서브화상(240)의 위치는 인덱스 84이다. 일부 실시예에서, 예를 들어, bottom_right_subpic_grid_idx_delta[i] 및 subpic_grid_idx_delta_sign_flag[i]와 같은 SPS 신택스 요소는 또 다른 서브화상의 하단 우측 코너 위치를 참조함으로써 하나의 서브화상의 하단 우측 코너 위치를 명시하는 데 사용된다. 대안적으로, 일부 실시예에서, 각각의 CTU/CTB 기반 서브화상 그리드는 X-인덱스 및 Y-인덱스와 연관될 수 있고, 각 서브화상의 위치는 서브화상의 상단 좌측 코너에 있는 서브화상 그리드의 X 인덱스 및 Y 인덱스에 의해 명시될 수 있다.In some embodiments, the location of each subpicture is specified based on an index associated with the subpicture grid of a corner (eg, bottom right corner or top left corner) of the subpicture. In this figure, the position of the sub picture 210 is index 27, the position of the sub picture 220 is index 36, the position of the sub picture 230 is index 79, and the position of the sub picture 240 is index 84 am. In some embodiments, for example, SPS syntax elements such as bottom_right_subpic_grid_idx_delta[i] and subpic_grid_idx_delta_sign_flag[i] are used to specify the bottom right corner position of one subpicture by referencing the bottom right corner position of another subpicture. do. Alternatively, in some embodiments, each CTU/CTB based subpicture grid may be associated with an X-index and a Y-index, the position of each subpicture being that of the subpicture grid in the upper left corner of the subpicture. It can be specified by an X index and a Y index.

일부 실시예에서, (CVS에서) 서브화상의 최대 수는 비디오 파라미터 세트(Video Parameter Set; VPS)에서 명시될 수 있다. 아래의 표 3은 CVS에서 서브화상의 최대 수를 명시하는 VPS의 예시적인 신택스 표이다.In some embodiments, the maximum number of subpictures (in CVS) may be specified in a Video Parameter Set (VPS). Table 3 below is an exemplary syntax table of VPS that specifies the maximum number of subpictures in CVS.

[표 3][Table 3]

Figure pct00005
Figure pct00005

CVS에서in CVS 서브화상의sub picture 최대 수를 명시하는 VPS VPS specifying the maximum number

신택스 요소 vps_max_subpics_minus2 더하기 2(또는 vps_max_subpics_minus1 더하기 1)는 VPS를 참조하는 각 CVS에서 허용되는 최대 서브화상 수를 명시한다. 일부 실시예에서, 신택스 요소 vps_max_subpics_minus2는 0 내지 254의 범위에 있도록 제약된다. 값 255는 나중에 사용하기 위해 예약되어 있다.The syntax element vps_max_subpics_minus2 plus 2 (or vps_max_subpics_minus1 plus 1) specifies the maximum number of subpictures allowed in each CVS referring to the VPS. In some embodiments, the syntax element vps_max_subpics_minus2 is constrained to be in the range of 0 to 254. The value 255 is reserved for future use.

일부 실시예에서, 서브화상 관련 파라미터는 화상 파라미터 세트(Picture Parameter Set; PPS)에서 시그널링된다. 아래의 표 4는 서브화상 정보를 포함하는 PPS의 예시적인 신택스 표를 예시한다.In some embodiments, sub-picture related parameters are signaled in a Picture Parameter Set (PPS). Table 4 below illustrates an exemplary syntax table of a PPS including sub-picture information.

[표 4][Table 4]

Figure pct00006
Figure pct00006

서브화상sub picture ID를 명시하는 PPS PPS specifying ID

일부 실시예에서, PPS에서 신택스 요소 rect_slice_flag가 0인 것은, 각 슬라이스 내의 브릭이 래스터 스캔 순서에 있고 슬라이스 정보가 PPS에서 시그널링되지 않는 것을 명시한다. 신택스 요소 rect_slice_flag가 1인 것은, 각 슬라이스 내의 브릭이 화상의 직사각형 영역을 덮고 슬라이스 정보가 PPS에서 시그널링되는 것을 명시한다. subpics_present_flag가 1과 동일할 때, rect_slice_flag의 값은 1과 동일해야 한다. 일부 실시예에서, brick_splitting_present_flag가 1과 동일할 때, rect_slice_flag의 값은 1로 설정된다. 존재하지 않는 경우 신택스 요소 rect_slice_flag는 1과 동일한 것으로 추론된다.In some embodiments, the syntax element rect_slice_flag equal to 0 in the PPS specifies that the bricks in each slice are in raster scan order and no slice information is signaled in the PPS. The syntax element rect_slice_flag equal to 1 specifies that the brick in each slice covers a rectangular area of the picture and slice information is signaled in the PPS. When subpics_present_flag is equal to 1, the value of rect_slice_flag must be equal to 1. In some embodiments, when brick_splitting_present_flag is equal to 1, the value of rect_slice_flag is set to 1. If not present, the syntax element rect_slice_flag is inferred to be equal to 1.

신택스 요소 signalled_subpic_id_flag가 1인 것은 각 서브화상에 대한 서브화상 ID가 시그널링되는 것을 명시한다. 신택스 요소 signalled_subpic_id_flag가 0인 것은 서브화상 ID가 시그널링되지 않는 것을 명시한다. signalled_subpic_id_flag의 값은 존재하지 않는 경우, 0과 동일한 것으로 추론된다.The syntax element signaled_subpic_id_flag equal to 1 specifies that the subpicture ID for each subpicture is signaled. The syntax element signaled_subpic_id_flag equal to 0 specifies that the subpicture ID is not signaled. If the value of signaled_subpic_id_flag is not present, it is inferred to be equal to 0.

신택스 요소 signalled_subpic_id_length_minus1 더하기 1은 존재하는 경우 신택스 요소 subpic_id[i] 및 슬라이스 헤더의 신택스 요소 subpicture_id를 나타내는 데 사용되는 비트 수를 명시한다. 일부 실시예에서, signalled_subpic_id_length_minus1의 값은 0 내지 7(이 두 수 포함)의 범위에 있도록 제약된다. signalled_subpic_id_length_minus1의 값은 존재하지 않는 경우 Ceil( Log2( Max( 2, num_subpics_minus1 + 1 ) ) ) - 1과 동일한 것으로 추론된다.The syntax element signaled_subpic_id_length_minus1 plus 1, if present, specifies the number of bits used to indicate the syntax element subpic_id[i] and the syntax element subpicture_id of the slice header. In some embodiments, the value of signaled_subpic_id_length_minus1 is constrained to be in the range of 0 to 7 (inclusive of these two numbers). The value of signaled_subpic_id_length_minus1 is inferred to be equal to Ceil(Log2( Max( 2, num_subpics_minus1 + 1 ) ) - 1 if not present.

신택스 요소 subpic_id[ i ]는 i번째 서브화상의 서브화상 ID를 명시한다. subpuic_id[ i ] 신택스 요소의 길이는 signalled_subpic_id_length_minus1 + 1 비트이다. subpic_id[ i ]의 값은 존재하지 않는 경우 0 내지 num_subpics_minus1(이 두 수 포함) 범위의 각 i에 대해 i와 동일한 것으로 추론된다. 동일한 서브화상 ID를 갖는 슬라이스들은 집합적으로 서브화상 영역을 형성한다.The syntax element subpic_id [i] specifies the sub picture ID of the i-th sub picture. The length of the subpuic_id[i] syntax element is signaled_subpic_id_length_minus1 + 1 bits. The value of subpic_id[ i ], if not present, is inferred to be equal to i for each i in the range 0 to num_subpics_minus1 (inclusive of these two numbers). Slices with the same sub picture ID collectively form a sub picture area.

신택스 요소 subpicture_id는 현재 슬라이스가 속한 서브화상 ID를 명시한다. subpic_id 신택스 요소의 길이는 Ceil( Log2( num_subpics_minus1 + 1 ) ) 비트이다. subpicture_id의 값은 PPS에 명시된 subpic_id[ i ]에 대한 매핑이다. i번째 서브화상에 대한 시그널링된 서브화상 ID인 subpic_id[ i ]는 PPS에 추가될 수 있고, 시그널링된 서브화상 ID인 subpicure_id는 PPS의 subpic_id[ i ]에 매핑되어 슬라이스 헤더에 추가될 수 있다. 아래의 표 5는 서브화상 정보를 포함하는 슬라이스 헤더의 예시적인 신택스 표를 예시한다.The syntax element subpicture_id specifies the subpicture ID to which the current slice belongs. The length of the subpic_id syntax element is Ceil(Log2( num_subpics_minus1 + 1 )) bits. The value of subpicture_id is a mapping to subpic_id[ i ] specified in the PPS. The signaled subpicture ID subpic_id[i] for the i-th subpicture may be added to the PPS, and the signaled subpicture ID subpicure_id may be mapped to the subpic_id[i] of the PPS and added to the slice header. Table 5 below illustrates an exemplary syntax table of a slice header including sub-picture information.

[표 5][Table 5]

Figure pct00007
Figure pct00007

서브화상sub picture ID를 명시하는 슬라이스 헤더 Slice header specifying ID

일부 실시예에서, 서브화상 ID가 CVS에 대해 변경되지 않는다고 가정하면, 서브화상 ID는 CVS의 슬라이스 헤더, PPS, 및/또는 SPS에서 대안적으로 시그널링될 수 있다. 예를 들어, i번째 서브화상에 대한 시그널링된 서브화상 ID인 subpic_id[ i ]는 아래 표 6에 따라 (PPS가 아니라) SPS에서 시그널링될 수 있다:In some embodiments, assuming that the subpicture ID is not changed for the CVS, the subpicture ID may alternatively be signaled in the slice header, PPS, and/or SPS of the CVS. For example, subpic_id[ i ], which is the signaled subpicture ID for the i-th subpicture, may be signaled in SPS (not PPS) according to Table 6 below:

[표 6][Table 6]

Figure pct00008
Figure pct00008

서브화상sub picture ID를 명시하는 specifying the ID SPSSPS

II.II. 예시적인 비디오 인코더Exemplary video encoder

도 3은 서브화상을 지원하는 예시적인 비디오 인코더(300)를 도시한다. 예시된 바와 같이, 비디오 인코더(300)는 비디오 소스(305)로부터 입력 비디오 신호를 수신하고 신호를 비트 스트림(395)으로 인코딩한다. 비디오 인코더(300)는, 변환 모듈(310), 양자화 모듈(311), 역 양자화 모듈(314), 역변환 모듈(315), 인트라 화상 추정 모듈(320), 인트라 예측 모듈(325), 모션 보상 모듈(330), 모션 추정 모듈(335), 인루프 필터(in-loop filter)(345), 재구성된 화상 버퍼(350), MV 버퍼(365), MV 예측 모듈(375), 엔트로피 인코더(390)로부터 선택된 일부 컴포넌트를 적어도 포함하여, 비디오 소스(305)로부터의 신호를 인코딩하기 위한 여러 컴포넌트 또는 모듈을 갖는다. 모션 보상 모듈(330) 및 모션 추정 모듈(335)은 인터-예측 모듈(340)의 일부이다.3 shows an example video encoder 300 supporting subpictures. As illustrated, a video encoder 300 receives an input video signal from a video source 305 and encodes the signal into a bit stream 395 . The video encoder 300 includes a transform module 310 , a quantization module 311 , an inverse quantization module 314 , an inverse transform module 315 , an intra picture estimation module 320 , an intra prediction module 325 , and a motion compensation module. 330 , motion estimation module 335 , in-loop filter 345 , reconstructed picture buffer 350 , MV buffer 365 , MV prediction module 375 , entropy encoder 390 . It has several components or modules for encoding the signal from the video source 305 , including at least some components selected from The motion compensation module 330 and the motion estimation module 335 are part of the inter-prediction module 340 .

일부 실시예에서, 모듈(310-390)은 컴퓨팅 디바이스 또는 전자 장치의 하나 이상의 처리 유닛(예컨대, 프로세서)에 의해 실행되는 소프트웨어 명령어의 모듈이다. 일부 실시예에서, 모듈(310-390)은 전자 장치의 하나 이상의 집적 회로(integrated circuit; IC)에 의해 구현되는 하드웨어 회로의 모듈이다. 모듈(310-390)은 별도의 모듈로 설명되어 있지만 일부 모듈은 단일 모듈로 결합될 수 있다.In some embodiments, modules 310 - 390 are modules of software instructions that are executed by one or more processing units (eg, processors) of a computing device or electronic device. In some embodiments, modules 310 - 390 are modules of hardware circuitry implemented by one or more integrated circuits (ICs) of an electronic device. Although modules 310-390 are described as separate modules, some modules may be combined into a single module.

비디오 소스(305)는 압축 없이 각 비디오 프레임의 픽셀 데이터를 나타내는 원시 비디오 신호를 제공한다. 감산기(308)는 비디오 소스(305)의 원시 비디오 픽셀 데이터와 모션 보상 모듈(330) 또는 인트라-예측 모듈(325)로부터의 예측된 픽셀 데이터(313) 사이의 차이를 계산한다. 변환 모듈(310)은 (예컨대, 이산 코사인 변환 또는 DCT를 수행함으로써) 차이(또는 잔차 픽셀 데이터 또는 잔차 신호(309))를 변환 계수로 변환한다. 양자화 모듈(311)은 변환 계수를 양자화된 데이터(또는 양자화된 계수)(312)로 양자화하고, 이는 엔트로피 인코더(390)에 의해 비트 스트림(395)으로 인코딩된다.A video source 305 provides a raw video signal representing the pixel data of each video frame without compression. The subtractor 308 calculates the difference between the raw video pixel data of the video source 305 and the predicted pixel data 313 from the motion compensation module 330 or intra-prediction module 325 . The transform module 310 transforms the difference (or residual pixel data or residual signal 309 ) into transform coefficients (eg, by performing a discrete cosine transform or DCT). The quantization module 311 quantizes the transform coefficients into quantized data (or quantized coefficients) 312 , which is encoded into a bit stream 395 by the entropy encoder 390 .

역 양자화 모듈(314)은 양자화된 데이터(또는 양자화된 계수)(312)를 역양자화하여 변환 계수를 얻고, 역변환 모듈(315)은 변환 계수에 역변환을 수행하여 재구성된 잔차(319)를 생성한다. 재구성된 잔차(319)는 예측된 픽셀 데이터(313)와 함께 추가되어 재구성된 픽셀 데이터(317)를 생성한다. 일부 실시예에서, 재구성된 픽셀 데이터(317)는 인트라 화상 예측 및 공간적 MV 예측을 위해 라인 버퍼(도시되지 않음)에 일시적으로 저장된다. 재구성된 픽셀은 인루프 필터(345)에 의해 필터링되고 재구성된 화상 버퍼(350)에 저장된다. 일부 실시예에서, 재구성된 화상 버퍼(350)는 비디오 인코더(300) 외부의 저장소이다. 일부 실시예에서, 재구성된 화상 버퍼(350)는 비디오 인코더(300) 내부의 저장소이다.The inverse quantization module 314 inversely quantizes the quantized data (or quantized coefficient) 312 to obtain a transform coefficient, and the inverse transform module 315 performs an inverse transform on the transform coefficient to generate a reconstructed residual 319 . . The reconstructed residual 319 is added along with the predicted pixel data 313 to generate reconstructed pixel data 317 . In some embodiments, reconstructed pixel data 317 is temporarily stored in a line buffer (not shown) for intra picture prediction and spatial MV prediction. The reconstructed pixels are filtered by the in-loop filter 345 and stored in the reconstructed image buffer 350 . In some embodiments, the reconstructed picture buffer 350 is storage external to the video encoder 300 . In some embodiments, the reconstructed picture buffer 350 is storage internal to the video encoder 300 .

인트라 화상 추정 모듈(320)은 재구성된 픽셀 데이터(317)에 기초해 인트라 예측을 수행하여 인트라 예측 데이터를 생성한다. 인트라 예측 데이터는 비트 스트림(395) 내로 인코딩되도록 엔트로피 인코더(390)에 제공된다. 인트라 예측 데이터는 예측된 픽셀 데이터(313)를 생성하기 위해 인트라 예측 모듈(325)에 의해 또한 사용된다.The intra picture estimation module 320 generates intra prediction data by performing intra prediction based on the reconstructed pixel data 317 . The intra prediction data is provided to an entropy encoder 390 to be encoded into a bit stream 395 . The intra prediction data is also used by the intra prediction module 325 to generate predicted pixel data 313 .

모션 추정 모듈(335)은 재구성된 화상 버퍼(350)에 저장된 이전에 디코딩된 프레임의 픽셀 데이터를 참조하기 위한 MV를 생성하여 인터 예측을 수행한다. 이들 MV는 예측된 픽셀 데이터를 생성하기 위해 모션 보상 모듈(330)에 제공된다.The motion estimation module 335 performs inter prediction by generating an MV for referring to pixel data of a previously decoded frame stored in the reconstructed picture buffer 350 . These MVs are provided to the motion compensation module 330 to generate predicted pixel data.

비디오 인코더(300)는 비트 스트림에서 전체 실제 MV를 인코딩하는 대신 MV 예측을 사용하여 예측된 MV를 생성하고, 모션 보상에 사용되는 MV와 예측된 MV 간의 차이가 잔차 모션 데이터로 인코딩되어 비트 스트림(395)에 저장된다.The video encoder 300 generates a predicted MV using MV prediction instead of encoding the full real MV in the bitstream, and the difference between the MV used for motion compensation and the predicted MV is encoded into the residual motion data to generate the bitstream ( 395) is stored.

MV 예측 모듈(375)은 이전에 비디오 프레임을 인코딩하기 위해 생성된 참조 MV, 즉, 모션 보상을 수행하기 위해 사용된 모션 보상 MV에 기초해 예측된 MV를 생성한다. MV 예측 모듈(375)은 MV 버퍼(365)로부터의 이전 비디오 프레임으로부터 참조 MV를 검색한다. 비디오 인코더(300)는 현재 비디오 프레임에 대해 생성된 MV를, 예측된 MV를 생성하기 위한 참조 MV로서 MV 버퍼(365)에 저장한다.The MV prediction module 375 generates a predicted MV based on a reference MV previously generated to encode the video frame, ie, a motion compensation MV used to perform motion compensation. The MV prediction module 375 retrieves a reference MV from the previous video frame from the MV buffer 365 . The video encoder 300 stores the MV generated for the current video frame in the MV buffer 365 as a reference MV for generating the predicted MV.

MV 예측 모듈(375)은 참조 MV를 사용하여 예측된 MV를 생성한다. 예측된 MV는 공간적 MV 예측 또는 시간적 MV 예측에 의해 계산될 수 있다. 현재 프레임(잔차 모션 데이터)의 예측된 MV와 모션 보상 MV(MC MV) 간의 차이는 엔트로피 인코더(390)에 의해 비트 스트림(395)으로 인코딩된다.The MV prediction module 375 generates a predicted MV using the reference MV. The predicted MV can be calculated by spatial MV prediction or temporal MV prediction. The difference between the predicted MV and the motion compensated MV (MC MV) of the current frame (residual motion data) is encoded by the entropy encoder 390 into a bit stream 395 .

엔트로피 인코더(390)는 예를 들어, 상황 적응 이진 산술 코딩(context-adaptive binary arithmetic coding; CABAC) 또는 허프만 인코딩과 같은 엔트로피 코딩 기술을 사용하여 다양한 파라미터 및 데이터를 비트 스트림(395)으로 인코딩한다. 엔트로피 인코더(390)는 양자화된 변환 계수(312)와 함께 다양한 헤더 요소, 플래그, 및 신택스 요소로서의 잔차 모션 데이터를 비트스트림(395)으로 인코딩한다. 비트 스트림(395)은 결국 저장 디바이스에 저장되거나 예를 들어, 네트워크와 같은 통신 매체를 통해 디코더로 전송된다.Entropy encoder 390 encodes various parameters and data into bit stream 395 using entropy coding techniques such as, for example, context-adaptive binary arithmetic coding (CABAC) or Huffman encoding. Entropy encoder 390 encodes the residual motion data as various header elements, flags, and syntax elements along with quantized transform coefficients 312 into bitstream 395 . The bit stream 395 is eventually stored in a storage device or transmitted to a decoder, for example, via a communication medium such as a network.

인루프 필터(345)는 특히 픽셀 블록의 경계에서 코딩의 아티팩트(artifacts)를 감소시키기 위해 재구성된 픽셀 데이터(317)에 대해 필터링 또는 평활화 동작을 수행한다. 일부 실시예에서, 수행된 필터링 동작은 샘플 적응 오프셋(sample adaptive; SAO)을 포함한다. 일부 실시예에서, 필터링 동작은 적응 루프 필터(adaptive loop filter; ALF)를 포함한다.The in-loop filter 345 performs a filtering or smoothing operation on the reconstructed pixel data 317 to reduce coding artifacts, particularly at the boundaries of pixel blocks. In some embodiments, the performed filtering operation includes a sample adaptive offset (SAO). In some embodiments, the filtering operation includes an adaptive loop filter (ALF).

도 4는 서브화상에 대한 시그널링을 구현하는 비디오 인코더(300)의 부분을 개념적으로 도시한다. 예시된 바와 같이, 엔트로피 인코더(390)는 비디오 화상의 현재 코딩된 시퀀스(420)에 존재할 서브화상에 대한 파라미터(410)를 명시하는, 비디오 소스(305)로부터의 시그널링을 수신한다. 이들 파라미터(410)는 현재 코딩된 시퀀스에 존재하는 서브화상의 수를 나타낼 수 있다. 파라미터(410)는 또한 각각의 서브화상의 위치 및 기하학적 구조(높이, 폭, 및 크기)를 나타낼 수 있다. 상이한 서브화상들의 양자화된 계수(312)는 인코더(300)의 데이터 경로에 제공된다.4 is Conceptually depicts a portion of a video encoder 300 that implements signaling for subpictures. As illustrated, entropy encoder 390 receives signaling from video source 305 specifying parameters 410 for subpictures to be present in current coded sequence 420 of video pictures. These parameters 410 may indicate the number of sub-pictures present in the current coded sequence. The parameters 410 may also indicate the location and geometry (height, width, and size) of each sub-picture. The quantized coefficients 312 of the different subpictures are provided in the data path of the encoder 300 .

서브화상에 대한 파라미터에 기초하여, 엔트로피 인코더(390)는 비트스트림(395)에서 서브화상에 대한 사양으로서 역할을 하는 신택스 요소를 생성한다. 이러한 신택스 요소는 서브화상의 식별자, 서브화상의 수뿐만 아니라, CTB/CTU 기반 서브화상 그리드의 관점에서 명시된 서브화상 위치 및 기하학적 구조를 포함할 수 있다. 이들 신택스 요소는 현재 코딩된 비디오 시퀀스(420)의 SPS, 비디오 시퀀스의 개별 화상의 PPS, 시퀀스의 화상 내의 개별 슬라이스의 슬라이스 헤더, 및/또는 전체 비디오의 VPS에 저장될 수 있다. 이러한 신택스 요소의 예는 위의 표 1a 내지 1D 및 2 내지 6을 참조하여 설명된다.Based on the parameters for the subpicture, the entropy encoder 390 generates a syntax element in the bitstream 395 that serves as a specification for the subpicture. These syntax elements may include identifiers of subpictures, number of subpictures, as well as subpicture positions and geometry specified in terms of a CTB/CTU based subpicture grid. These syntax elements may be stored in the SPS of the currently coded video sequence 420 , the PPS of individual pictures of the video sequence, the slice headers of individual slices within pictures of the sequence, and/or the VPS of the entire video. Examples of such syntax elements are described with reference to Tables 1a to 1D and 2 to 6 above.

도 5는 비디오 인코더에서 서브화상 사양을 제공하기 위한 프로세스(500)를 개념적으로 도시한다. 일부 실시예에서, 인코더(300)를 구현하는 컴퓨팅 디바이스의 하나 이상의 처리 유닛(예컨대, 프로세서)은 컴퓨터 판독 가능 매체에 저장된 명령어를 실행함으로써 프로세스(500)를 수행한다. 일부 실시예에서, 디코더(300)를 구현하는 전자 장치는 프로세스(500)를 수행한다.5 conceptually illustrates a process 500 for providing a subpicture specification in a video encoder. In some embodiments, one or more processing units (eg, processors) of a computing device implementing encoder 300 perform process 500 by executing instructions stored on a computer-readable medium. In some embodiments, an electronic device implementing decoder 300 performs process 500 .

인코더는 (블록(510)에서) 비트스트림에서 비디오 화상들의 시퀀스로서 인코딩될 데이터를 수신한다. 인코더는 (블록(520)에서) 비디오 화상 시퀀스의 하나 이상의 서브화상에 대한 서브화상 사양을 비트스트림에서 시그널링한다. 일부 실시예에서, 비디오 화상의 시퀀스의 SPS 내의 신택스 요소는, 하나 이상의 서브화상이 비디오 화상의 시퀀스에 존재한다는 것을 표시한다. SPS는 또한 비디오 화상 시퀀스의 서브화상의 수와 각 서브화상에 대한 식별자를 명시하는 신택스 요소를 포함할 수 있다. 서브화상의 식별자는 비디오 화상의 시퀀스에서 비디오 화상의 슬라이스 헤더 및/또는 PPS로 시그널링될 수도 있다. 일부 실시예에서, 비디오 화상의 시퀀스에서 비디오 화상의 PPS에 있는 신택스 요소는 비디오 화상의 모든 슬라이스가 직사각형임을 표시한다. The encoder receives (at block 510 ) data to be encoded as a sequence of video pictures in a bitstream. The encoder signals (at block 520 ) subpicture specifications for one or more subpictures of the sequence of video pictures in the bitstream. In some embodiments, a syntax element within an SPS of a sequence of video pictures indicates that one or more subpictures are present in the sequence of video pictures. The SPS may also include a syntax element that specifies the number of subpictures and an identifier for each subpicture in the sequence of video pictures. The identifier of a subpicture may be signaled in the sequence of video pictures in a slice header and/or PPS of a video picture. In some embodiments, a syntax element in a PPS of a video picture in a sequence of video pictures indicates that all slices of the video picture are rectangular.

인코더는 (블록(530)에서) 서브화상(830)에 대한 CTU를 식별하는 인덱스를 제공함으로써 각각의 서브화상에 대한 위치 및 크기를 식별한다.The encoder identifies (at block 530 ) the location and size for each subpicture by providing an index identifying the CTU for the subpicture 830 .

일부 실시예에서, 식별된 CTU는 서브화상의 코너(예컨대, 상단 좌측 또는 하단 우측)에 있다. 일부 실시예에서, 인덱스는 서브화상 그리드에 할당되고, 상이한 서브화상 그리드들에는 상이한 인덱스들이 할당된다. 일부 실시예에서, 인덱스는 서브화상 그리드의 경계가 CTU의 경계를 따라 정의되도록 하나의 CTU로 정의되거나 하나의 CTU에 대응하는 서브화상 그리드를 식별한다. 일부 실시예에서, 서브화상 위치의 인덱스는 비디오 화상 시퀀스의 SPS에서 시그널링된다. In some embodiments, the identified CTU is in a corner (eg, top left or bottom right) of the subpicture. In some embodiments, an index is assigned to a subpicture grid, and different subpicture grids are assigned different indices. In some embodiments, the index identifies a subpicture grid defined as or corresponding to one CTU such that the boundary of the subpicture grid is defined along the boundary of the CTU. In some embodiments, the index of the sub-picture position is signaled in the SPS of the video picture sequence.

인코더는 (블록(540)에서) 서브화상 사양에 따라 비디오 화상의 시퀀스에 대한 각각의 서브화상을 인코딩한다.The encoder encodes (at block 540 ) each subpicture for the sequence of video pictures according to the subpicture specification.

III.III. 예시적인 비디오 디코더Exemplary video decoder

도 6은 서브화상을 지원하는 예시적인 비디오 디코더(600)를 도시한다. 예시된 바와 같이, 비디오 디코더(600)는 비트 스트림(695)을 수신하고 비트 스트림의 콘텐츠를 디스플레이를 위해 비디오 프레임의 픽셀 데이터로 디코딩하는 이미지 디코딩 또는 비디오 디코딩 회로이다. 비디오 디코더(600)는 역양자화 모듈(611), 역변환 모듈(610), 인트라 예측 모듈(625), 모션 보상 모듈(630), 인루프 필터(645), 디코딩된 화상 버퍼(650), MV 버퍼(665), MV 예측 모듈(675) 및 파서(690)로부터 선택된 일부 컴포넌트를 포함하는, 비트스트림(695)을 디코딩하기 위한 여러 개의 컴포넌트 또는 모듈을 갖는다. 모션 보상 모듈(630)은 인터 예측 모듈(640)의 일부이다.6 shows an example video decoder 600 that supports subpictures. As illustrated, video decoder 600 is an image decoding or video decoding circuit that receives bit stream 695 and decodes the contents of the bit stream into pixel data of a video frame for display. The video decoder 600 includes an inverse quantization module 611 , an inverse transform module 610 , an intra prediction module 625 , a motion compensation module 630 , an in-loop filter 645 , a decoded picture buffer 650 , an MV buffer It has several components or modules for decoding the bitstream 695 , including some components selected from 665 , an MV prediction module 675 , and a parser 690 . The motion compensation module 630 is part of the inter prediction module 640 .

일부 실시예에서, 모듈(610-690)은 컴퓨팅 디바이스의 하나 이상의 처리 유닛(예컨대, 프로세서)에 의해 실행되고 있는 소프트웨어 명령어의 모듈이다. 일부 실시예에서, 모듈(610-690)은 전자 장치의 하나 이상의 IC에 의해 구현되는 하드웨어 회로의 모듈이다. 모듈(610-690)은 별도의 모듈로 설명되어 있지만 일부 모듈은 단일 모듈로 결합될 수 있다.In some embodiments, modules 610 - 690 are modules of software instructions being executed by one or more processing units (eg, processors) of a computing device. In some embodiments, modules 610 - 690 are modules of hardware circuitry implemented by one or more ICs of an electronic device. Although modules 610-690 are described as separate modules, some modules may be combined into a single module.

파서(690)(또는 엔트로피 디코더)는 비트 스트림(695)을 수신하고 비디오 코딩 또는 이미지 코딩 표준에서 정의된 신택스에 따라 초기 파싱을 수행한다. 파싱된 신택스 요소는 다양한 헤더 요소, 플래그뿐만 아니라 양자화된 데이터(또는 양자화된 계수)(612)를 포함한다. 파서(690)는 예를 들어, 상황 적응 이진 산술 코딩(CABAC) 또는 허프만 인코딩과 같은 엔트로피 코딩 기술을 사용하여 다양한 신택스 요소를 파싱한다. Parser 690 (or entropy decoder) receives bit stream 695 and performs initial parsing according to syntax defined in a video coding or image coding standard. The parsed syntax elements include various header elements, flags, as well as quantized data (or quantized coefficients) 612 . Parser 690 parses the various syntax elements using entropy coding techniques such as, for example, context adaptive binary arithmetic coding (CABAC) or Huffman encoding.

역 양자화 모듈(611)은 양자화된 데이터(또는 양자화된 계수)(612)를 역양자화하여 변환 계수를 얻고, 역변환 모듈(610)은 변환 계수(616)에 역변환을 수행하여 재구성된 잔차 신호(619)를 생성한다. 재구성된 잔차 신호(619)는 디코딩된 픽셀 데이터(617)를 생성하기 위해 인트라-예측 모듈(625) 또는 모션 보상 모듈(630)로부터의 예측된 픽셀 데이터(613)와 함께 추가된다. 디코딩된 픽셀 데이터는 인루프 필터(645)에 의해 필터링되고 디코딩된 화상 버퍼(650)에 저장된다. 일부 실시예에서, 디코딩된 화상 버퍼(650)는 비디오 디코더(600) 외부의 저장소이다. 일부 실시예에서, 디코딩된 화상 버퍼(650)는 비디오 디코더(600) 내부의 저장소이다.The inverse quantization module 611 inversely quantizes the quantized data (or quantized coefficient) 612 to obtain a transform coefficient, and the inverse transform module 610 performs an inverse transform on the transform coefficient 616 to perform an inverse transformation on the reconstructed residual signal 619 . ) is created. Reconstructed residual signal 619 is added along with predicted pixel data 613 from intra-prediction module 625 or motion compensation module 630 to generate decoded pixel data 617 . The decoded pixel data is filtered by the in-loop filter 645 and stored in the decoded picture buffer 650 . In some embodiments, decoded picture buffer 650 is storage external to video decoder 600 . In some embodiments, decoded picture buffer 650 is storage internal to video decoder 600 .

인트라 예측 모듈(625)은 비트 스트림(695)으로부터 인트라 예측 데이터를 수신하고, 이에 따라 디코딩된 화상 버퍼(650)에 저장된 디코딩된 픽셀 데이터(617)로부터 예측된 픽셀 데이터(613)를 생성한다. 일부 실시예에서, 디코딩된 픽셀 데이터(617)는 인트라 화상 예측 및 공간적 MV 예측을 위해 라인 버퍼(도시되지 않음)에 또한 저장된다.The intra prediction module 625 receives the intra prediction data from the bit stream 695 , and accordingly generates predicted pixel data 613 from the decoded pixel data 617 stored in the decoded picture buffer 650 . In some embodiments, decoded pixel data 617 is also stored in a line buffer (not shown) for intra picture prediction and spatial MV prediction.

일부 실시예에서, 디코딩된 화상 버퍼(650)의 콘텐츠는 디스플레이를 위해 사용된다. 디스플레이 디바이스(655)는 디스플레이를 위해 디코딩된 화상 버퍼(650)의 콘텐츠를 직접 검색(retrieve)하거나, 디코딩된 화상 버퍼의 콘텐츠를 디스플레이 버퍼로 검색한다. 일부 실시예에서, 디스플레이 디바이스는 픽셀 전송(pixel transport)을 통해 디코딩된 화상 버퍼(650)로부터 픽셀 값을 수신한다.In some embodiments, the contents of decoded picture buffer 650 are used for display. The display device 655 directly retrieves the contents of the decoded picture buffer 650 for display, or retrieves the contents of the decoded picture buffer into the display buffer. In some embodiments, the display device receives pixel values from decoded picture buffer 650 via pixel transport.

모션 보상 모듈(630)은 모션 보상 MV(MC MV)에 따라 디코딩된 화상 버퍼(650)에 저장된 디코딩된 픽셀 데이터(617)로부터 예측된 픽셀 데이터(613)를 생성한다. 이들 모션 보상 MV는 비트 스트림(695)으로부터 수신된 잔차 모션 데이터를 MV 예측 모듈(675)로부터 수신된 예측된 MV와 더하여 디코딩된다.The motion compensation module 630 generates predicted pixel data 613 from the decoded pixel data 617 stored in the decoded picture buffer 650 according to the motion compensation MV (MC MV). These motion compensated MVs are decoded by adding the residual motion data received from the bit stream 695 with the predicted MVs received from the MV prediction module 675 .

MV 예측 모듈(675)은 이전 비디오 프레임을 디코딩하기 위해 생성된 참조 MV, 예를 들어, 모션 보상을 수행하기 위해 사용된 모션 보상 MV에 기초해 예측된 MV를 생성한다. MV 예측 모듈(675)은 MV 버퍼(665)로부터 이전 비디오 프레임의 참조 MV를 검색한다. 비디오 디코더(600)는 현재 비디오 프레임을 디코딩하기 위해 생성된 모션 보상 MV를 예측된 MV를 생성하기 위한 참조 MV로서 MV 버퍼(665)에 저장한다.The MV prediction module 675 generates a predicted MV based on a reference MV generated to decode a previous video frame, eg, a motion compensation MV used to perform motion compensation. The MV prediction module 675 retrieves the reference MV of the previous video frame from the MV buffer 665 . The video decoder 600 stores the motion compensation MV generated for decoding the current video frame in the MV buffer 665 as a reference MV for generating the predicted MV.

인루프 필터(645)는 특히 픽셀 블록의 경계에서 코딩의 아티팩트를 감소시키기 위해 디코딩된 픽셀 데이터(617)에 대해 필터링 또는 평활화 동작을 수행한다. 일부 실시예에서, 수행된 필터링 동작은 샘플 적응 오프셋(sample adaptive; SAO)을 포함한다. 일부 실시예에서, 필터링 동작은 적응 루프 필터(adaptive loop filter; ALF)를 포함한다.The in-loop filter 645 performs a filtering or smoothing operation on the decoded pixel data 617 to reduce coding artifacts, particularly at the boundaries of pixel blocks. In some embodiments, the performed filtering operation includes a sample adaptive offset (SAO). In some embodiments, the filtering operation includes an adaptive loop filter (ALF).

도 7은 서브화상에 대한 시그널링을 구현하는 비디오 디코더(600)의 부분을 개념적으로 도시한다. 도시된 바와 같이, 엔트로피 디코더(690)는 비디오 디코더(600)의 데이터 경로에 양자화된 계수(612)를 제공하고, 비디오 디코더는 결국 상이한 서브화상들에 대해 디스플레이 디바이스(655)에 디스플레이될 픽셀 데이터를 생성한다. 디스플레이 디바이스는 현재 코딩된 화상(720)의 시퀀스에 존재할 서브화상에 대한 서브화상 파라미터(710)에 따라 수신된 픽셀 데이터를 디스플레이할 수 있다. 파라미터(710)는 또한 현재 코딩된 시퀀스에 존재할 서브화상의 수를 나타낼 수 있다. 이러한 파라미터는 또한 각 서브화상의 위치와 기하학적 구조(크기, 높이, 폭)를 나타낼 수 있다. 엔트로피 디코더(690)는 비트스트림(695)으로부터 디코딩된 신택스 요소에 기초하여 서브화상 파라미터를 제공한다.7 conceptually illustrates a portion of a video decoder 600 that implements signaling for subpictures. As shown, entropy decoder 690 provides quantized coefficients 612 to the data path of video decoder 600 , which in turn provides pixel data to be displayed on display device 655 for different subpictures. to create The display device may display the received pixel data according to the sub-picture parameter 710 for a sub-picture to be present in the sequence of the currently coded picture 720 . The parameter 710 may also indicate the number of subpictures that will be present in the current coded sequence. These parameters may also indicate the position and geometry (size, height, width) of each sub-picture. Entropy decoder 690 provides sub-picture parameters based on syntax elements decoded from bitstream 695 .

예시된 바와 같이, 엔트로피 디코더(파서)(690)는 비트스트림(695)으로부터 서브화상에 대한 사양으로서 역할을 하는 신택스 요소를 수신한다. 이러한 신택스 요소는 서브화상의 식별자, 서브화상의 수뿐만 아니라, CTB/CTU 기반 서브화상 그리드의 관점에서 명시된 서브화상 위치 및 기하학적 구조를 포함할 수 있다. 이들 신택스 요소는 현재 코딩된 비디오 시퀀스(720)의 SPS, 비디오 시퀀스의 개별 화상의 PPS, 시퀀스의 화상 내의 개별 슬라이스의 슬라이스 헤더, 및/또는 전체 비디오의 VPS에 저장될 수 있다. 이러한 신택스 요소의 예는 위의 표 1a 내지 1D 및 2 내지 6을 참조하여 설명된다.As illustrated, the entropy decoder (parser) 690 receives from the bitstream 695 a syntax element that serves as a specification for the subpicture. These syntax elements may include identifiers of subpictures, number of subpictures, as well as subpicture positions and geometry specified in terms of a CTB/CTU based subpicture grid. These syntax elements may be stored in the SPS of the currently coded video sequence 720 , the PPS of individual pictures of the video sequence, the slice header of individual slices within pictures of the sequence, and/or the VPS of the entire video. Examples of such syntax elements are described with reference to Tables 1a to 1D and 2 to 6 above.

도 8은 비디오 디코더에서 서브화상 사양을 처리하기 위한 프로세스(800)를 개념적으로 도시한다. 일부 실시예에서, 디코더(600)를 구현하는 컴퓨팅 디바이스의 하나 이상의 처리 유닛(예컨대, 프로세서)은 컴퓨터 판독 가능 매체에 저장된 명령어를 실행함으로써 프로세스(800)를 수행한다. 일부 실시예에서, 디코더(600)를 구현하는 전자 장치는 프로세스(800)를 수행한다.8 conceptually illustrates a process 800 for processing a subpicture specification in a video decoder. In some embodiments, one or more processing units (eg, processors) of a computing device implementing decoder 600 perform process 800 by executing instructions stored on a computer-readable medium. In some embodiments, an electronic device implementing decoder 600 performs process 800 .

디코더는 (블록(810)에서) 비디오 화상의 시퀀스로서 디코딩될 데이터를 비트스트림으로부터 수신한다. 디코더는 (블록(820)에서) 비디오 화상의 시퀀스에서 하나 이상의 서브화상에 대한 서브화상 사양을 비트스트림으로부터 수신한다. 일부 실시예에서, 비디오 화상의 시퀀스의 SPS 내의 신택스 요소는, 하나 이상의 서브화상이 비디오 화상의 시퀀스에 존재한다는 것을 표시한다. SPS는 또한 비디오 화상 시퀀스의 서브화상의 수와 각 서브화상에 대한 식별자를 명시하는 신택스 요소를 포함할 수 있다. 서브화상의 식별자는 비디오 화상의 시퀀스에서 비디오 화상의 슬라이스 헤더 및/또는 PPS로 시그널링될 수도 있다. 일부 실시예에서, 비디오 화상의 시퀀스에서 비디오 화상의 PPS에 있는 신택스 요소는 비디오 화상의 모든 슬라이스가 직사각형임을 표시한다.The decoder receives (at block 810 ) data from the bitstream to be decoded as a sequence of video pictures. The decoder (at block 820 ) receives, from the bitstream, subpicture specifications for one or more subpictures in the sequence of video pictures. In some embodiments, a syntax element within an SPS of a sequence of video pictures indicates that one or more subpictures are present in the sequence of video pictures. The SPS may also include a syntax element that specifies the number of subpictures and an identifier for each subpicture in the sequence of video pictures. The identifier of a subpicture may be signaled in the sequence of video pictures in a slice header and/or PPS of a video picture. In some embodiments, a syntax element in a PPS of a video picture in a sequence of video pictures indicates that all slices of the video picture are rectangular.

디코더는 (블록(830)에서) 서브화상에 대한 CTU를 식별하는 인덱스를 제공함으로써 각각의 서브화상에 대한 위치 및 크기를 식별한다. 일부 실시예에서, 식별된 CTU는 서브화상의 코너(예컨대, 상단 좌측 또는 하단 우측)에 있다. 일부 실시예에서, 인덱스는 서브화상 그리드에 할당되고, 상이한 서브화상 그리드들에는 상이한 인덱스들이 할당된다. 일부 실시예에서, 인덱스는 서브화상 그리드의 경계가 CTU의 경계를 따라 정의되도록 하나의 CTU로 정의되거나 하나의 CTU에 대응하는 서브화상 그리드를 식별한다. 일부 실시예에서, 서브화상 위치의 인덱스는 비디오 화상 시퀀스의 SPS에서 시그널링된다. The decoder identifies (at block 830 ) the location and size for each subpicture by providing an index that identifies the CTU for the subpicture. In some embodiments, the identified CTU is in a corner (eg, top left or bottom right) of the subpicture. In some embodiments, an index is assigned to a subpicture grid, and different subpicture grids are assigned different indices. In some embodiments, the index identifies a subpicture grid defined as or corresponding to one CTU such that the boundary of the subpicture grid is defined along the boundary of the CTU. In some embodiments, the index of the sub-picture position is signaled in the SPS of the video picture sequence.

디코더는 (블록(840)에서) 서브화상 사양에 따라 비디오 화상의 시퀀스에 대한 각 서브화상을 재구성한다.The decoder reconstructs (at block 840 ) each subpicture for the sequence of video pictures according to the subpicture specification.

IV.IV. 예시적인 전자 시스템Exemplary Electronic System

전술한 피처 및 응용 중 다수는 컴퓨터 판독 가능 저장 매체(컴퓨터 판독 가능 매체라고도 함)에 기록된 명령어 세트로 명시되는 소프트웨어 프로세스로서 구현된다. 이들 명령어가 하나 이상의 계산 또는 처리 유닛(들)(예컨대, 하나 이상의 프로세서, 프로세서 코어 또는 기타 처리 유닛)에 의해 실행될 때, 이들 명령어는 처리 유닛(들)이 명령어에 표시된 동작을 수행하게 한다. 컴퓨터 판독 가능한 매체의 예로는 CD-ROM, 플래시 드라이브, 랜덤 액세스 메모리(random-access memory; RAM) 칩, 하드 드라이브, 소거 가능 프로그램 가능 판독 전용 메모리(erasable programmable read only memories; EPROM), 전기적으로 소거 가능 프로그램 가능 판독 전용 메모리(electrically erasable programmable read-only memory; EEPROM) 등을 포함하지만, 이들에 제한되지는 않는다. 컴퓨터 판독 가능 매체는 무선 또는 유선 접속을 통과하는 반송파 및 전자 신호를 포함하지 않는다.Many of the features and applications described above are implemented as software processes specified in sets of instructions recorded on a computer-readable storage medium (also referred to as a computer-readable medium). When these instructions are executed by one or more computational or processing unit(s) (eg, one or more processors, processor cores, or other processing units), these instructions cause the processing unit(s) to perform the operations indicated in the instructions. Examples of computer-readable media include CD-ROMs, flash drives, random-access memory (RAM) chips, hard drives, erasable programmable read only memories (EPROM), electrically erasable including, but not limited to, electrically erasable programmable read-only memory (EEPROM) and the like. Computer readable media does not include carrier waves and electronic signals passing through wireless or wired connections.

본 명세서에서, "소프트웨어"라는 용어는 프로세서에 의한 처리를 위해 메모리로 판독될 수 있는 자기 저장소에 저장된 판독 전용 메모리 또는 애플리케이션에 상주하는 펌웨어를 포함하는 것을 의미한다. 또한, 일부 실시예에서, 다수의 소프트웨어 발명은 별개의 소프트웨어 발명을 유지하면서 더 큰 프로그램의 서브 부분(sub-parts)으로서 구현될 수 있다. 일부 실시예에서, 다수의 소프트웨어 발명은 또한 별도의 프로그램으로서 구현될 수 있다. 마지막으로, 여기에 설명된 소프트웨어 발명을 함께 구현하는 별도의 프로그램의 임의의 조합은 본 개시의 범위 내에 있다. 일부 실시예에서, 소프트웨어 프로그램은 하나 이상의 전자 시스템에서 동작하도록 설치될 때 소프트웨어 프로그램의 동작을 실행하고 수행하는 하나 이상의 특정 기계 구현을 정의한다.As used herein, the term “software” is meant to include firmware resident in read-only memory or applications stored in magnetic storage that can be read into memory for processing by a processor. Also, in some embodiments, multiple software inventions may be implemented as sub-parts of a larger program while maintaining separate software inventions. In some embodiments, multiple software inventions may also be implemented as separate programs. Finally, any combination of separate programs that together implement the software invention described herein is within the scope of the present disclosure. In some embodiments, the software program defines one or more specific machine implementations that, when installed to operate on one or more electronic systems, execute and perform the operations of the software program.

도 9는 본 개시의 일부 실시예가 구현되는 전자 시스템(900)을 개념적으로 도시한다. 전자 시스템(900)은 컴퓨터(예컨대, 데스크톱 컴퓨터, 개인용 컴퓨터, 태블릿 컴퓨터 등), 전화, PDA 또는 임의의 다른 종류의 전자 디바이스일 수 있다. 이러한 전자 시스템은 다양한 유형의 컴퓨터 판독 가능 매체 및 다양한 다른 유형의 컴퓨터 판독 가능 매체를 위한 인터페이스를 포함한다. 전자 시스템(900)은 버스(905), 처리 유닛(들) 910, 그래픽 처리 유닛(graphics-processing unit; GPU)(915), 시스템 메모리(920), 네트워크(925), 판독 전용 메모리(930), 영구 저장 디바이스(935), 입력 디바이스(940), 및 출력 디바이스(945)를 포함한다.9 conceptually illustrates an electronic system 900 in which some embodiments of the present disclosure are implemented. Electronic system 900 may be a computer (eg, desktop computer, personal computer, tablet computer, etc.), telephone, PDA, or any other type of electronic device. Such electronic systems include various types of computer readable media and interfaces for various other types of computer readable media. Electronic system 900 includes bus 905 , processing unit(s) 910 , graphics-processing unit (GPU) 915 , system memory 920 , network 925 , read-only memory 930 . , a persistent storage device 935 , an input device 940 , and an output device 945 .

버스(905)는 전자 시스템(900)의 수많은 내부 디바이스를 통신적으로 접속하는 모든 시스템, 주변 장치 및 칩셋 버스를 집합적으로 나타낸다. 예를 들어, 버스(905)는 처리 유닛(들)(910)을 GPU(915), 판독 전용 메모리(930), 시스템 메모리(920) 및 영구 저장 디바이스(935)와 통신적으로 접속한다.Bus 905 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of electronic system 900 . For example, bus 905 communicatively connects processing unit(s) 910 with GPU 915 , read-only memory 930 , system memory 920 , and persistent storage device 935 .

이러한 다양한 메모리 유닛으로부터, 처리 유닛(들)(910)은 본 개시의 프로세스를 실행하기 위해 실행할 명령어 및 처리할 데이터를 검색한다. 처리 유닛(들)은 상이한 실시예들에서 단일 프로세서 또는 다중 코어 프로세서 일 수 있다. 일부 명령어는 GPU(915)로 전달되고 GPU(915)에 의해 실행된다. GPU(915)는 다양한 계산을 오프로드(offload)하거나 처리 유닛(들)(910)에 의해 제공되는 이미지 처리를 보완할 수 있다. From these various memory units, the processing unit(s) 910 retrieves instructions to execute and data to process in order to execute the process of the present disclosure. The processing unit(s) may be a single processor or a multi-core processor in different embodiments. Some instructions are passed to GPU 915 and executed by GPU 915 . GPU 915 may offload various computations or supplement image processing provided by processing unit(s) 910 .

판독 전용 메모리(ROM)(930)는 처리 유닛(들)(910) 및 전자 시스템의 다른 모듈에 의해 사용되는 정적 데이터 및 명령어를 저장한다. 반면에, 영구 저장 디바이스(935)는 판독 및 기록 메모리 디바이스이다. 이 디바이스는 전자 시스템(900)이 꺼져있을 때에도 명령어 및 데이터를 저장하는 비휘발성 메모리 유닛이다. 본 개시의 일부 실시예는 영구 저장 디바이스(935)로서 대용량 저장 디바이스(예컨대, 자기 또는 광 디스크 및 그에 대응하는 디스크 드라이브)를 사용한다. Read-only memory (ROM) 930 stores static data and instructions used by processing unit(s) 910 and other modules of the electronic system. On the other hand, persistent storage device 935 is a read and write memory device. The device is a non-volatile memory unit that stores instructions and data even when the electronic system 900 is off. Some embodiments of the present disclosure use a mass storage device (eg, a magnetic or optical disk and a corresponding disk drive) as the persistent storage device 935 .

다른 실시예는 영구 저장 디바이스로서 착탈식 저장 디바이스(예컨대, 플로피 디스크, 플래시 메모리 디바이스 등 및 그에 대응하는 디스크 드라이브)를 사용한다. 영구 저장 디바이스(935)와 같이, 시스템 메모리(920)는 판독 및 기록 메모리 디바이스이다. 그러나 저장 디바이스(935)와 달리, 시스템 메모리(920)는 예를 들어, 랜덤 액세스 메모리와 같은 휘발성 판독 및 기록 메모리이다. 시스템 메모리(920)는 프로세서가 런타임에 사용하는 명령어 및 데이터의 일부를 저장한다. 일부 실시예에서, 본 개시에 따른 프로세스는 시스템 메모리(920), 영구 저장 디바이스(935) 및/또는 판독 전용 메모리(930)에 저장된다. 예를 들어, 다양한 메모리 유닛은 일부 실시예에 따라 멀티미디어 클립(multimedia clips)을 처리하기 위한 명령어를 포함한다. 이러한 다양한 메모리 유닛으로부터, 처리 유닛(들)(910)은 일부 실시예의 프로세스를 실행하기 위해 실행할 명령어 및 처리할 데이터를 검색한다.Another embodiment uses a removable storage device (eg, a floppy disk, a flash memory device, etc. and a corresponding disk drive) as the persistent storage device. Like persistent storage device 935 , system memory 920 is a read and write memory device. However, unlike storage device 935 , system memory 920 is a volatile read and write memory, such as, for example, random access memory. The system memory 920 stores some of the instructions and data used by the processor at runtime. In some embodiments, processes according to the present disclosure are stored in system memory 920 , persistent storage device 935 , and/or read-only memory 930 . For example, various memory units contain instructions for processing multimedia clips in accordance with some embodiments. From these various memory units, processing unit(s) 910 retrieves instructions to execute and data to process in order to execute the processes of some embodiments.

버스(905)는 또한 입력 및 출력 디바이스(940 및 945)에 접속된다. 입력 디바이스(940)는 사용자가 전자 시스템에 정보를 전달하고 명령을 선택할 수 있게 한다. 입력 디바이스(940)는 영숫자 키보드 및 포인팅 디바이스("커서 제어 디바이스"라고도 함), 카메라(예컨대, 웹캠), 마이크, 또는 음성 명령을 수신하기 위한 유사한 디바이스 등을 포함한다. 출력 디바이스(945)는 전자 시스템에 의해 생성된 이미지를 디스플레이하거나 그렇지 않으면 데이터를 출력한다. 출력 디바이스(945)는 프린터, 및 예를 들어, 음극선관(cathode ray tube; CRT) 또는 액정 디스플레이(liquid crystal display; LCD)와 같은 디스플레이 디바이스뿐만 아니라 스피커 또는 유사한 오디오 출력 디바이스를 포함한다. 일부 실시예는 예를 들어, 입력 디바이스 및 출력 디바이스 둘 다로 기능하는 터치 스크린과 같은 디바이스를 포함한다.Bus 905 is also connected to input and output devices 940 and 945 . Input device 940 allows a user to communicate information and select commands to the electronic system. Input device 940 includes an alphanumeric keyboard and pointing device (also referred to as a “cursor control device”), a camera (eg, a webcam), a microphone, or similar device for receiving voice commands, and the like. The output device 945 displays or otherwise outputs data generated by the electronic system. Output devices 945 include printers and display devices such as, for example, cathode ray tubes (CRTs) or liquid crystal displays (LCDs), as well as speakers or similar audio output devices. Some embodiments include, for example, a device such as a touch screen that functions as both an input device and an output device.

마지막으로, 도 9에 도시된 바와 같이, 버스(905)는 또한 네트워크 어댑터(미도시됨)를 통해 전자 시스템(900)을 네트워크(925)에 결합한다. 이러한 방식으로, 컴퓨터는 컴퓨터들의 네트워크(예컨대, 근거리 통신망(local area network; "LAN"), 광역 통신망(wide area network; "WAN"), 또는 인트라넷, 또는 예를 들어, 인터넷과 같은 네트워크들의 네트워크)의 일부가 될 수 있다. 전자 시스템(900)의 임의의 또는 모든 컴포넌트는 본 개시와 함께 사용될 수 있다.Finally, as shown in FIG. 9 , bus 905 also couples electronic system 900 to network 925 via a network adapter (not shown). In this way, a computer is a network of computers (eg, a local area network (“LAN”), a wide area network (“WAN”), or an intranet, or a network of networks, such as, for example, the Internet. ) can be part of Any or all components of electronic system 900 may be used in conjunction with the present disclosure.

일부 실시예는 기계 판독 가능 또는 컴퓨터 판독 가능 매체(대안적으로 컴퓨터 판독 가능 저장 매체, 기계 판독 가능 매체, 또는 기계 판독 가능 저장 매체라고 지칭됨)에 컴퓨터 프로그램 명령어를 저장하는 예를 들어, 마이크로프로세서, 저장소 및 메모리와 같은 전자 컴포넌트들 포함한다. 이러한 컴퓨터 판독 가능한 매체의 일부 예는, RAM, ROM, 판독 전용 컴팩트 디스크(read-only compact disc; CD-ROM), 기록 가능한 컴팩트 디스크(CD-R), 재기록 가능한 컴팩트 디스크(CD-RW), 판독 전용 디지털 다목적 디스크(예컨대, DVD-ROM, 이중 계층 DVD-ROM), 다양한 기록 가능/재기록 가능한 DVD(예컨대, DVD-RAM, DVD-RW, DVD+RW 등), 플래시 메모리(예컨대, SD 카드, 미니 SD 카드, 마이크로 SD 카드 등), 자기 및/또는 솔리드 스테이트 하드 드라이브, 판독 전용 및 기록 가능한 블루레이® 디스크, 초밀도 광학 디스크, 임의의 다른 광학 또는 자기 매체, 및 플로피 디스크를 포함한다. 컴퓨터 판독 가능 매체는 적어도 하나의 처리 유닛에 의해 실행 가능한 컴퓨터 프로그램을 저장할 수 있으며 다양한 동작을 수행하기 위한 명령어 세트를 포함한다. 컴퓨터 프로그램 또는 컴퓨터 코드의 예는, 예를 들어, 컴파일러에 의해 생성되는 것과 같은 기계어 코드와, 컴퓨터, 전자 컴포넌트, 또는 인터프리터를 사용하는 마이크로프로세서에 의해 실행되는 상위 레벨 코드를 포함하는 파일을 포함한다.Some embodiments provide, for example, a microprocessor storing computer program instructions in a machine-readable or computer-readable medium (alternatively referred to as a computer-readable storage medium, machine-readable medium, or machine-readable storage medium). , electronic components such as storage and memory. Some examples of such computer readable media are RAM, ROM, read-only compact disc (CD-ROM), recordable compact disc (CD-R), rewritable compact disc (CD-RW), Read-only digital versatile discs (eg DVD-ROM, dual-layer DVD-ROM), various writable/rewritable DVDs (eg DVD-RAM, DVD-RW, DVD+RW, etc.), flash memory (eg SD card) , mini SD card, micro SD card, etc.), magnetic and/or solid state hard drives, read-only and writable Blu-ray® disks, ultra-dense optical disks, any other optical or magnetic media, and floppy disks. The computer readable medium may store a computer program executable by at least one processing unit and includes a set of instructions for performing various operations. Examples of computer programs or computer code include, for example, files containing machine language code, such as generated by a compiler, and high-level code executed by a computer, electronic component, or microprocessor using an interpreter. .

위의 논의는 주로 소프트웨어를 실행하는 마이크로프로세서 또는 멀티 코어 프로세서를 언급하지만, 위에서 설명한 피처 및 응용 중 상당수는 예를 들어, ASIC(application specific integrated circuit) 또는 FPGA(field programmable gate array)와 같은 하나 이상의 집적 회로에 의해 수행된다. 일부 실시예에서, 이러한 집적 회로는 회로 자체에 저장된 명령어를 실행한다. 또한, 일부 실시예는 프로그램 가능 논리 디바이스(programmable logic device; PLD), ROM 또는 RAM 디바이스에 저장된 소프트웨어를 실행한다.While the above discussion primarily refers to microprocessors or multi-core processors executing software, many of the features and applications described above may include one or more performed by integrated circuits. In some embodiments, such integrated circuits execute instructions stored in the circuit itself. Additionally, some embodiments execute software stored in a programmable logic device (PLD), ROM, or RAM device.

본 명세서 및 본 출원의 임의의 청구항들에 사용된 용어 "컴퓨터", "서버", "프로세서" 및 "메모리"는 모두 전자 또는 기타 기술 디바이스를 지칭한다. 이들 용어는 사람 또는 사람 그룹을 제외한다. 명세서를 위해, 디스플레이 또는 디스플레이하는이라는 용어들은 전자 디바이스 상에 디스플레이하는 것을 의미한다. 본 명세서 및 본 출원의 임의의 청구항에서 사용되는 "컴퓨터 판독 가능 매체", "컴퓨터 판독 가능 매체들" 및 "기계 판독 가능 매체"라는 용어는 전적으로 컴퓨터에 의해 판독 가능한 형태로 정보를 저장하는 유형의 물리적 객체로 제한된다. 이들 용어는 임의의 무선 신호, 유선 다운로드 신호 및 임의의 다른 일시적인 신호(ephemeral signals)를 제외한다.As used herein and in any of the claims herein, the terms “computer,” “server,” “processor,” and “memory,” all refer to an electronic or other technological device. These terms exclude people or groups of people. For the purpose of the specification, the terms displaying or displaying mean displaying on an electronic device. The terms "computer readable medium," "computer readable media," and "machine readable medium," as used herein and in any claims of this application, refer exclusively to tangible storage of information in a form readable by a computer. limited to physical objects. These terms exclude any wireless signals, wired download signals, and any other ephemeral signals.

본 개시가 다수의 특정 세부 사항을 참조하여 설명되었지만, 당업자는 본 개시가 본 개시의 사상을 벗어나지 않고 다른 특정 형태로 구현될 수 있음을 인식할 것이다. 또한, 다수의 도면(도 5 및 도 8을 포함함)은 프로세스를 개념적으로 도시한다. 이러한 프로세스의 특정 동작은 도시되고 설명된 정확한 순서로 수행되지 않을 수 있다. 특정 동작은 하나의 연속적인 일련의 동작으로 수행되지 않을 수 있고, 상이한 특정 동작들은 상이한 실시예들에서 수행될 수 있다. 또한, 프로세스는 여러 서브-프로세스를 사용하거나 더 큰 매크로 프로세스(macro process)의 일부로서 구현될 수 있다. 따라서, 당업자는 본 개시가 전술 한 예시적인 세부 사항에 의해 제한되는 것이 아니라 첨부된 청구항들에 의해 정의되어야 한다는 것을 이해할 것이다.Although the present disclosure has been described with reference to numerous specific details, those skilled in the art will recognize that the present disclosure may be embodied in other specific forms without departing from the spirit of the present disclosure. Also, a number of drawings (including FIGS. 5 and 8 ) conceptually illustrate the process. Certain acts in these processes may not be performed in the exact order shown and described. A specific operation may not be performed as one continuous series of operations, and different specific operations may be performed in different embodiments. Also, a process may be implemented using multiple sub-processes or as part of a larger macro process. Accordingly, those skilled in the art will understand that the present disclosure should not be limited by the foregoing exemplary details, but should be defined by the appended claims.

추가 참고 사항Additional notes

본 명세서에 설명된 청구 대상은 때때로 상이한 다른 컴포넌트 내에 포함되거나 다른 컴포넌트와 접속된 상이한 컴포넌트를 예시한다. 그러한 묘사된 아키텍처는 단지 예일 뿐이며 실제로 동일한 기능을 달성하는 많은 다른 아키텍처가 구현될 수 있다는 것을 이해해야 한다. 개념적 의미에서, 동일한 기능을 달성하기 위한 컴포넌트의 임의의 배열은 원하는 기능이 달성되도록 효과적으로 "연관"된다. 따라서, 특정 기능을 달성하기 위해 여기에서 결합된 임의의 두 컴포넌트는 아키텍처 또는 중간 컴포넌트에 관계없이 원하는 기능이 달성되도록 서로 "연관된" 것으로 보여질 수 있다. 마찬가지로, 이와 같이 연관된 임의의 두 컴포넌트는 또한 원하는 기능을 달성하기 위해 서로 "작동 가능하게 접속된" 또는 "동작 가능하게 결합된" 것으로 볼 수 있으며, 그렇게 연관될 수 있는 임의의 두 컴포넌트는 원하는 기능을 달성하기 위해 서로 "동작 가능하게 결합 가능한" 것으로 볼 수도 있다. 동작 가능하게 결합 가능한 특정 예는 물리적으로 결합 가능하고 그리고/또는 물리적으로 상호 작용하는 컴포넌트 및/또는 무선으로 상호 작용할 수 있는 그리고/또는 무선으로 상호 작용하는 컴포넌트 및/또는 논리적으로 상호 작용하는 그리고/또는 논리적으로 상호 작용할 수 있는 컴포넌트를 포함하지만 이에 제한되지는 않는다.The subject matter described herein sometimes exemplifies different components included in or connected to different other components. It should be understood that such depicted architectures are merely examples and in practice many other architectures may be implemented that achieve the same functionality. In a conceptual sense, any arrangement of components to achieve the same functionality is effectively "associated" such that the desired functionality is achieved. Accordingly, any two components herein combined to achieve a particular functionality may be viewed as “associated with” each other such that the desired functionality is achieved, regardless of architecture or intermediate component. Likewise, any two components so associated can also be viewed as being “operably connected” or “operably coupled” to each other to achieve a desired function, and any two components that may be so associated with the desired function may be viewed as “operably combinable” with each other to achieve Specific examples of operatively combinable are physically combinable and/or physically interacting components and/or wirelessly interactable and/or wirelessly interacting components and/or logically interacting and/or or components that can logically interact with each other.

또한, 본 명세서에 기재된 실질적으로 임의의 복수 및/또는 단수 용어의 사용에 대해, 상황 및/또는 응용에 적절한 대로, 복수에서 단수로 그리고/또는 단수에서 복수로 번역할 수 있다. 다양한 단수/복수 순열들(permutations)이 명료성을 위해 본 명세서에서 명확히 기재될 수 있다.Also, for use of substantially any plural and/or singular term described herein, one may translate from plural to singular and/or from singular to plural, as appropriate to the context and/or application. Various singular/plural permutations may be expressly set forth herein for clarity.

또한, 일반적으로, 본 명세서에서 그리고 특히 첨부된 청구항들(예컨대, 첨부된 청구항들의 본체부들)에서 사용되는 용어는 일반적으로, "열린(open)" 용어들이라고 의도된다는 것, 예를 들어, 용어 "포함하는"은 "포함하지만 이러한 포함에만 제한되지는 않는" 것으로 해석되어야 하고, 용어 "갖는"은 "적어도 갖는"으로 해석되어야 하고, 용어 "포함한다"는 "포함하지만 이러한 포함에만 제한되지는 않는다"로 해석되어야 한다는 것 등을 당업자가 이해할 것이다. 특정 개수의 도입되는 청구항 기재가 의도되면, 이러한 의도는 청구항에서 명시적으로 기재될 것이고, 이러한 기재가 없을 시에는 이러한 의도가 존재하지 않는다는 것을 당업자가 또한 이해할 것이다. 예를 들어, 이해를 돕기 위해, 하기의 첨부된 청구항들은 청구항 기재를 도입하기 위해 도입 문구들 "적어도 하나"와 "하나 이상"의 사용을 포함할 수 있다. 하지만, 심지어 동일 청구항이 도입 문구들 "하나 이상" 또는 "적어도 하나"와 "단수형의 부정 관사들을 포함할 때조차, 이러한 문구들의 사용은, 부정관사(단수형 관사)에 의한 청구항 기재의 도입이 이러한 도입된 청구항 기재를 포함하는 임의의 특정 청구항을 단지 하나의 이러한 기재만을 포함하는 구현들에 제한하는 것을 의미하는 것으로 해석되지 말아야 하며, 이러한 것은 청구항 기재를 도입하기 위해 사용되는 정관사의 사용에 대해서도 성립한다. 또한, 비록 특정 개수의 도입된 청구항 기재가 명시적으로 기재될지라도, 당업자는 이러한 기재가 적어도 기재된 개수를 의미하는 것으로 해석되어야 한다는 것, 예를 들어, 다른 수식어가 없이 "2개의 기재들"의 단순한 기재는 적어도 2개의 기재들, 또는 두 개 이상의 기재들을 의미한다는 것을 인정할 것이다. 더 나아가, "A, B, 및 C 등 중 적어도 하나"와 유사한 규정이 사용되는 예시에서, 일반적으로 이러한 구성은, 당업자가 이 규정을 이해할 것으로 의도되는데, 예를 들어, "A, B, 및 C 중 적어도 하나를 갖는 시스템"은 A만, B만, C만, A와 B를 함께, A와 C를 함께, B와 C를 함께, 및/또는 A, B와 C를 함께 등을 갖는 시스템을 포함하지만, 이러한 시스템에만 제한되지는 않는다. 이러한 예시에서, "A, B, 또는 C 등 중 적어도 하나"와 유사한 규정이 사용되는 예시에서, 일반적으로 이러한 구성은, 당업자가 이 규정을 이해할 것으로 의도되는데, 예를 들어, "A, B, 또는 C 중 적어도 하나를 갖는 시스템"은 A만, B만, C만, A와 B를 함께, A와 C를 함께, B와 C를 함께, 및/또는 A, B와 C를 함께 등을 갖는 시스템을 포함하지만, 이러한 시스템에만 제한되지는 않는다. 발명의 상세한 설명, 청구항들, 또는 도면들 중 어디에 있든지 간에, 2개 이상의 대안적 용어들을 제시하는 임의의 택일적 단어 및/또는 어구는 용어들 중 하나, 용어들 중 어느 하나, 또는 용어들 둘 다를 포함하는 가능성을 고려하도록 사실상 이해되어야 함을 당업자가 또한 이해할 것이다. 예를 들어, 어구 "A 또는 B"는 "A" 또는 "B" 또는 "A 및 B"의 가능성을 포함하는 것으로 이해될 것이다.Also, that terminology used in this specification generally and in particular in the appended claims (eg, body parts of the appended claims) is generally intended to be "open" terms, eg, the term "comprising" should be construed as "including, but not limited to," the term "having" should be construed as "having at least It will be understood by those skilled in the art that it should be construed as "not". It will also be understood by those skilled in the art that if a certain number of introductory claim recitations are intended, such intent will be expressly recited in the claims and no such intent would exist in the absence of such recitation. For example, as an aid to understanding, the appended claims below may contain use of the introductory phrases “at least one” and “one or more” to introduce claim recitation. However, even when the same claim contains the introductory phrases "one or more" or "at least one" and "a singular indefinite article, use of these phrases indicates that the introduction of claim recitation by the indefinite article It should not be construed to mean limiting any particular claim, including an introduced claim recitation, to implementations comprising only one such recitation, which holds even for the use of the definite article used to introduce the claim recitation. Furthermore, even if a particular number of introduced claim recitations are explicitly recited, those skilled in the art will recognize that such recitations should be construed to mean at least the recited number, e.g., "two recitations without other modifiers." It will be appreciated that a mere description of "means at least two descriptions, or two or more descriptions. Further, in instances in which a clause similar to "at least one of A, B, and C, etc." is used, it will generally be Configuration is intended for those skilled in the art to understand this convention, for example, "a system having at least one of A, B, and C" means A only, B only, C only, A and B together, A and C including, but not limited to, systems having together, B and C together, and/or A, B and C together, etc. In this example, "at least one of A, B, or C, etc." In instances where conventions similar to " are used, generally such configurations are intended for those skilled in the art to understand these conventions; for example, "a system having at least one of A, B, or C" means that only A, only B , C only, A and B together, A and C together, B and C together, and/or A, B and C together, etc. Wherever in the detailed description, claims, or drawings, any alternative word and/or phrase presenting two or more alternative terms refers to one of the terms, either one of the terms, or both terms. containing It will also be understood by those skilled in the art that it should be understood in fact to be considered possible. For example, the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B”.

전술된 내용으로부터, 본 발명 개시의 다양한 구현들이 예시 목적을 위해 본 명세서에서 설명되었고, 다양한 수정들이 본 발명 개시의 범위 및 정신으로부터 이탈하지 않고 수행될 수 있다는 것이 인식될 것이다. 따라서, 본 명세서에서 개시되는 다양한 구현들은 제한되는 것으로 의도되지 않으며, 참된 범위 및 정신은 하기의 청구항들에 의해 표시된다.From the foregoing, it will be appreciated that various implementations of the present disclosure have been described herein for purposes of illustration, and that various modifications may be made without departing from the scope and spirit of the present disclosure. Accordingly, the various implementations disclosed herein are not intended to be limiting, the true scope and spirit being indicated by the following claims.

Claims (12)

비디오 디코딩 방법에 있어서,
비디오 화상의 시퀀스로서 디코딩될 데이터를 비트스트림으로부터 수신하는 단계;
상기 비디오 화상의 시퀀스에서 하나 이상의 서브화상에 대한 서브화상 사양을 상기 비트스트림으로부터 수신하는 단계 - 상기 서브화상 사양은 개개의 상기 서브화상에 대한 코딩 트리 단위(coding tree unit; CTU)를 식별하는 인덱스를 제공함으로써 상기 하나 이상의 서브화상 중의 각각의 서브화상에 대한 위치 및 크기를 식별함 -; 및
상기 서브화상 사양에 따라 상기 비디오 화상의 시퀀스에 대한 상기 하나 이상의 서브화상 중의 각각의 서브화상을 재구성하는 단계
를 포함하는, 비디오 디코딩 방법.
A video decoding method comprising:
receiving from a bitstream data to be decoded as a sequence of video pictures;
receiving from the bitstream a subpicture specification for one or more subpictures in the sequence of video pictures, wherein the subpicture specification is an index identifying a coding tree unit (CTU) for the respective subpicture. identifying a location and size for each subpicture of the one or more subpictures by providing ; and
reconstructing each subpicture of the one or more subpictures for the sequence of video pictures according to the subpicture specification;
A video decoding method comprising:
제1항에 있어서,
상이한 CTU들은 상이한 인덱스들이 할당된 상이한 서브화상 그리드들에 대응하는 것인, 비디오 디코딩 방법.
According to claim 1,
wherein different CTUs correspond to different subpicture grids assigned different indices.
제2항에 있어서,
상기 서브화상 그리드들의 경계는 CTU의 경계를 사용하여 정의되는 것인, 비디오 디코딩 방법.
3. The method of claim 2,
and a boundary of the subpicture grids is defined using a boundary of a CTU.
제1항에 있어서,
상기 제공된 인덱스에 의해 식별된 상기 CTU는 상기 서브화상의 코너에 있는 것인, 비디오 디코딩 방법.
According to claim 1,
and the CTU identified by the provided index is at a corner of the subpicture.
제1항에 있어서,
상기 인덱스는 상기 비디오 화상의 시퀀스의 시퀀스 파라미터 세트(sequence parameter set; SPS)에 의해 제공되는 것인, 비디오 디코딩 방법.
According to claim 1,
and the index is provided by a sequence parameter set (SPS) of the sequence of video pictures.
제5항에 있어서,
상기 SPS는 상기 비디오 화상의 시퀀스의 서브화상의 수를 명시하는 신택스 요소를 더 포함하는 것인, 비디오 디코딩 방법.
6. The method of claim 5,
and the SPS further comprises a syntax element specifying a number of subpictures of the sequence of video pictures.
제5항에 있어서,
상기 서브화상에 대한 식별자는 상기 SPS에서 시그널링되는 것인, 비디오 디코딩 방법.
6. The method of claim 5,
and the identifier for the sub-picture is signaled in the SPS.
제1항에 있어서,
상기 서브화상에 대한 식별자는 슬라이스의 슬라이스 헤더에서 시그널링되는 것인, 비디오 디코딩 방법.
According to claim 1,
and the identifier for the subpicture is signaled in a slice header of a slice.
제1항에 있어서,
상기 서브화상에 대한 식별자는 상기 비디오 화상의 시퀀스의 비디오 화상의 화상 파라미터 세트(picture parameter set; PPS)에서 시그널링되는 것인, 비디오 디코딩 방법.
According to claim 1,
and the identifier for the sub-picture is signaled in a picture parameter set (PPS) of a video picture of the sequence of video pictures.
제1항에 있어서,
상기 비디오 화상의 시퀀스의 시퀀스 파라미터 세트(sequence parameter set; SPS)의 신택스 요소는, 하나 이상의 서브화상이 상기 비디오 화상의 시퀀스에 존재함을 표시하고, 상기 비디오 화상의 시퀀스에서의 비디오 화상의 화상 파라미터 세트(picture parameter set; PPS)의 신택스 요소는 상기 비디오 화상의 모든 슬라이스가 직사각형임을 표시하는 것인, 비디오 디코딩 방법.
According to claim 1,
A syntax element of a sequence parameter set (SPS) of the sequence of video pictures indicates that one or more subpictures are present in the sequence of video pictures, and a picture parameter of a video picture in the sequence of video pictures. wherein a syntax element of a picture parameter set (PPS) indicates that all slices of the video picture are rectangular.
비디오 인코딩 방법에 있어서,
비트스트림에서 비디오 화상의 시퀀스로서 인코딩될 데이터를 수신하는 단계;
상기 비디오 화상의 시퀀스에서 하나 이상의 서브화상에 대한 서브화상 사양을 상기 비트스트림에서 시그널링하는 단계 - 상기 서브화상 사양은 개개의 상기 서브화상에 대한 코딩 트리 단위(coding tree unit; CTU)를 식별하는 인덱스를 제공함으로써 상기 하나 이상의 서브화상 중의 각각의 서브화상에 대한 위치 및 크기를 식별함 -; 및
상기 서브화상 사양에 따라 상기 비디오 화상의 시퀀스에 대한 상기 하나 이상의 서브화상 중의 각각의 서브화상을 인코딩하는 단계
를 포함하는, 비디오 인코딩 방법.
A video encoding method comprising:
receiving data to be encoded as a sequence of video pictures in a bitstream;
signaling in the bitstream a subpicture specification for one or more subpictures in the sequence of video pictures, wherein the subpicture specification is an index identifying a coding tree unit (CTU) for the respective subpicture. identifying a location and size for each subpicture of the one or more subpictures by providing ; and
encoding each subpicture of the one or more subpictures for the sequence of video pictures according to the subpicture specification;
A video encoding method comprising:
전자 장치에 있어서,
동작들을 수행하도록 구성된 비디오 디코더 회로를 포함하고, 상기 동작들은:
비디오 화상의 시퀀스로서 디코딩될 데이터를 비트스트림으로부터 수신하는 동작;
상기 비디오 화상의 시퀀스에서 하나 이상의 서브화상에 대한 서브화상 사양을 상기 비트스트림으로부터 수신하는 동작 - 상기 서브화상 사양은 개개의 상기 서브화상에 대한 코딩 트리 단위(coding tree unit; CTU)를 식별하는 인덱스를 제공함으로써 상기 하나 이상의 서브화상 중의 각각의 서브화상에 대한 위치 및 크기를 식별함 -; 및
상기 서브화상 사양에 따라 상기 비디오 화상의 시퀀스에 대한 상기 하나 이상의 서브화상 중의 각각의 서브화상을 재구성하는 동작
을 포함하는 것인, 전자 장치.
In an electronic device,
A video decoder circuitry configured to perform operations comprising:
receiving from a bitstream data to be decoded as a sequence of video pictures;
receiving, from the bitstream, a subpicture specification for one or more subpictures in the sequence of video pictures, wherein the subpicture specification is an index identifying a coding tree unit (CTU) for each of the subpictures. identifying a location and size for each subpicture of the one or more subpictures by providing ; and
reconstructing each subpicture of the one or more subpictures for the sequence of video pictures according to the subpicture specification.
The electronic device comprising a.
KR1020227009223A 2019-09-10 2020-09-10 Signaling of sub picture structure KR20220045231A (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962898127P 2019-09-10 2019-09-10
US62/898,127 2019-09-10
US201962898620P 2019-09-11 2019-09-11
US62/898,620 2019-09-11
US17/016,257 US11284077B2 (en) 2019-09-10 2020-09-09 Signaling of subpicture structures
US17/016,257 2020-09-09
PCT/CN2020/114508 WO2021047590A1 (en) 2019-09-10 2020-09-10 Signaling of subpicture structures

Publications (1)

Publication Number Publication Date
KR20220045231A true KR20220045231A (en) 2022-04-12

Family

ID=74866107

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227009223A KR20220045231A (en) 2019-09-10 2020-09-10 Signaling of sub picture structure

Country Status (6)

Country Link
EP (1) EP4005205A4 (en)
KR (1) KR20220045231A (en)
CN (1) CN114375579A (en)
MX (1) MX2022002854A (en)
TW (1) TWI750802B (en)
WO (1) WO2021047590A1 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10244246B2 (en) * 2012-02-02 2019-03-26 Texas Instruments Incorporated Sub-pictures for pixel rate balancing on multi-core platforms
WO2016203881A1 (en) * 2015-06-18 2016-12-22 シャープ株式会社 Arithmetic decoding device and arithmetic coding device
WO2018221368A1 (en) * 2017-05-31 2018-12-06 シャープ株式会社 Moving image decoding device, and moving image encoding device
EP3422724B1 (en) * 2017-06-26 2024-05-01 Nokia Technologies Oy An apparatus, a method and a computer program for omnidirectional video
CN109587478B (en) * 2017-09-29 2023-03-31 华为技术有限公司 Media information processing method and device
US11363307B2 (en) * 2019-08-08 2022-06-14 Hfi Innovation Inc. Video coding with subpictures

Also Published As

Publication number Publication date
WO2021047590A1 (en) 2021-03-18
TWI750802B (en) 2021-12-21
MX2022002854A (en) 2023-04-14
EP4005205A4 (en) 2023-08-30
EP4005205A1 (en) 2022-06-01
CN114375579A (en) 2022-04-19
TW202116068A (en) 2021-04-16

Similar Documents

Publication Publication Date Title
TWI751771B (en) Signaling high-level information in video and image coding
TWI723448B (en) Entropy coding of coding units in image and video data
US11284077B2 (en) Signaling of subpicture structures
TWI792074B (en) Signaling block partitioning of image and video
US11778235B2 (en) Signaling coding of transform-skipped blocks
TWI785502B (en) Video coding method and electronic apparatus for specifying slice chunks of a slice within a tile
TW202139697A (en) Signaling quantization related parameters
US20210176475A1 (en) Specifying Layout In Video Pictures
TWI784348B (en) Specifying video picture information
KR20220045231A (en) Signaling of sub picture structure
WO2023198110A1 (en) Block partitioning image and video data
TW202325025A (en) Local illumination compensation with coded parameters
TW202349954A (en) Adaptive coding image and video data
TW202406334A (en) Electronic apparatus and methods for video coding