KR102535361B1 - 머신 러닝을 사용하는 영상 부호화기 및 그것의 데이터 처리 방법 - Google Patents

머신 러닝을 사용하는 영상 부호화기 및 그것의 데이터 처리 방법 Download PDF

Info

Publication number
KR102535361B1
KR102535361B1 KR1020170136043A KR20170136043A KR102535361B1 KR 102535361 B1 KR102535361 B1 KR 102535361B1 KR 1020170136043 A KR1020170136043 A KR 1020170136043A KR 20170136043 A KR20170136043 A KR 20170136043A KR 102535361 B1 KR102535361 B1 KR 102535361B1
Authority
KR
South Korea
Prior art keywords
prediction
block
prediction block
machine learning
unit
Prior art date
Application number
KR1020170136043A
Other languages
English (en)
Other versions
KR20190043930A (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 KR1020170136043A priority Critical patent/KR102535361B1/ko
Priority to US15/980,808 priority patent/US11115673B2/en
Priority to TW107130991A priority patent/TWI748125B/zh
Priority to CN201811201437.6A priority patent/CN109688406B/zh
Publication of KR20190043930A publication Critical patent/KR20190043930A/ko
Priority to US17/465,568 priority patent/US11694125B2/en
Application granted granted Critical
Publication of KR102535361B1 publication Critical patent/KR102535361B1/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • 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
    • 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
    • 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
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Abstract

본 발명의 실시 예에 따른 입력 영상을 부호화하여 비트-스트림으로 출력하는 영상 부호화기는, 이전 입력 블록의 데이터를 사용하여 예측 블록을 생성하는 예측부, 상기 예측 블록을 머신 러닝 기법을 적용하여 향상된 예측 블록으로 변환하는 예측 향상부, 그리고 현재 입력 블록과 상기 향상된 예측 블록의 픽셀 데이터를 차감하여 잔차 블록을 생성하는 감산기를 포함한다.

Description

머신 러닝을 사용하는 영상 부호화기 및 그것의 데이터 처리 방법{IMAGE ENCODER USING MACHINE LEARNING AND DATA PROCESSING METHOD THEREOF}
본 발명은 전자 장치에 관한 것으로, 좀 더 상세하게는 머신 러닝 기술을 사용하는 영상 부호화기 및 그것의 부호화 방법에 관한 것이다.
고해상도, 고프레임율, 고비트 심도 등을 특징으로 하는 고화질 비디오 서비스에 대한 수요가 날로 증가하고 있다. 이에 따라 막대한 양의 비디오 데이터를 효율적으로 부호화하고 복호하기 위한 코덱의 중요성이 대두되고 있다.
H.264나 AVC(Advanced Video Coding) 기술은 동영상 압축 기술로서 이전의 압축 기술에 비교하여 압축 효율, 화질, 비트율 등에 있어서 향상된 성능을 제공하고 있다. 이러한 동영상 압축 기술은 현재 디지털 TV를 통하여 널리 상용화가 되고 있으며 화상 전화, 화상 회의, DVD, 게임, 3D TV 등 다양한 응용 분야에서 널리 사용되고 있다. 현재 H.264나 AVC 압축 기술은 이전 버전과 비교하여 압축 효율, 화질, 비트율 등이 탁월한 성능을 제공하고 있다. 하지만, 이들 기술에서는 움직임 예측 방식이 훨씬 복잡해졌으며 이로 인해 압축 효율은 점점 한계에 이르고 있는 실정이다.
본 발명은 상술한 기술적 문제점을 해결하기 위해 제안된 것으로, 본 발명의 목적은 제어 데이터의 추가없이 예측 블록을 소스 블록과 차이가 적은 향상된 예측 블록으로 생성하기 위한 영상 부호화기 및 그것의 부호화 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 입력 영상을 부호화하여 비트-스트림으로 출력하는 영상 부호화기는, 이전 입력 블록의 데이터를 사용하여 예측 블록을 생성하는 예측부, 상기 예측 블록을 머신 러닝 기법을 적용하여 향상된 예측 블록으로 변환하는 예측 향상부, 그리고 현재 입력 블록과 상기 향상된 예측 블록의 픽셀 데이터를 차감하여 잔차 블록을 생성하는 감산기를 포함한다.
본 발명의 일 실시 예에 따른 영상 데이터의 처리 방법은, 이전 입력 블록의 시간 영역 데이터로부터 예측 블록을 생성하는 단계, 상기 예측 블록을 복수의 머신 러닝 기법 중 적어도 하나를 적용하여 향상된 예측 블록으로 변환하는 단계, 그리고 현재 입력 블록으로부터 상기 향상된 예측 블록을 차감하여 잔차 블록을 생성하는 단계를 포함한다.
본 발명의 다른 실시 예에 따른 영상 데이터의 처리 방법은, 이전 입력 블록의 시간 영역 데이터로부터 예측 블록을 생성하는 단계, 상기 예측 블록을 복수의 머신 러닝 기법 중 적어도 하나를 적용하여 향상된 예측 블록으로 변환하는 단계, 상기 예측 블록 및 상기 향상된 예측 블록 각각에 대응하는 율-왜곡 최적화값(RDO)을 이용하여 상기 예측 블록 및 상기 향상된 예측 블록 중 어느 하나를 선택하는 단계, 그리고 현재 입력 블록으로부터 상기 선택된 블록을 차감하여 잔차 블록을 생성하는 단계를 포함한다.
본 발명의 실시 예에 따른 부호화기 및 부호화 방법에 따르면, 예측 블록과 소스 블록의 차이가 최소화되어 데이터 압축률을 향상시키면서도 영상 품질의 저하가 적은 부호화기 및 복호기를 구현할 수 있다.
도 1은 본 발명의 실시 예에 따른 부호화기를 보여주는 블록도이다.
도 2는 도 1의 부호화기를 간략히 보여주는 블록도이다.
도 3은 도 2의 부호화기를 보다 구체적으로 보여주는 블록도이다.
도 4는 도 3에 도시된 예측 향상부의 특징을 보여주는 블록도이다.
도 5a 및 도 5b는 각각 예측 모드에 따른 최적의 머신 러닝 알고리즘을 선택하는 예측 향상부를 도시한 블록도들이다.
도 6은 본 발명의 일 실시 예에 따른 예측 블록의 특성에 따라 머신 러닝 방식을 선택하는 부호화 방법을 보여주는 순서도이다.
도 7은 본 발명의 일 실시 예에 따른 예측 향상부의 트레이닝 방법을 보여주는 블록도이다.
도 8은 본 발명의 다른 실시 예에 따른 예측 향상부의 트레이닝 방법을 보여주는 블록도이다.
도 9는 본 발명의 다른 실시 예에 따른 부호화기를 보여주는 블록도이다.
도 10은 도 9의 예측 향상부의 기능을 보여주는 블록도이다.
도 11은 도 10의 예측 향상부의 동작을 예시적으로 보여주는 순서도이다.
도 12는 도 11에 설명된 본 발명의 비디오 스트림 신텍스(Video stream syntax)의 예를 보여주는 도면이다.
도 13은 머신 러닝 기반의 복호기를 보여주는 블록도이다.
도 14는 도 13의 복호기를 구체적으로 보여주는 블록도이다.
도 15는 본 발명의 머신 러닝 기방의 예측 향상 동작을 수행하는 휴대용 단말기를 예시적으로 보여주는 블록도이다.
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다. 이하 본 명세서에서 '영상'이라 함은 사진과 같은 정지 영상뿐 아니라 비디오와 같은 동영상을 포함하는 포괄적인 의미를 갖는다.
도 1은 본 발명의 실시 예에 따른 머신 러닝 기반의 부호화기를 보여주는 블록도이다. 도 1을 참조하면, 부호화기(100)는 입력되는 입력 이미지(100)를 복수의 블록으로 구분하고, 각 블록들에 대한 머신 러닝 기반의 예측 부호화를 수행한다.
부호화기(100)는 입력 이미지(10)를 처리하여 출력 데이터(20)를 생성한다. 본 발명의 실시 예에 따른 부호화기(100)는 예측 이미지 또는 예측 블록을 머신 러닝(Machine learning) 기법을 사용하여 생성할 수 있다. 예를 들면, 입력 이미지(10)를 사용하여 예측 블록을 생성할 때, 머신 러닝을 사용하여 학습된 파라미터를 적용할 수 있다. 이 경우, 머신 러닝을 사용함에 따라 헤더 데이터(22)의 증가없이 예측 블록은 소스 블록에 근접하게 된다. 예측 블록과 소스 블록이 근접할수록 레지듀얼 데이터(240)의 사이즈는 감소할 것이다.
본 발명의 머신 러닝 기법을 적용하는 부호화기(100)에 의해서 생성되는 출력 데이터(20)는 크게 헤더 데이터(22)와 레지듀얼 데이터(24)를 포함한다. 본 발명의 부호화기(100)는 머신 러닝 기반의 예측 부호화를 수행하여, 예측 블록과 소스 블록의 잔차 블록을 부호화할 수 있다. 이때, 잔차 블록에 대응하는 데이터가 레지듀얼 데이터(24)이다. 반면에, 예측에 소요되는 움직임 데이터, 이미지 데이터, 그리고 다양한 설정 값들은 헤더 데이터(22)로 출력된다. 예측 블록과 소스 블록의 차이가 작을수록 레지듀얼 데이터(24)의 사이즈는 감소하게 될 것이다.
일반적으로 잔차 블록 또는 잔차 영상의 정보량을 감소시키기 위해 정교한 예측을 수행할수록 예측에 필요한 헤더 데이터(22)의 정보량은 증가하는 경향이 있다. 하지만, 본 발명의 머신 러닝을 사용하는 경우, 헤더 데이터(22)의 증가 없이도 정교한 예측이 가능하다. 머신 러닝을 사용하여 이미 생성된 예측 블록을 소스 블록에 근접하도록 향상시킬 수 있다. 이 경우, 헤더 데이터(22)의 사이즈에는 크게 영향을 미치지 않지만, 예측 블록과 소스 블록의 차이는 효과적으로 감소할 수 있다. 결국, 소스 블록과 예측 블록의 차분값에 대응하는 레지듀얼 데이터(24)의 사이즈가 획기적으로 감소할 수 있음을 의미한다.
도 2는 도 1의 부호화기를 간략히 보여주는 블록도이다. 도 2를 참조하면, 부호화기(100)는 감산부(110), 머신 러닝 기반의 예측 향상부(120), 변환/양자화부(130), 예측부(140), 그리고 엔트로피 부호화부(150)를 포함할 수 있다.
감산기(110)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔차 블록을 생성할 수 있다. 변환/양자화부(130)는 잔차 블록에 대해 변환(Transform)을 수행하여 변환 계수(Transform coefficient)를 출력할 수 있다. 변환/양자화부(130)는 변환 계수를 양자화 매개변수와 양자화 행렬 중 적어도 하나를 이용하여 양자화한다. 그러면, 양자화된 계수(Quantized coefficient)가 생성된다. 이때, 출력되는 양자화된 계수가 결국에는 레지듀얼 데이터(Residual_Data)에 대응한다.
엔트로피 부호화부(150)는 변환/양자화부(130)에서 산출된 레지듀얼 데이터(Residual_Data) 또는 부호화 과정에서 산출된 부호화 파라미터와 같은 헤더 데이터(Header_Data)를 사용하여 엔트로피 부호화를 수행한다. 엔트로피 부호화부(150)에 의한 엔트로피 부호화 연산에 의하여 비트-스트림(Bitstream)이 출력된다. 엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(Symbol)에 적은 수의 비트가 할당되고, 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당된다. 따라서, 이러한 심볼 표현 방식에 따라 부호화 대상 심볼들에 대한 비트-스트림의 사이즈가 감소될 수 있다.
예측부(140)는 입력되는 양자화된 레지듀얼 데이터(Residual_Data)와 다양한 파라미터를 기반으로 예측 블록(P)을 생성한다. 예측부(140)는 화면내(Intra) 모드 또는 화면간(Inter) 모드로 부호화를 수행하고 예측 블록(P)을 출력할 수 있다. 예측부(140)는 입력 영상(10)의 소스 블록(Source block: 이하, S)에 대한 예측 블록(P)을 생성한 후, 머신 러닝 기반의 예측 향상부(120)에 제공한다.
예측 향상부(120)는 예측 블록(P)을 처리하여 향상된(Enhanced) 예측 블록(EP)으로 출력한다. 예측 향상부(120)는 예를 들면 머신 러닝 알고리즘을 사용하여 예측 블록(P)이 소스 블록(S)에 근접한 레벨로 처리한다. 즉, 다양한 머신 러닝 방식들 중에서 예측 모드, 움직임 벡터의 특징, 영상의 파티션 형태, 변환 단위의 크기 등의 다양한 정보를 참조하여 최적의 머신 러닝 방식을 선택할 수 있다. 머신 러닝의 방식들로는 예를 들면, 결정 트리(Decision Tree), 신경망(Neural Network: NN), 컨볼루션 신경망(CNN), 서포트 벡터 머신(SVM), K-최근접 알고리즘, 강화 학습과 같은 다양한 방식이 사용될 수 있다.
이상에서는 본 발명의 머신 러닝을 사용하여 예측 블록(P)을 소스 블록(S)에 근접하게 처리하는 머신 러닝 기반의 부호화기(100)의 구조가 간략히 설명되었다. 본 발명은 향상된 예측 블록(EP)을 생성하기 위해 추가적인 데이터가 요구되지 않는다. 다만, 학습을 통해서 최적의 필터링 효과를 제공하는 예측 향상부(120)를 통해서 향상된 예측 블록(EP)의 제공이 가능하다. 예측 향상부(120)는 추가적인 데이터의 제공없이 학습(온-라인 또는 오프-라인)을 통해서 성능을 유지하거나 업데이트할 수 있다. 따라서, 본 발명의 부호화기(100)에 따르면 헤더 데이터(22)의 증가없이 레지듀얼 데이터(24)의 감소가 가능하다.
도 3은 도 2의 부호화기를 보다 구체적으로 보여주는 블록도이다. 도 3을 참조하면, 부호화기(100)는 감산부(110), 예측 향상부(120), 변환부(132), 양자화부(134), 예측부(140), 그리고 엔트로피 부호화부(150), 그리고 부호화 컨트롤러(160)를 포함할 수 있다. 여기서, 예측부(140)는 역양자화부(141), 역변환부(142), 가산기(143), 인-루프 필터(144), 버퍼(145), 움직임 추정부(146), 움직임 보상부(147), 인트라 예측부(148), 그리고 모드 결정부(149)를 포함할 수 있다. 상술한 구성의 부호화기(100)는 머신 러닝 기반의 예측 향상 기능을 제공한다. 따라서, 헤더 데이터(22)의 증가없이도 레지듀얼 데이터(24)의 감소가 가능하다.
감산기(110)는 입력 블록(또는, 소스 블록)과 예측 블록의 차분 데이터인 잔차 블록을 생성한다. 좀더 구체적으로 감산기(110)는 입력 프레임에 포함된 복수의 공간 영역(Spatial-domain) 블록들 중에서 현재 처리 대상이 되는 공간 영역 현재 블록의 값들과 예측 향상부(120)로부터 출력된 향상된 예측 블록(EP)의 값들과의 차이값을 계산할 수 있다. 감산기(110)는 계산된 차이에 해당하는 공간 영역 잔차 블록의 값들(이하, 레지듀얼 데이터)을 생성할 수 있다.
데이터 처리의 관점에서, 공간 영역의 블록들 각각은 m×n 픽셀들을 포함할 수 있다. 여기서, m과 n 각각은 2 이상의 자연수일 수 있고, m=n 또는 m≠n일 수 있다. 블록에 포함된 픽셀들은 YUV 포맷을 갖는 데이터, YCbCr 포맷을 갖는 데이터, 또는 RGB 포맷을 갖는 데이터일 수 있으나 이에 한정되는 것은 아니다. 예컨대, 블록은 4×4 픽셀들, 8×8 픽셀들, 16×16 픽셀들, 32×32 픽셀들, 또는 64×64 픽셀들을 포함할 수 있으나 여기에 한정되는 것은 아니다. 감산기(110)는 계산 블록 단위로 차이값을 계산할 수 있고, 계산된 차이값을 블록 단위로 출력할 수 있다. 예컨대, 계산 블록의 크기는 블록의 크기보다 작을 수 있다. 예컨대, 계산 블록이 4×4 픽셀들을 포함할 때, 블록은 16×16 픽셀들을 포함할 수 있으나 계산 블록의 크기와 블록의 크기가 이에 한정되는 것은 아니다.
변환부(132)는 잔차 블록을 변환(Transform)하여 변환 계수(Transform coefficient)를 출력할 수 있다. 변환부(132)는 공간 영역 잔차 블록에 포함된 블록 값들에 대해 시간 영역-주파수 영역 변환(Time domain-to-frequency domain transformation)을 수행할 수 있다. 예컨대, 변환부(132)는 시간 영역의 공간 좌표를 주파수 영역의 값으로 변환할 수 있다. 예컨대, 변환부(132)는, 이산 코사인 변환(Discrete Cosine Transform: DCT)을 이용하여, 공간 영역 잔차 블록 값들로부터 주파수 영역 계수들을 생성할 수 있다.
양자화부(134)는 입력된 변환 계수를 양자화 매개 변수와 양자화 행렬 중 적어도 하나를 이용하여 양자화한다. 그리고 양자화부(134)는 양자화의 결과로 양자화된 계수(Qquantized coefficient)를 출력할 수 있다.
엔트로피 부호화부(150)는 양자화부(134)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 등을 기초로 엔트로피 부호화를 수행하여 비트-스트림(Bitstream)을 출력할 수 있다. 엔트로피 부호화가 적용되면, 높은 발생 확률을 갖는 심볼(Symbol)에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당된다. 따라서, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 엔트로피 부호화부(150)는 엔트로피 부호화를 위해 지수-골롬 코드(Exponential-Golomb Code), CAVLC(Context-Adaptive Variable LengthCoding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다.
현재 부호화된 블록이나 영상은 참조 블록이나 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서, 양자화부(134)에 의해서 양자화된 계수는 역양자화부(141)에서 역양자화되고 역변환부(142)에서 역변환된다. 역양자화 및 역변환된 계수는 복원된 잔차 블록이 되어 가산기(143)를 통해 예측 블록(P)과 더해진다. 그러면 복원 블록이 생성된다.
가산기(143)로부터 계산된 복원 블록은 인트라 예측부(148)에 전달되고, 화면내 방향성 모드의 예측을 위해 사용된다. 그리고 가산기(143)로부터 출력된 복원 블록은 인-루프 필터(144)에도 전달된다.
인-루프 필터(144)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나를 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO 필터는 코딩 에러를 보상하기 위해 픽셀값에 적정 오프셋(Offset) 값을 더해줄 수 있다. ALF는 복원된 블록과 소스 블록을 비교한 값을 기초로 필터링을 수행할 수 있다. 인-루프 필터(144)를 거친 복원 블록은 참조 영상을 저장하기 위해 제공되는 버퍼(145)에 저장될 수 있다.
버퍼(145)는 인-루프 필터(144)로부터 출력된 복원 블록을 저장하고 움직임 추정부(146) 및 움직임 보상부(147)에 제공한다. 더불어, 버퍼(145)는 인-루프 필터(144)로부터 출력된 복원 블록을 출력 데이터(Output data)로 엔트로피 부호화기(150)에 제공한다.
인트라 모드에서, 인트라 예측부(148)는 현재 블록 주변의 이미 부호화된 블록의 픽셀 값을 이용한 공간적 예측을 수행하고, 그 결과로 제 1 예측 블록(P1)을 생성한다. 인터 모드에서, 움직임 추정부(146)는 움직임 예측 과정에서 버퍼(145)에 저장되어 있는 레퍼런스 이미지 내에서 입력 블록과 가장 매칭이 잘되는 참조 블록을 찾아 움직임 벡터를 구한다. 움직임 보상부(147)는 움직임 벡터를 이용하여 움직임 보상을 수행하여 제 2 예측 블록(P2)을 생성한다. 여기서, 움직임 벡터는 인터 예측에 사용되는 2차원 벡터이며, 현재 부호화/복호화의 대상 블록과 참조 블록 사이의 오프셋을 나타낸다.
모드 결정부(149)는 현재 블록, 움직임 보상부(147)로부터 제공되는 제 1 예측 블록(P1), 인트라 예측부(148)로부터 제공되는 제 2 예측 블록(P2)을 수신한다. 모드 결정부(149)는 제 1 예측 블록(P1)과 제 2 예측 블록(P2) 중 어느 하나를 예측 블록(P)으로 결정하여 예측 향상부(120)에 제공한다. 모드 결정부(149)는 현재 블록 값들, 역양자화된 계수들, 제 1 예측 블록(P1)과 제 2 예측 블록(P2)의 블록 값들, 그리고 제어 신호(CNT3)에 따라 예측 블록(P)을 결정하고 출력할 것이다.
다른 실시 예에서, 모드 결정부(149)는 제 1 예측 블록(P1)과 제 2 예측 블록(P2) 각각에 대한 머신 러닝 알고리즘을 적용한 후에 모드 결정을 수행할 수 있다. 예를 들면, 모드 결정부(149)는 제 1 예측 블록(P1)에 대한 머신 러닝 알고리즘을 적용하여 향상된 제 1 예측 블록(EP1)을 생성할 수 있다. 그리고, 모드 결정부(149)는 제 2 예측 블록(P2)에 대한 머신 러닝 알고리즘을 적용하여 향상된 제 2 예측 블록(EP2)을 생성할 수 있다. 그리고 모드 결정부(149)는 향상된 제 1 예측 블록(EP1)과 향상된 제 2 예측 블록(EP2) 중 어느 하나를 예측 블록(P)으로 결정하여 예측 향상부(120)에 제공할 수도 있다. 이때, 향상된 제 1 예측 블록(EP1) 또는 향상된 제 2 예측 블록(EP2)에는 머신 러닝 알고리즘에 의한 처리 여부를 나타내는 값이 포함되어야 할 것이다. 이러한 모드 결정부(149)의 동작에 의해서 영상 압축률을 보다 향상시킬 수 있을 것이다.
예측 향상부(120)는 모드 결정부(149)로부터 제공되는 예측 블록(P)을 처리하여 향상된 예측 블록(EP)으로 출력한다. 머신 러닝 기반의 처리를 수행하는 예측 향상부(120)는 예측 블록(P)을 소스 블록(S)에 근접한 레벨로 처리한다. 예측 향상부(120)는 부호화 정보(MLS_Info)를 참조하여 다양한 머신 러닝 방식들 중에서 어느 하나를 선택할 수 있다. 부호화 정보(MLS_Info)는 이전의 모드 결정부(149)에 의해 결정된 예측 양식, 움직임 벡터의 특징, 영상의 파티션 형태, 변환 단위의 크기 등의 다양한 정보를 포함할 수 있다. 머신 러닝의 방식들로는 예를 들면, 결정 트리(Decision Tree), 컨볼루션 신경망(CNN), 서포트 벡터 머신(SVM), K-최근접 알고리즘(K-NN), 강화 학습과 같은 다양한 방식이 사용될 수 있다. 예측 향상부(120)에 대한 구체적인 특징은 후술하는 도면을 통해서 보다 상세히 설명하기로 한다.
부호화 컨트롤러(160)는 입력 영상이나 블록에 따라 부호화기(100) 내의 제반 구성들을 제어할 수 있다. 부호화 컨트롤러(160)는 입력되는 영상의 파티셔닝이나 코딩 블록의 사이즈 등을 결정하고, 결정된 기준에 따라 영상의 부호화 및 복원을 제어한다. 이러한 제어 동작을 위해 복수의 제어 신호들(CNT1, CNT2, CNT3, CNT4)를 생성하여 움직임 추정부(146), 변환부(132), 모드 결정부(149), 그리고 역양자화부(141)에 각각 제공할 수 있다. 더불어, 부호화 컨트롤러(160)는 비트-스트림의 헤더 데이터(22, 도 1 참조)에 포함되는 제어 데이터(Control data)를 엔트로피 부호화부(150)에 제공할 수 있다.
이상에서는 본 발명의 머신 러닝을 사용하여 예측 블록(P)을 소스 블록(S)에 근접하게 처리하는 머신 러닝 기반의 부호화기(100)의 구조가 설명되었다. 본 발명에 따르면, 학습을 통해서 최적의 복원 효과를 제공하는 예측 향상부(120)를 포함한다. 예측 향상부(120)를 통해서 레지듀얼 데이터의 증가없이 향상된 예측 블록(EP)의 제공이 가능하다. 머신 러닝 기반의 예측 향상부(120)는 학습(온-라인 또는 오프-라인)을 통해서 성능을 유지하거나 업데이트할 수 있다. 따라서, 본 발명의 부호화기(100)에 따르면 헤더 데이터(22)의 증가없이 레지듀얼 데이터(24)의 감소가 가능하다.
도 4는 도 3에 도시된 예측 향상부(120)의 특징을 간략히 보여주는 블록도이다. 도 4를 참조하면, 예측 향상부(120)는 다양한 부호화 정보(MLS_Info)를 이용하여 예측 블록(P)을 최적의 향상된 예측 블록(EP)으로 변환시킬 수 있다.
예측 향상부(120)는 다양한 머신 러닝 알고리즘들(ML1~MLn, n은 정수)을 구비할 수 있다. 예측 향상부(120)는 부호화 정보(MLS_Info)를 사용하여 최적의 향상 성능을 갖는 머신 러닝 알고리즘을 선택할 수 있다. 여기서 다양한 머신 러닝 알고리즘들(ML1~MLn) 각각은 하드웨어로 구현되는 머신 러닝 장치들로 각각 제공될 수도 있음은 잘 이해될 것이다. 여기서, 머신 러닝의 알고리즘들(ML1~MLn)은 예를 들면, 결정 트리(Decision Tree), 컨볼루션 신경망(CNN), 서포트 벡터 머신(SVM), 강화 학습과 같은 다양한 알고리즘들이 포함될 수 있다.
부호화 정보(MLS_Info)는 예를 들면, 예측 모드, 움직임 벡터의 특징, 인트라 방향, 코딩 유닛의 사이즈, 영상의 파티션 형태, 변환 단위의 크기 등과 같은 다양한 파라미터나 조건들을 포함한다. 머신 러닝 알고리즘들(ML1~MLn)은 일반적으로 특정 영상이나 피쳐(Feature)에 대해 서로 다른 필터 특성을 갖는 것으로 알려져 있다. 따라서, 다양한 조건 또는 이들 조건들의 조합에 따라 향상된 예측 블록(EP)의 품질도 달라질 것이다. 본 발명의 예측 향상부(120)는 학습 과정을 통해서 결정된 최적의 머신 러닝 알고리즘을 선택할 수 있고, 헤더 데이터(22)의 증가없이도 소스 블록(S)에 근접한 향상된 예측 블록(EP)의 생성이 가능하다. 따라서, 헤더 데이터(22)의 증가없이 레지듀얼 데이터(24, 도 1 참조)의 감축이 가능하다.
도 5a 및 도 5b는 각각 예측 모드에 따른 최적 머신 러닝 알고리즘을 선택하는 예측 향상부를 도시한 블록도들이다. 도 5a는 인트라 모드에서 복수의 머신 러닝 알고리즘들 중에서 제 2 머신 러닝 알고리즘(ML2)을 선택하는 예측 향상부(120)를 보여준다. 도 5b는 인터 모드에서 복수의 머신 러닝 알고리즘들 중에서 제 3 머신 러닝 알고리즘(ML3)를 선택하는 예측 향상부(120)를 보여준다.
도 5a를 참조하면, 예측 향상부(120)에 제공되는 부호화 정보(MLS_Info)가 인트라 모드(Intra mode)인 경우에 인트라 예측부(148)로부터 인트라 예측 블록(P_Intra)이 전달될 것이다. 인트라 모드(Intra mode)에서의 인트라 예측 블록(P_Intra)은 한정된 화면 내에서의 정보만으로 생성된다. 따라서, 인트라 예측 블록(P_Intra)의 해상도나 품질은 상대적으로 거칠다(Relatively coarse). 이러한 인트라 예측 블록(P_Intra)을 소스 블록(S)과 근접한 레벨의 향상된 예측 블록(EP)으로 처리하기 위해서 예측 향상부(120)는 제 2 머신 러닝 알고리즘(ML2)을 선택할 수 있다. 이러한 선택은 이전에 수행된 다양한 학습의 결과에 근거하여 수행될 수 있을 것이다.
도 5b를 참조하면, 예측 향상부(120)에 제공되는 부호화 정보(MLS_Info)가 인터 모드(Inter mode)인 경우에 움직임 보상부(147)로부터 인터 예측 블록(P_Inter)이 전달될 것이다. 인터 예측 블록(P_Inter)은 영상에서 이미 처리된 다른 프레임을 참조하여 생성된다. 따라서, 인터 예측 블록(P_Inter)은 인트라 모드(Intra mode)에 비하여 해상도나 품질이 상대적으로 곱다(Relatively fine). 이러한 인터 예측 블록(P_Inter)을 소스 블록(S)과 근접한 레벨의 향상된 예측 블록(EP)으로 처리하기 위해서 예측 향상부(120)는 제 3 머신 러닝 알고리즘(ML3)을 선택할 수 있다. 이러한 선택은 이전에 수행된 다양한 학습의 결과에 근거하여 수행될 수 있을 것이다.
이상에서 예측 모드에 따른 머신 러닝 알고리즘의 선택 방법이 간략히 도시되었다. 하지만, 이는 예시적인 실시 예에 불과하다. 다양한 부호화 정보(MLS_Info)들의 조합에 따라 다양한 방식으로 하나 또는 그 이상의 머신 러닝 알고리즘이 조합되어 적용될 수도 있음은 잘 이해될 것이다.
도 6a 및 도 6b는은 본 발명의 일 실시 예에 따른 예측 블록의 특성에 따라 머신 러닝 방식을 선택하는 부호화 방법을 보여주는 순서도이다. 도 6a 및 도 6b를을 참조하여, 본 발명의 예측 향상부(120, 도 4 참조)의 예시적인 동작 특성이 설명될 것이다.
도 6a를 참조하면, 예측 향상부(120)는 예측 블록의 특성에 따라 머신 러닝 알고리즘을 선택할 수 있다.
S110 단계에서, 예측 향상부(120)는 예측 블록(P)과 부호화 정보(MLS_Info)를 수신한다. 부호화 정보에는 예측 모드, 움직임 벡터의 크기나 방향, 인트라 방향, 코딩 유닛(CU)의 사이즈, 영상의 파티션 형태, 변환 단위의 크기 등과 같은 다양한 파라미터나 조건들이 포함된다. 이러한 부호화 정보(MLS_Info)는 모드 결정부(149), 부호화 컨트롤러(160), 움직임 추정부(146), 인-루프 필터(144) 등으로부터 제공받을 수 있다. 하지만, 부호화 정보(MLS_Info)의 종류나 범위는 여기의 개시에만 국한되지 않음은 잘 이해될 것이다. 높은 정확도의 향상된 예측 블록(EP)을 생성하기 위해서 다양한 데이터들인 그것의 조합이 사용될 수 있을 것이다.
S120 단계에서, 예측 향상부(120)는 제공받은 부호화 정보(MLS_Info)를 체크하고 분석한다. 예측 향상부(120)는 제공된 예측 모드, 움직임 벡터의 크기나 방향, 인트라 방향, 코딩 유닛(CU)의 사이즈, 영상의 파티션 형태, 그리고 변환 단위의 크기 등과 같은 정보를 미리 결정된 기준에 따라 분류한다. 미리 결정된 기준은 어느 정보를 우선적으로 적용할지, 그리고 각각의 정보에 따른 세부 동작 절차들을 포함할 수 있을 것이다.
S130 단계에서, 예측 향상부(120)는 예측 모드(Prediction mode)를 체크하여 동작 분기를 수행한다. 이 실시 예에서 설명의 간략화를 위해 예측 향상부(120)가 예측 모드(Prediction mode)와 움직임 벡터(Motion vector)에 따라 머신 러닝 방식을 결정되는 것으로 가정하기로 한다. 물론, 추가적으로 다양한 부호화 정보(MLS_Info)들의 조합이 머신 러닝 방식의 결정을 위해 적용될 수 있음은 잘 이해될 것이다. 예측 모드(Prediction mode)가 인트라 모드(Intra mode)인 경우, 절차는 S180 단계로 이동한다. 반면, 예측 모드가 인터 모드(Inter mode)인 경우, 절차는 S140 단계로 이동한다.
S140 단계에서, 움직임 벡터(Motion vector)에 따른 동작 분기가 실행된다. 설명의 간략화를 위해 움직임 벡터의 방향에 따라 동작 분기가 발생하는 것으로 가정하기로 한다. 움직임 벡터(Motion vector)가 제 1 방향(Dir1)에 해당하는 경우, 절차는 S150 단계로 이동한다. 반면, 움직임 벡터(Motion vector)가 제 2 방향(Dir2)에 해당하는 경우, 절차는 S160 단계로 이동한다. 그리고 움직임 벡터(Motion vector)가 제 3 방향(Dir3)에 해당하는 경우, 절차는 S170 단계로 이동할 수 있다.
S150 단계 내지 S180 단계 각각에서는, 선택된 머신 러닝 방식에 따라 예측 블록(P)이 처리된다. 예시적으로, S150 단계에서, 예측 블록(P)은 결정 트리(Decision tree) 방식의 머신 러닝 알고리즘(ML1)에 따라 처리될 수 있다. S160 단계에서, 예측 블록(P)은 컨볼루션 신경망(Convolutional Neural Network: CNN) 방식의 머신 러닝 알고리즘(ML2)에 따라 처리될 수 있다. S170 단계에서, 예측 블록(P)은 서포트 벡터 머신(SVM) 방식의 머신 러닝 알고리즘(ML3)에 따라 처리될 수 있다. S180 단계에서, 예측 블록(P)은 패턴 인식 및 결정에 유용한 K-최근접 알고리즘(K-NN) 방식의 머신 러닝 알고리즘(ML4)에 따라 처리될 수 있다. 이 밖에도 강화 학습 알고리즘이나 다양한 머신 러닝 알고리즘들이 본 발명의 예측 블록(P)을 향상된 예측 블록(EP)으로 생성하는데 사용될 수 있을 것이다.
S190 단계에서, 예측 향상부(120)는 선택된 머신 러닝 알고리즘에 의해서 생성된 향상된 예측 블록(EP)을 출력한다. 출력된 향상된 예측 블록(EP)은 감산기(110, 도 3 참조)에 전달될 것이다.
이상의 설명에서는 예측 블록의 특성에 따른 머신 러닝 알고리즘의 종류를 선택하는 실시 예가 설명되었다. 하지만, 본 발명의 이점은 상술한 실시 예에만 국한되지는 않는다. 또 다른 특성이 이하의 도 6b를 통해서 설명될 것이다.
도 6b를 참조하면, 예측 향상부(120)는 예측 블록의 특성에 따라 어느 하나의 머신 러닝 알고리즘(예컨대, CNN) 내에서 다양한 파라미터 셋들 중 어느 하나의 파라미터 셋이 선택될 수 있다. 여기서, 머신 러닝 알고리즘의 예로 컨볼루션 신경망(CNN)이 예시적으로 기술되어 있으나, 본 발명은 여기에 국한되지 않음은 잘 이해될 것이다.
S210 단계에서, 예측 향상부(120)는 예측 블록(P)과 부호화 정보(MLS_Info)를 수신한다. 부호화 정보에는 예측 모드, 움직임 벡터의 크기나 방향, 인트라 방향, 코딩 유닛(CU)의 사이즈, 영상의 파티션 형태, 변환 단위의 크기 등과 같은 다양한 파라미터나 조건들이 포함된다. 이러한 부호화 정보(MLS_Info)는 모드 결정부(149), 부호화 컨트롤러(160), 움직임 추정부(146), 인-루프 필터(144) 등으로부터 제공받을 수 있다.
S220 단계에서, 예측 향상부(120)는 제공받은 부호화 정보(MLS_Info)를 체크하고 분석한다. 예측 향상부(120)는 제공된 예측 모드, 움직임 벡터의 크기나 방향, 인트라 방향, 코딩 유닛(CU)의 사이즈, 영상의 파티션 형태, 그리고 변환 단위의 크기 등과 같은 정보를 미리 결정된 기준에 따라 분류한다. 미리 결정된 기준은 어느 정보를 우선적으로 적용할지, 그리고 각각의 정보에 따른 세부 동작 절차들을 포함할 수 있을 것이다.
S230 단계에서, 예측 향상부(120)는 예측 모드(Prediction mode)를 체크하여 동작 분기를 수행한다. 이 실시 예에서 설명의 간략화를 위해 예측 향상부(120)가 예측 모드(Prediction mode)와 움직임 벡터(Motion vector)에 따라 머신 러닝 방식을 결정되는 것으로 가정하기로 한다. 물론, 추가적으로 다양한 부호화 정보(MLS_Info)들의 조합이 머신 러닝 방식의 결정을 위해 적용될 수 있음은 잘 이해될 것이다. 예측 모드(Prediction mode)가 인트라 모드(Intra mode)인 경우, 절차는 S280 단계로 이동한다. 반면, 예측 모드가 인터 모드(Inter mode)인 경우, 절차는 S240 단계로 이동한다.
S240 단계에서, 움직임 벡터(Motion vector)에 따른 동작 분기가 실행된다. 설명의 간략화를 위해 움직임 벡터의 방향에 따라 동작 분기가 발생하는 것으로 가정하기로 한다. 움직임 벡터(Motion vector)가 제 1 방향(Dir1)에 해당하는 경우, 절차는 S250 단계로 이동한다. 반면, 움직임 벡터(Motion vector)가 제 2 방향(Dir2)에 해당하는 경우, 절차는 S260 단계로 이동한다. 그리고 움직임 벡터(Motion vector)가 제 3 방향(Dir3)에 해당하는 경우, 절차는 S270 단계로 이동할 수 있다.
S250 단계 내지 S280 단계 각각에서는, 선택된 파라미터 셋에 따라 예측 블록(P)이 처리된다. 예시적으로, S250 단계에서, 예측 블록(P)은 제 1 파라미터 셋으로 설정된 컨볼루션 신경망(CNN) 알고리즘에 따라 처리될 수 있다. S260 단계에서, 예측 블록(P)은 제 2 파라미터 셋으로 설정된 컨볼루션 신경망(CNN) 알고리즘에 따라 처리될 수 있다. S270 단계에서, 예측 블록(P)은 제 3 파라미터 셋으로 설정된 컨볼루션 신경망(CNN) 알고리즘에 따라 처리될 수 있다. S280 단계에서, 예측 블록(P)은 제 4 파라미터 셋으로 설정된 컨볼루션 신경망(CNN) 알고리즘에 따라 처리될 수 있다. 비록, 4개의 파라미터 셋들로 분화된 실시 예가 설명되었으나, 본 발명은 여기에 국한되지 않는다.
S290 단계에서, 예측 향상부(120)는 선택된 파라미터 셋의 머신 러닝 알고리즘에 의해서 생성된 향상된 예측 블록(EP)을 출력한다. 출력된 향상된 예측 블록(EP)은 감산기(110, 도 3 참조)에 전달될 것이다.
이상에서는 본 발명의 예측 향상부(120)에 의한 부호화 정보(MLS_Info)에 따른 머신 러닝의 종류를 선택하는 방법 그리고 동일한 머신 러닝 알고리즘 내에서의 파라미터 셋의 선택 방법이 설명되었다. 다양한 예측 블록(P)에 대응하는 최적의 머신 러닝 알고리즘이나 파라미터 셋이 선택됨에 따라 향상된 예측 블록(EP)과 소스 블록(S)의 차이는 최소화될 수 있다.
도 7은 본 발명의 일 실시 예에 따른 예측 향상부의 트레이닝 방법을 보여주는 블록도이다. 도 7을 참조하면, 예측 향상부(120)에 포함되는 머신 러닝 알고리즘들은 오프라인(Off-line)에서 다양한 패턴이나 이미지로 학습 또는 트레이닝(Training)될 수 있다.
예측 향상부(120)의 각 머신 러닝 알고리즘(ML1~MLn)들에 대한 트레이닝은 소스 블록(121)과 예측 블록(122)의 입력을 통해서 수행될 수 있다. 예를 들면, 신경망 방식의 머신 러닝 알고리즘의 경우, 소스 블록(121)에 대한 다양한 예측 블록들(122)이 제공될 수 있다. 예를 들면, 다양한 예측 방식에 의해서 생성된 예측 블록(122)은 소스 영상(121)과 맵핑되도록 머신 러닝 파라미터들(ML parameter)이 업데이트될 수 있다.
이러한 소스 블록(121)과 예측 블록(122)을 사용하는 트레이닝은 머신 러닝 알고리즘(ML1~MLn)들 각각에 대해서 수행된다. 그리고 미리 준비된 다양한 영상이나 패턴들에 대한 트레이닝을 수행하면 머신 러닝 알고리즘들(ML1~MLn) 각각의 파라미터들이 고정될 것이다. 예를 들면, 컨볼루션 신경망(CNN)의 트레이닝을 위한 데이터 셋의 일종인 이미지넷(ImageNet)의 경우에는 약 14,000,000개 이상의 트레이닝 이미지가 사용될 수 있다.
상술한 학습 또는 트레이닝 과정이 완료되면, 예측 향상부(120)는 부호화 정보(MLS_Info)에 따라 입력되는 예측 블록(P)에 대해서 소스 블록(S)과 가장 유사한 값을 갖는 향상된 예측 블록(EP)을 생성할 수 있다.
도 8은 본 발명의 다른 실시 예에 따른 예측 향상부의 트레이닝 방법을 보여주는 블록도이다. 도 8을 참조하면, 예측 향상부(120)에 포함되는 머신 러닝 알고리즘들은 온라인(On-line) 트레이닝 방식에 따라 실제로 처리될 이미지들을 사용하여 트레이닝될 수 있다.
이 경우, 미리 트레이닝된 머신 러닝 알고리즘을 사용하는 것이 아니라, 입력 이미지를 구성하는 프레임들이 머신 러닝 알고리즘들의 트레이닝에 사용될 수 있다. 그리고 트레이닝 세션이 종료되면, 이후에는 트레이닝 결과를 이용하여 파라미터 업데이트만이 수행될 수 있다. 예를 들면, 입력되는 프레임들 중에서 트레이닝 세션에 해당하는 프레임들(F0~F4)을 사용하여 예측 향상부(120)의 트레이닝이 수행된다. 그리고 트레이닝 세션이 종료되면, 이후 입력되는 프레임들(F5~)을 사용한 트레이닝된 파라미터들의 업데이트만이 수행될 것이다.
온라인 트레이닝 방식을 사용하는 경우, 트레이닝을 위한 별도의 데이터 셋이 구비될 필요가 없다. 머신 러닝 알고리즘들은 입력되는 이미지들을 사용하여 트레이닝될 수 있다. 따라서, 상대적으로 파라미터의 사이즈가 작을 수 있을 것이다. 하지만, 온라인 트레이닝을 지원하기 위한 구성들과 자원들이 제공되지 않으면 충분한 성능을 내기 어려울 수도 있을 것이다.
도 9는 본 발명의 다른 실시 예에 따른 부호화기를 보여주는 블록도이다. 도 9를 참조하면, 부호화기(200)는 감산부(210), 예측 향상부(220), 변환부(232), 양자화부(234), 예측부(240), 엔트로피 부호화부(250), 그리고 부호화 컨트롤러(260)를 포함할 수 있다. 여기서, 예측부(240)는 역양자화부(241), 역변환부(242), 가산기(243), 인-루프 필터(244), 버퍼(245), 움직임 추정부(246), 움직임 보상부(247), 인트라 예측부(248), 그리고 모드 결정부(249)를 포함할 수 있다. 부호화기(200)는 머신 러닝 기반의 예측 블록의 향상 기능을 선택적으로 제공할 수 있다. 예를 들면, 부호화기(200)는 부호화 효율을 나타내는 율-왜곡 최적화(Rate-Distortion Optimization: 이하, RDO) 값에 따라 머신 러닝 기반의 예측 향상부(220)를 사용할지 판단할 수 있다.
여기서, RDO에 따라 머신 러닝 기반의 예측 향상을 사용할지 판단하는 예측 향상부(220)를 제외하면, 감산부(210), 변환부(232), 양자화부(234), 예측부(240), 엔트로피 부호화부(250), 그리고 부호화 컨트롤러(260)는 도 3의 그것들과 실질적으로 동일하다. 따라서, 감산부(210), 변환부(232), 양자화부(234), 예측부(240), 엔트로피 부호화부(250), 그리고 부호화 컨트롤러(260)의 구체적 기능에 대한 설명은 생략하기로 한다.
반면, 예측 향상부(220)는 도 3의 머신 러닝 기반의 예측 블록(P)의 향상 기능을 구비하지만, 추가적으로 RDO에 따라 향상된 예측 블록(EP)을 생성할지 또는 제공된 예측 블록(P)을 바이패스(Bypass)할지 결정할 수 있다. 만일, RDO 값이 머신 러닝 방식으로 예측 블록을 처리하는 경우에 성능 이득이 없는 것으로 판단되면, 예측 향상부(220)는 모드 결정부(249)에서 제공된 예측 블록(P)을 감산기(210)에 바이패스시킨다. 반면, RDO 값이 머신 러닝 방식으로 예측 블록을 처리하는 경우에 성능 이득이 존재하는 것으로 판단되면, 예측 향상부(220)는 모드 결정부(249)에서 제공된 예측 블록(P)을 머신 러닝 방식으로 처리하여 감산기(210)에 전달할 수 있다.
상술한 예측 향상부(220)의 선택적 예측 향상 동작을 통해서 예측 향상에 의한 오버헤드가 발생하는 경우를 사전에 차단할 수 있다. 여기서, 예측 향상부(220)의 예측 향상 동작의 적용 여부를 결정하기 위한 정보로 RDO가 예시적으로 설명되었다. 하지만, 본 발명의 예측 향상부(220)는 RDO뿐 아니라 다양한 성능 파라미터를 사용하여 선택적으로 예측 향상 동작을 수행할 수 있을 것이다.
도 10은 도 9의 예측 향상부의 기능을 보여주는 블록도이다. 도 10을 참조하면, 예측 향상부(220)는 예측 향상 블록(222)과 선택 블록(224)을 포함한다. 예측 향상 블록(222)은 다양한 부호화 정보(MLS_Info)를 이용하여 예측 블록(P)을 최적의 향상된 예측 블록(EP)으로 변환시킨다. 선택 블록(224)은 예측 블록(P)과 향상된 예측 블록(EP) 중 어느 하나를 선택한다.
예측 향상 블록(222)은 다양한 머신 러닝 알고리즘들(ML1~MLn)을 구비하고 있을 수 있다. 예측 향상 블록(222)은 부호화 정보(MLS_Info)를 사용하여 최적의 향상 성능을 갖는 머신 러닝 알고리즘을 선택할 수 있다. 실질적으로 예측 향상 블록(222)은 도 4의 예측 향상부(120)와 동일한 기능을 수행한다. 따라서, 예측 향상 블록(222)에 대한 설명은 생략하기로 한다.
선택 블록(224)은 RDO를 기준으로 예측 블록(P)과 향상된 예측 블록(EP) 중 어느 하나를 선택한다. 선택된 어느 하나의 블록 데이터가 감산기(210)에 제공된 선택 예측 블록(SP)으로 출력될 수 있다. 본 발명의 RDO에 따른 예측 블록(P) 또는 향상된 예측 블록(EP)의 선택에 의해서 머신 러닝의 적용에 의해서 발생되는 오버헤드를 줄일 수 있다.
도 11은 도 10의 예측 향상부의 동작을 예시적으로 보여주는 순서도이다. 도 11을 참조하면, 예측 향상부(220)는 율-왜곡 최적화(RDO) 값을 참조하여 모드 결정부(249)로부터 제공되는 향상 동작을 적용하지 않은 예측 블록(P)을 감산기에 바이패스시킬 수도 있다.
S310 단계에서, 예측 향상부(220)는 모드 결정부(249)로부터 생성된 예측 블록(P)을 수신한다.
S320 단계에서, 예측 향상부(220)는 율-왜곡 최적화(RDO) 값을 수신한다. 율-왜곡 최적화(RDO) 값에 따라 머신 러닝 기반의 예측 향상 동작을 수행할지 또는 예측 향상 동작의 수행없이 모드 결정부(249)로부터 제공되는 예측 블록(P)을 감산기(210)에 전달할지 판단할 수 있다.
S330 단계에서, 율-왜곡 최적화(RDO) 값에 따라 머신 러닝으로 예측 블록(P)을 처리할 때의 성능이 머신 러닝을 사용하지 않을 때보다 같거나 낮은 경우(ML≤non-ML), 절차는 S340 단계로 이동한다. 반면, 머신 러닝으로 예측 블록(P)을 처리할 때의 성능이 머신 러닝을 사용하지 않을 때보다 좋은 경우(ML > non-ML), 절차는 S350 단계로 이동한다.
S340 단계에서, 예측 향상부(220)는 모드 결정부(249)로부터 제공된 예측 블록(P)을 선택하여 감산기(210)에 전달한다.
S350 단계에서, 예측 향상부(220)는 모드 결정부(249)로부터 제공된 예측 블록(P)을 예측 향상 블록(222)으로 처리한다. 그리고 예측 향상부(220)는 향상된 예측 블록(EP)을 선택하여 감산기(210)로 전달한다.
S360 단계에서, 부호화기(200)는 전송되는 비트-스트림이 머신 러닝을 적용하여 압축되었는지를 비디오 스트림 신텍스(Video stream syntax)에 기입한다.
이상에서는 본 발명의 머신 러닝 기반의 예측 블록의 활성화 동작의 적용 여부를 율-왜곡 최적화(RDO) 값을 사용하여 판단하는 실시 예가 설명되었다. 어떤 경우에는 머신 러닝 기반의 활성화를 적용할 때, 오버헤드가 증가하는 특수한 경우가 발생할 수 있다. 이런 경우, 본 발명의 부호화기(200)는 머신 러닝을 적용하지 않은 예측 블록(P)을 선택하여 머신 러닝의 수행에 따른 오버헤드를 차단할 수 있다.
도 12는 도 11에 설명된 본 발명의 비디오 스트림 신텍스(Video stream syntax)의 예를 보여주는 도면이다. 도 12를 참조하면, 코딩 유닛을 나타내는 신텍스에서 본 발명의 머신 러닝 기반의 예측 상향 동작이 적용되었는지 확인할 수 있다.
이미지나 블록에 대한 비트-스트림을 전송할 때, 부호화기(200)는 머신 러닝 기반의 예측 향상이 적용된 경우, 비디오 스트림 신텍스에 플래그(ml_based_pred_enhancement_flag)를 '1'로 기입할 수 있다. 반면, 이미지나 블록에 대한 비트-스트림을 전송할 때, 부호화기(200)는 머신 러닝 기반의 예측 향상이 적용되지 않은 경우, 비디오 스트림 신텍스의 플래그에 '0'을 기입할 수 있을 것이다.
상술한 비디오 스트림 신텍스에 플래그(ml_based_pred_enhancement_flag)를 참조하면, 복호기는 복호 동작시 머신 러닝에 의한 예측 향상 동작을 적용하거나 스킵할 수 있다.
도 13은 머신 러닝 기반의 복호기를 보여주는 블록도이다. 도 13을 참조하면, 본 발명의 실시 예에 따른 머신 러닝 기반의 복호기(300)는 복호를 위한 머신 러닝 기반의 예측 향상부(390)를 포함할 수 있다.
예측 향상부(390)는 실질적으로 앞서 설명된 도 3의 예측 향상부(120) 또는 도 9의 예측 향상부(220)와 동일 또는 유사한 동작을 수행할 수 있다. 즉, 예측 향상부(390)는 부호화 정보(MLS_Info)를 이용하여 최적의 머신 러닝 알고리즘을 선택하고, 선택된 머신 러닝 알고리즘을 이용하여 예측 블록(P)을 향상된 예측 블록(EP)으로 생성할 수 있다. 또는, 예측 향상부(390)는 비디오 스트림 신텍스에 포함된 플래그를 참조하여 예측 블록(P)을 선택하거나 향상된 예측 블록(EP)을 선택할 수도 있을 것이다. 이러한 머신 러닝 기반의 향상된 예측 블록(EP)을 사용하여 복호기(300)는 비트-스트림(30)을 출력 이미지(40)로 복원할 수 있다.
도 14는 도 13의 복호기를 좀더 구체적으로 보여주는 블록도이다. 도 14를 참조하면, 복호기(300)는 엔트로피 복호화부(310), 역양자화부(320), 역변환부(330), 가산기(340), 인-루프 필터(350), 버퍼(360), 인트라 예측부(370), 움직임 보상부(372), 움직임 추정부(374), 모드 결정부(380), 그리고 예측 향상부(390)를 포함할 수 있다.
복호기(300)는 부호화기(도 1의 100 또는 도 9의 200)에서 출력된 비트-스트림을 입력받아 인트라 모드 또는 인터 모드로 복호화를 수행하여 복원 영상을 출력할 수 있다. 복호기(300)는 입력받은 비트-스트림으로부터 복원된 잔차 블록(Reconstructed Residual block)을 얻고 예측 블록(P)을 생성한다. 그리고 예측 블록(P)을 예측 향상부(390)를 사용하여 머신 러닝 기반의 처리를 수행하면, 향상된 예측 블록(EP)이 생성된다. 복호기(300)는 복원된 잔차 블록과 향상된 예측 블록을 더하여 재구성된 복원 블록을 생성할 수 있다.
복호기(300)의 제반 구성은 앞서 설명된 부호화기(100 또는 200)의 그것들과 실질적으로 동일하다. 따라서 복호기(300)의 구성들에 대한 구체적인 설명은 여기서 생략하기로 한다.
도 15는 본 발명의 머신 러닝 기방의 예측 향상 동작을 수행하는 휴대용 단말기를 예시적으로 보여주는 블록도이다. 도 15를 참조하면, 본 발명의 실시 예에 따른 휴대용 단말기(1000)는 이미지 처리부(1100), 무선 송수신부(1200), 오디오 처리부(1300), PMIC(1400), 배터리(1450), 메모리(1500), 유저 인터페이스(1600), 그리고 컨트롤러(1700)를 포함한다.
이미지 처리부(1100)는 렌즈(1110), 이미지 센서(1120), 이미지 프로세서(1130), 그리고 디스플레이부(1140)를 포함한다. 무선 송수신부(1210)는 안테나(1210), 트랜시버(1220), 모뎀(1230)을 포함한다. 오디오 처리부(1300)는 오디오 프로세서(1310), 마이크(MIC), 그리고 스피커(SPK)를 포함한다.
특히, 본 발명의 실시 예에 따른 이미지 처리부(1100)는 머신 러닝 기법을 적용하여 예측 블록을 처리할 수 있다. 이 경우, 비디오 신호의 헤더 데이터의 사이즈 증가없이 레지듀얼 데이터를 줄일 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (10)

  1. 입력 영상을 부호화하여 비트-스트림으로 출력하는 영상 부호화기에 있어서:
    이전 입력 블록의 데이터를 사용하여 예측 블록을 생성하는 예측부;
    상기 예측 블록을 머신 러닝 기법을 적용하여 향상된 예측 블록으로 변환하고, 상기 예측 블록의 율-왜곡 최적화(Rate-Distortion Optimization: RDO) 값 및 상기 향상된 예측 블록의 RDO 값에 기반하여 상기 예측 블록 또는 상기 향상된 예측 블록 중 하나를 선택하는 예측 향상부; 그리고
    현재 입력 블록과, 상기 예측 향상부에 의해 선택된 블록의 픽셀 데이터를 차감하여 잔차 블록을 생성하는 감산기를 포함하되,
    상기 예측 향상부는:
    상기 예측 블록의 RDO 값에 비해, 상기 향상된 예측 블록의 RDO 값이 성능 이득이 존재하는 것으로 판단되는 경우 상기 향상된 예측 블록을 선택하고,
    상기 예측 블록의 RDO 값에 비해, 상기 향상된 예측 블록의 RDO 값이 성능 이득이 없는 것으로 판단되는 경우 상기 예측 블록을 선택하는 영상 부호화기.
  2. 제 1 항에 있어서,
    상기 예측 향상부는 상기 예측 블록을 처리하기 위한 복수의 머신 러닝 알고리즘을 실행하는 영상 부호화기.
  3. 제 2 항에 있어서,
    상기 예측 향상부는 상기 입력 영상의 부호화 정보를 참조하여 상기 복수의 머신 러닝 알고리즘 중 적어도 하나를 선택하여 상기 예측 블록을 처리하는 영상 부호화기.
  4. 제 3 항에 있어서,
    상기 부호화 정보에는 상기 예측 블록에 대응하는 예측 모드, 움직임 벡터의 크기 또는 방향, 인트라 방향, 코딩 유닛 사이즈, 영상의 파티션 형태, 그리고 변환 단위의 크기 중 적어도 하나를 포함하는 영상 부호화기.
  5. 제 2 항에 있어서,
    상기 복수의 머신 러닝 알고리즘은, 결정 트리(Decision Tree), 신경망(NN), 컨볼루션 신경망(CNN), 서포트 벡터 머신(SVM), 강화 학습, 그리고 K-최근접 알고리즘 중 적어도 하나를 포함하는 영상 부호화기.
  6. 삭제
  7. 제 1 항에 있어서,
    상기 예측 향상부는:
    복수의 머신 러닝 알고리즘 중에서 어느 하나를 선택하여 상기 예측 블록을 처리하고, 상기 처리 결과에 따라 상기 향상된 예측 블록을 생성하는 예측 향상 블록; 그리고
    상기 예측 블록과 상기 향상된 예측 블록 각각의 율-왜곡 최적화(RDO) 값에 따라 상기 예측 블록과 상기 향상된 예측 블록 중 어느 하나를 선택하여 상기 감산기로 전달하는 선택 블록을 포함하는 영상 부호화기.
  8. 제 1 항에 있어서,
    상기 예측 향상부는 부호화 정보에 따라 복수의 파라미터 셋들 중 어느 하나를 선택하여 상기 예측 블록을 처리하는 머신 러닝 알고리즘을 실행하는 영상 부호화기.
  9. 영상 데이터의 처리 방법에 있어서;
    이전 입력 블록의 시간 영역 데이터로부터 예측 블록을 생성하는 단계;
    상기 예측 블록을 복수의 머신 러닝 기법들 중 적어도 하나를 적용하여 향상된 예측 블록으로 변환하는 단계;
    율-왜곡 최적화(Rate-Distortion Optimization: RDO) 값에 기반하여 상기 예측 블록 또는 상기 향상된 예측 블록 중 하나를 선택하는 단계; 및
    현재 입력 블록으로부터 상기 선택된 블록을 차감하여 잔차 블록을 생성하는 단계를 포함하되,
    상기 예측 블록 또는 상기 향상된 예측 블록 중 하나를 선택하는 단계는:
    상기 예측 블록의 RDO 값에 비해, 상기 향상된 예측 블록의 RDO 값이 성능 이득이 존재하는 것으로 판단되는 경우 상기 향상된 예측 블록을 선택하고, 상기 예측 블록의 RDO 값에 비해, 상기 향상된 예측 블록의 RDO 값이 성능 이득이 없는 것으로 판단되는 경우 상기 예측 블록을 선택하는 단계를 포함하는 처리 방법.
  10. 영상 데이터의 처리 방법에 있어서;
    이전 입력 블록의 시간 영역 데이터로부터 예측 블록을 생성하는 단계;
    상기 예측 블록을 복수의 머신 러닝 기법들 중 적어도 하나를 적용하여 향상된 예측 블록으로 변환하는 단계;
    상기 향상된 예측 블록에 대응하는 율-왜곡 최적화(Rate-Distortion Optimization; RDO) 값에 기반하여 상기 예측 블록 및 상기 향상된 예측 블록 중 어느 하나를 선택하는 단계; 그리고
    현재 입력 블록으로부터 상기 선택된 블록을 차감하여 잔차 블록을 생성하는 단계를 포함하는 처리 방법.
KR1020170136043A 2017-10-19 2017-10-19 머신 러닝을 사용하는 영상 부호화기 및 그것의 데이터 처리 방법 KR102535361B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020170136043A KR102535361B1 (ko) 2017-10-19 2017-10-19 머신 러닝을 사용하는 영상 부호화기 및 그것의 데이터 처리 방법
US15/980,808 US11115673B2 (en) 2017-10-19 2018-05-16 Image encoder using machine learning and data processing method of the image encoder
TW107130991A TWI748125B (zh) 2017-10-19 2018-09-04 使用機器學習的影像編碼器以及影像編碼器的資料處理方法
CN201811201437.6A CN109688406B (zh) 2017-10-19 2018-10-16 使用机器学习的图像编码器及图像编码器的数据处理方法
US17/465,568 US11694125B2 (en) 2017-10-19 2021-09-02 Image encoder using machine learning and data processing method of the image encoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170136043A KR102535361B1 (ko) 2017-10-19 2017-10-19 머신 러닝을 사용하는 영상 부호화기 및 그것의 데이터 처리 방법

Publications (2)

Publication Number Publication Date
KR20190043930A KR20190043930A (ko) 2019-04-29
KR102535361B1 true KR102535361B1 (ko) 2023-05-24

Family

ID=66170216

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170136043A KR102535361B1 (ko) 2017-10-19 2017-10-19 머신 러닝을 사용하는 영상 부호화기 및 그것의 데이터 처리 방법

Country Status (4)

Country Link
US (2) US11115673B2 (ko)
KR (1) KR102535361B1 (ko)
CN (1) CN109688406B (ko)
TW (1) TWI748125B (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102535361B1 (ko) * 2017-10-19 2023-05-24 삼성전자주식회사 머신 러닝을 사용하는 영상 부호화기 및 그것의 데이터 처리 방법
CN108665067B (zh) * 2018-05-29 2020-05-29 北京大学 用于深度神经网络频繁传输的压缩方法及系统
KR102022648B1 (ko) * 2018-08-10 2019-09-19 삼성전자주식회사 전자 장치, 이의 제어 방법 및 서버의 제어 방법
US11240492B2 (en) * 2019-01-22 2022-02-01 Apple Inc. Neural network based residual coding and prediction for predictive coding
US10652581B1 (en) * 2019-02-27 2020-05-12 Google Llc Entropy coding in image and video compression using machine learning
US10771807B1 (en) * 2019-03-28 2020-09-08 Wipro Limited System and method for compressing video using deep learning
US10552121B1 (en) * 2019-05-07 2020-02-04 Capital One Services, Llc System and method for dynamic process flow control based on real-time events
CN110163370B (zh) 2019-05-24 2021-09-17 上海肇观电子科技有限公司 深度神经网络的压缩方法、芯片、电子设备及介质
WO2020242738A1 (en) * 2019-05-26 2020-12-03 Alibaba Group Holding Limited Ai-assisted programmable hardware video codec
JP7318314B2 (ja) * 2019-05-30 2023-08-01 富士通株式会社 符号化プログラム、復号プログラム、符号化装置、復号装置、符号化方法及び復号方法
CN110557646B (zh) * 2019-08-21 2021-12-07 天津大学 一种智能视点间的编码方法
KR20210042588A (ko) 2019-10-10 2021-04-20 엘지전자 주식회사 영상을 압축 또는 복원하기 위한 방법 및 장치
CN110738313B (zh) * 2019-10-15 2022-05-31 阿波罗智能技术(北京)有限公司 用于评估量化操作的方法、装置、设备和介质
CN110740319B (zh) * 2019-10-30 2024-04-05 腾讯科技(深圳)有限公司 视频编解码方法、装置、电子设备及存储介质
KR102245682B1 (ko) * 2019-11-11 2021-04-27 연세대학교 산학협력단 영상 압축 장치, 이의 학습 장치 및 방법
TWI733270B (zh) * 2019-12-11 2021-07-11 中華電信股份有限公司 機器學習模型的最佳超參數組態的訓練裝置和訓練方法
CN111160487B (zh) * 2019-12-31 2024-02-13 清华大学 人脸图像数据集的扩充方法和装置
EP4107947A4 (en) * 2020-02-21 2024-03-06 Nokia Technologies Oy METHOD, APPARATUS AND COMPUTER PROGRAM PRODUCT FOR VIDEO ENCODING AND DECODING
WO2021170901A1 (en) * 2020-02-24 2021-09-02 Nokia Technologies Oy A method, an apparatus and a computer program product for video encoding and video decoding
US11356601B2 (en) 2020-06-19 2022-06-07 Micron Technology, Inc. Intelligent digital camera having deep learning accelerator and random access memory
US20210400286A1 (en) * 2020-06-19 2021-12-23 Micron Technology, Inc. Video Compression in Removable Storage Device having Deep Learning Accelerator and Random Access Memory
US11490135B2 (en) 2020-06-19 2022-11-01 Micron Technology, Inc. Surveillance camera upgrade via removable media having deep learning accelerator and random access memory
KR102394951B1 (ko) * 2020-08-27 2022-05-09 한국전자기술연구원 인코딩, 디코딩 장치 및 방법
WO2022186620A1 (ko) * 2021-03-04 2022-09-09 현대자동차주식회사 인트라 예측의 예측 신호를 개선하는 비디오 코딩방법 및 장치
CN113052257B (zh) * 2021-04-13 2024-04-16 中国电子科技集团公司信息科学研究院 一种基于视觉转换器的深度强化学习方法及装置
CN113240605A (zh) * 2021-05-21 2021-08-10 南开大学 基于对称神经网络进行正反双向学习的图像增强方法
WO2023287018A1 (ko) * 2021-07-13 2023-01-19 현대자동차주식회사 딥러닝 기반 인트라 예측 신호를 개선하는 비디오 코딩방법 및 장치
WO2023198057A1 (en) * 2022-04-12 2023-10-19 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing
WO2023211253A1 (ko) * 2022-04-28 2023-11-02 인텔렉추얼디스커버리 주식회사 신경망 기반 움직임 벡터 필드 압축을 이용한 비디오 압축 방법
WO2024039166A1 (ko) * 2022-08-18 2024-02-22 삼성전자 주식회사 Ai를 이용하는 영상 복호화 장치, 영상 부호화 장치 및 이들에 의한 방법
WO2024058642A1 (ko) * 2022-09-16 2024-03-21 한국전자통신연구원 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009111691A (ja) * 2007-10-30 2009-05-21 Hitachi Ltd 画像符号化装置及び符号化方法、画像復号化装置及び復号化方法
WO2016199330A1 (ja) * 2015-06-12 2016-12-15 パナソニックIpマネジメント株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4735375B2 (ja) 2006-04-04 2011-07-27 株式会社日立製作所 画像処理装置及び動画像符号化方法。
US8428133B2 (en) 2007-06-15 2013-04-23 Qualcomm Incorporated Adaptive coding of video block prediction mode
JP4717860B2 (ja) * 2007-08-22 2011-07-06 眞一郎 湯村 データ圧縮方法及び画像表示方法及び表示画像拡大方法
US8929440B2 (en) 2010-04-09 2015-01-06 Sony Corporation QP adaptive coefficients scanning and application
JP2012065081A (ja) 2010-09-15 2012-03-29 Hitachi Ltd 画像符号化方法、画像復号化方法、画像符号化装置及び画像復号化装置
KR20120100448A (ko) 2011-03-04 2012-09-12 (주)스프링웨이브 머신 러닝을 이용한 동영상 압축 기법 및 장치
CN106162167B (zh) 2015-03-26 2019-05-17 中国科学院深圳先进技术研究院 基于学习的高效视频编码方法
US10827186B2 (en) * 2016-08-25 2020-11-03 Intel Corporation Method and system of video coding with context decoding and reconstruction bypass
CN106973293B (zh) * 2017-04-21 2020-10-27 中国科学技术大学 基于视差预测的光场图像编码方法
EP3451293A1 (en) 2017-08-28 2019-03-06 Thomson Licensing Method and apparatus for filtering with multi-branch deep learning
KR102535361B1 (ko) * 2017-10-19 2023-05-24 삼성전자주식회사 머신 러닝을 사용하는 영상 부호화기 및 그것의 데이터 처리 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009111691A (ja) * 2007-10-30 2009-05-21 Hitachi Ltd 画像符号化装置及び符号化方法、画像復号化装置及び復号化方法
WO2016199330A1 (ja) * 2015-06-12 2016-12-15 パナソニックIpマネジメント株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置

Also Published As

Publication number Publication date
US20220007045A1 (en) 2022-01-06
US11115673B2 (en) 2021-09-07
CN109688406B (zh) 2023-05-30
TW201924340A (zh) 2019-06-16
US20190124348A1 (en) 2019-04-25
CN109688406A (zh) 2019-04-26
KR20190043930A (ko) 2019-04-29
US11694125B2 (en) 2023-07-04
TWI748125B (zh) 2021-12-01

Similar Documents

Publication Publication Date Title
KR102535361B1 (ko) 머신 러닝을 사용하는 영상 부호화기 및 그것의 데이터 처리 방법
KR102165340B1 (ko) 색차 성분 양자화 매개 변수 결정 방법 및 이러한 방법을 사용하는 장치
KR102309910B1 (ko) 비디오 부호화기의 최적 모드 결정 장치 및 최적 모드 결정을 이용한 비디오 부호화 방법
KR101947142B1 (ko) 스킵 모드를 이용한 영상 복호화 방법 및 이러한 방법을 사용하는 장치
KR102140331B1 (ko) 인트라 예측 방법 및 그 장치
TW202005399A (zh) 基於區塊之自適應迴路濾波器(alf)之設計及發信令
WO2021239160A1 (zh) 视频解码方法、视频编码方法、电子设备及存储介质
KR101960470B1 (ko) 오프라인 cabac을 지원하는 비디오 코딩 프로세스의 비트 예측 기반 비트 레이트 컨트롤 방법 및 그 장치
KR20130054396A (ko) 최적화된 디블록킹 필터
JP7439841B2 (ja) ループ内フィルタリングの方法及びループ内フィルタリングの装置
JP2023552923A (ja) ビデオのトランスコード方法、装置、電子機器及び記憶媒体
JP2022000953A (ja) イントラ予測装置、画像符号化装置、画像復号装置、及びプログラム
KR20130078569A (ko) 관심영역 기반의 화질 향상을 위한 스크린 콘텐츠 비디오 부호화/복호화 방법 및 그 장치
CN114830642A (zh) 图像编码方法和图像解码方法
JP2012065176A (ja) 動画像符号化装置
CN114830646A (zh) 图像编码方法和图像解码方法
CN113766233A (zh) 图像预测方法、编码器、解码器以及存储介质
CN112640458A (zh) 信息处理方法及装置、设备、存储介质
JP7100194B2 (ja) 画像符号化装置、画像復号装置、及びプログラム
WO2023019407A1 (zh) 帧间预测方法、编码器、解码器以及存储介质
US20230089932A1 (en) Method and system of video coding using a subset of available intra prediction modes for multiple reference lines
JP2021197683A (ja) 学習装置、ループフィルタ制御装置及びそれらのプログラム、並びに、復号装置
CN114830650A (zh) 图像编码方法和图像解码方法
CN114788270A (zh) 图像编码方法和图像解码方法
CN114830643A (zh) 图像编码方法和图像解码方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant