KR20200005403A - 코덱 단위의 dnn 기반 이미지 또는 비디오 코딩을 위한 시스템 및 방법 - Google Patents

코덱 단위의 dnn 기반 이미지 또는 비디오 코딩을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20200005403A
KR20200005403A KR1020180138747A KR20180138747A KR20200005403A KR 20200005403 A KR20200005403 A KR 20200005403A KR 1020180138747 A KR1020180138747 A KR 1020180138747A KR 20180138747 A KR20180138747 A KR 20180138747A KR 20200005403 A KR20200005403 A KR 20200005403A
Authority
KR
South Korea
Prior art keywords
encoder
decoder
neural network
dnn
learned
Prior art date
Application number
KR1020180138747A
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
Application filed by (주)인시그널, 한국항공대학교산학협력단 filed Critical (주)인시그널
Publication of KR20200005403A publication Critical patent/KR20200005403A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

전체 코덱 단위의 DNN 기반 이미지 또는 비디오 코딩을 위한 시스템 및 방법이 개시된다. 일 실시예에 따른 전체 코덱 단위의 DNN 기반 이미지 또는 비디오 코딩을 위한 시스템은 DNN 기반 인코더를 학습시켜서 기술한 학습된 인코더 신경망과 DNN 기반 디코더를 학습시켜서 기술한 학습된 디코더 신경망을 각각 생성하여 전송하는 네트워크 트레이닝 프레임워크, 부호화 과정에서 상기 학습된 인코더 신경망을 추론 엔진에 적용하여, 입력되는 이미지 또는 비디오를 부호화하여 특성 벡터(feature vector)를 생성하는 인코더 및 복호화 과정에서 상기 학습된 디코더 신경망을 추론 엔진에 적용하여, 상기 인코더에 의하여 생성된 상기 특성 벡터를 복호화하는 디코더를 포함한다.

Description

코덱 단위의 DNN 기반 이미지 또는 비디오 코딩을 위한 시스템 및 방법{System and method for DNN based image or video coding based on an entire codec}
본 발명은 이미지 또는 비디오 코딩 기술(image or video coding technology)에 관한 것으로, 보다 구체적으로 코덱 단위로 심층 신경망(Deep Neural Network, DNN) 기술을 활용하여 이미지 또는 비디오를 인코딩 및 디코딩하기 위한 방법과 시스템에 관한 것이다.
인공 지능(Artificial Intelligence, AI)을 다양한 산업 분야에서 활용하기 위한 시도들이 계속되어 왔다. 특히, 최근의 인공 지능 기술은 생물학적 신경망과 공통된 특정 성능을 갖는 정보 처리 시스템인 신경망(Neural Network, NN)을 활용하면서, 그 성능이 큰 폭으로 향상되고 있으며, 그에 따라 응용 분야도 급속도로 증가하고 있다.
이러한 신경망(NN)은 '인공' 신경망(Artificial Neural Network, ANN)이라고도 불린다. 신경망은 외부 입력에 대한 자신의 동적 상태 응답에 의해 정보를 프로세싱하는 다수의 간단하고 고도로 상호 연결된 프로세싱 요소로 구성된다. 프로세싱 요소는 인간 두뇌의 뉴런으로 간주될 수 있는데, 다수의 입력을 받아들이고 입력의 가중화된 합을 계산한다. 그리고 상호 연결된 프로세싱 요소는 계층으로 조직화된다.
인공 신경망은 신경망에 포함되는 변수 및 토폴로지 관계를 지정하기 위해 상이한 아키텍쳐를 사용할 수 있다. 신경망에 포함되는 변수는 뉴런의 활동과 함께 뉴련들 간의 연결의 가중치일 수 있다. 신경망 토폴로지의 유형으로 피드 포워드 네트워크와 역방향 전파 신경망(backward propagation neural network)이 있다. 전자에서는 동일한 계층에서 서로 연결된 각 계층 내의 노드가 다음 스테이지로 공급되는데, 제공되는 입력 패턴에 따라 연결의 가중치를 수정하는 '학습 규칙'의 일부 형태를 포함한다. 후자에서는 가중 조정치의 역방향 에러 전파를 허용하는 것으로, 전자보다 진보된 신경망이다.
심층 신경망(Deep Neural Network, DNN)은 다수의 레벨의 상호 연결된 노드를 갖는 신경망에 대응하여 매우 비선형이고 고도로 변화하는 기능을 콤팩트하게 표현할 수 있다. 그럼에도 불구하고, 다수의 계층과 연관된 노드의 수와 함께 DNN에 대한 계산 복잡도가 급격히 상승한다. 최근까지 이러한 DNN을 학습(training)시키기 위한 효율적인 연산 방법들이 개발되고 있다. DNN의 학습 속도가 획기적으로 높아짐에 따라, 음성 인식, 이미지 세분화, 물체 감지, 안면 인식 등의 다양하고 복잡한 작업에 성공적으로 적용되고 있다.
비디오 코딩(video coding)도 이러한 DNN의 적용이 시도되고 있는 분야의 하나이다. 차세대 비디오 코딩으로 현재 고효율 비디오 코딩(High Efficiency Video Coding, HEVC)이 ITU-T(비디오 코딩 전문가 그룹) 및 ISO/IEC MPEG(동영상 전문가 그룹) 표준화 조직의 공동 비디오 프로젝트에 의하여 개발되어 국제 표준으로 채택되어 사용되고 있다. DNN을 HEVC 등과 같은 새로운 비디오 코딩 표준에 적용함으로써, 그 성능을 더욱 향상시키는 것이 가능하다는 것이 알려져 있다.
이러한 시도의 하나가 한국공개특허 제10-2018-0052651호, "비디오 코딩에서의 신경망 기반 프로세시의 방법 및 장치"에 개시되어 있다. 상기 한국공개특허에 따른 신경망 기반 프로세싱 방법에 의하면, DNN을 사용하여 타겟 신호가 프로세싱되며, DNN 입력에 제공되는 타겟 신호는 예측 프로세스, 재구성 프로세서, 하나 이상의 필터링 프로세스, 또는 이들의 조합으로부터 출력되는, 재구성된 잔차에 대응한다. DNN 출력으로부터의 출력 데이터가 인코딩 프로세스 또는 디코딩 프로세스를 위해 제공된다. DNN은, 타겟 신호의 픽셀 값을 복원하거나 타겟 신호와 오리지널 신호 사이에서 하나 이상의 잔체 픽셀의 부호를 예측하는 데에 사용될 수 있다. 하나 이상의 잔차 픽셀의 절대값은 비디오 비트스트림에서 시그널링될 수 있고 타겟 신호의 잔차 오차를 감소시키기 위해 부호와 함께 사용될 수 있다.
한국공개특허 제10-2018-0052651호, "비디오 코딩에서의 신경망 기반 프로세시의 방법 및 장치"
상기 한국공개특허에 의하면, 즉 예측 프로세스, 재구성 프로세서, 하나 이상의 필터링 프로세스, 또는 이들의 조합으로부터 출력되는 재구성된 잔차(reconstructed residual)에 대응하는 타겟 신호를 프로세싱하는데 DNN 기술을 적용하는 것으로 개시하고 있다. 즉, 상기 한국공개특허에서는 비디오 코딩 과정에서 생성되는 여러 가지 신호들 중에서 특정한 신호를 프로세싱하는데 DNN 기술을 적용하는 것으로 개시하고 있을 뿐이며, 인코더 및 디코더의 전체 기능 또는 일부 기능을 구현하는데, DNN 기술을 어떻게 적용할지에 대해서는 전혀 개시하고 있지 않다.
그리고 상기 한국공개특허에서는 DNN 기술을 적용하기 위한 DNN 파라미터가 비디오 코딩 시스템에 대해 사전에 정의되어 있거나 또는 비디오 코딩 시스템이 다수의 DNN 파라미터 세트를 선택하는 것으로 전제하고 있다. 이에 의하면, DNN 기술의 적용을 위하여 인코더 및 디코더는 미리 특정된 신경망(NN) 또는 이의 DNN 파라미터를 구비하고 있는 것을 전제하고 있을 뿐, 인코더와 디코더의 추론 엔진(inference engine)이 사용할 학습된 신경망을 어떻게 전달할 것인지에 대해서도 개시하고 있지 않다.
따라서 본 발명이 해결하고자 하는 하나의 과제는 인코더 및 디코더의 전체 기능 및/또는 일부 기능을 구현하는데 DNN 기술을 구체적으로 적용할 수 있는 DNN 기반 이미지 또는 비디오 코딩을 위한 방법 및 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 하나의 과제는 학습된 신경망을 인코더와 디코더에 전달하여 인코더와 디코더의 추론 엔진(inference engine)이 사용할 수 있도록 하는 DNN 기반 이미지 또는 비디오 코딩을 위한 방법 및 시스템을 제공하는 것이다.
전술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 DNN 기반 이미지 또는 비디오 코딩을 위한 시스템은 DNN 기반 인코더를 학습시켜서 기술한 학습된 인코더 신경망과 DNN 기반 디코더를 학습시켜서 기술한 학습된 디코더 신경망을 각각 생성하여 전송하는 네트워크 트레이닝 프레임워크, 부호화 과정에서 상기 학습된 인코더 신경망을 추론 엔진에 적용하여, 입력되는 이미지 또는 비디오를 부호화하여 특성 벡터(feature vector)를 생성하는 인코더 및 복호화 과정에서 상기 학습된 디코더 신경망을 추론 엔진에 적용하여, 상기 인코더에 의하여 생성된 상기 특성 벡터를 복호화하는 디코더를 포함한다.
상기 실시예의 일 측면에 의하면, 상기 인코더로부터 생성되는 상기 특성 벡터는 양자화 및 엔트로피 코딩을 통하여 비트스트림으로 압축되어 상기 디코더로 전송된다.
상기 실시예의 다른 측면에 의하면, 상기 네트워크 트레이닝 프레임워크로부터 상기 학습된 인코더 신경망과 상기 학습된 디코더 신경망을 수신한 다음 압축하여 상기 인코더와 상기 디코더로 전송하기 위한 신경망 압축부(NN compression)를 더 포함할 수 있다. 이 때, 상기 네트워크 트레이닝 프레임워크에 의하여 기술된 상기 학습된 인코더 신경망과 상기 학습된 디코더 신경망 각각 중에서, 일부는 상기 신경망 압축부를 경유하고, 나머지 일부는 상기 신경망 압축부를 경유하지 않고 상기 네트워크 프레이닝 프레임워크로부터 상기 인코더 및 상기 디코더로 바로 전송될 수 있다.
상기 실시예의 또 다른 측면에 의하면, 상기 네트워크 트레이닝 프레임워크는 복수의 DNN 기반 인코더 중에서 하나를 선택하여 상기 학습된 인코더 신경망을 생성하고 또는 복수의 DNN 기반 인코더 중에서 하나를 선택하여 상기 학습된 디코더 신경망을 생성할 수 있다. 이 때, 상기 네트워크 트레이닝 프레임워크는 상기 입력되는 이미지 또는 비디오의 유형에 기초하여 상기 복수의 DNN 기반 인코더와 상기 복수의 DNN 기반 디코더 각각에서 하나를 선택할 수 있다.
상기 실시예의 또 다른 측면에 의하면, 상기 네트워크 트레이닝 프레임워크는, 상기 인코더 및 상기 디코더와 상호교환될 수 있도록, 망 구조(network structure) 및 학습된 가중치(trained weight)를 포함하는 호환가능한 포맷으로 상기 학습된 인코더 신경망과 상기 학습된 디코더 신경망 각각을 기술할 수 있다.
전술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 DNN 기반 이미지 또는 비디오 코딩을 위한 방법은 DNN 기반 인코더를 학습시켜서 기술한 학습된 인코더 신경망과 DNN 기반 디코더를 학습시켜서 기술한 학습된 디코더 신경망을 각각 생성하여 전송하는 트레이닝 단계, 부호화 과정에서 상기 학습된 인코더 신경망을 추론 엔진에 적용하여, 입력되는 이미지 또는 비디오를 부호화하여 특성 벡터(feature vector)를 생성하는 부호화 단계 및 복호화 과정에서 상기 학습된 디코더 신경망을 추론 엔진에 적용하여, 상기 부호화 과정에서 생성된 상기 특성 벡터를 복호화하는 복호화 단계를 포함한다.
전술한 본 발명의 실시예에 의하면, 네트워크 트레이닝 프레임워크에서 학습된 DNN 기반 인코더/디코더의 결과물인 기술된(represented) 학습된 인코더/디코더 신경망을 생성하여 인코더 및 디코더에 전송하기 때문에, 부호화 및 복호화 과정을 전체에 대하여 상호 호환적으로 DNN 기반 기술을 적용하는 것이 가능하다.
그리고 본 발명의 실시예에 따른 인코더와 디코더는, 네트워크 트레이닝 프레임워크로부터 수신된 학습된 인코더/디코더 신경망을 추론 엔진(inference engine)에 적용하여 부호화 또는 복호화를 수행한다. 그 결과, 기존의 규격화된 이미지 또는 비디오 인코딩 기술이나 또는 장래에 개발되는 규격화된 이미지 또는 비디오 인코딩 기술의 전체 부호화/복호화 과정을 대체하여 코덱 단위로 DNN 기술을 적용할 수 있다. 특히, 동일한 코딩 기능을 구현하는 복수의 DNN 기반 인코더/디코더 중에서 코딩 효율인 높은 DNN 기반 인코더/디코더를 적용하여 부호화 및/또는 복호화를 수행할 수 있다.
도 1은 본 발명의 일 실시예에 따른 DNN 기반 이미지 또는 비디오 코딩을 위한 도구 단위 기반 방법에 따른 시스템의 구성을 보여 주는 것이다.
도 2는 도 1의 시스템에서 수행되는 본 발명의 일 실시예에 따른 DNN 기반 이미지 또는 비디오 코딩을 위한 방법을 보여 주는 흐름도이다.
도 3은 본 발명의 다른 실시예에 따른 DNN 기반 이미지 또는 비디오 코딩을 위한 전체 코덱 기반 방법에 따른 시스템의 구성을 보여 주는 것이다.
도 4는 도 3의 시스템에서 수행되는 본 발명의 일 실시예에 따른 DNN 기반 이미지 또는 비디오 코딩을 위한 방법을 보여 주는 흐름도이다.
이하, 도면을 참조하여 본 발명의 바람직한 실시형태 및 실시예를 설명한다. 다만, 이하의 실시형태 및 실시예는 본 발명의 바람직한 구성을 예시적으로 나타내는 것일 뿐이며, 본 발명의 범위는 이들 구성에 한정되지 않는다. 그리고 이하의 설명에 있어서, 장치의 하드웨어 구성 및 소프트웨어 구성, 처리 흐름, 제조조건, 크기, 재질, 형상 등은, 특히 특정적인 기재가 없는 한, 본 발명의 범위를 이것으로 한정하려는 취지인 것은 아니다.
전술한 바와 같이, 최근 심층 신경망(Deep Neural Network, DNN)은 다양한 응용 분야에서 높은 관심을 끌고 있으며, 이미지 또는 비디오(이하, 단순히 '비디오'라고도 한다)의 코딩 기술에도 적용하려는 시도가 있어 왔다. 예를 들어, 전술한 한국공개특허 제10-2018-0052651호에 개시된 바와 같이, 특정한 신호, 즉 재구성된 잔차(reconstructed residual)를 프로세싱하는 과정에 대하여 DNN 기술을 적용하는 것이 그 중의 하나이다.
다른 하나의 시도는, 본 발명의 실시예와 같이, 학습된 신경망(trained Neural Network)을 인코더와 디코더에 전달하여 인코더와 디코더의 추론 엔진(inference engine)에 적용하는 것이다. 이에 의하면, 두 가지 접근 방법이 있는데, 도구 단위 기반(tool-by-tool basis) 방법과 전체 코덱 기반(entire codec basis) 방법이 그것이다. 도구 단위 기반 방법에 의하면, 인코딩/디코딩 과정 또는 코덱을 구성하는 일부 기존의 구성요소 또는 기능이 DNN 기반 기술, 즉 DNN 기반 코딩 도구에 의하여 대체된다. 반면, 전체 코덱 기반 방법에 의하면, 코덱을 구성하는 전체 인코딩/디코딩 과정이 시작부터 끝까지 DNN 기반 기술, 즉 DNN 기반 인코더/디코더에 의하여 대체된다.
도구 단위 기반 방법
도구 단위 기반 방법에서, 용어 '도구'는 코덱을 구성하는 일부 기존의 구성요소 또는 기능을 수행하기 위한 모듈(컴퓨터 프로그램 또는 이를 구현한 컴퓨터 프로세서)을 가리킨다. 전체 코딩 프로세스에서 '도구'에 의하여 수행되는 코딩 과정이 범위는 특별한 제한이 없다. 예컨대, '도구'는 H.264나 HEVC 등과 같은 국제 비디오 부호화 표준에서 통상적으로 사용되는 인코딩/디코딩 블록도의 일 기능(예컨대, 인트라 예측 코딩 과정, 인터 예측 코딩 과정, 양자화/역양자화 과정, 엔트로피 코딩 과정, 인-루프 필터링 과정, 등)을 가리킬 수 있다. 또는, '도구'는 상기 인코딩/디코딩 블록도의 일 기능에 포함되는 일부 과정(예컨대, 인트라 예측 코딩을 위한 예측 모드 결정 과정, 양자화 과정을 위한 양자화 상수 결정 과정 등)을 가리킬 수도 있다.
도 1은 본 발명의 일 실시예에 따른 DNN 기반 이미지 또는 비디오 코딩을 위한 시스템의 구성을 보여 주는 것으로서, 도구 단위 기반 방법에 따른 시스템이다. 도 1을 참조하면, DNN 기반 비디오 코딩 시스템(100)은 네트워크 트레이닝 프레임워크(network training framework, 110), 인코더(encoder, 120) 및 디코더(decoder, 130)를 포함한다. 그리고 DNN 기반 비디오 코딩 시스템(100)은 신경망 압축부(Neural Network(NN) compression, 140)를 더 포함할 수 있다.
네트워크 트레이닝 프레임워크(110)는 DNN 기반 코딩 도구를 학습시켜서 기술한 학습된 도구 신경망을 생성한다. 이를 위하여, 네트워크 트레이닝 프레임워크(110)는 우선 DNN 기반 코딩 도구들의 일 집합을 고안하고 또한 이들을 각각 학습시킨다. 여기서, 고안된 DNN 기반 코딩 도구는 소정의 망 구조(network structure)를 갖는 소정의 네트워크 모델을 가리킨다.
DNN 기반 코딩 도구는 2가지 유형이 존재할 수 있다. 보다 구체적으로, DNN 기반 코딩 도구는 인코더(120) 및 디코더(130) 모두에 필수적인 기능을 구현하는 제1 코딩 도구(도 1에서는 Type-A로 표시되어 있는 도구 A(tool A) 및 도구 B(tool B)가 이에 해당됨)와 인코더(120)와 디코더(130) 중에서 어느 하나에만 필수적인 기능을 구현하는 제2 코딩 도구(도 1에서는 Type-B로 표시되어 있는 도구 C(tool C) 및 도구 D(tool D)가 이에 해당됨)의 두 가지 유형이 존재한다. 이것은 이미지/비디오 코딩에서, 일부의 코딩 도구, 즉 제1 코딩 도구는 인코더(120)와 디코더(130) 모두에 요구되는 것이고, 나머지 다른 일부의 코딩 도구, 즉 제2 코딩 도구는 인코더(120)와 디코더(130) 중에서 어느 하나에만 요구되는 기능이기 때문이다. 예를 들어, 비디오 코딩 과정에서, 인-루프 필터링 과정은 인코더(120)와 디코더(130) 모두에서 행해지는 제1 코딩 도구의 기능에 해당하지만, 인트라 모드 예측 과정은 오직 인코더(120)에서만 행해지는 제2 코딩 도구의 기능에 해당되며, 디코더(130)로는 오직 결정된 예측 모드 정보만이 보내진다.
따라서 두 가지 유형의 DNN 기반 코딩 도구가 고려되어야 하며, 이러한 DNN 기반 코딩 도구의 유형(type)은 반드시 학습된 DNN 기반 코딩 도구의 상위 레벨 정보로서 표시가 되어야 한다. 전술한 바와 같이, 도 1에서는 인코더(120)와 디코더(130) 모두에게 필요한 도구 A(tool A) 및 도구 B(tool B)는 Type-A로 표시되어 있으며, 인코더(120)와 디코더(130) 중에서 하나에게만 필요한 도구 C(tool C) 및 도구 D(tool D)는 Type-B로 표시되어 있다.
그리고 네트워크 트레이닝 프레임워크(110)에서 학습된 DNN 기반 도구의 결과물(results of trained DNN based tool), 즉 학습된 신경망은 인코더(120) 및/또는 디코더(130)로 전달되어야 하며 또는 상호 호환이 가능하게 교환되어야 한다. 이것은 네트워크 구조와 학습된 가중치(network structure and trained weight)를 포함하는 학습된 신경망(trained network)을 기술하기 위한 호환가능한 포맷(interoperable format)을 규정함으로써 달성할 수 있다. 호환가능한 포맷은 학습된 신경망뿐만 아니라 시스템 구성(system configuration)에 관한 상위 레벨 정보(high-level information)를 기술할 필요가 있다. 예를 들어, 도구 단위 기반 방법의 경우에는, 해당 도구가 인코더(120)와 디코더(130) 모두에 공통적으로 적용되는지 또는 어느 하나에만 적용되는지를 지시하기 위한 도구의 유형 정보가 상호호환 가능한 포맷으로 기술되어야 한다.
이와 같이, 상호호환 가능한 포맷으로 기술된 학습된 신경망은 학습된 DNN 기반 도구 신경망뿐만 아니라 도 1에 도시되어 있는 시스템의 전반적인 구성에 관한 상위 레벨 정보를 포함하고 있어야 한다.
보다 구체적으로, 학습된 DNN 기반 도구 신경망과 관련된 상위 레벨 정보로는, 인식(recognition), 분류(classification), 생성(generation), 차별화(discrimination) 등과 같은 해당 신경망의 기본 기능의 관점에서 본 목표 응용(target application)에 관한 정보, 도구 단위 기반 방법인지 또는 전체 코덱 단위 기반 방법인지에 관한 정보, 도구 단위 기반 방법에서 학습된 DNN 기반 코딩 도구의 유형을 지시하는 정보, 도구 단위 기반 방법에서 인코더가 특정 부호화 과정의 수행시에 학습된 도구 신경망을 추론 엔진에 적용하는 것과 규격화된 이미지 또는 비디오 부호화 도구를 적용하는 것 중에서 무엇을 선택하였는지를 지시하는 정보, 최적화된 콘텐츠 유형(customized content type)에 관한 정보, 오토인코더(autoencoder), CNN(Convolutional Neural Network), GAN(Generative Adversarial Network), RNN(Recurrent Neural Network) 등과 같은 학습된 DNN 기반 신경망의 알고리즘에 관한 기초 정보, 트레이닝 데이터 및/또는 테스트 데이터에 관한 기본 정보, 메모리 용량 및 컴퓨팅 파워의 관점에서 추론 엔진에 요구되는 능력에 관한 정보, 모델 압축에 관한 정보 등을 포함한다.
그리고 네트워크 트레이닝 프레임워크(110)는 하나 이상의 학습된 도구 신경망, 즉 학습된 도구 단위 신경망의 코딩된 기술(trained coded representation of neural network)을 선택하여 인코더(120) 및/또는 디코더(130)로 전송한다. 전술한 바와 같이, 학습된 도구 신경망의 유형, 즉 도구의 유형에 따라서 인코더(120)와 디코더(130) 모두에게 전송되거나 또는 인코더(120) 또는 디코더(130)에게만 전송될 수 있다. 보다 구체적으로, 도 1에 예시적으로 도시된 바와 같이, 인코더(120)와 디코더(130) 모두에게 필요한 Type-A의 도구 A(tool A) 및 도구 B(tool B)는 인코더(120)와 디코더(130) 모두에게 전송되지만, 디코더(130)에게 필요한 Type-B의 도구C(tool C) 및 도구 D(tool D)는 디코더(130)에게만 전송된다.
이 때, 네트워크 트레이닝 프레임워크(110)로부터 인코더(120) 및/또는 디코더(130)로 전송되는 학습된 도구 신경망의 전부 또는 일부는 신경망 압축부(140)를 거쳐서 전송될 수도 있다. 즉, 네트워크 트레이닝 프레임워크(110)에서 생성되어 기술된 학습된 도구 신경망의 일부는 네트워크 트레이닝 프레임워크(110)로부터 인코더(120) 및/또는 디코더(130)로 바로 전송되지만, 학습된 도구 신경망의 나머지 일부는 신경망 압축부(140)를 경유하여 네트워크 트레이닝 프레임워크(110)로부터 인코더(120) 및/또는 디코더(130)로 전송될 수 있다.
신경망 압축부(140)는 학습된 도구 신경망을 압축하여 호환 가능한 포맷으로 기술하기 위한 수단이다. 이러한 신경망 압축부(140)의 일례는 가속기 라이브러리(accelerator library)이다. 가속기 라이브러리, 즉 신경망 압축부(140)를 이용한 학습된 도구 신경망의 압축은 선택적(optional) 과정이다. 즉, 학습된 도구 신경망이 압축을 거치지 않고서도 인코더(120) 및/또는 디코더(130)로 전송될 수 있을 정도로 충분히 컴팩트한 경우이거나 또는 압축으로 인하여 코덱의 성능을 심각하게 떨어뜨리는 경우 등에는, 학습된 도구 신경망은 신경망 압축부(140)를 거치지 않고 직접 인코더(120) 및/또는 디코더(130)로 전송될 수 있다.
본 실시예의 일 측면에 의하면, 네트워크 트레이닝 프레임워크(110)에는 동일한 코딩 기능을 구현하는 복수의 DNN 기반 코딩 도구, 즉 복수의 도구 단위 신경망 모델이 이용 가능하도록 준비되어 설정되어 있을 수 있다. 그리고 네트워크 트레이닝 프레임워크(110)는 소정의 기준에 따라 이용 가능한 상기 복수의 DNN 기반 코딩 도구 중에서 하나를 선택하여 학습된 도구 신경망을 생성할 수 있다. 예를 들어, 네트워크 트레이닝 프레임워크(110)는 부호화하고자 하는 입력 콘텐츠의 유형에 기초하여 따라서 보다 높은 성능을 보이는 보다 적절한 코딩 도구를 선택할 수 있다.
인코더(120)는 입력되는 이미지 또는 비디오를 부호화하여 부호화된 비트스트림을 생성하여 출력한다. 인코더(120)에서의 비디오 부호화 과정은 특정한 기존의 비디오 부호화 규격(표준), 예컨대 H.264 또는 HEVC 등에 규격에 따른 일련의 과정으로 이루어져 있다. 특히, 본 실시예에 따른 인코더(120)는 비디오 부호화 규격에 따른 일련의 과정 중에서 일부의 과정이 코딩 도구 단위로 DNN 기반 기술에 의하여 대체되어 수행된다. 이것은, 기존의 과정을 대체한 DNN 기반 기술, 즉 학습된 DNN 기반 코딩 도구에서의 출력은 비디오 부호화 규격에 규정되어 있는 사항을 따르며, 그 결과 비록 전체 부호화 과정의 일부 기능이 DNN 기반 기술에 의하여 대체되더라도 최종적으로 출력되는 부호화된 비트스트림도 기존의 비디오 부호화 규격에 따른 결과물과 동일하다는 것을 전제로 한다는 것은 자명하다.
이를 위하여, 인코더(120)는 DNN 기반 기술을 적용하기 위한 추론 엔진(inference engine)을 구비한다. 그리고 인코더(120)의 추론 엔진에서는, 호환가능한 포맷으로 기술되어 있는 학습된 DNN 기반 코딩 도구(학습된 신경망)가 사용된다.
보다 구체적으로, 본 실시예에 따른 인코더(120)는, 기존의 비디오 부호화 규격에 따른 전체 부호화 과정 중에서, 네트워크 트레이닝 프레임워크(110)로부터 수신되는 DNN 기반 코딩 도구에 대응되는 제1 부호화 과정에서는 학습된 도구 신경망을 내부의 추론 엔진에 적용하여 입력되는 비디오(또는 해당 과정의 이전 과정에서의 부호화 결과물)를 부호화하는 반면, 상기 제1 부호화 과정 이외의 부호화 과정(즉, 제2 부호화 과정)에서는 기존의 비디오 부호화 규격에 따른 방식(즉, 기존의 비디오 부호화 도구)를 적용하여 입력되는 비디오(또는 해당 과정의 이전 과정에서의 부호화 결과물)을 부호화한다.
본 실시예의 일 측면에 의하면, 인코더(120)는 부호화 과정 중에서 특정한 과정을 수행하는데 있어서, 소정의 기준, 예컨대 R-D 비용(cost) 등과 같은 코딩 효율을 지시하는 정보에 기초하여 DNN 기반 코딩 도구와 기존의 비디오 부호화 규격에 따른 코딩 도구 중에서 하나를 선택할 수 있다. 즉, 인코더(120)는 비록 네트워크 트레이닝 프레임워크(110)로부터 특정한 부호화 과정을 수행하기 위한 학습된 DNN 기반 코딩 도구, 즉 학습된 도구 신경망을 수신하였다고 하더라도, 해당 과정에서 반드시 DNN 기반 코딩 도구를 적용하여 해당 과정에 대한 부호화를 수행할 필요는 없으며, 코딩 효율을 더 향상시킬 수 있는 경우라면 기존의 비디오 부호화 규격에 따른 코딩 도구를 적용하여 해당 과정에 대한 부호화를 수행할 수도 있다. 그리고 인코더(120)는 해당 과정을 수행함에 있어서, DNN 기반 코딩 도구와 기존의 비디오 부호화 규격에 따른 코딩 도구를 선택하여 부호화를 했는지는, 상위 레벨 정보로 포함시킬 수 있다.
인코더(120)로부터 출력되는 부호화된 비트스트림은 출력되어 디코더(130)로 전송되거나 또는 소정의 저장 매체에 저장될 수도 있다. 그리고 어떤 경우이든 인코더(120)로부터 출력되는 부호화된 비트스트림은 디코더(130)의 입력으로 입력되어 복호화되며, 그 결과 재구성된 이미지 또는 비디오가 출력된다.
디코더(130)에서의 비디오 복호화 과정은 특정한 기존의 비디오 복호화 규격(표준), 예컨대 H.264 또는 HEVC 등에 규격에 따른 일련의 과정으로 이루어져 있다. 특히, 본 실시예에 따른 디코더(130)는 비디오 부호화 규격에 따른 일련의 과정 중에서 일부의 과정이 코딩 도구 단위로 DNN 기반 기술에 의하여 대체되어 수행된다. 이것은, 기존의 과정을 대체한 DNN 기반 기술, 즉 학습된 DNN 기반 코딩 도구에서의 출력은 비디오 부호화 규격에 규정되어 있는 사항을 따르며, 그 결과 비록 전체 복호화 과정의 일부 기능이 DNN 기반 기술에 의하여 대체되더라도 각 과정에서 출력되는 데이터도 기존의 비디오 부호화 규격에 따른 결과물과 동일하다는 것을 전제로 한다는 것은 자명하다.
이를 위하여, 디코더(130)는 DNN 기반 기술을 적용하기 위한 추론 엔진(inference engine)을 구비한다. 그리고 디코더(130)의 추론 엔진에서는, 호환가능한 포맷으로 기술되어 있는 학습된 DNN 기반 코딩 도구(학습된 신경망)가 사용된다.
디코더(130)는 기존의 비디오 부호화 규격에 따른 전체 복호화 과정 중에서, 네트워크 트레이닝 프레임워크(110)로부터 수신되는 DNN 기반 코딩 도구에 대응되는 제1 복호화 과정에서는 학습된 도구 신경망을 내부의 추론 엔진에 적용하여 입력되는 비트스트림(또는 해당 과정의 이전 과정에서의 복호화 결과물)를 복호화하는 반면, 상기 제1 복호화 과정 이외의 복호화 과정(즉, 제2 복호화 과정)에서는 기존의 비디오 부호화 규격에 따른 방식(즉, 기존의 비디오 복호화 도구)를 적용하여 입력되는 비트스트림(또는 해당 과정의 이전 과정에서의 복호화 결과물)을 복호화한다.
도 2는 본 발명의 일 실시예에 따른 DNN 기반 이미지 또는 비디오 코딩을 위한 방법을 보여 주는 흐름도이다. 도 2에 도시된 방법은 도 1에 도시된 시스템에서 수행되는 것이다. 따라서, 불필요한 중복 설명을 피하기 위하여, 본 발명의 일 실시예에 따른 DNN 기반 이미지 또는 비디오 코딩을 위한 방법에 대하여 간략히 설명하기로 한다. 따라서 여기에서 설명되지 않은 사항은 도 1을 참조하여 전술한 내용이 동일하게 적용될 수 있다.
도 2를 참조하면, 우선 DNN 기반 코딩 도구를 학습시켜서 기술한 학습된 도구 신경망을 생성하여 인코더 및/또는 디코더를 위하여 전송한다(S10). 본 단계는 도 1에 도시된 시스템(100)의 네트워크 트레이닝 프레임워크(110)에 의하여 수행될 수 있다.
그리고 입력되는 이미지 또는 비디오를 부호화하여 부호화된 비트스트림을 생성하는 부호화 과정이 수행된다(S11).부호화 과정 중에서, DNN 기반 코딩 도구에 대응되는 제1 부호화 과정에서는 학습된 도구 신경망을 인코더의 추론 엔진에 적용하고 또한 제1 부호화 과정 이외의 제2 부호화 과정에서는 인코더의 규격화된 이미지 또는 비디오 부호화 도구를 적용한다. 본 단계는 도 1에 도시된 시스템(100)의 인코더(120)에서 수행될 수 있다.
또한, 부호화 단계에서 생성된 부호화된 비트스트림을 복호화하는 복호화 과정이 수행된다(S12). 복호화 과정 중에서, DNN 기반 코딩 도구에 대응되는 제1 복호화 과정에서는 학습된 도구 신경망을 디코더의 추론 엔진에 적용하고 또한 제1 복호화 과정 이외의 제2 복호화 과정에서는 디코더의 규격화된 이미지 또는 비디오 복호화 도구를 적용한다. 본 단계는 도 1에 도시된 시스템(100)의 디코더(130)에서 수행될 수 있다.
전체 코덱 기반 방법
전체 코덱 기반 방법에서, 용어 '코덱'은 이미지 또는 비디오에 대한 부호화 또는 복호화의 전 과정을 수행하기 위한 모듈(컴퓨터 프로그램 또는 이를 구현한 컴퓨터 프로세서)을 가리킨다. 이러한 코덱은 부호화 또는 복호화의 전 과정을 수행하기 위한 일련의 과정으로 구성되어 있는데, 여기서 각 과정의 전부 또는 일부, 또는 복수의 과정은 전술한 '도구'의 대응된다. 따라서 '코덱'은 H.264나 HEVC 등과 같은 국제 비디오 부호화 표준에서 규정되어 있는 전체 인코딩 블록도 또는 전체 디코딩 블록도를 가리킨다.
도 3은 본 발명의 일 실시예에 따른 DNN 기반 이미지 또는 비디오 코딩을 위한 시스템의 구성을 보여 주는 것으로서, 전체 코덱 기반 방법에 따른 시스템이다. 도 31을 참조하면, DNN 기반 비디오 코딩 시스템(200)은 네트워크 트레이닝 프레임워크(network training framework, 210), 인코더(encoder, 220) 및 디코더(decoder, 230)를 포함한다. 그리고 DNN 기반 비디오 코딩 시스템(200)은 신경망 압축부(Neural Network(NN) compression, 240)를 더 포함할 수 있다.
네트워크 트레이닝 프레임워크(210)는 DNN 기반 인코더를 학습시켜서 기술한 학습된 인코더 신경망과 DNN 기반 디코더를 학습시켜서 기술한 학습된 디코더 신경망을 각각 생성한다. 이를 위하여, 네트워크 트레이닝 프레임워크(210)는 우선 DNN 기반 인코더 및 DNN 기반 디코더 각각의 일 집합을 고안하고 또한 이들을 각각 트레이닝시킨다. 여기서, 고안된 DNN 기반 인코더와 디코더는 각각 소정의 망 구조(network structure)를 갖는 소정의 네트워크 모델을 가리킨다.
그리고 네트워크 트레이닝 프레임워크(210)에서 학습된 DNN 인코더 및 디코더 각각의 결과물(results of each of trained DNN based encoder and decoder), 즉 학습된 인코더 신경망 및 디코더 신경망(이하, '학습된 신경망'이라고도 한다)은 각각 인코더(220) 또는 디코더(230)로 전달되어야 하며 또는 상호 호환이 가능하게 교환되어야 한다. 이것은 네트워크 구조와 학습된 가중치(network structure and trained weight)를 포함하는 학습된 신경망(trained network)을 기술하기 위한 호환가능한 포맷(interoperable format)을 규정함으로써 달성할 수 있다. 호환가능한 포맷은 학습된 신경망뿐만 아니라 시스템 구성(system configuration)에 관한 상위 레벨 정보(high-level information)를 기술할 필요가 있다.
이와 같이, 상호호환 가능한 포맷으로 기술된 학습된 신경망은 학습된 DNN 기반 인코더 신경망 또는 디코더 신경망뿐만 아니라 도 3에 도시되어 있는 시스템의 전반적인 구성에 관한 상위 레벨 정보를 포함하고 있어야 한다.
보다 구체적으로, 학습된 DNN 기반 인코더/디코더 신경망과 관련된 상위 레벨 정보로는, 인식(recognition), 분류(classification), 생성(generation), 차별화(discrimination) 등과 같은 해당 신경망의 기본 기능의 관점에서 본 목표 응용(target application)에 관한 정보, 도구 단위 기반 방법인지 또는 전체 코덱 단위 기반 방법인지에 관한 정보, 최적화된 콘텐츠 유형(customized content type)에 관한 정보, 오토인코더(autoencoder), CNN(Convolutional Neural Network), GAN(Generative Adversarial Network), RNN(Recurrent Neural Network) 등과 같은 학습된 DNN 기반 신경망의 알고리즘에 관한 기초 정보, 트레이닝 데이터 및/또는 테스트 데이터에 관한 기본 정보, 메모리 용량 및 컴퓨팅 파워의 관점에서 추론 엔진에 요구되는 능력에 관한 정보, 모델 압축에 관한 정보 등을 포함한다.
그리고 네트워크 트레이닝 프레임워크(210)는 학습된 신경망, 즉 학습된 인코더 신경망의 코딩된 기술(trained coded representation of encoder neural network)과 학습된 디코더 신경망의 코딩된 기술(trained coded representation of decoder neural network)을 각각 선택하여 인코더(220) 또는 디코더(230)로 전송한다.
이 때, 네트워크 트레이닝 프레임워크(210)로부터 인코더(220) 및/또는 디코더(230)로 전송되는 학습된 신경망의 전부 또는 일부는 신경망 압축부(240)를 거쳐서 전송될 수도 있다. 즉, 네트워크 트레이닝 프레임워크(210)에서 생성되어 기술된 학습된 신경망의 일부는 네트워크 트레이닝 프레임워크(210)로부터 인코더(220) 또는 디코더(230)로 바로 전송되지만, 학습된 도구 신경망의 나머지 일부는 신경망 압축부(240)를 경유하여 네트워크 트레이닝 프레임워크(210)로부터 인코더(220) 또는 디코더(230)로 전송될 수 있다.
신경망 압축부(240)는 학습된 인코더 신경망 및/또는 학습된 디코더 신경망 각각을 압축하여 호환 가능한 포맷으로 기술하기 위한 수단이다. 이러한 신경망 압축부(240)의 일례는 가속기 라이브러리(accelerator library)이다. 가속기 라이브러리, 즉 신경망 압축부(240)를 이용한 학습된 신경망의 압축은 선택적(optional) 과정이다. 즉, 학습된 신경망이 압축을 거치지 않고서도 인코더(220) 또는 디코더(230)로 전송될 수 있을 정도로 충분히 컴팩트한 경우이거나 또는 압축으로 인하여 코덱의 성능을 심각하게 떨어뜨리는 경우 등에는, 학습된 신경망은 신경망 압축부(240)를 거치지 않고 직접 인코더(220) 또는 디코더(230)로 전송될 수 있다.
본 실시예의 일 측면에 의하면, 네트워크 트레이닝 프레임워크(210)에는 동일한 인코더/디코더를 구현하는 복수의 DNN 기반 인코더/디코더, 즉 복수의 인코더/디코더 신경망 모델이 이용 가능하도록 준비되어 설정되어 있을 수 있다. 그리고 네트워크 트레이닝 프레임워크(210)는 소정의 기준에 따라 이용 가능한 상기 복수의 DNN 기반 인코더/디코더 중에서 하나를 선택하여 학습된 인코더/디코더 신경망을 생성할 수 있다. 예를 들어, 네트워크 트레이닝 프레임워크(210)는 부호화하고자 하는 입력 콘텐츠의 유형에 기초하여 따라서 보다 높은 성능을 보이는 보다 적절한 인코더/디코더를 선택할 수 있다.
인코더(220)는 입력되는 이미지 또는 비디오를 부호화하여 특성 벡터(feature vector)를 생성하여 출력한다. 특히, 본 실시예에 따른 인코더(220)는 비디오 부호화 규격에 따른 일련의 과정 전체가 전체 코덱 단위로 DNN 기반 기술에 의하여 대체되어 수행되며, 그 결과물로서 입력되는 이미지의 차원(dimensions)을 감소시킨 특성 벡터를 출력한다. 이를 위하여, 인코더(220)는 DNN 기반 기술을 적용하기 위한 추론 엔진(inference engine)을 구비한다. 그리고 인코더(220)의 추론 엔진에서는, 호환가능한 포맷으로 기술되어 있는 학습된 DNN 기반 인코더(학습된 신경망)가 사용된다.
인코더(220)로부터 출력되는 특성 벡터는 디코더(230)로 전송되거나 또는 소정의 저장 매체에 저장될 수도 있다. 그리고 어떤 경우이든 인코더(220)로부터 출력되는 특성 벡터는 디코더(230)의 입력으로 입력되어 복호화되며, 그 결과 재구성된 이미지 또는 비디오가 출력된다. 실시예에 따라서는, 인코더(220)로부터 출력되는 특성 벡터는 양자화 및 엔트로피 코딩 과정을 거쳐서 비트스트림화된 후에 소정의 매체를 통하여 전송되고 또한 디코더(230)로 입력되기 이전에 역양자화 및 엔트로피 코딩 과정을 거쳐서 특성 벡터로 복호화될 수 있다.
본 실시예에 따른 디코더(230)는 비디오 부호화 규격에 따른 일련의 복호화 과정 전체가 전체 코덱 단위로 DNN 기반 기술에 의하여 대체되어 수행되며, 그 결과물로서 입력되는 특성 벡터로부터 재구성된 이미지 또는 비디오를 생성한다. 이를 위하여, 디코더(230)는 DNN 기반 기술을 적용하기 위한 추론 엔진(inference engine)을 구비한다. 그리고 인코더(230)의 추론 엔진에서는, 호환가능한 포맷으로 기술되어 있는 학습된 DNN 기반 디코더(학습된 신경망)가 사용된다.
도 4는 본 발명의 다른 실시예에 따른 DNN 기반 이미지 또는 비디오 코딩을 위한 방법을 보여 주는 흐름도이다. 도 4에 도시된 방법은 도 3에 도시된 시스템에서 수행되는 것이다. 따라서, 불필요한 중복 설명을 피하기 위하여, 본 발명의 다른 실시예에 따른 DNN 기반 이미지 또는 비디오 코딩을 위한 방법에 대하여 간략히 설명하기로 한다. 따라서 여기에서 설명되지 않은 사항은 도 3을 참조하여 전술한 내용이 동일하게 적용될 수 있다.
도 4를 참조하면, 우선 DNN 기반 인코더와 DNN 기반 디코더를 각각 학습시켜서 기술한 학습된 인코더/디코더 신경망을 생성하여 인코더 및/또는 디코더를 위하여 전송한다(S20). 본 단계는 도 3에 도시된 시스템(200)의 네트워크 트레이닝 프레임워크(210)에 의하여 수행될 수 있다.
그리고 입력되는 이미지 또는 비디오를 부호화하여 특성 벡터를 생성하는 부호화 과정이 수행된다(S21). 본 단계에서는 전체 부호화 과정에서 학습된 인코더 신경망을 추론 엔진에 적용한다. 본 단계는 도 3에 도시된 시스템(200)의 인코더(220)에서 수행될 수 있다.
또한, 부호화 단계에서 생성된 특성 벡터를 복호화하는 복호화 과정이 수행된다(S22). 본 단계에서는 전체 복호화 과정에서 학습된 디코더 신경망을 추론 엔진에 적용한다. 본 단계는 도 3에 도시된 시스템(200)의 디코더(230)에서 수행될 수 있다.
전술한 바와 같이, 이상의 설명은 실시예에 불과할 뿐이며 이에 의하여 한정되는 것으로 해석되어서는 안된다. 본 발명의 기술 사상은 후술하는 특허청구범위에 기재된 발명에 의해서만 특정되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다. 따라서 전술한 실시예가 다양한 형태로 변형되어 구현될 수 있다는 것은 통상의 기술자에게 자명하다.

Claims (8)

  1. DNN 기반 인코더를 학습시켜서 기술한 학습된 인코더 신경망과 DNN 기반 디코더를 학습시켜서 기술한 학습된 디코더 신경망을 각각 생성하여 전송하는 네트워크 트레이닝 프레임워크;
    부호화 과정에서 상기 학습된 인코더 신경망을 추론 엔진에 적용하여, 입력되는 이미지 또는 비디오를 부호화하여 특성 벡터(feature vector)를 생성하는 인코더; 및
    복호화 과정에서 상기 학습된 디코더 신경망을 추론 엔진에 적용하여, 상기 인코더에 의하여 생성된 상기 특성 벡터를 복호화하는 디코더를 포함하는 것을 특징으로 하는 DNN 기반 이미지 또는 비디오 코딩을 위한 시스템.
  2. 제1항에 있어서,
    상기 인코더로부터 생성되는 상기 특성 벡터는 양자화 및 엔트로피 코딩을 통하여 비트스트림으로 압축되어 상기 디코더로 전송되는 것을 특징으로 하는 DNN 기반 이미지 또는 비디오 코딩을 위한 시스템.
  3. 제1항에 있어서,
    상기 네트워크 트레이닝 프레임워크로부터 상기 학습된 인코더 신경망과 상기 학습된 디코더 신경망을 수신한 다음 압축하여 상기 인코더와 상기 디코더로 전송하기 위한 신경망 압축부(NN compression)를 더 포함하는 것을 특징으로 하는 DNN 기반 이미지 또는 비디오 코딩을 위한 시스템.
  4. 제3항에 있어서,
    상기 네트워크 트레이닝 프레임워크에 의하여 기술된 상기 학습된 인코더 신경망과 상기 학습된 디코더 신경망 각각 중에서, 일부는 상기 신경망 압축부를 경유하고, 나머지 일부는 상기 신경망 압축부를 경유하지 않고 상기 네트워크 프레이닝 프레임워크로부터 상기 인코더 및 상기 디코더로 바로 전송되는 것을 특징으로 하는 DNN 기반 이미지 또는 비디오 코딩을 위한 시스템.
  5. 제1항에 있어서,
    상기 네트워크 트레이닝 프레임워크는 복수의 DNN 기반 인코더 중에서 하나를 선택하여 상기 학습된 인코더 신경망을 생성하고 또는 복수의 DNN 기반 인코더 중에서 하나를 선택하여 상기 학습된 디코더 신경망을 생성하는 것을 특징으로 하는 DNN 기반 이미지 또는 비디오 코딩을 위한 시스템.
  6. 제5항에 있어서,
    상기 네트워크 트레이닝 프레임워크는 상기 입력되는 이미지 또는 비디오의 유형에 기초하여 상기 복수의 DNN 기반 인코더와 상기 복수의 DNN 기반 디코더 각각에서 하나를 선택하는 것을 특징으로 하는 DNN 기반 이미지 또는 비디오 코딩을 위한 시스템.
  7. 제1항에 있어서,
    상기 네트워크 트레이닝 프레임워크는, 상기 인코더 및 상기 디코더와 상호교환될 수 있도록, 망 구조(network structure) 및 학습된 가중치(trained weight)를 포함하는 호환가능한 포맷으로 상기 학습된 인코더 신경망과 상기 학습된 디코더 신경망 각각을 기술하는 것을 특징으로 하는 DNN 기반 이미지 또는 비디오 코딩을 위한 시스템.
  8. DNN 기반 인코더를 학습시켜서 기술한 학습된 인코더 신경망과 DNN 기반 디코더를 학습시켜서 기술한 학습된 디코더 신경망을 각각 생성하여 전송하는 트레이닝 단계;
    부호화 과정에서 상기 학습된 인코더 신경망을 추론 엔진에 적용하여, 입력되는 이미지 또는 비디오를 부호화하여 특성 벡터(feature vector)를 생성하는 부호화 단계; 및
    복호화 과정에서 상기 학습된 디코더 신경망을 추론 엔진에 적용하여, 상기 부호화 과정에서 생성된 상기 특성 벡터를 복호화하는 복호화 단계를 포함하는 것을 특징으로 하는 DNN 기반 이미지 또는 비디오 코딩을 위한 방법.
KR1020180138747A 2018-07-05 2018-11-13 코덱 단위의 dnn 기반 이미지 또는 비디오 코딩을 위한 시스템 및 방법 KR20200005403A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180078170 2018-07-05
KR20180078170 2018-07-05

Publications (1)

Publication Number Publication Date
KR20200005403A true KR20200005403A (ko) 2020-01-15

Family

ID=69156644

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020180138747A KR20200005403A (ko) 2018-07-05 2018-11-13 코덱 단위의 dnn 기반 이미지 또는 비디오 코딩을 위한 시스템 및 방법
KR1020180138737A KR20200005402A (ko) 2018-07-05 2018-11-13 도구 단위의 dnn 기반 이미지 또는 비디오 코딩을 위한 시스템 및 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020180138737A KR20200005402A (ko) 2018-07-05 2018-11-13 도구 단위의 dnn 기반 이미지 또는 비디오 코딩을 위한 시스템 및 방법

Country Status (1)

Country Link
KR (2) KR20200005403A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112911338A (zh) * 2021-01-28 2021-06-04 山东大学 一种基于编码解码网络的交通场景描述方法及系统
KR102308416B1 (ko) * 2020-04-20 2021-10-01 한양대학교 산학협력단 동영상 코덱 판별 방법 및 장치

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220147641A (ko) * 2020-02-28 2022-11-03 엘지전자 주식회사 영상 특징 정보 시그널링을 위한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
CN115720666A (zh) * 2020-06-25 2023-02-28 英迪股份有限公司 用于神经网络的压缩和训练的方法及装置
FR3137809A1 (fr) * 2022-07-08 2024-01-12 Orange Codage et décodage de données audio et/ou vidéo

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180052651A (ko) 2015-09-03 2018-05-18 미디어텍 인크. 비디오 코딩에서의 신경망 기반 프로세싱의 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180052651A (ko) 2015-09-03 2018-05-18 미디어텍 인크. 비디오 코딩에서의 신경망 기반 프로세싱의 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102308416B1 (ko) * 2020-04-20 2021-10-01 한양대학교 산학협력단 동영상 코덱 판별 방법 및 장치
CN112911338A (zh) * 2021-01-28 2021-06-04 山东大学 一种基于编码解码网络的交通场景描述方法及系统

Also Published As

Publication number Publication date
KR20200005402A (ko) 2020-01-15

Similar Documents

Publication Publication Date Title
KR20200005403A (ko) 코덱 단위의 dnn 기반 이미지 또는 비디오 코딩을 위한 시스템 및 방법
US11240492B2 (en) Neural network based residual coding and prediction for predictive coding
Lombardo et al. Deep generative video compression
KR20200109904A (ko) Dnn 기반 이미지 또는 비디오 코딩을 위한 시스템 및 방법
JP2023542876A (ja) 特徴マップデータのシグナリング
US20230096567A1 (en) Hybrid neural network based end-to-end image and video coding method
JP2023547941A (ja) ニューラルネットワーク・ベースのビットストリームのデコードとエンコード
JP2023548507A (ja) セグメンテーション情報のシグナリングを用いた復号化
JP2023527663A (ja) ニューラル画像圧縮における画像置換を用いたコンテンツ適応型オンライン訓練
Han et al. Deep generative video compression
JP2023546666A (ja) ブロック単位の画像圧縮におけるデブロッキングのためのコンテンツ適応オンライン訓練方法および装置
WO2022116207A1 (zh) 编码方法、解码方法和编码装置、解码装置
KR20210131894A (ko) 훈련된 심층 신경망의 압축 장치 및 방법
WO2023122132A2 (en) Video and feature coding for multi-task machine learning
Duan et al. Efficient feature compression for edge-cloud systems
TW202324308A (zh) 圖像編解碼方法和裝置
US11496151B1 (en) Neural network model compression with block partitioning
KR20240050435A (ko) 조건부 이미지 압축
CN116939218A (zh) 区域增强层的编解码方法和装置
KR102368447B1 (ko) 동영상 코딩을 위한 훈련된 심층 인공 신경망의 압축 장치 및 방법
US11350134B2 (en) Encoding apparatus, image interpolating apparatus and encoding program
US11683515B2 (en) Video compression with adaptive iterative intra-prediction
WO2022147745A1 (zh) 编码方法、解码方法和编码装置、解码装置
Le Still image coding for machines: an end-to-end learned approach
KR20240071400A (ko) 가변 보조 입력을 이용하는 트랜스포머 기반 신경망