KR20220162846A - 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치 - Google Patents

비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치 Download PDF

Info

Publication number
KR20220162846A
KR20220162846A KR1020227040785A KR20227040785A KR20220162846A KR 20220162846 A KR20220162846 A KR 20220162846A KR 1020227040785 A KR1020227040785 A KR 1020227040785A KR 20227040785 A KR20227040785 A KR 20227040785A KR 20220162846 A KR20220162846 A KR 20220162846A
Authority
KR
South Korea
Prior art keywords
slice
tiles
tile
slices
block
Prior art date
Application number
KR1020227040785A
Other languages
English (en)
Other versions
KR102647848B1 (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
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020247008189A priority Critical patent/KR20240038129A/ko
Priority to KR1020247008190A priority patent/KR20240038130A/ko
Publication of KR20220162846A publication Critical patent/KR20220162846A/ko
Application granted granted Critical
Publication of KR102647848B1 publication Critical patent/KR102647848B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

본 발명은 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치에 관한 것으롯, 본 발명에 따른 비디오 인코딩 방법은, 입력된 픽처를 분할하여 타일과 슬라이스를 특정하는 단계, 상기 타일과 슬라이스를 기반으로 인코딩을 수행하는 단계 및 인코딩된 비디오 정보를 전송하는 단계를 포함하며, 상기 픽처는 하나 이상의 타일과 하나 이상의 슬라이스로 분할되고, 상기 타일과 슬라이스에는 병렬 처리를 위한 제한이 적용될 수 있다.

Description

비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치{VIDEO ENCODING METHOD, VIDEO DECODING METHOD, AND DEVICE USING SAME}
본 발명은 비디오 압축 기술에 관한 것으로서 더 구체적으로는 픽처의 영역을 특정하는 방법에 관한 것이다.
최근 고해상도, 고품질의 영상에 대한 요구가 다양한 응용 분야에서 증가하고 있다. 영상이 고해상도를 가지고 고품질이 될수록 해당 영상에 관한 정보량도 함께 증가한다.
따라서 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 정보를 전송하거나 기존의 저장 매체를 이용해 영상 정보를 저장하는 경우에는, 정보의 전송 비용과 저장 비용이 증가하게 된다.
고해상도, 고품질 영상의 정보를 효과적으로 전송하거나 저장하고, 재생하기 위해 고효율의 영상 압축 기술을 이용할 수 있다.
영상 압축의 효율을 높이기 위해, 인터 예측과 인트라 예측을 이용할 수 있다. 인터 예측(inter prediction) 방법에서는 다른 픽처의 정보를 참조하여 현재 픽처(picture)의 픽셀값을 예측하며, 인트라 예측(intra prediction) 방법에서는 동일한 픽처 내에서 픽셀 간 연관 관계를 이용하여 픽셀값을 예측한다.
예측된 영상의 처리 단위, 예컨대 블록에 대하여는 영상을 원본과 동일하게 만들기 위한 다양한 방법이 적용될 수 있다. 이를 통해 디코딩 장치는 해당 영상을 더 정확하게(원본과 더 일치하게) 디코딩할 수 있으며, 인코딩 장치는 해당 영상이 더 정확하게 복원될 수 있도록 인코딩할 수 있다.
따라서, 픽처에서 각 처리 단위들을 어떻게 규정할 것인지, 예컨대, 처리 단위들 간의 제한 혹은 처리 단위의 사용에 관한 제한을 어떻게 규정할 것인지에 대한 연구가 필요할 수 있다.
본 발명은 압축 효율을 증가시키고 복잡도를 감소시킬 수 있도록 인코딩/디코딩에 가할 수 있는 적절한 제한을 제공하는 것을 목적으로 한다.
본 발명은 NSQT(Non-Square Quadtree Transform)의 사용과 AMP(Asymmetric Motion Partition)의 사용에 관한 제한을 지시하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 또한, 픽처의 처리 단위 사이에 적절한 제한을 가하여 압축 효율을 높이고 복잡도를 줄이는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 특히 픽처 내 슬라이스와 타일 간의 관계에 소정의 제한을 설정하여 병렬 처리가 원활하게 수행될 수 있는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명에 따른 비디오 인코딩 방법은 입력된 픽처를 분할하여 타일과 슬라이스를 특정하는 단계, 상기 타일과 슬라이스를 기반으로 인코딩을 수행하는 단계 및 인코딩된 비디오 정보를 전송하는 단계를 포함하며, 상기 픽처는 하나 이상의 타일과 하나 이상의 슬라이스로 분할되며, 상기 타일과 슬라이스에는 병렬 처리를 위한 제한이 적용될 수 있다.
본 발명에 따른 비디오 디코딩 방법은, 비디오 정보를 수신하는 단계, 상기 수신한 비디오 정보에 따라서 현재 픽처에 대한 타일과 슬라이스를 특정하는 단계 및 상기 특정된 타일과 슬라이스를 기반으로 디코딩을 수행하는 단계를 포함하고, 상기 현재 픽처는 하나 이상의 타일과 하나 이상의 슬라이스로 분할되며, 상기 타일과 슬라이스에는 병렬 처리를 위한 제한이 적용될 수 있다.
본 발명에 의하면, 인코딩/디코딩에 적절한 제한을 가함으로써 압출 효율을 증가시킬 수 있다.
본 발명에 의하면, 인코딩 장치는 NSQT(Non-Square Quadtree Transform)의 사용과 AMP(Asymmetric Motion Partition)의 사용에 관한 제한을 가하고 이에 관한 지시자를 전송할 수 있고, 디코딩 장치는 지시자의 지시에 따라서 NSQT와 AMP를 사용할 수 있으므로, 복잡도를 줄이고 압축 효율을 증가시킬 수 있다.
본 발명에 의하면, 픽처의 처리 단위 사이에 적절한 제한을 가함으로써, 압출 효율을 증가시키고 복잡도를 줄일 수 있다.
본 발명에 의하면, 픽처 내 슬라이스와 타일 간의 관계에 소정의 제한을 설정하여 병렬 처리가 원활하게 수행되고 복잡도가 감사할 수 있다.
도 1은 본 발명의 일 실시예에 따른 비디오 인코딩 장치를 개략적으로 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 비디오 디코딩 장치를 개략적으로 나타낸 블록도이다.
도 3은 AMP의 일 예를 개략적으로 나타낸 것이다.
도 4는 NSQT에 사용되는 비정방형 블록의 일 예에 관하여 개략적으로 설명하는 도면이다.
도 5는 NSQT에 사용되는 비정방형 블록의 다른 예에 관하여 개략적으로 설명하는 도면이다.
도 6은 슬라이스에 관한 일 예를 개략적으로 설명하는 도면이다.
도 7은 타일과 슬라이스에 관한 일 예를 개략적으로 설명하는 도면이다.
도 8은 타일과 슬라이스에 관한 다른 예를 개략적으로 설명하는 도면이다.
도 9는 병렬 처리에 문제가 발생할 수 있는 경우를 간단히 예시하는 도면이다.
도 10 내지 도 20은 본 발명에 따른 타일과 슬라이스의 예들을 개략적으로 나타낸 도면이다.
도 21 내지 도 23은 본 발명에 따른 제한을 만족하지 않으므로 허용되지 않는 슬라이스와 타일의 예들을 개략적으로 나타낸 것이다.
도 24는 본 발명에 따른 인코딩 방법을 개략적으로 설명하는 순서도이다.
도 25는 본 발명에 따른 디코딩 방법을 개략적으로 설명하는 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니다. 본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 비디오 인코딩 장치/디코딩 장치에서 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 비디오 인코딩 장치를 개략적으로 도시한 블록도이다. 도 1을 참조하면, 인코딩 장치(100)는 픽처 분할부(105), 예측부(110), 변환부(115), 양자화부(120), 재정렬부(125), 엔트로피 인코딩부(130), 역양자화부(135), 역변환부(140), 필터부(145) 및 메모리(150)를 구비한다.
픽처 분할부(105)는 입력된 픽처를 적어도 하나의 처리 단위 블록으로 분할할 수 있다. 이때, 처리 단위로서의 블록은 예측 유닛(Prediction Unit, 이하 'PU'라 함)일 수도 있고, 변환 유닛(Transform Unit, 이하 'TU'라 함)일 수도 있으며, 코딩 유닛(Coding Unit, 이하 'CU'라 함)일 수도 있다.
픽처 분할부(105)에서 분할되는 처리 단위 블록들은 쿼드 트리(quad-tree) 구조를 가질 수 있다.
예측부(110)는 후술하는 바와 같이, 인터 예측을 수행하는 인터 예측부와 인트라 예측을 수행하는 인트라 예측부를 포함한다. 예측부(110)는, 픽처 분할부(105)에서 픽처의 처리 단위에 대하여 예측을 수행하여 예측 블록을 생성한다. 예측부(110)에서 픽처의 처리 단위는 CU일 수도 있고, TU일 수도 있고, PU일 수도 있다. 또한, 예측부(110)는 해당 처리 단위에 대하여 실시되는 예측이 인터 예측인지 인트라 예측인지를 결정하고, 각 예측 방법의 구체적인 내용(예컨대, 예측 모드 등)을 정할 수 있다. 이때, 예측이 수행되는 처리 단위와 예측 방법 및 예측 방법의 구체적인 내용이 정해지는 처리 단위는 다를 수 있다. 예컨대, 예측의 방법과 예측 모드 등은 PU 단위로 결정되고, 예측의 수행은 TU 단위로 수행될 수도 있다.
인터 예측을 통해서는 현재 픽처의 이전 픽처 및/또는 이후 픽처 중 적어도 하나의 픽처의 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다. 또한, 인트라 예측을 통해서는 현재 픽처 내의 픽셀 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 예측의 방법으로서, 스킵(skip) 모드, 머지(merge) 모드, MVP(Motion Vector Predtiction) 등을 이용할 수 있다. 인터 예측에서는 PU에 대하여, 참조 픽처를 선택하고 PU에 대응하는 참조 블록을 선택할 수 있다. 참조 블록은 정수 픽셀 단위로 선택될 수 있다. 이어서, 현재 PU와의 레지듀얼(residual) 신호가 최소화되며 움직임 벡터 크기 역시 최소가 되는 예측 블록이 생성된다.
예측 블록은 정수 샘플 단위로 생성될 수도 있고, 정수 이하 픽셀 단위로 생성될 수도 있다. 이때, 움직임 벡터 역시 정수 픽셀 이하의 단위로 표현될 수 있다.
인터 예측을 통해 선택된 참조 픽처의 인덱스, 움직임 벡터(ex. Motion Vector Predictor), 레지듀얼 신호 등의 정보는 엔트로피 인코딩되어 디코딩 장치에 전달된다. 스킵 모드가 적용되는 경우에는 레지듀얼을 예측 블록을 복원 블록으로 할 수 있으므로, 레지듀얼을 생성, 변환, 양자화, 전송하지 않을 수 있다.
인트라 예측을 수행하는 경우에는, PU 단위로 예측 모드가 정해져서 PU 단위로 예측이 수행될 수 있다. 또한, PU 단위로 예측 모드가 정해지고 TU 단위로 인트라 예측이 수행될 수도 있다.
인트라 예측에서 예측 모드는 33개의 방향성 예측 모드와 적어도 2개 이상의 비방향성 모드를 가질 수 있다. 비향성성 모드는 DC 예측 모드 및 플래이너 모드(Planar 모드)을 포함할 수 있다.
인트라 예측에서는 참조 샘플에 필터를 적용한 후 예측 블록을 생성할 수 있다. 이때, 참조 샘플에 필터를 적용할 것인지는 현재 블록의 인트라 예측 모드 및/또는 사이즈에 따라 결정될 수 있다.
PU는 다양한 사이즈/형태의 블록일 수 있으며, 예컨대 인터 예측의 경우에 PU는 2N×2N 블록, 2N×N 블록, N×2N 블록, 또는 N×N 블록 (N은 정수) 등일 수 있다. 인트라 예측의 경우에 PU는 2N×2N 블록 또는 N×N 블록 (N은 정수) 등일 수 있다. 이때, N×N 블록 크기의 PU는 특정한 경우에만 적용하도록 설정할 수 있다. 예컨대 최소 크기 CU에 대해서만 NxN 블록 크기의 PU를 이용하도록 정하거나 인트라 예측에 대해서만 이용하도록 정할 수도 있다. 또한, 상술한 크기의 PU 외에, N×mN 블록, mN×N 블록, 2N×mN 블록 또는 mN×2N 블록 (m<1) 등의 PU를 더 정의하여 사용할 수도 있다.
생성된 예측 블록과 원본 블록 사이의 레지듀얼 값(레지듀얼 블록 또는 레지듀얼 신호)은 변환부(115)로 입력된다. 또한, 예측을 위해 사용한 예측 모드 정보, 움직임 벡터 정보 등은 레지듀얼 값과 함께 엔트로피 인코딩부(130)에서 인코딩되어 디코딩 장치에 전달된다.
변환부(115)는 변환 블록 단위로 레지듀얼 블록에 대한 변환을 수행하고 변환 계수를 생성한다.
변환 블록은 샘플들의 직사각형 블록으로서 동일한 변환이 적용되는 블록이다. 변환 블록은 변환 유닛(TU)일 수 있으며, 쿼드 트리(quad tree) 구조를 가질 수 있다.
변환부(115)는 레지듀얼 블록에 적용된 예측 모드와 블록의 크기에 따라서 변환을 수행할 수 있다.
예컨대, 레지듀얼 블록에 인트라 예측이 적용되었고 블록이 4x4의 레지듀얼 배열이라면, 레지듀얼 블록을 DST(Discrete Sine Transform)를 이용하여 변환하고, 그 외의 경우라면 레지듀얼 블록을 DCT(Discrete Cosine Transform)를 이용하여 변환할 수 있다.
변환부(115)는 변환에 의해 변환 계수들의 변환 블록을 생성할 수 있다.
양자화부(120)는 변환부(115)에서 변환된 레지듀얼 값들, 즉 변환 계수들을 양자화하여 양자화된 변환 계수를 생성할 수 있다. 양자화부(120)에서 산출된 값은 역양자화부(135)와 재정렬부(125)에 제공된다.
재정렬부(125)는 양자화부(120)로부터 제공된 양자화된 변환 계수를 재정렬한다. 양자화된 변환 계수를 재정렬함으로써 엔트로피 인코딩부(130)에서의 인코딩 효율을 높일 수 있다.
재정렬부(125)는 계수 스캐닝(Coefficient Scanning) 방법을 통해 2차원 블록 형태의 양자화된 변환 계수들을 1차원의 벡터 형태로 재정렬할 수 있다.
엔트로피 인코딩부(130)는 재정렬부(125)에 의해 재정렬된 양자화된 변환 계수들에 대한 엔트로피 인코딩을 수행할 수 있다. 엔트로피 인코딩에는 예를 들어, 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding) 등과 같은 인코딩 방법을 사용할 수 있다. 엔트로피 인코딩부(130)는 재정렬부(125) 및 예측부(110)로부터 전달받은 CU의 양자화된 변환 계수 정보 및 블록 타입 정보, 예측 모드 정보, 분할 단위 정보, PU 정보 및 전송 단위 정보, 움직임 벡터 정보, 참조 픽처 정보, 블록의 보간 정보, 필터링 정보 등 다양한 정보를 인코딩할 수 있다.
또한, 엔트로피 인코딩부(130)는 필요한 경우에, 전송하는 파라미터 셋(parameter set) 또는 신택스에 일정한 변경을 가할 수도 있다.
역양자화부(135)는 양자화부(120)에서 양자화된 값(양자화된 변환 계수)들을 역양자화하고, 역변환부(140)는 역양자화부(135)에서 역양자화된 값들을 역변환한다.
역양자화부(135) 및 역변환부(140)에서 생성된 레지듀얼 값과 예측부(110)에서 예측된 예측 블록이 합쳐져 복원 블록(Reconstructed Block)이 생성될 수 있다.
도 1에서는 가산기를 통해서, 레지듀얼 블록과 예측 블록이 합쳐져 복원 블록이 생성되는 것으로 설명하고 있다. 이때, 가산기를 복원 블록을 생성하는 별도의 유닛(복원 블록 생성부)로 볼 수도 있다.
필터부(145)는 디블록킹 필터, ALF(Adaptive Loop Filter), SAO(Sample Adaptive Offset)를 복원된 픽처에 적용할 수 있다.
디블록킹 필터는 복원된 픽처에서 블록 간의 경계에 생긴 왜곡을 제거할 수 있다. ALF(Adaptive Loop Filter)는 디블록킹 필터를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. ALF는 고효율을 적용하는 경우에만 수행될 수도 있다. SAO는 디블록킹 필터가 적용된 레지듀얼 블록에 대하여, 픽셀 단위로 원본 영상과의 오프셋 차이를 복원하며, 밴드 오프셋(Band Offset), 에지 오프셋(Edge Offset) 등의 형태로 적용된다.
한편, 인터 예측에 사용되는 복원 블록에 대해서 필터부(145)는 필터링을 적용하지 않을 수도 있다.
메모리(150)는 필터부(145)를 통해 산출된 복원 블록 또는 픽처를 저장할 수 있다. 메모리(150)에 저장된 복원 블록 또는 픽처는 인터 예측을 수행하는 예측부(110)에 제공될 수 있다.
도 2는 본 발명의 일 실시예에 따른 비디오 디코딩 장치를 개략적으로 나타낸 블록도이다. 도 2를 참조하면, 비디오 디코딩 장치(200)는 엔트로피 디코딩부(210), 재정렬부(215), 역양자화부(220), 역변환부(225), 예측부(230), 필터부(235) 메모리(240)를 포함할 수 있다.
비디오 인코딩 장치에서 영상 비트스트림이 입력된 경우, 입력된 비트스트림은 비디오 인코딩 장치에서 영상 정보가 처리된 절차에 따라서 디코딩될 수 있다.
예컨대, 비디오 인코딩 장치에서 엔트로피 인코딩을 수행하기 위해 CAVLC 등의 가변 길이 부호화(Variable Length Coding: VLC, 이하 'VLC' 라 함)가 사용된 경우에, 엔트로피 디코딩부(210)도 인코딩 장치에서 사용한 VLC 테이블과 동일한 VLC 테이블로 구현하여 엔트로피 디코딩을 수행할 수 있다. 또한, 비디오 인코딩 장치에서 엔트로피 인코딩을 수행하기 위해 CABAC을 이용한 경우에, 엔트로피 디코딩부(210)는 이에 대응하여 CABAC을 이용한 엔트로피 디코딩을 수행할 수 있다.
엔트로피 디코딩부(210)에서 디코딩된 정보 중 예측 블록을 생성하기 위한 정보는 예측부(230)로 제공되고, 엔트로피 디코딩부(210)에서 엔트로피 디코딩이 수행된 레지듀얼 값, 즉 양자화된 변환 계수는 재정렬부(215)로 입력될 수 있다.
재정렬부(215)는 엔트로피 디코딩부(210)에서 엔트로피 디코딩된 비트스트림의 정보, 즉 양자화된 변환 계수를 인코딩 장치에서 재정렬한 방법을 기초로 재정렬할 수 있다.
재정렬부(215)는 1차원 벡터 형태로 표현된 계수들을 다시 2차원의 블록 형태의 계수로 복원하여 재정렬할 수 있다. 재정렬부(215)는 현재 블록(변환 블록)에 적용된 예측 모드와 변환 블록의 크기를 기반으로 계수에 대한 스캐닝을 수행하여 2 차원 블록 형태의 계수(양자화된 변환 계수) 배열을 생성할 수 있다.
역양자화부(220)는 인코딩 장치에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행할 수 있다.
역변환부(225)는 비디오 인코딩 장치에서 수행된 양자화 결과에 대해, 인코딩 장치의 변환부가 수행한 DCT 및 DST에 대해 역DCT 및/또는 역DST를 수행할 수 있다. 역변환은 인코딩 장치에서 결정된 전송 단위 또는 영상의 분할 단위를 기초로 수행될 수 있다. 인코딩 장치의 변환부에서 DCT 및/또는 DST는 예측 방법, 현재 블록의 크기 및 예측 방향 등 복수의 정보에 따라 선택적으로 수행될 수 있고, 디코딩 장치의 역변환부(225)는 인코딩 장치의 변환부에서 수행된 변환 정보를 기초로 역변환을 수행할 수 있다.
예측부(230)는 엔트로피 디코딩부(210)에서 제공된 예측 블록 생성 관련 정보와 메모리(240)에서 제공된 이전에 디코딩된 블록 및/또는 픽처 정보를 기초로 예측 블록을 생성할 수 있다.
현재 PU에 대한 예측 모드가 인트라 예측(intra prediction) 모드인 경우에, 현재 픽처 내의 픽셀 정보를 기초로 예측 블록을 생성하는 인트라 예측을 수행할 수 있다.
현재 PU에 대한 예측 모드가 인터 예측(inter prediction) 모드인 경우에, 현재 픽처의 이전 픽처 또는 이후 픽처 중 적어도 하나의 픽처에 포함된 정보를 기초로 현재 PU에 대한 인터 예측을 수행할 수 있다. 이때, 비디오 인코딩 장치에서 제공된 현재 PU의 인터 예측에 필요한 움직임 정보, 예컨대 움직임 벡터, 참조 픽처 인덱스 등에 관한 정보는 인코딩 장치로부터 수신한 스킵 플래그, 머지 플래그 등을 확인하고 이에 대응하여 유도될 수 있다.
복원 블록은 예측부(230)에서 생성된 예측 블록과 역변환부(225)에서 제공된 레지듀얼 블록을 이용해 생성될 수 있다. 도 2에서는 가산기에서 예측 블록과 레지듀얼 블록이 합쳐져 복원 블록이 생성되는 것으로 설명하고 있다. 이때, 가산기를 복원 블록을 생성하는 별도의 유닛(복원 블록 생성부)로 볼 수 있다.
스킵 모드가 적용되는 경우에는 레지듀얼이 전송되지 않으며 예측 블록을 복원 블록으로 할 수 있다.
복원된 블록 및/또는 픽처는 필터부(235)로 제공될 수 있다. 필터부(235)는 복원된 블록 및/또는 픽처에 디블록킹 필터링, SAO(Sample Adaptive Offset) 및/또는 ALF 등을 적용할 수 있다.
메모리(240)는 복원된 픽처 또는 블록을 저장하여 참조 픽처 또는 참조 블록으로 사용할 수 있도록 할 수 있고 또한 복원된 픽처를 출력부로 제공할 수 있다.
한편, 인코딩과 디코딩을 효과적으로 수행하고, 부호화 효율을 높이기 위해 인코딩 과정 및 디코딩 과정에 일정한 제한을 부과할 수도 있다.
예를 들어, 비대칭 움직임 파티션(Asymmetric Motion Partition: AMP, 이하 'AMP'라 함) 및/또는 비정방형 쿼드 트리 변환(Non-Square Quadtree Transform: NSQT, 이하 'NSQT'라 함)의 사용에 대한 제한, 슬라이스(slice)와 타일(tile) 간의 제한 등을 부가할 수 있다. 또한, 인코딩 장치는 제한을 가할 것인지를 디코딩 장치에 시그널링할 수도 있다.
AMP이 적용되면, 직사각형 형태의 예측 블록(예측 유닛) 단위로 인터 예측이 수행될 수 있다. 따라서, 예측 블록은 코딩 블록으로부터 비대칭의 직사각형 형태들로 분할될 수 있다. 예컨대, 2Nx2N (N은 픽셀의 개수) 크기의 코딩 블록은 4 개의 NxN 크기 블록, 3개의 2NxN 크기 블록 또는 두 개의 Nx2N 크기 블록과 같이 대칭형 블록으로 분할되는 대신 2Nx3N/2 크기의 블록과 2NxN/4 크기의 블록으로 분할되거나 3/2Nx2N 크기의 블록과 N/4x2N 크기의 블록으로 분할될 수 있다.
도 3은 AMP의 일 예를 개략적으로 나타낸 것이다. 도 3에서는 64x64 픽셀 크기의 코딩 블록(코딩 유닛)에 대한 AMP들의 예를 설명하고 있다.
도 3을 참조하면, 64x64 픽셀 크기의 코딩 블록으로부터 비대칭형으로 분할된 예측 블록의 예를 확인할 수 있다.
도 3(a)의 예에서 64x64 픽셀 크기의 코딩 블록(300)은 64X16 픽셀 크기의 예측 블록(305)와 64x48 픽셀 크기의 예측 블록(310)으로 분할될 수 있다. 도 3(b)의 예에서 64x64 픽셀 크기의 코딩 블록(320)은 64X48 픽셀 크기의 예측 블록(325)와 64x16 픽셀 크기의 예측 블록(330)으로 분할될 수 있다. 도 3(c)의 예에서 64x64 픽셀 크기의 코딩 블록(340)은 16X64 픽셀 크기의 예측 블록(345)와 48x64 픽셀 크기의 예측 블록(350)으로 분할될 수 있다. 도 3(d)의 예에서 64x64 픽셀 크기의 코딩 블록(360)은 48X64 픽셀 크기의 예측 블록(365)와 16x64 픽셀 크기의 예측 블록(370)으로 분할될 수 있다.
NSQT가 적용되면, 비정방형의 변환 블록(변환 유닛) 단위로 레지듀얼의 변환이 수행될 수 있다. 이 경우, 변환 블록이 쿼드 트리 구조를 가진다면, 최상위 레벨에서 변환이 수행된다면 정방형 변환 블록 단위로 변환이 수행되고, 그 다음 레벨에서 변환이 수행된다면 비정방형 변환 블록 단위로 변환이 수행되도록 할 수도 있다. 또한, NSQT는 예측 블록이 비대칭 파티션인 경우에 적용되도록 할 수도 있다.
도 4는 NSQT에 사용되는 비정방형 블록의 일 예에 관하여 개략적으로 설명하는 도면이다.
도 4의 예에서 2Nx2N 코딩 블록(400)은 쿼드 트리 구조 하에서 변환 블록으로 분할될 수 있다. 예측 블록이 2NxN, 2NxnU, 2NxnD 등과 같이 수평 방향의 블록인 경우에, 코딩 블록(400)은 도시된 바와 같이 수평 방향의 비정방형 변환 블록으로 분할될 수 있다.
도 4의 예에서는 코딩 블록(400)이 2NxN/2 픽셀 크기의 비정방형 변환 블록들(410, 420, 430, 440)으로 분할된다. 쿼드 트리 구조에 따라서, 추가로 분할될 수도 있다. 따라서, 예컨대, 변환을 위해 블록(420)이 추가로 분할되는 경우에는, NxN/4 픽셀 크기의 비정방형 변환 블록들(450, 460, 470, 480)로 분할될 수 있다.
도 5는 NSQT에 사용되는 비정방형 블록의 다른 예에 관하여 개략적으로 설명하는 도면이다.
도 5의 예에서 2Nx2N 코딩 블록(500)은 쿼드 트리 구조 하에서 변환 블록으로 분할될 수 있다. 예측 블록이 Nx2N, nLx2N, nRx2N 등과 같이 수직 방향의 블록인 경우에, 코딩 블록(500)은 도시된 바와 같이 수직 방향의 비정방형 변환 블록으로 분할될 수 있다.
도 5의 예에서는 코딩 블록(500)이 N/2x2N 픽셀 크기의 비정방형 변환 블록들(510, 520, 530, 540)으로 분할된다. 쿼드 트리 구조에 따라서, 추가로 분할될 수도 있다. 따라서, 예컨대, 변환을 위해 블록(520)이 추가로 분할되는 경우에는, N/4xN 픽셀 크기의 비정방형 변환 블록들(550, 560, 570, 580)로 분할될 수 있다.
상술한 바와 같이, AMP와 NSQT의 사용에 대한 제한을 가할 수 있다. 다시 말하면, 비대칭 파티션(Asymmetric Motion Partition: AMP)와 비정방형 변환(Non-Square Quadetree Transform: NSQT)은 필요에 따라서 이용할 수도 있고, 이용하지 않을 수도 있다.
예컨대, 비디오 인코딩/디코딩이 적용되는 기술 분야, 제품 사양, 이용하는 서비스 분야 등에 따라서 비정방형 변환과 비대칭 파티션을 사용할 수도 있고 사용하지 않을 수도 있다.
따라서, 비대칭 파티션을 사용할 것인지, 비정방형 변환을 적용할 것인지 등을 지시하는 정보를 인코딩 장치는 디코딩 장치로 시그널링할 수 있다.
표 1은 비대칭 파티션을 사용할 것인지, 비정방형 변환을 적용할 것인지 등을 지시하는 정보를 시그널링하는 파라미터 신택스의 일 예를 나타낸 것이다.
Figure pat00001
표 2를 참조하면, 본 비디오 인코딩/디코딩이 적용되는 기술 분야, 제품 사양, 서비스 분야 등에 따라서 이용 가능한 기술들의 분류를 지시하는 정보로서 profile_idc가 전송된다.
또한, 인터 예측에 있어서 비대칭 파티션을 적용할 수 있는지를 지시하는 플래그인 asymmetric_motion_partition_enable_flag와비정방형 변환을 적용할 수 있는지를 지시하는 플래그인 non_square_quadtree_transform_enable_flag가 시퀀스 파라미터 셋을 통해 시그널링된다.
non_square_quadtree_transform_enable_flag의 값이 0이면 비정방형 변환이 사용되지 않는다는 것을 지시한다, 따라서, 이 경우에는 앞서 설명한 바와 같은 비정방형 변환 블록에 대한 스캔/재정렬 방법이 이용되지 않는다.
non_square_quadtree_transform_enable_flag의 값이 1인 경우에는 비정방형 변환이 사용될 수 있다는 것을 지시한다. 따라서, 이 경우에는 앞서 설명한 바와 같은 비정방형 변환 블록에 대한 스캔/재정렬 방법이 이용될 수 있다.
한편, 비정방형 변환의 사용 여부는 프로파일이 무엇인지에 의존성을 가질 수도 있다.
또한, asymmetric_motion_partition_enable_flag의 값이 0이면 (인터 예측에 대하여) 비대칭 파티션이 사용되지 않는다. asymmetric_motion_partition_enable_flag의 값이 0이면 part_mode는 비대칭 파티션(AMP)에 대응하는 값들인 3을 넘는 값들을 가질 수 없다. asymmetric_motion_partition_enable_flag의 값이 1이면 비대칭 파티션을 사용할 수 있다.
표 2는 파티션 타입과 예측 모드의 관계를 나타낸 것이다.
Figure pat00002
표 2에서 볼 수 있듯이 3보다 큰 part_mode 값들은 비대칭 파티션(AMP)인 2N x nU 사이즈의 파티션, 2N x nD 사이즈의 파티션, nL x 2N 사이즈의 파티션, nR x 2N 사이즈의 파티션에 대응한다.
2N x nU 사이즈의 파티션은 수평 방향의 좁은 직사각형 블록이 위쪽에 생성되도록 정방형 블록이 비대칭으로 분할된 파티션이다. 2N x nD 사이즈의 파티션은 수평 방향의 좁은 직사각형 블록이 아래쪽에 생성되도록 정방현 블록이 비대칭으로 분할된 파티션이다. nL x 2N 사이즈의 파티션은 수직 방향의 좁은 직사각형 블록이 좌측에 생성되도록 정방형 블록이 비대칭으로 분할된 파티션이다. nR x 2N 사이즈의 파티션은 수직 방향의 좁은 직사각형 블록이 우측에 생성되도록 정방형의 블록이 비대칭으로 분할된 파티션이다.
상술한 바와 같이 asymmetric_motion_partition_enable_flag의 값이 0이면 2N x nU 사이즈의 파티션, 2N x nD 사이즈의 파티션, nL x 2N 사이즈의 파티션, nR x 2N 사이즈의 파티션은 사용되지 않는다.
표 1에서는 인터 예측에 있어서 비대칭 파티션을 적용할 것인지를 지시하는 플래그인asymmetric_motion_partition_enable_flag와비정방형 변환을 적용할 것인지를 지시하는 플래그인 non_square_quadtree_transform_enable_flag가 시퀀스 파라미터 셋(Sequence Parameter Set: SPS)을 통해 시그널링되는 것으로 설명하였으나, 본 발명은 이에 한정되지 않으며, asymmetric_motion_partition_enable_flag 및/또는 non_square_quadtree_transform_enable_flag는 픽처 파라미터 셋(Picture Parameter Set: PPS)나 어댑션 파라미터 셋(Adaption Parameters Set:APS)를 통해서 시그널링 될 수도 있다.
한편, 부호화 효율을 높이기 위해, 상술한 바와 같이, 슬라이스와 타일 사이에도 소정의 제한을 가할 수 있다.
인코딩 장치와 디코딩 장치는 픽처를 소정의 단위로 분할하여 처리(인코딩/디코딩) 할 수 있다. 예컨대, 픽처는 슬라이스와 타일로 분할될 수 있다.
슬라이스는 하나 이상의 슬라이스 시그먼트(segment)들의 시퀀스이다. 슬라이스 시퀀스는 독립(independent) 슬라이스 시그먼트로부터 시작한다. 동일한 액세서 유닛 내에서 다음 번 독립 슬라이스 시그먼트보다 선행하는 종속(dependent) 슬라이스 시그먼트들이 존재한다면, 슬라이스는 슬라이스 시퀀스가 시작된 독립 슬라이스 시그먼트와 다음 독립 슬라이스 전의 종속 슬라이스 시그먼트들을 포함한다.
슬라이스 시그먼트는 타일 스캔에서 연속적으로 정렬(consecutively ordered)되고 단일 NAL(Network Abstraction Layer) 유닛에 포함된 코딩 트리 유닛(Coding Tree Unit: CTU) 또는 코딩 트리 블록(Coding Tree Block: CTB)의 시퀀스일 수 있다. 코딩 트리 유닛은 쿼드 트리(Quad-Tree) 구조의 코딩 유닛으로서, 최대 크기 코딩 유닛(Largest Coding Unit: LCU)일 수 있다. 본 명세서에서는 발명의 이해를 돕기 위해 필요한 곳에서 코딩 트리 유닛, 최대 코딩 유닛을 혼용하여 설명할 수도 있다.
슬라이스 시그먼트 내에서, 슬라이스 시그먼트의 첫 번째 코딩 트리 블록(코딩 트리 유닛) 혹은 모든 코딩 트리 블록(코딩 트리 유닛)들에 대한 데이터 요소를 포함하는 부분을 슬라이스 시그먼트 헤드라고 한다. 이때, 독립 슬라이스 시그먼트의 슬라이스 시그먼트 헤드를 슬라이스 헤더라고 한다.
슬라이스는 NAL 유닛의 전송 단위일 수 있다. 예컨대, NAL 유닛은 슬라이스들 혹은 슬라인스 세그먼트들로 구성될 수 있다.
도 6은 슬라이스에 관한 일 예를 개략적으로 설명하는 도면이다.
현재 픽처는 슬라이스 경계에 의해 복수의 슬라이스로 나뉠 수 있다. 도 6에서는, 현재 픽처(600)가 슬라이스 경계(650)에 의해 두 개의 슬라이스로 구분되는 경우를 예로서 도시하고 있다.
슬라이스는 코딩 트리 유닛을 포함하는 슬라이스 시그먼트를 포함한다. 슬라이스 에 포함되는 슬라이스 시그먼트는 독립 슬라이스 시그먼트를 포함하며, 종속 슬라이스 시그먼트가 존재하는 경우에는 종속 슬라이스 시그먼트를 포함할 수 있다.
도 6에서는 첫 번째 슬라이스가 4 개의 코딩 트리 유닛을 포함하는 독립 슬라이스 시그먼트(610)와 슬라이스 시그먼트 경계(630)를 전후로 32개의 코딩 트리 유닛을 포함하는 제1 종속 슬라이스 시그먼트(620) 및 24개의 코딩 트리 유닛을 포함하는 제2 종속 슬라이스 시그먼트(640)로 구성되는 경우를 예로서 도시하고 있다. 또한, 도 6에서는, 또 하나의 독립 슬라이스 시그먼트(660)가 28개의 코딩 트리 유닛으로 구성되는 경우를 예로서 도시하고 있다.
타일(tile)은 코딩 트리 유닛, 코딩 트리 블록 또는 최대 코딩 유닛의 시퀀스일 수 있다. 코딩 트리 유닛은 쿼드 트리(Quad-Tree) 구조의 코딩 유닛으로서, 최대 크기 코딩 유닛(Largest Coding Unit: LCU)일 수 있다. 앞서 말한 바대로, 본 명세서에서는 발명의 이해를 돕기 위해 필요한 곳에서 코딩 트리 유닛, 최대 코딩 유닛을 혼용하여 설명한다.
구체적으로, 타일은 하나의 행(row) 및 하나의 열(column)로 규정될 수 있는 영역 내에 함께 나타나는(co-occurring) 정수 개의 코딩 트리 블록들 또는 최대 코딩 유닛들일 수 있다. 이때, 코딩 트리 블록들은 타일의 코딩 트리 블록 스캔 순서, 예컨대 래스터(raster) 스캔 순서에 따라서 연속적으로 정렬된다.
타일은 픽처 내 스캔의 단위일 수 있으며, 따라서, 타일은 픽처 내에서 픽처의 스캔 순서 예컨대, 래스터 스캔 순서에 따라서 연속적으로 정렬될 수 있다.
각 슬라이스와 타일에 대해서는 다음 두 조건이 모두 성립되거나 적어도 하나가 성립된다. (1) 슬라이스 내의 모든 코딩 트리 유닛 또는 최대 코딩 유닛은 동일한 타일에 속한다. (2) 타일 내의 모든 코딩 트리 유닛 또는 최대 코딩 유닛은 동일한 슬라이스에 속한다.
따라서, 동일한 픽처 내에서 복수의 타일을 포함하는 슬라이스들과 복수의 슬라이스를 포함하는 타일이 존재할 수 있다.
또한, 각 슬라이스 시그먼트와 타일에 대해서는 다음 두 조건이 모두 성립되거나 적어도 하나가 성립된다. (1) 슬라이스 시그먼트 내의 모든 코딩 트리 유닛 또는 최대 코딩 유닛은 동일한 타일에 속한다. (2) 타일 내의 모든 코딩 트리 유닛 또는 최대 코딩 유닛은 동일한 슬라이스 시그먼트에 속한다.
도 7은 타일과 슬라이스에 관한 일 예를 개략적으로 설명하는 도면이다.
픽처 내에서 타일은 타일 경계를 기준으로 복수의 타일로 나뉠 수 있다. 도 7에서는 현재 픽처(700)가 하나의 슬라이스만 포함하며 타일 경계(710)에 의해 좌우의 두 타일로 나뉘는 경우를 예로서 도시하고 있다.
타일과 슬라이스는 병존할 수 있으며, 도 7에서는 현재 픽처(700) 내의 슬라이스가 독립 슬라이스 시그먼트(720)와 슬라이스 시그먼트 경계(730, 740, 750)에 의해 나뉘는 4 개의 종속 슬라이스 시그먼트들로 구성되는 경우을 예로서 도시하고 있다.
도 8은 타일과 슬라이스에 관한 다른 예를 개략적으로 설명하는 도면이다.
도 8에서도 현재 픽처(800)가 타일 경계(810)에 의해 좌우의 두 타일로 나뉘는 경우를 예로서 도시하고 있다.
도 8의 예에서, 타일 경계(810) 좌측의 타일은 슬라이스 경계(850)을 기준으로 하는 두 개의 슬라이스를 포함하고 있다.
슬라이스는 앞서 설명한 바와 같이, 독립 슬라이스를 포함하며, 종속 슬라이스가 존재하는 경우, 종속 슬라이스를 포함할 수도 있다. 도 8에서는, 슬라이스 경계(850) 위쪽의 슬라이스가 독립 슬라이스 시그먼트(820)과 종속 슬라이스 시그먼트(840)을 포함하며, 슬라이스 경계(850) 아래쪽의 슬라이스는 독립 슬라이스 시그먼트(830)과 종속 슬라이스 시그먼트(860)을 포함하는 경우를 예로서 도시하고 있다. 또한, 도 8의 예에서, 슬라이스 경계(890)를 기준으로 하는 다음 슬라이스, 즉 두 번째 타일 내의 슬라이스는 독립 슬라이스 시그먼트(830)과 종속 슬라이스 시그먼트(880)을 포함한다.
타일과 슬라이스는 독립적인 디코딩의 처리 단위가 될 수 있다. 예컨대, 병렬적인 디코딩이 진행되는 경우에, 각 타일은 단일 프로세싱 코어에 의해 디코딩될 수 있으며, 각 슬라이스도 단일 프로세싱 코어에 의해 디코딩될 수 있다.
이와 관련하여, 도 7과 도 8에서 볼 수 있듯이, 슬라이스와 타일이 연속적인 코딩 트리 블록(코딩 트리 유닛)의 시퀀스이지만, 타일은 특정한 형태를 가질 수 있다. 예컨대, 타일은 상술한 바와 같이, 픽처 내에서 수직 경계에 의해 구분되며 코딩 트리 블록으로 구성되는 열(column)과 픽처 내에서 수평 경계에 의해 구분되며 코딩 트리 블록으로 구성되는 행(row)을 고려할 때, 타일은 하나의 행과 하나의 열 내에 동시에 존재하는 정수 개의 코딩 트리 블록들로 구성된다고 할 수 있다. 따라서, 타일은 슬라이스와 달리 직사각형의 영역일 수 있다.
이와 같이, 디코딩 처리에 있어서 슬라이스와 타일 간 차이가 존재한다.
일 예로, 슬라이스의 경우에는 각 슬라이스 시그먼트에 데이터 요소를 포함하는 슬라이스 시그먼트 헤더가 존재한다. 상술한 바와 같이, 독립 슬라이스 시그먼트의 슬라이스 시그먼트 헤더는 슬라이스 헤더로 불리운다.
반면에 타일의 경우는 슬라이스 헤더가 존재하지 않는다.
따라서, 타일의 경우는 앞서 설명한 코딩 트리 블록의 행 또는 열의 경계에 의해 발생하는 단절(break)에 대해 타일 간 종속성이 발생하지 않는다. 반면에, 슬라이스의 경우, 코딩 트리 블록의 행 또는 열의 경계 의해서 디코딩 시의 종속성이 문제된다. 다시 말하면, 행 또는 열을 경계로 슬라이스가 병렬적으로 처리되는 경우에 슬라이스 헤더의 정보를 가지고 있지 못한 측에서는 디코딩이 수행되기 어려워질 수 있다.
따라서, 상술한 바와 같이, 타일과 슬라이스 간에 소정의 제한이 필요할 수 있다.
이하, 도면을 참조하여, 타일과 슬라이스 사이의 관계 혹은 제한에 대하여 구체적으로 설명한다.
현재 슬라이스와 타일 사이의 관계는 엄격한 제한을 두고 있지 않다. 하나 이상의 타일이 슬라이스 내에 있을 수 있고, 하나 이상의 슬라이스가 타일 내에 있을 수도 있다는 것만을 전제로 한 현재 슬라이스와 타일 사이의 관계를 두고 느슨한 관계라고 표현할 수도 있다.
이런 느슨한 관계는 디코딩 처리 과정의 디자인에 있어서 유연성을 부여하기도 하지만, (1) 병렬 처리의 정도를 제한하고, (2) 계산 복잡도를 증가시키는 문제를 야기할 수 있다.
도 9는 병렬 처리에 문제가 발생할 수 있는 경우를 간단히 예시하는 도면이다.
인코딩 장치가 픽처를 도 9에 도시된 바와 같이 파티셔닝했다고 가정하자. 도 9를 참조하면, 픽처 내 영역(900)는 타일 1(910)과 타일 2(920)로 구성된다. 또한, 픽처 내 영역(900)은 두 개의 슬라이스로 구성된다. 픽처 내 영역(900)은 픽처 내 일부 영역일 수도 있고, 전체 픽처일 수도 있다.
첫 번째 슬라이스는 10개의 코딩 트리 블록((1,1)∼(2,10))을 포함하며, 두 번째 슬라이스는 6개의 코딩 트리 블록((2,1)∼(2,6))을 포함한다.
디코딩 처리의 주체인 프로세싱 코어 1과 프로세싱 코어 2가 서로 다른 타일들을 병렬적으로 처리하는 경우를 가정하자. 예컨대, 도 9의 경우에서는 프로세싱 코어 1은 타일 1(910)을 처리하고, 프로세싱 코어 2는 타일 2(920)를 처리한다. 도 9와 같은 경우에 발생할 수 있는 문제의 하나는 프로세싱 코어 2가 디코딩을 수행할 수 없다는 것이다.
왜냐하면, 타일 2(920)의 첫 번째 LCU(코딩 트리 블록)이 슬라이스의 개시 부분이 아니기 때문에 슬라이스 헤더의 정보를 가지고 있지 않다. 따라서, 도 9의 예와 같은 경우에, 프로세싱 헤더는 슬라이스 헤더의 정보를 이용하는 디코딩을 수행하기 어렵게 된다.
또한, 도 9의 예에서, 타일들이 독립적이라면, LCU (1,9)과 LCU (1,10)을 디코딩 하는 경우에, 다른 문제가 발생할 수도 있다. 예컨대, 독립적인 타일이 이용되는 경우에, 타일 경계에서는 인트라 예측이 허용되지 않으므로, LCU (1,9)와 LCU (1,10)은 LCU (1,5)과 LCU (1,6)을 참조할 수 없게 된다. 하지만, LCU (1,9), LCU (1,10), LCU (1,5), LCU (1,6)가 동일한 슬라이스 내에 있고, 슬라이스 내에서는 인트라 예측에 있어서 참조 픽셀에 관해 도 9의 경우에 적용할만한 제한이 없으므로, 디코딩 과정에서 혼돈이 생길 수 있다.
따라서, 병렬 처리에서 발생할 수 있는 혼돈과 복잡도를 줄이기 위해, 다음과 같은 제한을 둘 수 있다.
한 픽처 내에서, 타일은 슬라이스 경계를 넘을 수 없고 슬라이스는 타일 경계를 넘을 수 없다. 다시 말하면, 슬라이스가 타일을 포함하는 경우에 슬라이스 내에는 정수 개의 타일이 존재해야 하고, 타일이 슬라이스를 포함하는 경우에 타일 내에는 정수 개의 슬라이스가 존재해야 한다.
구체적으로,
(1) 한 픽처는 하나 이상의 슬라이스 및/또는 하나 이상의 타일로 분할(partitioning)될 수 있다.
(2) 타일이 슬라이스를 포함하는 경우에, 타일 내에는 완전한 슬라이스(complete slice)가 정수 개 존재해야 한다.
(3) 슬라이스가 타일을 포함하는 경우에, 슬라이스 내에는 완전한 타일(complete tile)이 정수 개 존재해야 한다.
이때, 완전한 타일은 하나의 타일로서, 한 타일의 부분으로 나뉘지 않은 전체를 의미한다. 완전한 슬라이스는 하나의 슬라이스로서, 한 슬라이스의 부분으로 나뉘지 않은 전체를 의미한다.
이하, 도면을 참조하여, 본 발명에 따른 타일과 슬라이스 사이의 제한을 기반으로 허용되는 경우와 허용되지 않는 경우를 설명한다.
상기 타일과 슬라이스 사이의 제한을 고려하면, (1) 픽처는 하나 이상의 타일 및 또는 하나 이상의 슬라이스를 포함할 수 있고, (2) 타일이 슬라이스를 포함하는 경우에, 타일은 완전한 슬라이스를 정수 개 포함할 수 있으며, (3) 슬라이스가 타일을 포함하는 경우에, 슬라이스는 완전한 타일을 정수 개 포함할 수 있다.
우선 픽처가 두 개 이상의 슬라이스나 두 개 이상의 타일로 분할되지 않는 경우에도 본 발명에 따른 제한을 만족할 수 있다.
도 10은 본 발명에 따른 타일과 슬라이스의 일 예를 개략적으로 나타낸 도면이다. 도 10에서는 픽처(1010)가 4x4 LCU(코딩 트리 블록)의 크기인 경우를 예로서 설명한다.
도 10을 참조하면, 픽처(1010)는 분할되지 않고, 하나의 슬라이스와 하나의 타일을 포함한다. 하나의 슬라이스 내에 하나의 타일이 존재하고, 하나의 타일 내에 하나의 슬라이스가 존재한다고 할 수 있다. 따라서, 도 10의 예는 본 발명에 따른 제한을 위반하지 않으므로 허용된다고 할 수 있다.
픽처가 둘 이상의 슬라이스로 분할되는 경우에, 한 슬라이스는 하나의 타일에만 속함으로써 본 발명의 제한을 만족할 수 있다.
도 11은 본 발명에 따른 타일과 슬라이스의 다른 예를 개략적으로 나타낸 도면이다. 도 11에서는 픽처(1110)가 4x4 LCU(코딩 트리 블록)의 크기인 경우를 예로서 설명한다.
도 11을 참조하면, 픽처(1110)는 하나의 타일과 두 개의 슬라이스를 포함하며, 타일이 두 개의 완전한 슬라이스를 포함한다. 따라서, 도 11의 예는 본 발명에 따른 제한을 위반하지 않으므로 허용된다고 할 수 있다.
도 12는 본 발명에 따른 타일과 슬라이스의 또 다른 예를 개략적으로 나타낸 도면이다. 도 12에서는 픽처(1210)가 6x6 LCU(코딩 트리 블록)의 크기인 경우를 예로서 설명한다.
도 12를 참조하면, 픽처(1210)는 세 개의 타일과 세 개의 슬라이스를 포함한다. 도 12의 예에서 각 타일은 하나의 슬라이스를 포함한다고 할 수도 있고, 각 슬라이스는 하나의 타일을 포함한다고 할 수도 있다. 따라서, 도 12의 예는 본 발명에 따른 제한을 위반하지 않으므로 허용된다고 할 수 있다.
하나의 픽처가 여러 타일로 분할되지만 하나의 슬라이스인 경우에도 본 발명의 제한을 만족할 수 있다.
도 13은 본 발명에 따른 타일과 슬라이스의 또 다른 예를 개략적으로 나타낸 도면이다. 도 13에서는 픽처(1310)가 6x6 LCU(코딩 트리 블록)의 크기인 경우를 예로서 설명한다.
도 13을 참조하면, 픽처(1310)는 세 개의 타일과 세 개의 슬라이스를 포함한다. 도13의 예에서 각 타일은 하나의 슬라이스를 포함한다고 할 수도 있고, 각 슬라이스는 하나의 타일을 포함한다고 할 수도 있다. 따라서, 도 13의 예는 본 발명에 따른 제한을 위반하지 않으므로 허용된다고 할 수 있다.
도 14는 본 발명에 따른 타일과 슬라이스의 또 다른 예를 개략적으로 나타낸 도면이다. 도 14에서는 픽처(1410)가 4x4 LCU(코딩 트리 블록)의 크기인 경우를 예로서 설명한다.
도 14를 참조하면, 픽처(1410)는 두 개의 타일과 하나의 슬라이스를 포함한다. 도 14의 예에서, 슬라이스는 두 개의 완전한 타일을 포함한다. 따라서, 도 14의 예는 본 발명에 따른 제한을 위반하지 않으므로 허용된다고 할 수 있다.
도 15는 본 발명에 따른 타일과 슬라이스의 또 다른 예를 개략적으로 나타낸 도면이다. 도 15에서는 픽처(1510)가 4x4 LCU(코딩 트리 블록)의 크기인 경우를 예로서 설명한다.
도 15를 참조하면, 픽처(1510)는 두 개의 타일과 하나의 슬라이스를 포함한다. 도 15의 예에서, 슬라이스는 두 개의 완전한 타일을 포함한다. 따라서, 도 15의 예는 본 발명에 따른 제한을 위반하지 않으므로 허용된다고 할 수 있다.
도 16은 본 발명에 따른 타일과 슬라이스의 또 다른 예를 개략적으로 나타낸 도면이다. 도 16에서는 픽처(1610)가 6x6 LCU(코딩 트리 블록)의 크기인 경우를 예로서 설명한다.
도 16을 참조하면, 픽처는 세 개의 타일과 하나의 슬라이스를 포함한다. 도 16의 예에서, 슬라이스는 세 개의 완전한 타일을 포함한다. 따라서, 도 16의 예는 본 발명에 따른 제한을 위반하지 않으므로 허용된다고 할 수 있다.
도 17은 본 발명에 따른 타일과 슬라이스의 또 다른 예를 개략적으로 나타낸 도면이다. 도 17에서는 픽처(1710)가 6x6 LCU(코딩 트리 블록)의 크기인 경우를 예로서 설명한다.
도 17을 참조하면, 픽처(1710)는 세 개의 타일과 하나의 슬라이스를 포함한다. 도 17의 예에서, 슬라이스는 세 개의 완전한 타일을 포함한다. 따라서, 도 17의 예는 본 발명에 따른 제한을 위반하지 않으므로 허용된다고 할 수 있다.
하나의 픽처가 여러 타일로 분할되고, 각 타일마다 하나의 슬라이스가 속하는 경우에도 본 발명의 제한을 만족할 수 있다.
도 18은 본 발명에 따른 타일과 슬라이스의 또 다른 예를 개략적으로 나타낸 도면이다. 도 18에서는 픽처(1810)가 6x6 LCU(코딩 트리 블록)의 크기인 경우를 예로서 설명한다.
도 18을 참조하면, 픽처(1810)는 6 개의 타일과 6 개의 슬라이스를 포함한다. 도 18의 예에서는, 각 슬라이스가 하나의 타일을 포함한다고도 할 수 있고, 각 타일이 하나의 슬라이스를 포함한다고도 할 수 있다. 따라서, 도 18의 예는 본 발명에 따른 제한을 위반하지 않으므로 허용된다고 할 수 있다.
도 19는 본 발명에 따른 타일과 슬라이스의 또 다른 예를 개략적으로 나타낸 도면이다. 도 19에서는 픽처(1910)가 6x6 LCU(코딩 트리 블록)의 크기인 경우를 예로서 설명한다.
도 19를 참조하면, 픽처(1910)는 6 개의 타일과 6 개의 슬라이스를 포함한다. 도 19의 예에서는, 각 슬라이스가 하나의 타일을 포함한다고도 할 수 있고, 각 타일이 하나의 슬라이스를 포함한다고도 할 수 있다. 따라서, 도 19의 예는 본 발명에 따른 제한을 위반하지 않으므로 허용된다고 할 수 있다.
하나의 픽처가 여러 슬라이스와 여러 픽처로 분할되고, 각 슬라이스 내에 하나 이상의 타일이 속하는 경우에도 본 발명의 제한을 만족할 수 있다.
도 20은 본 발명에 따른 타일과 슬라이스의 또 다른 예를 개략적으로 나타낸 도면이다. 도 20에서는 픽처(2010)가 6x6 LCU(코딩 트리 블록)의 크기인 경우를 예로서 설명한다.
도 20을 참조하면, 픽처(2010)는 3 개의 타일과 2 개의 슬라이스를 포함한다. 도 20의 예에서, 첫 번째 슬라이스는 두 개의 타일을 포함하며, 두 번째 슬라이스는 하나의 타일을 포함한다. 따라서, 도 20의 예는 본 발명에 따른 제한을 위반하지 않으므로 허용된다고 할 수 있다.
이하, 도면을 참조하여 본 발명의 제한을 만족하지 않는 경우의 예들을 설명한다.
도 21은 본 발명에 따른 제한을 만족하지 않으므로 허용되지 않는 슬라이스와 타일의 일 예를 개략적으로 나타낸 것이다. 도 21에서는 픽처(2110)가 4x4 LCU(코딩 트리 블록)의 크기인 경우를 예로서 설명한다.
도 21을 참조하면, 픽처(2110)는 두 개의 타일과 두 개의 슬라이스를 포함한다.
타일이 슬라이스를 포함한다고 하는 관점에서 보면, 첫 번째 타일(위쪽 타일)은 하나의 완전한 슬라이스와 슬라이스의 일부를 포함하며, 두 번째 타일(아래쪽 타일)은 슬라이스의 일부를 포함한다.
또한, 슬라이스가 타일을 포함한다고 하는 관점에서 보더라도, 첫 번째 슬라이스는 하나의 완전한 타일과 타일의 일부를 포함하며, 두 번째 슬라이스는 타일의 일부를 포함한다.
따라서, 도 21의 예는 앞서 설명한 본 발명에 따른 슬라이스와 타일에 관한 제한 중 (2) 타일이 슬라이스를 포함하는 경우에, 타일 내에는 완전한 슬라이스(complete slice)가 정수 개 존재해야 하고, (3) 슬라이스가 타일을 포함하는 경우에, 슬라이스 내에는 완전한 타일(complete tile)이 정수 개 존재해야 한다는 제한을 위반하므로 허용되지 않는다.
도 22는 본 발명에 따른 제한을 만족하지 않으므로 허용되지 않는 슬라이스와 타일의 다른 예를 개략적으로 나타낸 것이다. 도 22에서는 픽처(2210)가 4x4 LCU(코딩 트리 블록)의 크기인 경우를 예로서 설명한다.
도 22를 참조하면, 픽처(2210)는 두 개의 타일과 두 개의 슬라이스를 포함한다.
타일이 슬라이스를 포함한다는 관점에서 보면, 첫 번째 타일(위쪽 타일)은 완전한 슬라이스가 아니라 슬라이스의 일부를 포함하며, 두 번째 타일(아래쪽 타일)은 하나의 완전한 슬라이스와 슬라이스의 일부를 포함한다.
또한, 슬라이스가 타일을 포함한다고 하는 관점에서 보더라도, 첫 번째 슬라이스는 하나의 완전한 타일이 아닌 타일의 일부를 포함하며, 두 번째 슬라이스는 하나의 타일과 타일의 일부를 포함한다.
따라서, 도 22의 예는 앞서 설명한 본 발명에 따른 슬라이스와 타일에 관한 제한 중 (2) 타일이 슬라이스를 포함하는 경우에, 타일 내에는 완전한 슬라이스(complete slice)가 정수 개 존재해야 하고, (3) 슬라이스가 타일을 포함하는 경우에, 슬라이스 내에는 완전한 타일(complete tile)이 정수 개 존재해야 한다는 제한을 위반하므로 허용되지 않는다.
도 23은 본 발명에 따른 제한을 만족하지 않으므로 허용되지 않는 슬라이스와 타일의 또 다른 예를 개략적으로 나타낸 것이다. 도 23에서는 픽처(2310)가 6x6 LCU(코딩 트리 블록)의 크기인 경우를 예로서 설명한다.
도 23을 참조하면, 픽처(2310)는 두 개의 타일과 세 개의 슬라이스를 포함한다.
타일이 슬라이스를 포함한다는 관점에서 보면, 첫 번째 타일(위쪽 타일)은 완전한 두 개의 슬라이스가 아니라, 하나의 완전한 슬라이스와 슬라이스의 일부를 포함하며, 두 번째 타일(아래쪽 타일)도 하나의 완전한 슬라이스와 슬라이스의 일부를 포함한다. 또한, 두 번째 슬라이스들도 하나의 타일이 아닌 두 타일에 속하고 있다.
또한, 슬라이스가 타일을 포함한다는 관점에서 보더라도, 세 슬라이스 모두 완전한 타일이 아닌, 타일의 일부(들)을 포함하고 있다.
따라서, 도 23의 예는 앞서 설명한 본 발명에 따른 슬라이스와 타일에 관한 제한 중 (2) 타일이 슬라이스를 포함하는 경우에, 타일 내에는 완전한 슬라이스(complete slice)가 정수 개 존재해야 하고, (3) 슬라이스가 타일을 포함하는 경우에, 슬라이스 내에는 완전한 타일(complete tile)이 정수 개 존재해야 한다는 제한을 위반하므로 허용되지 않는다.
도 24는 본 발명에 따른 인코딩 방법을 개략적으로 설명하는 순서도이다.
도 24를 참조하면, 인코딩 장치는 입력된 픽처를 분할할 수 있다(S2410). 인코딩 장치는 입력된 픽처를 분할하여 타일과 슬라이스를 특정할 수 있다. 픽처는 하나 이상의 타일과 하나 이상의 슬라이스로 분할될 수 있으며, 타일과 슬라이스에는 병렬 처리를 위한 제한이 적용될 수 있다. 또한, NSQT또는 AMP를 적용한다고 결정한 경우에, 픽처는 비정방형 변환 블록 또는 비대칭 예측 블록으로 분할될 수도 있다.
예컨대, 입력된 픽처 내에서 타일은 슬라이스의 경계를 넘을 수 없고, 슬라이스는 타일의 경계를 넘을 수 없다.
또한, 타일이 슬라이스를 포함하는 경우에 타일은 정수 개의 완전한 슬라이스를 포함하고, 슬라이스가 타일을 포함하는 경우에 슬라이스는 정수 개의 완전한 타일을 포함할 수 있다.
인코딩 장치는 타일과 슬라이스를 기반으로 인코딩을 수행할 수 있다(S2420). 픽처는 하나 이상의 타일과 하나 이상의 슬라이스로 분할될 수 있으며, 타일과 슬라이스에는 병렬 처리를 위한 제한이 적용되므로, 인코딩 장치는 각 프로세싱 코어를 통해 타일 및/또는 슬라이스를 병렬적으로 인코딩할 수 있다.
또한, NSQT가 적용되는 경우에 인코딩 장치는 해당 비정방형 블록에 대해 변환을 수행할 수 있고, AMP가 적용되는 경우에 인코딩 장치는 해당 비대칭 블록에 대해 예측을 수행할 수 있다.
인코딩 장치는 인코딩된 비디오 정보를 전송할 수 있다(S2430). 이때, 비디오 정보는 상기 병렬 처리를 위한 제한에 기반하여 특정된 슬라이스와 타일에 관한 정보를 포함할 수 있다. 다시 말하면, 비디오 정보에 포함된 타일과 슬라이스의 정보는, 타일이 슬라이스를 포함하는 경우에 타일은 정수 개의 완전한 슬라이스를 포함하고 슬라이스가 타일을 포함하는 경우에 슬라이스는 정수 개의 완전한 타일을 포함한다는 제한에 기반하여 특정된 타일과 슬라이스의 정보일 수 있다.
또한, 비디오 정보는 NSQT와 AMP의 적용 여부를 제한하는 정보를 포함할 수도 있다. 예컨대, 비디오 정보는 NSQT의 적용 여부를 지시하는 정보를 포함할 수 있다. 또한, 비디오 정보는 AMP의 적용 여부를 지시하는 정보를 포함할 수도 있다.
도 24에서는 설명의 편의를 위해, 인코딩 장치가 각 단계를 수행하는 것으로 설명하였으나, 이는 설명의 편의를 위한 것으로 본 발명은 이에 한정되지 않는다. 예컨대, S2410 단계는 도 1의 픽처 분할부(105)에서 수행될 수 있으며, S2420 단계는 도 1에서 픽처 분할부(105)를 제외한 각 기능 블록에서 수행될 수 있고, S2430 단계는 별도의 전송부 혹은 엔트로피 인코딩부(130)를 통해서 수행될 수 있다. 이때, 전송부가 별도로 구비되는 대신 엔트로피 인코딩부(130)에 포함될 수도 있다.
도 25는 본 발명에 따른 디코딩 방법을 개략적으로 설명하는 순서도이다.
도 25를 참조하면, 디코딩 장치는 비디오 정보를 수신할 수 있다(S2510). 디코딩 장치는 인코딩 장치로부터 전송된 비디오 정보를 수신할 수 있으며, 비디오 정보는 현재 픽처 내 타일과 슬라이스를 특정하는 정보를 포함할 수 있다.
또한, 비디오 정보는 NSQT와 AMP의 적용 여부를 제한하는 정보를 포함할 수도 있다. 예컨대, 비디오 정보는 NSQT의 적용 여부를 지시하는 정보를 포함할 수 있으며, 비디오 정보는 AMP의 적용 여부를 지시하는 정보를 포함할 수도 있다.
디코딩 장치는 수신한 비디오 정보를 기반으로 현재 픽처의 파티션(partition)을 특정할 수 있다(S2520). 디코딩 장치는 비디오 정보에 포함된 타일과 슬라이스를 특정하는 정보를 기반으로 현재 픽처의 슬라이스와 타일을 특정한다. 이때, 현재 픽처는 하나 이상의 타일과 하나 이상의 슬라이스로 분할될 수 있으며, 타일과 슬라이스에는 병렬 처리를 위한 제한이 적용될 수 있다.
예컨대, 입력된 픽처 내에서 타일은 슬라이스의 경계를 넘을 수 없고, 슬라이스는 타일의 경계를 넘을 수 없다.
또한, 타일이 슬라이스를 포함하는 경우에 타일은 정수 개의 완전한 슬라이스를 포함하고, 슬라이스가 타일을 포함하는 경우에 슬라이스는 정수 개의 완전한 타일을 포함할 수 있다.
또한, 비디오 정보가 NSQT또는 AMP를 적용한다고 지시하는 경우에, 픽처는 비정방형 변환 블록 또는 비대칭 예측 블록으로 분할되어 처리될 수도 있다.
디코딩 장치는 특정된 타일과 슬라이스를 기반으로 디코딩을 수행할 수 있다(S2530). 픽처는 하나 이상의 타일과 하나 이상의 슬라이스로 분할될 수 있으며, 타일과 슬라이스에는 병렬 처리를 위한 제한이 적용되므로, 디코딩 장치는 각 프로세싱 코어를 통해 타일 및/또는 슬라이스를 병렬적으로 디코딩할 수 있다.
또한, NSQT가 적용되는 경우에 디코딩 장치는 해당 비정방형 블록에 대해 변환을 수행할 수 있고, AMP가 적용되는 경우에 디코딩 장치는 해당 비대칭 블록에 대해 예측을 수행할 수 있다.
여기서는 디코딩 장치가 도 25의 각 단계를 수행하는 것으로 설명하였으나, 이는 설명의 편의를 위한 것으로서, 본 발명은 이에 한정되지 않는다. 예컨대, S2510 단계는 별도의 수신부 혹은 엔트로피 디코딩부에서 수행될 수 있다. 수신부는 별도로 구비되지 않고 엔트로피 디코딩부 내에 포함될 수도 있다. 또한, S2520 단계와 S2530 단계는 도 2의 각 기능 블록에서 수행될 수 있다. 예컨대, 수신을 제외한 다른 기능을 담당하는 유닛들을 디코딩부라고 할 때, S2520 및 S2530은 디코딩부에서 수행할 수 있다. 또한, 엔트로피 디코딩부가 수신부를 포함하는 경우에, S2510 단계 역시 디코딩부 내 수신부에서 수신할 수도 있다.
상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함한다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (4)

  1. 디코딩 장치에 의하여 수행되는 비디오 디코딩 방법에 있어서,
    비트스트림으로부터 타일에 대한 정보 및 슬라이스에 대한 정보를 포함하는 비디오 정보를 획득하는 단계;
    상기 비디오 정보를 기반으로 현재 픽처 내 타일과 슬라이스를 도출하는 단계; 및
    상기 도출된 타일과 슬라이스를 기반으로 상기 현재 픽처에 대한 디코딩을 수행하는 단계를 포함하되,
    상기 현재 픽처는 하나 이상의 타일과 하나 이상의 슬라이스로 분할되고,
    코딩 트리 유닛은 쿼드 트리 구조를 기반으로 코딩 유닛들로 분할되고,
    상기 현재 픽처 내 각 슬라이스는 타일에 대해 특정 제한들 중 적어도 하나를 만족하고,
    상기 특정 제한들은 1) 각 슬라이스는 정수 개의 완전한 타일들을 포함하고, 2) 각 슬라이스에 포함되는 모든 코딩 트리 유닛들은 같은 타일에 속하는 것을 포함하며,
    하나의 슬라이스가 정수 개의 완전한 타일들을 포함하는 것을 기반으로, 상기 하나의 슬라이스는 복수의 타일들을 포함하고, 상기 하나의 슬라이스의 수직 경계는 항상 상기 복수의 타일들의 수직 경계에 대응되고,
    상기 하나의 슬라이스에 포함되는 모든 코딩 트리 유닛들이 같은 타일에 속하는 것을 기반으로, 하나의 타일은 복수의 슬라이스들을 포함하고, 상기 하나의 타일의 수직 경계는 항상 상기 복수의 슬라이스들의 수직 경계에 대응되는 것을 특징으로 하는 비디오 디코딩 방법.
  2. 인코딩 장치에 의하여 수행되는 비디오 인코딩 방법에 있어서,
    현재 픽처를 분할하여 타일과 슬라이스를 도출하는 단계;
    상기 타일과 슬라이스를 기반으로 인코딩을 수행하는 단계; 및
    상기 인코딩을 기반으로 도출된 인코딩된 비디오 정보를 출력하는 단계를 포함하되,
    상기 현재 픽처는 하나 이상의 타일과 하나 이상의 슬라이스로 분할되고,
    코딩 트리 유닛은 쿼드 트리 구조를 기반으로 코딩 유닛들로 분할되고,
    상기 현재 픽처 내 각 슬라이스는 타일에 대해 특정 제한들 중 적어도 하나를 만족하고,
    상기 특정 제한들은 1) 각 슬라이스는 정수 개의 완전한 타일들을 포함하고, 2) 각 슬라이스에 포함되는 모든 코딩 트리 유닛들은 같은 타일에 속하는 것을 포함하며,
    하나의 슬라이스가 정수 개의 완전한 타일들을 포함하는 것을 기반으로, 상기 하나의 슬라이스는 복수의 타일들을 포함하고, 상기 하나의 슬라이스의 수직 경계는 항상 상기 복수의 타일들의 수직 경계에 대응되고,
    상기 하나의 슬라이스에 포함되는 모든 코딩 트리 유닛들이 같은 타일에 속하는 것을 기반으로, 하나의 타일은 복수의 슬라이스들을 포함하고, 상기 하나의 타일의 수직 경계는 항상 상기 복수의 슬라이스들의 수직 경계에 대응되는 것을 특징으로 하는 비디오 인코딩 방법.
  3. 제2항의 비디오 인코딩 방법에 의해 생성된 비트스트림을 저장하는 컴퓨터 판독 가능한 디지털 저장 매체.
  4. 비디오에 관한 데이터의 전송 방법에 있어서,
    상기 비디오에 관한 비트스트림을 획득하되, 상기 비트스트림은 현재 픽처를 분할하여 타일과 슬라이스를 도출하는 단계, 상기 타일과 슬라이스를 기반으로 인코딩을 수행하는 단계, 및 상기 인코딩을 기반으로 도출된 인코딩된 비디오 정보를 출력하는 단계를 기반으로 생성되는 단계; 및
    상기 비트스트림을 포함하는 상기 데이터를 전송하는 단계를 포함하고,
    상기 현재 픽처는 하나 이상의 타일과 하나 이상의 슬라이스로 분할되고,
    코딩 트리 유닛은 쿼드 트리 구조를 기반으로 코딩 유닛들로 분할되고,
    상기 현재 픽처 내 각 슬라이스는 타일에 대해 특정 제한들 중 적어도 하나를 만족하고,
    상기 특정 제한들은 1) 각 슬라이스는 정수 개의 완전한 타일들을 포함하고, 2) 각 슬라이스에 포함되는 모든 코딩 트리 유닛들은 같은 타일에 속하는 것을 포함하며,
    하나의 슬라이스가 정수 개의 완전한 타일들을 포함하는 것을 기반으로, 상기 하나의 슬라이스는 복수의 타일들을 포함하고, 상기 하나의 슬라이스의 수직 경계는 항상 상기 복수의 타일들의 수직 경계에 대응되고,
    상기 하나의 슬라이스에 포함되는 모든 코딩 트리 유닛들이 같은 타일에 속하는 것을 기반으로, 하나의 타일은 복수의 슬라이스들을 포함하고, 상기 하나의 타일의 수직 경계는 항상 상기 복수의 슬라이스들의 수직 경계에 대응되는 것을 특징으로 하는 전송 방법.
KR1020227040785A 2012-02-04 2013-02-01 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치 KR102647848B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020247008189A KR20240038129A (ko) 2012-02-04 2013-02-01 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
KR1020247008190A KR20240038130A (ko) 2012-02-04 2013-02-01 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201261595029P 2012-02-04 2012-02-04
US61/595,029 2012-02-04
US201261595695P 2012-02-07 2012-02-07
US61/595,695 2012-02-07
US201261596669P 2012-02-08 2012-02-08
US61/596,669 2012-02-08
PCT/KR2013/000847 WO2013115606A1 (ko) 2012-02-04 2013-02-01 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
KR1020217019215A KR102470694B1 (ko) 2012-02-04 2013-02-01 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020217019215A Division KR102470694B1 (ko) 2012-02-04 2013-02-01 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020247008190A Division KR20240038130A (ko) 2012-02-04 2013-02-01 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
KR1020247008189A Division KR20240038129A (ko) 2012-02-04 2013-02-01 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치

Publications (2)

Publication Number Publication Date
KR20220162846A true KR20220162846A (ko) 2022-12-08
KR102647848B1 KR102647848B1 (ko) 2024-03-15

Family

ID=48905567

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020247008190A KR20240038130A (ko) 2012-02-04 2013-02-01 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
KR1020147023348A KR102269655B1 (ko) 2012-02-04 2013-02-01 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
KR1020227040785A KR102647848B1 (ko) 2012-02-04 2013-02-01 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
KR1020217019215A KR102470694B1 (ko) 2012-02-04 2013-02-01 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
KR1020247008189A KR20240038129A (ko) 2012-02-04 2013-02-01 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020247008190A KR20240038130A (ko) 2012-02-04 2013-02-01 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
KR1020147023348A KR102269655B1 (ko) 2012-02-04 2013-02-01 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020217019215A KR102470694B1 (ko) 2012-02-04 2013-02-01 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
KR1020247008189A KR20240038129A (ko) 2012-02-04 2013-02-01 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치

Country Status (6)

Country Link
US (7) US9106930B2 (ko)
EP (2) EP4274227A3 (ko)
KR (5) KR20240038130A (ko)
CN (5) CN104285444B (ko)
HK (1) HK1251744A1 (ko)
WO (1) WO2013115606A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240038130A (ko) * 2012-02-04 2024-03-22 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
PL3780606T3 (pl) 2012-06-26 2022-06-20 Lg Electronics Inc. Sposób dekodowania wideo, sposób kodowania wideo oraz środek nośnikowy odczytywalny przez dekoder przechowujący zakodowane informacje wideo
US10244253B2 (en) * 2013-09-13 2019-03-26 Qualcomm Incorporated Video coding techniques using asymmetric motion partitioning
CN105637872B (zh) * 2013-10-16 2019-01-01 夏普株式会社 图像解码装置、图像编码装置
US20150215631A1 (en) * 2014-01-23 2015-07-30 Broadcom Corporation Parallel Coding with Overlapped Tiles
GB2530751A (en) * 2014-09-30 2016-04-06 Sony Corp Video data encoding and decoding
CN105744272B (zh) * 2014-12-09 2019-07-19 深圳力维智联技术有限公司 基于非对称Tile划分的图像编解码方法及其装置
US10462461B2 (en) 2015-02-27 2019-10-29 Kddi Corporation Coding device and decoding device which allow encoding of non-square blocks
US9971791B2 (en) * 2015-09-16 2018-05-15 Adobe Systems Incorporated Method and apparatus for clustering product media files
CA3014259A1 (en) 2016-02-12 2017-08-17 Thomson Licensing A method and device for intra-predictive encoding/decoding a coding unit comprising picture data, said intra-predictive encoding depending on a prediction tree and a transform tree
EP3430808A4 (en) * 2016-03-16 2020-01-15 Mediatek Inc. METHOD AND DEVICE FOR PROCESSING VIDEO DATA WITH RESTRICTED BLOCK SIZE IN VIDEO CODING
US10560718B2 (en) * 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
US11638027B2 (en) 2016-08-08 2023-04-25 Hfi Innovation, Inc. Pattern-based motion vector derivation for video coding
CN116744022A (zh) 2016-11-25 2023-09-12 株式会社Kt 用于对视频进行编码和解码的方法
US20180192071A1 (en) * 2017-01-05 2018-07-05 Mediatek Inc. Decoder-side motion vector restoration for video coding
KR20220127948A (ko) * 2017-03-22 2022-09-20 한양대학교 산학협력단 적응적인 화소 분류 기준에 따른 인루프 필터링 방법
US10049427B1 (en) * 2017-08-15 2018-08-14 Apple Inc. Image data high throughput predictive compression systems and methods
WO2019234613A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Partition tree with partition into 3 sub-blocks by horizontal and vertical splits
JP7210748B2 (ja) * 2018-12-27 2023-01-23 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオエンコーダ、ビデオデコーダ、および対応する方法
KR20220100047A (ko) * 2019-12-23 2022-07-14 엘지전자 주식회사 필터링 기반 영상 코딩 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102269655B1 (ko) * 2012-02-04 2021-06-25 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003224846A (ja) * 2002-01-29 2003-08-08 Matsushita Electric Ind Co Ltd 画像処理装置、復号化装置、符号化装置、画像処理システム、画像処理方法、及び、符号化方法
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
JP5002286B2 (ja) * 2006-04-27 2012-08-15 キヤノン株式会社 画像符号化装置、画像符号化方法、プログラム及び記憶媒体
CN101150719B (zh) * 2006-09-20 2010-08-11 华为技术有限公司 并行视频编码的方法及装置
JP2008109195A (ja) * 2006-10-23 2008-05-08 Canon Inc 画像処理装置
US7460725B2 (en) * 2006-11-09 2008-12-02 Calista Technologies, Inc. System and method for effectively encoding and decoding electronic information
US9313515B2 (en) * 2007-05-16 2016-04-12 Thomson Licensing Methods and apparatus for the use of slice groups in encoding multi-view video coding (MVC) information
EP2150061A4 (en) * 2007-05-21 2011-07-20 Nec Corp VIDEO CODING DEVICE, VIDEO CODING METHOD, AND VIDEO CODING PROGRAM
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
KR100951465B1 (ko) * 2008-05-08 2010-04-07 엘지전자 주식회사 영상 부호화 방법, 복호화 방법, 및 그 기록 매체
US9078007B2 (en) * 2008-10-03 2015-07-07 Qualcomm Incorporated Digital video coding with interpolation filters and offsets
US9338466B2 (en) * 2008-10-15 2016-05-10 France Telecom Method and device for coding an image sequence implementing blocks of different size, signal, data medium, decoding method and device, and computer programs corresponding thereto
US7932843B2 (en) * 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression
KR101590633B1 (ko) * 2008-11-11 2016-02-02 삼성전자주식회사 슬라이스 단위로 분할된 동영상을 처리하는 동영상 부호화/복호화장치 및 동영상 부호화/복호화방법
CN101939994B (zh) * 2008-12-08 2013-07-17 松下电器产业株式会社 图像解码装置及图像解码方法
US8660193B2 (en) * 2009-01-12 2014-02-25 Maxim Integrated Products, Inc. Parallel, pipelined, integrated-circuit implementation of a computational engine
US20100246679A1 (en) * 2009-03-24 2010-09-30 Aricent Inc. Video decoding in a symmetric multiprocessor system
KR101118091B1 (ko) * 2009-06-04 2012-03-09 주식회사 코아로직 비디오 데이터 처리 장치 및 방법
WO2011002914A1 (en) * 2009-06-30 2011-01-06 Massachusetts Institute Of Technology System and method for providing high throughput entropy coding using syntax element partitioning
EP2285111A1 (en) * 2009-08-07 2011-02-16 Canon Kabushiki Kaisha Method for sending compressed data representing a digital image and corresponding device
KR101673186B1 (ko) * 2010-06-09 2016-11-07 삼성전자주식회사 매크로블록의 연관관계를 고려하여 영상 데이터의 부호화 및 복호화를 병렬 처리하는 장치 및 방법
US20120014431A1 (en) * 2010-07-14 2012-01-19 Jie Zhao Methods and Systems for Parallel Video Encoding and Parallel Video Decoding
EP2596638A4 (en) * 2010-07-21 2014-10-15 Ericsson Telefon Ab L M SLICING MANAGEMENT
US20120230399A1 (en) * 2011-03-10 2012-09-13 Christopher Andrew Segall Video decoder parallelization including a bitstream signal
US9325999B2 (en) * 2011-03-10 2016-04-26 Sharp Kabushiki Kaisha Video decoder for slices
US20120230398A1 (en) * 2011-03-10 2012-09-13 Christopher Andrew Segall Video decoder parallelization including slices
CN102118618B (zh) * 2011-03-30 2012-10-31 北京世纪鼎点软件有限公司 基于场编码的h.264多码率视频流实现方法
US9398307B2 (en) * 2011-07-11 2016-07-19 Sharp Kabushiki Kaisha Video decoder for tiles
US8767824B2 (en) * 2011-07-11 2014-07-01 Sharp Kabushiki Kaisha Video decoder parallelization for tiles
US9247258B2 (en) * 2011-10-26 2016-01-26 Qualcomm Incorporated Unified design for picture partitioning schemes
RU2589341C2 (ru) * 2011-11-08 2016-07-10 Телефонактиеболагет Л М Эрикссон (Пабл) Размер элемента мозаичного изображения при кодировании видео
US9749661B2 (en) * 2012-01-18 2017-08-29 Qualcomm Incorporated Sub-streams for wavefront parallel processing in video coding
PL3780606T3 (pl) * 2012-06-26 2022-06-20 Lg Electronics Inc. Sposób dekodowania wideo, sposób kodowania wideo oraz środek nośnikowy odczytywalny przez dekoder przechowujący zakodowane informacje wideo
EP2868094A1 (en) * 2012-06-29 2015-05-06 Telefonaktiebolaget LM Ericsson (PUBL) Apparatus and methods thereof for video processing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102269655B1 (ko) * 2012-02-04 2021-06-25 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A. Fuldseth. Replacing slices with tiles for high level parallelism. JCT-VC of ITU-T and ISO/IEC. JCTVC-D227 Ver.3, Jan. 21, 2011, pp.1-5 *
H. Sasai, et al. Constrained Tile for parallel decoding. JCT-VC of ITU-T and ISO/IEC. JCTVC-H0345 Ver.2, Jan. 31, 2012, pp.1-4 *
T. Lee, et al. Simplification on tiles and slices. JCT-VC of ITU-T and ISO/IEC. JCTVC-H0348 Ver.3, Feb. 1, 2012, pp.1-10 *
W. Wan, et al. Comments on specifying tile support in HEVC Profiles and Levels. JCT-VC of ITU-T and ISO/IEC. JCTVC-H0463 Ver.1, Jan. 21, 2012, pp.1-4 *

Also Published As

Publication number Publication date
US20180367809A1 (en) 2018-12-20
CN107734338B (zh) 2021-01-08
EP4274227A3 (en) 2023-11-29
CN107734339A (zh) 2018-02-23
KR102269655B1 (ko) 2021-06-25
US10681364B2 (en) 2020-06-09
US10091520B2 (en) 2018-10-02
US9635386B2 (en) 2017-04-25
KR102470694B1 (ko) 2022-11-25
HK1251744A1 (zh) 2019-02-01
WO2013115606A1 (ko) 2013-08-08
US9106930B2 (en) 2015-08-11
CN104285444B (zh) 2017-11-14
EP4274227A2 (en) 2023-11-08
KR102647848B1 (ko) 2024-03-15
EP2811742A4 (en) 2015-09-02
CN107613297B (zh) 2020-10-23
US20200260094A1 (en) 2020-08-13
US20140341306A1 (en) 2014-11-20
US20220053203A1 (en) 2022-02-17
CN104285444A (zh) 2015-01-14
CN107734346B (zh) 2020-11-20
KR20210079417A (ko) 2021-06-29
CN107734338A (zh) 2018-02-23
US20170188036A1 (en) 2017-06-29
US20150341650A1 (en) 2015-11-26
CN107734346A (zh) 2018-02-23
KR20240038129A (ko) 2024-03-22
KR20240038130A (ko) 2024-03-22
KR20140130446A (ko) 2014-11-10
US11218713B2 (en) 2022-01-04
CN107734339B (zh) 2021-06-01
US11778212B2 (en) 2023-10-03
CN107613297A (zh) 2018-01-19
EP2811742A1 (en) 2014-12-10
US20230388528A1 (en) 2023-11-30

Similar Documents

Publication Publication Date Title
KR102470694B1 (ko) 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
US20230353741A1 (en) Video encoding method, video decoding method, and apparatus using same
KR102465116B1 (ko) 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
KR102657113B1 (ko) 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치
KR102489001B1 (ko) 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
KR20150096375A (ko) 영상 인코딩/디코딩 방법 및 이를 이용하는 장치
CN113875240A (zh) 使用自适应参数集的视频译码方法和设备

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant