KR102555698B1 - 인공지능을 이용한 자동 자막 동기화 방법 및 장치 - Google Patents
인공지능을 이용한 자동 자막 동기화 방법 및 장치 Download PDFInfo
- Publication number
- KR102555698B1 KR102555698B1 KR1020220107115A KR20220107115A KR102555698B1 KR 102555698 B1 KR102555698 B1 KR 102555698B1 KR 1020220107115 A KR1020220107115 A KR 1020220107115A KR 20220107115 A KR20220107115 A KR 20220107115A KR 102555698 B1 KR102555698 B1 KR 102555698B1
- Authority
- KR
- South Korea
- Prior art keywords
- voice
- segmentation
- caption
- text
- subtitle
- Prior art date
Links
- 238000013473 artificial intelligence Methods 0.000 title description 3
- 230000011218 segmentation Effects 0.000 claims abstract description 126
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000000605 extraction Methods 0.000 claims abstract description 25
- 238000007781 pre-processing Methods 0.000 claims abstract description 25
- 238000006243 chemical reaction Methods 0.000 claims description 27
- 230000005236 sound signal Effects 0.000 claims description 26
- 238000000926 separation method Methods 0.000 claims description 20
- 238000012217 deletion Methods 0.000 claims description 17
- 230000037430 deletion Effects 0.000 claims description 17
- 238000013135 deep learning Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 230000000694 effects Effects 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 16
- 230000015654 memory Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 15
- 239000000284 extract Substances 0.000 description 13
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000010183 spectrum analysis Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0272—Voice signal separating
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/04—Time compression or expansion
- G10L21/055—Time compression or expansion for synchronising with other signals, e.g. video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4884—Data services, e.g. news ticker for displaying subtitles
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Quality & Reliability (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
콘텐츠 영상과 관련된 자막 데이터를 자동으로 수정하여 수정 자막 데이터를 생성하는 자동 자막 동기화 장치 및 방법이 제공된다. 실시예에 따른 자동 자막 동기화 장치는 상기 콘텐츠 영상에서 음성을 추출하는 음성 추출부; 상기 추출된 음성을 인식하여 음성 인식 텍스트를 생성하고, 상기 음성 인식 텍스트와 상기 자막 데이터를 비교하여 복수의 청크(chunks)로 구성되는 분할 정보를 생성하는 분할 정보 생성부; 상기 분할 정보에 기초하여 상기 음성을 분할하여 음성 세그멘테이션 및 상기 분할 정보에 기초하여 상기 자막 데이터를 분할하여 자막 세그멘테이션을 생성하는 데이터 전처리부; 및 상기 음성 세그멘테이션과 상기 자막 세그멘테이션에 기초하여 강제 정렬(forced alignment)을 수행하여 상기 수정 자막 데이터를 생성하는 강제 정렬 수행부를 포함한다.
Description
본 발명은 인공지능을 이용한 자동 자막 동기화 방법 및 장치로, 콘텐츠 영상에 대응하나 싱크가 맞지 않는 자막을 인공지능 기반의 음성 인식 장치 및 강제 정렬(forced-alignment)을 이용하여 자동으로 동기화하는 방법 및 장치에 관한 것이다.
4차 산업 혁명과 함께 다양한 언어의 콘텐츠 영상이 사용자들에게 제공되고 있다. 콘텐츠 공급사는 콘텐츠 영상을 제작할 때 자막을 함께 생성하고, 자막을 사용자들에게 제공하게 된다. 이에 따라, 사용자는 모국어가 아닌 다른 언어의 콘텐츠 영상도 부담 없이 즐길 수 있게 된다.
다만, 콘텐츠 영상이 정식 출시가 되기까지 콘텐츠 영상의 편집이 수시로 이루어질 수 있으며, 이에 따라 자막의 동기화를 새로 편집된 콘텐츠 영상에 대응하여 수정하는 작업이 수반되게 된다. 이러한 자막의 동기화의 수정은 대부분 수작업으로 이루어지고 있으며, 많은 인력과 시간이 소비되고 있는 실정이다.
즉, 더욱 효율적이면서 정확하게 콘텐츠 영상에 대응하는 자막을 자동으로 동기화할 수 있는 장치 및 방법이 요구되고 있는 실정이다.
본 발명의 목적은, 더욱 효율적이면서 정확하게 콘텐츠 영상에 대응하는 자막을 자동으로 동기화할 수 있는 장치 및 방법을 제공하는 것이다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 몇몇 실시예에 따른 자동 자막 동기화 장치는 콘텐츠 영상과 관련된 자막 데이터를 자동으로 수정하여 수정 자막 데이터를 생성하는 자동 자막 동기화 장치로서, 상기 콘텐츠 영상에서 음성을 추출하는 음성 추출부; 상기 추출된 음성을 인식하여 음성 인식 텍스트를 생성하고, 상기 음성 인식 텍스트와 상기 자막 데이터를 비교하여 복수의 청크(chunks)로 구성되는 분할 정보를 생성하는 분할 정보 생성부; 상기 분할 정보에 기초하여 상기 음성을 분할하여 음성 세그멘테이션 및 상기 분할 정보에 기초하여 상기 자막 데이터를 분할하여 자막 세그멘테이션을 생성하는 데이터 전처리부; 및 상기 음성 세그멘테이션과 상기 자막 세그멘테이션에 기초하여 강제 정렬(forced alignment)을 수행하여 상기 수정 자막 데이터를 생성하는 강제 정렬 수행부를 포함할 수 있다.
또한, 상기 분할 정보 생성부는 상기 음성을 인식하여 상기 음성 인식 텍스트를 생성하도록 미리 학습된 음성 인식 모델을 포함하는 음성 인식 유닛으로, 상기 음성 인식 텍스트는 상기 음성에 대응하는 타임 스탬프를 포함하는, 음성 인식 유닛; 상기 음성 인식 텍스트와 상기 자막 데이터를 문장 단위로 비교하여, 상기 자막 데이터의 타임 스탬프를 문장 단위로 상기 음성 인식 텍스트의 타임 스탬프로 일치시키는 텍스트 정렬을 수행하는 텍스트 정렬 유닛; 및 상기 정렬된 자막 데이터의 적어도 하나의 문장을 하나의 청크를 정의하여 상기 복수의 청크를 생성하는 분할 정보 생성 유닛을 포함할 수 있다.
또한, 상기 음성 인식 모델은 상기 음성으로부터 특징을 추출하는 특징 추출 모델과, 추출된 특징에 기반하여 음성 인식 텍스트를 생성하는 텍스트 생성 모델을 포함할 수 있다.
또한, 상기 자막 데이터는 음성 자막 구간, 비음성 자막 구간 및 영상 삭제 구간을 포함하며, 상기 텍스트 정렬 유닛은 상기 음성 자막 구간에 포함된 복수의 문장을 기준으로 텍스트 정렬을 먼저 수행한 후, 정렬된 음성 자막 구간의 문장을 기준으로 비음성 자막 구간에 대응하는 문장 및 영상 삭제 구간에 대응하는 문장을 정렬하며, 상기 텍스트 정렬 유닛은 상기 정렬된 영상 삭제 구간에 대응하는 문장에 대해 삭제 대상 마킹을 수행하고, 상기 분할 정보 생성 유닛은 상기 복수의 청크의 생성시 상기 삭제 대상 마킹된 문장을 청크에서 제외하도록 구성될 수 있다.
또한, 상기 강제 정렬 수행부는 제1 언어에 기초하여 상기 강제 정렬을 수행하며, 상기 데이터 전처리부는 상기 자막 세그멘테이션의 제2 언어로 구성된 텍스트를 제2 언어의 발음에 따라 상기 제1 언어로 변환하여 제1 전처리 자막 세그멘테이션을 생성하는 언어 변환 유닛; 및 상기 제1 전처리 자막 세그멘테이션에 대한 토큰화를 수행하여 제2 전처리 자막 세그멘테이션을 생성하는 토큰 변환 유닛을 포함하고, 상기 강제 정렬 수행부는 상기 음성 세그멘테이션과 상기 제2 전처리 자막 세그멘테이션을 이용하여 상기 강제 정렬을 수행하여 상기 수정 자막 데이터를 생성할 수 있다.
또한, 상기 토큰 변환 유닛은 단어의 시작을 특수 기호로 표시하도록 토큰을 형성하며, 상기 언어 변환 유닛은 상기 자막 세그멘테이션에 대해 수행된 제1 전처리 정보를 생성하고, 상기 강제 정렬 수행부는 상기 제1 전처리 정보를 이용하여 상기 제1 전처리된 텍스트를 상기 제2 언어로 역변환하여 상기 수정 자막 데이터를 생성할 수 있다.
또한, 상기 강제 정렬 수행부는 상기 제2 전처리 자막 세그멘테이션과 상기 음성 세그멘테이션을 분석하여 자소 단위로 음성 정렬 정보를 추출하고, 상기 자소 단위로 추출된 음성 정렬 정보를 기초로 상위 단위에 해당하는 음성 정렬 정보를 생성할 수 있다.
또한, 상기 음성 추출부는 상기 콘텐츠 영상에서 오디오 신호를 추출하는 오디오 추출 유닛; 및 상기 오디오 신호에서 딥러닝 기반의 음성 분리 모델을 통해 상기 음성을 추출하는 음성 분리 유닛을 포함하며, 상기 음성 분리 모델은 상기 오디오 신호에서 배경음 및 효과음을 필터링하여 상기 음성만을 추출하도록 학습된 상태일 수 있다.
본 발명의 몇몇 실시예에 따른 자막 자동 동기화 방법은 자동 자막 동기화 장치에서 수행되는 자막 자동 동기화 방법으로, 상기 방법은: 콘텐츠 영상과 상기 콘텐츠 영상과 관련된 자막 데이터가 입력되는 단계; 상기 콘텐츠 영상에서 음성을 추출하는 단계; 상기 음성을 음성 인식 모델을 통해 인식하여 음성 인식 텍스트를 생성하는 단계; 상기 음성 인식 텍스트와 상기 자막 데이터를 비교하여 복수의 청크(chunk)로 구성되는 분할 정보를 생성하는 단계; 상기 분할 정보에 기초하여 상기 음성을 분할하여 음성 세그멘테이션을 생성하는 단계; 상기 분할 정보에 기초하여 상기 자막 데이터를 분할하여 자막 세그멘테이션을 생성하는 단계; 상기 음성 세그멘테이션과 상기 자막 세그멘테이션에 기초하여 강제 정렬(forced alignment)을 수행하여 수정 자막 데이터를 생성하는 단계를 포함한다.
본 발명의 몇몇 실시예에 따른 컴퓨터 프로그램은 하드웨어와 결합되어 상기 자동 자막 동기화 방법을 실행하도록 매체에 저장된다.
본 발명의 실시예에 따른 자동 자막 동기화 장치 및 방법은 효율적으로 강제 정렬이 수행되도록 일정 크기로 콘텐츠 영상의 음성과 자막 데이터를 각각 분할하고, 분할된 음성 세그멘테이션과 자막 세그멘테이션을 이용하여 강제 정렬을 수행하여 음성과 자막 데이터의 타이밍을 동기화, 수정 자막 데이터를 자동으로 생성할 수 있다.
또한, 본 발명의 실시예에 따른 자동 자막 동기화 장치 및 방법은 자소 단위로부터 시작하여 여러 상위 단위에 대한 정렬을 수행하여 문장의 하위 단위에 해당하는 단어, 토큰 단위로 자막을 출력할 수 있게 된다. 따라서, 대략적 위치의 시작점과 끝점을 잡고, 문맥이 연결되는 단위의 문장으로 음성 전사 후, 분리해야 될 부분만 단어 사이에 표시하여 자동으로 생성자가 원하는 형태의 자막을 빠르게 생성하는 것이 지원될 수 있다.
또한, 본 발명의 실시예에 따른 자동 자막 동기화 장치 및 방법은 자막 세그멘테이션의 텍스트에 대한 토큰화를 수행하여 단어 단위보다 작은 유닛으로 분리됨에 따라, 강제 정렬 대상 어휘를 줄이고 단어사전 밖에 있는 단어들(out-of-vocabulary; OOV)의 수를 최소화할 수 있어 어떤 자막 데이터가 입력되더라도 후술하는 강제 정렬이 더욱 효과적으로 실행될 수 있게 된다.
또한, 본 발명의 실시예에 따른 자동 자막 동기화 장치 및 방법은 강제 정렬이 수행되는 기준 언어에 대응하여 자막 세그멘테이션에 대한 언어 변환을 자동으로 수행하여 더욱 효율적인 강제 정렬이 수행되는 것을 지원할 수 있다. 또한, 자막 세그멘테이션의 텍스트에 대한 토큰화를 수행하되, 단어의 시작 위치를 표시하여 강제 정렬이 더욱 효율적으로 수행되는 것을 지원할 수 있다.
도 1은 본 발명의 몇몇 실시예에 따른 자동 자막 동기화 장치를 개념을 설명하기 위한 예시도이다.
도 2는 본 발명의 몇몇 실시예에 따른 자동 자막 동기화 장치의 구성을 개략적으로 도시한 예시도이다.
도 3은 실시예에 따른 음성 추출부의 구성 및 동작을 설명하기 위한 예시도이다.
도 4는 실시예에 따른 분할 정보 생성부의 구성을 나타내는 블록도이다.
도 5는 실시예에 따른 분할 정보 생성부의 동작을 설명하기 위한 예시도이다.
도 6은 영상, 청크, 영상 인식 텍스트, 자막 데이터의 관계를 설명하기 위한 예시도이다.
도 7은 실시예에 따른 데이터 전처리부의 구성을 나타내는 블록도이다.
도 8은 실시예에 따른 강제 정렬 수행부의 동작을 설명하기 위한 예시도이다.
도 9는 자소 단위 강제 정렬 결과를 예시적으로 나타낸다.
도 10은 단어 단위 강제 정렬 결과를 예시적으로 나타낸다.
도 11은 본 발명의 다른 실시예에 따른 자동 자막 동기화 방법의 순서도이다.
도 2는 본 발명의 몇몇 실시예에 따른 자동 자막 동기화 장치의 구성을 개략적으로 도시한 예시도이다.
도 3은 실시예에 따른 음성 추출부의 구성 및 동작을 설명하기 위한 예시도이다.
도 4는 실시예에 따른 분할 정보 생성부의 구성을 나타내는 블록도이다.
도 5는 실시예에 따른 분할 정보 생성부의 동작을 설명하기 위한 예시도이다.
도 6은 영상, 청크, 영상 인식 텍스트, 자막 데이터의 관계를 설명하기 위한 예시도이다.
도 7은 실시예에 따른 데이터 전처리부의 구성을 나타내는 블록도이다.
도 8은 실시예에 따른 강제 정렬 수행부의 동작을 설명하기 위한 예시도이다.
도 9는 자소 단위 강제 정렬 결과를 예시적으로 나타낸다.
도 10은 단어 단위 강제 정렬 결과를 예시적으로 나타낸다.
도 11은 본 발명의 다른 실시예에 따른 자동 자막 동기화 방법의 순서도이다.
본 명세서 및 특허청구범위에서 사용된 용어나 단어는 일반적이거나 사전적인 의미로 한정하여 해석되어서는 아니된다. 발명자가 그 자신의 발명을 최선의 방법으로 설명하기 위해 용어나 단어의 개념을 정의할 수 있다는 원칙에 따라, 본 발명의 기술적 사상과 부합하는 의미와 개념으로 해석되어야 한다. 또한, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명이 실현되는 하나의 실시예에 불과하고, 본 발명의 기술적 사상을 전부 대변하는 것이 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 및 응용 가능한 예들이 있을 수 있음을 이해하여야 한다.
본 명세서 및 특허청구범위에서 사용된 제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. '및/또는' 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서 및 특허청구범위에서 사용된 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해서 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 도 1 내지 도 10을 참조하여, 본 발명의 몇몇 실시예들에 따른 자동 자막 동기화 방법 및 장치를 설명한다.
도 1은 본 발명의 몇몇 실시예에 따른 자동 자막 동기화 장치를 개념을 설명하기 위한 예시도이다. 도 2는 본 발명의 몇몇 실시예에 따른 자동 자막 동기화 장치의 구성을 개략적으로 도시한 예시도이다. 도 3은 실시예에 따른 음성 추출부의 구성 및 동작을 설명하기 위한 예시도이다. 도 4는 실시예에 따른 분할 정보 생성부의 구성을 나타내는 블록도이다. 도 5는 실시예에 따른 분할 정보 생성부의 동작을 설명하기 위한 예시도이다. 도 6은 영상, 청크, 영상 인식 텍스트, 자막 데이터의 관계를 설명하기 위한 예시도이다. 도 7은 실시예에 따른 데이터 전처리부의 구성을 나타내는 블록도이다. 도 8은 실시예에 따른 강제 정렬 수행부의 동작을 설명하기 위한 예시도이다. 도 9는 자소 단위 강제 정렬 결과를 예시적으로 나타낸다. 도 10은 단어 단위 강제 정렬 결과를 예시적으로 나타낸다.
도 1을 참조하면, 자동 자막 동기화 장치(10)은 콘텐츠 영상과 자막 데이터를 입력받을 수 있다. 콘텐츠 영상은 일정 시간의 재생 길이를 가지는 영상으로 오디오 신호와 비디오 신호를 포함할 수 있다. 여기서, 오디오 신호는 음성, 배경음 및 효과음을 포함할 수 있다. 자막 데이터는 콘텐츠 영상 중 오디오 신호와 관련된 정보를 나타낼 수 있다. 즉, 자막 데이터는 청각 정보인 오디오 신호를 시각적으로 전달하기 위한 정보에 해당한다. 자막 데이터는 음성, 배경음 및 효과음에 대응하는 시각 정보를 적어도 하나의 언어를 통해 사용자에게 전달하도록 구성될 수 있다. 일부 자막의 경우, 사용자들이 상황을 보다 잘 이해할 수 있도록 영상의 장면을 자막(지문)으로 사용자들에게 전달하도록 구성될 수 있다.
실시예에서, 콘텐츠 영상은 다양한 영상 형식으로 구성될 수 있다. 콘텐츠 영상은 webm, mp4, avi, mkv 중 하나의 형식을 가질 수 있으나, 이에 한정되는 것은 아니다. 자막 데이터는 복수의 문장을 포함할 수 있으며, 각 문장은 시작 시점 및 종료 시점에 해당하는 타임 스탬프를 포함할 수 있다. 자막 데이터는 SRT, LRC, SMI 중 하나의 형식으로 구성될 수 있으나, 이에 한정되는 것은 아니다. 여기서, 자막 데이터와 콘텐츠 영상(구체적으로, 오디오 신호)은 싱크가 맞지 않는 상태일 수 있다. 자동 자막 동기화 장치(10)는 콘텐츠 영상과 비동기화된 자막 데이터를 수신하고, 콘텐츠 영상 및 자막 데이터를 비교 분석하여, 자막 데이터를 콘텐츠 영상에 자동으로 동기화하여 수정 자막 데이터를 생성할 수 있으며, 생성된 수정 자막 데이터를 출력할 수 있다.
도 2를 참조하면, 자동 자막 동기화 장치(10)는 음성 추출부(100), 분할 정보 생성부(110), 데이터 전처리부(120) 및 강제 정렬 수행부(130)를 포함한다. 본 실시예에 따른 자동 자막 동기화 장치(10)는, 전적으로 하드웨어이거나, 또는 부분적으로 하드웨어이고 부분적으로 소프트웨어인 측면을 가질 수 있다. 예컨대, 자동 자막 동기화 장치 및 이에 포함된 각 모듈(module)은, 특정 형식 및 내용의 데이터를 전자통신 방식으로 주고받기 위한 장치 및 이에 관련된 소프트웨어를 통칭할 수 있다. 본 명세서에서 "부(unit)", "모듈(module)", "서버(server)", "장치", "장치" 또는 "단말" 등의 용어는 하드웨어 및 해당 하드웨어에 의해 구동되는 소프트웨어의 조합을 지칭하는 것으로 의도된다. 예를 들어, 여기서 하드웨어는 CPU, GPU, NPU 또는 다른 프로세서(processor)를 포함하는 데이터 처리 장치일 수 있다. 또한, 하드웨어에 의해 구동되는 소프트웨어는 실행중인 프로세스, 객체(object), 실행파일(executable), 실행 스레드(thread of execution), 프로그램(program) 등을 지칭할 수 있다.
또한, 자동 자막 동기화 장치(10)를 구성하는 각각의 모듈은 반드시 물리적으로 구분되는 별개의 구성요소를 지칭하는 것으로 의도되지 않는다. 음성 추출부(100), 분할 정보 생성부(110), 데이터 전처리부(120) 및 강제 정렬 수행부(130)는 서로 구분되는 블록으로 도시되나, 이는 자동 자막 동기화 장치의 구성을 실행되는 동작에 의해 단지 기능적으로 구분한 것이다. 따라서, 실시예에 따라서는 음성 추출부(100), 분할 정보 생성부(110), 데이터 전처리부(120) 및 강제 정렬 수행부(130)는 일부 또는 전부가 동일한 하나의 장치 내에 집적화될 수 있고, 하나 이상이 다른 부와 물리적으로 구분되는 별개의 장치로 구현될 수도 있으며, 분산 컴퓨팅 환경 하에서 서로 통신 가능하게 연결된 컴포넌트들일 수도 있다.
음성 추출부(100)는 콘텐츠 영상에서 음성을 추출한다.
도 3을 참조하면, 음성 추출부(100)는 오디오 추출 유닛(102), 음성 분리 유닛(104)를 포함할 수 있다.
오디오 추출 유닛(102)은 입력된 콘텐츠 영상에서 오디오 신호를 추출할 수 있다. 오디오 추출 유닛(102)은 콘텐츠 영상을 오디오 신호와 비디오 신호로 분리하고, 오디오 신호만을 추출하여 음성 분리 유닛(104)으로 출력할 수 있다.
음성 분리 유닛(104)은 입력된 오디오 신호에서 음성만을 추출하도록 구성된다. 후술하는 강제 정렬 수행부(130)에서 수행되는 자막 데이터의 강제 정렬(Forced-alignment)은 음성에만 적용하는 것이 효과적일 수 있다. 따라서, 오디오 신호에서 음성 외의 다양한 잡음이 효과적으로 필터링 되어야 강제 정렬이 효과적으로 수행될 수 있어, 음성과 자막의 동기화가 정확하게 수행될 수 있다.
실시예에서, 음성 분리 유닛(104)은 딥러닝 기반의 음성 분리 모델을 포함할 수 있으며, 음성 분리 모델을 통해 입력된 오디오 신호에서 음성만을 추출할 수 있다. 음성 분리 모델은 입력층, 출력층, 그리고 상기 입력층과 출력층 사이에 적어도 하나 이상의 중간층(또는 은닉층, hidden layer)을 포함하는 계층 구조로 구성된 딥러닝 알고리즘에 기반하여 구성될 수 있다. 딥러닝 알고리즘은, 이와 같은 다중 계층 구조에 기반하여, 층간 활성화 함수(activation function)의 가중치를 최적화 (optimization)하는 학습을 통해 결과적으로 신뢰성 높은 결과를 도출할 수 있다.
본 발명에 적용 가능한 딥러닝 알고리즘은, 심층 신경망 (deep neural network; DNN), 합성곱 신경망 (convolutional neural network; CNN), 순환 신경망 (recurrent neural network; RNN), 장단기 메모리(Long Short Term Memory; LSTM), 양방향 장단기 메모리(Bidirectional Short Term Memory; BLSTM 등을 포함할 수 있다. 여기서, 음성은 시계열적인 데이터이므로, 반복적이고 순차적인 데이터(sequential data)학습에 특화된 LSTM 또는 BLSTM을 기초로 음성 분리 모델이 구현될 수 있으나, 이에 한정되는 것은 아니다.
음성 분리 유닛(104)은 상술한 딥러닝 알고리즘을 통해 효과적으로 오디오 신호에서 배경음 및 효과음을 필터링할 수 있으며, 음성만을 추출하게 된다.
실시예에서, 음성 분리 유닛(104)은 후술하는 데이터 처리에 적합한 형식으로 분리된 음성의 형식을 변경하는 전처리 과정을 더 수행할 수도 있다. 실시예에서, 전처리 과정은 음성의 샘플링 레이트, 채널 수를 변경하는 것을 포함할 수 있으나, 이에 한정되는 것은 아니다. 추출된 음성은 분할 정보 생성부(110)로 제공될 수 있다.
분할 정보 생성부(110)는 추출된 음성을 인식하여 음성 인식 텍스트를 생성하고, 타임 스탬프를 포함하는 음성 인식 텍스트의 각 문장에 자막 데이터에 포함된 각 문장을 매칭시키는 과정을 수행함에 따라 청크(chunks) 단위로 정의되는 복수의 분할 정보를 생성할 수 있다.
도 4를 참조하면, 분할 정보 생성부(110)는 음성 인식 유닛(112), 텍스트 정렬 유닛(114) 및 분할 정보 생성 유닛(116)을 포함한다.
음성 인식 유닛(112)은 음성 분리 유닛(104)에서 제공되는 추출된 음성을 인식하여 음성 인식 텍스트를 생성할 수 있다. 음성 인식 유닛(112)은 미리 학습된 음성 인식 모델을 포함할 수 있으며, 음성 인식 모델을 통해 음성을 인식하여 음성 인식 텍스트를 생성할 수 있다.
음성 인식 모델은 음성으로부터 특징을 추출하는 특징 추출 모델과, 추출된 특징에 기반하여 음성 인식 텍스트를 생성하는 텍스트 생성 모델을 포함할 수 있다.
특징 추출 모델은 음성으로부터 스펙트로그램(spectrogram)을 획득하고, 스펙트로그램으로부터 음성의 주파수 특징을 추출할 수 있다. 특징 추출 모델은 음성을 푸리에 변환(Fourier transform)을 이용한 스펙트럼 분석 결과를 시간-주파수에 대해 표현하면 스펙트로그램을 획득할 수 있다. 특징 추출 모델은 푸리에 변환을 통해 음성의 기본 주파수(fundamental frequency)를 계산하고, 기본 주파수의 자연수배(1, 2, 3, ... 배)에 해당하는 주파수의 진폭 값을 계산하여 주파수 값을 x 축에, 진폭 값을 y 축에 나타내 스펙트럼을 생성할 수 있다. 스펙트로그램은 생성된 스펙트럼에서 진폭 값이 클수록 빈(bin)의 크기를 크게 하고, 진폭 값이 작을수록 빈의 크기를 작게 나타내 각각의 주파수 위치에 대해 진폭 값의 크기를 연속으로 표시한 것이다. 특징 추출 모델은 스펙트로그램에 나타난 주파수 특징 정보를 음성의 특징으로서 추출할 수 있다.
다만, 음성으로부터 특징을 추출하는 방법은 위 실시예에 한정되지 아니하며, 음성의 특징을 추출하기 위해 다양한 방법이 이용될 수 있다. 예를 들어, 특징 추출 모델은 MFCC(Mel Frequency Cepstral Coefficients)의 특징 값을 이용할 수도 있다. MFCC의 특징 값은 시간 윈도우에 기반하여 음성을 음성 프레임 단위로 분할하고, FFT(Fast Fourier Transform)을 이용하여 음성 프레임을 주파수 영역으로 변환하며, 필터 뱅크(Filter bank)를 이용하여 음성 프레임을 여러 주파수 대역의 신호로 나누고, 각 주파수 대역의 신호의 에너지를 계산하며, 계산된 에너지에 DCT(Discrete Cosine Transform)를 적용의 과정을 통해 획득될 수 있다.
텍스트 생성 모델은 음성으로부터 추출된 특징에 기초하여 음성을 자소(grapheme) 단위로 인식하여 음성 인식 텍스트를 생성할 수 있다. 텍스트 생성 모델은 자소 단위의 인식 결과에 기초하여 음성이 나타내는 단어들을 추정하도록 학습된 모델일 수 있다. 예시적으로, 텍스트 생성 모델은 특징 추출 모델에서 추출된 특징을 인공 신경망 기반의 딥러닝 모델을 통해 음성 인식 텍스트로 변환할 수 있다. 실시예에서, 텍스트 생성 모델은 발음 사전을 포함하지 않아 하나의 언어로 음성 인식 텍스트를 생성할 수 있다. 여기서, 하나의 언어는 한국어일 수 있으나 이에 한정되는 것은 아니다.
인공 신경망은 많은 수의 인공 뉴런(또는, 노드)들을 이용하여 생물학적인 시스템의 계산 능력을 모방하는 소프트웨어나 하드웨어로 구현된 인식 모델이다. 몇몇 실시예에서, 음성 인식 모델은 End-to-End transformer, BLSTM(Bidirectional LSTM) 또는 컨볼루션을 뉴럴 네트워크(convolutional neural network; CNN)로 구현될 수 있으나, 이는 하나의 예시일 뿐 다양한 음성 인식 기술이 음성 인식 모델에 적용될 수 있을 것이다.
음성 인식 유닛(112)에서 생성되는 음성 인식 텍스트는 음성에 대응하여 생성되는 것으로 음성 인식 텍스트는 음성과 싱크(sync)가 맞는 상태, 동기화된 상태에 해당한다. 또한, 음성 인식 텍스트는 음성에 대응되는 타임 스탬프를 포함할 수 있다. 타임 스탬프는 음성의 자소 단위에 대응하도록 구성될 수 있으나, 이에 한정되는 것은 아니다. 음성 인식 텍스트는 텍스트 정렬 유닛(114)에 제공될 수 있다.
텍스트 정렬 유닛(114)는 음성 인식 텍스트와 자막 데이터를 문장 단위로 비교하여 대응되는 문장 사이의 시간이 일치되도록 정렬시킬 수 있다.
텍스트 정렬 유닛(114)은 음성 인식 텍스트의 복수의 문장과 자막 데이터의 복수의 문장을 비교하여 문장 사이의 유사도를 계산할 수 있다. 여기서, 유사도는 문장 내에 동일 자소 또는 음절의 포함 여부로 계산될 수 있으나, 이에 한정되는 것은 아니며 각 문장의 의미의 유사성을 통해 계산될 수도 있다.
도 5를 참조하면, 음성 인식 텍스트의 어느 한 문장(이손내가먼저놔야될것같아)과 자막 데이터의 어느 한 문장(미안해이손내가먼저놔야될것같아)은 실질적으로 동일한 의미로, 이의 유사도(distance)가 3으로 판단된 것을 알 수 있다. 임계점 이상의 유사도를 가진 문장은 매칭되어 동일한 타임 스탬프를 가지도록 정렬될 수 있다. 음성 인식 텍스트는 음성과 싱크(sync)가 맞는 타임 스탬프를 포함하도록 구성된 상태로, 음성 인식 텍스트에 포함된 문장을 기준으로 자막 데이터에 포함된 문장의 시간을 정렬하는 과정이 수행되게 된다.
여기서, 음성 인식 텍스트와 자막 데이터는 모두 콘텐츠 영상과 관련된 텍스트로 각각에 포함된 텍스트의 내용이 대부분 동일, 유사하도록 구성될 수 있다. 예를 들어, 음성 인식 텍스트와 자막 데이터의 음성 구간에 해당하는 각 문장들은 실질적으로 동일한 의미를 가지는 문장으로 이에 대한 유사도 비교를 통해 대응되는 문장 사이의 정렬이 수행될 수 있다. 자막 데이터에서 음성 인식 텍스트와 대응되는 자막 구간을 음성 자막 구간이라 정의한다.
다만, 음성 인식 텍스트와 자막 데이터는 완전히 동일한 문장으로 구성되지는 않는다. 즉, 음성 인식 텍스트는 음성만을 기초로 생성된 텍스트로 자막 데이터에 포함되지 않은 문장을 일부분 포함할 수 있으며, 자막 데이터도 음성에 포함되지 않은 문장을 일부분 포함하도록 구성될 수 있다. 예를 들어, 외국어, 감탄사, 의성어, 추임새, 의미 없는 목소리 또는 자막이 영상에 입혀져 있는 Open caption와 같이 의도적으로 자막 데이터를 만들지 않은 음성의 경우, 음성 인식 데이터에는 음성 인식을 통해 관련 내용이 존재하나 자막 데이터에는 누락된 상태일 수 있다.
또한, 컨텐츠 관련 설명(acknowledgement), 지문, 부연 설명 등은 자막 데이터에는 존재하나 음성에는 없는 정보로 음성 인식 데이터에는 누락된 상태일 수 있다. 이러한 경우, 음성에는 해당 자막 데이터와 대응되는 구간이 존재, 즉, 완전히 제거되지 못한 다른 오디오 신호가 존재하는 상태일 수 있다. 자막 데이터에서 컨텐츠 관련 설명(acknowledgement), 지문, 부연 설명에 대응되는 구간을 비음성 자막 구간이라 정의한다.
또한, 콘텐츠 영상이 편집되어 일부 영상 클립이 삭제된 경우, 삭제된 영상 클립에 대응되는 자막이 아직 자막 데이터에 존재할 수 있다. 이러한 경우는, 영상 클립이 콘텐츠 영상에서 삭제된 상태로 자막에 대응하는 오디오 신호가 자체가 없는 상태일 수 있다. 즉, 삭제된 영상 클립에 대응하는 자막은 자막 데이터에서 제외되어야 하는 대상일 수 있다. 자막 데이터에서 삭제된 영상 클립에 대응하는 자막 구간을 영상 삭제 구간이라 정의한다.
정리하면, 자막 데이터는 음성 자막 구간, 비음성 자막 구간 및 영상 삭제 구간을 포함할 수 있다.
텍스트 정렬 유닛(114)은 자막 데이터의 음성 자막 구간에 대응하는 문장들 사이의 정렬을 우선적으로 수행할 수 있다. 즉, 음성 구간에 대응하는 문장은 임계점 이상의 유사도를 가진 음성 인식 텍스트의 문장에 대응하여 정렬될 수 있으며, 정렬된 문장은 다른 문장을 비교하기 위한 기준점이 될 수 있다. 텍스트 정렬 유닛(114)은 음성 자막 구간에 포함된 복수의 문장에 대한 텍스트 정렬을 먼저 수행한 후, 정렬된 음성 자막 구간의 문장을 기준으로 비음성 자막 구간 및 영상 삭제 구간과 같이 자막 데이터에만 존재하는 문장에 대한 텍스트 정렬을 수행할 수 있다. 실시예에서, 자막 데이터에만 존재하는 문장은 선행하는 문장의 타임 스탬프 변화에 대응하도록 타임 스탬프가 정렬될 수 있다. 또한, 영상 삭제 구간에 대응하는 문장은 삭제되어야 할 문장으로, 텍스트 정렬 유닛(114)은 영상 삭제 구간에 대응하는 문장에 대해 삭제 대상 마킹을 수행할 수 있다. 후술하는 분할 정보 생성 과정에서 해당 문장이 청크에 포함되지 않고 제외되도록 한다.
상술한 과정에 따른 텍스트 정렬(text alignment)를 통해 대응되는 자막 데이터에 포함된 복수의 문장은 음성 인식 텍스트에 따른 타임 스탬프를 가지도록 정렬될 수 있다.
텍스트 정렬 유닛(114)을 통해 자막 데이터는 음성에 문장 단위로 정렬되어 일부 동기화가 된 상태이나, 본 발명의 실시예에 따른 동기화가 이로서 완성되는 것은 아니다. 텍스트 정렬 유닛(114)에서의 문장 단위 정렬은 후술하는 강제 정렬을 수행되는 단위인 청크를 생성하기 위한 중간 과정에 해당하며, 콘텐츠 영상의 음성과 자막 데이터 사이의 동기화는 후술하는 강제 정렬을 통해 수행될 수 있다.
여기서, 강제 정렬(forced-alignment)이 긴 구간의 음성에 적용하는 경우, 오류가 발생할 확률이 높기 때문에 1분 이내의 문장 단위로 적용하는 것이 효율적이다. 즉, 1분 이상의 긴 구간 음성에 강제 정렬(forced-alignment)을 적용하게 되면 음성 중간에 있는 묵음 구간 또는 인식 대상 음성이 아닌 구간에서 오류가 발생할 확률이 높다. 따라서, 효율적이고 정확한 강제 정렬을 위해 음성과 자막 데이터를 모두 적절한 길이로 분할할 필요가 있다.
분할 정보 생성 유닛(116)는 콘텐츠 영상과 자막 데이터를 분할하기 위한 분할 단위인 청크를 정의할 수 있다. 청크는 강제 정렬에 효율적인 시간(1분 이내)을 가지도록 적어도 하나의 문장을 포함하도록 정의될 수 있다. 정렬된 자막 데이터의 복수의 문장은 시간을 기준으로 순차적으로 하나의 청크로 정렬될 수 있으며, 복수의 청크로 구성된 분할 정보가 생성되게 된다. 즉, 하나의 청크는 적어도 하나의 문장으로 구성될 수 있다. 또한, 도 5에 도시된 예시를 참조하면, 각 청크는 순번(index), 시간 정보[시작 시간(start time), 종료 시간(end time)], 텍스트 정보를 포함하도록 구성될 수 있다.
또한, 분할 정보 생성 유닛(116)은 삭제 대상 문장으로 마킹된 문장이 청크에 포함되지 않도록 제외할 수 있다. 도 6을 참조하면, 삭제된 클립에 대응하는 부분은 청크에 포함되지 않도록 청크가 구성되는 것을 알 수 있다.
데이터 전처리부(120)는 강제 정렬 수행부(130)에서 수행될 강제 정렬(force-alignment)를 수행하기 위한 전처리 과정을 수행할 수 있다.
도 7을 참조하면, 데이터 전처리부(120)는 음성 분할 유닛(122), 자막 분할 유닛(124), 언어 변환 유닛(126) 및 토큰 변환 유닛(128)을 포함한다.
음성 분할 유닛(122)은 음성 분리 유닛(104)에서 추출된 음성을 분할 정보에 따라 분할하여 음성 세그멘테이션을 생성할 수 있다. 음성 세그멘테이션은 일정 길이로 분할된 복수의 음성을 의미한다. 각 청크의 시간 정보에 기초하여 음성은 복수의 음성 세그멘테이션으로 분할될 수 있다. 예를 들어, 분할 정보가 N개의 청크를 포함하는 경우, 음성은 제1 내지 제N 음성 세그멘테이션으로 분할될 수 있다. 제1 내지 제N 음성 세그멘테이션은 강제 정렬이 효율적으로 수행될 수 있는 길이로 분할된 상태로, 순차적으로 강제 정렬 수행부(130)로 제공될 수 있다.
자막 분할 유닛(124)은 분할 정보를 고려하여 자막 데이터를 분할하여 복수의 자막 세그멘테이션을 생성할 수 있다. 자막 분할 유닛(124)은 자막 데이터에서 분할 정보를 고려하여 복수의 자막 세그멘테이션을 생성할 수 있다. 각 자막 세그멘테이션은 분할 정보의 각 청크의 텍스트 정보에 대응하는 텍스트를 가질 수 있으며, 각 청크에 대응되는 타임 스탬프를 가지도록 구성될 수 있다. 또한, 자막 데이터에 포함된 문장 중 분할 정보에 포함되지 않은 청크(문장)는 자막 세그멘테이션 생성에서 제외될 수 있다.
예를 들어, 분할 정보가 N개의 청크를 포함하는 경우, 자막 데이터는 제1 내지 제N 자막 세그멘테이션으로 분할될 수 있다. 제1 내지 제N 자막 세그멘테이션은 강제 정렬이 효율적으로 수행될 수 있는 길이로 분할된 상태이다. 제1 내지 제N 자막 세그멘테이션은 순차적으로 언어 변환 유닛(126)에 제공되어 순차적으로 처리될 수 있으나, 이에 한정되는 것은 아니다. 각각의 자막 세그멘테이션은 독립적으로 강제 정렬이 수행될 수 있으며, 순차적으로 처리되지 않고 병렬적으로 처리될 수 있다. 즉, 제1 내지 제N 자막 세그멘테이션은 후술하는 전처리 과정부터 강제 정렬까지 병렬적으로 처리될 수 있으며, 각각 병렬적으로 처리된 이후 결과가 합쳐져서 최종적인 수정 자막 데이터가 생성될 수 있다. 이에 따라, 더욱 빠른 시간에 자막에 대한 동기화가 수행되게 된다.
실시예에서, 콘텐츠 영상은 적어도 두 개의 언어로 구성될 수 있으며, 자막 데이터 또한 두 개의 언어로 구성될 수 있다. 예를 들어, 콘텐츠 영상은 제1 언어가 주로 구사되나, 부분적으로 제2 언어가 사용되는 콘텐츠일 수 있으며, 자막 데이터는 콘텐츠 영상의 언어 구성에 대응하여 제1 언어와 제2 언어를 함께 포함하여 구성된 상태일 수 있다. 자막 데이터에 기초하여 분할된 자막 세그멘테이션 또한 제1 언어와 제2 언어가 함께 포함된 상태일 수 있다. 예시적으로, 제1 언어는 한국어, 제2 언어는 영어일 수 있으나, 이에 한정되는 것은 아니다. 음성 인식 유닛(112)에서의 음성 인식 및 후술하는 강제 정렬 수행부(130)에서의 강제 정렬은 제2 언어에 대한 음역된 발음 사전을 사용하지 않고 하나의 언어를 기준으로 수행될 수 있다. 강제 정렬 수행부(130)가 제1 언어를 기준으로 음성과 텍스트 사이의 강제 정렬을 수행하도록 구성되므로, 자막 세그멘테이션을 제1 언어로 변환하는 전처리 과정이 필요할 수 있다.
언어 변환 유닛(126)은 상술한 자막 세그멘테이션을 제1 언어로 변환하는 작업을 수행할 수 있다. 구체적으로, 언어 변환 유닛(126)은 제2 언어로 구성된 문장을 제2 언어의 발음에 따라 제1 언어로 변환하는 전처리를 수행할 수 있다. 예를 들어, "I believe in you"는 "아이 빌립 인 유"로 변환될 수 있다. 언어 변환 유닛(126)은 자막 세그멘테이션을 하나의 언어로 변환하는 언어 변환 작업을 수행하여 제1 전처리 자막 세그멘테이션을 생성할 수 있다. 제1 전처리 자막 세그멘테이션은 하나의 언어로 변환하는 제1 전처리가 수행된 상태를 의미할 수 있다. 언어 변환 유닛(126)은 각 자막 세그멘테이션별로 제1 전처리를 수행할 수 있다. 언어 변환 유닛(126)은 각 자막 세그멘테이션별로 수행된 제1 전처리 정보를 생성할 수 있으며, 이러한 제1 전처리 정보에 기초하여 추후 강제 정렬된 수정 자막 데이터의 생성시 제1 전처리된 텍스트에 대한 역변환이 수행되게 된다.
실시예에서, 강제 정렬 수행부(130)는 단어 단위보다 하위 단위에 해당하는 토큰 단위, 또는 자소 단위를 기준으로 강제 정렬(forced-alignment)을 수행할 수 있다. 특히, 정렬을 수행하게 되는 언어가 한국어인 경우, 조사 및 의미 변화가 많기 때문에 인식해야 될 단어의 수가 너무 많기 때문에 토큰 단위로 인식 대상 단위를 사전에 분리하는 전처리 작업이 필요할 수 있다.
토큰 변환 유닛(128)은 제1 전처리 자막 세그멘테이션을 토큰화(tokenization)하는 과정을 수행할 수 있다. 실시예에서, 토큰 변환 유닛(128)은 각 전처리 자막 세그멘테이션에 포함된 스크립트에 대한 토큰화를 수행할 수 있다. 토큰화를 통해 단어 단위보다 작은 유닛으로 분리됨에 따라, 강제 정렬 대상 어휘를 줄이고 단어사전 밖에 있는 단어들(out-of-vocabulary; OOV)의 수를 최소화할 수 있어 어떤 자막 데이터가 입력되더라도 후술하는 강제 정렬이 더욱 효과적으로 실행될 수 있게 된다.
몇몇 실시예에서, 토큰 변환 유닛(128)은 토큰화를 수행하기 위한 맞춤형 사전을 포함하도록 구성될 수 있다. 사전은 토큰화를 수행하기 위한 사전으로, 스크립트에 포함된 음절 또는 자소를 손실없이 보존한 상태에서 구축된 사전에 해당할 수 있다.
또한, 몇몇 실시예에서, 토큰 변환 유닛(128)은 단어의 시작을 나타내는 토큰과 단어의 시작이 아닌 토큰을 표시하는 특수 기호를 사용하여 토큰을 형성할 수 있다. 예를 들어, "처음이라 그래 며칠 뒤엔 괜찮아져"는 "_처음 이라 _그래 _며칠 _뒤 엔 _괜찮아져"와 같이 토큰화가 수행되되 원본 문장에서 단어의 시작은 _와 같은 특수 기호로 표시하도록 토큰화가 수행될 수 있다. 이와 같이, 분할된 텍스트에서 시작 위치가 특수 기호로 확인되기 때문에 모호함없이 강제 정렬 결과로 추출된 토큰 단위의 결과를 단어 단위로 디토큰나이제이션(detokenization)을 수행할 수 있다.
토큰 변환 유닛(128)은 제1 전처리 자막 세그멘테이션을 상술한 바와 같이 토큰화하여 제2 전처리 자막 세그멘테이션을 생성할 수 있다. 생성된 제2 전처리 자막 세그멘테이션은 강제 정렬 수행부(130)로 제공될 수 있다.
도 8을 참조하면, 강제 정렬 수행부(130)는 음성 세그멘테이션과 자막 세그멘테이션에 기초하여 강제 정렬(forced alignment)을 수행하여 수정 자막 데이터를 생성할 수 있다. 강제 정렬 수행부(130)는 자막 세그멘테이션을 구성하는 자소들의 정보 및 음성 세그멘테이션의 특정 프레임이 어떤 자소에 해당하는지에 관한 정보를 포함하는 음성 정렬 정보를 추출할 수 있으며, 이를 기초로 음성 세그멘테이션과 자막 세그멘테이션을 동기화하여 수정 자막 데이터를 생성할 수 있다.
강제 정렬 수행부(130)은 음성 세그멘테이션 각각의 음성 특징을 추출할 수 있으며, 추출된 음성 특징과 자막 세그멘테이션의 대응되는 텍스트 사이의 강제 정렬을 수행할 수 있다. 음성 특징은 MFCC(Mel Frequency Cepstral Coefficients) 또는 필터 뱅크(Filterbank)일 수 있으나, 이에 한정되는 것은 아니며, 음성으로부터 스펙트로그램(spectrogram)을 획득하고, 스펙트로그램으로부터 추출된 음성의 주파수 특징일 수도 있다.
실시예에서, 강제 정렬 수행부(130)는 제1 언어를 기준으로 강제 정렬을 수행할 수 있으며, 강제 정렬 수행부(130)에 입력되는 자막 세그멘테이션은 제1 언어로 변환하는 제1 전처리와 토큰화가 수행된 제2 전처리 자막 세그멘테이션일 수 있다. 즉, 인식 대상 단위가 토큰 단위로 사전에 분리된 상태이며, 단어의 시작 위치가 특수 기호로 확인되는 상태로, 더욱 정확하고 효율적인 강제 정렬이 수행될 수 있다.
강제 정렬 수행부(130)는 언어 변환 및 토큰화가 수행된 제2 전처리 자막 세그멘테이션과 음성 세그멘테이션을 분석하여 음성 정렬 정보를 생성할 수 있다.
도 9는 "저희 이제 교육 시작하겠습니다"라는 문장에 대한 자소 단위의 음성 정렬 정보를 나타낸다. 음성 정렬 정보에서 X축은 시간(s), Y축은 최대값이 1, 최소값이 -1로 정규화된 음성 진폭(amplitude)을 의미할 수 있다. 도 9에 도시된 바와 같이, 강제 정렬 수행부(130)는 자막 세그멘테이션의 자소 단위로 음성 정렬 정보를 추출할 수 있다. 또한, 강제 정렬 수행부(130)는 자소 단위로 추출된 음성 정렬 정보를 기초로 상위 단위에 해당하는 토큰별 결과, 단어별 결과, 문장별 결과를 추출할 수 있다. 도 10은 "저희 이제 교육 시작하겠습니다"라는 문장에 대한 단어 단위의 음성 정렬 정보를 나타낸다. 자소 단위로부터 시작하여 여러 상위 단위에 대한 정렬이 수행됨에 따라 문장 단위로 자막을 출력하는 것이 아닌, 문장의 하위 단위에 해당하는 단어, 토큰 단위로 자막을 출력할 수 있게 된다. 따라서, 대략적 위치의 시작점과 끝점을 잡고, 문맥이 연결되는 단위의 문장으로 음성 전사 후, 분리해야 될 부분만 단어 사이에 표시하여 자동으로 생성자가 원하는 형태의 자막을 빠르게 생성하는 것이 지원될 수 있다.
강제 정렬 수행부(130)는 제1 내지 제N 자막 세그멘테이션 각각에 대해 강제 정렬을 수행할 수 있으며, 각각의 자막 세그멘테이션에 대응하는 음성 정렬 정보를 생성할 수 있다. 생성된 음성 정렬 정보가 시간 순서에 따라 합쳐져서 최종 음성 정렬 정보가 생성될 수 있으며, 이러한 최종 음성 정렬 정보에 기초하여 수정 자막 데이터를 생성할 수 있다. 여기서, 제1 내지 제N 자막 세그멘테이션 각각에 대한 강제 정렬은 순차적으로 수행될 수 있으나, 이에 한정되는 것은 아니며, 더욱 빠른 처리를 위해 병렬적으로 수행될 수 있다.
강제 정렬 수행부(130)는 강제 정렬에 따라 생성된 음성 정렬 정보에 기초하여 자막 데이터의 타임 스탬프를 수정한 수정 자막 데이터를 생성할 수 있다. 즉, 자소 단위로 음성 데이터에 대응하도록 정렬된 수정 자막 데이터가 생성될 수 있다. 실시예에서, 음성 정렬 정보를 생성하게 되는 제2 전처리 자막 세그멘테이션일 수 있으며, 강제 정렬 수행부(130)는 제1 전처리 정보에 기초하여 제1 전처리된 텍스트에 대한 역변환을 수행할 수 있으며, 수정 자막 데이터는 종래와 같이 제1 언어와 제2 언어가 함께 포함되도록 구성되게 된다.
본 발명의 실시예에 따른 자동 자막 동기화 장치는 효율적으로 강제 정렬이 수행되도록 일정 크기로 콘텐츠 영상의 음성과 자막 데이터를 각각 분할하고, 분할된 음성 세그멘테이션과 자막 세그멘테이션을 이용하여 강제 정렬을 수행하여 음성과 자막 데이터의 타이밍을 동기화, 수정 자막 데이터를 자동으로 생성할 수 있다.
또한, 본 발명의 실시예에 따른 자동 자막 동기화 장치는 자소 단위로부터 시작하여 여러 상위 단위에 대한 정렬을 수행하여 문장의 하위 단위에 해당하는 단어, 토큰 단위로 자막을 출력할 수 있게 된다. 따라서, 대략적 위치의 시작점과 끝점을 잡고, 문맥이 연결되는 단위의 문장으로 음성 전사 후, 분리해야 될 부분만 단어 사이에 표시하여 자동으로 생성자가 원하는 형태의 자막을 빠르게 생성하는 것이 지원될 수 있다.
또한, 강제 정렬이 수행되는 기준 언어에 대응하여 자막 세그멘테이션에 대한 언어 변환을 자동으로 수행하여 더욱 효율적인 강제 정렬이 수행되는 것을 지원할 수 있다.
또한, 자막 세그멘테이션의 텍스트에 대한 토큰화를 수행하되, 단어의 시작 위치를 표시하여 강제 정렬이 더욱 효율적으로 수행되는 것을 지원할 수 있다.
도 11은 본 발명의 다른 실시예에 따른 자동 자막 동기화 방법의 순서도이다. 도 11에 따른 자동 자막 동기화 방법은 상술한 도 1 내지 도 10의 자동 자막 동기화 장치(10)에서 수행된다. 본 실시예의 설명 및 이해를 위해 도 1 내지 도 10 및 관련된 설명이 참조될 수 있다.
도 11을 참조하면, 실시예에 따른 자동 자막 동기화 방법은 콘텐츠 영상과 상기 콘텐츠 영상과 관련된 자막 데이터가 입력되는 단계(S100); 상기 콘텐츠 영상에서 음성을 추출하는 단계(S110); 상기 음성을 음성 인식 모델을 통해 인식하여 음성 인식 텍스트를 생성하는 단계(S120); 상기 음성 인식 텍스트와 상기 자막 데이터를 비교하여 복수의 청크(chunk)로 구성되는 분할 정보를 생성하는 단계(S130); 상기 분할 정보에 기초하여 상기 음성을 분할하여 음성 세그멘테이션을 생성하는 단계(S140); 상기 분할 정보에 기초하여 상기 자막 데이터를 분할하여 자막 세그멘테이션을 생성하는 단계(S150); 상기 음성 세그멘테이션과 상기 자막 세그멘테이션에 기초하여 강제 정렬(forced alignment)을 수행하여 수정 자막 데이터를 생성하는 단계(S160)를 포함한다.
실시예에서, 단계(S130)는, 상기 음성을 인식하여 상기 음성 인식 텍스트를 생성하도록 미리 학습된 음성 인식 모델을 포함하는 단계로서, 상기 음성 인식 텍스트는 상기 음성에 대응하는 타임 스탬프를 포함하는, 단계; 상기 음성 인식 텍스트와 상기 자막 데이터를 문장 단위로 비교하여, 상기 자막 데이터의 타임 스탬프를 문장 단위로 상기 음성 인식 텍스트의 타임 스탬프로 일치시키는 텍스트 정렬을 수행하는 단계; 및 상기 정렬된 자막 데이터의 적어도 하나의 문장을 하나의 청크를 정의하여 상기 복수의 청크를 생성하는 단계를 포함할 수 있다.
실시예에서, 상기 음성 인식 모델은 상기 음성으로부터 특징을 추출하는 특징 추출 모델과, 추출된 특징에 기반하여 음성 인식 텍스트를 생성하는 텍스트 생성 모델을 포함할 수 있다.
실시예에서, 상기 자막 데이터는 음성 자막 구간, 비음성 자막 구간 및 영상 삭제 구간을 포함하며, 상기 음성 자막 구간에 포함된 복수의 문장을 기준으로 텍스트 정렬이 먼저 수행된 후, 정렬된 음성 자막 구간의 문장을 기준으로 비음성 자막 구간에 대응하는 문장 및 영상 삭제 구간에 대응하는 문장이 정렬될 수 있다.
또한, 텍스트 정렬 수행 단계는 상기 정렬된 영상 삭제 구간에 대응하는 문장에 대해 삭제 대상 마킹을 수행하는 것을 포함하며, 상기 복수의 청크의 생성시 상기 삭제 대상 마킹된 문장은 청크에서 제외될 수 있다.
상기 단계(S160)는 제1 언어에 기초하여 상기 강제 정렬을 수행할 수 있다.
상기 방법은 상기 자막 세그멘테이션의 제2 언어로 구성된 텍스트를 제2 언어의 발음에 따라 상기 제1 언어로 변환하여 제1 전처리 자막 세그멘테이션을 생성하는 단계; 및 상기 제1 전처리 자막 세그멘테이션에 대한 토큰화를 수행하여 제2 전처리 자막 세그멘테이션을 생성하는 단계를 더 포함하고, 상기 단계(S160)는 상기 음성 세그멘테이션과 상기 제2 전처리 자막 세그멘테이션을 이용하여 상기 강제 정렬을 수행하여 상기 수정 자막 데이터를 생성하는 것을 포함할 수 있다.
제2 전처리 자막 세그멘테이션을 생성하는 단계는 단어의 시작을 특수 기호로 표시하도록 토큰을 형성하는 것을 포함할 수 있다.
제1 전처리 자막 세그멘테이션을 생성하는 단계는, 상기 자막 세그멘테이션에 대해 수행된 제1 전처리 정보를 생성하는 것을 포함하며, 상기 단계(S160)는 상기 제1 전처리 정보를 이용하여 상기 제1 전처리된 텍스트를 상기 제2 언어로 역변환하여 상기 수정 자막 데이터를 생성하는 것을 포함할 수 있다.
상기 단계(S160)는, 상기 제2 전처리 자막 세그멘테이션과 상기 음성 세그멘테이션을 분석하여 자소 단위로 음성 정렬 정보를 추출하고, 상기 자소 단위로 추출된 음성 정렬 정보를 기초로 상위 단위에 해당하는 음성 정렬 정보를 생성하는 것을 포함할 수 있다.
상기 단계(S110)는, 상기 콘텐츠 영상에서 오디오 신호를 추출하는 단계; 및 상기 오디오 신호에서 딥러닝 기반의 음성 분리 모델을 통해 상기 음성을 추출하는 단계를 포함하며, 상기 음성 분리 모델은 상기 오디오 신호에서 배경음 및 효과음을 필터링하여 상기 음성만을 추출하도록 학습된 상태일 수 있다.
실시예에 따른 자동 자막 동기화 방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다.
또한 실시예에 따른 자동 자막 동기화 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서 실시예에 따른 자동 자막 동기화 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (10)
- 콘텐츠 영상과 관련된 자막 데이터를 자동으로 수정하여 수정 자막 데이터를 생성하는 자동 자막 동기화 장치로서, 상기 자동 자막 동기화 장치는:
상기 콘텐츠 영상에서 음성을 추출하는 음성 추출부;
상기 추출된 음성을 인식하여 음성 인식 텍스트를 생성하고, 상기 음성 인식 텍스트와 상기 자막 데이터를 비교하여 복수의 청크(chunks)로 구성되는 분할 정보를 생성하는 분할 정보 생성부;
상기 분할 정보에 기초하여 상기 음성을 분할하여 음성 세그멘테이션 및 상기 분할 정보에 기초하여 상기 자막 데이터를 분할하여 자막 세그멘테이션을 생성하는 데이터 전처리부로서, 제1 언어로 구성된 텍스트와 상기 제1 언어와 상이한 제2 언어를 구성된 텍스트를 포함하는 자막 세그멘테이션에서, 상기 제2 언어로 구성된 텍스트를 상기 제2 언어의 발음에 따라 상기 제1 언어로 변환하는 제1 전처리를 수행하여 제1 전처리 자막 세그멘테이션을 생성하는 언어 변환 유닛; 및 상기 제1 전처리 자막 세그멘테이션에 대한 토큰화를 수행하여 제2 전처리 자막 세그멘테이션을 생성하는 토큰 변환 유닛을 포함하는, 데이터 전처리부; 및
상기 음성 세그멘테이션과 상기 제2 전처리 자막 세그멘테이션을 상기 제1 언어에 기초하여 상기 강제 정렬을 수행하여 상기 수정 자막 데이터를 생성하는 강제 정렬 수행부를 포함하는,
자동 자막 동기화 장치.
- 제1 항에 있어서,
상기 분할 정보 생성부는,
상기 음성을 인식하여 상기 음성 인식 텍스트를 생성하도록 미리 학습된 음성 인식 모델을 포함하는 음성 인식 유닛으로, 상기 음성 인식 텍스트는 상기 음성에 대응하는 타임 스탬프를 포함하는, 음성 인식 유닛;
상기 음성 인식 텍스트와 상기 자막 데이터를 문장 단위로 비교하여, 상기 자막 데이터의 타임 스탬프를 문장 단위로 상기 음성 인식 텍스트의 타임 스탬프로 일치시키는 텍스트 정렬을 수행하는 텍스트 정렬 유닛; 및
상기 정렬된 자막 데이터의 적어도 하나의 문장을 하나의 청크를 정의하여 상기 복수의 청크를 생성하는 분할 정보 생성 유닛을 포함하는,
자동 자막 동기화 장치.
- 제2 항에 있어서,
상기 음성 인식 모델은,
상기 음성으로부터 특징을 추출하는 특징 추출 모델과, 추출된 특징에 기반하여 음성 인식 텍스트를 생성하는 텍스트 생성 모델을 포함하는,
자동 자막 동기화 장치.
- 제2 항에 있어서,
상기 텍스트 정렬 유닛은 상기 음성 인식 텍스트와 상기 자막 데이터 사이에 유사한 의미를 가지는 문장에 대해 먼저 정렬을 수행하며,
상기 텍스트 정렬 유닛은 상기 자막 데이터에서 먼저 정렬된 문장에 해당하는 음성 자막 구간을 기준으로 상기 자막 데이터에서 정렬되지 않은 문장을 정렬하고,
상기 정렬되지 않은 문장은 대응되는 음성에 오디오 신호가 존재하는 비음성 자막 구간과 대응되는 음성에 오디오 신호가 존재하지 않는 영상 삭제 구간을 포함하며,
상기 텍스트 정렬 유닛은 상기 영상 삭제 구간에 대응하는 문장에 대해 삭제 대상 마킹을 수행하며,
상기 분할 정보 생성 유닛은 상기 복수의 청크의 생성시 상기 삭제 대상 마킹된 문장을 청크에서 제외하도록 구성되는,
자동 자막 동기화 장치.
- 삭제
- 제1 항에 있어서,
상기 토큰 변환 유닛은 단어의 시작을 특수 기호로 표시하도록 토큰을 형성하며,
상기 언어 변환 유닛은 상기 자막 세그멘테이션에 대해 수행된 제1 전처리 정보를 생성하며,
상기 강제 정렬 수행부는 상기 제1 전처리 정보를 이용하여 상기 제1 전처리된 텍스트를 상기 제2 언어로 역변환하여 상기 수정 자막 데이터를 생성하고,
상기 수정 자막 데이터는 상기 제1 언어로 구성된 텍스트와 상기 제2 언어로 구성된 텍스트를 포함하는,
자동 자막 동기화 장치.
- 제1 항에 있어서,
상기 강제 정렬 수행부는,
상기 제2 전처리 자막 세그멘테이션과 상기 음성 세그멘테이션을 분석하여 자소 단위로 음성 정렬 정보를 추출하고, 상기 자소 단위로 추출된 음성 정렬 정보를 기초로 상위 단위에 해당하는 음성 정렬 정보를 생성하는,
자동 자막 동기화 장치.
- 제1 항에 있어서,
상기 음성 추출부는,
상기 콘텐츠 영상에서 오디오 신호를 추출하는 오디오 추출 유닛; 및
상기 오디오 신호에서 딥러닝 기반의 음성 분리 모델을 통해 상기 음성을 추출하는 음성 분리 유닛을 포함하며,
상기 음성 분리 모델은 상기 오디오 신호에서 배경음 및 효과음을 필터링하여 상기 음성만을 추출하도록 학습된 상태인,
자동 자막 동기화 장치.
- 자동 자막 동기화 장치에서 수행되는 자막 자동 동기화 방법으로, 상기 방법은:
콘텐츠 영상과 상기 콘텐츠 영상과 관련된 자막 데이터가 입력되는 단계;
상기 콘텐츠 영상에서 음성을 추출하는 단계;
상기 음성을 음성 인식 모델을 통해 인식하여 음성 인식 텍스트를 생성하는 단계;
상기 음성 인식 텍스트와 상기 자막 데이터를 비교하여 복수의 청크(chunk)로 구성되는 분할 정보를 생성하는 단계;
상기 분할 정보에 기초하여 상기 음성을 분할하여 음성 세그멘테이션을 생성하는 단계;
상기 분할 정보에 기초하여 상기 자막 데이터를 분할하여 자막 세그멘테이션을 생성하는 단계;
제1 언어로 구성된 텍스트와 상기 제1 언어와 상이한 제2 언어를 구성된 텍스트를 포함하는 자막 세그멘테이션에서, 상기 제2 언어로 구성된 텍스트를 상기 제2 언어의 발음에 따라 상기 제1 언어로 변환하는 제1 전처리를 수행하여 제1 전처리 자막 세그멘테이션을 생성하는 단계;
상기 제1 전처리 자막 세그멘테이션에 대한 토큰화를 수행하여 제2 전처리 자막 세그멘테이션을 생성하는 단계; 및
상기 음성 세그멘테이션과 상기 제2 전처리 자막 세그멘테이션을 상기 제1 언어에 기초하여 강제 정렬을 수행하여 수정 자막 데이터를 생성하는 단계를 포함하는,
자동 자막 동기화 방법.
- 하드웨어와 결합되어 제9 항에 따른 자동 자막 동기화 방법을 실행시키기 위해 매체에 저장된 컴퓨터 프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220107115A KR102555698B1 (ko) | 2022-08-25 | 2022-08-25 | 인공지능을 이용한 자동 자막 동기화 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220107115A KR102555698B1 (ko) | 2022-08-25 | 2022-08-25 | 인공지능을 이용한 자동 자막 동기화 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102555698B1 true KR102555698B1 (ko) | 2023-07-17 |
Family
ID=87430145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220107115A KR102555698B1 (ko) | 2022-08-25 | 2022-08-25 | 인공지능을 이용한 자동 자막 동기화 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102555698B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116631447A (zh) * | 2023-07-24 | 2023-08-22 | 科大讯飞股份有限公司 | 噪声提取方法、装置、设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020012855A (ja) * | 2018-07-13 | 2020-01-23 | 株式会社ソケッツ | テキスト表示用同期情報生成装置および方法 |
KR102135643B1 (ko) * | 2019-09-04 | 2020-07-20 | (주) 소프트기획 | 음성인식 엔진을 이용한 실시간 지능형 자막화 서비스 제공 시스템 |
KR20210047583A (ko) * | 2019-10-22 | 2021-04-30 | 주식회사 카카오 | 데이터베이스 구축 방법 및 장치 |
KR102299269B1 (ko) * | 2020-05-07 | 2021-09-08 | 주식회사 카카오엔터프라이즈 | 음성 및 스크립트를 정렬하여 음성 데이터베이스를 구축하는 방법 및 장치 |
-
2022
- 2022-08-25 KR KR1020220107115A patent/KR102555698B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020012855A (ja) * | 2018-07-13 | 2020-01-23 | 株式会社ソケッツ | テキスト表示用同期情報生成装置および方法 |
KR102135643B1 (ko) * | 2019-09-04 | 2020-07-20 | (주) 소프트기획 | 음성인식 엔진을 이용한 실시간 지능형 자막화 서비스 제공 시스템 |
KR20210047583A (ko) * | 2019-10-22 | 2021-04-30 | 주식회사 카카오 | 데이터베이스 구축 방법 및 장치 |
KR102299269B1 (ko) * | 2020-05-07 | 2021-09-08 | 주식회사 카카오엔터프라이즈 | 음성 및 스크립트를 정렬하여 음성 데이터베이스를 구축하는 방법 및 장치 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116631447A (zh) * | 2023-07-24 | 2023-08-22 | 科大讯飞股份有限公司 | 噪声提取方法、装置、设备及可读存储介质 |
CN116631447B (zh) * | 2023-07-24 | 2023-12-01 | 科大讯飞股份有限公司 | 噪声提取方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112562721B (zh) | 一种视频翻译方法、系统、装置及存储介质 | |
CN105245917B (zh) | 一种多媒体语音字幕生成的系统和方法 | |
US20170372693A1 (en) | System and method for translating real-time speech using segmentation based on conjunction locations | |
US20160133251A1 (en) | Processing of audio data | |
KR102592630B1 (ko) | 번역단위 대역 코퍼스를 이용하는 동시통역 시스템 및 방법 | |
Boeffard et al. | Towards Fully Automatic Annotation of Audio Books for TTS. | |
DE112020004348B4 (de) | Feststellen und wiederherstellen von ausserhalb des wortschatzes liegenden wörtern in sprache-zu-text-transkriptionssystemen | |
US20220358905A1 (en) | Audio and video translator | |
JP2023155209A (ja) | ビデオ翻訳プラットフォーム | |
US9905221B2 (en) | Automatic generation of a database for speech recognition from video captions | |
Karpov | An automatic multimodal speech recognition system with audio and video information | |
KR102555698B1 (ko) | 인공지능을 이용한 자동 자막 동기화 방법 및 장치 | |
Yang et al. | An automated analysis and indexing framework for lecture video portal | |
CN106550268B (zh) | 视频处理方法和视频处理装置 | |
Levy et al. | The effect of pitch, intensity and pause duration in punctuation detection | |
Solberg et al. | A Large Norwegian Dataset for Weak Supervision ASR | |
Marasek et al. | System for automatic transcription of sessions of the Polish senate | |
Krug et al. | Articulatory synthesis for data augmentation in phoneme recognition | |
KR20200077095A (ko) | 음성 처리 장치 및 음성 처리 방법 | |
Santos et al. | CORAA NURC-SP Minimal Corpus: a manually annotated corpus of Brazilian Portuguese spontaneous speech | |
KR102555701B1 (ko) | 인공지능을 이용한 자동 가사 동기화 방법 및 장치 | |
Li et al. | Grammar-based semi-supervised incremental learning in automatic speech recognition and labeling | |
Tathe et al. | Transcription and translation of videos using fine-tuned XLSR Wav2Vec2 on custom dataset and mBART | |
KR102140438B1 (ko) | 오디오 컨텐츠 및 텍스트 컨텐츠의 동기화 서비스를 위해 텍스트 데이터를 오디오 데이터에 매핑하는 방법 및 시스템 | |
Messaoudi et al. | TuniSER: Toward a Tunisian Speech Emotion Recognition System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |