1 |
1
커널 또는 활성화 데이터를 압축하여 비트스트림으로 생성하는 인코딩부; 및상기 압축된 데이터를 레이어, 타일 및 블록 중 어느 하나의 단위로 구분하는 구분자를 상기 비트스트림에 삽입하여 출력하는 삽입부;를 포함하되,상기 인코딩부는,커널 또는 활성화 데이터를 양자화하는 양자화부;상기 양자화된 커널 또는 활성화 데이터와 이전 커널 또는 활성화 데이터를 바탕으로 문맥 정보를 도출하는 문맥 모델링부;상기 문맥 모델링부의 문맥 정보를 기반으로 상기 양자화부를 통해 양자화된 커널 또는 활성화 데이터를 압축하여 비트스트림으로 생성하는 엔트로피 코딩부; 및상기 압축된 데이터를 레이어, 타일 및 블록 중 어느 하나의 단위로 구분하는 구분자를 상기 비트스트림에 삽입하여 출력하는 삽입부;를 포함하는 인코더
|
2 |
2
제1항에 있어서 상기 엔트로피 코딩부는,런-렝스 코딩(Run-Length Coding), 허프만 코딩(Huffman Coding) 또는 아리스메틱 코딩(Arithmetic Coding) 방법을 이용하는 것을 특징으로 하는 인코더
|
3 |
3
제1항에 있어서,상기 커널 또는 활성화 데이터를 미리 인코딩 된 커널 또는 활성화 데이터와의 상관성을 이용하여 예측하는 예측부;상기 커널 또는 활성화 데이터를 시간 영역에서 주파수 영역으로 변환하는 변환부; 및상기 커널 또는 활성화 데이터를 복수개의 작은 차원 데이터로 분해하는 분해부;를 더 포함하는 것을 특징으로 하는 인코더
|
4 |
4
제3항에 있어서 상기 삽입부는, 인코딩 방식에 따라 상기 예측부, 변환부 및 분해부를 선택적으로 활성화하는 활성화 여부를 표시하는 플래그를 상기 비트스트림에 더 삽입하는 것을 특징으로 하는 인코더
|
5 |
5
제3항에 있어서 상기 변환부는,상기 커널 또는 활성화 데이터를 DCT(Discrete Cosine Transform), DST(Discrete Sine Transform) 또는 DFT(Discrete Fourier Transform) 변환하는 것을 특징으로 하는 인코더
|
6 |
6
제3항에 있어서 상기 분해부는 저차원 분해(Low Rank Decomposition) 또는 CP 분해(Canonical Polyadic Decomposition)를 이용하는 것을 특징으로 하는 인코더
|
7 |
7
메모리;비트스트림에 삽입된 레이어, 타일 및 블록 단위의 커널 또는 활성화 데이터 중 어느 하나의 단위를 구분하는 구분자를 이용하여 상기 비트스트림을 단위로 구분하는 파서; 및상기 비트스트림 중 상기 파서에 의해 구분된 단위를 디코딩하여 상기 메모리에 저장하는 디코딩부;를 포함하는 디코더
|
8 |
8
제7항에 있어서 상기 디코딩부는,상기 구분된 단위의 커널 또는 활성화 데이터를 문맥 정보를 이용하여 엔트로피 디코딩하는 엔트로피 디코딩부; 상기 엔트로피 디코딩된 커널 또는 활성화 데이터와 이전 엔트로피 디코딩된 커널 또는 활성화 데이터를 바탕으로 문맥 정보를 도출하는 문맥 모델링부;를 및상기 엔트로피 디코딩 된 커널 또는 활성화 데이터를 역양자화하는 역양자화부;를 포함하는 것을 특징으로 하는 디코더
|
9 |
9
제8항에 있어서 상기 디코딩부는,상기 엔트로피 디코딩 된 커널 또는 활성화 데이터를 이미 엔트로피 디코딩 된 커널 또는 활성화 데이터와의 상관성을 이용하여 역예측하는 역예측부;상기 엔트로피 디코딩 된 커널 또는 활성화 데이터를 주파수 영역에서 시간 영역으로 역변환하는 역변환부; 및상기 커널 또는 활성화 데이터를 복수개의 낮은 차원 데이터에서 보다 높은 차원의 데이터로 복원하는 역분해부;를 더 포함하는 디코더
|
10 |
10
메모리;비트스트림에 삽입된 레이어, 타일 및 블록 단위의 커널 또는 활성화 데이터 중 어느 하나의 단위를 구분하는 구분자를 이용하여 상기 비트스트림을 단위로 구분하는 파서;상기 비트스트림 중 상기 파서에 의해 구분된 단위를 디코딩하여 상기 메모리에 저장하는 디코더; 및 상기 디코딩된 데이터를 이용하여 딥러닝 연산을 수행하는 가속부;를 포함하는 딥러닝 가속 장치
|
11 |
11
커널 또는 활성화 데이터를 양자화 하는 단계;상기 양자화된 커널 또는 활성화 데이터와 이전 커널 또는 활성화 데이터를 바탕으로 문맥 정보를 도출하는 단계;상기 도출된 문맥 정보를 기반으로 상기 양자화된 커널 또는 활성화 데이터를 압축하여 비트스트림으로 생성하는 단계; 및상기 압축된 커널 또는 활성화 데이터를 레이어, 타일 및 블록 중 어느 하나의 단위로 구분하는 구분자를 상기 비트스트림에 삽입하여 출력하는 단계;를 포함하는 인코딩 방법
|
12 |
12
비트스트림에 삽입된 레이어, 타일 및 블록 단위의 커널 또는 활성화 데이터 중 어느 하나의 단위를 구분하는 구분자를 이용하여 상기 비트스트림을 단위로 구분하는 단계;상기 구분된 단위의 커널 또는 활성화 데이터를 문맥 정보를 이용하여 엔트로피 디코딩하는 단계; 상기 엔트로피 디코딩된 커널 또는 활성화 데이터와 이전 엔트로피 디코딩된 커널 또는 활성화 데이터를 바탕으로 문맥 정보를 도출하는 단계; 및상기 엔트로피 디코딩 된 커널 또는 활성화 데이터를 역양자화하는 단계;를 포함하는 디코딩 방법
|
13 |
13
메모리;레이어, 타일 및 블록 중 어느 하나의 단위로 구분된 커널 데이터 비트스트림을 상기 단위로 디코딩하고 상기 메모리에 저장하는 제1디코더;활성화 데이터를 압축하고 레이어, 타일 및 블록 중 어느 하나의 단위로 구분하는 구분자를 삽입한 활성화 데이터 비트스트림을 생성하는 인코더;상기 구분자를 이용하여 상기 활성화 데이터 비트스트림을 레이어, 타일 및 블록 중 어느 하나의 단위로 구분하는 파서;상기 구분된 활성화 데이터 비트스트림을 상기 단위로 디코딩하여 상기 메모리에 저장하는 제2디코더; 및상기 메모리에 저장된 커널 또는 활성화 디코딩 데이터를 이용하여 딥러닝 연산을 수행하는 가속부를 포함하는 프로세서
|