KR20230158628A - 기계용 비디오 코딩을 위한 강화 프로세스 - Google Patents

기계용 비디오 코딩을 위한 강화 프로세스 Download PDF

Info

Publication number
KR20230158628A
KR20230158628A KR1020237037909A KR20237037909A KR20230158628A KR 20230158628 A KR20230158628 A KR 20230158628A KR 1020237037909 A KR1020237037909 A KR 1020237037909A KR 20237037909 A KR20237037909 A KR 20237037909A KR 20230158628 A KR20230158628 A KR 20230158628A
Authority
KR
South Korea
Prior art keywords
image
vcm
enhancement
coded
vision
Prior art date
Application number
KR1020237037909A
Other languages
English (en)
Inventor
웬 가오
샤오종 수
샨 리우
Original Assignee
텐센트 아메리카 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US18/076,020 external-priority patent/US20230269378A1/en
Application filed by 텐센트 아메리카 엘엘씨 filed Critical 텐센트 아메리카 엘엘씨
Publication of KR20230158628A publication Critical patent/KR20230158628A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/177Methods 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 a group of pictures [GOP]
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

기계용 비디오 코딩(VCM) 이미지 강화를 수행하는 시스템, 디바이스 및 방법은, 코딩된 비트스트림으로부터 코딩된 이미지를 획득하는 것; 상기 코딩된 이미지에 대응하는 강화 파라미터를 획득하는 것; VCM 디코딩 모듈을 사용하여 상기 코딩된 이미지를 디코딩하여 디코딩된 이미지를 생성하는 것; 상기 디코딩된 이미지 및 상기 강화 파라미터에 기초한 강화 모듈을 사용하여 강화된 이미지를 생성하는 것 - 상기 강화 파라미터는 인간 시각 VCM 태스크, 기계 시각 VCM 태스크 및 인간-기계 하이브리드 시각 VCM 태스크 중 하나에 대해 최적화됨 -; 및 상기 인간 시각 VCM 태스크, 상기 기계 시각 VCM 태스크 및 상기 인간-기계 하이브리드 시각 VCM 태스크 중 하나를 수행하기 위한 인간 시각 모듈 및 기계 시각 모듈 중 적어도 하나에 상기 디코딩된 이미지 및 상기 강화된 이미지 중 적어도 하나를 제공하는 것을 포함한다.

Description

기계용 비디오 코딩을 위한 강화 프로세스
관련 출원에 대한 상호 참조
본 출원은 미국 특허청에 2022년 2월 24일에 출원된 미국 가출원 제63/313,616호 및 2022년 12월 6일에 미국 특허청에 출원된 미국 출원 제18/076,020호로부터 우선권을 주장하며, 그 개시 내용은 그 전체가 참조에 의해 본 명세서에 포함된다.
본 개시의 실시예는 비디오 코딩, 보다 구체적으로는 기계용 비디오 코딩(video coding for machine, VCM)에 부합되는 이미지 강화(image enhancement)에 관한 것이다.
인간 사용자는 비디오나 이미지를 엔터테인먼트, 교육 등의 다양한 목적으로 소비할 수 있다. 따라서 비디오 코딩이나 이미지 코딩에서는 양호한 주관적 품질을 유지하면서 더 나은 압축 효율을 위해 인간 시각 시스템의 특성을 흔히 활용할 수 있다.
풍부한 센서와 함께 기계 학습 애플리케이션이 증가함에 따라, 많은 지능형 플랫폼이 객체 검출, 세그먼테이션 또는 추적과 같은 기계 시각 태스크(machine vision task)에 비디오를 활용해 왔다. 결과적으로, 기계 태스크에 사용하기 위한 비디오나 이미지를 인코딩하는 것은 흥미롭고 어려운 문제가 되었다. 이는 기계용 비디오 코딩(VCM) 연구의 도입으로 이어졌다. 이러한 목표를 달성하기 위해, 국제 표준 그룹 MPEG은 서로 다른 디바이스 간의 더 나은 상호운용성(interoperability)을 위해 관련 기술을 표준화하기 위해 "기계용 비디오 코딩(VCM)"이라는 Ad-Hoc 그룹을 만들었다.
기존 VCM 방법은 특정 클래스의 비디오 콘텐츠에 대해 최적화될 수 있다. 예를 들어, 학습 기반(learning-based) 또는 수작업(hand-crafted) 구현과 같은, 몇몇 VCM의 구현에서는 이미지/비디오 데이터세트의 세트를 사용하여 훈련되거나 최적화될 수 있다. 그러나 실제 인코딩 작업에 있어, 개별 이미지/비디오가 고유한 특성을 가지고 있을 수 있으며, 이는 훈련 이미지/비디오 데이터세트의 특성에서 벗어날 수 있다. 따라서, 디코딩된 이미지/비디오를 더욱 강화할 필요가 있을 수 있다.
본 개시의 일 측면에 따르면, 적어도 하나의 프로세서에 의해 실행되는, 기계용 비디오 코딩(video coding for machine, VCM) 이미지 강화를 수행하는 방법은, 코딩된 비트스트림으로부터 코딩된 이미지를 획득하는 단계; 상기 코딩된 이미지에 대응하는 강화 파라미터(enhancement parameter)를 획득하는 단계; VCM 디코딩 모듈을 사용하여 상기 코딩된 이미지를 디코딩하여 디코딩된 이미지를 생성하는 단계; 상기 디코딩된 이미지 및 상기 강화 파라미터에 기초하여 강화 모듈을 사용하여 강화된 이미지를 생성하는 단계 - 상기 강화 파라미터는 인간 시각(human vision) VCM 태스크, 기계 시각(machine vision) VCM 태스크 및 인간-기계 하이브리드 시각(human-machine hybrid vision) VCM 태스크 중 하나에 대해 최적화됨 -; 및 상기 인간 시각 VCM 태스크, 상기 기계 시각 VCM 태스크 및 상기 인간-기계 하이브리드 시각 VCM 태스크 중 하나를 수행하기 위한 인간 시각 모듈 및 기계 시각 모듈 중 적어도 하나에 상기 디코딩된 이미지 및 상기 강화된 이미지 중 적어도 하나를 제공하는 단계를 포함한다.
본 개시의 일 측면에 따르면, 기계용 비디오 코딩(VCM) 이미지 강화를 수행하는 디바이스는, 프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리; 및 상기 프로그램 코드를 판독하여 상기 프로그램 코드가 명령하는 대로 동작하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 프로그램 코드는, 상기 적어도 하나의 프로세서로 하여금 코딩된 비트스트림으로부터 코딩된 이미지를 획득하게 하도록 구성된 제1 획득 코드; 상기 적어도 하나의 프로세서로 하여금 상기 코딩된 이미지에 대응하는 강화 파라미터를 획득하게 하도록 구성된 제2 획득 코드; 상기 적어도 하나의 프로세서로 하여금 VCM 디코딩 모듈을 사용하여 상기 코딩된 이미지를 디코딩하여 디코딩된 이미지를 생성하게 하도록 구성된 디코딩 코드; 상기 적어도 하나의 프로세서로 하여금 상기 디코딩된 이미지 및 상기 강화 파라미터에 기초하여 강화 모듈을 사용하여 강화된 이미지를 생성하게 하도록 구성된 제1 생성 코드 - 상기 강화 파라미터는 인간 시각 VCM 태스크, 기계 시각 VCM 태스크 및 인간-기계 하이브리드 시각 VCM 태스크 중 하나에 대해 최적화됨 -; 및 상기 적어도 하나의 프로세서로 하여금 상기 인간 시각 VCM 태스크, 상기 기계 시각 VCM 태스크 및 상기 인간-기계 하이브리드 시각 VCM 태스크 중 하나를 수행하기 위한 인간 시각 모듈과 기계 시각 모듈 중 적어도 하나에 상기 디코딩된 이미지 및 상기 강화된 이미지 중 적어도 하나를 제공하게 하도록 구성된 제공 코드를 포함한다.
본 개시의 일 측면에 따르면, 명령어를 저장하는, 컴퓨터로 판독 가능한 비일시적 매체는, 상기 명령어가 기계용 비디오 코딩(VCM) 이미지 강화를 위한 디바이스의 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금, 코딩된 비트스트림으로부터 코딩된 이미지를 획득하게 하고; 상기 코딩된 이미지에 대응하는 강화 파라미터를 획득하게 하고; VCM 디코딩 모듈을 사용하여 상기 코딩된 이미지를 디코딩하여 디코딩된 이미지를 생성하게 하고; 상기 디코딩된 이미지 및 상기 강화 파라미터에 기초하여 강화 모듈을 사용하여 강화된 이미지를 생성하게 하며 - 상기 강화 파라미터는 인간 시각 VCM 태스크, 기계 시각 VCM 태스크 및 인간-기계 하이브리드 시각 VCM 태스크 중 하나에 대해 최적화됨 -; 상기 인간 시각 VCM 태스크, 상기 기계 시각 VCM 태스크 및 상기 인간-기계 하이브리드 시각 VCM 태스크 중 하나를 수행하는 인간 시각 모듈과 기계 시각 모듈 중 적어도 하나에 상기 디코딩된 이미지 및 상기 강화된 이미지 중 적어도 하나를 제공하게 하는, 하나 이상의 명령어를 포함한다.
개시된 주제의 추가 특징, 성질 및 다양한 이점은 이하의 상세한 설명 및 첨부 도면으로부터 더욱 명백해질 것이다.
도 1은 실시예에 따른, 본 명세서에 기재된 방법, 장치, 및 시스템이 구현될 수 있는 환경의 도면이다.
도 2는 도 1의 하나 이상의 디바이스의 예시적인 컴포넌트의 블록도이다.
도 3은 실시예에 따른, 비디오 코딩을 수행하기 위한 예시적인 아키텍처의 블록도이다.
도 4는 실시예에 따른, 비디오 코딩을 수행하기 위한 강화 모듈을 포함하는 예시적인 아키텍처의 블록도이다.
도 5는 실시예에 따른, 비디오 코딩을 수행하기 위한 강화 모듈을 포함하는 예시적인 아키텍처의 블록도이다.
도 6은 실시예에 따른, 평균 제곱 오차를 결정하기 위한 모듈의 블록도이다.
도 7a 내지 도 7d는 실시예에 따른, 비트스트림의 예를 나타낸 도면이다.
도 8은 실시예에 따른, 예시적인 강화 모듈의 블록도이다.
도 9는 실시예에 따른, 특징 압축을 수행하는 예시적인 프로세스의 흐름도이다.
도 1은 실시예에 따른, 본 명세서에 기재된 방법, 장치, 및 시스템이 구현될 수 있는 환경(100)의 도면이다. 도 1에 도시된 바와 같이, 환경(100)은 사용자 디바이스(110), 플랫폼(120), 및 네트워크(130)를 포함할 수 있다. 환경(100)의 디바이스들은 유선 연결, 무선 연결, 또는 유선 연결과 무선 연결의 조합을 통해 상호연결될 수 있다.
사용자 디바이스(110)는 플랫폼(120)과 연관된 정보를 수신, 생성, 저장, 처리 및/또는 제공할 수 있는 하나 이상의 디바이스를 포함한다. 예를 들어, 사용자 디바이스(110)로는 컴퓨팅 디바이스(예컨대, 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 헬드헬드 컴퓨터, 스마트 스피커, 서버 등), 이동 전화(예컨대, 스마트폰, 무선 전화기 등), 웨어러블 디바이스(예컨대, 한 쌍의 스마트 안경 또는 스마트 시계) 또는 이와 유사한 디바이스를 포함할 수 있다. 몇몇 구현에서, 사용자 디바이스(110)는 플랫폼(120)으로부터 정보를 수신할 수 있고/있거나 플랫폼(120)에 정보를 송신할 수 있다.
플랫폼(120)은 본 명세서의 다른 곳에 기재되어 있는 바와 같이 하나 이상의 디바이스를 포함한다. 몇몇 구현에서, 플랫폼(120)은 클라우드 서버 또는 클라우드 서버의 그룹을 포함할 수 있다. 몇몇 구현에서, 플랫폼(120)은 구체적인 필요에 따라 소프트웨어 컴포넌트가 교체될 수 있도록 모듈식으로 설계될 수 있다. 이와 같이, 플랫폼(120)은 다른 용도를 위해 용이하게 및/또는 신속하게 재구성될 수 있다.
몇몇 구현에서, 도시된 바와 같이, 플랫폼(120)은 클라우드 컴퓨팅 환경(122)에서 호스팅될 수 있다. 특히, 여기에 기재된 구현은 플랫폼(120)이 클라우드 컴퓨팅 환경(122)에서 호스팅되는 것으로 설명하지만, 몇몇 구현에서 플랫폼(120)은 클라우드 기반이 아닐 수도 있고(즉, 클라우드 컴퓨팅 환경 외부에서 구현될 수 있음) 부분적으로 클라우드 기반일 수도 있다.
클라우드 컴퓨팅 환경(122)은 플랫폼(120)을 호스팅하는 환경을 포함한다. 클라우드 컴퓨팅 환경(122)은 플랫폼(120)을 호스팅하는 시스템(들) 및/또는 디바이스(들)의 물리적 위치 및 구성에 대한 최종 사용자(예컨대, 사용자 디바이스(110))의 지식을 필요로 하지 않는 계산, 소프트웨어, 데이터 액세스, 저장 등의 서비스를 제공할 수 있다. 도시된 바와 같이, 클라우드 컴퓨팅 환경(122)은 컴퓨팅 자원들(124)의 그룹(집합적으로는 "컴퓨팅 자원들(124)"로 지칭되고, 개별적으로는 "컴퓨팅 자원(124)"으로 지칭됨)을 포함할 수 있다.
컴퓨팅 자원(124)은 하나 이상의 개인용 컴퓨터, 워크스테이션 컴퓨터, 서버 디바이스, 또는 기타 유형의 계산 및/또는 통신 디바이스를 포함한다. 몇몇 구현에서, 컴퓨팅 자원(124)은 플랫폼(120)을 호스팅할 수 있다. 클라우드 자원은 컴퓨팅 자원(124)에서 실행되는 계산 인스턴스, 컴퓨팅 자원(124)에 제공되는 저장 디바이스, 컴퓨팅 자원(124)에 의해 제공되는 데이터 전송 디바이스 등을 포함할 수 있다. 몇몇 구현에서, 컴퓨팅 자원(124)은 유선 연결, 무선 연결, 또는 유선 연결과 무선 연결의 조합을 통해 다른 컴퓨팅 자원들(124)과 통신할 수 있다.
도 1에 또한 도시된 바와 같이, 컴퓨팅 자원(124)은 하나 이상의 애플리케이션("applications, APPs")(124-1), 하나 이상의 가상 머신("virtual machines, VMs")(124-2), 가상화된 스토리지("virtualized storages, VSs")(124-3), 하나 이상의 하이퍼바이저("hypervisors, HYPs")(124-4) 등과 같은, 클라우드 자원의 그룹을 포함한다.
애플리케이션(124-1)은 사용자 디바이스(110) 및/또는 플랫폼(120)에 제공되거나 사용자 디바이스(110) 및/또는 플랫폼(120)에 의해 액세스될 수 있는 하나 이상의 소프트웨어 애플리케이션을 포함한다. 애플리케이션(124-1)은 사용자 디바이스(110)에 소프트웨어 애플리케이션을 설치하고 실행할 필요를 없앨 수 있다. 예를 들어, 애플리케이션(124-1)은 플랫폼(120)과 연관된 소프트웨어 및/또는 클라우드 컴퓨팅 환경(122)을 통해 제공될 수 있는 임의의 다른 소프트웨어를 포함할 수 있다. 몇몇 구현에서, 하나의 애플리케이션(124-1)은 가상 머신(124-2)을 통해 정보를, 하나 이상의 다른 애플리케이션(124-1)에 전송/하나 이상의 다른 애플리케이션(124-1)으로부터 수신할 수 있다.
가상 머신(124-2)은 물리 머신처럼 프로그램을 실행하는 머신(예컨대, 컴퓨터)의 소프트웨어 구현을 포함한다. 가상 머신(124-2)은 가상 머신(124-2)에 의한 임의의 실제 머신의 사용과 대응 정도에 따라 시스템 가상 머신 또는 프로세스 가상 머신일 수 있다. 시스템 가상 머신은 완전한 운영 체제("operating system, OS")의 실행을 지원하는 완전한 시스템 플랫폼을 제공할 수 있다. 프로세스 가상 머신은 단일 프로그램을 실행할 수 있으며 단일 프로세스를 지원할 수 있다. 몇몇 구현에서, 가상 머신(124-2)은 사용자(예: 사용자 디바이스(110))를 대신하여 실행할 수 있고, 데이터 관리, 동기화, 또는 장기간 데이터 전송(long-duration data transfer)과 같은, 클라우드 컴퓨팅 환경(122)의 인프라(infrastructure)를 관리할 수 있다.
가상화된 스토리지(124-3)는 컴퓨팅 자원(124)의 스토리지 시스템 또는 디바이스 내에서 가상화 기술을 사용하는 하나 이상의 스토리지 시스템 및/또는 하나 이상의 디바이스를 포함한다. 몇몇 구현에서, 스토리지 시스템의 컨텍스트 내에서, 가상화의 유형은 블록 가상화 및 파일 가상화를 포함할 수 있다. 블록 가상화는 물리 스토리지를 논리 스토리지로부터 추상화(abstraction) (또는 분리(separation)) 하여, 물리 스토리지 또는 이종 구조에 관계없이 스토리지 시스템에 액세스할 수 있도록 하는 것을 말한다. 분리는 스토리지 시스템의 관리자가 최종 사용자를 위해 스토리지를 관리하는 방식에 유연성을 부여할 수 있다. 파일 가상화는 파일 레벨에서 액세스되는 데이터와 파일이 물리적으로 저장된 위치 간의 종속성을 없앨 수 있다. 이로써 스토리지 사용, 서버 통합(server consolidation) 및/또는 무중단 파일 마이그레이션(non-disruptive file migration)의 성능을 최적화할 수 있다.
하이퍼바이저(124-4)는 다중 운영 체제(예컨대, "게스트 운영 체제")가 컴퓨팅 자원(124)과 같은 호스트 컴퓨터에서 동시에 실행할 수 있도록 하는 하드웨어 가상화 기술을 제공할 수 있다. 하이퍼바이저(124-4)는 게스트 운영 체제에 가상 운영 플랫폼을 제공할 수 있고, 게스트 운영 체제의 실행을 관리할 수 있다. 다양한 운영 체제의 여러 인스턴스가 가상화된 하드웨어 자원을 공유할 수 있다.
네트워크(130)는 하나 이상의 유선 및/또는 무선 네트워크를 포함한다. 예를 들어, 네트워크(130)는 셀룰러 네트워크(예: 5세대(5G) 네트워크, 롱텀 에볼루션(long-term evolution, LTE) 네트워크, 3G(3G) 네트워크, 코드 분할 다중 액세스(code division multiple access, CDMA) 네트워크, 공중 육상 이동 네트워크(public land mobile network, PLMN), 근거리 네트워크(local area network, LAN), 광역 네트워크(wide area network, WAN), 대도시 지역 네트워크(metropolitan area network, MAN), 전화 네트워크(예컨대, 공중 교환 전화 네트워크(Public Switched Telephone Network, PSTN)), 사설 네트워크(private network), 애드 혹 네트워크(ad hoc network), 인트라넷, 인터넷, 광섬유 기반 네트워크 등, 및/또는 이들 또는 다른 유형의 네트워크의 조합을 포함한다.
도 1에 도시된 디바이스 및 네트워크의 수와 배치는 예로 제공된다. 실제로는 도 1에 도시된 것보다 추가의 디바이스 및/또는 네트워크, 더 적은 수의 디바이스 및/또는 네트워크, 상이한 디바이스 및/또는 네트워크, 또는 다르게 배치된 디바이스 및/또는 네트워크가 있을 수 있다. 또한, 도 1에 도시된 2개 이상의 디바이스는 단일 디바이스 내에 구현될 수 있다. 또는 도 1에 도시된 단일 디바이스는 다수의 분산된 디바이스로서 구현될 수 있다. 추가적으로 또는 대안적으로, 환경(100)의 디바이스들의 세트(예컨대, 하나 이상의 디바이스)는 환경(100)의 다른 디바이스들의 세트에 의해 수행되는 것으로 설명된 하나 이상의 기능을 수행할 수 있다.
도 2는 도 1의 하나 이상의 디바이스의 예시적인 컴포넌트의 블록도이다. 디바이스(200)는 사용자 디바이스(110) 및/또는 플랫폼(120)에 대응할 수 있다. 도 2에 도시된 바와 같이, 디바이스(200)는 버스(210), 프로세서(220), 메모리(230), 저장 컴포넌트(storage component)(240), 입력 컴포넌트(input component)(250), 출력 컴포넌트(output component)(260), 및 통신 인터페이스(270)를 포함할 수 있다.
버스(210)는 디바이스(200)의 컴포넌트 간의 통신을 가능하게 하는 컴포넌트를 포함한다. 프로세서(220)는 하드웨어, 펌웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현된다. 프로세서(220)는 CPU(Central Processing Unit), GPU(Graphics Processing Unit), APU(Accelerated Processing Unit), 마이크로프로세서, 마이크로컨트롤러, DSP(Digital Signal Processor), FPGA(Field-Programmable Gate Array), ASIC(Application-Specific Integrated Circuit), 또는 기타 유형의 처리 컴포넌트이다. 몇몇 구현에서, 프로세서(220)는 기능을 수행하도록 프로그래밍될 수 있는 하나 이상의 프로세서를 포함한다. 메모리(230)는 프로세서(220)에 의한 사용을 위한 정보 및/또는 명령어를 저장하는 RAM(Random Access Memory), ROM(Read Only Memory), 및/또는 기타 유형의 동적 또는 정적 저장 디바이스(예컨대, 플래시 메모리, 자기 메모리, 및/또는 광학 메모리)를 포함한다.
저장 컴포넌트(240)는 디바이스(200)의 동작 및 사용과 관련된 정보 및/또는 소프트웨어를 저장한다. 예를 들어, 저장 컴포넌트(240)는 하드 디스크(예컨대, 자기 디스크, 광 디스크, 광자기 디스크, 및/또는 솔리드 스테이트 디스크), CD(Compact Disc), DVD(Digital Versatile Disc), 플로피 디스크, 카트리지, 자기 테이프 및/또는 기타 유형의 컴퓨터로 판독 가능한 비일시적 매체를 대응하는 드라이브와 함께 포함할 수 있다.
입력 컴포넌트(250)는 디바이스(200)가 사용자 입력(예컨대, 터치 스크린 디스플레이, 키보드, 키패드, 마우스, 버튼, 스위치 및/또는 마이크로폰)을 통해서와 같이, 정보를 수신할 수 있게 하는 컴포넌트를 포함한다. 추가적으로 또는 대안적으로, 입력 컴포넌트(250)는 정보를 감지하기 위한 센서(예컨대, GPS(Global Positioning System) 컴포넌트, 가속도계, 자이로스코프, 및/또는 액추에이터)를 포함할 수 있다. 출력 컴포넌트(260)는 디바이스(200)(예컨대, 디스플레이, 스피커, 및/또는 하나 이상의 발광 다이오드(LED))로부터의 출력 정보를 제공하는 컴포넌트를 포함한다.
통신 인터페이스(270)는 디바이스(200)가 유선 연결, 무선 연결 또는 유선 및 무선 연결의 조합을 통해서와 같이, 다른 디바이스와 통신할 수 있게 하는 송수신기 유사 컴포넌트(예컨대, 송수신기 및/또는 개별 수신기와 송신기)를 포함한다. 통신 인터페이스(270)는 디바이스(200)가 다른 디바이스로부터 정보를 수신 및/또는 다른 디바이스에 정보를 제공하도록 할 수 있다. 예를 들어, 통신 인터페이스(270)는 이더넷 인터페이스, 광 인터페이스, 동축 인터페이스, 적외선 인터페이스, RF(Radio Frequency) 인터페이스, USB(Universal Serial Bus) 인터페이스, Wi-Fi 인터페이스, 셀룰러 네트워크 인터페이스 등을 포함할 수 있다.
디바이스(200)는 본 명세서에 기재된 하나 이상의 프로세스를 수행할 수 있다. 디바이스(200)는 프로세서(220)가 메모리(230) 및/또는 저장 컴포넌트(240)와 같은, 컴퓨터로 판독 가능한 비일시적 매체에 의해 저장된 소프트웨어 명령어를 실행하는 것에 대한 응답으로 이러한 프로세스를 수행할 수 있다. 컴퓨터로 판독 가능한 매체는 여기에서 비일시적 메모리 디바이스로 정의된다. 메모리 디바이스는 단일의 물리적 저장 디바이스 내의 메모리 공간 또는 다수의 물리적 저장 디바이스 내의 메모리 공간을 포함한다.
소프트웨어 명령어는 다른 컴퓨터로 판독 가능한 매체로부터 또는 통신 인터페이스(270)를 통해 다른 디바이스로부터 메모리(230) 및/또는 저장 컴포넌트(240) 내로 판독될 수 있다. 메모리(230) 및/또는 저장 컴포넌트(240)에 저장된 소프트웨어 명령어는 실행될 때, 프로세서(220)로 하여금 본 명세서에 기재된 하나 이상의 프로세스를 수행하게 할 수 있다. 추가적으로, 또는 대안적으로, 하드와이어드 회로는 본 명세서에 기재된 하나 이상의 프로세스를 수행하기 위해 소프트웨어 명령어 대신에 또는 이와 함께 사용될 수 있다. 따라서, 본 명세서에 기재된 구현은 하드웨어 회로 및 소프트웨어의 특정 조합으로 한정되지 않다.
도 2에 도시된 구성요소의 수 및 배치는 예로서 제공된다. 실제로, 디바이스(200)는 도 2에 도시된 것보다 추가의 구성요소, 더 적은 구성요소, 다른 구성요소, 또는 다르게 배치된 배열된 구성요소를 포함할 수 있다. 추가적으로, 또는 대안적으로, 디바이스(200)의 컴포넌트들의 세트(예컨대, 하나 이상의 컴포넌트)는 디바이스(200)의 컴포넌트들의 다른 세트에 의해 수행되는 것으로 설명된 하나 이상의 기능들을 수행할 수 있다.
도 3은 실시예에 따른 비디오 코딩을 수행하기 위한 예시적인 아키텍처(300)의 블록도이다. 실시예에서, 아키텍처(300)는 기계용 비디오 코딩(VCM) 아키텍처, 또는 VCM 코딩과 호환되거나 VCM 코딩을 수행하도록 구성된 아키텍처일 수 있다. 예를 들어, 아키텍처(300)은 "기계용 비디오 코딩에 대한 사용 사례 및 요구사항"(ISO/IEC JTC 1/SC 29/WG 2 N18), "기계용 비디오 코딩을 위한 평가 프레임워크 초안"(ISO/IEC/JTC 1/SC 29/WG 2 N19) 및 "기계용 비디오 코딩에 대한 증거 요청"(ISO/IEC JTC 1/SC 29/WG 2 N20)과 호환 가능할 수 있으며, 그 개시내용 전체가참조 의해 본 명세서에 포함된다.
실시예에서, 도 3에 나타낸 요소 중 하나 이상은 도 1 및 도 2와 관련하여 위에서 논의된 요소들 중 하나 이상, 예를 들어 사용자 디바이스(110), 플랫폼(120), 디바이스(200), 또는 그 안에 포함된 임의의 요소 중 하나 이상에 대응하거나, 그 하나 이상에 의해 구현될 수 있다.
도 3에서 볼 수 있듯이, 아키텍처(300)는 VCM 인코더(310) 및 VCM 디코더(320)를 포함할 수 있다. 실시예에서, VCM 인코더는 예를 들어 하나 이상의 입력 이미지 또는 입력 비디오를 포함할 수 있는 센서 입력(301)을 수신할 수 있다. 센서 입력(301)은 센서 입력으로부터 특징을 추출할 수 있는 특징 추출 모듈(311)에 제공될 수 있으며, 추출된 특징은 특징 변환 모듈(312)을 사용하여 변환될 수 있고, 특징 인코딩 모듈(313)을 사용하여 인코딩될 수 있다. 실시예에서, "인코딩(encoding)"이라는 용어는 "압축(compressing)"이라는 용어를 포함할 수 있거나, 이에 대응할 수 있거나, 이와 상호교환적으로 사용될 수 있다. 아키텍처(300)는, 특징 추출 모듈(311)이 특징 추출을 수행하는 데 도움을 줄 수 있는 신경망(NN)과 인터페이싱할 수 있도록 하는 인터페이스(302)를 포함할 수 있다.
센서 입력(301)은 인코딩된 비디오를 생성할 수 있는 비디오 인코딩 모듈(314)에 제공될 수 있다. 실시예에서, 특징이 추출, 변환 및 인코딩된 후, 인코딩된 특징은 인코딩된 특징을 사용하여 인코딩된 비디오를 생성하는 데 도움을 줄 수 있는 비디오 인코딩 모듈(314)에 제공될 수 있다. 실시예에서, 비디오 인코딩 모듈(314)은 인코딩된 비디오를 인코딩된 비디오 비트스트림으로 출력할 수 있고, 특징 인코딩 모듈(313)은 인코딩된 특징을 인코딩된 특징 비트스트림으로 출력할 수 있다. 실시예에서, VCM 인코더(310)는 인코딩된 비디오 비트스트림과 인코딩된 특징 비트스트림 모두를 비트스트림 멀티플렉서(315)에 제공할 수 있으며, 비트스트림 멀티플렉서(315)는 인코딩된 비디오 비트스트림과 인코딩된 특징 비트스트림을 결합함으로써 인코딩된 비트스트림을 생성할 수 있다.
실시예에서, 인코딩된 비트스트림은 인코딩된 비트스트림을 인코딩된 비디오 비트스트림과 인코딩된 특징 비트스트림으로 분리할 수 있는 비트스트림 역다중화기(demux)에 의해 인코딩된 비트스트림이 수신될 수 있으며, 이는 VCM 디코더(320)에 제공될 수 있다. 인코딩된 특징 비트스트림은 디코딩된 특징을 생성할 수 있는 특징 디코딩 모듈(322)에 제공되고, 인코딩된 비디오 비트스트림은 디코딩된 비디오를 생성할 수 있는 비디오 디코딩 모듈에 제공될 수 있다. 실시예에서, 디코딩된 특징은 디코딩된 비디오의 생성에 도움을 주기 위해 디코딩된 특징을 사용할 수 있는 비디오 디코딩 모듈(323)에도 제공될 수 있다.
실시예에서, 비디오 디코딩 모듈(323) 및 특징 디코딩 모듈(322)의 출력은 주로 기계 소비용으로, 예를 들어 기계 시각 모듈(332)에 사용될 수 있다. 실시예에서, 출력은 또한 인간 소비용으로, 도 3에 나타낸 인간 시각 모듈(331)에 사용될 수 있다. VCM 시스템, 예를 들어 아키텍처(300)는 클라이언트단(client end)으로부터, 예를 들어 VCM 디코더(320) 측으로부터 먼저 샘플 도메인에서 비디오를 획득하기 위해 비디오 디코딩을 수행할 수 있다. 그런 다음, 비디오 콘텐츠를 이해하기 위한 하나 이상의 기계 태스크가 예를 들어 기계 시각 모듈(332)에 의해 수행될 수 있다. 실시예에서, 아키텍처(300)는, 기계 시각 모듈(332)이 하나 이상의 기계 태스크를 수행하는 데 도움을 줄 수 있는 NN과 인터페이싱할 수 있도록 해주는 인터페이스(303)를 포함할 수 있다.
도 3에서 볼 수 있듯이, 비디오 인코딩 모듈(314)과 비디오 디코딩 모듈(323)을 포함하는 비디오 인코딩 및 디코딩 경로 외에, 아키텍처(300)에 포함되는 또 다른 경로는 특징 추출 모듈(311), 특징 변환 모듈(312), 특징 인코딩 모듈(313) 그및 특징 디코딩 모듈(322)을 포함하는 특징 추출, 특징 인코딩 및 특징 디코딩 경로일 수 있다.
실시예는 기계 시각, 인간 시각, 또는 인간/기계 하이브리드 시각용의 디코딩된 비디오를 강화하기 위한 방법에 관한 것일 수 있다. 실시예에서, 예를 들어 VCM 디코더(320)에 의해 생성될 수 있는 각각의 디코딩된 이미지는 인코더 측에서 전송되는 메타데이터 및 강화 모듈을 사용하여 기계 시각 또는 인간 시각용으로 강화될 수 있다. 실시예에서, 이들 방법은 임의의 VCM 코덱에 적용될 수 있다. 몇몇 실시예는 "이미지/비디오"와 같은 더 넓은 용어를 사용하여, 또는 "이미지"와 "비디오"와 같은 보다 구체적인 용어를 사용하여 설명될 수 있지만, 실시예가 적용될 수 있다는 것으로 이해될 수 있다.
도 4는 실시예에 따른, 비디오 코딩을 수행하기 위한 예시적인 아키텍처(400)의 블록도이다. 도 4에 도시된 바와 같이, 아키텍처(400)는 강화 모듈(402)을 포함할 수 있다. 디코딩된 이미지/비디오에 대한 VCM 디코더(320)의 출력 및 VCM 인코더(310)에 의해 생성된 메타데이터는 기계 시각 태스크 또는 인간 시각 태스크에 사용될 수 있는 강화된 이미지 및/또는 강화된 비디오를 생성할 강화 모듈(402)에 공급될 수 있다. 실시예에서, 메타데이터는 예를 들어 강화 파라미터라고 지칭될 수 있는, 강화 모듈(402)용의 파라미터를 포함할 수 있다. 실시예에서, 강화 파라미터는 예를 들어 강화 처리, 예를 들어 아래에 설명되는 처리를 수행하도록 강화 모듈(402)을 구성하는 데 사용되는 파라미터일 수 있다. 실시예에서, 강화 모듈(402)은 이미지/비디오 처리 모듈일 수 있다. 실시예에서, 강화 모듈(402)은 신경망 기반 처리 모듈일 수 있다. 시각 태스크에 따라, 디코딩된 이미지/비디오 또는 강화된 이미지/비디오가 선택되어 인간 시각 모듈(331) 및 기계 시각 모듈(332)에 공급될 수 있다. 이러한 선택은 도 4에서는 스위치(404)를 사용하여 나타나 있지만, 실시예는 이에 한정되지 않으며, 디코딩된 이미지/비디오 및 강화된 이미지/비디오를 선택적으로 제공하기 위한 다른 기술이 사용될 수 있다.
실시예에서, 메타데이터의 송신은 선택적일 수 있다. 예를 들어, 디코딩된 이미지/비디오가 기계 시각 모듈(332)에 의해 사용되는 경우, 디코더 측은 메타데이터가 사용되지 않을 것이기 때문에 메타데이터를 전송하지 말것을 VCM 인코더(310)에 알릴 수 있다. 실시예에서, 강화 파라미터는 고정될 수 있으므로, 메타데이터를 전송할 필요가 없을 수 있다.
실시예에서, VCM 인코더(310) 및 VCM 디코더(320)는 기계 태스크, 예를 들어 기계 시각 모듈(332)에 대응하는 태스크에 대해 최적화될 수 있다. 실시예에서, 강화 모듈(402)은 인간 시각 태스크용, 예를 들어 인간 시각 모듈(331)에 대응하는 태스크용의 디코딩된 이미지/비디오를 개선하도록 설계될 수 있다. 실시예에서, 강화 모듈(402)은 기계 시각 태스크용의 디코딩된 이미지/비디오를 더욱 개선하도록 설계될 수 있다. 실시예에서, 강화 모듈(402)은 하이브리드 머신/인간 시각 태스크용, 예를 들어 기계 시각 모듈(332) 및 인간 시각 모듈(331) 모두에 대응하는 태스크용의 디코딩된 이미지/비디오를 개선하도록 설계될 수 있다. 상이한 태스크의 경우, 강화 파라미터는 상이할 수 있다.
실시예에서, 강화 모듈(402)은 신경망이거나 이를 포함할 수 있고, VCM 인코더(310)는 기계 시각 태스크, 인간 시각 태스크 또는 하이브리드 머신/인간 시각 태스크에 대한 더 나은 성능을 위해 신경망의 파라미터를 최적화할 수 있다. 실시예에서, 비율-왜곡 최적화 접근법(rate-distortion optimization approach)이 사용될 수 있다. 실시예에서, 신경망의 파라미터는 VCM 인코더(310)에 의해 제공되는 강화 파라미터, 예를 들어 메타데이터에 기초하여 최적화될 수 있다. 실시예에서, 신경망의 파라미터는 강화 파라미터에 직접 포함될 수 있다. 실시예에서, 강화 파라미터는 신경망 파라미터에 대한 수정을 지정할 수 있거나, 신경망 파라미터가 도출될 수 있도록 하는 정보를 포함할 수 있다.
도 5는 실시예에 따른, 비디오 코딩을 수행하기 위한 예시적인 아키텍처(500)의 블록도이다. 도 5에 도시된 바와 같이, 아키텍처(500)는 강화 모듈(402)을 포함할 수 있고, 비율-왜곡 최적화 접근법을 사용하여 이미지 강화 및/또는 비디오 강화를 수행하도록 구성될 수 있다.
실시예에서, 비율 왜곡 최적화 프로세스(rate distortion optimization process)는 인코더 측에서, 예를 들어 VCM 인코더(310) 또는 VCM 인코더(310)와 연관된 다른 요소에 의해 수행될 수 있다. 실시예에서, 입력 이미지와 그에 대응하는 강화된 이미지 사이의 왜곡 메트릭(distortion metric) D가 계산될 수 있고, 강화 파라미터에 대한 파라미터 크기 R이 결정될 수 있다. 전체 손실 함수 는 아래의 식 1을 사용하여 표현될 수 있다:
(식 1)
식 1에서, λ는 왜곡 D와 비율 R의 트래드오프(trade-off)를 설정하는 데 사용될 수 있다. 도 5는 이미지와 관련된 것으로 나타냈지만, 예를 들어 왜곡 메트릭을 계산할 때 비디오를 이미지의 시퀀스로서 취급함으로써 실시예가 비디오에도 적용될 수 있음을 이해할 수 있다.
실시예에서, VCM 인코더(310)는 기울기 하강법(gradient descent method) 또는 그 변형을 사용하여 강화 파라미터를 최적화할 수 있다. 실시예에서, 최적화된 강화 파라미터는 이미지마다 획득될 수 있고, 메타데이터일 수 있거나, 디코더 측으로 전송되는 메타데이터에 포함될 수 있다. 실시예에서, 강화 파라미터는 이미지 그룹과 같은 다수의 이미지, 예를 들어 픽처 그룹(GOP)에 대해 고정될 수 있다. 예를 들어, 왜곡 메트릭은 GOP 또는 이미지 그룹에 대한 평균 왜곡으로 설정될 수 있다. 메타데이터, 예를 들어 강화 파라미터는 GOP에 공유될 수 있다. 따라서 메타데이터 크기를 줄일 수 있다.
인간 시각의 경우, 왜곡 메트릭은 평균 제곱 오차(mean square error, MSE), 또는 중 하나 이상을 포함할 수 있으며, 여기서 은 입력 이미지와 강화된 이미지 사이의 구조 유사성 메트릭(structure similarity metric, SSIM)을 나타내고, 은 입력 이미지와 강화된 이미지 사이의 다중 스케일 구조 유사성 메트릭(multi-scale structure similarity metric, MS-SSIM)을 나타낸다.
기계 시각의 경우, 또는 이 사용될 수 있는데, 또는 이 기계 시각 태스크에 대한 더 우수한 성능과 잘 상관될 수 있기 때입니다.
도 6은 실시예에 따른, 오차 결정 모듈(600)의 블록도이다. 실시예에서, 오차 결정 모듈(600)은 강화된 이미지와 입력 이미지 사이의 특징 공간에서 MSE를 결정하는 데 사용될 수 있다. 실시예에서, 특징 공간의 MSE는 기계 시각에 대한 왜곡 메트릭으로 사용될 수 있다. 도 6에 도시된 바와 같이, 오차 결정 모듈은 입력 이미지에서 특징을 추출하는 데 사용될 수 있는 특징 추출 신경망(602)과, 강화된 이지지에서 특징을 추출하는 데 사용될 수 있는 특징 추출 신경망(604)을 포함할 수 있다. 실시예에서, 특징 추출 신경망(602) 및 특징 추출 신경망(604) 중 하나 이상은 VCM 인코더(310)에 포함된 하나 이상의 요소, 예를 들어 특징 추출 모듈(311)에 대응할 수 있다. 실시예에서, MSE는 예를 들어 아래의 식 2에 따라 MSE 모듈(606)에 의해 계산될 수 있다:
(식 2)
위의 식 2에서, 는 입력 이미지의 특징을 나타내고, 는 강화된 이미지의 특징을 나타내고, 는 채널 인덱스를 나타내고 (h, w)는 행과 열에서 주어진 특징의 위치를 나타내고, C는 특징 맵의 채널 수를 나타내고, W는 특징 맵의 행 수를 나타내고, H는 특징 맵의 열 수를 나타낸다.
도 6에서, 특징 추출 신경망(602, 604)은 예를 들어 기계 태스크 네트워크의 처음 몇 개의 계층과 같이 단순할 수 있다. 실시예에서, 기계 분석 네트워크가 인코더 측에 알려져 있는 경우, 주어진 기계 분석 네트워크의 처음 몇 개의 계층을 특징 추출 신경망(602, 604) 중 적어도 하나로서 사용하는 것이 유익할 수 있다. 실시예에서, 기계 분석 네트워크가 인코더 측에서 알려지지 않은 경우, Faster R-CNN 또는 Mask R-CNN, VGG-16 등과 같은, 일반적으로 사용되는 기계 분석 네트워크의 처음 몇 개의 계층이 특징 추출 신경망(602, 604) 중 적어도 하나로서 사용될 수 있다.
실시예에서, 강화 모듈(402)의 파라미터를 나타내는 메타데이터를 전송하는 방법은 여러 가지가 있을 수 있다. 도 7a∼도 7d는 실시예에 따른, 강화 파라미터를 나타내는 메타데이터를 포함하는 비트스트림의 예를 나타낸 도면이다.
실시예에서, 특정 이미지에 대한 메타데이터는 그 특정 이미지에 대응하는 코딩된 이미지 데이터를 포함하는 비트스트림에 포함될 수 있다. 예를 들어, 이미지 1 내지 이미지 k의 이미지 데이터를 포함하는 비트스트림는 또한 대응하는 메타데이터, 예를 들어 메타데이터 1 내지 메타데이터 k 중 적어도 하나를 포함할 수 있다.
실시예에서, 비트스트림 내에서, 이미지 1에 대응하는 비트스트림의 부분은 도 7a에 도시된 바와 같이, 이미지 1에 대한 메타데이터에 대응하는 비트스트림의 부분에 어태치되거나(attached) 인접하거나 연관될 수 있으며, 이미지 2 내지 이미지 k에 대해서도 마찬가지이다.
실시예에서, 메타데이터는 선택적으로 포함될 수 있다. 예를 들어, 플래그 F는 예를 들어 도 7b에 도시된 바와 같이, 특정 이미지에 대해 메타데이터가 어태치되는지 여부를 지시하는 데 사용될 수 있다. 실시예에서, 메타데이터가 주어진 이미지에 어태치되지 않는 경우, 강화 파라미터는 변경되지 않을 수 있다. 그렇지 않으면, 메타데이터의 정보에 따라 강화 파라미터가 변경될 수 있다. 이러한 배열의 예가 도 7b에 도시되어 있다. 도 7b에서 볼 수 있듯이, 각각의 이미지는 비트스트림이 이미지에 대한 강화 파라미터와 같은 메타데이터를 포함하는지 여부를 지시하는 대응 플래그 F를 가질 수 있다.
실시예에서, 플래그 F는 0 또는 1의 값을 가지므로 단일 비트로 표현될 수 있으며, 따라서 플래그 F에 의해 발생하는 오버헤드는 작을 수 있다. 오버헤드를 더욱 줄이기 위해, 플래그 F는 컨텍스트 모델 유무에 관계없이 엔트로피 코딩될 수 있다. 실시예에서, 플래그 F는 1바이트로 표현되거나, 어떤 디코더에 알려진 파라미터 세트(set of decoder-known parameters)가 사용되어야 하는지를 지시하는 다수의 비트를 사용하여 표현될 수 있다. 이는 디코더, 예를 들어 VCM 디코더(320) 또는 강화 모듈(402)이 하나 이상의 강화 파라미터 세트를 저장하였거나 수신한 경우 도움이 될 수 있다.
실시예에서, 메타데이터의 선택적 어태치먼트(attachment)는 GOP에 하나의 메타데이터 세트가 있고 GOP 크기가 유연할 수 있는 경우에 메타데이터를 실어 전달하는 데 사용될 수 있다. 실시예에서, GOP 크기가 고정되어 있는 경우, 예를 들어 모든 GOP가 K개의 픽처를 포함하는 경우, 메타데이터는 플래그 F를 사용하지 않고 모든 K번째 픽처의 시작 또는 끝에 어태치될 수 있다.
도 7a 및 도 7b에 도시된 바와 같이, 메타데이터 및 플래그 F는 대응하는 이미지에 대한 비트스트림 뒤에 어태치되거나 포함될 수 있으나, 이에 한정되는 것은 아니다. 예를 들어, 다른 실시예에서, 플래그 F는 대응하는 비트스트림 앞에 배치될 수 있거나, 플래그 F 및 연관된 메타데이터 모두가 대응하는 비트스트림 앞에 배치될 수 있다.
실시예에서, 메타데이터는 코딩된 이미지/비디오에 대한 메인 비트스트림과 별개로, 예를 들어 별개의 비트스트림으로 전송될 수 있다. 예를 들어, 도 7c는 이미지 1 내지 이미지 k 각각에 대한 메타데이터가 포함된 메타데이터 비트스트림의 예를 도시하고, 도 7d는 특정 이미지에 대해 메타데이터가 존재하는지 여부를 시그널링하는 데 사용되는 플래그 F의 메타데이터 비트스트림의 예를 도시한다.
위에 논의된 바와 같이, 강화 모듈(402)은 실시예에 따른 신경망일 수 있다. 구현 복잡도 및 성능 요구사항에 따라 강화 모듈(402)은 단순하거나 복잡할 수 있다.
도 8은 비교적 간단할 수 있는 예시적인 강화 모듈(402)의 도면을 나타낸다. 예를 들어, 강화 모듈(402)은 도 8에 도시된 바와 같이, 커널 크기가 3x3이고 스트라이드가 1인 단순 컨볼루션 계층(simple convolution layer)을 포함할 수 있다.
도 8에 도시된 강화 모듈(402)에서, 컬러 이미지가 사용될 수 있으므로 디코딩된 이미지 크기와 강화된 이미지 크기는 모두 3xWxH이며, 여기서 3은 예를 들어 RGB, YCrCb 또는 다른 컬러 포맷의 세 가지 컬러 채널을 나타낸다. 도 8에 도시된 강화 모듈(402)의 경우, 3개의 필터가 사용될 수 있으며, 각 필터는 3x3x3개의 가중치와 1개의 바이어스 값을 포함할 수 있다. 따라서 총 84개(예를 들어, 3x3x3x3 + 3 = 84)의 파라미터를 사용할 수 있다.
실시예에서, VCM 인코더(310)에 의해 생성되는 비트스트림의 비트레이트가 높은 경우, 강화 파라미터의 파라미터 크기는 낮은 레이트의 경우에 비해 더 클 수 있다. 예를 들어, 높은 비트레이트의 경우, 컨볼루션 커널은 도 8에 도시된 바와 같은 낮은 레이트의 경우에 3x3인 것과 비교하여, 5x5 또는 7x7일 수 있다.
일반적으로, 신경망 파라미터는 32비트 부동소수점 수로 표시될 수 있다. 실시예에서, 강화 파라미터는 메타데이터 크기를 줄이기 위해, 16비트 부동 소수점 수와 같은 더 낮은 비트 심도 정확도로 표현될 수 있다. 실시예에서, k번째(제k) 이미지에 대한 강화 파라미터는 k=1, 2에 대해 로 표시될 수 있으며, 여기서 N은 강화 파라미터의 총 수를 나타낸다.
실시예에서, N개의 숫자는 메타데이터로서 전송될 수 있거나, k번째 이미지의 강화 파라미터와 모듈 파라미터의 고정된 세트 간의 차이가 메타데이터로서, 예를 들어, 로서 송신될 수 있다. 예를 들어, 아래의 식 3에 따라 결정된 숫자의 세트가 메타데이터로서 송신될 수 있다:
(식 3)
실시예에서, 새로운 강화 파라미터와 한 세트의 알려진 파라미터의 차이가 메타데이터로서 송신될 수 있다. 예를 들어, 아래의 식 4에 따라 결정된 k번째 이미지와 그 이전 이미지의 파라미터 간의 차이가 메타데이터로서 송신될 수 있다:
(식 4)
위의 식 3, 4는 각각의 이미지마다 메타데이터를 전송하는 실시예에 해당할 수 있으나, 실시예가 이에 한정되는 것은 아니다. 예를 들어, 이미지에 어태치된 메타데이터를 선택하거나 GOP 내에서 메타데이터를 공유하는 경우에도 유사한 방법이 적용될 수 있다.
도 9에 도시된 바와 같이, 프로세스(900)는 코딩된 비트스트림으로부터 코딩된 이미지를 획득하는 것을 포함할 수 있다(블록 902).
또한 도 9에 도시된 바와 같이, 프로세스(900)는 코딩된 이미지에 대응하는 강화 파라미터를 획득하는 것을 포함할 수 있다(블록 904). 실시예에서, 강화 파라미터는 위에서 논의된 강화 파라미터에 대응할 수 있다. 실시예에서, 강화 파라미터는 인간 시각 VCM 태스크, 기계 시각 VCM 태스크 및 인간-기계 하이브리드 시각 VCM 태스크 중 적어도 하나에 대해 최적화될 수 있다.
또한 도 9에 도시된 바와 같이, 프로세스(900)는 VCM 디코딩 모듈을 사용하여 코딩된 이미지를 디코딩하여 디코딩된 이미지를 생성하는 것을 포함할 수 있다(블록 906). 실시예에서, VCM 디코딩 모듈은 위에서 논의된 VCM 디코더(320)에 대응할 수 있다.
또한 도 9에 도시된 바와 같이, 프로세스(900)는 디코딩된 이미지 및 강화 파라미터에 기초하여 강화 모듈을 사용하여 강화된 이미지를 생성하는 것을 포함할 수 있다(블록 908). 실시예에서, 강화 모듈은 위에서 논의된 강화 모듈(402)에 대응할 수 있다.
또한 도 9에 도시된 바와 같이, 프로세스(900)는 VCM 태스크, 예를 들어 인간 시각 VCM 태스크, 기계 시각 VCM 태스크 및 인간-기계 하이브리드 시각 VCM 태스크 중 하나를 수행하기 위한 인간 시각 모듈 및 기계 시각 모듈 중 적어도 하나에 디코딩된 이미지 및 강화된 이미지 중 적어도 하나를 제공하는 것을 포함할 수 있다(블록 910). 실시예에서, 인간 시각 모듈은 인간 시각 모듈(331)에 대응할 수 있고, 기계 시각 모듈은 위에서 논의된 기계 시각 모듈(332)에 대응할 수 있다.
실시예에서, 강화 모듈은 신경망을 포함할 수 있고, 강화 파라미터는 신경망에 대응하는 신경망 파라미터를 포함할 수 있다.
실시예에서, 강화된 이미지는 비율-왜곡 최적화를 사용하여 생성하는 것일 수 있으며, 신경망 파라미터는 왜곡 메트릭 및 파라미터 크기에 기초하여 선택될 수 있다.
실시예에서, 왜곡 메트릭은 강화된 이미지 및 입력 이미지와 연관된 평균 제곱 오차, 구조 유사성 메트릭, 다중 스케일 구조 유사성 메트릭 중 적어도 하나를 포함할 수 있다.
실시예에서, 평균 제곱 오차는 위에서 논의된 식 2를 사용하여 계산될 수 있다.
실시예에서, 디코딩된 이미지는 코딩된 비트스트림에 대응하는 픽처 그룹(GOP)에 포함될 수 있고, GOP에 포함된 모든 이미지는 강화 파라미터를 공유한다.
실시예에서, 강화 파라미터는 코딩된 비트스트림에 포함될 수 있다.
실시예에서, 코딩된 비트스트림은 코딩된 이미지에 대응하는 플래그를 포함할 수 있고, 이 플래그는 코딩된 이미지에 대응하는 강화 파라미터가 코딩된 비트스트림에 포함되는지 여부를 지시할 수 있다.
실시예에서, 강화 파라미터는 코딩된 비트스트림과 별개인 메타데이터 비트스트림에 포함될 수 있다.
실시예에서, 메타데이터 비트스트림은 코딩된 이미지에 대응하는 플래그를 포함할 수 있고, 플래그는 코딩된 이미지에 대응하는 강화 파라미터가 메타데이터 비트스트림에 포함되어 있는지 여부를 지시할 수 있다.
비록 도 9는 프로세스(900)의 예시적인 블록들을 도시하였으나, 몇몇 구현에서, 프로세스(900)는 도 9에 도시된 것보다 추가의 블록, 더 적은 블록, 다른 블록, 또는 다르게 배열된 블록을 포함할 수 있다. 추가적으로, 또는 대안적으로, 프로세스(9000)의 블록들 중 둘 이상이 병렬로 수행될 수 있다.
또한, 제안된 방법은 처리 회로(예컨대, 하나 이상의 프로세서 또는 하나 이상의 집적 회로)에 의해 구현될 수 있다. 하나의 예에서, 하나 이상의 프로세서는 제안된 방법 중 하나 이상을 수행하기 위해 컴퓨터로 판독 가능한 비일시적 매체에 저장된 프로그램을 실행한다.
이상에서 설명된 기술은 컴퓨터로 판독 가능한 명령어를 사용하는 컴퓨터 소프트웨어로서 구현될 수 있고 하나 이상의 컴퓨터로 판독 가능한 매체에 물리적으로 저장될 수 있다.
본 개시의 실시예는 개별적으로 사용되거나 임의의 순서로 조합될 수 있다. 또한, 각각의 실시예(및 그 방법)는 처리 회로(예컨대, 하나 이상의 프로세서 또는 하나 이상의 집적 회로)에 의해 구현될 수 있다. 하나의 예에서, 하나 이상의 프로세서는 컴퓨터로 판독 가능한 비일시적 매체에 저장되어 있는 프로그램을 실행한다.
전술한 개시는 예시 및 설명을 제공하지만, 총망라한 것 또는 구현을 개시된 정확한 형태로 한정하는 것을 의도하지는 않는다. 수정 및 변형은 이상의 개시 내용에 비추어 가능하거나 구현의 실시로부터 얻을 수 있다.
여기에서 사용되는 바와 같이, 컴포넌트라는 용어는 하드웨어, 펌웨어, 또는 하드웨어와 소프트웨어의 조합으로서 광범위하게 해석되도록 의도된다.
특징들의 조합이 청구범위에 인용되고/인용되거나 명세서에 개시되더라도, 이러한 조합은 가능한 구현에 대한 개시를 한정하는 것을 의도하지는 않는다. 실제, 이들 특징 중 다수는 청구범위에 구체적으로 언급되지 않은 방식 및/또는 명세서에 개시되지 않은 방식으로 조합될 수 있다. 아래에 나열된 각 종속항은 하나의 청구항에만 직접적으로 종속할 수 있지만, 가능한 구현의 개시는 청구항 세트 내의 다른 모든 청구항과 조합된 각각의 종속항을 포함한다.
여기에 사용된 어떤 요소, 행위 또는 명령도 그렇게 명시적으로 설명되지 않는 한 중요하거나 필수적인 것으로 해석되어서는 안 된다. 또한, 여기에 사용된 바와 같이, 용어 "세트"는 하나 이상의 항목(예컨대, 관련 항목, 관련되지 않은 항목, 관련된 항목과 관련되지 않은 항목의 조합 등)을 포함하도록 의도되며, "하나 이상"과 상호교환적으로 사용될 수 있다. 하나의 항목만 의도되는 경우, "하나" 또는 유사한 표현이 사용된다. 또한, 여기에 사용된 바와 같이, 용어 "갖는다", "갖는" 등은 개방형 용어(open-ended term)로 의도된다. 또한, "~에 기초하여"라는 문구는 달리 명시적으로 언급되지 않는 한 "적어도 부분적으로 ~에 기초하여"를 의미하도록 의도된다.

Claims (20)

  1. 적어도 하나의 프로세서에 의해 실행되는, 기계용 비디오 코딩(video coding for machine, VCM) 이미지 강화를 수행하는 방법으로서,
    코딩된 비트스트림으로부터 코딩된 이미지를 획득하는 단계;
    상기 코딩된 이미지에 대응하는 강화 파라미터(enhancement parameter)를 획득하는 단계;
    VCM 디코딩 모듈을 사용하여 상기 코딩된 이미지를 디코딩하여 디코딩된 이미지를 생성하는 단계;
    상기 디코딩된 이미지 및 상기 강화 파라미터에 기초하여 강화 모듈을 사용하여 강화된 이미지를 생성하는 단계 - 상기 강화 파라미터는 인간 시각(human vision) VCM 태스크, 기계 시각(machine vision) VCM 태스크 및 인간-기계 하이브리드 시각(human-machine hybrid vision) VCM 태스크 중 하나에 대해 최적화됨 -; 및
    상기 인간 시각 VCM 태스크, 상기 기계 시각 VCM 태스크 및 상기 인간-기계 하이브리드 시각 VCM 태스크 중 하나를 수행하기 위한 인간 시각 모듈 및 기계 시각 모듈 중 적어도 하나에 상기 디코딩된 이미지 및 상기 강화된 이미지 중 적어도 하나를 제공하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 강화 모듈은 신경망을 포함하고,
    상기 강화 파라미터는 상기 신경망에 대응하는 신경망 파라미터를 포함하는, 방법.
  3. 제2항에 있어서,
    상기 강화된 이미지는 비율 왜곡 최적화(rate-distortion optimization)를 사용하여 생성되고,
    상기 신경망 파라미터는 왜곡 메트릭(distortion metric) 및 파라미터 크기에 기초하여 선택되는, 방법.
  4. 제3항에 있어서,
    상기 왜곡 메트릭은 상기 강화된 이미지 및 입력 이미지와 연관된 평균 제곱 오차(mean square error), 구조 유사성 메트릭(structure similarity metric), 다중 스케일(multi-scale) 구조 유사성 메트릭 중 적어도 하나를 포함하는, 방법.
  5. 제4항에 있어서,
    상기 평균 제곱 오차는 하기 식:
    을 사용하여 계산되며,
    여기서 는 상기 평균 제곱 오차를 나타내고, 는 상기 입력 이미지의 특징을 나타내고, 는 상기 강화된 이미지의 특징을 나타내고, 는 특징 맵의 채널 수를 나타내고, 는 상기 특징 맵의 행 수를 나타내고, 는 상기 특징 맵의 열 수를 나타내고, 는 채널 인덱스를 나타내고, 는 행을 나타내며, 는 열 위치를 나타내는, 방법.
  6. 제1항에 있어서,
    상기 디코딩된 이미지는 상기 코딩된 비트스트림에 대응하는 픽처 그룹(group of picture, GOP)에 포함되고,
    상기 GOP에 포함된 모든 이미지는 상기 강화 파라미터를 공유하는, 방법.
  7. 제1항에 있어서,
    상기 강화 파라미터는 상기 코딩된 비트스트림에 포함되는, 방법.
  8. 제7항에 있어서,
    상기 코딩된 비트스트림은 상기 코딩된 이미지에 대응하는 플래그를 포함하며,
    상기 플래그는 상기 코딩된 이미지에 대응하는 상기 강화 파라미터가 상기 코딩된 비트스트림에 포함되어 있는지 여부를 지시하는, 방법.
  9. 제1항에 있어서,
    상기 강화 파라미터는 상기 코딩된 비트스트림과 별개인 메타데이터 비트스트림에 포함되는, 방법.
  10. 제9항에 있어서,
    상기 메타데이터 비트스트림은 상기 코딩된 이미지에 대응하는 플래그를 포함하며,
    상기 플래그는 상기 코딩된 이미지에 대응하는 상기 강화 파라미터가 메타데이터 비트스트림에 포함되어 있는지 여부를 지시하는, 방법.
  11. 기계용 비디오 코딩(VCM) 이미지 강화를 수행하는 디바이스로서,
    프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리; 및
    상기 프로그램 코드를 판독하여 상기 프로그램 코드가 명령하는 대로 동작하도록 구성된 적어도 하나의 프로세서
    를 포함하고,
    상기 프로그램 코드는,
    상기 적어도 하나의 프로세서로 하여금 코딩된 비트스트림으로부터 코딩된 이미지를 획득하게 하도록 구성된 제1 획득 코드;
    상기 적어도 하나의 프로세서로 하여금 상기 코딩된 이미지에 대응하는 강화 파라미터를 획득하게 하도록 구성된 제2 획득 코드;
    상기 적어도 하나의 프로세서로 하여금 VCM 디코딩 모듈을 사용하여 상기 코딩된 이미지를 디코딩하여 디코딩된 이미지를 생성하게 하도록 구성된 디코딩 코드;
    상기 적어도 하나의 프로세서로 하여금 상기 디코딩된 이미지 및 상기 강화 파라미터에 기초하여 강화 모듈을 사용하여 강화된 이미지를 생성하게 하도록 구성된 제1 생성 코드 - 상기 강화 파라미터는 인간 시각 VCM 태스크, 기계 시각 VCM 태스크 및 인간-기계 하이브리드 시각 VCM 태스크 중 하나에 대해 최적화됨 -; 및
    상기 적어도 하나의 프로세서로 하여금 상기 인간 시각 VCM 태스크, 상기 기계 시각 VCM 태스크 및 상기 인간-기계 하이브리드 시각 VCM 태스크 중 하나를 수행하기 위한 인간 시각 모듈과 기계 시각 모듈 중 적어도 하나에 상기 디코딩된 이미지 및 상기 강화된 이미지 중 적어도 하나를 제공하게 하도록 구성된 제공 코드
    를 포함하는, 디바이스.
  12. 제11항에 있어서,
    상기 강화 모듈은 신경망을 포함하고,
    상기 강화 파라미터는 상기 신경망에 대응하는 신경망 파라미터를 포함하는, 디바이스.
  13. 제12항에 있어서,
    상기 강화된 이미지는 비율 왜곡 최적화를 사용하여 생성되고,
    상기 신경망 파라미터는 왜곡 메트릭 및 파라미터 크기에 기초하여 선택되는, 디바이스.
  14. 제13항에 있어서,
    상기 왜곡 메트릭은 상기 강화된 이미지 및 입력 이미지와 연관된 평균 제곱 오차, 구조 유사성 메트릭, 다중 스케일 구조 유사성 메트릭 중 적어도 하나를 포함하는, 디바이스.
  15. 제11항에 있어서,
    상기 디코딩된 이미지는 상기 코딩된 비트스트림에 대응하는 픽처 그룹(GOP)에 포함되고,
    상기 GOP에 포함된 모든 이미지는 상기 강화 파라미터를 공유하는, 디바이스.
  16. 제11항에 있어서,
    상기 강화 파라미터는 상기 코딩된 비트스트림에 포함되는, 디바이스.
  17. 제16항에 있어서,
    상기 코딩된 비트스트림은 상기 코딩된 이미지에 대응하는 플래그를 포함하며,
    상기 플래그는 상기 코딩된 이미지에 대응하는 상기 강화 파라미터가 상기 코딩된 비트스트림에 포함되어 있는지 여부를 지시하는, 디바이스.
  18. 제11항에 있어서,
    상기 강화 파라미터는 상기 코딩된 비트스트림과 별개인 메타데이터 비트스트림에 포함되는, 디바이스.
  19. 제18항에 있어서,
    상기 메타데이터 비트스트림은 상기 코딩된 이미지에 대응하는 플래그를 포함하며,
    상기 플래그는 상기 코딩된 이미지에 대응하는 상기 강화 파라미터가 메타데이터 비트스트림에 포함되어 있는지 여부를 지시하는, 디바이스.
  20. 명령어를 저장하는, 컴퓨터로 판독 가능한 비일시적 매체로서,
    상기 명령어는 기계용 비디오 코딩(VCM) 이미지 강화를 위한 디바이스의 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
    코딩된 비트스트림으로부터 코딩된 이미지를 획득하게 하고;
    상기 코딩된 이미지에 대응하는 강화 파라미터를 획득하게 하고;
    VCM 디코딩 모듈을 사용하여 상기 코딩된 이미지를 디코딩하여 디코딩된 이미지를 생성하게 하고;
    상기 디코딩된 이미지 및 상기 강화 파라미터에 기초하여 강화 모듈을 사용하여 강화된 이미지를 생성하게 하며 - 상기 강화 파라미터는 인간 시각 VCM 태스크, 기계 시각 VCM 태스크 및 인간-기계 하이브리드 시각 VCM 태스크 중 하나에 대해 최적화됨 -;
    상기 인간 시각 VCM 태스크, 상기 기계 시각 VCM 태스크 및 상기 인간-기계 하이브리드 시각 VCM 태스크 중 하나를 수행하기 위한 인간 시각 모듈과 기계 시각 모듈 중 적어도 하나에 상기 디코딩된 이미지 및 상기 강화된 이미지 중 적어도 하나를 제공하게 하는,
    하나 이상의 명령어를 포함하는, 컴퓨터로 판독 가능한 비일시적 매체.
KR1020237037909A 2022-02-24 2023-01-05 기계용 비디오 코딩을 위한 강화 프로세스 KR20230158628A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202263313616P 2022-02-24 2022-02-24
US63/313,616 2022-02-24
US18/076,020 2022-12-06
US18/076,020 US20230269378A1 (en) 2022-02-24 2022-12-06 Enhancement process for video coding for machines
PCT/US2023/010174 WO2023163809A1 (en) 2022-02-24 2023-01-05 Enhancement process for video coding for machines

Publications (1)

Publication Number Publication Date
KR20230158628A true KR20230158628A (ko) 2023-11-20

Family

ID=87766580

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237037909A KR20230158628A (ko) 2022-02-24 2023-01-05 기계용 비디오 코딩을 위한 강화 프로세스

Country Status (4)

Country Link
JP (1) JP2024515207A (ko)
KR (1) KR20230158628A (ko)
CN (1) CN117083856A (ko)
WO (1) WO2023163809A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114866774A (zh) * 2016-05-27 2022-08-05 松下电器(美国)知识产权公司 编码装置及解码装置
US12003386B2 (en) * 2018-07-03 2024-06-04 Kabushiki Kaisha Ubitus Method for enhancing quality of media
WO2020165493A1 (en) * 2019-02-15 2020-08-20 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
WO2021193775A1 (ja) * 2020-03-27 2021-09-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法

Also Published As

Publication number Publication date
CN117083856A (zh) 2023-11-17
JP2024515207A (ja) 2024-04-05
WO2023163809A1 (en) 2023-08-31

Similar Documents

Publication Publication Date Title
US11682144B2 (en) Techniques and apparatus for inter-channel prediction and transform for point-cloud attribute coding
JP7374340B2 (ja) ニューラル画像圧縮のためのタスク適応型前処理のための方法、装置およびコンピュータプログラム
US11582470B2 (en) Method and apparatus for multi-scale neural image compression with intra-prediction residuals
JP2023502526A (ja) 敵対的生成器を用いたレート適応ニューラル画像圧縮のための方法及び装置
US20230086521A1 (en) Feature compression for video coding for machines
WO2022005817A1 (en) Method and apparatus for multi-rate neural image compression with stackable nested model structures
US20230122449A1 (en) Substitutional quality factor learning in the latent space for neural image compression
US20160353128A1 (en) Decoding of intra-predicted images
US20230269378A1 (en) Enhancement process for video coding for machines
KR20230158628A (ko) 기계용 비디오 코딩을 위한 강화 프로세스
EP4101164A1 (en) Substitutional input optimization for adaptive neural image compression with smooth quality control
EP4082192A1 (en) Neural image compression with latent feature-domain intra-prediction
JP7493617B2 (ja) ニューラル画像圧縮における置換の多学習率のための方法および装置
US20220345717A1 (en) Method and apparatus for dynamic learning rates of substitution in neural image compression
US20230186526A1 (en) System, method, and computer program for content adaptive online training for multiple blocks based on certain patterns
US20230186081A1 (en) System, method, and computer program for iterative content adaptive online training in neural image compression
EP4115610A1 (en) Method and apparatus for adaptive neural image compression with rate control by meta-learning