Search

KR-20260062033-A - APPARATUS AND METHOD FOR FILTERING IMAGE USING NEURAL NETWORK

KR20260062033AKR 20260062033 AKR20260062033 AKR 20260062033AKR-20260062033-A

Abstract

일 실시예에 따른 영상의 복호화 방법은 현재 블록 내 각각의 샘플에 대한 샘플 값의 변화량에 기초하여 현재 블록의 클래스를 결정하는 단계, 현재 블록의 클래스에 기초하여 현재 블록에 적용되는 멀티 채널 커널을 결정하는 단계, 멀티 채널 커널에 포함된 복수의 필터 커널을 각각 현재 블록 내 현재 샘플에 적용함으로써, 현재 샘플에 대한 특징 벡터를 결정하는 단계, 미리 정의된 데이터 세트로부터 특징 벡터에 의해 매핑되는 예상 오차를 획득하는 단계, 및 예상 오차를 이용하여 현재 샘플을 필터링하는 단계를 포함할 수 있다.

Inventors

  • 딘쿠오칸
  • 김양우
  • 최광표

Assignees

  • 삼성전자주식회사

Dates

Publication Date
20260506
Application Date
20250919
Priority Date
20241028

Claims (15)

  1. 영상의 복호화 방법에 있어서, 현재 블록 내 각각의 샘플에 대한 샘플 값의 변화량(gradient)에 기초하여 상기 현재 블록의 클래스를 결정하는 단계(S3010); 상기 현재 블록의 클래스에 기초하여 상기 현재 블록에 적용되는 멀티 채널 커널(multi-channel kernel)을 결정하는 단계(S3020)로서, 여기서, 상기 멀티 채널 커널은 미리 정의된 복수의 필터 커널을 포함함; 상기 멀티 채널 커널에 포함된 복수의 필터 커널을 각각 상기 현재 블록 내 현재 샘플에 적용함으로써, 상기 현재 샘플에 대한 특징 벡터(feature vector)를 결정하는 단계(S3030); 미리 정의된 데이터 세트로부터 상기 특징 벡터에 의해 매핑되는 예상 오차(expected error)를 획득하는 단계(S3040); 및 상기 예상 오차를 이용하여 상기 현재 샘플을 필터링하는 단계(S3050)를 포함하는, 영상의 복호화 방법.
  2. 제1항에 있어서, 상기 현재 블록의 클래스를 결정하는 단계는, 상기 현재 블록에 포함된 모든 샘플에 대한 수직 방향, 수평 방향, 대각선 방향 및 반대각선 방향의 샘플 값의 변화량을 각각 평균함으로써, 상기 현재 블록의 수직 방향 변화량, 수평 방향 변화량, 대각선 방향 변화량 및 반대각선 방향 변화량을 결정하는 단계를 포함하는, 영상의 복호화 방법.
  3. 제1항 및 제2항 중 어느 한 항에 있어서, 상기 현재 블록의 클래스를 결정하는 단계는, 상기 현재 블록의 수직 방향 변화량과 수평 방향 변화량의 크기를 비교한 제1 비교 결과 및 상기 현재 블록의 대각선 방향 변화량과 반대각선 방향 변화량의 크기를 비교한 제2 비교 결과를 이용하여 상기 현재 블록의 클래스를 결정하는 단계를 포함하는, 영상의 복호화 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 멀티 채널 커널은 수직 필터 커널(vertical filter kernel), 수평 필터 커널(horizontal filter kernel) 및 혼합 필터 커널(mixed filter kernel)을 포함하는, 영상의 복호화 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 특징 벡터를 결정하는 단계는, 상기 수직 필터 커널의 제1 필터 계수를 상기 제1 필터 계수에 대응하는 위치의 주변 샘플과 상기 현재 샘플간 차분에 적용함으로써, 상기 현재 샘플에 대한 수직 특징(vertical feature)을 획득하는 단계를 포함하는, 영상의 복호화 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 특징 벡터를 결정하는 단계는, 상기 수평 필터 커널의 제2 필터 계수를 상기 제2 필터 계수에 대응하는 위치의 주변 샘플과 상기 현재 샘플간 차분에 적용함으로써, 상기 현재 샘플에 대한 수평 특징(horizontal feature)을 획득하는 단계를 포함하는, 영상의 복호화 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 특징 벡터를 결정하는 단계는, 상기 혼합 필터 커널의 제3 필터 계수를 상기 제3 필터 계수에 대응하는 위치의 주변 샘플과 상기 현재 샘플간 차분에 적용함으로써, 상기 현재 샘플에 대한 혼합 특징(mixed feature)을 획득하는 단계를 포함하는, 영상의 복호화 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 수직 필터 커널의 제1 필터 계수들은 중심 수직 라인을 기준으로 대칭이고, 상기 수평 필터 커널의 제2 필터 계수들은 중심 수평 라인을 기준으로 대칭이고, 상기 혼합 필터 커널의 제3 필터 계수들은 중심 수직 라인 및 중심 수평 라인을 기준으로 대칭인, 영상의 복호화 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 특징 벡터를 결정하는 단계는, 상기 멀티 채널 커널에 포함된 복수의 필터 커널의 각각의 필터 계수에 대응하는 위치의 주변 샘플과 상기 현재 샘플간 차분을 소정의 클리핑 함수에 기초하여 전처리하는 단계를 포함하는, 영상의 복호화 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 특징 벡터를 결정하는 단계는, 상기 현재 샘플의 수직 특징, 수평 특징 및 혼합 특징에 대한 양자화를 수행하는 단계를 포함하는, 영상의 복호화 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 샘플 보정의 스케일을 나타내는 스케일 팩터(scale factor)를 획득하는 단계를 더 포함하고, 상기 현재 샘플은 상기 스케일 팩터에 기초하여 수정된 예상 오차를 이용하여 필터링되는, 영상의 복호화 방법.
  12. 제1항 내지 제12항 중 어느 한 항에 있어서, 상기 미리 정의된 데이터 세트는 룩업 테이블(lookup table) 형태로 저장된 것인, 영상의 복호화 방법.
  13. 영상의 복호화 장치에 있어서, 적어도 하나의 인스트럭션을 저장하는 적어도 하나의 메모리; 및 상기 적어도 하나의 인스트럭션에 따라 동작하는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 현재 블록 내 각각의 샘플에 대한 샘플 값의 변화량에 기초하여 상기 현재 블록의 클래스를 결정하고, 상기 현재 블록의 클래스에 기초하여 상기 현재 블록에 적용되는 멀티 채널 커널을 결정하고, 여기서, 상기 멀티 채널 커널은 미리 정의된 복수의 필터 커널을 포함하고, 상기 멀티 채널 커널에 포함된 복수의 필터 커널을 각각 상기 현재 블록 내 현재 샘플에 적용함으로써, 상기 현재 샘플에 대한 특징 벡터를 결정하고, 미리 정의된 데이터 세트로부터 상기 특징 벡터에 의해 매핑되는 예상 오차를 획득하고, 상기 예상 오차를 이용하여 상기 현재 샘플을 필터링하는, 영상의 복호화 장치.
  14. 영상의 부호화 방법에 있어서, 현재 블록 내 각각의 샘플에 대한 샘플 값의 변화량(gradient)에 기초하여 상기 현재 블록의 클래스를 결정하는 단계(S3010); 상기 현재 블록의 클래스에 기초하여 상기 현재 블록에 적용되는 멀티 채널 커널(multi-channel kernel)을 결정하는 단계(S3020)로서, 여기서, 상기 멀티 채널 커널은 미리 정의된 복수의 필터 커널을 포함함; 상기 멀티 채널 커널에 포함된 복수의 필터 커널을 각각 상기 현재 블록 내 현재 샘플에 적용함으로써, 상기 현재 샘플에 대한 특징 벡터(feature vector)를 결정하는 단계(S3030); 미리 정의된 데이터 세트로부터 상기 특징 벡터에 의해 매핑되는 예상 오차(expected error)를 획득하는 단계(S3040); 및 상기 예상 오차를 이용하여 상기 현재 샘플을 필터링하는 단계(S3050)를 포함하는, 영상의 부호화 방법.
  15. 비트스트림을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서, 상기 비트스트림은, 영상 부호화 방법에 따라 필터링되는 현재 영상을 기반으로 생성된 부호화 결과를 포함하고, 상기 영상 부호화 방법은, 상기 현재 영상 내 현재 블록의 각각의 샘플에 대한 샘플 값의 변화량에 기초하여 상기 현재 블록의 클래스를 결정하는 단계; 상기 현재 블록의 클래스에 기초하여 상기 현재 블록에 적용되는 멀티 채널 커널을 결정하는 단계로서, 여기서, 상기 멀티 채널 커널은 미리 정의된 복수의 필터 커널을 포함함; 상기 멀티 채널 커널에 포함된 복수의 필터 커널을 각각 상기 현재 블록 내 현재 샘플에 적용함으로써, 상기 현재 샘플에 대한 특징 벡터를 결정하는 단계; 미리 정의된 데이터 세트로부터 상기 특징 벡터에 의해 매핑되는 예상 오차를 획득하는 단계; 및 상기 예상 오차를 이용하여 상기 현재 샘플을 필터링하는 단계를 포함하는, 기록매체.

Description

영상의 필터링 방법 및 장치{APPARATUS AND METHOD FOR FILTERING IMAGE USING NEURAL NETWORK} 본 개시는 영상의 필터링 분야에 관한 것으로서, 보다 구체적으로는, 영상의 부호화 또는 복호화 과정에서 인루프 필터링을 수행하는 장치 및 방법에 관한 것이다. 영상의 부호화 및 복호화에서는 영상을 블록으로 분할하고, 인터 예측(inter prediction) 또는 인트라 예측(intra prediction)을 통해 각각의 블록을 예측 부호화 및 예측 복호화할 수 있다. 인터 예측은 영상들 사이의 시간적인 중복성을 제거하여 영상을 압축하는 기술일 수 있다. 인터 예측에서는 참조 영상을 이용해 현재 영상의 블록들을 예측할 수 있다. 현재 블록과 가장 유사한 참조 블록을 참조 영상 내 소정의 검색 범위에서 검색할 수 있다. 현재 블록을 참조 블록에 기초하여 예측하고, 예측 결과 생성된 예측 블록을 현재 블록으로부터 감산하여 잔차 블록을 생성할 수 있다. 인트라 예측은 영상 내의 공간적인 중복성을 제거하여 영상을 압축하는 기술일 수 있다. 인트라 예측에서는 인트라 예측 모드에 따라 현재 블록의 주변 픽셀들에 기초하여 예측 블록을 생성할 수 있다. 그리고, 예측 블록을 현재 블록으로부터 감산하여 잔차 블록을 생성할 수 있다. 예측 블록을 생성하는데 이용된 인트라 예측 모드는 소정의 방식을 통해 디코더 측으로 시그널링될 수 있다. 인터 예측 또는 인트라 예측을 통해 생성된 잔차 블록은 변환 및 양자화를 거쳐 디코더로 전달될 수 있다. 인코더 및 디코더는 현재 블록의 예측 블록과 잔차 블록을 결합하여 현재 블록을 복원할 수 있다. 인코더 및 디코더는 복원된 현재 블록에 대해 디블로킹 필터(deblocking filter) 및/또는 적응적 루프 필터(adaptive loop filter)를 적용하여 현재 블록 내 아티팩트를 제거할 수 있다. 도 1은 일 실시예에 따른 영상 복호화 장치의 블록도이다. 도 2는 일 실시예에 따른 영상 부호화 장치의 블록도이다. 도 3은 일 실시예에 따라 현재 부호화 단위를 분할하여 적어도 하나의 부호화 단위를 결정하는 과정을 도시한다. 도 4는 일 실시예에 따라 비-정사각형의 형태인 부호화 단위를 분할하여 적어도 하나의 부호화 단위를 결정하는 과정을 도시한다. 도 5는 일 실시예에 따라 블록 형태 정보 및 분할 형태 모드 정보 중 적어도 하나에 기초하여 부호화 단위를 분할하는 과정을 도시한다. 도 6은 일 실시예에 따라 홀수 개의 부호화 단위들 중 소정의 부호화 단위를 결정하기 위한 방법을 도시한다. 도 7은 일 실시예에 따라 현재 부호화 단위를 분할하여 복수 개의 부호화 단위들을 결정하는 경우, 복수 개의 부호화 단위들이 처리되는 순서를 도시한다. 도 8은 일 실시예에 따라 소정의 순서로 부호화 단위가 처리될 수 없는 경우, 현재 부호화 단위가 홀수 개의 부호화 단위로 분할되는 것임을 결정하는 과정을 도시한다. 도 9는 일 실시예에 따라 제1 부호화 단위를 분할하여 적어도 하나의 부호화 단위를 결정하는 과정을 도시한다. 도 10은 일 실시예에 따라 제1 부호화 단위가 분할되어 결정된 비-정사각형 형태의 제2 부호화 단위가 소정의 조건을 만족하는 경우 분할될 수 있는 형태가 제한됨을 도시한다. 도 11은 일 실시예에 따라 분할 형태 모드 정보가 4개의 정사각형 형태의 부호화 단위로의 분할을 나타낼 수 없는 경우, 정사각형 형태의 부호화 단위를 분할하는 과정을 도시한다. 도 12는 일 실시예에 따라 복수 개의 부호화 단위들 간의 처리 순서가 부호화 단위의 분할 과정에 따라 달라질 수 있음을 도시한 것이다. 도 13은 일 실시예에 따라 부호화 단위가 재귀적으로 분할되어 복수 개의 부호화 단위가 결정되는 경우, 부호화 단위의 형태 및 크기가 변함에 따라 부호화 단위의 심도가 결정되는 과정을 도시한다. 도 14는 일 실시예에 따라 부호화 단위들의 형태 및 크기에 따라 결정될 수 있는 심도 및 부호화 단위 구분을 위한 인덱스(part index, 이하 PID)를 도시한다. 도 15는 일 실시예에 따라 픽쳐에 포함되는 복수 개의 소정의 데이터 단위에 따라 복수 개의 부호화 단위들이 결정된 것을 도시한다. 도 16은 일 실시예에 따라 부호화 단위가 분할될 수 있는 형태의 조합이 픽쳐마다 서로 다른 경우, 각각의 픽쳐마다 결정될 수 있는 부호화 단위들을 도시한다. 도 17은 일 실시예에 따라 바이너리(binary)코드로 표현되는 분할 형태 모드 정보에 기초하여 결정될 수 있는 부호화 단위의 다양한 형태를 도시한다. 도 18은 일 실시예에 따라 바이너리 코드로 표현되는 분할 형태 모드 정보에 기초하여 결정될 수 있는 부호화 단위의 또 다른 형태를 도시한다. 도 19는 일 실시예에 따른 영상 부호화 및 복호화 시스템의 블록도를 나타낸 도면이다. 도 20은 일 실시예에 따른 필터링 장치의 구성을 도시하는 블록도이다. 도 21은 본 개시의 일 실시예에 따른 멀티 채널 커널 기반 샘플 필터링 과정을 설명하기 위한 도면이다. 도 22는 본 개시의 일 실시예에 따른 에지 분류 과정을 설명하기 위한 도면이다. 도 23은 본 개시의 일 실시예에 따른 수직 특징의 추출을 위한 수직 커널의 일 예를 도시하는 도면이다. 도 24는 본 개시의 일 실시예에 따른 수평 특징의 추출을 위한 수평 커널의 일 예를 도시하는 도면이다. 도 25는 본 개시의 일 실시예에 따른 혼합 특징의 추출을 위한 혼합 커널의 일 예를 도시하는 도면이다. 도 26은 본 개시의 일 실시예에 따른 공간 특징의 추출을 위한 공간 커널의 일 예를 도시하는 도면이다. 도 27은 본 개시의 일 실시예에 따른 인루프 필터 파이프라인에서 가이드 디테일 필터의 배치를 예시하는 도면이다. 도 28은 본 개시의 일 실시예에 따른 인루프 필터 파이프라인에서 가이드 디테일 필터의 배치를 예시하는 도면이다. 도 29는 본 개시의 일 실시예에 따른 인루프 필터 파이프라인에서 가이드 디테일 필터의 배치를 예시하는 도면이다. 도 30은 일 실시예에 따른 영상의 필터링 방법을 설명하기 위한 순서도이다. 본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 실시예를 도면에 예시하고, 이를 상세한 설명을 통해 상세히 설명한다. 그러나, 이는 본 개시의 실시 형태에 대해 한정하려는 것이 아니며, 본 개시는 여러 실시예들의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함할 수 있다. 실시예를 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략할 수 있다. 또한, 실시예의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별 기호에 해당할 수 있다. 본 개시에서, "a, b 또는 c 중 적어도 하나"의 표현은 " a", " b", " c", "a 및 b", "a 및 c", "b 및 c", "a, b 및 c 모두", 혹은 그 변형들을 지칭할 수 있다. 본 개시에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 일 구성요소가 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다. 본 개시에서 '~부(유닛)', '모듈' 등으로 표현되는 구성요소는 2개 이상의 구성요소가 하나의 구성요소로 합쳐지거나 또는 하나의 구성요소가 보다 세분화된 2개 이상의 구성요소로 나뉘어질 수도 있다. 또한, 이하에서 설명할 구성요소 각각은 자신이 담당하는 주 기능 이외에도 다른 구성요소가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수 있으며, 구성요소 각각이 담당하는 주 기능 중 일부 기능이 다른 구성요소에 의해 수행될 수도 있다. 본 개시에서, '영상(image)'은 픽처(picture), 정지영상, 프레임, 복수의 연속된 정지영상으로 구성된 동영상, 또는 비디오를 나타낼 수 있다. 본 개시에서, '샘플'은 영상의 샘플링 위치에 할당된 데이터로서 처리 대상이 되는 데이터를 의미할 수 있다. 예를 들어, 공간 영역의 프레임 내 픽셀이 샘플에 해당할 수 있다. 복수의 샘플들을 포함하는 단위를 블록이라고 정의할 수 있다. 이하에서는, 도 1 내지 도 19를 참조하여, 일 실시예에 따른 트리 구조의 부호화 단위 및 변환 단위에 기초한 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치가 개시된다. 도 1은 일 실시예에 따른 영상 복호화 장치(100)의 블록도를 도시한다. 영상 복호화 장치(100)는 비트스트림 획득부(110) 및 복호화부(120)를 포함할 수 있다. 비트스트림 획득부(110) 및 복호화부(120)는 적어도 하나의 프로세서를 포함할 수 있다. 또한 비트스트림 획득부(110) 및 복호화부(120)는 적어도 하나의 프로세서가 수행할 명령어들을 저장하는 메모리를 포함할 수 있다. 비트스트림 획득부(110)는 비트스트림을 수신할 수 있다. 비트스트림은 후술되는 영상 부호화 장치(200)가 영상을 부호화한 정보를 포함한다. 또한 비트스트림은 영상 부호화 장치(200)로부터 송신될 수 있다. 영상 부호화 장치(200) 및 영상 복호화 장치(100)는 유선 또는 무선으로 연결될 수 있으며, 비트스트림 획득부(110)는 유선 또는 무선을 통하여 비트스트림을 수신할 수 있다. 비트스트림 획득부(110)는 광학미디어, 하드디스크 등과 같은 저장매체로부터 비트스트림을 수신할 수 있다. 복호화부(120)는 수신된 비트스트림으로부터 획득된 정보에 기초하여 영상을 복원할 수 있다. 복호화부(120)는 영상을 복원하기 위한 신택스 엘리먼트를 비트스트림으로부터 획득할 수 있다. 복호화부(120)는 신택스 엘리먼트에 기초하여 영상을 복원할 수 있다. 영상 복호화 장치(100)의 동작에 대해 상세히 설명하면, 비트스트림 획득부(110)는 비트스트림을 수신할 수 있다. 영상 복호화 장치(100)는 비트스트림으로부터 부호화 단위의 분할 형태 모드에 대응하는 빈스트링을 획득하는 동작을 수행할