KR102285064B1 - 은닉 변수를 이용하는 영상 및 신경망 압축을 위한 방법 및 장치 - Google Patents

은닉 변수를 이용하는 영상 및 신경망 압축을 위한 방법 및 장치 Download PDF

Info

Publication number
KR102285064B1
KR102285064B1 KR1020180130680A KR20180130680A KR102285064B1 KR 102285064 B1 KR102285064 B1 KR 102285064B1 KR 1020180130680 A KR1020180130680 A KR 1020180130680A KR 20180130680 A KR20180130680 A KR 20180130680A KR 102285064 B1 KR102285064 B1 KR 102285064B1
Authority
KR
South Korea
Prior art keywords
hidden variable
components
neural network
component
hidden
Prior art date
Application number
KR1020180130680A
Other languages
English (en)
Other versions
KR20190049552A (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 US16/760,609 priority Critical patent/US11477468B2/en
Priority to PCT/KR2018/013013 priority patent/WO2019088657A1/ko
Publication of KR20190049552A publication Critical patent/KR20190049552A/ko
Application granted granted Critical
Publication of KR102285064B1 publication Critical patent/KR102285064B1/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/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
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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
    • 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
    • G06N3/045Combinations of networks
    • 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
    • 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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • 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/124Quantisation
    • 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/136Incoming video signal characteristics or properties

Landscapes

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

Abstract

은닉 변수를 이용하는 영상 압축을 위한 방법 및 장치가 제공된다. 은닉 변수의 복수의 성분들은 중요도의 순서로 정렬될 수 있다. 이러한 정렬을 통해 복수의 성분들 중 일부의 성분의 특징 정보들 만이 사용되는 경우에, 재구축된 영상의 품질이 향상될 수 있다. 이러한 중요도의 순서로 정렬된 은닉 변수를 생성하기 위해, 다양한 방식의 학습이 수행될 수 있다. 또한, 은닉 변수로부터 중요도가 낮은 정보가 제거될 수 있으며, 양자화와 같은 처리가 은닉 변수에 적용될 수 있다. 이러한 제거 및 처리에 의해 은닉 변수에 대한 데이터의 양이 감소될 수 있다.

Description

은닉 변수를 이용하는 영상 및 신경망 압축을 위한 방법 및 장치{METHOD AND APPARATUS FOR IMAGE AND NEURAL NETWORK COMPRESSION USING LATENT VARIABLE}
아래의 실시예들은 영상 압축을 위한 방법 및 장치에 관한 것으로 보다 상세히는 은닉 변수를 이용하는 영상 압축을 위한 방법 및 장치가 개시된다.
초고해상도 및 고품질의 영상에 대한 수요가 다양한 응용 분야에서 증가하고 있다. 영상이 초고해상도 및 고품질이 될수록 전송되는 영상의 데이터 량이 증가하고, 영상의 데이터를 저장 및 전송하는 비용 또한 상승한다는 문제가 발생한다.
영상이 초고해상도 및 고품질이 됨에 따라 발생하는 이러한 문제들을 해결하기 위해 고효율의 영상 인코딩 및/또는 디코딩 기술이 요구된다.
종래의 영상 인코딩 및/또는 디코딩 알고리즘의 성능의 개선을 위한 복잡도가 기하급수적으로 증가하고, 성능 증가폭은 점차 줄어들고 있다. 이에 딥러닝(deep-learning) 기반의 신경망(neural network)을 이용한 비디오 인코딩 및/또는 디코딩에 대한 연구가 시작되고 있으며, 신경망의 한 유형인 오토인코더(autoencoder) 기반의 압축 기술이 주로 연구되고 있다.
오토인코더에 기반하는 영상 압축 용 신경망은 인코더 신경망 및 디코더 신경망으로 구성된다. 인코더 신경망은 영상을 입력으로 수신하고, 병목(bottleneck)이라고 불리우는 보다 낮은 차원의 은닉 변수를 생성한다. 디코더 신경망은 은닉 변수를 입력으로 수신하고, 수신된 은닉 변수를 사용하여 영상을 재구축(reconstruct)한다.
신경망 프루닝(pruning)은 파라미터의 크기를 감소시킴으로써 네트워크의 실행 속도를 빠르게 하는 신경망 압축 방식이며, 파라미터의 크기가 감소되더라도 신경망의 성능이 최대한 유지될 수 있도록 하는 기술이다.
나아가, 다양한 분야에 있어서, 신경망의 복잡도 및 성능은 서로 간에 상쇄(trade-off) 관계를 가지며, 신경망의 적용 목적 및 환경에 따라 요구되는 성능 대 복잡도의 비율이 달라질 수 있다. 일 예로 영상 및 비디오 압축의 경우에 있어서, 율 및 왜곡(말하자면, 요구되는 비트량 및 재구축된 영상의 화질)이 서로 간에 상쇄 관계를 가지며, 영상 및 비디오 압축의 응용 분야에 따라서 상이한 성능이 요구될 수 있다. 신경망 프루닝 방법을 이용하여 하나의 네트워크로부터 다양한 성능들 및 복잡도들의 신경망들이 유도될 수 있다.
일 실시예는 정렬된 은닉 변수를 이용하여 영상에 대한 인코딩 및/또는 디코딩을 수행하는 장치 및 방법을 제공할 수 있다.
일 실시예는 정렬된 은닉 변수를 이용하여 신경망 프루닝을 수행하는 장치 및 방법을 제공할 수 있다.
일 측에 있어서, 은닉 변수를 획득하는 단계; 및 상기 은닉 변수와 관련된 선택 또는 처리를 수행하는 단계를 포함하고, 상기 은닉 변수의 복수의 성분들은 특정된 순서로 정렬된 처리 방법이 제공된다.
상기 복수의 성분들은 중요도의 순서로 정렬될 수 있다.
상기 은닉 변수는 미리 학습된 인코더 신경망을 통하여 획득될 수 있다.
신경망의 학습에 있어서의 손실은 재구축 손실 및 희소 패널티를 포함할 수 있다.
상기 희소 패널티는 상기 은닉 변수의 복수의 성분들의 값들의 가중치가 부여된 합일 수 있다.
상기 복수의 성분들의 각 성분에게 부여된 상기 가중치는 상기 각 성분이 표현하는 특징 정보가 학습을 위해 사용된 입력 영상들에서 이용되는 빈도와 관련될 수 있다.
복수의 학습 단계들로 이루어지는 신경망의 학습에 있어서, 복수의 학습 단계들의 각 학습 단계마다 상기 은닉 변수의 복수의 성분들 중 일부의 상위 인덱스의 성분의 요소만이 활성화될 수 있다.
상기 활성화되는 일부의 상위 인덱스의 성분들의 개수는 랜덤으로 결정될 수 있다.
상기 신경망의 학습에 있어서의 손실은 재구축 손실일 수 있다.
상기 은닉 변수의 복수의 성분들의 각 성분의 활성화 여부를 조정함으로써 상기 각 성분이 재구축 손실의 크기에 영향을 미치는 확률이 조정될 수 있다.
상기 선택은 상기 은닉 변수로부터 영상의 재구축에 있어서 중요도가 낮은 정보를 제거하는 것일 수 있다.
상기 처리는 상기 은닉 변수의 복수의 성분들 중 특정된 성분을 제거하여 상기 은닉 변수에 대한 데이터의 양을 감소시키는 것일 수 있다.
상기 특정된 성분은 가장 낮은 중요도를 갖는 하나 이상의 성분일 수 있다.
상기 처리는 상기 은닉 변수에 대한 양자화일 수 있다.
다른 일 측에 있어서, 은닉 변수가 적용된 디코더 신경망을 사용하여 재구축된 영상을 생성하는 단계를 포함하고, 상기 은닉 변수의 복수의 성분들은 특정된 순서로 정렬된 처리 방법이 제공된다.
상기 복수의 성분들은 중요도의 순서로 정렬될 수 있다.
상기 처리 방법은, 은닉 변수 생성 정보를 사용하여 상기 은닉 변수를 생성하는 단계를 더 포함할 수 있다.
상기 재구축된 영상은 상기 은닉 변수의 복수의 성분들 중 상위의 일부 성분들의 특징 정보만을 사용하여 생성될 수 있다.
상기 복수의 성분들의 각 성분의 순위는 상기 각 성분의 성분 인덱스를 기준으로 결정될 수 있다.
또 다른 일 측에 있어서, 비트스트림을 저장하는 컴퓨터 판독 가능한 기록매체가 제공된다.
상기 비트스트림은, 은닉 변수 생성 정보를 포함할 수 있다.
상기 은닉 변수 정보를 사용하여 은닉 변수가 생성될 수 있다.
상기 은닉 변수가 적용된 디코더 신경망을 사용하여 재구축된 영상이 생성될 수 있다.
상기 은닉 변수의 복수의 성분들은 특정된 순서로 정렬될 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 장치, 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
정렬된 은닉 변수를 이용하여 영상에 대한 인코딩 및/또는 디코딩을 수행하는 장치 및 방법이 제공된다.
정렬된 은닉 변수를 이용하여 신경망 프루닝을 수행하는 장치 및 방법이 제공된다.
도 1은 일 예에 따른 입력 영상, 복원 영상 및 은닉 변수 간의 관계를 도시한다.
도 2는 일 실시예에 따른 인코더의 구조도이다.
도 3는 일 실시예에 따른 디코더의 구조도이다.
도 4는 일 실시예에 따른 인코딩 방법의 흐름도이다.
도 5는 일 실시예에 따른 디코딩 방법의 흐름도이다.
도 6은 일 실시예에 따른 은닉 변수를 중요도의 순서로 정렬하기 위한 학습 방법을 나타낸다.
도 7은 일 예에 따른 희소 패널티를 나타낸다.
도 8은 일 실시예에 따른 은닉 변수를 중요도의 순서로 정렬하기 위한 학습 방법을 나타낸다.
도 9은 일 실시예에 따른 인코더를 구현하는 전자 장치를 도시한다.
도 10은 일 실시예에 따른 디코더를 구현하는 전자 장치를 도시한다.
도 11은 일 실시예에 따른 신경망 프루닝 방법을 나타낸다.
도 12는 일 예에 따른 신경망 프루닝 방법이 적용된 하나의 학습된 신경망에 기반하여 다양한 성능의 신경망을 제공하는 방법을 도시한다.
후술하는 예시적 실시예들에 대한 상세한 설명은, 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 실시예를 실시할 수 있기에 충분하도록 상세히 설명된다. 다양한 실시예들은 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 실시예의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 예시적 실시예들의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다.
도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
실시예에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 실시예에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않으며, 추가적인 구성이 예시적 실시예들의 실시 또는 예시적 실시예들의 기술적 사상의 범위에 포함될 수 있음을 의미한다. 어떤 구성요소(component)가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기의 2개의 구성요소들이 서로 간에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 상기의 2개의 구성요소들의 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
제1 및 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기의 구성요소들은 상기의 용어들에 의해 한정되어서는 안 된다. 상기의 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하여 지칭하기 위해서 사용된다. 예를 들어, 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
또한, 실시예들에 나타나는 구성요소들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성요소가 분리된 하드웨어나 하나의 소프트웨어 구성 단위로만 이루어짐을 의미하지 않는다. 즉, 각 구성요소는 설명의 편의상 각각의 구성요소로 나열된 것이다. 예를 들면, 구성요소들 중 적어도 두 개의 구성요소들이 하나의 구성요소로 합쳐질 수 있다. 또한, 하나의 구성요소가 복수의 구성요소들로 나뉠 수 있다. 이러한 각 구성요소의 통합된 실시예 및 분리된 실시예 또한 본질에서 벗어나지 않는 한 권리범위에 포함된다.
또한, 일부의 구성요소는 본질적인 기능을 수행하는 필수적인 구성요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성요소일 수 있다. 실시예들은 실시예의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 예를 들면, 단지 성능 향상을 위해 사용되는 구성요소와 같은, 선택적 구성요소가 제외된 구조 또한 권리 범위에 포함된다.
이하에서는, 기술분야에서 통상의 지식을 가진 자가 실시예들을 용이하게 실시할 수 있도록 하기 위하여, 첨부된 도면을 참조하여 실시예들을 상세히 설명하기로 한다. 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
이하에서, 용어 "은닉 변수(latent variable)", "은닉 벡터(latent vector)", "히든 변수(hidden variable)" 및 "히든 벡터(hidden vector)"는 동일 및/또는 유사한 의미로 사용될 수 있으며, 서로 간에 대체될 수 있다.
이하에서, 용어 "차원(dimension)" 및 "성분(component)"은 동일 및/또는 유사한 의미로 사용될 수 있으며, 서로 간에 대체될 수 있다.
인공 신경망이 다양한 분야에서 우수한 성능을 보임에 따라 영상 압축 분야에서도 점차 인공 신경망을 기반으로 하는 압축 기술에 대한 연구가 이루어지고 있다. 연구가 이루어지는 하나의 분야가 컨볼루셔널 오토인코더(convolutional autoencoder)를 이용한 영상 압축 방식이다. 오토인코더는 입력 공간의 데이터를 더 적은 차원의 매니폴드(manifold) 공간으로 매핑하는 역할을 수행한다. 이와 같은 매칭을 포함하는 과정을 통해 더 적은 차원의 공간으로 줄어든 은닉 변수 데이터는 양자화(quantization) 및 엔트로피 코딩의 과정들을 통해 비트스트림으로 압축된다. 즉, 기존의 영상 코덱의 구조에 비교하였을 때, 컨볼루셔널 오토인코더는 일종의 변환(transform) 기능을 담당하는 것으로 간주될 수 있다. 기존의 영상 코덱에서는 높은 에너지 응축 특성(energy compaction property)를 제공하는 이진 코사인 변환(Discrete Cosine Transform; DCT) 방식이 주로 사용되었다. 그러나, DCT는 입력 영상의 채널들 간의 상관 관계를 고려하지 않기 때문에, 에너지 응축 측면에 있어서 비효율이 발생하였다. 실시예들에서는 컨볼루셔널 오토인코더에 기반한 인공 신경망을 이용하여, 기존의 2D DCT에 비해 더 우수한 에너지 응축 성능을 제공하는, 변환 방법이 설명된다. 이러한 변환 방법은 변환 오토인코더(transformative autoencoder)라고 명명될 수 있다.
도 1은 일 예에 따른 입력 영상, 복원 영상 및 은닉 변수 간의 관계를 도시한다.
오토 인코더는 입력 영상 데이터를 은닉 변수 공간으로 변환하는 인공 신경망일 수 있다. 변환된 은닉 변수의 계수들이 에너지 응축 특성을 가짐에 따라, 변환된 은닉 변수의 계수들로 인해, 보다 적은 성분으로 영상 정보가 표현될 수 있다.
은닉 변수의 성분은 은닉 변수를 구성하는 하나의 값일 수 있다. 또는, 은닉 변수의 성분은 동일한 특징 필터로부터 획득된 값들의 집합일 수 있다. 은닉 변수의 성분이 집합인 경우, 성분을 식별하는 인덱스는 집합들로부터 특정한 집합을 식별하기 위한 인덱스일 수 있다. 예를 들면, 신경망이 컨볼루션 레이어(convolution layer)를 사용하여 구성된 경우, 성분은 은닉 변수의 채널을 의미할 수 있고, 성분 인덱스는 채널 인덱스를 나타낼 수 있다.
종래의 오토인코더에 기반한 영상 압축 기술은 차원 축소의 측면에서 강점을 가질 수 있다. 그러나, 종래의 오토인코더에 기반한 영상 압축 기술은 은닉 변수 내의 각 성분의 중요도를 고려하지 못할 수 있다.
즉, 학습된 신경망을 통해 영상을 인코딩하는 경우, 인코더 신경망의 학습의 결과인 은닉 변수의 각 구성요소가 재구축된 영상에 어느 정도로 중요한 영향을 미치는지가 파악되지 못할 수 있다. 반면, 재구축된 영상에 미치는 중요도에 기반하여 은닉 변수가 정렬되도록 학습이 수행될 경우, 이러한 중요도에 기반하여 선택적으로 은닉 변수를 이용함으로써 영상 압축 효율성이 증대될 수 있다.
도 1에서는, 오토 인코더의 은닉 변수가 도시되었다. 은닉 변수는 중요도의 순서로 정렬될 수 있다.
인코더 신경망은 입력 영상을 수신할 수 있고, 입력 영상의 특징 정보를 추출할 수 있다. 인코더 신경망은 추출된 특징 정보에 기반하여 은닉 변수를 구성할 수 있다. 디코더 신경망은 은닉 변수를 수신할 수 있고, 수신된 은닉 변수를 사용하여 영상을 재구축할 수 있다. 디코더 신경망은 재구축된 영상을 출력할 수 있다.
은닉 변수는 N 개의 성분들로 구성될 수 있다. N 개의 성분들을 갖는 은닉 변수를 구성하는 각각의 성분은 입력 영상에 대한 고유의 특징 정보를 나타낼 수 있다. 특징 정보는 인코더 신경망을 통해 학습된 밝기, 색상 및 형상 등 입력 영상의 다양한 특징을 나타낼 수 있다.
정렬된 은닉 변수의 성분들에 있어서, 성분의 인덱스가 낮을수록 성분이 영상을 재구축함에 있어서 중요한 특징 정보를 포함하고 있다고 가정될 수 있다. 예를 들면, 휴먼 비주얼 시스템(Human Visual System; HVS)에서 중요한 것으로 간주되는 저주파 성분의 특징 정보는 낮은 인덱스를 갖는 성분에 의해 표현될 수 있다. 또한, 성분의 인덱스가 높을수록 고주파 성분의 특징 정보를 표현할 수 있다. 말하자면, 낮은 인덱스를 갖는 성분이 더 상위의 성분으로 간주될 수 있다.
DCT 변환 방식이 사용될 경우, 입력이 DC 성분에 가까울수록 계수의 값이 높아질 수 있다. 이러한 DCT 변환 방식과 유사하게, 오토 인코더는 영상의 재구축에 있어서 큰 영향을 미치는 정보일수록 상기의 정보를 은닉 변수의 인덱스를 기준으로 더 상위의 성분에 집중시킬 수 있다.
신경망의 학습 방법에 따라 중요도에 따라서 정렬된 특징 정보가 다양하게 학습될 수 있다.
도 2는 일 실시예에 따른 인코더의 구조도이다.
인코더(200)는 입력 영상을 수신할 수 있고, 비트스트림을 생성할 수 있다.
인코더(200)는 특징 추출부(210), 은닉 변수 선택부(220) 및 인코딩부(230)를 포함할 수 있다.
특징 추출부(210), 은닉 변수 선택부(220) 및 인코딩부(230)의 기능 및 동작 등에 대해서는 아래에서 도 4 등을 참조하여 설명된다.
도 3는 일 실시예에 따른 디코더의 구조도이다.
디코더(300)는 비트스트림을 수신할 수 있고, 재구축된 영상을 생성할 수 있다.
디코더(300)는 디코딩부(310), 은닉 변수 복원부(320) 및 영상 재구축부(330)를 포함할 수 있다.
디코딩부(310), 은닉 변수 복원부(320) 및 영상 재구축부(330)의 기능 및 동작 등에 대해서는 아래에서 도 5 등을 참조하여 설명된다.
도 4는 일 실시예에 따른 인코딩 방법의 흐름도이다.
인코더(200)는 입력 영상을 수신할 수 있고, 입력 영상에 대해 인코딩을 수행하여 인코딩된 비트스트림을 생성할 수 있다.
단계(410)에서, 특징 추출부(210)는 은닉 변수를 획득할 수 있다.
인코더(200)는 인코더 신경망을 포함할 수 있다. 또는, 인코더(200)는 인코더 신경망의 학습을 운용할 수 있다. 인코더(200)는 입력 영상을 사용하여 인코더 신경망의 학습을 수행할 수 있다. 인코더 신경망의 학습에 따라 인코더 신경망의 은닉 변수가 구성될 수 있다.
특징 추출부(210)는 미리 학습된 인코더 신경망을 통하여 은닉 변수를 획득할 수 있다. 획득된 은닉 변수는 특정된 순서로 정렬된 것일 수 있다.
은닉 변수는 N 개의 성분들을 가질 수 있다. 특정된 순서로 정렬된 은닉 변수는 은닉 변수의 N 개의 성분들이 특정된 순서로 정렬된 것을 의미할 수 있다. 또는, 은닉 변수를 특정된 순서로 정렬한다는 것은 은닉 변수의 N 개의 성분들을 특정된 순서로 정렬한다는 것을 의미할 수 있다.
예를 들면, 특정된 순서는 중요도의 순서일 수 있다. 예를 들면, 특징 추출부(210)는 미리 학습된 인코더 신경망을 통하여 중요도의 순서로 정렬된 은닉 변수를 획득할 수 있다.
단계(420)에서, 은닉 변수 선택부(220)는 은닉 변수와 관련된 선택 또는 처리를 수행할 수 있다.
은닉 변수 선택부(220)는 은닉 변수와 관련된 선택 또는 처리를 수행함으로써 은닉 변수 생성 정보를 생성할 수 있다. 은닉 변수 생성 정보는 상기의 선택 또는 처리가 적용된 은닉 변수를 생성하기 위해 사용되는 정보일 수 있다. 은닉 변수 생성 정보의 형식은 은닉 변수의 형식과는 다를 수 있다.
예를 들면, 은닉 변수 선택부(220)는 은닉 변수로부터 영상의 재구축에 있어서 중요도가 낮은 정보를 제거할 수 있다. 또는, 은닉 변수로부터 중요도가 높은 정보를 선별적으로 추출할 수 있다.
예를 들면, 은닉 변수 선택부(220)는 은닉 변수의 N 개의 성분들 중 특정된 성분을 제거하여 은닉 변수에 대한 데이터의 양을 감소시킬 수 있다. 특정된 성분은 낮은 중요도를 갖는 성분일 수 있다. 은닉 변수 선택부(220)는 은닉 변수의 N 개의 성분들 중 성분의 중요도가 낮은 순서로 M 개의 성분들을 제거할 수 있다. M은 N 보다 작은 정수일 수 있다. 또는, 은닉 변수 선택부(220)는 은닉 변수의 N 개의 성분들 중 가장 낮은 중요도를 갖는 하나 이상의 성분을 제거할 수 있다.
예를 들면, 중요도의 순서로 정렬된 은닉 변수는 에너지 응축 특성(energy compaction property)를 가질 수 있다. 은닉 변수 선택부(220)는 은닉 변수에 대한 양자화를 수행함으로써 은닉 변수로부터 낮은 에너지의 값을 제거할 수 있다.
단계(430)에서, 인코딩부(230)는 엔트로피 인코딩을 수행할 수 있다.
예를 들면, 인코딩부(230)는 은닉 변수 선택부(220)로부터의 출력에 대해 엔트로피 인코딩을 수행함으로써 인코딩된 비트스트림을 생성할 수 있다.
은닉 변수 선택부(220)로부터의 출력은 은닉 변수 생성 정보를 포함할 수 있다.
인코딩된 비트스트림은 인코딩된 영상의 정보를 포함할 수 있다.
단계(430)는 선택적일 수 있다.
도 5는 일 실시예에 따른 디코딩 방법의 흐름도이다.
디코더(300)는 인코딩된 비트스트림을 수신할 수 있고, 인코딩된 비트스트림을 사용하는 디코딩을 수행하여 재구축된 영상을 생성할 수 있다.
단계(510)에서, 디코딩부(310)는 인코딩된 비트스트림에 대해 엔트로피 디코딩을 수행함으로써 은닉 변수 복원부(320)로의 입력을 생성할 수 있다.
은닉 변수 복원부(320)로의 입력은 은닉 변수 생성 정보를 포함할 수 있다.
단계(510)은 선택적일 수 있다.
단계(520)에서, 은닉 변수 복원부(320)는 은닉 변수 생성 정보를 사용하여 은닉 변수를 생성할 수 있다. 여기에서, 생성된 은닉 변수는 특정된 순서로 정렬된 은닉 변수일 수 있다.
전술된 것과 같이, 단계(420)에서는 은닉 변수와 관련된 선택 또는 처리에 의해 은닉 변수의 형식과는 다른 형식을 갖는 은닉 변수 생성 정보가 생성될 수 있다. 여기에서, 선택 또는 처리는 성분의 제거 및 양자화의 과정 등을 포함할 수 있다.
예를 들면, 은닉 변수 생성 정보를 사용하는 은닉 변수의 생성은 은닉 변수의 제거된 성분의 초기화 또는 복원(recover)을 포함할 수 있다. 또는, 은닉 변수의 생성은 양자화된 은닉 변수의 형태를 양자화 이전의 형태로 되돌리는 것을 포함할 수 있다.
은닉 변수 복원부(320)는 은닉 변수 정보를 사용하여 디코더(300)의 디코더 신경망에 의해 해석될 수 있는 은닉 변수를 생성할 수 있다. 예를 들면 은닉 변수 생성 정보는 은닉 변수 복원부(320)에 의해 은닉 변수의 형식으로 변경될 수 있다.
단계(530)에서, 영상 재구축부(330)는 복원된 은닉 변수를 디코더 신경망에 적용할 수 있고, 복원된 은닉 변수가 적용된 디코더 신경망을 사용하여 재구축된 영상을 생성할 수 있다.
재구축된 영상은 입력 영상과 최대한 유사한 영상일 수 있다.
도 6은 일 실시예에 따른 은닉 변수를 중요도의 순서로 정렬하기 위한 학습 방법을 나타낸다.
종래의 오토인코더는 입력 영상 및 재구축된 영상 간의 오차(즉, 재구축 손실)에 기반하여 신경망의 학습을 수행할 수 있다. 그러나, 단순한 재구축 손실에 기반한 학습을 수행하는 경우 은닉 변수의 성분들이 포함하는 특징 정보들은 중요도의 순서로 정렬되지 않을 수 있다. 은닉 변수의 성분들의 특징 정보들이 중요도의 순서로 정렬되지 않은 경우, 재구축된 영상의 화질에 큰 영향을 미치는 특징 정보를 포함하는 성분과, 작은 영향을 미치는 특징 정보를 포함하는 성분이 랜덤하게 배열될 수 있다.
이러한 은닉 변수의 정렬 여부에 의한 영향은, 은닉 변수의 성분들 중 상위의 일부 성분들의 특징 정보만을 사용하여 재구축된 영상을 생성할 때 분명하게 드러날 수 있다.
일 실시예에서, 재구축된 영상의 생성은 은닉 변수의 복수의 성분들 중 상위의 일부의 성분들 만을 이용하여 수행될 수 있다. 복수의 성분들은 N 개일 수 있다. 여기에서, 복수의 성분들의 각 성분의 순위(즉, 상위 및 하위)는 성분의 성분 인덱스를 기준으로 결정될 수 있다. 예를 들면, 성분의 성분 인덱스가 더 낮을수록 더 상위의 성분일 수 있다.
은닉 변수의 모든 정보(즉, 전체의 성분들의 특징 정보들)가 재구축된 영상의 생성을 위해 사용되는 경우, 정렬된 은닉 변수를 사용하여 생성된 재구축된 영상의 품질 및 정렬되지 않은 은닉 변수를 사용하여 생성된 재구축된 영상의 품질은 거의 동일할 수 있다.
반면, 은닉 변수의 정보의 일부(즉, 전체의 성분들 중 상위의 일부의 성분들의 특징 정보들)가 재구축된 영상의 생성을 위해 사용되는 경우, 정렬된 은닉 변수를 사용하여 생성된 재구축된 영상의 품질은 정렬되지 않은 은닉 변수를 사용하여 생성된 재구축된 영상의 품질에 비해 더 높을 수 있다. 특히, 재구축된 영상의 생성을 위해 사용되는 성분들의 개수가 더 적을수록 정렬된 은닉 변수를 사용하여 생성된 재구축된 영상의 품질 및 정렬되지 않은 은닉 변수를 사용하여 생성된 재구축된 영상의 품질 간의 차이는 더 커질 수 있다.
정렬되지 않은 은닉 변수가 사용되는 경우, 재구축된 영상의 품질이 재구축에 이용된 성분들의 개수에 따라 선형적으로 증가하는 특징이 나타날 수 있다. 이 때, 우수한 품질의 재구축한 영상이 획득되기 위해서는 은닉 변수의 성분들의 전체가 이용되어야 할 수 있다.
반면, 정렬된 은닉 변수가 사용되는 경우, 재구축된 영상의 품질에 큰 영향을 미치는 특징 정보일수록 은닉 변수의 더 상위의 성분에 포함될 수 있다. 따라서, 정렬된 은닉 변수가 사용되는 경우, 보다 적은 개수의 성분들의 특징 정보들을 이용하여 보다 높은 품질의 재구축된 영상이 획득될 수 있다.
도 6에서는 은닉 변수의 복수의 성분들을 중요도의 순서로 정렬하기 위한 학습 방법이 도시되었다.
실시예에서, 신경망의 학습에 있어서의 손실은 재구축 손실(reconstruction loss) 및 차등적인 희소 패널티(sparsity penalty)를 포함할 수 있다. 말하자면, 인코더 신경망 및 디코더 신경망을 사용하는 학습에 있어서 손실은 재구축 손실 및 차등적인 희소 패널티를 포함할 수 있다. 여기에서, 재구축 손실은 입력 영상 및 재구축된 영상 간의 오차일 수 있다.
도 7은 일 예에 따른 희소 패널티를 나타낸다.
도 7에서는 N 개의 성분들을 갖는 은닉 변수 Z가 도시되었다.
은닉 변수 Z가 복수의 성분들을 가질 때, 희소 패널티는 은닉 변수 Z의 복수의 성분들의 값들의 가중치가 부여된 합(weighted-sum)일 수 있다. 말하자면, 은닉 변수 Z의 복수의 성분들에 대하여 차등적인 가중치들이 각각 부여될 수 있고, 복수의 성분들의 값들 및 가중치들을 각각 곱합으로써 값들이 획득될 수 있다. 획득된 값들의 합이 희소 패널티로서 이용될 수 있다.
복수의 성분들의 각 성분에게 부여된 가중치는, 각 성분이 표현하는 특징 정보가 학습을 위해 사용된 입력 영상들에서 이용되는 빈도와 관련될 수 있다. 예를 들면, 복수의 성분들의 각 성분에게 부여된 가중치는, 각 성분이 표현하는 특징 정보가 학습을 위해 사용된 입력 영상들에서 이용되는 빈도에 대응할 수 있다. 또는, 복수의 성분들의 각 성분에게 부여된 가중치는, 각 성분이 표현하는 특징 정보가 학습을 위해 사용된 입력 영상들에서 이용되는 빈도에 비례할 수 있다.
예를 들면, 차등적인 가중치의 값이 낮을수록, 가중치가 적용되는 성분이 다양한 입력 영상들에 대해 자주 이용되는 특징 정보를 표현할 수 있도록 신경망이 학습될 수 있다. 또한, 차등적인 가중치의 값이 높을수록, 가중치가 적용되는 성분이 다양한 입력 영상들에 대해 드물게 이용되는 특징 정보를 표현할 수 있도록 신경망이 학습될 수 있다.
도 8은 일 실시예에 따른 은닉 변수를 중요도의 순서로 정렬하기 위한 학습 방법을 나타낸다.
실시예에서는, 재구축 손실만을 이용하는 학습이 수행될 수 있다. 말하자면, 실시예의 신경망의 학습에 있어서의 손실은 재구축 손실일 수 있다.
오토 인코더는 학습을 수행할 수 있다. 여기에서, 오토 인코더는 인코더(200)의 적어도 일부 또는 디코더(300)의 적어도 일부일 수 있다. 예를 들면, 오토 인코더는 특징 추출부(210) 또는 디코딩부(310)에 포함될 수 있다. 또는, 오토 인코더는 인코더(200) 및 디코더(300)와는 별개의 장치일 수 있다. 오토 인코더는 학습의 결과를 인코더(200) 및 디코더(300)에게 전송할 수 있다. 학습의 결과는 은닉 변수를 포함할 수 있다.
예를 들면, 학습의 손실 함수는 입력 영상의 패치 및 복원 영상의 패치 간의 l1 거리를 이용하여 계산될 수 있다.
복수의 학습 단계들로 이루어지는 인코더 신경망 및 디코더 신경망을 사용하는 학습에 있어서, 복수의 학습 단계들의 각 학습 단계마다 은닉 변수 Z의 복수의 성분들 중 일부의 상위의 성분들의 요소만이 활성화될(activated) 수 있다. 말하자면, 각 학습의 단계마다 은닉 변수 Z의 복수의 성분들 중 임의의 일부의 하위의 성분들의 요소는 비활성화될(deactivated) 수 있다. 활성화되는 일부의 상위의 성분들의 개수는 랜덤으로 결정될 수 있다.
즉, 한 단계의 학습이 수행될 때, 은닉 변수 Z의 전체의 성분들 중 임의의 일부의 상위 인덱스의 성분들이 활성화되고, 나머지의 성분들은 비활성화될 수 있다. 또한, 한 단계의 학습이 수행될 때, 활성화된 성분들과 연결된 신경망 가중치 값에 대해서만 학습이 이루어질 수 있다.
도 8에서는, N 개의 학습 단계들에 의한 학습이 이루어지면서, 각 단계에서 임의의 개수의 상위 인덱스의 성분들 만이 활성화되는 것이 도시되었다. 도 8에서는, 아래에 위치한 성분일수록 상위 인덱스의 성분인 것으로 도시되었다.
도 8에서, 상위의 성분일수록 더 높은 빈도로 학습에 참여할 수 있고, 하위의 성분일수록 더 낮은 학습에 참여할 수 있다.
은닉 변수의 복수의 성분들의 각 성분의 활성화 여부를 조정함으로써 각 성분이 재구축 손실의 크기에 영향을 미치는 확률이 조정될 수 있다.
전술된 것과 같은 방식으로 학습이 수행되는 경우, 은닉 변수의 상위 인덱스의 성분의 벡터 요소는 높은 확률로 재구축 손실의 크기에 영향을 줄 수 있다. 따라서, 은닉 변수의 상위 인덱스의 성분의 벡터 요소는 상대적으로 더 중요한 특징 정보를 표현할 수 있다. 반면, 은닉 변수의 하위 인덱스의 성분의 벡터 요소는 낮은 확률로 재구축 손실의 크기에 영향을 줄 수 있고, 상대적으로 덜 중요한 특징 정보를 표현할 수 있다.
전술된 것과 같이, 오토 인코더의 은닉 변수의 성분들 중 더 상위의 인덱스를 갖는 성분일수록 영상의 재구축에 있어서 더 중요한 정보를 포함할 수 있다.
모델 학습을 위해, 은닉 변수의 N 개의 성분들 중 영상의 재구축에 관여하는 상위의 성분들의 개수가 확률 변수 M을 사용하여 정의될 수 있다. 임의의 상위의 M 개의 성분들이 이용되더라도, 해당되는 M 개의 성분들이 재구축에 요구되는 최대한의 정보를 포함힐 수 있다.
M의 값이 m인 경우, 영상의 재구축에 있어서 오토 인코더는 상위의 m 개의 성분들을 제외한 나머지의 성분들의 값을 '0'으로 간주할 수 있다. 이러한 경우, '0'으로 설정된 성분은 영상의 재구축에 영향을 주지 않을 수 있다. 따라서, m 개의 성분들이 이용되는 경우 오토 인코더는 은닉 변수의 성분들의 총 개수가 m인 오토 인코더로 간주될 수 있다.
은닉 변수의 성분들의 총 개수가 m인 이상적인 오토 인코더의 확률 분포가
Figure 112018107222872-pat00001
라고 가정될 수 있다. m 개의 성분들을 갖는 은닉 변수를 이용하는 오토 인코더의 확률 분포는 p(x|x,θ,m)일 수 있다. p(x|x,θ,m)의 기대 값의 최대 값은
Figure 112018107222872-pat00002
의 기대 값으로 간주될 수 있다.
Figure 112018107222872-pat00003
의 기대 값은 아래의 수식 1과 같이 표현될 수 있다.
[수식 1]
Figure 112018107222872-pat00004
수식 1에서, p(x)는 입력 영상 x의 분포를 의미할 수 있다. p(m)은 영상의 재구축에 이용되는 상위 성분의 개수의 사전 확률을 의미할 수 있다.
Figure 112018107222872-pat00005
를 최대화하기 위해 각각의 m에 대해 p(x|x,θ,m)이
Figure 112018107222872-pat00006
에 근접해야 할 수 있다.
아래에서 설명될 학습 과정은 파라미터 θ를 최적화하는 과정일 수 있다.
오토 인코더의 학습을 위해, 은닉 변수의 각 성분이 학습에 참여하는 빈도가 차등적으로 설정될 수 있다. 이러한 설정을 위해, 학습에 참여하는 성분의 개수인 m이 학습 스탭 별로 아래의 수식 2의 사전 확률에 따라서 샘플링될 수 있고, 은닉 변수의 성분들 중 상위의 m 개의 성분들만이 학습에 참여될 수 있다.
[수식 2]
Figure 112018107222872-pat00007
말하자면, 가장 중요한 정보를 포함해야 하는 첫 번째 성분은 항상 학습에 참여할 수 있고, 성분의 인덱스가 증가할수록 성분이 학습에 참여하는 빈도가 낮아질 수 있다.
m 번째 성분의 이후의 성분을 학습에서 배제하기 위해, 학습 시 m 개의 연속된 1들 과 N-m 개의 연속된 0들로 구성된 이진 마스크 및 은닉 변수의 요소-간(element-wise) 곱이 수행될 수 있다.
도 8에서는 표기의 간결성을 위해 은닉 변수의 성분들의 총 개수 N이 16인 것으로 도시되었다. 학습 스탭이 진행됨에 따라서 새로운 m이 샘플링될 수 있고, 샘플링된 m이 학습에 이용될 수 있다.
실시예에 있어서, 은닉 변수의 상위 성분이 재구축된 영상에 미치는 영항의 정도 및 은닉 변수의 하위 성분이 재구축된 영상에 미치는 영항의 정도는 서로 다를 수 있다. 말하자면, 은닉 변수의 성분이 더 상위의 성분일수록 상기의 성분이 재구축된 영상에 미치는 영향이 더 커질 수 있다.
은닉 변수의 성분이 재구축된 영상에 미치는 영향은 아래의 수식 3과 같이 표현될 수 있다.
[수식 3]
Figure 112018107222872-pat00008
수식 3에서, g i는 은닉 변수 zi 번째 성분인 z i가 오토 인코더의 출력인
Figure 112020111092280-pat00027
에 미치는 영향의 정도를 의미할 수 있다.
Figure 112020111092280-pat00009
Figure 112020111092280-pat00010
j 번째 채널 및 (k, l) 좌표들의 성분 값을 의미할 수 있다. c
Figure 112020111092280-pat00011
의 채널 수를 의미할 수 있다. w
Figure 112020111092280-pat00012
의 너비를 의미할 수 있다. h
Figure 112020111092280-pat00013
의 높이를 의미할 수 있다.
은닉 변수의 각 성분이 영상 재구축에 영향을 주는 정도는 서로 다를 수있다. 이러한 서로 다른 정도를 기준으로 하는 은닉 변수 신호에 대한 정규화를 수행하기 위해 zg의 요소-간 곱이 사용될 수 있다. 요소-간 곱에 의해 최종 변환 신호가 생성될 수 있다.
오토 인코더는 변환 신경망 및 역변환 신경망을 포함할 수 있다.
예를 들면, 변환 신경망은 8x8 크기의 적녹청(Red, Green, Blue; RGB) 영상 패치 x를 컨볼루션 레이어 및 완전 결합(Fully Connected; FC) 레이어를 이용하여 192 개의 은닉 변수들 z로 변환할 수 있다. 컨볼루션 레이어는 5 개의 레이어들을 가질 수 있다. 변환 신경망은 gz의 요소-간 곱을 통해 최종적인 변환된 신호를 획득될 수 있다. g는 성분들이 영상 재구축에 영향을 주는 정도들을 나타낼 수 있다.
역변환 신경망은 전술된 변환 신경망에 의한 변환 과정의 반대 과정을 통해 영상 패치 x에 대한 복원 영상 패치
Figure 112020111092280-pat00014
를 생성할 수 있다.
zg의 요소-간 곱은 학습에 있어서는 요구되지 않으므로, 학습 과정에서는 zg의 요소-간 곱을 생성하는 과정이 생략될 수 있다. 반면, 은닉 변수 z에 대한 이진 마스킹 작업은 학습 과정에서만 수행될 수 있으며, 오토 인코더에 대한 테스트에서는 적용되지 않을 수 있다.
도 9은 일 실시예에 따른 인코더를 구현하는 전자 장치를 도시한다.
인코더(200)는 도 9에서 도시된 전자 장치(900)로서 구현될 수 있다. 전자 장치(900)는 인코더(200)로서 동작하는 범용의 컴퓨터 시스템일 수 있다.
도 9에서 도시된 바와 같이, 전자 장치(900)는 처리부(910), 통신부(920), 메모리(930), 저장소(940) 및 버스(990) 중 적어도 일부를 포함할 수 있다. 처리부(910), 통신부(920), 메모리(930) 및 저장소(940) 등과 같은 전자 장치(900)의 구성요소들은 버스(990)를 통해 서로 간에 통신할 수 있다.
처리부(910)는 메모리(930) 또는 저장소(940)에 저장된 프로세싱(processing) 명령어(instruction)들을 실행하는 반도체 장치일 수 있다. 예를 들면, 처리부(910)는 적어도 하나의 하드웨어 프로세서(processor)일 수 있다.
처리부(910)는 전자 장치(900)의 동작을 위해 요구되는 작업을 처리할 수 있다. 처리부(910)는 실시예들에서 설명된 처리부(910)의 동작 또는 단계의 코드를 실행(execute)할 수 있다.
처리부(910)는 정보의 생성, 저장 및 출력을 수행할 수 있으며, 기타 전자 장치(900)에서 이루어지는 단계의 동작을 수행할 수 있다.
통신부(920)는 네트워크(999)에 연결될 수 있다. 전자 장치(900)의 동작을 위해 요구되는 데이터 또는 정보를 수신할 수 있으며, 전자 장치(900)의 동작을 위해 요구되는 데이터 또는 정보를 전송할 수 있다. 통신부(920)는 네트워크(999)를 통해 다른 장치로 데이터를 전송할 수 있고, 다른 장치로부터 데이터를 수신할 수 있다. 예를 들면, 통신부(920)는 네트워크 칩(chip) 또는 포트(port)일 수 있다.
메모리(930) 및 저장소(940)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리(930)는 롬(ROM)(931) 및 램(RAM)(932) 중 적어도 하나를 포함할 수 있다. 저장소(940)는 램, 플레시(flash) 메모리 및 하드 디스크(hard disk) 등과 같은 내장형의 저장 매체를 포함할 수 있고, 메모리 카드 등과 같은 탈착 가능한 저장 매체를 포함할 수 있다.
전자 장치(900)의 기능 또는 동작은 처리부(910)가 적어도 하나의 프로그램 모듈을 실행함에 따라 수행될 수 있다. 메모리(930) 및/또는 저장소(940)는 적어도 하나의 프로그램 모듈을 저장할 수 있다. 적어도 하나의 프로그램 모듈은 처리부(910)에 의해 실행되도록 구성될 수 있다.
전술된 인코더(200)의 특징 추출부(210), 은닉 변수 선택부(220) 및 인코딩부(230) 중 적어도 일부는 적어도 하나의 프로그램 모듈일 수 있다.
프로그램 모듈들은 운영 체제(Operating System), 어플리케이션 모듈, 라이브러리(library) 및 기타 프로그램 모듈의 형태로 전자 장치(900)에 포함될 수 있으며, 물리적으로는 여러 가지 공지의 기억 장치 상에 저장될 수 있다. 또한, 이러한 프로그램 모듈 중 적어도 일부는 전자 장치(900)와 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈들은 실시예에 따른 특정 동작 또는 특정 테스크(task)를 수행하거나 특정 추상 데이터 타입(abstract data type)을 실행하는 루틴(routine), 서브루틴(subroutine), 프로그램(program), 오브젝트(object), 컴포넌트(component) 및 데이터 구조(data structure) 등을 포괄할 수 있고, 이러한 것들에 제한되지는 않을 수 있다.
전자 장치(900)는 사용자 인터페이스(User Interface; UI) 입력 디바이스(950) 및 UI 출력 디바이스(960)를 더 포함할 수 있다. UI 입력 디바이스(950)는 전자 장치(900)의 동작을 위해 요구되는 사용자의 입력을 수신할 수 있다. UI 출력 디바이스(960)는 전자 장치(900)의 동작에 따른 정보 또는 데이터를 출력할 수 있다.
도 10은 일 실시예에 따른 디코더를 구현하는 전자 장치를 도시한다.
디코더(300)는 도 10에서 도시된 전자 장치(1000)로서 구현될 수 있다. 전자 장치(1000)는 디코더(300)로서 동작하는 범용의 컴퓨터 시스템일 수 있다.
도 10에서 도시된 바와 같이, 전자 장치(1000)는 처리부(1010), 통신부(1020), 메모리(1030), 저장소(1040) 및 버스(1090) 중 적어도 일부를 포함할 수 있다. 처리부(1010), 통신부(1020), 메모리(1030) 및 저장소(1040) 등과 같은 전자 장치(1000)의 구성요소들은 버스(1090)를 통해 서로 간에 통신할 수 있다.
처리부(1010)는 메모리(1030) 또는 저장소(1040)에 저장된 프로세싱(processing) 명령어(instruction)들을 실행하는 반도체 장치일 수 있다. 예를 들면, 처리부(1010)는 적어도 하나의 하드웨어 프로세서(processor)일 수 있다.
처리부(1010)는 전자 장치(1000)의 동작을 위해 요구되는 작업을 처리할 수 있다. 처리부(1010)는 실시예들에서 설명된 처리부(1010)의 동작 또는 단계의 코드를 실행(execute)할 수 있다.
처리부(1010)는 정보의 생성, 저장 및 출력을 수행할 수 있으며, 기타 전자 장치(1000)에서 이루어지는 단계의 동작을 수행할 수 있다.
통신부(1020)는 네트워크(1099)에 연결될 수 있다. 전자 장치(1000)의 동작을 위해 요구되는 데이터 또는 정보를 수신할 수 있으며, 전자 장치(1000)의 동작을 위해 요구되는 데이터 또는 정보를 전송할 수 있다. 통신부(1020)는 네트워크(1099)를 통해 다른 장치로 데이터를 전송할 수 있고, 다른 장치로부터 데이터를 수신할 수 있다. 예를 들면, 통신부(1020)는 네트워크 칩(chip) 또는 포트(port)일 수 있다.
메모리(1030) 및 저장소(1040)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리(1030)는 롬(ROM)(1031) 및 램(RAM)(1032) 중 적어도 하나를 포함할 수 있다. 저장소(1040)는 램, 플레시(flash) 메모리 및 하드 디스크(hard disk) 등과 같은 내장형의 저장 매체를 포함할 수 있고, 메모리 카드 등과 같은 탈착 가능한 저장 매체를 포함할 수 있다.
전자 장치(1000)의 기능 또는 동작은 처리부(1010)가 적어도 하나의 프로그램 모듈을 실행함에 따라 수행될 수 있다. 메모리(1030) 및/또는 저장소(1040)는 적어도 하나의 프로그램 모듈을 저장할 수 있다. 적어도 하나의 프로그램 모듈은 처리부(1010)에 의해 실행되도록 구성될 수 있다.
전술된 디코더(300)의 디코딩부(310), 은닉 변수 복원부(320) 및 영상 재구축부(330) 중 적어도 일부는 적어도 하나의 프로그램 모듈일 수 있다.
프로그램 모듈들은 운영 체제(Operating System), 어플리케이션 모듈, 라이브러리(library) 및 기타 프로그램 모듈의 형태로 전자 장치(1000)에 포함될 수 있으며, 물리적으로는 여러 가지 공지의 기억 장치 상에 저장될 수 있다. 또한, 이러한 프로그램 모듈 중 적어도 일부는 전자 장치(1000)와 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈들은 실시예에 따른 특정 동작 또는 특정 테스크(task)를 수행하거나 특정 추상 데이터 타입(abstract data type)을 실행하는 루틴(routine), 서브루틴(subroutine), 프로그램(program), 오브젝트(object), 컴포넌트(component) 및 데이터 구조(data structure) 등을 포괄할 수 있고, 이러한 것들에 제한되지는 않을 수 있다.
전자 장치(1000)는 사용자 인터페이스(User Interface; UI) 입력 디바이스(1050) 및 UI 출력 디바이스(1060)를 더 포함할 수 있다. UI 입력 디바이스(1050)는 전자 장치(1000)의 동작을 위해 요구되는 사용자의 입력을 수신할 수 있다. UI 출력 디바이스(1060)는 전자 장치(1000)의 동작에 따른 정보 또는 데이터를 출력할 수 있다.
도 11은 일 실시예에 따른 신경망 프루닝 방법을 나타낸다.
실시예에 따른 중요도에 기반하는 은닉 변수의 정렬 방법이 신경망 프루닝(pruning)을 위해 사용될 수 있다. 이 때, 신경망 프루닝을 수행하는 인코더(200)는 신경망 프루닝 장치 등으로 명명될 수 있다.
전술된 도 4의 단계(410)에서, 특징 추출부(210)는 은닉 변수를 획득할 수 있다. 획득된 은닉 변수는 중요도의 순서로 정렬될 수 있다.
전술된 도 4의 단계(420)에서, 은닉 변수와 관련된 처리는 신경망 프루닝일 수 있다.
신경망 프루닝은 신경망 상에서 낮은 중요도를 갖는 노드를 제거하는 것일 수 있다.
도 11에서 도시된 것과 같이, 신경망은 입력 레이어 및 출력 레이어를 가질 수 있고, 입력 레이어 및 출력 레이어 사이에 복수의 은닉 레이어들을 가질 수 있다. 도 11에서는, 예시적으로 2 개의 은닉 레이어들이 도시되었다.
도 11에서 및 후술될 도 12에서, 더 높은 중요도를 갖는 노드는 더 진한 명암으로 표시되었다.
하나의 레이어는 복수의 노드들을 포함할 수 있다. 신경망의 노드는 전술된 은닉 변수의 성분에 대응할 수 있다. 또는, 은닉 변수의 복수의 성분들은 신경망의 레이어의 노드들에 각각 대응할 수 있다. 예를 들면, 동일한 인덱스들을 갖는 신경망의 노드 및 은닉 변수의 성분은 서로 대응할 수 있다.
말하자면, 은닉 변수의 성분에 대하여 전술된 설명은 레이어의 노드에 적용될 수 있다.
실시예의 은닉 변수의 정렬은 복수의 계층들에 동시에 적용될 수 있다. 도 11에서, 2 개의 은닉 계층들의 각 노드의 명암은 노드의 학습에 따라서 정렬된 노드의 중요도를 나타낼 수 있다.
은닉 변수 선택부(220)는, 신경망의 노드들의 개수를 감소시키기 위해, 가장 낮은 중요도를 갖는 노드를 우선적으로 제거할 수 있다. 또는, 은닉 변수 선택부(220)는 은닉 레이어의 N 개의 노드들 중 노드의 중요도가 낮은 순서로 M 개의 노드들을 제거할 수 있다.
이러한 신경망 프루닝은 비디오 및 영상의 압축뿐만 아니라 다양한 용도의 신경망들에 적용될 수 있으며, 이러한 다양한 용도의 신경망들에 대하여 은닉 변수의 중요도의 순서의 정렬은 동일하게 적용될 수 있다.
도 12는 일 예에 따른 신경망 프루닝 방법이 적용된 하나의 학습된 신경망에 기반하여 다양한 성능의 신경망을 제공하는 방법을 도시한다.
전술된 도 4의 단계(420)에서, 은닉 변수 선택부(220)는 신경망 프루닝을 수행할 수 있다.
은닉 변수 선택부(220)는 파라미터를 정의함으로써 하나의 신경망으로부터 다양한 성능들 및 복잡도들을 갖는 다른 신경망들을 유도할 수 있다. 은닉 변수 선택부(220)는 신경망 프루닝의 프루닝 정도를 나타내는 파라미터를 사용하여 하나의 신경망으로부터 복수의 신경망들을 유도할 수 있다. 복수의 신경망들은 성능 및 복잡도에 있어서 서로 상이할 수 있다.
파라미터는 신경망의 복수의 은닉 계층들의 각 은닉 계층에서 사용되는 노드의 개수 또는 비율일 수 있다. 말하자면, 은닉 변수 선택부(220)는 신경망의 복수의 은닉 계층들의 각 은닉 계층에서 사용되는 노드의 개수 또는 비율을 정의함으로써, 하나의 신경망으로부터 다양한 성능들 및 복잡도들을 갖는 다른 신경망들을 유도할 수 있다.
도 12에서는, 파라미터 p의 값이 우측에 도시되었고, 파라미터 p의 값에 따른 신경망이 좌측에 도시되었다.
도 12에서 도시된 것과 같이, 예를 들면, 파라미터 p는 전체의 은닉 계층들의 각 은닉 계층의 노드들 중 사용되는 노드의 비율일 수 있다. 또는, 파라미터 p는 전체의 은닉 계층들의 각 은닉 계층의 노드들 중 활성화할 노드의 비율일 수 있다.
또는, 예를 들면, 파라미터 p는 전체의 은닉 계층들의 각 은닉 계층의 노드들 중 사용되는 노드의 개수일 수 있다.
파라미터 p는 전체의 은닉 계층들에게 공통될 수 있다. 또는, 신경망의 복수의 은닉 계층들의 각각에 대해서 파라미터 p가 사용될 수 있다.
파라미터 p는 필요에 따라 다른 장치로부터 신경망 프루닝 장치로 전송될 수 있으며, 신경망 프로닝 장치들 간에 전송될 수 있다. 또는, 인코딩된 비트스트림은 파라미터 p를 포함할 수 있다. 인코더(200)는 파라미터 p를 비트스트림 내에 포함시킬 수 있다. 디코더(300)는 비트스트림으로부터 파라미터 p를 획득할 수 있다.
비디오 및 영상의 압축에 있어서, 파라미터 p의 정보를 부가 정보로서 전송함으로써 율-왜곡의 정도가 제어될 수 있다. 또는, 파라미터 p는 장치의 성능 수준에 적합한 신경망을 장치에 적용하기 위한 프로파일 정보로서 활용될 수 있다. 예를 들면, 파라미터 p에 의해, 높은 성능을 갖는 장치에서는 사용되는 노드의 비율이 높은 은닉 계층이 사용될 수 있고, 낮은 성능을 갖는 장치에서는 사용되는 노드의 비율이 낮은 은닉 계층이 사용될 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능한 기록 매체는 본 발명에 따른 실시예들에서 사용되는 정보를 포함할 수 있다. 예를 들면, 컴퓨터 판독 가능한 기록 매체는 비트스트림을 포함할 수 있고, 비트스트림은 본 발명에 따른 실시예들에서 설명된 정보를 포함할 수 있다.
컴퓨터 판독 가능한 기록 매체는 비-일시적 컴퓨터 판독 가능한 매체(non-transitory computer-readable medium)를 포함할 수 있다.
컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto--tical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
200: 인코더
210: 특징 추출부
220: 은닉 변수 선택부
230: 인코딩부
300: 디코더
310: 디코딩부
320: 은닉 변수 복원부
330: 영상 재구축부

Claims (20)

  1. 은닉 변수를 획득하는 단계; 및
    상기 은닉 변수와 관련된 선택 또는 처리를 수행하는 단계
    를 포함하고,
    상기 은닉 변수의 복수의 성분들은 중요도의 순서로 정렬되고,
    상기 은닉 변수는 미리 학습된 인코더 신경망을 통하여 획득되고,
    상기 은닉 변수의 복수의 성분들을 상기 중요도의 순서로 정렬하기 위한 복수의 학습 단계들로 이루어지는 상기 인코더 신경망의 학습에 있어서, 상기 복수의 학습 단계들의 각 학습 단계마다 상기 은닉 변수의 정렬된 복수의 성분들 중 일부의 상위 인덱스의 성분의 요소만이 활성화되고,
    상기 일부의 상위 인덱스의 성분의 개수는 상기 복수의 학습 단계들의 적어도 일부에 대하여 상이하게 결정되고,
    상기 은닉 변수의 정렬된 복수의 성분들 중 상위의 일부 성분들의 특징 정보만을 사용하여 재구축된 영상이 생성되고,
    상기 인코더 신경망의 학습에 있어서의 손실은 재구축 손실 및 희소 패널티를 포함하고,
    상기 희소 패널티는 상기 은닉 변수의 복수의 성분들의 값들의 가중치가 부여된 합이고,
    상기 재구축 손실은 입력 영상 및 상기 재구축된 영상 간의 오차인 처리 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 복수의 성분들의 각 성분에게 부여된 상기 가중치는 상기 각 성분이 표현하는 특징 정보가 학습을 위해 사용된 입력 영상들에서 이용되는 빈도와 관련된 처리 방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 활성화되는 일부의 상위 인덱스의 성분들의 개수는 랜덤으로 결정되는 처리 방법.
  8. 제1항에 있어서,
    상기 은닉 변수의 복수의 성분들의 각 성분의 활성화 여부를 조정함으로써 상기 각 성분이 상기 재구축 손실의 크기에 영향을 미치는 확률이 조정되는 처리 방법.
  9. 제1항에 있어서,
    상기 선택은 상기 은닉 변수로부터 영상의 재구축에 있어서 상기 중요도가 낮은 성분을 제거하는 것인 처리 방법.
  10. 제1항에 있어서,
    상기 은닉 변수와 관련된 처리는 상기 은닉 변수의 복수의 성분들 중 특정된 성분을 제거하여 상기 은닉 변수에 대한 데이터의 양을 감소시키는 것인 처리 방법.
  11. 제10항에 있어서,
    상기 특정된 성분은 가장 낮은 중요도를 갖는 하나 이상의 성분인 처리 방법.
  12. 제1항에 있어서,
    상기 은닉 변수와 관련된 처리는 상기 은닉 변수에 대한 양자화인 처리 방법.
  13. 제1항에 있어서,
    상기 은닉 변수와 관련된 처리는 신경망 프루닝이고,
    상기 신경망 프루닝은 상기 인코더 신경망의 은닉 레이어의 노드들 중 가장 낮은 중요도를 갖는 노드들을 제거하는 것인 처리 방법.
  14. 제13항에 있어서,
    상기 신경망 프루닝의 프루닝 정도를 나타내는 파라미터를 사용하여 상기 인코더 신경망으로부터 복수의 신경망들이 유도되는 처리 방법.
  15. 은닉 변수 생성 정보를 사용하여 은닉 변수를 생성하는 단계; 및
    상기 은닉 변수가 적용된 디코더 신경망을 사용하여 재구축된 영상을 생성하는 단계
    를 포함하고,
    상기 은닉 변수의 복수의 성분들은 중요도의 순서로 정렬되고,
    상기 은닉 변수의 복수의 성분들을 상기 중요도의 순서로 정렬하기 위한 복수의 학습 단계들로 이루어지는 상기 디코더 신경망의 학습에 있어서, 상기 복수의 학습 단계들의 각 학습 단계마다 상기 은닉 변수의 정렬된 복수의 성분들 중 일부의 상위 인덱스의 성분의 요소만이 활성화되고,
    상기 일부의 상위 인덱스의 성분의 개수는 상기 복수의 학습 단계들의 적어도 일부에 대하여 상이하게 결정되고,
    상기 은닉 변수의 정렬된 복수의 성분들 중 상위의 일부 성분들의 특징 정보만을 사용하여 재구축된 영상이 생성되고,
    상기 디코더 신경망의 학습에 있어서의 손실은 재구축 손실 및 희소 패널티를 포함하고,
    상기 희소 패널티는 상기 은닉 변수의 복수의 성분들의 값들의 가중치가 부여된 합이고,
    상기 재구축 손실은 입력 영상 및 상기 재구축된 영상 간의 오차인 처리 방법.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 제15항에 있어서,
    상기 복수의 성분들의 각 성분의 순위는 상기 각 성분의 성분 인덱스를 기준으로 결정되는 처리 방법.
  20. 비트스트림을 저장하는 컴퓨터 판독 가능한 기록매체에 있어서, 상기 비트스트림은,
    은닉 변수 생성 정보
    를 포함하고,
    상기 은닉 변수 생성 정보를 사용하여 은닉 변수가 생성되고,
    상기 은닉 변수가 적용된 디코더 신경망을 사용하여 재구축된 영상이 생성되고,
    상기 은닉 변수의 복수의 성분들은 중요도의 순서로 정렬되고,
    상기 은닉 변수의 복수의 성분들을 상기 중요도의 순서로 정렬하기 위한 복수의 학습 단계들로 이루어지는 상기 디코더 신경망의 학습에 있어서, 상기 복수의 학습 단계들의 각 학습 단계마다 상기 은닉 변수의 정렬된 복수의 성분들 중 일부의 상위 인덱스의 성분의 요소만이 활성화되고,
    상기 일부의 상위 인덱스의 성분의 개수는 상기 복수의 학습 단계들의 적어도 일부에 대하여 상이하게 결정되고,
    상기 은닉 변수의 정렬된 복수의 성분들 중 상위의 일부 성분들의 특징 정보만을 사용하여 재구축된 영상이 생성되고,
    상기 디코더 신경망의 학습에 있어서의 손실은 재구축 손실 및 희소 패널티를 포함하고,
    상기 희소 패널티는 상기 은닉 변수의 복수의 성분들의 값들의 가중치가 부여된 합이고,
    상기 재구축 손실은 입력 영상 및 상기 재구축된 영상 간의 오차인 컴퓨터 판독 가능한 기록 매체.
KR1020180130680A 2017-10-30 2018-10-30 은닉 변수를 이용하는 영상 및 신경망 압축을 위한 방법 및 장치 KR102285064B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/760,609 US11477468B2 (en) 2017-10-30 2018-10-30 Method and device for compressing image and neural network using hidden variable
PCT/KR2018/013013 WO2019088657A1 (ko) 2017-10-30 2018-10-30 은닉 변수를 이용하는 영상 및 신경망 압축을 위한 방법 및 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170142066 2017-10-30
KR1020170142066 2017-10-30

Publications (2)

Publication Number Publication Date
KR20190049552A KR20190049552A (ko) 2019-05-09
KR102285064B1 true KR102285064B1 (ko) 2021-08-04

Family

ID=66546615

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180130680A KR102285064B1 (ko) 2017-10-30 2018-10-30 은닉 변수를 이용하는 영상 및 신경망 압축을 위한 방법 및 장치

Country Status (2)

Country Link
US (1) US11477468B2 (ko)
KR (1) KR102285064B1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11126915B2 (en) * 2018-10-15 2021-09-21 Sony Corporation Information processing apparatus and information processing method for volume data visualization
US11176422B2 (en) * 2019-08-08 2021-11-16 Robert Bosch Gmbh Apparatus and system for unsupervised disentangled representation learning with a residual variational autoencoder
KR102382383B1 (ko) * 2019-08-21 2022-04-04 네이버웹툰 유한회사 딥러닝 기반 이미지 압축 효율 향상을 위한 방법 및 시스템
US11170260B2 (en) * 2019-11-14 2021-11-09 Alibaba Group Holding Limited Techniques for determining importance of encoded image components for artificial intelligence tasks
US11403783B2 (en) * 2019-11-14 2022-08-02 Alibaba Group Holding Limited Techniques to dynamically gate encoded image components for artificial intelligence tasks
KR102250553B1 (ko) * 2019-11-19 2021-05-10 금오공과대학교 산학협력단 패러렐 오토 인코더를 이용한 채널 디코딩 방법
KR20210106131A (ko) 2020-02-20 2021-08-30 삼성전자주식회사 전자 장치 및 그의 제어 방법
EP4158624A1 (en) * 2020-06-01 2023-04-05 Dolby International AB Method and apparatus for determining parameters of a generative neural network
CN115720666A (zh) * 2020-06-25 2023-02-28 英迪股份有限公司 用于神经网络的压缩和训练的方法及装置
US11862183B2 (en) 2020-07-06 2024-01-02 Electronics And Telecommunications Research Institute Methods of encoding and decoding audio signal using neural network model, and devices for performing the methods
US20220067983A1 (en) * 2020-08-28 2022-03-03 Nvidia Corporation Object image completion
US11765376B2 (en) * 2020-10-08 2023-09-19 Tencent America LLC Pruning methods and apparatuses for neural network based video coding
KR102593573B1 (ko) * 2020-11-05 2023-10-25 광주과학기술원 퍼지 멤버십 메트릭스에 기반하는 벡터 양자화 변분 오토인코딩장치
US11750848B2 (en) * 2020-11-30 2023-09-05 Google Llc High-fidelity generative image compression
KR20210152992A (ko) * 2020-12-04 2021-12-16 한국전자통신연구원 이진 마스크를 사용하는 영상 인코딩/디코딩을 위한 방법, 장치 및 기록 매체
KR102574514B1 (ko) * 2020-12-17 2023-09-06 서울대학교산학협력단 관절염 진단 장치 및 이에 의한 관절염 진단을 위한 정보 제공 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
CN116940946A (zh) * 2021-02-05 2023-10-24 交互数字Ce专利控股有限公司 可分割深度神经网络中的动态特征尺寸适配
WO2023136673A1 (ko) * 2022-01-13 2023-07-20 한국전자통신연구원 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체
WO2023239220A1 (ko) * 2022-06-09 2023-12-14 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017136083A1 (en) * 2016-02-05 2017-08-10 Google Inc. Compressing images using neural networks

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393060B1 (en) 1997-12-31 2002-05-21 Lg Electronics Inc. Video coding and decoding method and its apparatus
KR100323701B1 (ko) * 1998-11-02 2002-03-08 구자홍 영상부호화장치
JP6281425B2 (ja) * 2014-06-27 2018-02-21 富士通株式会社 秘匿データ照合装置、秘匿データ更新プログラムおよび秘匿データ更新方法
KR101808840B1 (ko) 2015-09-04 2017-12-13 한국전자통신연구원 학습 기반 깊이 정보 추출 방법 및 장치
US10257528B2 (en) 2015-10-08 2019-04-09 Electronics And Telecommunications Research Institute Method and apparatus for adaptive encoding and decoding based on image quality
KR101791573B1 (ko) 2016-10-21 2017-10-31 서강대학교산학협력단 컨볼루션 신경망을 이용한 비디오 스트림에 대한 수퍼 해상도 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017136083A1 (en) * 2016-02-05 2017-08-10 Google Inc. Compressing images using neural networks

Also Published As

Publication number Publication date
KR20190049552A (ko) 2019-05-09
US11477468B2 (en) 2022-10-18
US20200351509A1 (en) 2020-11-05

Similar Documents

Publication Publication Date Title
KR102285064B1 (ko) 은닉 변수를 이용하는 영상 및 신경망 압축을 위한 방법 및 장치
CN110494892B (zh) 用于处理多通道特征图图像的方法和装置
CN107665364B (zh) 神经网络方法和设备
KR102174777B1 (ko) 이미지의 품질 향상을 위하여 이미지를 처리하는 방법 및 장치
Narang et al. Local two-channel critically sampled filter-banks on graphs
US20120251013A1 (en) Method for Compressing Textured Images
CN108028941A (zh) 用于通过超像素编码和解码数字图像的方法和装置
CN111630570A (zh) 图像处理方法、设备及计算机可读存储介质
CN101779461B (zh) 使用pixon方法的图像压缩和解压缩
US20220277491A1 (en) Method and device for machine learning-based image compression using global context
Liu et al. Prior-based quantization bin matching for cloud storage of JPEG images
US11456001B2 (en) Method of encoding high band of audio and method of decoding high band of audio, and encoder and decoder for performing the methods
KR20200138079A (ko) 전역적 문맥을 이용하는 기계 학습 기반의 이미지 압축을 위한 방법 및 장치
Wen et al. Learning flipping and rotation invariant sparsifying transforms
CN113962882A (zh) 一种基于可控金字塔小波网络的jpeg图像压缩伪影消除方法
AU2002366676A1 (en) Method, apparatus and software for lossy data compression and function estimation
Hilles Sofm and vector quantization for image compression by component
CN111107377A (zh) 深度图像压缩方法及其装置、设备和存储介质
Guz A novel image compression method based on classified energy and pattern building blocks
Lv et al. A novel auxiliary data construction scheme for reversible data hiding in JPEG images
Gao et al. Mixed entropy model enhanced residual attention network for remote sensing image compression
Kountchev et al. Decorrelation of multispectral images, based on hierarchical adaptive PCA
Yaghoobi et al. Regularized dictionary learning for sparse approximation
Naik et al. A unified framework for the design of low-complexity wavelet filters
Hilles Spatial Frequency Filtering Using Sofm For Image Compression

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant