[go: up one dir, main page]

KR102390413B1 - 영상 부호화 또는 복호화하기 위한 장치 및 방법 - Google Patents

영상 부호화 또는 복호화하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR102390413B1
KR102390413B1 KR1020170041140A KR20170041140A KR102390413B1 KR 102390413 B1 KR102390413 B1 KR 102390413B1 KR 1020170041140 A KR1020170041140 A KR 1020170041140A KR 20170041140 A KR20170041140 A KR 20170041140A KR 102390413 B1 KR102390413 B1 KR 102390413B1
Authority
KR
South Korea
Prior art keywords
tiles
tile
merge
merged
information
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020170041140A
Other languages
English (en)
Other versions
KR20180101123A (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 PCT/KR2018/002537 priority Critical patent/WO2018160034A1/ko
Priority to CN201880028688.0A priority patent/CN110603809B/zh
Publication of KR20180101123A publication Critical patent/KR20180101123A/ko
Priority to US16/558,914 priority patent/US10951916B2/en
Application granted granted Critical
Publication of KR102390413B1 publication Critical patent/KR102390413B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/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/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/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/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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

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

본 발명은 영상을 효율적으로 부호화하기 위하여 복수의 타일로 픽처를 분할하는 영상 부호화 또는 복호화에 관한 것이다. 본 발명의 일 측면에 따르면, 복수의 타일(tile)들로 분할된 픽처를 부호화하는 영상 부호화 방법에 있어서, 상기 복수의 타일들 중 일부의 타일들을 병합할지 여부를 지시하는 제1 정보를 부호화하는 단계; 상기 제1 정보가 타일 병합을 지시하는 것으로 부호화된 경우, 상기 복수의 타일들 중 일부의 타일들을 병합하여 하나 이상의 병합 타일(merge tile)을 생성하는 단계, 상기 각 병합 타일은 하나의 타일로 정의됨; 상기 복수의 타일들 중 상기 각 병합 타일로 병합되는 타일들을 지시하기 위한 제2 정보를 부호화하는 단계; 및 상기 각 병합 타일로 병합된 타일들 간의 부호화 의존성에 대한 제약 없이 상기 각 병합 타일을 하나의 타일로 부호화하는 단계를 포함한다.

Description

영상 부호화 또는 복호화하기 위한 장치 및 방법{Apparatus and Method for Video Encoding or Decoding}
본 발명은 영상을 효율적으로 부호화하기 위하여 복수의 타일로 픽처를 분할하는 영상 부호화 또는 복호화에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래 기술을 구성하는 것은 아니다.
최근 영상의 크기 및 해상도, 프레임율이 점차 증가하고 있고, 카메라에 의해 생성된 기존의 2D 자연 영상 이외에 게임이나 360도 영상(이하, '360 영상'이라 함) 등의 비디오 콘텐츠에 대한 수요도 갈수록 증가하고 있다.
360 영상은 여러 대의 카메라로 여러 방향에서 촬영한 영상으로, 여러 장면의 영상을 압축, 전송할 수 있도록 여러 카메라에서 출력된 영상을 하나의 2D 영상으로 스티칭(stitching)하며, 스티칭된 영상은 압축되어 복호화 장치로 전송된다. 복호화 장치는 압축된 영상을 복호화한 이후에 3D로 매핑하여 재생된다. 360 영상은 코딩 포맷(Coding Format)에 따라 다양한 투영 포맷(Projection Format)으로 변환되어 부호화될 수 있다. 투영 포맷의 예로는, 정방형 투영(Equirectangular Projection), 큐브 맵 투영(Cube Map Projection), 사각뿔대 투영(Truncated Square Pyramid Projection) 등이 있다.
360 영상의 경우, 사용자의 시점 변화 등에 따라 화면에 디스플레이되는 영상이 변해야 하므로, 2D 영상을 기반으로 하는 기존의 압축 기술에 따르면 부호화 효율을 향상시키는 데에 한계가 있다. 360 영상의 부호화 및 복호화 효율을 높이기 위해서는, 사용자의 시점에 대응하여 360 영상의 투영 영상에서 ROI(Region Of Interest)를 설정하고, ROI와 그 밖의 영역 간의 화질에 차등을 두어 영상을 부호화 및 복호화할 필요가 있다. 이를 위해서는, 픽처를 여러 영역으로 분할하여 각 영역을 독립적으로 부호화 및 복호화할 수 있는 구조(예: 타일 구조)를 이용해야 한다. 그러나, 기존의 압축 기술에서의 픽처 분할 구조는 이러한 ROI 설정을 위해 충분히 유연하지 못한 점이 있다.
본 발명은 불규칙적인 형태의 타일 구조를 정의함으로써, 타일 경계에서의 이격 문제를 해결하고 부호화 효율을 향상시킬 수 있는 영상 부호화 및 복호화를 위한 방법 및 장치를 제공하는 데 일 목적이 있다.
본 발명의 일 측면에 따르면, 복수의 타일(tile)들로 분할된 픽처를 부호화하는 영상 부호화 방법에 있어서, 상기 복수의 타일들 중 일부의 타일들을 병합할지 여부를 지시하는 제1 정보를 부호화하는 단계; 상기 제1 정보가 타일 병합을 지시하는 것으로 부호화된 경우, 상기 복수의 타일들 중 일부의 타일들을 병합하여 하나 이상의 병합 타일(merge tile)을 생성하는 단계, 상기 각 병합 타일은 하나의 타일로 정의됨; 상기 복수의 타일들 중 상기 각 병합 타일로 병합되는 타일들을 지시하기 위한 제2 정보를 부호화하는 단계; 및 상기 각 병합 타일로 병합된 타일들 간의 부호화 의존성에 대한 제약 없이 상기 각 병합 타일을 하나의 타일로 부호화하는 단계를 포함하는, 영상 부호화 방법을 제공한다.
본 발명의 다른 측면에 따르면, 복수의 타일(tile)들로 분할된 픽처를 복호화하는 영상 복호화 방법에 있어서, 비트스트림으로부터 상기 복수의 타일들 중 일부의 타일들을 병합할지 여부를 지시하는 제1 정보를 복호화하는 단계; 상기 복호화된 제1 정보가 타일 병합을 지시하면, 상기 비트스트림으로부터 상기 복수의 타일들 중 병합되는 타일들을 지시하기 위한 제2 정보를 복호화하는 단계; 및 상기 제2 정보가 지시하는 타일들을 병합하여 하나 이상의 병합 타일(merge tile)을 생성하는 단계, 상기 각 병합 타일은 하나의 타일로 정의됨; 상기 각 병합 타일로 병합된 타일들 간의 복호화 의존성에 대한 제약 없이 상기 각 병합 타일을 하나의 타일로 복호화하는 단계를 포함하는, 영상 복호화 방법을 제공한다.
도 1은 복수의 타일로 분할되어 부호화된 픽처에 대한 예시도이다.
도 2는 복수의 타일로 분할되어 부호화된 픽처에 대한 다른 예시도이다.
도 3은 본 발명의 실시예에 따른 영상 부호화 장치에 대한 블록도이다.
도 4는 본 발명의 실시예에 따른 영상 부호화 장치의 동작방법을 나타내는 흐름도이다.
도 5는 복수의 타일 중 일부의 타일이 병합된 픽처에 각 타일의 식별정보를 표시한 예시도이다.
도 6은 복수의 타일 중 일부의 타일이 병합된 픽처에 각 타일의 위치정보를 표시한 예시도이다.
도 7은 복수의 타일 중 일부의 타일이 병합된 픽처에 각 타일의 병합 여부를 나타내는 정보를 표시한 예시도이다.
도 8은 복수의 병합 타일을 포함하는 픽처에 각 타일의 식별정보를 표시한 예시도이다.
도 9는 복수의 병합 타일을 포함하는 픽처에 각 타일의 위치정보를 표시한 예시도이다.
도 10은 복수의 병합 타일을 포함하는 픽처에 각 타일의 병합 여부 및 병합 타일의 인덱스 정보를 표시한 예시도이다.
도 11은 복수의 병합 타일을 포함하는 픽처에 각 타일의 병합 여부 및 병합 타일의 인덱스 정보를 표시한 다른 예시도이다.
도 12a, 도 12b 및 도 12c는 360 영상의 투영 포맷들에 대한 병합 타일 시나리오들의 예시도이다.
도 13은 본 발명의 실시예에 따른 영상 복호화 장치에 대한 블록도이다.
도 14는 본 발명의 실시예에 따른 영상 복호화 장치의 동작방법을 나타내는 흐름도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 식별 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 복수의 타일로 분할되어 부호화된 픽처에 대한 예시도이다.
도 2는 복수의 타일로 분할되어 부호화된 픽처에 대한 다른 예시도이다.
HEVC(High Efficiency Video Coding) 표준에서, 픽처는 직사각형 영역들인 복수의 타일들로 분할될 수 있다. 픽처는 하나 이상의 세로열로 분할하는 타일로 분할되거나, 하나 이상의 가로열로 분할하는 타일로 분할되거나, 또는 하나 이상의 세로열 및 하나 이상의 가로열로 분할하는 타일들로 분할될 수도 있다. 픽처는 픽처 내 가로열 및 세로열의 길이를 기준으로 균등하게 동일한 크기의 타일들로 분할될 수도 있고, 상이한 크기들의 타일들로 분할될 수도 있다. 다만, 각각의 가로열 타일 개수 및 각각의 세로열 타일 개수는 동일해야 한다.
픽처를 분할하는 복수의 타일들은 각 타일 별로 다른 타일들과는 독립적으로 부호화 및 복호화된다. 여기서, 독립이란 인트라 예측, 인터 예측, 변환, 양자화, 엔트로피, 및 필터를 포함한 부호화 및 복호화 과정들이 분할된 다른 타일들과는 무관하게 수행될 수 있는 것을 의미한다. 다만, 각 타일에 대하여 모든 부호화 및 복호화 과정들이 완전히 독립적으로 수행되는 것을 의미하는 것은 아니고, 인터 예측 또는 인루프 필터 시에 선택적으로 다른 타일의 정보를 이용하여 부호화 및 복호화될 수도 있다.
타일을 위한 하이 레벨 신택스(high level syntax)의 일례는 표 1과 같다.
pic_parameter_set_rbsp( ) {
...
tiles_enabled_flag
...
if( tiles_enabled_flag ) {
num _tile_columns_ minus1
num _tile_rows_ minus1
uniform_spacing_flag
if( !uniform_spacing_flag ) {
for( i = 0; i < num_tile_columns_minus1; i++ )
column_width_ minus1[ i ]
for( i = 0; i < num_tile_rows_minus1; i++ )
row_height_ minus1[ i ]
}
loop_filter_across_tiles_enabled_flag
}
표 1을 참조하면, PPS(Picture Parameter Set) 내의 타일 기능의 온/오프를 지시하는 플래그인 tiles_ enalbed _flag와 해당 플래그가 온(on)되었을 때, 타일의 크기를 지정할 수 있는 다수의 신택스들이 추가적으로 존재한다. 픽처의 가로축 기준으로 분할된 타일의 개수에서 1을 뺀 값인 num _tile_columns_ minus1, 픽처의 세로축 기준으로 분할된 타일의 개수에서 1을 뺀 값인 num _tile_rows_ minus1, 및 가로축과 세로축이 균등하게 분할되었음을 나타내는 플래그 uniform_ sapacing _flag 등이 있다. 타일이 가로축 및 세로축으로 균등하게 분할되지 않았을 경우(uniform_spacing_flag=off), 가로축 기준으로 각 타일에 대한 폭(width) 정보(column_width_minus1)와 세로축 기준으로 각 타일에 대한 높이(height) 정보(row_height_minus1)를 추가적으로 전송한다. 마지막으로, 타일 간 경계 영역에서 루프 필터(loop filter)의 실행 여부를 나타내는 플래그(loop_filter_across_tiles_enabled_flag)를 전송한다.
도 1은 uniform_spacing_flag가 온(on)인 경우로서 동일한 크기의 타일들로 분할된 픽처의 일례를 도시한다. 도 2는 uniform_spacing_flag가 오프(off)인 경우로서 상이한 크기들의 타일들로 분할된 픽처의 일례를 도시한다.
이러한 기존의 타일 구조에서는 ROI를 설정하는 경우, ROI 영역과 ROI 이외의 영역을 각 영역의 특성에 맞게 처리하는 데에 한계가 있다. ROI 영역은 ROI 이외의 영역에 비하여 고화질로 부호화되어야 하는데, ROI 영역이 복수의 타일로 분할되면 타일 경계에서의 이격 등으로 인하여 화질이 저하되는 문제가 발생한다. 이에 따라, ROI 영역은 복수의 타일로 분할되기 보다는 단일 타일로 설정되는 것이 바람직하다. 한편, ROI 이외의 영역의 경우에는 화질이 다소 낮더라도 시점 변화에 따라 유연하게 처리되도록 작은 크기의 복수의 타일들로 설정되는 것이 바람직하다.
본 발명은 불규칙적인 형태의 타일 구조를 정의함으로써, 기존의 타일 구조(픽처의 가로열 및 세로열을 기준으로 각각 동일한 개수의 타일들이 존재해야 함)와 달리 자유롭게 타일을 구성할 수 있다. 이에 따라 본 발명에서 제안하는 영상 부호화 및 복호화를 위한 방법 및 장치는 ROI 영역 내 타일 경계에서의 이격 문제를 해결하고 부호화 효율을 향상시킬 수 있다.
이하, 본 발명의 설명에서 언급하는 '타일'은 하나의 픽처로부터 분할된 영역으로서, 각 영역을 독립적으로(다만, 인터 예측 또는 루프 필터 시에는 선택적으로 의존성을 가질 수 있음) 부호화 및 복호화하기 위한 수단(tool)을 의미한다. '타일'은 인터 예측 및 루프 필터를 제외한 인트라 예측 등의 부호화 과정에서는 다른 타일들과의 의존성들이 제약된다. 또한, 본 발명의 설명에서'타일'이란 용어는 전술한 의미와 동일한 다양한 용어(예: area, region 등)로 대체될 수 있다.
도 3은 본 발명의 실시예에 따른 영상 부호화 장치에 대한 블록도이다.
부호화 장치는 블록 분할부(310), 예측부(320), 감산기(330), 변환부(340), 양자화부(345), 부호화부(350), 역양자화부(360), 역변환부(365), 가산기(370), 필터부(380) 및 메모리(390)를 포함한다. 부호화 장치의 각 구성요소는 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
블록 분할부(310)는 영상을 구성하는 각 픽처(picture)를 복수의 타일들로 분할한다. 그리고 각 타일을 복수의 CTU(Coding Tree Unit)로 분할한 이후에, 트리 구조(tree structure)를 이용하여 CTU를 반복적으로(recursively) 분할한다. 트리 구조에서의 리프 노드(leaf node)가 부호화의 기본 단위인 CU(Coding Unit)가 된다. 트리 구조로는 상위 노드가 네 개의 하위 노드로 분할하는 쿼드트리(QuadTree, QT), 또는 QT 구조 및 상위 노드가 두 개의 하위 노드로 분할하는 바이너리트리(BinaryTree, BT) 구조를 혼용한 QTBT (QuadTree plus BinaryTree) 구조가 사용될 수 있다.
본 발명에서는 블록 분할부(310)가 픽처를 복수의 타일들로 분할할 뿐만 아니라, 복수의 타일들 중 일부의 타일들을 병합(merge)하여 하나 이상의 병합 타일(merge tile)을 생성함으로써 불규칙적인 또는 자유로운 형태의 타일 구조를 정의한다. 각 병합 타일은 하나의 타일로 정의된다. 이에 대한 구체적인 설명은 다른 도면을 참조하여 후술한다.
예측부(320)는 현재블록을 예측하여 예측블록을 생성한다. 예측부(320)는 인트라 예측부(322)와 인터 예측부(324)를 포함한다. 여기서, 현재블록은 상기의 트리 구조에서 리프 노드에 해당하는 부호화의 기본 단위로서, 현재 부호화하고자 하는 CU를 의미한다. 대안적으로, 현재블록은 CU로부터 분할된 복수의 서브블록 중 하나의 서브블록일 수도 있다.
인트라 예측부(322)는 현재블록이 포함된 현재 픽처 내에서 현재블록의 주변에 위치한 픽셀(참조 픽셀)들을 이용하여 현재블록 내의 픽셀들을 예측한다. 예측 방향에 따라 복수의 인트라 예측모드가 존재하며, 각 예측모드에 따라 사용할 주변 픽셀과 연산식이 다르게 정의된다.
인터 예측부(324)는 현재 픽처보다 먼저 부호화 및 복호화된 참조 픽처 내에서 현재블록과 가장 유사한 블록을 탐색하고, 그 탐색된 블록을 이용하여 현재블록에 대한 예측블록을 생성한다. 그리고, 현재 픽처 내의 현재블록과 참조 픽처 내의 예측블록 간의 변위(displacement)에 해당하는 움직임벡터(motion vector)를 생성한다. 현재블록을 예측하기 위해 사용된 참조 픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 부호화부(350)에 의해 부호화되어 영상 복호화 장치로 전달된다.
감산기(330)는 현재블록으로부터 인트라 예측부(322) 또는 인터 예측부(324)에 의해 생성된 예측블록을 감산하여 잔차 블록을 생성한다.
변환부(340)는 공간 영역의 픽셀 값들을 가지는 잔차 블록 내의 잔차 신호를 주파수 도메인의 변환 계수로 변환한다. 변환부(340)는 잔차 블록 내의 잔차 신호들을 현재블록의 크기를 변환 단위로 사용하여 변환할 수 있으며, 또는 잔차 블록을 더 작은 복수의 서브블록을 분할하고 서브블록 크기의 변환 단위로 잔차 신호들을 변환할 수도 있다. 잔차 블록을 더 작은 서브블록으로 분할하는 방법은 다양하게 존재할 수 있다. 예컨대, 기 정의된 동일한 크기의 서브블록으로 분할할 수도 있으며, 또는 잔차 블록을 루트 노드로 하는 QT(quadtree) 방식의 분할을 사용할 수도 있다.
양자화부(345)는 변환부(340)로부터 출력되는 변환 계수들을 양자화하고, 양자화된 변환 계수들을 부호화부(350)로 출력한다.
부호화부(350)는 양자화된 변환 계수들을 CABAC 등의 부호화 방식을 사용하여 부호화하여 비트스트림을 생성한다. 한편, 부호화부(350)는 픽처를 분할하는 복수의 타일들 중 일부의 타일들을 병합(merge)함으로써 불규칙적인 또는 자유로운 형태의 타일 구조를 정의하기 위한 병합정보를 부호화하여, 영상 복호화 장치가 영상 부호화 장치와 동일한 타일 구조를 정의하도록 한다. 병합정보에는 복수의 타일들 중 일부의 타일들을 병합할지 여부를 지시하는 제1 정보 및 복수의 타일들 중 각 병합타일(merge tile)로 병합되는 타일들을 지시하기 위한 제2 정보가 포함된다. 병합 타일의 개수를 지시하는 제3 정보가 병합정보에 더 포함될 수 있다. 이러한 병합정보와 관련된 신택스 요소(syntax element)들은 SPS(Sequence Parameter Set), PPS(Picture Parameter Set), SEI(Supplementary Enhancement Information) 및 슬라이스 헤더(slice header) 중 하나의 이상의 기 지정된 위치에 설정될 수도 있다.
부호화부(350)는 트리 구조의 최상위 레이어에 위치하는 CTU의 크기에 대한 정보 및 CTU로부터 트리 구조로 블록을 분할하기 위한 분할 정보를 부호화하여, 영상 복호화 장치가 영상 부호화 장치와 동일하게 블록을 분할할 수 있도록 한다. 예컨대, QT 분할의 경우에는 상위 레이어의 블록이 하위 레이어의 네 개의 블록으로 분할되는지 여부를 지시하는 QT 분할 정보를 부호화한다. BT 분할의 경우에는 QT의 리프 노드에 해당하는 블록으로부터 시작하여 각 블록이 두 개의 블록으로 분할되는지 여부 및 분할되는 타입을 지시하는 BT 분할 정보를 부호화한다.
부호화부(350)는 현재블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측정보 또는 인터 예측정보를 부호화한다.
역양자화부(360)는 양자화부(345)로부터 출력되는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 생성한다. 역변환부(365)는 역양자화부(360)로부터 출력되는 변환 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔차블록을 복원한다.
가산기(370)는 복원된 잔차블록과 예측부(320)에 의해 생성된 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 다음 순서의 블록을 인트라 예측할 때 참조 픽셀로서 사용된다.
필터부(380)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 디블록킹 필터링하고 메모리(390)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
이하, 복수의 타일들 중 일부의 타일들을 병합(merge)하여 하나 이상의 병합 타일(merge tile)을 생성함으로써 불규칙적인 또는 자유로운 형태의 타일 구조를 정의하는 영상 부호화 방법에 대하여 구체적으로 설명한다.
도 4는 본 발명의 실시예에 따른 영상 부호화 장치가 복수의 타일들로 분할된 픽처를 부호화하기 위한 동작방법을 나타내는 흐름도이다.
영상 부호화 장치는 복수의 타일들 중 일부의 타일들을 병합할지 여부를 지시하는 제1 정보를 부호화한다(S410). 예를 들어, 제1 정보로서 타일의 병합 여부를 지시하는 플래그(merge_tile_enabled_flag)를 이용할 수 있다. 일부의 타일들을 병합하는 경우에는 플래그(merge_tile_enabled_flag)를 온(on)으로 부호화하고, 일부 타일들을 병합하지 않는 경우에는 플래그(merge_tile_enabled_flag)를 오프(off)로 부호화할 수 있다.
영상 부호화 장치는 타일 병합 여부를 지시하는 제1 정보가 타일 병합을 지시하는 것으로 부호화된 경우, 복수의 타일들 중 일부의 타일들을 병합하여 하나 이상의 병합 타일(merge tile)을 생성한다(S420). 생성된 각 병합 타일은 하나의 타일로 정의된다. 다시 말해, 각 병합 타일로 병합된 타일들은 병합되기 전의 타일 특성을 그대로 유지한 채 단순히 그룹화되는 것이 아니고, 하나의 타일로 병합되는 것이다. 예컨대, 각 병합 타일로 병합된 타일들 간의 부호화 의존성에 대한 제약을 없애는 방식으로 병합될 수 있다.
하나 이상의 병합 타일을 생성한 영상 부호화 장치는, 복수의 타일들 중 각 병합 타일로 병합되는 타일들을 지시하기 위한 제2 정보를 부호화한다(S430). 제2 정보는 i) 각 병합 타일로 병합되는 타일들 중 최초 타일 및 최후 타일의 식별정보를 각 병합 타일 별로 포함하거나, ii) 각 병합 타일로 병합되는 타일들 중 최초 타일 및 최후 타일의 위치정보를 각 병합 타일 별로 포함하거나, iii) 복수의 타일들 각각에 대하여 병합되는지 여부를 나타내는 정보를 포함할 수 있다. 또한, 제2 정보는 iv) 복수의 타일들 중 병합되는 타일들에 대하여, 하나 이상의 병합 타일 중 각 타일이 속하는 병합 타일의 인덱스 정보를 더 포함할 수도 있다. 제2 정보에 대한 구체적인 예시는 다른 도면들을 참조하여 후술한다.
영상 부호화 장치는 생성한 하나 이상의 병합 타일의 개수를 지시하는 제3 정보를 추가적으로 부호화할 수 있다.
영상 부호화 장치는 각 병합 타일로 병합된 타일들 간의 부호화 의존성에 대한 제약 없이 각 병합 타일을 하나의 타일로 부호화한다(S440). 여기서, 부호화 의존성은 각 병합 타일로 병합된 타일들 간의 인트라 예측 의존성을 포함할 수 있다. 즉, 동일한 병합 타일로 병합된 타일들 간에는 인트라 예측 의존성에 대한 제약이 제거된다.
이하, 도 5 내지 도 12를 참조하여 병합 타일에 대한 예시적인 신택스 요소들에 대하여 설명한다.
실시예 #1
도 5는 복수의 타일 중 일부의 타일이 병합된 픽처에 각 타일의 식별정보를 표시한 예시도이다.
도 5는 픽처가 16개의 동일한 크기의 타일들로 분할되고, 각 타일에 0번부터 15번까지의 타일 번호가 식별정보로서 부여된 경우를 도시한다. 이 경우, 5번 타일, 6번 타일, 9번 타일 및 10번 타일을 병합하여 하나의 병합 타일을 생성하였다.
본 실시예에서 영상 부호화 장치는 복수의 타일들 중 일부의 타일들을 병합하도록 지시하는 제1 정보로서, merge_tile_enabled_flag를 온(on)으로 부호화한다. 그리고 병합 타일로 병합되는 타일들을 지시하기 위한 제2 정보로서, 병합되는 타일들 중 최초 타일의 식별정보 및 최후 타일의 식별정보를 부호화한다. 병합 타일이 복수 개인 경우에는 각 병합 타일 별로 최초 타일의 식별정보 및 최후 타일의 식별정보를 부호화한다.
병합 타일로 병합되는 타일들 중 최초 타일의 식별정보로서 좌상측 타일의 식별정보(topleft_tile_id)가 부호화되고, 최후 타일의 식별정보로서 우하측 타일의 식별정보(bottomright _tile_id)가 부호화될 수 있다. 도 5의 예시에서는, topleft_tile_id=5, bottomright _tile_id=10의 값으로 부호화된다. 다만, 이는 예시에 불과하며, 최초 타일과 최후 타일을 정의할 수 있는 다양한 신택스 요소들이 사용될 수 있다. 예컨대, 병합될 타일들 중 우상측 타일의 식별정보를 최초 타일의 식별정보로 사용하고, 좌하측 타일의 식별정보를 최후 타일의 식별정보로 사용할 수도 있다.
본 실시예에 따른 신택스 요소들의 일례는 표 2와 같다.
pic_parameter_set_rbsp( ) {
...
tiles_enabled_flag
...
if( tiles_enabled_flag ) {
num _tile_columns_ minus1
num _tile_rows_ minus1
uniform_spacing_flag
if( !uniform_spacing_flag ) {
for( i = 0; i < num_tile_columns_minus1; i++ )
column_width_ minus1[ i ]
for( i = 0; i < num_tile_rows_minus1; i++ )
row_height_ minus1[ i ]
}
merge_tile_enabled_flag
if(merge_tile_enabled_flag) {
topleft _tile_id
bottomright _tile_id
}
loop_filter_across_tiles_enabled_flag
}
실시예 #2
도 6은 복수의 타일 중 일부의 타일이 병합된 픽처에 각 타일의 위치정보를 표시한 예시도이다.
도 6에서는 도 5와 같이 16개의 동일한 크기의 타일들로 분할된 픽처에서 중심부에 위치한 타일들이 병합되어 하나의 병합 타일을 생성한 경우를 도시한다. 다만, 각 타일의 식별정보 대신 위치정보를 도시한다. 예를 들어, 타일의 위치정보는 타일의 가로열 및 세로열을 기준으로 한 좌표(u, v )로 나타낼 수 있다. 맨 위쪽의 가로열의 위치를 0(u=0 )으로 설정하고 맨 왼쪽의 세로열의 위치를 0(v=0 )으로 설정하면, 각 타일들의 좌표는 도 5와 같이 순차적으로 나타낼 수 있다.
본 실시예에서 영상 부호화 장치는 복수의 타일들 중 일부의 타일들을 병합하도록 지시하는 제1 정보로서, merge_tile_enabled_flag를 온(on)으로 부호화한다. 그리고 병합 타일로 병합되는 타일들을 지시하기 위한 제2 정보로서, 병합되는 타일들 중 최초 타일의 식별정보 및 최후 타일의 위치정보를 부호화한다. 병합 타일이 복수 개인 경우에는 각 병합 타일 별로 최초 타일의 식별정보 및 최후 타일의 위치정보를 부호화한다.
병합 타일로 병합되는 타일들 중 최초 타일의 위치정보로서 좌상측 타일의 위치정보(u_start_pos v_start_ pos)가 부호화되고, 최후 타일의 위치정보로서 우하측 타일의 위치정보(u_end_ pos v_end_ pos)가 부호화될 수 있다. 도 6의 예시에서는, u_start_ pos=1, v_start_ pos=1, u_end_ pos=2, v_end_ pos=2의 값으로 부호화된다. 다만, 이는 예시에 불과하며, 최초 타일과 최후 타일을 정의할 수 있는 다양한 신택스 요소들이 사용될 수 있다. 예컨대, 병합될 타일들 중 우상측 타일의 위치정보를 최초 타일의 위치정보로 사용하고, 좌하측 타일의 위치정보를 최후 타일의 위치정보로 사용할 수도 있다.
본 실시예에 따른 신택스 요소들의 일례는 표 3과 같다.
pic_parameter_set_rbsp( ) {
...
tiles_enabled_flag
...
if( tiles_enabled_flag ) {
num _tile_columns_ minus1
num _tile_rows_ minus1
uniform_spacing_flag
if( !uniform_spacing_flag ) {
for( i = 0; i < num_tile_columns_minus1; i++ )
column_width_ minus1[ i ]
for( i = 0; i < num_tile_rows_minus1; i++ )
row_height_ minus1[ i ]
}
merge_tile_enabled_flag
if(merge_tile_enabled_flag) {
u_start_ pos
v_start_ pos
u_end_ pos
v_end_ pos
}
loop_filter_across_tiles_enabled_flag
}
u_start_ pos, v_start_ pos, u_end_ pos, v_end_ pos 신택스 요소들의 순서는 반드시 표 3에서와 같이 설정되는 것은 아니고, 필요에 따라 다양하게 변경될 수 있다.
실시예 #3
도 7은 복수의 타일 중 일부의 타일이 병합된 픽처에 각 타일의 병합 여부를 나타내는 정보를 표시한 예시도이다.
도 7에서는 도 5 및 도 6과 같이 16개의 동일한 크기의 타일들로 분할된 픽처에서 중심부에 위치한 타일들이 병합되어 하나의 병합 타일을 생성한 경우를 도시한다. 다만, 픽처를 분할하는 각각의 타일에 대하여 병합 타일로 병합되는지 여부를 나타내는 정보를 도시한다.
본 실시예에서 영상 부호화 장치는 복수의 타일들 중 일부의 타일들을 병합하도록 지시하는 제1 정보로서, merge_tile_enabled_flag를 온(on)으로 부호화한다. 그리고 병합 타일로 병합되는 타일들을 지시하기 위한 제2 정보로서, 각 타일들이 병합되는지 여부를 나타내는 정보를 복수의 타일들 각각에 대하여 부호화한다. 즉, 본 실시예에서는 제2 정보가 픽처를 분할하는 타일 전체의 개수만큼 부호화된다.
각 타일들이 병합되는지 여부를 나타내는 정보로는 merge_flag를 이용할 수 있다. merge_flag는 타일의 병합을 지시하는 경우에 1로 부호화되고 타일의 병합을 지시하지 않는 경우에는 0으로 부호화된다. 도 6의 예시에서, merge_flag는 0000 0110 0110 0000의 값으로 부호화된다.
본 실시예에 따른 신택스 요소들의 일례는 표 4와 같다.
pic_parameter_set_rbsp( ) {
...
tiles_enabled_flag
...
if( tiles_enabled_flag ) {
num _tile_columns_ minus1
num _tile_rows_ minus1
uniform_spacing_flag
if( !uniform_spacing_flag ) {
for( i = 0; i < num_tile_columns_minus1; i++ )
column_width_ minus1[ i ]
for( i = 0; i < num_tile_rows_minus1; i++ )
row_height_ minus1[ i ]
}
merge_tile_enabled_flag
if(merge_tile_enabled_flag) {
for( i = 0; i < (num_tile_columns_minus1+1) x (num_tile_rows_minus1+1); i++ )
merge_flag[ i ]
}
loop_filter_across_tiles_enabled_flag
}
실시예 #4
도 8은 복수의 병합 타일을 포함하는 픽처에 각 타일의 식별정보를 표시한 예시도이다. 본 실시예에서는 실시예 #1(도 5 참고)과 달리 복수의 병합 타일을 생성하는 경우에 대하여 설명한다.
도 8은 픽처가 16개의 동일한 크기의 타일들로 분할되고, 각 타일에 0번부터 15번까지의 타일 번호가 식별정보로서 부여된 경우를 도시한다. 이 경우, 0번 타일, 1번 타일, 4번 타일 및 5번 타일을 병합하여 제1 병합 타일을 생성하고, 10번 타일, 11번 타일, 14번 타일 및 15번 타일을 병합하여 제2 병합 타일을 생성하였다.
본 실시예에서 영상 부호화 장치는 복수의 타일들 중 일부의 타일들을 병합하도록 지시하는 제1 정보로서, merge_tile_enabled_flag를 온(on)으로 부호화한다. 그리고 병합 타일로 병합되는 타일들을 지시하기 위한 제2 정보로서, 각 병합 타일 별로 최초 타일의 식별정보 및 최후 타일의 식별정보를 부호화한다. 즉, 최초 타일의 식별정보 및 최후 타일의 식별정보를 픽처 내 병합 타일의 개수만큼 부호화한다. 본 실시예의 영상 부호화 장치는 생성된 하나 이상의 병합 타일의 개수를 지시하는 제3 정보(num _merge_tile_ minus1)를 추가적으로 부호화한다.
각 병합 타일로 병합되는 타일들 중 최초 타일의 식별정보로서 좌상측 타일의 식별정보(topleft _tile_id)가 부호화되고, 최후 타일의 식별정보로서 우하측 타일의 식별정보(bottomright _tile_id)가 부호화될 수 있다. 도 8의 예시에서는, num_merge_tile_minus1=1, {제1 병합타일: topleft _tile_id=0, bottomright_tile_id=5}, {제2 병합타일: topleft _tile_id=10, bottomright_tile_id=15}의 값으로 부호화된다. 다만, 이는 예시에 불과하며, 최초 타일과 최후 타일을 정의할 수 있는 다양한 신택스 요소들이 사용될 수 있다. 예컨대, 병합될 타일들 중 우상측 타일의 식별정보를 최초 타일의 식별정보로 사용하고, 좌하측 타일의 식별정보를 최후 타일의 식별정보로 사용할 수도 있다.
본 실시예에 따른 신택스 요소들의 일례는 표 5와 같다.
pic_parameter_set_rbsp( ) {
...
tiles_enabled_flag
...
if( tiles_enabled_flag ) {
num _tile_columns_ minus1
num _tile_rows_ minus1
uniform_spacing_flag
if( !uniform_spacing_flag ) {
for( i = 0; i < num_tile_columns_minus1; i++ )
column_width_ minus1[ i ]
for( i = 0; i < num_tile_rows_minus1; i++ )
row_height_ minus1[ i ]
}
merge_tile_enabled_flag
if(merge_tile_enabled_flag) {
num _merge_tile_ minus1
for( i = 0; i < (num_merge_tile_minus1 + 1); i++ ) {
topleft _tile_id[ i ]
bottomright _tile_id[ i ]
}
}
loop_filter_across_tiles_enabled_flag
}
실시예 #5
도 9는 복수의 병합 타일을 포함하는 픽처에 각 타일의 위치정보를 표시한 예시도이다.
도 9에서는 16개의 동일한 크기의 타일들로 분할된 픽처에서 2개의 병합 타일을 생성한 경우로서, 각 타일의 위치정보를 도시한다. 예를 들어, 타일의 위치정보는 타일의 가로열 및 세로열을 기준으로 한 좌표(u, v )로 나타낼 수 있다. 맨 위쪽의 가로열의 위치를 0(u=0 )으로 설정하고 맨 왼쪽의 세로열의 위치를 0(v=0 )으로 설정하면, 각 타일들의 좌표는 도 9와 같이 순차적으로 나타낼 수 있다. 이 경우, (1,0) 위치의 타일 및 (2,0) 위치의 타일을 병합하여 제1 병합 타일을 생성하고, (2,2) 위치의 타일, (2,3) 위치의 타일, (3,2) 위치의 타일 및 (3,3) 위치의 타일을 병합하여 제2 병합 타일을 생성하였다.
본 실시예에서 영상 부호화 장치는 복수의 타일들 중 일부의 타일들을 병합하도록 지시하는 제1 정보로서, merge_tile_enabled_flag를 온(on)으로 부호화한다. 그리고 각 병합 타일로 병합되는 타일들을 지시하기 위한 제2 정보로서, 병합되는 타일들 중 최초 타일의 식별정보 및 최후 타일의 위치정보를 각 병합 타일 별로 부호화한다. 즉, 최초 타일의 위치정보 및 최후 타일의 위치정보를 픽처 내 병합 타일의 개수만큼 부호화한다. 본 실시예의 영상 부호화 장치는 생성된 하나 이상의 병합 타일의 개수를 지시하는 제3 정보(num _merge_tile_ minus1)를 추가적으로 부호화한다.
각 병합 타일로 병합되는 타일들 중 최초 타일의 위치정보로서 좌상측 타일의 위치정보(u_start_ pos v_start_ pos)가 부호화되고, 최후 타일의 위치정보로서 우하측 타일의 위치정보(u_end_ pos v_end_ pos)가 부호화될 수 있다. 도 9의 예시에서는, num _merge_tile_ minus1=1, {제1 병합타일: u_start_ pos=0, v_start_pos=1, u_end_ pos=0, v_end_ pos=2}, {제2 병합타일: u_start_ pos=2, v_start_pos=2, u_end_ pos=3, v_end_ pos=3}의 값으로 부호화된다. 다만, 이는 예시에 불과하며, 최초 타일과 최후 타일을 정의할 수 있는 다양한 신택스 요소들이 사용될 수 있다. 예컨대, 병합될 타일들 중 우상측 타일의 위치정보를 최초 타일의 위치정보로 사용하고, 좌하측 타일의 위치정보를 최후 타일의 위치정보로 사용할 수도 있다.
본 실시예에 따른 신택스 요소들의 일례는 표 6과 같다.
pic_parameter_set_rbsp( ) {
...
tiles_enabled_flag
...
if( tiles_enabled_flag ) {
num _tile_columns_ minus1
num _tile_rows_ minus1
uniform_spacing_flag
if( !uniform_spacing_flag ) {
for( i = 0; i < num_tile_columns_minus1; i++ )
column_width_ minus1[ i ]
for( i = 0; i < num_tile_rows_minus1; i++ )
row_height_ minus1[ i ]
}
merge_tile_enabled_flag
if(merge_tile_enabled_flag) {
num _merge_tile_ minus1
for( i = 0; i < (num_merge_tile_minus1 + 1); i++ ) {
u_start_ pos[ i ]
v_start_ pos[ i ]
u_end_ pos[ i ]
v_end_ pos[ i ]
}
}
loop_filter_across_tiles_enabled_flag
}
u_start_ pos, v_start_ pos, u_end_ pos, v_end_ pos 신택스 요소들의 순서는 반드시 표 6에서와 같이 설정되는 것은 아니고, 필요에 따라 다양하게 변경될 수 있다.
실시예 #6-1
도 10은 복수의 병합 타일을 포함하는 픽처에 각 타일의 병합 여부 및 병합 타일의 인덱스 정보를 표시한 예시도이다.
도 10에서는 16개의 동일한 크기의 타일들로 분할된 픽처에서 2개의 병합 타일을 생성한 경우를 도시한다. 또한, i) 픽처를 분할하는 각각의 타일에 대하여 병합 타일로 병합되는지 여부를 나타내는 정보 및 ii) 병합되는 타일들에 대하여, 하나 이상의 병합 타일 중 각 타일이 속하는 병합 타일의 인덱스 정보를 도시한다.
본 실시예에서 영상 부호화 장치는 복수의 타일들 중 일부의 타일들을 병합하도록 지시하는 제1 정보로서, merge_tile_enabled_flag를 온(on)으로 부호화한다. 그리고 각 병합 타일로 병합되는 타일들을 지시하기 위한 제2 정보로서, 각 타일들이 병합되는지 여부를 나타내는 정보를 복수의 타일들 각각에 대하여 부호화한다. 즉, 본 실시예에서는 픽처를 분할하는 타일 전체의 개수만큼 제2 정보가 부호화된다. 본 실시예의 영상 부호화 장치는 생성된 하나 이상의 병합 타일의 개수를 지시하는 제3 정보(num _merge_tile_ minus1)를 추가적으로 부호화한다.
각 타일들이 병합되는지 여부를 나타내는 정보로는 merge_flag를 이용할 수 있다. merge_flag는 타일의 병합을 지시하는 경우에 1로 부호화되고 타일의 병합을 지시하지 않는 경우에는 0으로 부호화된다.
또한, 영상 부호화 장치는 복수의 타일들 중 병합되는 타일들(merge_flag=1)에 대하여, 하나 이상의 병합 타일 중 각 타일이 속하는 병합 타일의 인덱스 정보(merge_idx)를 부호화한다. 예를 들어, 병합 타일의 인덱스 정보(merge_ idx)는 픽처 내 병합 타일의 개수를 최대값으로 하는 TU(Truncated Unary) 방식으로 부호화할 수 있다. TU 방식으로 부호화하는 경우에, 병합 타일의 개수가 2개일 때의 merge_idx는 "0", "1"의 값을 사용하고, 병합 타일의 개수가 3개일 때의 merge_ idx는 "0", "10", "11"의 값을 사용하게 된다.
도 10의 예시에서, num _merge_tile_ minus1=1, merge_flag(merge_ idx)는 01(0)1(0)0 01(1)1(1)0 01(1)1(1)0 0000의 값으로 부호화된다.
본 실시예에 따른 신택스 요소들의 일례는 표 7과 같다.
pic_parameter_set_rbsp( ) {
...
tiles_enabled_flag
...
if( tiles_enabled_flag ) {
num _tile_columns_ minus1
num _tile_rows_ minus1
uniform_spacing_flag
if( !uniform_spacing_flag ) {
for( i = 0; i < num_tile_columns_minus1; i++ )
column_width_ minus1[ i ]
for( i = 0; i < num_tile_rows_minus1; i++ )
row_height_ minus1[ i ]
}
merge_tile_enabled_flag
if(merge_tile_enabled_flag) {
num _merge_tile_ minus1
for( i = 0; i < (num_tile_columns_minus1+1) x (num_tile_rows_minus1+1); i++ ) {
merge_flag[ i ]
if(merge_flag[ i ])
merge_ idx[ i ]
}
}
loop_filter_across_tiles_enabled_flag
}
실시예 #6-2
도 11은 복수의 병합 타일을 포함하는 픽처에 각 타일의 병합 여부 및 병합 타일의 인덱스 정보를 표시한 다른 예시도이다.
한편, 실시예 #6-1의 표 7과 달리, 병합 타일의 개수(num_merge_tile_minus1)를 부호화하지 않고(즉, 영상 복호화 장치로 시그널링하지 않고) merge_ idx를 unary 방식으로 부호화할 수도 있다. 예를 들어, 병합 타일의 개수가 2개인 경우에 merge_ idx는 "0", "10"의 값을 사용하고, 병합 타일의 개수가 3개인 경우에 merge_idx는 "0", "10", "110"의 값을 사용하게 된다.
본 실시예에 따라서 도 10과 같은 형태의 타일 구조를 정의하는 경우, merge_flag(merge_idx)는 01(0)1(0)0 01(10)1(10)0 01(10)1(10)0 0000의 값으로 부호화된다.
지금까지 설명한 본 발명의 실시예들은 360 영상에도 적용될 수 있다. 360 영상에서는 부호화 효율을 위하여 사용자의 시점에 대응되는 영역에 대해서는 고화질로 처리하고, 그 밖의 영역에 대해서는 저화질로 부호화하는 것이 바람직하다. 이와 같이 부호화하는 경우, 본 발명에서 제안하는 병합 타일을 이용하면 사용자가 시청하는 영역에서의 타일 간의 이질감을 제거할 수 있는 유리한 효과가 있다.
도 12a, 도 12b 및 도 12c는 360 영상의 투영 포맷들에 대한 병합 타일 시나리오들의 예시도이다. 구체적으로, 도 12a는 정방형 투영(Equirectangular Projection) 포맷에 대하여 병합 타일을 적용한 일례, 도 12b는 큐브 맵 투영(Cube Map Projection) 포맷에 대하여 병합 타일을 적용한 일례, 도 12c는 사각뿔대 투영(Truncated Square Pyramid Projection) 포맷에 대하여 병합 타일을 적용한 일례를 나타낸다.
각 도면의 맨 오른쪽 그림은 맨 왼쪽 그림 및 가운데 그림과 같은 투영 포맷에 따라 360 영상을 2D 영상으로 변환한 일례를 도시한다. 맨 오른쪽 그림에서 빗금 처리된 부분은 사용자의 시점이 머무르는 영역으로서 병합 타일(즉, 하나의 타일)로 정의되여 고화질로 부호화되고, 그 외의 영역은 여러 개의 타일로 분할되어 저화질로 부호화될 수 있다.
이하, 도 13 및 도 14를 참조하여 본 발명의 실시예에 따른 영상 복호화 장치 및 방법에 대하여 설명한다.
도 13은 본 발명의 실시예와 관련된 영상 복호화 장치에 대한 블록도이다.
영상 복호화 장치는 복호화부(1310), 역양자화부(1320), 역변환부(1330), 예측부(1340), 가산기(1350), 필터부(1360) 및 메모리(1370)를 포함한다. 도 13에 도시된 구성요소들은 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
복호화부(1310)는 비트스트림을 복호화하여 타일 구조와 관련된 정보를 추출함으로써, 픽처를 복수의 타일들로 분할한다. 특히, 복호화부(1310)는 비트스트림으로부터 픽처를 분할하는 복수의 타일들 중 일부의 타일들을 병합(merge)하기 위한 병합정보를 부호화함으로써 불규칙적인 또는 자유로운 형태의 타일 구조를 정의한다. 병합정보와 관련된 신택스 요소(syntax element)들은 SPS(Sequence Parameter Set), PPS(Picture Parameter Set), SEI(Supplementary Enhancement Information) 및 슬라이스 헤더(slice header) 중 하나의 이상의 기 지정된 위치로부터 부호화될 수 있다. 이에 대한 구체적인 설명은 다른 도면을 참조하여 후술한다.
복호화부(1310)는 병합 타일을 포함한 각 타일을 복원하기 위해 필요한 예측 정보와 잔차신호에 대한 정보 등을 추출한다. 복호화부(1310)는 SPS 또는 PPS와 같은 하이 레벨 신택스로부터 CTU(Coding Tree Unit) 사이즈에 대한 정보를 추출하여 CTU의 크기를 결정하고, 각 타일을 결정된 크기의 CTU로 분할한다. 그리고 CTU를 트리 구조의 최상위 레이어, 즉, 루트 노드로 결정하고, CTU에 대한 분할 정보를 추출함으로써 트리 구조를 이용하여 CTU를 분할한다.
복호화부(1310)는 트리 구조의 분할을 통해 복호화하고자 하는 현재블록을 결정하게 되면, 현재블록이 인트라 예측되었는지 아니면 인터 예측되었는지를 지시하는 예측 타입에 대한 정보를 추출한다. 복호화부(1310)는 예측 타입 정보가 인트라 예측을 지시하는 경우, 현재블록의 인트라 예측정보(인트라 예측 모드)에 대한 신택스 요소를 추출하고, 예측 타입 정보가 인터 예측을 지시하는 경우, 인터 예측정보에 대한 신택스 요소를 추출한다.
한편, 복호화부(1310)는 잔차신호에 대한 정보로서 현재블록의 양자화된 변환계수들에 대한 정보를 추출한다.
역양자화부(1320)는 양자화된 변환계수들을 역양자화하고, 역변환부(1330)는 역양자화된 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환하여 잔차신호들을 복원함으로써 현재블록에 대한 잔차블록을 생성한다.
예측부(1340)는 인트라 예측부(1342) 및 인터 예측부(1344)를 포함한다. 인트라 예측부(1342)는 현재블록의 예측 타입인 인트라 예측일 때 활성화되고, 인터 예측부(1344)는 현재블록의 예측 타입인 인트라 예측일 때 활성화된다.
인트라 예측부(1342)는 복호화부(1310)로부터 추출된 인트라 예측 모드에 대한 신택스 요소로부터 복수의 인트라 예측 모드 중 현재블록의 인트라 예측 모드를 결정하고, 인트라 예측 모드에 따라 현재블록 주변의 참조 픽셀들을 이용하여 현재블록을 예측한다.
인터 예측부(1344)는 복호화부(1310)로부터 추출된 인터 예측 모드에 대한 신택스 요소를 이용하여 현재블록의 움직임정보를 결정하고, 결정된 움직임정보를 이용하여 현재블록을 예측한다.
가산기(1350)는 역변환부(1330)로부터 출력되는 잔차블록과 인터 예측부(1344) 또는 인트라 예측부(1342)로부터 출력되는 예측블록을 가산하여 현재 블록을 복원한다. 복원된 현재 블록 내의 픽셀들은 이후에 복호화할 블록을 인트라 예측할 때의 참조픽셀로서 활용된다.
필터부(1360)는 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)를 제거하기 위해 복원된 블록 간의 경계를 디블록킹 필터링하고 메모리(1370)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 복호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
이하, 복수의 타일들 중 일부의 타일들을 병합(merge)하여 하나 이상의 병합 타일(merge tile)을 생성함으로써 불규칙적인 또는 자유로운 형태의 타일 구조를 정의하는 영상 복호화 방법에 대하여 구체적으로 설명한다.
도 14는 본 발명의 실시예에 따른 영상 복호화 장치가 복수의 타일들로 분할된 픽처를 복호화하기 위한 동작방법을 나타내는 흐름도이다.
영상 복호화 장치는 비트스트림으로부터 복수의 타일들 중 일부의 타일들을 병합할지 여부를 지시하는 제1 정보를 복호화한다(S1410). 예를 들어, 제1 정보로서 타일의 병합 여부를 지시하는 플래그(merge_tile_enabled_flag)를 이용할 수 있다. 일부의 타일들을 병합하는 경우에는 플래그(merge_tile_enabled_flag)가 온(on)으로 복호화되고, 일부 타일들을 병합하지 않는 경우에는 플래그(merge_tile_enabled_flag)를 오프(off)로 복호화된다.
영상 복호화 장치는 복호화된 제1 정보가 타일 병합을 지시하면, 비트스트림으로부터 복수의 타일들 중 병합되는 타일들을 지시하기 위한 제2 정보를 복호화한다(S1420). 제2 정보는 i) 각 병합 타일로 병합되는 타일들 중 최초 타일 및 최후 타일의 식별정보를 각 병합 타일 별로 포함하거나, ii) 각 병합 타일로 병합되는 타일들 중 최초 타일 및 최후 타일의 위치정보를 각 병합 타일 별로 포함하거나, iii) 복수의 타일들 각각에 대하여 병합되는지 여부를 나타내는 정보를 포함할 수 있다. 또한, 제2 정보는 iv) 복수의 타일들 중 병합되는 타일들에 대하여, 하나 이상의 병합 타일 중 각 타일이 속하는 병합 타일의 인덱스 정보를 더 포함할 수도 있다. 제2 정보에 대한 구체적인 예시는 다른 도면들을 참조하여 후술한다.
영상 복호화 장치는 제2 정보가 지시하는 타일들을 병합하여 하나 이상의 병합 타일을 생성한다(S1430). 생성된 각 병합 타일은 하나의 타일로 정의된다. 다시 말해, 각 병합 타일로 병합된 타일들은 병합되기 전의 타일 특성을 그대로 유지한 채 단순히 그룹화되는 것이 아니고, 하나의 타일로 병합되는 것이다. 예컨대, 각 병합 타일로 병합된 타일들 간의 복호화 의존성에 대한 제약을 없애는 방식으로 병합될 수 있다.
하나 이상의 병합 타일을 생성한 영상 복호화 장치는, 각 병합 타일로 병합된 타일들 간의 복호화 의존성에 대한 제약 없이 상기 각 병합 타일을 하나의 타일로 복호화한다(S1440). 여기서, 복호화 의존성은 각 병합 타일로 병합된 타일들 간의 인트라 예측 의존성을 포함할 수 있다. 즉, 동일한 병합 타일로 병합된 타일들 간에는 인트라 예측 의존성에 대한 제약이 제거된다.
영상 복호화 장치는 생성한 하나 이상의 병합 타일의 개수를 지시하는 제3 정보를 추가적으로 복호화할 수 있다.
도 5 내지 도 12를 참조하여 전술한 병합 타일에 대한 예시적인 신택스 요소들은 영상 복호화 장치 및 방법에 대해서도 적용된다. 다만, 픽처를 분할하는 복수의 타일들 중 일부의 타일들을 병합할지 여부를 지시하는 제1 정보로서 merge_tile_enabled_flag이 온(on)으로 복호화된 경우를 전제로 하여, 영상 복호화 장치 및 방법에 대하여 구체적으로 설명한다.
실시예 #1
도 5는 복수의 타일 중 일부의 타일이 병합된 픽처에 각 타일의 식별정보를 표시한 예시도이다.
도 5는 픽처가 16개의 동일한 크기의 타일들로 분할되고, 각 타일에 0번부터 15번까지의 타일 번호가 식별정보로서 부여된 경우를 도시한다. 이 경우, 5번 타일, 6번 타일, 9번 타일 및 10번 타일을 병합하여 하나의 병합 타일을 생성하였다.
본 실시예에서 영상 복호화 장치는, merge_tile_enabled_flag가 온(on)으로 복호화됨에 따라, 병합 타일로 병합되는 타일들을 지시하기 위한 제2 정보로서, 병합되는 타일들 중 최초 타일의 식별정보 및 최후 타일의 식별정보를 복호화한다. 병합 타일이 복수 개인 경우에는 각 병합 타일 별로 최초 타일의 식별정보 및 최후 타일의 식별정보를 복호화한다.
병합 타일로 병합되는 타일들 중 최초 타일의 식별정보로서 좌상측 타일의 식별정보(topleft_tile_id)가 복호화되고, 최후 타일의 식별정보로서 우하측 타일의 식별정보(bottomright _tile_id)가 복호화될 수 있다. 도 5의 예시에서는, topleft_tile_id=5, bottomright _tile_id=10의 값으로 복호화된다. 다만, 이는 예시에 불과하며, 최초 타일과 최후 타일을 정의할 수 있는 다양한 신택스 요소들이 사용될 수 있다. 예컨대, 병합될 타일들 중 우상측 타일의 식별정보를 최초 타일의 식별정보로 사용하고, 좌하측 타일의 식별정보를 최후 타일의 식별정보로 사용할 수도 있다.
본 실시예에 따른 신택스 요소들의 일례는 앞서 기재한 표 2와 같다.
실시예 #2
도 6은 복수의 타일 중 일부의 타일이 병합된 픽처에 각 타일의 위치정보를 표시한 예시도이다.
도 6에서는 도 5와 같이 16개의 동일한 크기의 타일들로 분할된 픽처에서 중심부에 위치한 타일들이 병합되어 하나의 병합 타일을 생성한 경우를 도시한다. 다만, 각 타일의 식별정보 대신 위치정보를 도시한다. 예를 들어, 타일의 위치정보는 타일의 가로열 및 세로열을 기준으로 한 좌표(u, v )로 나타낼 수 있다. 맨 위쪽의 가로열의 위치를 0(u=0 )으로 설정하고 맨 왼쪽의 세로열의 위치를 0(v=0 )으로 설정하면, 각 타일들의 좌표는 도 5와 같이 순차적으로 나타낼 수 있다.
본 실시예에서 영상 복호화 장치는, merge_tile_enabled_flag가 온(on)으로 복호화됨에 따라 제2 정보로서, 병합되는 타일들 중 최초 타일의 식별정보 및 최후 타일의 위치정보를 복호화한다. 병합 타일이 복수 개인 경우에는 각 병합 타일 별로 최초 타일의 식별정보 및 최후 타일의 위치정보를 복호화한다.
병합 타일로 병합되는 타일들 중 최초 타일의 위치정보로서 좌상측 타일의 위치정보(u_start_pos v_start_ pos)가 복호화되고, 최후 타일의 위치정보로서 우하측 타일의 위치정보(u_end_ pos v_end_ pos)가 복호화될 수 있다. 도 6의 예시에서는, u_start_ pos=1, v_start_ pos=1, u_end_ pos=2, v_end_ pos=2의 값으로 복호화된다. 다만, 이는 예시에 불과하며, 최초 타일과 최후 타일을 정의할 수 있는 다양한 신택스 요소들이 사용될 수 있다. 예컨대, 병합될 타일들 중 우상측 타일의 위치정보를 최초 타일의 위치정보로 사용하고, 좌하측 타일의 위치정보를 최후 타일의 위치정보로 사용할 수도 있다.
본 실시예에 따른 신택스 요소들의 일례는 앞서 기재한 표 3과 같다. u_start_pos, v_start_ pos, u_end_ pos, v_end_ pos 신택스 요소들의 순서는 반드시 표 3에서와 같이 설정되는 것은 아니고, 필요에 따라 다양하게 변경될 수 있다.
실시예 #3
도 7은 복수의 타일 중 일부의 타일이 병합된 픽처에 각 타일의 병합 여부를 나타내는 정보를 표시한 예시도이다.
도 7에서는 도 5 및 도 6과 같이 16개의 동일한 크기의 타일들로 분할된 픽처에서 중심부에 위치한 타일들이 병합되어 하나의 병합 타일을 생성한 경우를 도시한다. 다만, 픽처를 분할하는 각각의 타일에 대하여 병합 타일로 병합되는지 여부를 나타내는 정보를 도시한다.
본 실시예에서 영상 복호화 장치는, merge_tile_enabled_flag가 온(on)으로 복호화됨에 따라 제2 정보로서, 각 타일들이 병합되는지 여부를 나타내는 정보를 복수의 타일들 각각에 대하여 복호화한다. 즉, 본 실시예에서는 제2 정보가 픽처를 분할하는 타일 전체의 개수만큼 복호화된다.
각 타일들이 병합되는지 여부를 나타내는 정보로는 merge_flag를 이용할 수 있다. merge_flag는 타일의 병합을 지시하는 경우에 1로 복호화되고 타일의 병합을 지시하지 않는 경우에는 0으로 복호화된다. 도 6의 예시에서, merge_flag는 0000 0110 0110 0000의 값으로 복호화된다.
본 실시예에 따른 신택스 요소들의 일례는 앞서 기재한 표 4와 같다.
실시예 #4
도 8은 복수의 병합 타일을 포함하는 픽처에 각 타일의 식별정보를 표시한 예시도이다. 본 실시예에서는 실시예 #1(도 5 참고)과 달리 복수의 병합 타일을 생성하는 경우에 대하여 설명한다.
도 8은 픽처가 16개의 동일한 크기의 타일들로 분할되고, 각 타일에 0번부터 15번까지의 타일 번호가 식별정보로서 부여된 경우를 도시한다. 이 경우, 0번 타일, 1번 타일, 4번 타일 및 5번 타일을 병합하여 제1 병합 타일을 생성하고, 10번 타일, 11번 타일, 14번 타일 및 15번 타일을 병합하여 제2 병합 타일을 생성하였다.
본 실시예에서 영상 복호화 장치는, merge_tile_enabled_flag가 온(on)으로 복호화됨에 따라 제2 정보로서, 각 병합 타일 별로 최초 타일의 식별정보 및 최후 타일의 식별정보를 복호화한다. 즉, 최초 타일의 식별정보 및 최후 타일의 식별정보를 픽처 내 병합 타일의 개수만큼 복호화한다. 본 실시예의 영상 복호화 장치는 생성된 하나 이상의 병합 타일의 개수를 지시하는 제3 정보(num_merge_tile_minus1)를 추가적으로 복호화한다.
각 병합 타일로 병합되는 타일들 중 최초 타일의 식별정보로서 좌상측 타일의 식별정보(topleft _tile_id)가 복호화되고, 최후 타일의 식별정보로서 우하측 타일의 식별정보(bottomright _tile_id)가 복호화될 수 있다. 도 8의 예시에서는, num_merge_tile_minus1=1, {제1 병합타일: topleft _tile_id=0, bottomright_tile_id=5}, {제2 병합타일: topleft _tile_id=10, bottomright_tile_id=15}의 값으로 복호화된다. 다만, 이는 예시에 불과하며, 최초 타일과 최후 타일을 정의할 수 있는 다양한 신택스 요소들이 사용될 수 있다. 예컨대, 병합될 타일들 중 우상측 타일의 식별정보를 최초 타일의 식별정보로 사용하고, 좌하측 타일의 식별정보를 최후 타일의 식별정보로 사용할 수도 있다.
본 실시예에 따른 신택스 요소들의 일례는 앞서 기재한 표 5와 같다.
실시예 #5
도 9는 복수의 병합 타일을 포함하는 픽처에 각 타일의 위치정보를 표시한 예시도이다.
도 9에서는 16개의 동일한 크기의 타일들로 분할된 픽처에서 2개의 병합 타일을 생성한 경우로서, 각 타일의 위치정보를 도시한다. 예를 들어, 타일의 위치정보는 타일의 가로열 및 세로열을 기준으로 한 좌표(u, v )로 나타낼 수 있다. 맨 위쪽의 가로열의 위치를 0(u=0 )으로 설정하고 맨 왼쪽의 세로열의 위치를 0(v=0 )으로 설정하면, 각 타일들의 좌표는 도 9와 같이 순차적으로 나타낼 수 있다. 이 경우, (1,0) 위치의 타일 및 (2,0) 위치의 타일을 병합하여 제1 병합 타일을 생성하고, (2,2) 위치의 타일, (2,3) 위치의 타일, (3,2) 위치의 타일 및 (3,3) 위치의 타일을 병합하여 제2 병합 타일을 생성하였다.
본 실시예에서 영상 복호화 장치는, merge_tile_enabled_flag가 온(on)으로 복호화됨에 따라 제2 정보로서, 병합되는 타일들 중 최초 타일의 식별정보 및 최후 타일의 위치정보를 각 병합 타일 별로 복호화한다. 즉, 최초 타일의 위치정보 및 최후 타일의 위치정보를 픽처 내 병합 타일의 개수만큼 복호화한다. 본 실시예의 영상 복호화 장치는 생성된 하나 이상의 병합 타일의 개수를 지시하는 제3 정보(num_merge_tile_minus1)를 추가적으로 복호화한다.
각 병합 타일로 병합되는 타일들 중 최초 타일의 위치정보로서 좌상측 타일의 위치정보(u_start_ pos v_start_ pos)가 복호화되고, 최후 타일의 위치정보로서 우하측 타일의 위치정보(u_end_ pos v_end_ pos)가 복호화될 수 있다. 도 9의 예시에서는, num _merge_tile_ minus1=1, {제1 병합타일: u_start_ pos=0, v_start_pos=1, u_end_ pos=0, v_end_ pos=2}, {제2 병합타일: u_start_ pos=2, v_start_pos=2, u_end_ pos=3, v_end_ pos=3}의 값으로 복호화된다. 다만, 이는 예시에 불과하며, 최초 타일과 최후 타일을 정의할 수 있는 다양한 신택스 요소들이 사용될 수 있다. 예컨대, 병합될 타일들 중 우상측 타일의 위치정보를 최초 타일의 위치정보로 사용하고, 좌하측 타일의 위치정보를 최후 타일의 위치정보로 사용할 수도 있다.
본 실시예에 따른 신택스 요소들의 일례는 앞서 기재한 표 6과 같다. u_start_pos, v_start_ pos, u_end_ pos, v_end_ pos 신택스 요소들의 순서는 반드시 표 6에서와 같이 설정되는 것은 아니고, 필요에 따라 다양하게 변경될 수 있다.
실시예 #6-1
도 10은 복수의 병합 타일을 포함하는 픽처에 각 타일의 병합 여부 및 병합 타일의 인덱스 정보를 표시한 예시도이다.
도 10에서는 16개의 동일한 크기의 타일들로 분할된 픽처에서 2개의 병합 타일을 생성한 경우를 도시한다. 또한, i) 픽처를 분할하는 각각의 타일에 대하여 병합 타일로 병합되는지 여부를 나타내는 정보 및 ii) 병합되는 타일들에 대하여, 하나 이상의 병합 타일 중 각 타일이 속하는 병합 타일의 인덱스 정보를 도시한다.
본 실시예에서 영상 복호화 장치는, merge_tile_enabled_flag가 온(on)으로 복호화됨에 따라 제2 정보로서, 각 타일들이 병합되는지 여부를 나타내는 정보를 복수의 타일들 각각에 대하여 복호화한다. 즉, 본 실시예에서는 픽처를 분할하는 타일 전체의 개수만큼 제2 정보가 복호화된다. 본 실시예의 영상 복호화 장치는 생성된 하나 이상의 병합 타일의 개수를 지시하는 제3 정보(num _merge_tile_ minus1)를 추가적으로 복호화한다.
각 타일들이 병합되는지 여부를 나타내는 정보로는 merge_flag를 이용할 수 있다. merge_flag는 타일의 병합을 지시하는 경우에 1로 복호화되고 타일의 병합을 지시하지 않는 경우에는 0으로 복호화된다.
또한, 영상 복호화 장치는 복수의 타일들 중 병합되는 타일들(merge_flag=1)에 대하여, 하나 이상의 병합 타일 중 각 타일이 속하는 병합 타일의 인덱스 정보(merge_idx)를 복호화한다. 예를 들어, 병합 타일의 인덱스 정보(merge_ idx)는 영상 부호화 장치에 의하여 픽처 내 병합 타일의 개수를 최대값으로 하는 TU(Truncated Unary) 방식으로 부호화될 수 있다. TU 방식으로 부호화되는 경우에, 병합 타일의 개수가 2개일 때의 merge_ idx는 "0" 또는"1"의 값으로 복호화되고, 병합 타일의 개수가 3개일 때의 merge_ idx는 "0", "10"또는 "11"의 값으로 복호화된다.
도 10의 예시에서, num _merge_tile_ minus1=1, merge_flag(merge_ idx)는 01(0)1(0)0 01(1)1(1)0 01(1)1(1)0 0000의 값으로 복호화된다.
본 실시예에 따른 신택스 요소들의 일례는 앞서 기재한 표 7과 같다.
실시예 #6-2
도 11은 복수의 병합 타일을 포함하는 픽처에 각 타일의 병합 여부 및 병합 타일의 인덱스 정보를 표시한 다른 예시도이다.
한편, 실시예 #6-1의 표 7과 달리 영상 부호화 장치가 병합 타일의 개수(num_merge_tile_minus1)를 부호화하지 않고, merge_ idx를 unary 방식으로 부호화하는 경우도 가능하다. 이 경우, 영상 복호화 장치는 병합 타일의 개수가 2개인 경우에 merge_ idx를 "0"또는"10"의 값으로 복호화하고, 병합 타일의 개수가 3개인 경우에 merge_idx를 "0", "10"또는"110"의 값으로 복호화하게 된다.
본 실시예에 따라서 도 10과 같은 형태의 타일 구조를 정의하는 경우, merge_flag(merge_idx)는 01(0)1(0)0 01(10)1(10)0 01(10)1(10)0 0000의 값으로 복호화된다.
본 발명의 실시예들에 따른 영상 부호화 또는 복호화하기 위한 장치 및 방법에 의하면, 픽처 내 가로열 및 세로열을 기준으로 자유롭게 타일을 구성하여 타일 경계에서의 이격 문제와 부호화 효율 감소의 문제를 해결할 수 있다. 또한, 뷰-포트(view-port) 기반의 레이아웃을 지원하는 VR(Virtual Reality) 콘텐츠의 경우, 사용자 시점과 같은 중요 뷰(view)에 해당하는 영역을 병합 타일로 정의하여 복수의 타일들로 인한 화질 저하를 줄일 수 있다. 한편, 일반 화질로 처리될 영역들을 작은 크기의 타일들로 정의하여 중요 뷰가 변경되더라도 영상을 유연하게 처리할 수 있다. 그리고 특정 시선에 따라 정의된 위치 정보(예: yaw, roll, pitch)에 따라 비디오의 고화질 영역과 고화질 영역에 해당하는 위치의 오디오 방향을 동기화시킬 수 있다.
도 4 및 도 14에서는 각 과정을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 4 및 도 14에 기재된 과정을 변경하여 실행하거나 하나 이상의 과정을 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 4 및 도 14는 시계열적인 순서로 한정되는 것은 아니다.
도 4 및 도 14에 기재된 본 실시예에 따른 영상 부호화 또는 복호화 방법은 컴퓨터 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 영상 부호화 또는 복호화 방법을 구현하기 위한 컴퓨터 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨팅 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (14)

  1. 복수의 타일(tile)들로 분할된 픽처를 부호화하는 영상 부호화 방법에 있어서,
    상기 복수의 타일들 중 일부의 타일들을 병합할지 여부를 지시하는 제1 정보를 부호화하는 단계;
    상기 제1 정보가 타일 병합을 지시하는 것으로 부호화된 경우, 상기 복수의 타일들 중 일부의 타일들을 병합하여 병합 타일(merge tile)을 생성하는 단계, 상기 각 병합 타일은 하나의 타일로 정의됨;
    상기 복수의 타일들 중 상기 병합 타일로 병합되는 타일들을 지시하기 위한 제2 정보를 부호화하는 단계, 상기 제2 정보는 (1) 상기 병합 타일로 병합되는 타일들 중에서 최초 타일과 최후 타일에 대한 식별 정보 또는 위치정보 및 (2) 상기 복수의 타일들 각각에 대해 상기 병합 타일로 병합되는지 여부를 지시하는 정보 중 하나를 포함함; 및
    상기 병합 타일로 병합된 타일들 간의 부호화 의존성에 대한 제약 없이 상기 병합 타일을 하나의 타일로 부호화하는 단계를 포함하는, 영상 부호화 방법.
  2. 제1항에 있어서,
    상기 부호화 의존성은 상기 병합 타일로 병합된 타일들 간의 인트라 예측 의존성을 포함하는 것을 특징으로 하는, 영상 부호화 방법.
  3. 복수의 타일(tile)들로 분할된 픽처를 부호화하는 영상 부호화 방법에 있어서,
    상기 복수의 타일들 중 일부의 타일들을 병합할지 여부를 지시하는 제1 정보를 부호화하는 단계;
    상기 제1 정보가 타일 병합을 지시하는 것으로 부호화된 경우, 상기 복수의 타일들 중 일부의 타일들을 병합하여 복수의 병합 타일들을 생성하는 단계, 상기 복수의 병합 타일들 각각은 하나의 타일로 정의됨;
    상기 픽처의 타일 구조를 특정하는 제2 정보를 부호화하는 단계, 상기 제2 정보는, 상기 복수의 병합 타일들 각각에 대해, 병합되는 타일들 중 최초 타일 및 최후 타일의 식별정보 또는 위치정보를 포함함;
    상기 복수의 병합 타일들의 개수를 지시하는 제3 정보를 부호화하는 단계; 및
    상기 복수의 병합 타일 각각에 대해 병합된 타일들 간의 부호화 의존성에 대한 제약 없이, 상기 복수의 병합 타일들을 각각 하나의 타일로서 부호화하는 단계
    를 포함하는 것을 특징으로 하는, 영상 부호화 방법.
  4. 삭제
  5. 복수의 타일(tile)들로 분할된 픽처를 부호화하는 영상 부호화 방법에 있어서,
    상기 복수의 타일들 중 일부의 타일들을 병합할지 여부를 지시하는 제1 정보를 부호화하는 단계;
    상기 제1 정보가 타일 병합을 지시하는 것으로 부호화된 경우, 상기 복수의 타일들 중 일부의 타일들을 병합하여 복수의 병합 타일들을 생성하는 단계, 상기 복수의 병합 타일들 각각은 하나의 타일로 정의됨;
    상기 픽처의 타일 구조를 특정하는 제2 정보를 부호화하는 단계, 상기 제2 정보는 상기 복수의 타일들 각각에 대하여 병합되는지 여부를 나타내는 정보와 상기 복수의 타일들 중 병합되는 타일들 각각에 대한 관련 병합 타일의 인덱스를 포함하며, 상기 관련 병합 타일의 인덱스는 절삭된 유너리 코드로 부호화됨;
    상기 복수의 병합 타일들의 개수를 지시하는 제3 정보를 부호화하는 단계; 및
    상기 복수의 병합 타일 각각에 대해 병합된 타일들 간의 부호화 의존성에 대한 제약 없이, 상기 복수의 병합 타일들을 각각 하나의 타일로서 부호화하는 단계
    를 포함하는 것을 특징으로 하는, 영상 부호화 방법.
  6. 복수의 타일(tile)들로 분할된 픽처를 부호화하는 영상 부호화 방법에 있어서,
    상기 복수의 타일들 중 일부의 타일들을 병합할지 여부를 지시하는 제1 정보를 부호화하는 단계;
    상기 제1 정보가 타일 병합을 지시하는 것으로 부호화된 경우, 상기 복수의 타일들 중 일부의 타일들을 병합하여 복수의 병합 타일들을 생성하는 단계, 상기 복수의 병합 타일들 각각은 하나의 타일로 정의됨;
    상기 픽처의 타일 구조를 특정하는 제2 정보를 부호화하는 단계, 상기 제2 정보는 상기 복수의 타일들 각각에 대하여 병합되는지 여부를 나타내는 정보와 상기 복수의 타일들 중 병합되는 타일들에 대한 관련 병합 타일의 인덱스 정보를 포함하며, 상기 관련 병합 타일의 인덱스는 유너리 코드로 부호화됨; 및
    상기 복수의 병합 타일 각각에 대해 병합된 타일들 간의 부호화 의존성에 대한 제약 없이, 상기 복수의 병합 타일들을 각각 하나의 타일로서 부호화하는 단계
    를 포함하는 것을 특징으로 하는, 영상 부호화 방법.
  7. 삭제
  8. 복수의 타일(tile)들의 일부가 병합 타일로 병합된 픽처를 복호화하는 영상 복호화 방법에 있어서,
    비트스트림으로부터 상기 복수의 타일들 중 일부의 타일들을 병합할지 여부를 지시하는 제1 정보를 복호화하는 단계;
    상기 복호화된 제1 정보가 타일 병합을 지시하면, 상기 비트스트림으로부터 상기 복수의 타일들 중 병합되는 타일들을 지시하기 위한 제2 정보를 복호화하는 단계, 상기 제2 정보는 (1) 상기 병합 타일로 병합되는 타일들 중에서 최초 타일과 최후 타일에 대한 식별 정보 또는 위치정보 및 (2) 상기 복수의 타일들 각각에 대해 상기 병합 타일로 병합되는지 여부를 지시하는 정보 중 하나를 포함함; 및
    상기 제2 정보가 지시하는 타일들을 병합하여 병합 타일(merge tile)을 생성하는 단계, 상기 병합 타일은 하나의 타일로 정의됨;
    상기 병합 타일로 병합된 타일들 간의 복호화 의존성에 대한 제약 없이 상기 병합 타일을 하나의 타일로서 복호화하는 단계를 포함하는, 영상 복호화 방법.
  9. 제8항에 있어서,
    상기 복호화 의존성은 상기 각 병합 타일로 병합된 타일들 간의 인트라 예측 의존성을 포함하는 것을 특징으로 하는, 영상 복호화 방법.
  10. 복수의 타일(tile)들의 일부가 복수의 병합 타일들로 병합된 픽처를 복호화하는 영상 복호화 방법에 있어서,비트스트림으로부터 상기 복수의 타일들 중 일부의 타일들을 병합할지 여부를 지시하는 제1 정보를 복호화하는 단계;
    복호화된 제1 정보가 타일 병합을 지시하면, 상기 비트스트림으로부터 상기 픽처의 타일 구조를 특정하는 제2 정보 및 상기 복수의 병합 타일들의 개수를 지시하는 제3 정보를 복호화하는 단계, 상기 제2 정보는, 상기 복수의 병합 타일들 각각에 대해, 병합되는 타일들 중 최초 타일 및 최후 타일의 식별정보 또는 위치정보를 포함함;
    상기 제2 정보 및 제3 정보에 의해 특정되는 타일들을 병합하여 상기 복수의 병합 타일들을 생성하는 단계, 상기 복수의 병합 타일 각각은 하나의 타일로 정의됨; 및
    상기 복수의 병합 타일 각각에 대해 병합된 타일들 간의 복호화 의존성에 대한 제약 없이 상기 복수의 병합 타일들을 각각 하나의 타일로서 복호화하는 단계
    를 포함하는 것을 특징으로 하는, 영상 복호화 방법.
  11. 삭제
  12. 삭제
  13. 복수의 타일(tile)들의 일부가 복수의 병합 타일들로 병합된 픽처를 복호화하는 영상 복호화 방법에 있어서,비트스트림으로부터 상기 복수의 타일들 중 일부의 타일들을 병합할지 여부를 지시하는 제1 정보를 복호화하는 단계;
    복호화된 제1 정보가 타일 병합을 지시하면, 상기 비트스트림으로부터 상기 픽처의 타일 구조를 특정하는 제2 정보를 복호화하는 단계, 상기 제2 정보는 상기 복수의 타일들 각각에 대하여 병합되는지 여부를 나타내는 정보와 상기 복수의 타일들 중 병합되는 타일들 각각에 대한 관련 병합 타일의 인덱스를 포함하고, 상기 관련 병합 타일의 인덱스는 유너리 코드로 부호화되어 있음;
    상기 제2 정보 및 제3 정보에 의해 특정되는 타일들을 병합하여 상기 복수의 병합 타일들을 생성하는 단계, 상기 복수의 병합 타일 각각은 하나의 타일로 정의됨; 및
    상기 복수의 병합 타일 각각에 대해 병합된 타일들 간의 복호화 의존성에 대한 제약 없이 상기 복수의 병합 타일들을 각각 하나의 타일로서 복호화하는 단계
    를 포함하는 것을 특징으로 하는, 영상 복호화 방법.
  14. 복수의 타일(tile)들의 일부가 복수의 병합 타일들로 병합된 픽처를 복호화하는 영상 복호화 방법에 있어서,비트스트림으로부터 상기 복수의 타일들 중 일부의 타일들을 병합할지 여부를 지시하는 제1 정보를 복호화하는 단계;
    복호화된 제1 정보가 타일 병합을 지시하면, 상기 비트스트림으로부터 상기 픽처의 타일 구조를 특정하는 제2 정보 및 상기 복수의 병합 타일들의 개수를 지시하는 제3 정보를 복호화하는 단계, 상기 제2 정보는 상기 복수의 타일들 각각에 대하여 병합되는지 여부를 나타내는 정보와 상기 복수의 타일들 중 병합되는 타일들 각각에 대한 관련 병합 타일의 인덱스를 포함하며, 상기 관련 병합 타일의 인덱스는 절삭된 유너리 코드로 부호화되어 있음;
    상기 제2 정보 및 제3 정보에 의해 특정되는 타일들을 병합하여 상기 복수의 병합 타일들을 생성하는 단계, 상기 복수의 병합 타일 각각은 하나의 타일로 정의됨; 및
    상기 복수의 병합 타일 각각에 대해 병합된 타일들 간의 복호화 의존성에 대한 제약 없이 상기 복수의 병합 타일들을 각각 하나의 타일로서 복호화하는 단계
    를 더 포함하는 것을 특징으로 하는, 영상 복호화 방법.
KR1020170041140A 2017-03-03 2017-03-30 영상 부호화 또는 복호화하기 위한 장치 및 방법 Active KR102390413B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/KR2018/002537 WO2018160034A1 (ko) 2017-03-03 2018-03-02 영상 부호화 또는 복호화하기 위한 장치 및 방법
CN201880028688.0A CN110603809B (zh) 2017-03-03 2018-03-02 用于视频编码或解码的设备和方法
US16/558,914 US10951916B2 (en) 2017-03-03 2019-09-03 Apparatus and method for video encoding or decoding

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170027941 2017-03-03
KR1020170027941 2017-03-03

Publications (2)

Publication Number Publication Date
KR20180101123A KR20180101123A (ko) 2018-09-12
KR102390413B1 true KR102390413B1 (ko) 2022-04-25

Family

ID=63593120

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170041140A Active KR102390413B1 (ko) 2017-03-03 2017-03-30 영상 부호화 또는 복호화하기 위한 장치 및 방법

Country Status (3)

Country Link
US (1) US10951916B2 (ko)
KR (1) KR102390413B1 (ko)
CN (1) CN110603809B (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112690004B (zh) 2018-09-14 2023-01-13 华为技术有限公司 一种视频译码中的基于分块的寻址方法,译码器以及视频译码设备
CN109587490B (zh) * 2018-11-05 2022-05-31 深圳威尔视觉传媒有限公司 一种Tile分片填充方法、装置、设备、存储介质和解码方法
KR102825064B1 (ko) 2019-01-01 2025-06-24 엘지전자 주식회사 머지 데이터에 대한 정보를 코딩하는 방법 및 장치
US20220182681A1 (en) * 2019-03-24 2022-06-09 Lg Electronics Inc. Image or video coding based on sub-picture handling structure
CN119676448A (zh) * 2019-06-20 2025-03-21 皇家飞利浦有限公司 用于对图像信号进行编码/解码的方法及其设备
CN113994690B (zh) 2019-09-23 2024-11-01 韩国电子通信研究院 图像编码/解码方法和装置、以及存储比特流的记录介质
US20230262208A1 (en) * 2020-04-09 2023-08-17 Looking Glass Factory, Inc. System and method for generating light field images

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090129926A (ko) 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
KR101641716B1 (ko) 2009-09-02 2016-07-21 에스케이텔레콤 주식회사 통합 영상 부호화 방법 및 장치
KR101484281B1 (ko) * 2010-07-09 2015-01-21 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
US9584819B2 (en) 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
KR101354086B1 (ko) 2011-11-23 2014-01-28 (주)휴맥스 공통 병합 후보 블록 집합을 이용한 영상 부호화 방법 및 복호화 방법
US9894355B2 (en) * 2012-01-19 2018-02-13 Sony Corporation Image processing apparatus and method thereof
US9838684B2 (en) * 2012-04-11 2017-12-05 Qualcomm Incorporated Wavefront parallel processing for video coding
US20150043638A1 (en) * 2012-05-15 2015-02-12 Sony Corporation Image processing apparatus and image processing method
CN104170384A (zh) * 2012-06-25 2014-11-26 索尼公司 图像解码设备、图像解码方法、图像编码设备和图像编码方法
JP6080405B2 (ja) * 2012-06-29 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP2015533051A (ja) * 2012-09-18 2015-11-16 ヴィド スケール インコーポレイテッド タイルおよびタイル群を使用した関心領域ビデオ符号化
CN103002289B (zh) * 2013-01-08 2015-06-17 中国电子科技集团公司第三十八研究所 面向监控应用的视频恒定质量编码装置及其编码方法
CN103873867B (zh) * 2014-03-31 2017-01-25 清华大学深圳研究生院 自由视点视频深度图失真预测方法和编码方法
EP4354856A3 (en) * 2014-06-19 2024-06-19 Microsoft Technology Licensing, LLC Unified intra block copy and inter prediction modes
US10986155B2 (en) * 2014-09-29 2021-04-20 Avaya Inc. Segmented video codec for high resolution and high frame rate video
US10382791B2 (en) * 2015-03-06 2019-08-13 Qualcomm Incorporated Data structure for video coding unit
CN107637081A (zh) * 2015-06-16 2018-01-26 夏普株式会社 图像解码装置以及图像编码装置
CN109691103B (zh) * 2016-07-14 2023-02-28 皇家Kpn公司 视频编码

Also Published As

Publication number Publication date
US20190394487A1 (en) 2019-12-26
CN110603809A (zh) 2019-12-20
KR20180101123A (ko) 2018-09-12
CN110603809B (zh) 2023-06-27
US10951916B2 (en) 2021-03-16

Similar Documents

Publication Publication Date Title
KR102390413B1 (ko) 영상 부호화 또는 복호화하기 위한 장치 및 방법
US11509913B2 (en) Method and apparatus for video decoding of area of interest in a bitstream
KR20210133192A (ko) 영상 부호화 또는 복호화하기 위한 장치 및 방법
WO2018116924A1 (ja) 符号化装置、符号化方法及びプログラム、復号装置、復号方法及びプログラム
US10178405B2 (en) Enhanced coding and decoding using intra block copy mode
CN116569217B (zh) 用于对网格进行编码的方法和装置
TWI877589B (zh) 圖像編碼裝置、圖像解碼裝置、圖像編碼方法、圖像解碼方法
KR102468596B1 (ko) 360 영상을 부호화 또는 복호화하기 위한 방법 및 장치
KR102453850B1 (ko) 비디오 데이터가 부호화된 비트스트림을 처리하는 방법
KR20190118125A (ko) 병렬 또는 분산 처리를 위한 화면 분할 정보를 제공하는 방법 및 이를 이용한 장치
TWI853577B (zh) 圖像編碼裝置、圖像解碼裝置、圖像編碼方法、圖像解碼方法
TWI834910B (zh) 影像編碼裝置、影像編碼方法及程式、影像解碼裝置、影像解碼方法及程式
TWI809279B (zh) 圖像編碼裝置、圖像解碼裝置、圖像編碼方法、圖像解碼方法
KR20130070618A (ko) 트리 구조를 이용한 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20170330

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20200326

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20170330

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20210714

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20220218

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20220420

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20220420

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20250319

Start annual number: 4

End annual number: 4