상기 목적은 본 발명에 따라 동영상 데이터가 기록된 정보저장매체에 있어서, 상기 동영상 데이터가 저장된 기록 단위인 복수개의 클립; 및 상기 클립과 별개로 기록되어 있고, 상기 동영상 데이터에 기초한 영상 위에 그래픽으로 오버랩되어 출력되는 서브 타이틀용 텍스트 데이터를 포함하고, 상기 서브 타이틀용 텍스트 데이터는 적어도 한 가지 언어로 이루어진 데이터를 포함하는 것을 특징으로 하는 정보저장매체에 의해 달성된다.
상기 정보저장매체는 상기 클립과 별개로 기록되며, 상기 텍스트 데이터의 그래픽 표현을 위해 상기 서브 타이틀용 텍스트 데이터에서 사용된 문자의 폰트 데이터를 더 포함하는 것이 바람직하다.
상기 서브 타이틀용 텍스트 데이터는 복수의 언어 데이터일 경우 각 언어별로 별도의 공간에 기록되어 있고, 그래픽 데이터로 변환되어 출력될 문자 데이터와 함께 상기 동영상 데이터와의 출력 동기화 정보를 포함하며, 그래픽 데이터로 변환되어 출력될 문자 데이터와, 이 그래픽 데이터가 상기 동영상 데이터에 기초한 영상과 오버랩될 때 어느 위치에 출력될 것인가를 나타내는 출력 위치 정보를 포함하고, 상기 서브 타이틀용 텍스트 데이터는 그래픽 데이터로 변환되어 출력될 문자 데이터와, 이 그래픽 데이터가 동영상과 오버레이될 때 한가지 이상 복수의 스타일로 그래픽 데이터의 출력을 표시하기 위한 출력 스타일 정보를 포함하는 것이 바람직하다.
상기 동영상 데이터는 끊김없이 재생되어야 하는 단위로 구분되어 있고, 상기 하나의 단위에 해당하는 상기 서브 타이틀용 텍스트 데이터는 전체 크기가 제한되어 있는 것이 바람직하다.
상기 동영상 데이터는 끊김없이 재생 되어야 하는 재생 단위로 구분되어 복수 개의 재생 단위로 구성되고, 상기 재생 단위 하나에 해당하는 상기 서브 타이틀용 텍스트 데이터는 복수의 언어 셋으로 구분되고 상기 하나의 언어 셋을 구성하는 서브 타이틀용 텍스트 데이터는 전체 크기가 제한되어 있는 것이 바람직하다.
상기 서브 타이틀용 텍스트 데이터를 구성하는 텍스트 데이터는 다국어 문자 셋을 지원하기 위한 Unicode로 표현되어 기록되거나. 기본 영문자 셋인 ASCII 혹은 라틴어 확장 문자 셋인 ISO8859-1에 해당하는 문자로만 구성된 경우 하나의 문자를 복수의 8 비트 단위로 부호화 하는 UTF-8를 사용하여 부호화되어 기록되거나, Unicode 상에서 2 바이트 크기의 코드 포인트 값을 가지는 문자가 포함된 경우 하나의 문자를 복수의 16 비트 단위로 부호화 하는 UTF-16를 사용하여 부호화되어 기록되는 것이 바람직하다.
상기 정보저장매체는 그 재생 장치에의 삽입과 이탈이 용이한 착탈식이며, 그 재생 장치의 광학 장치를 이용하여 데이터를 읽어낼 수 있는 광 디스크임이 바람직하다.
한편, 본 발명의 다른 분야에 따르면, 상기 목적은 동영상 데이터가 기록된 정보저장매체를 재생하는 재생 장치에 있어서, 상기 정보저장매체에는 동영상 데이터가 부호화되어 기록 단위인 클립으로 구분되어 복수개의 클립으로 기록되어 있고, 상기 동영상 데이터에 기초한 영상 위에 그래픽 데이터로 오버랩되어 출력되는 서브 타이틀용 텍스트 데이터가 상기 클립과 별개로 기록되어 있고 상기 서브 타이틀용 텍스트 데이터는 하나 이상의 복수 언어의 데이터로 구성되며, 상기 재생 장치는 상기 정보저장매체에서 데이터를 읽어내기 위한 데이터 재생기, 상기 부호화 동영상 데이터의 복호기, 상기 자막용 텍스트 데이터를 그래픽 데이터로 변환하기 위한 랜더러, 상기 동영상 데이터와 상기 그래픽 데이터를 오버레이 하여 하나의 영상으로 만들기 위한 블랜더, 상기 동영상 데이터를 일시 저장하는 버퍼, 상기 서브 타이틀용 텍스트 데이터를 저장하는 버퍼를 포함하는 것을 특징으로 하는 재생 장치에 의해서도 달성된다.
상기 정보저장매체에는 상기 텍스트 데이터의 그래픽 표현을 위해 상기 서브 타이틀용 텍스트 데이터에서 사용된 문자의 폰트 데이터가 별도의 공간에 분리되어 기록되어 있고 상기 재생 장치에는 상기 폰트 데이터를 일시 저장하는 버퍼가 구비되어 있고 상기 랜더러는 상기 서브 타이틀용 텍스트 데이터의 텍스트 데이터를 상기 폰트 데이터를 이용하여 그래픽 데이터로 변환하는 기능을 구비하는 것이 바람직하다.
상기 정보저장매체에는 상기 서브 타이틀용 텍스트 데이터가 복수의 언어 데이터일 경우 각 언어별로 별도의 공간에 기록되어 있으며, 상기 재생 장치는 사용자의 선택이나 상기 재생 장치에 초기 재생 언어로 지정된 언어용 상기 서브 타이틀용 텍스트 데이터를 상기 버퍼에 임시 저장하고, 상기 서브 타이틀용 텍스트 데이터를 그래픽 데이터로 변환시키기 위한 폰트 데이터를 상기 폰트용 버퍼에 임시 저장하고, 동영상 데이터의 재생과 동시에 상기 서브 타이틀용 텍스트 데이터를 그래픽 데이터로 변환하여 출력하는 기능을 구비하는 것이 바람직하다.
상기 정보저장매체에는 상기 서브 타이틀용 텍스트 데이터를 그래픽 데이터로 변환하여 상기 동영상 데이터에 기초한 영상과 오버랩하여 출력하는 동기화 정보가 포함되어 기록 되어 있고, 상기 재생 장치는 상기 서브 타이틀용 텍스트 데이터의 출력 시작 시점과 종료 시점을 동기화 정보에 의해 제어하는 기능을 구비하는 것이 바람직하다.
상기 정보저장매체에는 상기 서브 타이틀용 텍스트 데이터가 그래픽 데이터로 변환되어 출력될 문자 데이터와, 이 그래픽 데이터가 상기 동영상 데이터에 기 초한 영상과 오버랩될 때 어느 위치에 출력될 것인가를 나타내는 출력 위치 정보를 포함하여 기록되어 있고, 상기 재생 장치는 상기 서브 타이틀용 텍스트 데이터의 상기 동영상 데이터에 기초한 영상과의 오버랩 위치를 상기 출력 위치 정보에 의해 제어하는 기능을 구비하는 것이 바람직하다.
상기 정보저장매체에 기록된 상기 동영상 데이터는 끊김없이 재생되어야 하는 재생 단위로 구분되어 있고, 상기 재생 단위에 해당하는 상기 서브 타이틀용 텍스트 데이터는 전체 크기가 제한되어 기록되어 있으며, 상기 재생 장치는 상기 끊김없이 재생되어야 하는 단위를 재생하기 전에 상기 크기 제한된 서브 타이틀용 텍스트 데이터를 모두 상기 버퍼에 저장하고, 재생 중 언어 변경이 발생한 경우 상기 버퍼에 저장된 해당 언어용 자막 데이터를 출력하는 기능을 구비하는 것이 바람직하다.
상기 정보저장매체에 기록된 상기 동영상 데이터는 끊김없이 재생되어야 하는 단위로 구분되어 있고, 상기 하나의 단위에 해당하는 상기 서브 타이틀용 텍스트 데이터는 복수의 언어 셋으로 구분되고 상기 하나의 언어 셋을 구성하는 서브 타이틀용 텍스트 데이터는 전체 크기가 제한되어 기록되어 있으며, 상기 재생 장치는 상기 끊김없이 재생되어야 하는 단위를 재생하기 전에 동영상 데이터와 동시에 출력되어야 하는 언어용 자막 데이터가 속하는 상기 언어 셋에 해당하는 서브 타이틀용 텍스트 데이터를 모두 상기 버퍼에 저장하고, 재생 중 언어 변경이 발생한 경우 해당 언어용 상기 서브 타이틀용 텍스트 데이터가 버퍼에 있는 경우 해당 언어용 상기 서브 타이틀용 텍스트 데이터를 출력하고, 없는 경우 해당 언어용 상기 서 브 타이틀용 텍스트 데이터가 속하는 상기 언어 셋에 해당하는 서브 타이틀용 텍스트 데이터를 모두 상기 버퍼에 저장하고 해당 언어용 상기 서브 타이틀용 텍스트 데이터를 출력하는 기능을 구비하는 것이 바람직하다.
상기 정보저장매체에는 상기 서브 타이틀용 텍스트 데이터가 그래픽 데이터로 변환되어 출력될 문자 데이터와, 이 그래픽 데이터가 상기 동영상 데이터에 기초한 영상과 오버랩될 때 복수개의 그래픽 데이터의 출력을 표시하기 위한 출력 스타일 정보를 포함하여 기록되어 있고, 상기 재생 장치는 자막 데이터의 스타일을 사용자의 선택에 따라 상기 한가지 이상 복수개의 스타일 정보 중에서 하나를 지정하여 출력하는 기능을 구비하는 것이 바람직하다.
상기 정보저장매체에는 상기 서브 타이틀용 텍스트 데이터를 구성하는 텍스트 데이터가 다국어 문자 셋을 지원하기 위한 Unicode로 표현되어 기록되어 있고, 상기 랜더러는 Unicode로 표현된 문자를 그래픽 데이터로 변환하는 것이 바람직하다.
상기 정보저장매체에는 상기 서브 타이틀용 텍스트 데이터가 기본 영문자 셋인 ASCII 혹은 라틴어 확장 문자 셋인 ISO8859-1에 해당하는 문자로만 구성된 경우 하나의 문자를 복수의 8 비트 단위로 부호화 하는 UTF-8 를 사용하여 부호화되어 기록되어 있고, 상기 랜더러는 상기 UTF-8 로 표현된 문자를 그래픽 데이터로 변환하는 것이 바람직하다.
상기 정보저장매체에는 상기 서브 타이틀용 텍스트 데이터가 Unicode 상에서 2 바이트 크기의 코드 포인트 값을 가지는 문자가 포함된 경우 하나의 문자를 복수 의 16 비트 단위로 부호화 하는 UTF-16를 사용하여 부호화되어 기록되어 있고, 상기 랜더러는 상기 UTF-16 로 표현된 문자를 그래픽 데이터로 변환하는 것이 바람직하다.
상기 정보저장매체는 그 재생 장치에의 삽입과 이탈이 용이한 착탈식이고, 상기 재생 장치는 상기 착탈식 정보저장매체를 읽어들여 재생함이 바람직하다.
상기 정보저장매체는 그 재생 장치의 광학 장치를 이용하여 데이터를 읽어낼 수 있는 광 디스크이고, 상기 재생 장치는 상기 광디스크에 기록된 데이터를 읽어들여 재생함이 바람직하다.
상기 재생 장치는 상기 정보저장매체에 기록된 동영상 데이터를 재생하지 않고 상기 자막 데이터만을 그래픽 데이터로 변환하여 출력하는 기능을 구비하거나, 복수의 언어용 상기 서브 타이틀용 텍스트 데이터가 기록된 정보저장매체인 경우 하나 이상의 언어용 자막 데이터를 읽어 동시에 출력하는 기능을 구비하는 것이 바람직하다.
상기 재생 장치는 서브 타이틀용 텍스트 데이터의 출력 중 해당 자막용 데이터와 동기된 동영상 데이터부터 동영상 데이터의 재생을 시작하여 동영상과 자막용 데이터를 오버랩하여 출력하는 기능을 구비하는 것이 효과적이다.
한편, 본 발명의 다른 분야에 따르면, 상기 목적은 동영상 데이터를 정보저장매체에 기록하는 기록 장치에 있어서, 상기 정보저장매체에 데이터를 기록하는 데이터 출력기, 상기 데이터 출력기로부터 출력된 상기 동영상 데이터를 부호화하는 부호화기, 상기 동영상 데이터에 부가되어 출력될 자막 데이터를 만드는 자막 데이터 발생기, 중앙 처리 장치, 고정식 저장장치, 버퍼를 포함하고,
상기 동영상 부호화기는 동영상을 기록 단위인 클립으로 구분하여 압축 부호화 한뒤 상기 고정식 저장장치에 저장하며, 상기 자막 데이터 발생기는 상기 동영상 데이터에 기초한 영상과 동시에 재생되어야 하는 하나 이상의 복수 언어용 자막 데이터를 텍스트 형태로 만들어 상기 고정식 저장장치에 저장하고, 상기 버퍼는 상기 고정식 저장 장치에 저장된 데이터를 일시 저장하며, 상기 데이터 출력기는 상기 버퍼에 일시 저장된 동영상 부호화 데이터, 자막 데이터를 정보저장매체에 기록하고, 상기 중앙 처리 장치는 상기 동영상 데이터의 부호화 과정, 상기 자막 데이터 발생 과정, 및 상기 부호화된 동영상 데이터, 상기 서브 타이틀용 텍스트 데이터가 각각 정보저장매체의 별개의 영역에 기록되도록 제어하는 것이 바람직하다.
상기 기록 장치는 상기 서브 타이틀용 텍스트 데이터를 그래픽 데이터로 변환하기 위한 폰트 데이터를 생성하기 위한 폰트 데이터 발생기를 더 구비하고, 상기 폰트 데이터 발생기는 상기 서브 타이틀용 텍스트 데이터를 그래픽 형태로 변환하기 위해 필요한 폰트 데이터를 만들어 상기 고정식 저장장치에 저장하며, 상기 버퍼는 상기 고정식 저장 장치에 저장된 폰트 데이터를 일시 저장하고, 상기 데이터 출력기는 상기 버퍼에 일시 저장된 폰트 데이터를 정보저장매체에 기록하며, 상기 중앙 처리 장치는 상기 폰트 데이터 발생 과정을 제어하고 폰트 데이터가 상기 정보저장매체의 별개의 영역에 기록되도록 제어하는 것이 바람직하다.
상기 중앙 처리 장치는 상기 서브 타이틀용 텍스트 데이터가 복수의 언어 데이터 일 경우 각 언어별로 별도의 공간에 기록되도록 제어하는 것이 바람직하다.
상기 자막 데이터 발생기는 그래픽 데이터로 변환되어 출력될 문자 데이터와 함께 상기 동영상 재생과의 출력 동기화 정보를 포함시켜 상기 자막용 데이터를 만들거나, 그래픽 데이터로 변환되어 출력될 문자 데이터와, 이 그래픽 데이터가 상기 동영상 데이터에 기초한 영상과 오버랩될 때 어느 위치에 출력될 것인가를 나타내는 출력 위치 정보를 포함시켜 상기 서브 타이틀용 텍스트 데이터를 만들거나, 그래픽 데이터로 변환되어 출력될 문자 데이터와, 이 그래픽 데이터가 상기 동영상 데이터에 기초한 영상과 오버랩될 때 한가지 이상 복수의 스타일로 그래픽 데이터의 출력을 표시하기 위한 출력 스타일 정보를 포함시켜 상기 자막용 데이터를 만드는 것이 바람직하다.
상기 동영상 부호화 데이터는 끊김없이 재생되어야 하는 재생 단위로 구분 되어 있고, 상기 자막 데이터 발생기는 상기 재상 단위에 해당하는 상기 자막 데이터의 전체 크기가 제한되도록 상기 서브 타이틀용 텍스트 데이터를 만드는 것이 바람직하다.
상기 동영상 부호화 데이터는 끊김없이 재생 되어야 하는 재생 단위로 구분되어 있고, 상기 자막 데이터 발생기는 상기 재생 단위에 해당하는 상기 서브 타이틀용 텍스트 데이터를 복수의 언어 셋으로 구분하고 상기 하나의 언어 셋을 구성하는 자막 데이터는 전체 크기가 제한되도록 상기 서브 타이틀용 텍스트 데이터를 만드는 것이 바람직하다.
상기 자막 데이터 발생기는 상기 서브 타이틀용 텍스트 데이터를 구성하는 텍스트 데이터를 다국어 문자 셋을 지원하기 위한 Unicode로 표현하거나, 상기 서 브 타이틀용 텍스트 데이터가 기본 영문자 셋인 ASCII 혹은 라틴어 확장 문자 셋인 ISO8859-1에 해당하는 문자로만 구성된 경우 하나의 문자를 복수의 8 비트 단위로 부호화 하는 UTF-8를 사용하여 부호화하거나, 상기 서브 타이틀용 텍스트 데이터가 Unicode 상에서 2 바이트 크기의 코드 포인트 값을 가지는 문자를 포함된 경우 하나의 문자를 복수의 16 비트 단위로 부호화 하는 UTF-16를 사용하여 부호화하는 것이 바람직하다.
상기 데이터 출력기는 상기 기록 장치에의 삽입과 착탈이 용이한 착탈식 정보저장매체에 데이터를 기록하거나, 광학 장치를 이용하여 데이터를 기록하는 광 디스크에 기록하는 것이 바람직하다.
한편, 본 발명의 다른 분야에 따르면, 상기 목적은 동영상 데이터가 기록된 정보저장매체에 있어서, 상기 동영상 데이터가 저장된 기록 단위인 복수개의 클립; 및 상기 클립과 별개로 기록되어 있고, 상기 동영상 데이터에 기초한 영상 위에 그래픽으로 오버랩되어 출력되기 위한 서브 타이틀용 텍스트 데이터를 포함하고, 상기 서브 타이틀용 텍스트 데이터는 적어도 한 가지 언어의 서브 타이틀을 제공하기 위한 데이터 및 제공되는 서브 타이틀의 목록 정보를 포함하는 것을 특징으로 하는 정보저장매체에 의해 달성된다.
상기 서브 타이틀의 목록 정보는 상기 정보저장매체 상에 저장된 적어도 하나의 상기 서브 타이틀용 텍스트 데이터의 목록을 포함하며, 네트워크를 통해 상기 서브 타이틀용 텍스트 데이터를 읽어올 수 있도록 네트워크 상의 상기 서브 타이틀용 텍스트 데이터를 저장하는 장치의 주소 정보 목록을 포함하는 것이 바람직하다.
한편, 본 발명의 다른 분야에 따르면, 상기 목적은 동영상 데이터가 기록된 정보저장매체를 재생하는 재생 장치에 있어서, 상기 정보저장매체에는 동영상 데이터가 부호화되어 기록 단위인 클립으로 구분되어 복수개의 클립으로 기록되어 있고, 상기 동영상 데이터에 기초한 영상 위에 그래픽 데이터로 오버랩되어 출력되는 서브 타이틀용 텍스트 데이터가 상기 클립과 별개로 기록되어 있고 상기 서브 타이틀용 텍스트 데이터는 하나 이상의 복수 언어의 서브 타이틀을 제공하기 위한 데이터 및 제공되는 서브 타이틀의 목록 정보를 포함하며, 상기 재생 장치는 상기 정보저장매체에서 데이터를 읽어내기 위한 데이터 재생기, 상기 부호화 동영상 데이터의 복호기, 상기 자막용 텍스트 데이터를 그래픽 데이터로 변환하기 위한 랜더러, 상기 동영상 데이터와 상기 그래픽 데이터를 오버레이 하여 하나의 영상으로 만들기 위한 블랜더, 상기 동영상 데이터를 일시 저장하는 버퍼, 상기 서브 타이틀용 텍스트 데이터를 저장하는 버퍼를 포함하며, 상기 재생 장치는 상기 서브 타이틀의 목록 정보를 해석하여 사용자가 선택할 수 있는 서브 타이틀 목록 메뉴를 재생하는 것이 바람직하다.
상기 서브 타이틀의 목록 정보는 상기 정보저장매체 상에 저장된 적어도 하나의 상기 서브 타이틀용 텍스트 데이터의 목록을 포함하며, 네트워크를 통해 서브 타이틀용 텍스트 데이터를 읽어올 수 있도록 네트워크 상의 상기 서브 타이틀용 텍스트 데이터를 저장하는 장치의 주소 정보 목록을 포함하는 것이 바람직하다.
상기 서브 타이틀 목록 메뉴는 상기 정보저장매체 상에 저장된 서브 타이틀용 텍스트 데이터의 목록 및 상기 네트워크 상의 상기 서브 타이틀용 텍스트 데이 터를 저장하는 장치 상에 저장된 서브 타이틀용 텍스트 데이터의 목록을 통합한 메뉴를 포함하는 것이 바람직하다.
상기 재생장치는 상기 서브 타이틀 목록 메뉴로부터 사용자가 선택한 서브타이틀에 해당하는 상기 서브 타이틀용 텍스트 데이터가 저장된 정보저장매체 또는 네트워크 상의 장치로부터 상기 서브 타이틀용 텍스트 데이터를 읽어들여 재생하는 것이 바람직하다.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다.
상기 목적을 달성하기 위해, 본 발명에 따른 정보저장매체에는 각 서브 타이틀 데이터를 AV 데이터 내에 함께 부호화하지 않고 별도의 텍스트 데이터 형태로 기록 공간에 분리하여 기록되어 있다. 또한, 상기 정보저장매체에는 텍스트 형태로 되어 있는 서브 타이틀 데이터를 랜더링하기 위해 필요한 별도의 폰트 데이터가 기록되어 있다. 나아가, 복호화 과정이 끝난 AV 동영상과 연동하기 위한 동기화 정보 및 화면 출력을 위한 출력 정보가 기록되어 있다. 서브 타이틀 데이터는 종래 DVD에 있어서 서브 픽처 데이터에 대응한다.
즉, 본 발명에 따른 정보저장매체에는 다음과 같은 구성 요소들이 기록되어 있다.
1) 동영상 정보가 압축 부호화된 AV 데이터(클립)
2) 다국어 서브 타이틀용 텍스트 데이터
3) 텍스트 데이터의 랜더링을 위한 폰트 데이터
그 외에, 디스크에 저장된 자막 데이터 뿐만 아니라, 인터넷을 통해 다운로드 받은 자막 데이터를 재생하기 위하여 다음과 같은 구성 요소가 더 포함된다.
4) 제공되는 서브 타이틀의 목록 정보
도 9는 본 발명의 바람직한 실시예에 따른 재생 장치의 블럭도이다.
도 9를 참조하면, 재생 장치는 정보저장매체에 저장된 AV 데이터, 서브 타이틀용 텍스트 데이터, 다운로드 폰트 데이터을 읽어 들이는 reader 블럭과, AV 데이터를 디코딩하기 위한 decoder 블럭, 텍스트 파일을 랜더링하는 renderer 블럭, decoder 블럭으로부터 나오는 동영상과 renderer 블럭으로부터 나오는 자막 데이터를 합성하는 blender 블럭을 포함한다.
더불어, 재생 장치는 reader 블럭과 decoder 블럭, renderer 블럭 사이에서 데이터들의 완충 역할을 담당하는 한편, 결정된 폰트 데이터를 저장하기 위한 buffer 블럭을 더 포함하고, 디폴트로 미리 저장되어 있는 resident font data 저장 블럭을 구비하기도 한다.
본 발명에서 랜더링이라 함은 자막용 텍스트 데이터를 디스플레이 장치에 표현하기 위한 그래픽 데이터로 변환시키는 것에 관련된 모든 필요한 행위를 말한다. 즉 텍스트 데이터에서 한 문자마다의 character code와 매칭되는 폰트를 정보저장매체로부터 읽어들인 다운로드 폰트 data 블록 혹은 resident font data 블럭에서 찾아서 그래픽으로 바꾸는 과정을 반복하여 자막 영상을 구성하기 위한 그래픽 데이터를 만들어내고 색상을 지정하거나 변환시키고, 글자의 크기를 지정하거나 변환 시키고, 가로 쓰기 혹은 세로 쓰기에 따라 적절하게 그래픽 데이터를 만들어 내는 것 등이 포함된다. 특히, 사용하는 폰트 데이터가 아웃라인 폰트일 경우는 폰트 데이터는 각 문자의 형태를 곡선 식으로 규정하고 있다. 이와 같은 경우 랜더링은 이러한 곡선 식을 처리하여 그래픽 데이터를 만들어내는 래스터라이징 과정도 포함한다.
도 10은 본 발명에 따른 정보저장매체에 저장되는 텍스트 데이터의 구조도이다.
도 10을 참조하면, 텍스트 데이터는 AV 스트림과는 별도로 기록된다. 텍스트 데이터는 자막용으로 출력될 문자 데이터에 더하여 랜더링 후 AV 스트림데이터에서 복호된 동영상 정보와 동기를 맞추기 위한 동기화 정보, 랜더링 된 자막 데이터가 화면에 표시될 위치를 지정하는 디스플레이 영역(area) 정보, 랜더링 된 자막 데이터의 글자 크기, 가로 혹은 세로 쓰기, 디스플레이 영역 내에서의 정렬, 색상, 콘트라스트 등의 디스플레이 스타일 정보 등을 가지고 있다. 또한 복수의 언어 별로 각 텍스트 데이터가 작성되어야 하기 때문에 언어를 나타내기 위한 정보도 포함된다. 이러한 다국어 데이터는 각각 별도의 공간에 따로 저장될 수도 있고 언어에 상관없이 출력되는 시간 순서별로 다중화되어 하나의 공간에 저장될 수도 있다.
도 11은 본 발명에 따른 서브 타이틀용 텍스트 데이터의 바람직한 실시예를 보여준다.
도 11을 참조하면, 본 실시예에서는 서브 타이틀용 텍스트 데이터로 마크업 언어를 사용한다. 서브 타이틀용으로 사용되는 마크업 언어는 사용되는 용도가 자 막임을 고려하여 최소한의 태그 혹은 엘리먼트를 사용하도록 하며, 전술한 바와 같이 동기화 및 화면 표시를 위한 태그 혹은 속성을 가질 수 있다. 여기에서는 subtitle, head, meta, body, p 엘리먼트를 예시하였다. 본 실시예에서는 속성으로 정보를 표시하였다. 예에서 사용된 속성은 다음과 같다.
- start: 함께 재생되어야 하는 동영상 재생의 시작 시간을 0 으로 했을때 해당 자막 데이터가 출력되어야 하는 시간으로서 시간(HH):분(MM):초(SS):프레임(FF)의 형태로 서브 타이틀이 표시되는 시각을 나타낸다. 1000분의 1초 단위로도 나타낼 수 있다. 또는 동영상 데이터가 MPEG 비디오 일 경우, 해당 서브 타이틀이 오버레이 되어 표시되는 비디오 영상의 Presentation Time Stamp (PTS) 값을 가질 수도 있다. 통상 PTS 값은 27MHz 혹은 90KHz 로 동작되는 카운터 값이다. 이렇게 PTS 값을 사용하게 되면 비디오 데이터와 정확하게 일치시켜 동작 시킬 수 있다.
- end: start와 같은 형태의 속성 값을 가지며 표시된 자막이 사라지는 시각을 표시한다.
- position: 자막 데이터가 표시될 디스플레이 영역의 비디오 영역 내에서의 상위 왼쪽 꼭지점의 좌표를 나타낸다.
- direction: 표시될 자막 데이터의 방향을 나타낸다.
- size: 자막 데이터가 표시될 디스플레이 영역의 폭 혹은 높이를 나타낸다. 만약 "direction"의 속성 값이 "horizontal"이면 자막 데이터 박스의 고정된 폭 값을 나타내며, "vertical"이면 자막 데이터 박스의 고정된 높이 값을 나타낸다.
사용된 엘리먼트의 경우 subtitle 엘리먼트로 텍스트 데이터의 루트를 나타내었으며, head 엘리먼트를 사용하여 전체 텍스트 데이터에 필요한 정보를 다루고 있는 meta 엘리먼트나 혹은 도 11의 예에서는 나타나지 않은 style 엘리먼트를 포함하게 하고 meta 엘리먼트는 name, content의 속성을 사용하여 해당 텍스트 데이터에 대한 필요 정보를 기술할 수 있도록 하였다. 본 실시예의 경우 meta 엘리먼트를 사용하여 해당 텍스트 데이터의 제목 및 나타내는 언어를 표시하였다. 즉 다국어 선택시 텍스트 데이터 내의 meta 정보를 이용하여 편리하게 해당 언어 텍스트 파일을 선택할 수 있다. 물론 텍스트 파일의 이름으로써 언어를 구별할 수도 있으며 혹은 디렉토리 구조에서 각 언어 텍스트 파일별로 디렉토리를 따로 마련하여 디렉토리 명으로 구분할 수도 있다.
이렇게 저장된 자막 데이터는 동영상 재생 전에 재생 장치의 버퍼에 로딩되어 동영상 재생과 render 블럭에 의해 그래픽 데이터로 변환되어 비디오 영상에 오버랩되어 정확한 시간에 정해진 디스플레이 영역에 표현된다. 상기 설명한 대로 텍스트 데이터는 자막용 문자 데이터 뿐만이 아니라 제어 정보도 일정한 형식 혹은 문법에 의해 작성되어야 한다. 따라서 renderer 블럭의 경우 저장되는 텍스트 파일이 정해진 문법에 의해 작성되었는지 검증하는 parser의 기능을 구비하는 것이 바람직하며, 또한 텍스트 파일 내에 포함된 동기화 정보를 이용하여 decoder 블럭에 의해 복호화된 동영상과 동기를 맞추기 위하여 decoder 블럭과는 재생 시간 정보 및 decoder 블럭의 재생 상황을 알려주거나 지정하는 이벤트 교환이 이루어 지는 채널이 존재하는 것이 바람직하다.
도 12는 도 11의 언어와는 다른 언어를 위한 서브 타이틀용 텍스트 데이터의 구조도이다.
도 12를 참조하면, 이처럼 동영상 데이터와 텍스트 데이터를 각각 별도의 영역에 기록하는 경우에는 동영상 데이터를 자막 데이터와는 별도로 부호화한 다음 부호화된 동영상 데이터에 각각 다른 언어의 텍스트 데이터를 간단히 추가하는 것으로 다국어 지원을 달성할 수 있다. 또 정보저장매체에 동영상 데이터와 함께 저장되어 있지 않는 자막 데이터 및 폰트 데이터를 추후 네트워크 등을 통하여 다운로드 받거나 추가 정보저장매체를 통하여 재생 장치에 로딩 할 경우 쉽게 지원되는 자막 데이터를 확장할 수 있다. 네트워크 등을 통해 자막 데이터나 폰트 데이터를 다운로드 받는 실시예는 후술한다.
이렇게 다국어를 지원할 경우 텍스트 데이터에 사용될 문자 코드가 문제가 된다. 본 발명에서는 바람직한 실시예로서 Unicode를 사용한다. Unicode는 65000 자 이상의 전 세계 언어를 표현하기 위해 만들어진 문자 코드이다. 이에 따르면, 각 문자는 Unicode 내에서 차지하는 코드 포인트로 표현된다. 각 언어를 나타내기 위한 문자들은 일정하게 연속된 값을 가지는 코드 포인트들의 모임이다. 이러한 코드 포인트의 연속된 공간을 가지는 문자들을 코드 차트라고 한다. 또한 Unicode 에서는 상기 문자 데이터 즉 코드 포인트를 실제로 저장하거나 전송하기 위한 부호화 형태로 UTF-8, UTF-16, UTF-32 를 지원하는데 이는 각각 8 비트, 16 비트, 32 비트의 데이터를 복수 개 사용하여 하나의 문자를 나타내기 위한 방법이다.
영문자를 나타내는 ASCII 코드와 라틴어를 확장하여 유럽 각국의 언어를 표 현하기 위한 확장 문자인 ISO8859-1 코드들은 Unicode에서 0x00에서 0xFF 사이의 코드 포인트 값을 가진다. 일본어의 히라가나 문자들은 0x3040에서 0x309F 값을 가지며 현대 한국어를 표현하기 위한 11172 자의 문자들은 0xAC00에서 0xD7AF 사이의 값을 가진다. 여기에서 0x라는 것은 코드 포인트 값이 16 진수로 표현되었다는 것을 의미한다.
만일 자막 데이터가 영문자로만 이루어져 있다면 UTF-8을 사용하여 부호화하는 것이 바람직하다. 한국어는 일본어용 자막 데이터라면 UTF-8을 사용하면 하나의 문자가 3 바이트로 표현되어야 한다. UTF-16을 사용하면 2 바이트로 표현되지만 이때 자막 데이터에 포함되는 영문자도 역시 2 바이트로 표현된다.
각 국가에서는 Unicode와 다르게 자체의 문자 코드를 가지고 있다. 예를 들어 한국어 문자 코드인 KSC5601 문자 셋은 한국어 문자는 2 바이트 코드 포인트 값을 가지며 영문자는 1 바이트 코드 포인트 값을 가진다. 상기 자막 데이터가 Unicode 를 사용하지 않고 각 국가의 문자 셋을 이용하여 작성되면 각 재생 장치는 이러한 문자 셋을 모두 이해하여야 하기 때문에 이의 구현을 위한 부담이 늘어나게 된다.
자막 데이터를 텍스트 데이터로 처리하기 위해서는 폰트 데이터가 필요하다. 또한 다국어 지원을 위해서는 이러한 폰트 데이터가 다국어를 지원하여야 한다. 그러나 이러한 다국어 지원용 폰트를 모두 재생 장치에 미리 가지고 있는 것을 실질적으로 어렵다. 이에 따라, 본 발명에서는 정보저장매체에 사용된 문자만을 대상으로 하는 폰트 데이터를 상기 자막 데이터와 같이 정보저장매체에 기록하여 재 생 장치에서 이 폰트 데이터를 동영상 재생 전에 버퍼에 로드하여 사용하도록 한다. 즉, 재생 장치는 각 자막용 텍스트 데이터와 폰트 데이터를 연결하여 재생한다. 자막용 텍스트 데이터와 폰트 데이터의 연결 정보는 자막용 텍스트 데이터 내에 기록되거나 별도의 영역에 기록된다. 사용자가 재생 중에 언어 변경을 하는 경우를 고려하여, 재생 장치는 연속 재생이 보장되어야 하는 해당 자막 데이터와 해당 폰트 데이터를 모두 재생 전에 재생 장치내의 버퍼에 로드하여 사용한다. 여기에서 연속 재생이란 동영상 데이터의 영상 및 오디오 출력에 끊김없이 재생하는 것을 의미한다. 통상 재생 장치는 비디오 및 오디오용 버퍼에 데이터를 일정량 저장하여 두고 재생을 실시하는 바, 재생 장치에 구비된 버퍼의 언더 플로우를 방지하면 연속 재생이 가능하게 된다. 재생 중 자막 변경을 위해 해당 자막 혹은 폰트 데이터를 reader 블럭을 통해 다시 읽어야 하는 경우 이 시간 동안 상기 비디오 및 오디오 데이터가 언더 플로우가 발생하지 않으면 미리 로딩을 하지 않아도 된다.
도 13은 본 발명에 따른 자막의 스타일이 지정된 서브 타이틀용 텍스트 파일의 일 예이다.
도 13을 참조하면, 본 실시예에서는 텍스트 파일을 구현하는 마크업 언어에 스타일 적용으로 CSS 파일 형식을 사용하기 위해 head 엘리먼트 내에 style 엘리먼트를 사용한다. CSS를 사용함으로써 자막 데이터는 다양한 폰트 글꼴, 크기 및 색상을 사용할 수 있게 된다.
한편 사용자에 따라 디폴트로 설정된 자막 스타일이 보기에 불편한 경우가 있을 수 있다. 가령, 시각 장애자의 경우 자막 텍스트의 폰트 크기가 작아서 불편 함을 느낄 수 있다. 그러므로 스타일을 적용할 때 동일한 텍스트 파일이라도 일반 사용자나 혹은 시작 장애자에 맞게 어떻게 스타일을 적용하여 표시할 것인가 하는 것은 중요한 문제 중 하나이다. 따라서, 사용자가 최초 재생 장치를 통해 정보저장매체를 재생할 때 메뉴 등을 통해서 폰트 크기 등의 스타일을 정할 수 있도록 함으로써, 사용자의 설정에 따른 스타일을 적용하기 위한 사용자가 선택 가능한 복수의 옵션을 가지는 스타일 시트가 사용될 수 있다.
본 발명에서는 사용자에 따른 자막 스타일을 설정할 수 있는 @user룰을 설명하고자 한다. user 타입은 CSS 속성들의 집합으로 본 예에서는 user 타입의 종류, 즉 시각 장애의 정도를 상세히 구분하는 것은 관련 사항이 아니므로 다음과 같이 두 가지 경우만 예로 든다.
- small: 시력이 정상인 사용자를 위한 스타일
- large: 시력이 나쁜 사용자를 위한 스타일
도 14에서 보는 바와 같이 @user 룰을 사용하여 재생 장치에 미리 설정되거나, 메뉴 혹은 사용자 입력 장치를 통해 시력이 좋은 사용자나 혹은 나쁜 사용자를 위해 스타일이 다르게 적용된 자막을 표시할 수 있게 된다.
이와는 다르게 재생 장치가 자막 데이터에 의해 정해진 위치와 정해진 크기의 폰트를 사용하지 않고 사용자의 선호도에 따라 위치와 크기를 다르게 해서 출력하는 것도 가능하다.
도 15는 도 11에서 구현한 자막용 텍스트 데이터가 실제 화면에 표시된 일 예를 보여준다.
도 15를 참조하면, 두 번째 <p> 엘리먼트에 의해 표시된 화면에서 "size" 속성에 의해 자막 데이터 디스플레이 영역의 폭 값이 520으로 고정되었으므로 한 행으로 표시할 수 없는 자막 데이터를 줄바꿈하여 표시하였다. 또 다른 실시예로서는 자막 데이터는 디스플레이 영역 내에서만 출력될 수 있도록 하고 행 바꿈 엘리먼트(br)를 사용하여서 강제로 행 바꿈을 지정하게 할 수도 있다.
세 번째 <p> 엘리먼트는 "direction" 속성에 의해 자막 데이터의 표시가 수직으로 표시된 예이다.
도 16은 특정 언어의 자막 재생 중에 사용자가 언어 변경을 실시한 경우의 일 예를 보여준다.
도 16을 참조하면, 재생 장치는 이러한 언어 변경이 필요할 때 재생 중인 자막 텍스트 데이터를 변경하고 해당 폰트 데이터를 연결하여 변경된 언어의 데이터를 랜더링하여 출력한다. 이를 위한 자막용 데이터 및 폰트 데이터가 모두 버퍼에 로딩되어 있다면 동영상 데이터의 연속 재생이 쉽게 가능하다. 만일 변경하고자 하는 텍스트 데이터나 폰트 데이터가 버퍼에 로딩되어 있지 않다면 해당 데이터를 다시 버퍼에 로딩하여야 한다. 이 때 동영상 데이터의 재생에 끊김이 발생할 수 있다.
동영상 재생의 끊김이 없는 다국어 변환을 하려면 자막용 데이터 및 폰트 데이터의 크기를 각 버퍼의 크기 이하로 제한하여야 한다. 그러나 이 경우는 지원 가능한 언어의 수가 제한을 받는다. 따라서 본 발명에서는 언어 세트라는 단위를 만들어 이를 해결한다.
도 17은 복수개의 다국어용 자막 데이터와 폰트 데이터의 언어 셋트의 일 예를 보여준다.
도 17을 참조하면, 하나의 동영상에 부가되어 있는 복수의 다국어용 자막 데이터와 폰트 데이터를 복수의 언어 세트로 구분한다. 하나의 언어 세트에 해당하는 자막 데이터와 폰트 데이터는 상기 버퍼의 크기 이하로 제한되어 있다. 동영상 재생 시작 전에 사용자가 선택하거나 재생 장치에 의해 디폴트로 선택된 언어의 자막 데이터가 속한 언어 세트가 상기 버퍼에 로딩되고 난 후 동영상 재생을 시작한다. 사용자가 언어 변경을 실시할 경우 이 언어 세트에 속한 자막 데이터는 이미 버퍼에 로딩되어 있으므로 동영상 재생의 끊김없이 언어 변경이 가능하다. 그러나 만일 이 언어 세트에 속하지 않은 언어로의 변경이 이루어 질 경우 재생 장치는 해당 언어 세트의 자막 데이터와 폰트 데이터를 버퍼에 다시 로딩한다. 이 경우 기존 언어 세트의 데이터들은 모두 소실된다. 이 때 동영상 재생에는 끊김이 발생할 수 있다. 이후 언어 변경이 이루어질 경우는 다시 해당 언어와 버퍼에 로딩된 언어 세트와의 관계에 따라 언어 변경 동작을 행한다. 이러한 언어 세트에 관한 정보는 정보저장매체에 기록되어 있을 수도 있고 재생 장치가 정보저장매체에 저장되어 있는 데이터와 재생 장치 내의 버퍼의 크기를 고려하여 재생 장치가 재생 시 임의로 정할 수도 있다.
또한, 정보저장매체에 동영상 데이터와 함께 저장되어 있지 않는 자막 데이터 및/또는 폰트 데이터를 추후에 인터넷 등을 통해 다운로드 받아 재생할 수도 있다. 이때, 디스크 정보저장매체에는 추가 서브 타이틀용 텍스트 데이터 및/또는 폰트 데이터를 받을 수 있는 인터넷 주소 정보가 포함될 수 있다. 지정된 주소의 서브 타이틀 제공 서버로부터 추가 서브 타이틀 정보 및 폰트 데이터를 다운로드 받을 수 있다. 이에 대한 상세한 실시예는 후술한다.
동영상 데이터의 재생에 필요한 정보 및 데이터와 자막 데이터와의 관계를 바람직한 실시예로서 설명하면 다음과 같다. 동영상 데이터의 기록 단위로서 Clip, 재생 단위로서 PlayList 및 PlayItem 이라는 용어를 사용한다.
본 발명에 따른 정보저장매체에는 AV 스트림이 Clip 단위로 구분되어 기록되어 있다. 통상의 경우 Clip은 연속 적인 공간에 기록된다. AV 스트림은 용량을 줄이기 위해 압축하여 기록된다. 따라서, 압축된 AV 스트림을 재생하기 위해서는 압축된 동영상 데이터의 특성 정보를 알아야 할 필요가 있다. 이에, 각 Clip 마다 Clip Information이 기록된다. Clip Information에는 각 Clip의 오디오 비디오 속성 및 일정한 구간 단위로 랜덤 액세스가 가능한 Entry Point의 위치 정보를 기록한 Entry Point Map 등이 기록되어 있다. 동영상 압축 기술로 많이 쓰이는 MPEG 의 경우 이 Entry Point는 인트라 영상의 압축을 하는 I 픽처의 위치가 되고 이 Entry Point Map은 재생 시작 후 어느 정도의 시간이 경과한 지점을 찾는 시간 서치에 주로 이용된다.
PlayList는 재생의 기본 단위이다. 정보저장매체에는 복수의 PlayList가 저장되어 있다. 하나의 PlayList는 복수의 PlayItem의 연결로 이루어져 있다. PlayItem은 Clip의 일부분에 해당하며, 구체적으로는 Clip 내에서의 재생 시작 시간과 끝 시간을 지정하는 형태로 사용되며 따라서 Clip Information을 이용하여 실 제 Clip 내의 해당 부분 위치를 찾아낸다.
도 18은 PlayList, PlayItem, Clip Information, Clip의 상관 관계도이다.
도 18을 참조하면, PlayList, PlayItem, Clip Information, Clip에 더불어, 본 발명에서는 각 클립에 복수의 자막용 텍스트 데이터가 클립과 별도의 공간에 기록되어 있다. 하나의 클립에 복수의 자막용 데이터가 연결되며 이러한 연결 정보는 Clip Information에 기록되는 것이 바람직하다. 어떤 클립은 복수의 자막용 데이터가 연결되지만 어떤 클립은 자막용 데이터가 없거나 하나 뿐일 수 있다. PlayList가 재생되는 경우 해당 PlayList에 속하는 PlayItem이 순차적으로 재생되며, 결과적으로 각 PlayItem에 연결된 클립과 해당 클립에 연결된 복수의 자막용 데이터(sub title) 중 하나가 랜더링되어 출력된다. 통상 PlayList 간에는 연속 재생을 보장하지 않으므로 해당 PlayList 재생 전에 연결된 모든 자막용 텍스트 데이터를 버퍼에 로딩하는 것이 바람직하다. 도 18에는 폰트 데이터를 별도로 표시하지 않았다. 폰트 데이터는 통상 언어별로 제작되는 것이 바람직하다. 따라서 별도의 공간에 기록된다.
도 19a, 도 19b, 및 도 19c는 본 발명에 따른 정보저장매체의 디렉토리 구조의 일 예이다.
도 19a를 참조하면, 디렉토리는 클립, Clip Information, PlayList, 자막용 텍스트 데이터, 폰트 데이터가 파일 형태로 저장되어 있고 각 종류별로 별도의 디렉토리로 구분되어 있다. 도시된 바와 같이, 서브 타이틀용 텍스트 파일과 폰트 파일은 동영상 데이터와는 별도의 디렉토리에 구비하는 것이 바람직하다.
도 19b는 서브 타이틀 목록 정보의 상세 정보를 보여준다. 도시한 바와 같이 서브 타이틀 목록 정보에는 제공되는 각 언어별 서브 타이틀 목록 정보가 포함하며, 또한 네트워크상에서 추가 서브 타이틀 정보 및/또는 폰트 정보를 다운로드 받을 수 있는 주소 정보 목록이 포함될 수도 있다.
이에 따라, 디스크 상의 서블 타이틀 정보 및/또는 네트워크 상의 서브 타이틀 정보를 이용하여 사용자가 선택할 수 있는 서브 타이틀 목록 메뉴 화면을 재생할 수 있다. 또한, 서브 타이틀 목록 메뉴 화면에서 사용자가 서브 타이틀을 선택하면, 선택된 서브 타이틀 정보가 저장된 디스크 또는 네트워크 상의 서브 타이틀 제공 서버로부터 서브 타이틀 정보를 다운로드 받아 재생할 수 있다. 인터넷을 통해 서브 타이틀 정보를 다운로드 받아 이용하는 방법은 후술한다.
도 19c는 각 동영상 데이터 클립과 각 언어별 서브 타이틀 정보의 매핑정보를 보여준다. 즉, 동영상 데이터가 저장된 클립 정보와 이에 오버레이 될 서브 타이틀 정보가 일대일 대응된다.
본 발명에 따른 정보저장매체는 재생 장치에 고정되지 않고 재생시에만 삽입하여 사용할 수 있는 착탈식 정보저장매체임이 바람직하다. 하드 디스크와 같은 대용량의 고정식 정보저장매체와 달리 착탈식 정보저장매체는 용량에 한계를 가진다. 또 이를 재생하는 재생 장치 역시 한정된 크기의 버퍼와 한정된 성능의 하위 기능 블럭을 가지는 경우가 많다. 따라서 착탈식 정보저장매체에 기록되어 있는 동영상 데이터와 더불어, 자막 데이터 및 자막 데이터에 사용된 폰트 데이터만을 정보저장매체에 기록하여 두고 이를 재생 장치에서 재생시 사용함으로써 자막 데이터 출력 을 위해 미리 구비하여야 하는 데이터를 최소화 할 수 있다. 이러한 착탈식 기록매체로는 광 디스크가 대표적이다.
본 발명에 따른 정보저장매체에 동영상 데이터가 자막용 텍스트 데이터와 별도의 공간에 저장되어 있고 이 자막용 텍스트 데이터가 복수의 다국어를 위한 데이터이면서 자막 데이터의 출력을 위한 폰트 데이터를 구비하는 경우, 재생 장치에는 자막 데이터와 폰트 데이타만을 버퍼에 로딩한 다음 동영상을 재생하면서 자막 데이터를 비디오 영상에 오버랩하여 출력하게 한다.
도 20은 재생 장치가 자막용 데이터만을 출력하는 경우의 예를 보여준다.
도 20을 참조하면, 재생 장치는 자막용 데이터만을 출력하는 기능을 가질 수 있다. 즉 재생 특수 기능 중의 하나로 상기 동영상 데이터를 재생하지 않고 상기 동영상 데이터와 같이 오버랩되어 출력될 자막 데이터만을 그래픽 데이터로 변환하여 출력한다. 이러한 경우는 자막 데이터를 이용하여 외국어를 습득하기 위한 목적으로 사용된다. 이 경우 동영상이 오버랩되지 않고 자막 데이터만이 출력되며 상기 동기화 정보나 위치 정보는 모두 무시되고 재생 장치가 전체 영상 위에 각 자막 데이터로 구성된 복수 라인 데이터를 출력하고 사용자의 입력을 기다린다. 사용자는 출력된 자막 데이터를 모두 감상하고 난 후 다음 라인의 자막 데이터 출력을 위한 신호를 재생 장치에 전달하여 자막 데이터의 출력 시점을 제어 한다.
도 21은 재생 장치가 하나 이상의 언어용 자막 데이터를 동시에 출력하는 경우를 보여준다.
도 21을 참조하면, 재생 장치는 특히 바람직한 예로서 상기 자막 데이터가 복수 언어로 구성된 경우 하나 이상의 언어용 자막 데이터를 동시에 출력하는 기능을 가질 수 있다. 이 때 각 언어용 자막 데이터의 동기화 정보를 이용하여 화면에 출력될 자막 데이터를 선정한다. 즉 출력 시작 시간 순서별로 자막 데이터를 출력하고 출력 시점이 똑같은 경우는 언어별로 구분하여 출력한다.
이렇게 자막 데이터 만을 재생하다가 해당 자막 라인 데이터에 해당하는 동영상 데이터부터 정상적으로 동영상 데이터의 재생을 개시하는 기능도 구비할 수 있다.
도 22는 자막 데이터 만을 재생하다가 해당 자막 라인 데이터에 해당하는 동영상 데이터부터 정상적으로 동영상 데이터의 재생을 개시하는 예를 보여준다.
도 22에 예시된 바와 같이 사용자가 하나의 자막 라인 데이터를 선택한 경우 해당 라인 데이터에 해당하는 재생 시간을 재지정하고 그 시간에 해당하는 동영상 데이터를 정상적으로 재생한다.
본 발명에서의 기록 장치는 동영상 데이터와 본 발명에 따른 자막 데이터를 정보저장매체에 기록하는 장치이다.
도 23은 본 발명에 따른 기록 장치의 블럭도이다.
도 23을 참조하면, 기록 장치는 중앙 처리 장치(CPU), 고정식 대용량 저장장치(storage), 동영상 부호화기(Encoder), 자막 데이터 발생기(Subtitle generator), 폰트 발생기(font generator), 데이터 출력기(writer), 및 버퍼를 포함한다.
동영상 부호화기(Encoder), 자막 데이터 발생기(Subtitle generator), 폰트 발생기(font generator)는 중앙 처리 장치(CPU) 상에 소프트웨어 형태로 구성될 수도 있다.
이외에 실시간으로 동영상을 입력받기 위한 동영상 입력기도 구비될 수 있다.
상기 저장장치는 부호화 대상이 되는 동영상 혹은 동영상 부호화기에 의해 부호화된 동영상 데이터를 저장한다. 더불어, 동영상에 부가된 대사(dialogue), 대용량 폰트 데이터 등도 저장한다. 자막 데이터 발생기는 상기 동영상 부호화기에서 자막 라인 데이터의 출력 시간을 위한 정보를 받고, 상기 대사 데이터로부터 자막 라인 데이터를 받아 상기 자막용 서브 타이틀 데이터를 만들어 고정식 저장 장치에 저장한다. 폰트 데이터 발생기는 상기 자막용 서브 타이틀 데이터에 사용된 문자를 포함하는 폰트 데이터를 고정장치에 저장된 대용량 폰트 데이터로부터 만들어 고정식 저장 장치에 저장한다. 즉, 정보저장매체에 저장되는 폰트 데이터는 고정식 저장 장치에 저장되어 있는 대용량 폰트 데이터의 일부분이다. 이렇게 정보저장매체에 저장할 형태의 데이터를 만들어 내는 과정을 오소링(authoring)이라고 부른다.
오소링 과정이 끝나면 고정식 저장 장치에 저장된 동영상 부호화 데이터를 기록 단위인 클립으로 분할하여 정보저장매체에 기록하고 상기 클립에 속한 동영상 데이터에 부가된 자막용 서브 타이틀 데이터를 별도의 영역에 기록한다. 더불어, 상기 자막 데이터를 그래픽 데이터로 변환하기 위해 필요한 폰트 데이터를 별도의 영역에 기록한다.
상기 동영상 데이터는 끊김없이 재생되어야하는 재생 단위로 분할되는데, 통상 이 재생 단위는 복수의 클립으로 구성된다. 바람직한 실시의 예로서 하나의 재생 단위에 속한 동영상과 오버랩되어 출력되어야 하는 자막용 데이터는 복수의 언어용 데이터를 모두 합하여 일정한 크기 이하로 제한된다. 다른 바람직한 예로서 하나의 재생 단위에 속한 동영상과 오버랩되어 출력되어야 하는 자막용 데이터는 언어 변경시 동영상 재생에 끊김이 없어 언어 변경이 이루어져야 하는 언어셋으로 구분되고 하나의 재생 단위에 속한 자막용 데이터는 복수의 언어 셋으로 구성되며 하나의 언어셋에 속한 자막용 데이터는 복수의 언어용 데이터를 모두 합하여 일정한 크기 이하로 제한된다.
상기 자막용 데이터는 Unicode를 사용하는 문자 코드로 구성되며 실제 기록되는 데이터의 형태는 상기 UTF-8이나 UTF-16으로 부호화되는 것이 바람직하다.
고정식 저장 장치에 기록된 동영상 데이터, 자막용 서브 타이틀 데이터, 폰트 데이터는 버퍼에 일시 저장되어 데이터 출력기(Writer)에 의해 정보저장매체 상에 기록된다. 중앙 처리 장치는 이러한 기능을 순서대로 수행하도록 각 장치들을 제어하는 소프트웨어를 수행한다.
이하에서는 본 발명의 다른 실시예로서, 디스크 상의 서브 타이틀 정보 뿐만 아니라 네트워크를 통해 서브 타이틀 제공 서버로부터 서브 타이틀을 다운로드 하여 재생할 수 있는 정보저장매체 및 그 재생장치에 대하여 설명한다.
도 24는 사용자가 선택할 수 있는 서브 타이틀의 목록을 표시한 메뉴 화면의 일 예이다.
도 24를 참조하면, 정보저장매체 및/또는 네트워크를 통해 연결된 서브 타이틀 제공 서버로부터 제공되는 서브 타이틀의 목록이 메뉴화면으로 표시된다. 사용자가 표시된 메뉴 화면에서 재생하고 싶은 서브 타이틀을 선택하면, 선택된 서브 타이틀 정보를 저장한 위치, 즉 정보저장매체나 네트워크상의 서브 타이틀 제공 서버로부터 서브 타이틀 정보를 읽어들여 재생하게 된다.
이때, 화면에 표시되는 서브 타이틀 목록의 메뉴화면은 전술한 도 19b의 서브 타이틀 목록 정보를 해석하여 재생하게 된다. 예를 들어, 도 19b를 참조하면, korean caption(1)은 디스크 상의 file://video/subtitle/korea.vmap 파일로부터, japnese caption(2)은 디스크 상의 file://video/subtitle/japan.vmap 파일로부터, english caption(3)은 디스크 상의 file://video/subtitle/usa.vmap 파일로부터, 서브 타이틀 정보를 얻을 수 있으며, 한편, german caption(4) 및 french caption(5)은 http://www.company.com/querysubtitle.cgi 파일로부터 서브 타이틀 정보를 얻을 수 있다. 여기서 www.company.com은 인터넷을 통해 연결된 서브 타이틀 제공 서버의 주소의 일 예이다.
그 밖에 저장 매체에 기록되지 않은 폰트 데이터도 인터넷을 통해 다운로드 받아 사용할 수 있다.
도 25는 디스크 또는 네트워크으로부터 서브 타이틀용 텍스트 데이터를 읽어들여 재생하는 재생장치의 구조도이다.
재생장치에 대한 상세한 설명은 전술한 도 9에 대한 설명을 참조한다. 도시된 바와 같이, 디스크와 같은 정보저장매체 뿐만 아니라 인터넷 등의 네트워크를 통해 서브 타이틀 제공 서버로부터 서브 타이틀 및/또는 폰트 데이터를 읽어들여 재생할 수 있다.
도 26은 디스크 또는 네트워크로부터 서브 타이틀용 텍스트 데이터를 읽어들여 재생하는 방법을 나타내는 참고도이다.
도 26을 참조하면, 전술한 도 19b의 서브 타이틀 목록 정보에 포함되는 서브 타이틀 제공 서버의 주소 정보(예 http://www.company.com/querysubtitle.cgi)를 이용하여 네트워크를 통해 서브 타이틀 제공 서버로부터 해당 서브 타이틀 정보 및/또는 폰트 데이터를 읽어 올 수 있다. 도시된 바와 같이 네트워크를 통해 서브 타이틀 제공 서버로부터 읽어들인 서브타이틀 정보와 디스크와 같은 정보저장매체로부터 읽어들인 서브 타이틀 정보를 참조하여 재생장치가 제공할 수 있는 서브 타이틀의 목록 메뉴를 사용자에게 표시할 수 있다. 사용자가 표시된 메뉴화면(도 24 참조)에서 원하는 서브 타이틀을 선택하면, 디스크 또는 네트워크 상의 서브 타이틀 제공 서버로부터 선택된 서브 타이틀을 읽어들여 재생하게 된다.
이상의 설명은 본 발명에 따른 일 실시예에 불과할 뿐, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현할 수 있을 것이다. 따라서, 본 발명의 범위는 전술한 실시예에 한정되지 않고 특허 청구범위에 기재된 내용과 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.