Subtitle data conversion device, subtitle data conversion system, and subtitle data conversion program

The subtitle data conversion device and system effectively convert IMSC-encoded subtitle data to ARIB-TTML format by deleting incompatible functions and adjusting positional and stylistic elements, enabling distribution to ARIB-TTML-only receivers.

JP7825508B2Active Publication Date: 2026-03-06NIPPON HOSO KYOKAI
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2022078457
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-05-11
Publication Date
2026-03-06
Estimated Expiration
2042-05-11

AI Technical Summary

Technical Problem

Existing technologies are unable to convert subtitle data encoded in the IMSC format to ARIB-TTML format, preventing distribution to receivers that only support ARIB-TTML encoding.

Method used

A subtitle data conversion device and system that includes an input unit, conversion unit, and output unit to convert IMSC-encoded subtitle data into ARIB-TTML format by deleting incompatible functions, replacing compatible functions, and adjusting positional and stylistic elements.

Benefits of technology

Enables the conversion of IMSC-encoded subtitle data into ARIB-TTML format, allowing distribution to receivers that only support ARIB-TTML encoding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007825508000001
    Figure 0007825508000001
  • Figure 0007825508000002
    Figure 0007825508000002
  • Figure 0007825508000003
    Figure 0007825508000003
Patent Text Reader

Abstract

To provide a subtitle data conversion device, a subtitle data conversion system, and a subtitle data conversion program that can convert subtitle data encoded by IMSC to subtitle data encoded by ARIB-TTML.SOLUTION: A subtitle data conversion device includes an input portion that inputs subtitle data using an IMSC encoding method, a conversion portion that converts the subtitle data into subtitle data using an ARIB-TTML encoding method, and an output portion that outputs the converted subtitle data using the ARIB-TTML encoding method and a log file recording the conversion content.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a subtitle data conversion device, a subtitle data conversion system, and a subtitle data conversion program that convert subtitle data in an IMSC coding format into subtitle data in an ARIB-TTML coding format. [Background technology]

[0002] Television broadcasting and video streaming services via the Internet have been widely used for some time. These video services provide multimedia services, and in addition to the main video and audio data, they also provide a large amount of subtitle data to supplement and complement the audio information. The subtitle data is broadcast or distributed in the form of text data, separate from the video and audio, and is displayed in synchronization with the video and audio according to a set presentation time when the content is played on a television receiver or a dedicated application for the video streaming service. Standards for closed caption data formats have been established for broadcasting and communications. One broadcasting standard is ARIB-TTML, established by ARIB (Association of Radio Industries and Businesses) (see, for example, Non-Patent Document 1). ARIB-TTML is widely used for new 4K / 8K satellite broadcasting, among other things. Meanwhile, one communications standard is IMSC (TTML Profiles for Internet Media Subtitles and Captions) (see, for example, Non-Patent Document 2). IMSC is a standard recommended by the World Wide Web Consortium (W3C), and its latest version is 1.2. While IMSC is primarily a standard developed for video distribution over the Internet, its use in broadcasting is also expanding, and the US ATSC 3.0 has adopted IMSC as the encoding format for broadcast subtitles (see, for example, Non-Patent Document 3). Both ARIB-TTML and IMSC are standards that were defined and recommended by extending the Timed Text Markup Language (TTML) (see, for example, Non-Patent Document 4 and Non-Patent Document 5). However, due to differences in the timing of their definition and the respective requirements for broadcasting and communications, they are different specifications. The different specifications can be divided into incompatible specifications and specifications that are functionally compatible but have different description methods. Patent Document 1 discloses a technology for generating caption data for communications in real time, simultaneously with broadcasting, from caption data contained in baseband signals used by broadcast stations. The invention disclosed in Patent Document 1 was invented to provide content via various distribution methods, including not only broadcasting but also communications. However, although ARIB-TTML is included in the output target, IMSC is not taken into consideration. With the increasing use of content coded with subtitles using ARIB-TTML for broadcast content (see, for example, Non-Patent Document 6) and content coded with subtitles using IMSC for communications content, and with content exchanges between broadcasting and communications becoming more common, devices (systems, programs) for converting between different encodings are required. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2017-204695 [Non-patent literature]

[0004] [Non-Patent Document 1] ARIB STD-B62, Multimedia Coding Scheme for Digital Broadcasting (Second Generation), Version 2.0, October 2018. [Non-patent document 2] TTML Profiles for Internet Media Subtitles and Captions 1.2, https: / / www.w3.org / TR / ttml-imsc1.2 / [Non-patent document 3] ATSC Standard: Captions and Subtitles, Doc. A / 343:2022-02, ATSC, Washington, DC, Feb. 2022. [Non-patent document 4] Timed Text Markup Language 1 (TTML1) (Third Edition), https: / / www.w3.org / TR / 2018 / REC-ttml1-20181108 / [Non-patent document 5] Timed Text Markup Language 2 (TTML2)https: / / www.w3.org / TR / 2018 / REC-ttml2-20181108 / [Non-patent document 6] Tech 3380, EBU-TT-D Subtitling Distribution Format Version 1.0.1. European Broadcasting Union (EBU).URL: https: / / tech.ebu.ch / docs / tech / tech3380v1_0_1.pdf Summary of the Invention [Problem to be solved by the invention]

[0005] As mentioned above, there is a need to convert subtitle data encoded between the different encoding methods ARIB-TTML and IMSC. However, conventional methods have not been designed to convert between ARIB-TTML and IMSC, and therefore it has not been possible to distribute subtitle data encoded in IMSC to a receiver that can only play back the ARIB-TTML encoding method.

[0006] An object of the present invention is to provide a subtitle data conversion device, a subtitle data conversion system, and a subtitle data conversion program that can convert subtitle data encoded in IMSC into subtitle data in the ARIB-TTML encoding format. [Means for solving the problem]

[0007] (1) The subtitle data conversion device of the present invention includes an input unit that inputs subtitle data in an IMSC encoding format, a conversion unit that converts the subtitle data into subtitle data in an ARIB-TTML encoding format, and an output unit that outputs the converted subtitle data in the ARIB-TTML encoding format and a log file that records the conversion content.

[0008] According to (1) above, it is possible to convert subtitle data coded in IMSC into subtitle data in the ARIB-TTML coding format.

[0009] (2) According to the subtitle data conversion device described in (1), the conversion unit deletes at least the #contentProfiles function, #diparity function, #displayAspectRatio function, #luminanceGain function, #metadata-item function, #shear function, #activeArea function, #altText function, #aspectRatio function, and #forcedDisplay function from the subtitle data in the IMSC encoding format and converts it into subtitle data in the ARIB-TTML encoding format.

[0010] According to (2) above, by deleting functions incompatible with ARIB-TTML from subtitle data in the IMSC coding format, it is possible to convert it into subtitle data in the ARIB-TTML coding format.

[0011] (3) According to the subtitle data conversion device described in (1) or (2), the conversion unit replaces the #font function in the subtitle data of the IMSC encoding format with the arib-tt:font-face element of the ARIB-TTML encoding format to convert it into subtitle data of the ARIB-TTML encoding format.

[0012] According to (3) above, by replacing functions of IMSC encoding format subtitle data that are compatible with ARIB-TTML with ARIB-TTML functions, it is possible to convert to subtitle data encoding format ARIB-TTML.

[0013] (4) According to the subtitle data conversion device described in (1) or (2), the conversion unit converts the #initial function of the subtitle data in the IMSC encoding format into subtitle data in the ARIB-TTML encoding format by inserting and referencing a new style element in the ARIB-TTML encoding format.

[0014] According to the above (4), the same effect as that of (3) can be achieved.

[0015] (5) According to the subtitle data conversion device described in (1) or (2), the conversion unit replaces the #textShadow function in the subtitle data of the IMSC encoding format with the arib-tt:text-shadow attribute of the ARIB-TTML encoding format to convert it into subtitle data of the ARIB-TTML encoding format.

[0016] According to the above (5), the same effect as that of (3) can be achieved.

[0017] (6) According to the subtitle data conversion device described in (1) or (2), the conversion unit calculates the position indicated by the #position function in the subtitle data of the IMSC encoding format, and inputs the calculated position into the tts:origin of the region element of the ARIB-TTML encoding format to convert it into subtitle data of the ARIB-TTML encoding format.

[0018] According to the above (6), the same effect as that of (3) can be achieved.

[0019] (7) According to the subtitle data conversion device described in (1) or (2), the conversion unit calculates the display position indicated by the #multiRowAlign function in the subtitle data of the IMSC encoding format, and adjusts the style element and region element of the ARIB-TTML encoding format based on the calculated display position to convert to subtitle data of the ARIB-TTML encoding format.

[0020] According to the above (7), the same effect as that of (3) can be achieved.

[0021] (8) According to the subtitle data conversion device described in (1) or (2), the conversion unit calculates the line width indicated by the #linePadding function in the subtitle data of the IMSC encoding format, adds a region element of the ARIB-TTML encoding format based on the calculated line width, adjusts the tts:extent attribute, and converts the data into subtitle data of the ARIB-TTML encoding format.

[0022] According to the above (8), the same effect as that of (3) can be achieved.

[0023] (9) According to the subtitle data conversion device described in (1) or (2), the conversion unit calculates the line width indicated by the #fillLineGap function in the subtitle data of the IMSC encoding format, adds a region element of the ARIB-TTML encoding format based on the calculated line width, adjusts the tts:extent attribute and the tts:displayAlign attribute, and converts the data into subtitle data of the ARIB-TTML encoding format.

[0024] According to the above (9), the same effect as that of (3) can be achieved.

[0025] (10) According to the subtitle data conversion device described in (1) or (2), the conversion unit creates a style element, a region element, and a p element for the hiragana character string in the ARIB-TTML encoding format for the #ruby function of the subtitle data in the IMSC encoding format, adjusts the display position and character size, and replaces the elements to convert the data into subtitle data in the ARIB-TTML encoding format.

[0026] According to the above (10), the same effect as that of (3) can be achieved.

[0027] (11) According to the subtitle data conversion device described in (1) or (2), the conversion unit converts the #textEmphasis function of the subtitle data in the IMSC encoding format into subtitle data in the ARIB-TTML encoding format by creating new style elements, region elements, and p elements for emphasized characters in the ARIB-TTML encoding format, adjusting the display position and character size, and adding them.

[0028] According to the above (11), the same effect as that of (3) can be achieved.

[0029] (12) According to the subtitle data conversion device described in (1) or (2), the conversion unit calculates the display position indicated by the #textCombine function in the subtitle data of the IMSC encoding format, and applies the style element and region element for horizontal writing of the ARIB-TTML encoding format based on the calculated display position to convert the data into subtitle data of the ARIB-TTML encoding format.

[0030] According to the above (12), the same effect as that of (3) can be achieved.

[0031] (13) A subtitle data conversion system of the present invention includes the subtitle data conversion device of (1) or (2).

[0032] According to the above (13), the same effect as that of (1) can be achieved.

[0033] (14) The subtitle data conversion program of the present invention causes a computer to execute the following steps: an input step of inputting subtitle data in an IMSC encoding format; a conversion step of converting the subtitle data into subtitle data in an ARIB-TTML encoding format; and an output step of outputting the subtitle data converted into the ARIB-TTML encoding format and a log file recording the conversion content.

[0034] According to the above (14), the same effect as that of (1) can be achieved. [Effects of the Invention]

[0035] According to the present invention, subtitle data coded in IMSC can be converted into subtitle data in the ARIB-TTML coding format. [Brief explanation of the drawings]

[0036] [Figure 1] FIG. 1 is a diagram illustrating an example of a configuration of a subtitle data conversion device according to an embodiment. [Figure 2] FIG. 10 is a diagram showing an example of functions and functional contents that are not compatible with ARIB-TTML for IMSC. [Figure 3] FIG. 10 is a diagram showing an example of an IMSC file including a function that is not compatible with ARIB-TTML. [Figure 4] FIG. 4 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of FIG. 3. [Figure 5] FIG. 10 is a diagram showing an example of functions, functional contents, conversion processes, and an order compatible with ARIB-TTML for IMSC. [Figure 6] FIG. 10 is a diagram illustrating an example of an IMSC file having a #font function. [Figure 7] FIG. 7 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of FIG. 6. [Figure 8] FIG. 10 is a diagram illustrating an example of an IMSC file having an #initial function. [Figure 9] FIG. 11 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of FIG. 10. [Figure 10] FIG. 10 is a diagram illustrating an example of an IMSC file having the #textShadow function. [Figure 11] FIG. 11 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of FIG. 10. [Figure 12] This is a figure showing an example of an IMSC file in which the <rounded corners> and <shadow color> of the tts:textShadow attribute are omitted. [Figure 13]FIG. 13 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of FIG. 12. [Figure 14] FIG. 10 is a diagram showing an example of the relationship between a screen and a Region area when four values ​​are specified for the tts:position attribute. [Figure 15] FIG. 10 is a diagram illustrating an example of an IMSC file having a #position function. [Figure 16] FIG. 16 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of FIG. 15. [Figure 17] FIG. 10 is a diagram showing a display example of the #multiRowAlign function. [Figure 18] FIG. 10 is a diagram illustrating an example of an IMSC file having the #multiRowAlign function. [Figure 19] FIG. 19 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of FIG. 18. [Figure 20] FIG. 10 is a diagram showing a display example of the #linePadding function. [Figure 21] FIG. 10 is a diagram illustrating an example of an IMSC file having a #linePadding function. [Figure 22] FIG. 22 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of FIG. 21. [Figure 23] FIG. 22 is a diagram showing an example of display of the #linePadding function using the IMSC file of FIG. 21. [Figure 24] FIG. 10 is a diagram showing a display example of the #fillLineGap function. [Figure 25] FIG. 10 is a diagram showing an example of an IMSC file with the #fillLineGap function. [Figure 26] FIG. 26 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of FIG. 25. [Figure 27] FIG. 10 is a diagram showing display examples when tts:rubyAlign is "center" and when it is "spaceAround." [Figure 28]FIG. 10 is a diagram illustrating an example of an IMSC file with #ruby functions. [Figure 29] FIG. 29 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of FIG. 28. [Figure 30] FIG. 10 is a diagram illustrating an example of highlighting. [Figure 31] FIG. 10 is a diagram illustrating an example of an IMSC file having a #textEmphasis function. [Figure 32] FIG. 32 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of FIG. 31. [Figure 33] FIG. 10 is a diagram showing a display example of the #textCombine function. [Figure 34] FIG. 10 is a diagram showing an example of an IMSC file having the #textCombine function. [Figure 35] FIG. 35 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of FIG. 34. [Figure 36] 10 is a flowchart illustrating the conversion process of the subtitle data converting device 10. [Figure 37] 37 is a flowchart illustrating detailed processing contents of the input processing shown in step S1 in FIG. 36. [Figure 38] 37 is a flowchart illustrating detailed processing contents of the conversion processing shown in step S2 in FIG. 36. [Figure 39] 39 is a flowchart illustrating detailed processing contents of the conversion processing of the function compatible with IMSC shown in step S22 in FIG. 38. [Figure 40] 40 is a flowchart illustrating detailed processing contents of the conversion processing for the #font function shown in step S221 in FIG. 39. [Figure 41] 40 is a flowchart illustrating detailed processing contents of the conversion processing for the #initial function shown in step S222 in FIG. 39. [Figure 42]40 is a flowchart illustrating detailed processing contents of the conversion processing for the #textShadow function shown in step S223 in FIG. 39. [Figure 43] 40 is a flowchart illustrating detailed processing contents of the conversion processing for the #position function shown in step S224 in FIG. 39. [Figure 44] 40 is a flowchart illustrating detailed processing contents of the conversion processing for the #multiRowAlign function shown in step S225 in FIG. 39. [Figure 45] 40 is a flowchart illustrating detailed processing contents of the conversion process for the #linePadding function shown in step S226 in FIG. 39. [Figure 46] 40 is a flowchart illustrating detailed processing contents of the conversion processing for the #fillLineGap function shown in step S227 in FIG. 39. [Figure 47] 40 is a flowchart illustrating detailed processing contents of the conversion processing for the #ruby function shown in step S228 in FIG. 39. [Figure 48] 48 is a flowchart illustrating detailed processing contents of the region element creation processing shown in step S2283 in FIG. 47. [Figure 49] 40 is a flowchart illustrating detailed processing contents of the conversion processing for the #textEmphasis function shown in step S229 in FIG. 39. [Figure 50] 40 is a flowchart illustrating detailed processing contents of the conversion processing for the #textCombine function shown in step S230 in FIG. 39. DETAILED DESCRIPTION OF THE INVENTION

[0037] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. <One embodiment> FIG. 1 is a diagram illustrating an example of a configuration of a subtitle data conversion device according to an embodiment. 1, a subtitle data converting device 10 serving as a subtitle data converting system is, for example, a computer or the like, and includes a control unit 100. The control unit 100 also includes an input unit 110, a conversion unit 120, and an output unit .

[0038] The control unit 100 includes a CPU, a ROM, a RAM, a CMOS memory, and the like, which are configured to be able to communicate with each other via a bus, and are well known to those skilled in the art. The CPU is a processor that controls the entire subtitle data converting device 10. The CPU reads application programs, such as a system program and a subtitle data conversion program, stored in ROM via the bus, and controls the entire subtitle data converting device 10 in accordance with the system program and application program. As a result, as shown in FIG. 1, the control unit 100 is configured to realize the functions of the input unit 110, conversion unit 120, and output unit 130. The RAM stores various data, such as temporary calculation data and display data. The CMOS memory is backed up by a battery (not shown), and is configured as a non-volatile memory that retains its stored state even when the power to the subtitle data converting device 10 is turned off.

[0039] The input unit 110, for example, takes in a video signal input from an external video distribution device (not shown) and extracts subtitle data from the acquired video signal. The format of the video signal is based on the standard established by ARIB. The subtitle data is also data encoded into an IMSC file in accordance with ARIB regulations and is superimposed on the input video signal. The input unit 110 determines whether the input subtitle data is an IMSC file. Specifically, the input unit 110 determines whether the subtitle data is an IMSC file based on the description of the input subtitle data. That is, an IMSC file is written in XML, and specifies the IMSC namespace for the vocabulary used. Therefore, if the subtitle data specifies a namespace such as ARIB-TTML, the input unit 110 can easily determine that the file is not an IMSC file. If the input subtitle data is an IMSC file, the input unit 110 outputs the IMSC file and a log file indicating that conversion will begin to the conversion unit 120, which will be described later. On the other hand, if the subtitle data is not an IMSC file, the input unit 110 outputs an error message indicating that the data is not subject to conversion, records the fact that the data is not subject to conversion in the log file, and terminates the conversion process without performing it. If the extension of the IMSC file indicates that it is an IMSC file, the input unit 110 may determine whether the input subtitle data is an IMSC file based on the extension.

[0040] The conversion unit 120 converts the input subtitle data (IMSC file) into subtitle data (ARIB-TTML file) in the ARIB-TTML coding format. Specifically, since the IMSC encoding method and the ARIB-TTML encoding method have different specifications, the conversion unit 120 separates the IMSC files into specifications that are functionally incompatible and specifications that are functionally compatible but have different description methods. FIG. 2 is a diagram showing an example of functions and functional contents that are not compatible with ARIB-TTML in IMSC. As shown in Fig. 2, IMSC is written in XML, and the description content is divided into elements provided as XML tags and attributes provided as attribute values ​​within the XML tags. IMSC functions are provided by combining these elements and attributes. Functions are indicated as function names with a "#" in front of them (for example, #contentProfiles). Since the functions shown in Fig. 2 are not compatible with ARIB-TTML, the conversion unit 120 deletes the tags of elements corresponding to the functions, and deletes the attribute names and attribute values ​​of attributes from within the elements. Fig. 3 is a diagram showing an example of an IMSC file including a function that is not compatible with ARIB-TTML, and Fig. 4 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of Fig. 3. As shown in Fig. 3, the IMSC file includes a #disparity function and a #metadata-item function. The conversion unit 120 converts the IMSC file into an ARIB-TTML file by deleting the tts:disparity attribute and the ttm:item element, as shown in Fig. 4.

[0041] FIG. 5 is a diagram showing an example of functions, functional contents, conversion processes, and an order compatible with ARIB-TTML for IMSC. As shown in FIG. 5, IMSC functions compatible with ARIB-TTML include the #font function, #initial function, #textShadow function, #position function, #multiRowAlign function, #linePadding function, #fillLineGap function, #ruby function, #textEmphasis function, and #textCombine function. Note that the functions in FIG. 5 have elements that mutually affect each other when converting to ARIB-TTML. Therefore, the conversion unit 120 performs conversion in the order of the numbers in the "Order" column in FIG. 5 , excluding "0." For example, the conversion unit 120 changes the position for inserting furigana for a character string containing kanji in #ruby, depending on the display position determined by the #position function, and then positions the furigana character string. Because functions with an order of "0" and conversions within the same number are independent functions, the conversion unit 120 may change the order of conversion.

[0042] First, the operation of the conversion unit 120 in the case of the #font function will be described. When using external characters that require a special font file in the #font function, <font>The element declares the font name and character code to be applied, and becomes a child element. <source> The location of the font file, etc., is specified within the element. In IMSC, "font / woff" and "font / otf" can be specified as the type, but only "woff" is compatible with ARIB-TTML. Also, since there is a one-to-one relationship between the IMSC font element and the ARIB-TTML arib-tt:font-face element in terms of element name, attribute name, attribute value, etc., conversion unit 120 can convert by replacing with the relevant value. That is, when the type is "font / woff", conversion unit 120 converts the IMSC "font" to "arib-tt:font-face" of ARIB-TTML, "font" of IMSC to "arib-tt:font-face" of ARIB-TTML, "family" of IMSC to "font-family" of ARIB-TTML, "range" of IMSC to "unicode-range" of ARIB-TTML, "source" of IMSC to "arib-tt:src" of ARIB-TTML, "src" of IMSC to "url" of ARIB-TTML, "type" of IMSC to "format" of ARIB-TTML, and "font / woff" of IMSC to "woff" of ARIB-TTML, and converts the file to an ARIB-TTML file. On the other hand, when the type is "font / otf", conversion unit 120 deletes the "font" element and records an error message in the log file. Fig. 6 is a diagram showing an example of an IMSC file having the #font function, and Fig. 7 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of Fig. 6. As shown in FIG. 7, the conversion unit 120 replaces the #font function of IMSC shown in FIG. 6 with the element name and attribute name of the arib-tt:font-face element of ARIB-TTML.

[0043] Next, the operation of the conversion unit 120 in the case of the #initial function will be described. The #initial function is a function that defines a style element that will be the initial setting. The conversion unit 120 first creates an ARIB-TTML style element with the same content as the IMSC initial element. If there are other style elements in the IMSC file, the conversion unit 120 copies from the initial element any attributes that do not overlap within the style element. Furthermore, if an element that references a style element, such as a region element, in the IMSC file does not reference any style elements, the conversion unit 120 adds a style attribute and references the newly added style attribute, since the initial element must be used. Finally, the conversion unit 120 deletes the initial element and converts to an ARIB-TTML file. The conversion unit 120 then records this in a log file and ends the conversion. Fig. 8 is a diagram showing an example of an IMSC file having the #initial function, and Fig. 9 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of Fig. 8. As shown in Fig. 8, conversion unit 120 creates an ARIB-TTML style element with the same content as the IMSC initial element. Furthermore, because there is another style element in the IMSC file of Fig. 8, conversion unit 120 copies an attribute that does not overlap within the style element (i.e., "tts:color="#ffffff") from the initial element. Furthermore, because the region element with "xml:id="r2"" in the IMSC file does not reference a style element, conversion unit 120 converts it into an ARIB-TTML file so that it references the newly added style element.

[0044] Next, the operation of the conversion unit 120 in the case of the #textShadow function will be described. The #textShadow function is a function that adds a shadow to characters marked up with tts:textShadow. Since the tts:textShadow attribute of IMSC and the arib-tt:text-shadow attribute of ARIB-TTML have a one-to-one relationship in terms of attribute name, attribute value, etc., the conversion unit 120 can replace them with the corresponding value. Fig. 10 is a diagram showing an example of an IMSC file having the #textShadow function, and Fig. 11 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of Fig. 10. As shown in FIG. 11, the conversion unit 120 replaces the tts:textShadow attribute of IMSC shown in FIG. 10 with the arib-tt:text-shadow attribute of ARIB-TTML. The tts:textShadow attribute of IMSC allows attribute values ​​to be omitted or to be specified in units other than px. Specifically, the tts:textShadow attribute specifies the shadow's <horizontal shift distance>, <vertical shift distance>, <corner rounding>, and <shadow color>. Of these, only <corner rounding> and <shadow color> can be omitted, and the conversion unit 120 will interpolate "0px" if <corner rounding> is omitted, and will interpolate the same color as the text color if <shadow color> is omitted, before converting to an ARIB-TTML file. In IMSC, the units for which distance can be expressed in units other than px are <horizontal shift distance>, <vertical shift distance>, and <corner rounding>. Since ARIB-TTML only accepts px units for these, the conversion unit 120 calculates the px value from the screen size, etc., and converts the calculated px value into an ARIB-TTML file. Fig. 12 is a diagram showing an example of an IMSC file in which the <rounded corners> and <shadow color> of the tts:textShadow attribute are omitted. Fig. 13 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of Fig. 12. As shown in Figure 13, the conversion unit 120 converts the IMSC tts:textShadow attribute shown in Figure 12 into an ARIB-TTML file by completing the omitted <corner rounding> with "0px" and the omitted <shadow color> with "white", the same color as the text color.

[0045] Next, we will explain the operation of the conversion unit 120 in the case of the #position function. The #position function mainly uses the tts:position attribute within the region element to specify the position of the Region area, which is the area where characters are displayed on the screen. The tts:position attribute can specify one to four values. FIG. 14 is a diagram showing an example of the relationship between the screen and the Region area when the tts:position attribute specifies four values. As shown in Figure 14, when the tts:position attribute is specified as "left 50% top 50%", the Region area is positioned so that the left 50% position of the Region area overlaps with the position 50% from the left edge of the screen specified by "left". Similarly, the Region area is positioned so that the top 50% position of the Region area overlaps with the position 50% from the top edge of the screen specified by "top". These can be calculated from the screen size and the size of the Region area, so the conversion unit 120 specifies the display position using the tts:origin attribute that can be used in ARIB-TTML based on the calculated values, and then deletes the original tts:position attribute before conversion. For details on how to specify the value of tts:position, see, for example, tts:position in Non-Patent Document 5. Fig. 15 is a diagram showing an example of an IMSC file having the #position function, and Fig. 16 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of Fig. 15. 15, tts:position="left 0% top 0%" is specified in the IMSC file. Therefore, the conversion unit 120 calculates the size of the screen, adds the attribute tts:origin="0px 0px", deletes the tts:position attribute, and converts the file to an ARIB-TTML file.

[0046] Next, we will explain the operation of the conversion unit 120 in the case of the #multiRowAlign function. The #multiRowAlign function specifies the attribute ebutts:multiRowAlign in the style element, and specifies left justification (start), center justification (center), or right justification (end) for lines other than the longest line in horizontal writing when displaying multiple lines. Fig. 17 is a diagram showing a display example of the #multiRowAlign function. Note that the top row of Fig. 17 shows the case of left alignment (start), the middle row of Fig. 17 shows the case of center, and the bottom row of Fig. 17 shows the case of right alignment (end). The ebutts:multiRowAlign attribute can also be set to auto, but when auto is specified, it is stipulated that what is specified by tts:textAlign is also considered to be specified as ebutts:multiRowAlign. tts:textAlign can also be used in ARIB-TTML, and performs the same operation as when ebutts:multiRowAlign is specified as auto, so the conversion unit 120 only needs to delete the ebutts:multiRowAlign attribute. On the other hand, in cases other than auto, the conversion unit 120 calculates and specifies the display positions of other lines based on the line with the most characters according to the value of the ebutts:multiRowAlign attribute. To specify the display positions, the conversion unit 120 adds a new region element, specifies the display positions with the tts:origin attribute, splits character strings separated by line breaks within one p element into individual p elements, and converts them into an ARIB-TTML file by referencing the newly prepared region element.

[0047] Fig. 18 is a diagram showing an example of an IMSC file having the #multiRowAlign function, and Fig. 19 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of Fig. 18. The IMSC file in Figure 18 illustrates the case of the top row in Figure 17, where the second line "Start of second line" is positioned to the left (start) of the first line, which is the longest line, "Subtitles on the first line continue." In this case, the conversion unit 120 creates a region element for the second line and specifies tts:origin="0px 30px" based on tts:fontSize="30px" and ebutts:multiRowAlign="start". The conversion unit 120 also creates a new p element for the second line, and the created p element references the region element created earlier. The conversion unit 120 uses the following as characters in the IMSC file of FIG. Inserts the string after the line break specified by . 18 uses a monospaced font, but in the case of a proportional font, the actual character width varies depending on the character, so the conversion unit 120 may adjust the character width and white space depending on the font of the main text and the highlighted characters. Similarly, because the vertical spacing differs depending on the font, the conversion unit 120 may adjust the rate at which the main text is lowered depending on the font size.

[0048] Next, the operation of the conversion unit 120 in the case of the #linePadding function will be described. The #linePadding function is a function defined in EBU-TT-D (for example, Non-Patent Document 6) and is a function for adjusting the area of ​​the background color of characters displayed with tts:backgroundColor. The character display area is specified in the Region area, as shown in FIG. 20. The Region area is specified by the width and height values ​​of tts:extent, and if no other specifications are made, when tts:backgroundColor is specified in the Region area, the entire Region area is filled with the specified color. On the other hand, when tts:backgroundColor is specified in the p element that specifies the characters to be displayed, etc., only the character display area is filled with the specified color. The #linePadding function expands the background color to the left and right when tts:backgroundColor is specified within the p element described above. Specifically, specify tts:linePadding with a numerical value in "c" units to specify the area. On the other hand, since ARIB-TTML does not have a #linePadding function, the conversion unit 120 converts the ARIB-TTML file so that the position to fill in the Region area can be specified using tts:padding or tts:origin, which indicates the start position, to enable similar display in order to fill in a similar area. Therefore, the conversion unit 120 calculates the display area for the relevant part, creates a region element for each line, copies the tts:backgroundColor specification from the p element to the style element, and modifies it so that the Region area is filled in. The conversion unit 120 creates a new p element for each line and modifies it so that the newly created region element is referenced. Finally, the conversion unit 120 deletes the original p element and the ebutts:linePadding attribute that are no longer needed, and converts it into an ARIB-TTML file.

[0049] Fig. 21 is a diagram showing an example of an IMSC file having the #linePadding function, and Fig. 22 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of Fig. 21. As shown in FIG. 22, ebutts:linePadding specifies the width in units of "c." For example, if the screen size is 1920px wide and 1080px high, and the default number of cells is 32 rows wide and 15 rows high, the width of "c" is 60px. In this case, as shown in FIG. 23, the conversion unit 120 calculates the values ​​of the Region area in FIG. 20 and creates region elements for the "aiueokakikukeko" line and the "sa-shi-su-seso" line based on the calculated values. The conversion unit 120 specifies "center" for tts:textAlign to center the characters within the Region area. Furthermore, since tts:backgroundColor is specified for the p element in the IMSC file, the conversion unit 120 copies the value of tts:backgroundColor to the style element referenced by the region element. 21 uses a monospaced font, but in the case of a proportional font, the actual character width varies depending on the character, so the conversion unit 120 may adjust the character width and white space depending on the font of the main text and emphasized characters. Similarly, since the vertical spacing differs depending on the font, the conversion unit 120 may adjust the rate at which the main text is lowered depending on the font size.

[0050] Next, a description will be given of the operation of the conversion unit 120 in the case of the #fillLineGap function. The #fillLineGap function is a function that uses the itts:fillLineGap attribute to specify the range of the background color that is specified mainly by tts:backgroundColor. FIG. 24 is a diagram showing a display example of the #fillLineGap function. The top row of Figure 24 shows a normal display example when itts:fillLineGap="false", and when a background color is specified in the p element using tts:backgroundColor, the background color is filled in according to the character size. The bottom row of Figure 24 shows a display example when itts:fillLineGap="true", and the background color is filled in according to the largest character size. The conversion unit 120 achieves this by specifying the range to be filled using the tts:extent attribute of the region element when converting to an ARIB-TTML file. Because the character size is changed within the same p element and a span element is specified, the conversion unit 120 separates each span element into a separate p element, creates a region element for each p element to reference, and specifies the range using the tts:extent attribute. The conversion unit 120 also needs to specify the range because of differences in character size, and specifies the display position for characters with a character size other than the maximum using tts:displayAlign. For example, the conversion unit 120 specifies that the character should be aligned to the bottom for the character "ka-ki-ku-ke-ko" with the smaller character size of the character strings "ai-i-ue-o" and "ka-ki-ku-ke-ko" in Figure 24 by using tts:displayAlign="after". To fill the entire area of ​​the region element with the background color, the conversion unit 120 copies the tts:backgroundColor in the p element to the style element referenced by the region element. The conversion unit 120 creates a new p element, copies the text in the span element, and references the newly created region element. The conversion unit 120 finally deletes the original p element and also deletes the itts:fillLineGap attribute, and converts it into an ARIB-TTML file.

[0051] If there is no tts:backgroundColor element within the p element, there is no need to use itts:fillLineGap, and if the value of itts:fillLineGap is false, no special conversion is required. In this case, the conversion unit 120 converts to an ARIB-TTML file by simply deleting itts:fillLineGap. Fig. 25 is a diagram showing an example of an IMSC file having the #fillLineGap function, and Fig. 26 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of Fig. 25. As shown in FIG. 26, the conversion unit 120 calculates tts:origin and tts:extent from the font size etc., creates new region elements and p elements, and converts them into an ARIB-TTML file. 25 uses a monospaced font, but in the case of a proportional font, the actual character width varies depending on the character, so the conversion unit 120 may adjust the character width and white space depending on the font of the main text and the highlighted characters. Similarly, because the vertical spacing differs depending on the font, the conversion unit 120 may adjust the rate at which the main text is lowered depending on the font size.

[0052] Next, the operation of the conversion unit 120 in the case of the #ruby function will be described. The #ruby function is a function related to ruby, that is, furigana. IMSC draws the character string tts:ruby="text" which corresponds to ruby ​​for the character string tts:ruby="base" which corresponds to the main text and is enclosed in tts:ruby="container". On the other hand, ARIB-TTML does not have an equivalent function, so the conversion unit 120 displays ruby ​​by adjusting the character size and display position.

[0053] The conversion unit 120 creates a style element for ruby ​​where ruby ​​is displayed. Within the style element, the conversion unit 120 mainly specifies the character size according to the ratio of the character sizes of the main text and ruby. Furthermore, in cases where the character color of the character string corresponding to the main text is specified by an attribute, the conversion unit 120 creates a style attribute that is the same as that of the main text except for the character size. Next, the conversion unit 120 adjusts the position of the main text using the tts:origin attribute. In many cases, this is specified in the region element referenced by the text of the main text, but it can also be specified in a style element, etc. Therefore, the conversion unit 120 adjusts the position of the tts:origin attribute as appropriate. When the attribute value "before" is specified by the tts:rubyPosition attribute for the ruby ​​display position, the conversion unit 120 converts the ARIB-TTML file so that the ruby ​​is displayed before the text, i.e., above the text if it is written horizontally, or to the right of the text if it is written vertically. When the attribute value "after" is specified, the conversion unit 120 converts the ARIB-TTML file so that the ruby ​​is displayed after the text, below the text if it is written horizontally, or to the left of the text if it is written vertically. When the attribute value is "outside," the conversion unit 120 converts the ARIB-TTML file so that the ruby ​​is displayed outside the text, but above the text for the first line and below the text for the second and subsequent lines if the text is written horizontally in most processing systems. For example, if the attribute value "before" is specified in horizontal writing, the conversion unit 120 needs to move the position of the text in the main body downward by the font size of the ruby, so it calculates this based on the screen size, font size, etc., adjusts tts:origin, and converts it into an ARIB-TTML file.

[0054] Then, the conversion unit 120 creates a region element related to the display position of ruby. That is, since the display position and display interval of ruby ​​are specified by tts:rubyAlign, the conversion unit 120 adjusts them by tts:origin and arib-tt:letter-spacing according to the value. Finally, the conversion unit 120 creates a new p element for the ruby ​​character string to specify the position etc. with another region element, and updates the log file. In IMSC, the tts:rubyAlign attribute can take two values ​​for the ruby ​​display style: "center" and "spaceAround". If IMSC does not have the tts:rubyAlign attribute, the default value of "spaceAround" is specified.

[0055] Fig. 27 is a diagram showing display examples when tts:rubyAlign is "center" and when it is "spaceAround". The upper part of Fig. 27 shows the relationship between "Kanji" in the main text and "Ruby" in the ruby ​​when tts:rubyAlign is "center", and the lower part of Fig. 27 shows the relationship between "Kanji" in the main text and "Ruby" in the ruby ​​when tts:rubyAlign is "spaceAround". Since ARIB-TTML does not have these display functions, the conversion unit 120 adjusts the display position by adjusting the display position and the spaces between characters. Specifically, the conversion unit 120 calculates the starting position and character width of the "Kanji" part in the main text in Fig. 27 from the font size, font name, and text content. The conversion unit 120 calculates the character width of the "Ruby" part of the ruby ​​in Fig. 27 from the font size, font name, and text content. When the tts:rubyAlign attribute is "center", the conversion unit 120 calculates the white space width on both ends. The conversion unit 120 can calculate the white space width by dividing the difference between the character width of the ruby ​​and the character width of the main text by 2. Since the conversion unit 120 only needs to shift the start position of the ruby ​​back by the white space width, it sets tts:origin in the region element so that the ruby ​​character string is positioned from the position obtained by adding the white space width to the start position of the main text.

[0056] On the other hand, if the tts:rubyAlign attribute is set to "spaceAround" or if the tts:rubyAlign attribute is not set, the conversion unit 120 calculates the character spacing. The conversion unit 120 calculates the character spacing by dividing the difference between the character width of the ruby ​​and the character width of the main text by (the number of ruby ​​characters + 1). The conversion unit 120 shifts the start position of the ruby ​​back by the calculated character spacing, and to set the character spacing of the ruby, adds the character spacing to the start position of the main text, sets tts:origin to the region element so that the ruby ​​character string is positioned from a high position, and sets the character spacing to arib-tt:letter-spacing of the region element.

[0057] Fig. 28 is a diagram showing an example of an IMSC file having the #ruby function, and Fig. 29 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of Fig. 28. As shown in FIG. 28, since the tts:rubyAlign attribute is "spaceAround", the IMSC file is displayed as shown in the lower part of FIG. The conversion unit 120 creates a style element for ruby. For example, if the font size of ruby ​​is half the font size of the main text, the conversion unit 120 creates a style element having attributes xml:id="s1_ruby" and tts:fontSize="15px" in the ARIB-TTML file of Fig. 29 as the style element for ruby. The conversion unit 120 adjusts the tts:origin of the main text of the ARIB-TTML file based on the tts:rubyPosition. Specifically, the conversion unit 120 adjusts the region element of xml:id="r1" for the main text, which has the attribute tts:origin="0px 9px", so that the position of the main text is moved down by 0.6 times the font size of the ruby, that is, 9px (=15px × 0.6) downward, in the ARIB-TTML file of Fig. 29.

[0058] Next, the conversion unit 120 creates a region element for ruby ​​in the ARIB-TTML file in accordance with tts:rubyAlign. Specifically, the conversion unit 120 calculates the start position and character width of the main text, and obtains the start position of the main text as "0px 9px" and the character width as 60px (=30px×2). The conversion unit 120 calculates the character width of the ruby ​​and obtains 30px (=15px×2). Furthermore, because the tts:rubyAlign attribute is "spaceAround," the conversion unit 120 calculates the white space width and obtains the white space width as 10px (=(60px-30px) / 3). Because the white space width is 10px and tts:rubyPosition="before", the conversion unit 120 sets tts:origin="10px 0px" as the start position of the ruby ​​in the ARIB-TTML file, and also sets arib-tt:letter-spacing="10px" as the white space width in the ARIB-TTML file. As a result, in the converted ARIB-TTML file, the corresponding region element references the style element for ruby ​​created earlier. Finally, the conversion unit 120 creates a new p element for the ruby, and the created p element references the region element created earlier. The conversion unit 120 records this in a log file and ends the conversion.

[0059] Note that the IMSC file in Figure 28 assumes a monospaced font, but in the case of a proportional font, the actual character width varies depending on the character, so the conversion unit 120 may adjust the character width and white space depending on the character string and font of the main text and ruby. Similarly, because the vertical spacing differs depending on the font, the conversion unit 120 uses a 0.6x multiplication factor, but this is not limited to this, and the rate at which the main text is lowered may be adjusted depending on the font size. Also, while the conversion unit 120 uses a 1 / 2 size for ruby ​​relative to the main text, this is not limited to this, and adjustment may be made to suit the processing system.

[0060] Next, the operation of the conversion unit 120 in the case of the #textEmphasis function will be described. As in the case of conversion of the #ruby function, the conversion unit 120 calculates the display position of the main text and sets tts:origin, creates style elements and region elements for the emphasized text, and converts it into content that can be displayed in ARIB-TTML. Note that FIG. 30 is a diagram showing an example of emphasized display. As shown in FIG. 30, emphasized text is a black circle or the like displayed above the "emphasis display" in the main text. Fig. 31 is a diagram showing an example of an IMSC file with the #textEmphasis function. Fig. 32 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of Fig. 31. The IMSC file of Fig. 31 highlights the "highlighted" text by using a "filled" "circle" at the position "before" as shown in Fig. 30.

[0061] The conversion unit 120 first creates a style element for emphasis. Specifically, when the font size for emphasized characters is half the font size of the main text, the conversion unit 120 creates a style element for emphasis display having attributes xml:id="s1_emphasis" and tts:fontSize="16px" in the ARIB-TTML file, as shown in Fig. 32. Next, the conversion unit 120 adjusts tts:origin, which indicates the position of the main text, according to the attribute value of tts:textEmphasis. Specifically, since "before" is specified, the conversion unit 120 adjusts the region element for the main text, xml:id="r1", so that it has the attribute tts:origin="0px 10px" in the ARIB-TTML file so that the position of the main text is moved down by 10px (≈16px × 0.6) in order to move the position down by 0.6 times the font size of the emphasized characters.

[0062] Next, the conversion unit 120 creates a region element for the emphasized characters. Specifically, the conversion unit 120 calculates the start position and character width of the main text and obtains the start position of the main text as "0px 10px." Furthermore, because the font size of the main text is 32px and the font size of the emphasized characters is 16px, the conversion unit 120 calculates the white space on both ends as 8px (=(32px-16px) / 2). Because the calculated white space width is 8px and "before" is specified as the attribute value of tts:textEmphasis, the conversion unit 120 sets tts:origin="8px 0px" as the start position of the emphasized characters in the ARIB-TTML file, and also sets arib-tt:letter-spacing="16px" (=8px x 2) as the white space width in the ARIB-TTML file. As a result, in the ARIB-TTML file, the corresponding region element references the style element for emphasized characters created earlier. Finally, the conversion unit 120 creates a new p element for the emphasized text in the ARIB-TTML file, and the created p element references the region element created earlier. Note that since the "circle" of "filled" is specified as the text in tts:textEmphasis, a black circle is displayed as shown in Fig. 30. The conversion unit 120 records this in a log file and ends the conversion.

[0063] Note that the IMSC file in Figure 31 assumes a monospaced font, but in the case of a proportional font, the actual character width varies depending on the character, so the conversion unit 120 may adjust the character width and white space width depending on the font of the main text and the highlighted characters. Similarly, because the vertical spacing varies depending on the font, the conversion unit 120 multiplied the text by 0.6, but this is not limited to this, and the rate at which the main text is lowered may be adjusted depending on the font size. Also, while the conversion unit 120 set the size of the highlighted characters to 1 / 2 of the main text, this is not limited to this, and adjustment may be made to suit the processing system.

[0064] Finally, the operation of the conversion unit 120 in the case of the #textCombine function will be described. As shown in Fig. 33, when there is something that needs to be displayed horizontally, such as a number, in vertical writing, the #textCombine function causes the IMSC to display the character string in the span element with the attribute tts:textCombine="all" in horizontal characters. Note that in Fig. 33, the left side shows a display example without the #textCombine function, and the right side shows a display example with the #textCombine function. On the other hand, since ARIB-TTML does not support the #textCombine function, the conversion unit 120 divides the character string into a first half of vertical writing, a horizontal part, and a second half of vertical writing, calculates the display positions of the horizontal part and the second half of vertical writing, and creates new style elements, region elements, and p elements.

[0065] Fig. 34 is a diagram showing an example of an IMSC file with the #textCombine function. Fig. 35 is a diagram showing an example of an ARIB-TTML file converted from the IMSC file of Fig. 34. In the IMSC file of Fig. 34, as shown on the right side of Fig. 33, "this" and "double the distance" in the main text are displayed vertically, and "10" is displayed horizontally. The conversion unit 120 first creates a style element and a region element for horizontal writing. Specifically, the style elements of IMSC and ARIB-TTML are almost the same, and in the IMSC file of Fig. 34, the tts:writingMode is specified as "lrtb," which means that characters are written from left to right, as in normal horizontal writing, and lines are written from top to bottom. Therefore, the conversion unit 120 specifies tts:origin="0px 64px," which is 64px (=32px x 2) below the two characters "kono" before "10," in the region element of the ARIB-TTML file. Next, the conversion unit 120 creates a region element for vertical writing after division. Specifically, since the display starts three characters below "kono" and "10" in the main text, the conversion unit 120 specifies tts:origin="0px 96px", which is 96px (=32px x 3) below, in the region element of the ARIB-TTML file. As a result, the style element references the original style element in the same way as "kono". Finally, the conversion unit 120 creates new p elements for "10" and "double distance," referencing the region element for horizontal writing for "10" and the regio element for vertical writing after division for "double distance." The conversion unit 120 records this in a log file and ends the conversion process.

[0066] 34 is based on the assumption of a monospaced font, but in the case of a proportional font, the actual character width varies depending on the character, so the character width and white space may be adjusted depending on the font of the main text and the highlighted characters. Similarly, since the vertical and horizontal spacing differs depending on the font, the conversion unit 120 may adjust the font size calculated as is for both the vertical and horizontal dimensions according to the type of font.

[0067] The output unit 130 outputs, for example, the subtitle data converted into the ARIB-TTML encoding format and a log file recording the conversion details. Specifically, the output unit 130 may output the converted ARIB-TTML file together with the video to broadcasting equipment (not shown). The output unit 130 may also output a log file recording the conversion details to a data server (not shown) or the like located on a network (not shown).

[0068] <Conversion Process of the Subtitle Data Conversion Device 10> Next, the flow of the conversion process of the subtitle data converting device 10 will be described with reference to FIG. 36 is a flowchart illustrating the conversion process of the subtitle data converting device 10. The flow shown here is repeatedly executed while subtitle data in the IMSC encoding format is being input.

[0069] In step S1, input unit 110 takes in a video signal input from the outside, inputs subtitle data superimposed on the video signal, executes input processing to determine whether the input subtitle data is an IMSC file, and if the input subtitle data is an IMSC file, outputs the IMSC file to conversion unit 120. If the input subtitle data is not an IMSC file, the input unit waits in step S1. The detailed flow of the input processing will be described later.

[0070] In step S2, the conversion unit 120 performs conversion processing on the IMSC file input in step S1 to convert it into an ARIB-TTML file. Note that the detailed flow of the conversion processing will be described later.

[0071] In step S3, the output unit 130 outputs the ARIB-TTML file converted in step S2 and a log file recording the conversion details.

[0072] FIG. 37 is a flowchart illustrating the detailed processing contents of the input processing shown in step S1 in FIG.

[0073] In step S11, the input unit 110 determines whether the input subtitle data is an IMSC file. If the input subtitle data is an IMSC file, the process proceeds to step S12. On the other hand, if the input subtitle data is not an IMSC file, the process proceeds to step S14.

[0074] In step S12, the input unit 110 records in a log file that the IMSC file is converted into an ARIB-TTML file.

[0075] In step S13, the input unit 110 outputs the IMSC file and the log file to the conversion unit 120, and the process proceeds to step S2 in FIG.

[0076] In step S14, the input unit 110 records in a log file that the input subtitle data is not an IMSC file.

[0077] In step S15, the input unit 110 outputs a message indicating an error and a log file, and the process waits in step S1 of FIG.

[0078] FIG. 38 is a flowchart illustrating the detailed processing contents of the conversion processing shown in step S2 in FIG.

[0079] In step S21, the conversion unit 120 performs a conversion process on the IMSC file for functions that are incompatible with ARIB-TTML, deleting the tags for elements that correspond to the functions shown in Figure 2 that are incompatible with ARIB-TTML, and deleting the attribute names and attribute values ​​from within the elements for attributes, thereby converting the IMSC file into an ARIB-TTML file.

[0080] In step S22, the converter 120 performs a conversion process for functions compatible with ARIB-TTML on the IMSC file to convert it into an ARIB-TTML file. Note that the detailed flow of the conversion process for functions compatible with ARIB-TTML will be described later.

[0081] Fig. 39 is a flowchart illustrating detailed processing contents of the conversion processing of the function compatible with IMSC shown in step S22 in Fig. 38. Note that the order of each conversion processing in Fig. 39 is based on the order in Fig. 5, for example.

[0082] In step S221, the conversion unit 120 performs conversion processing for the #font function, which is compatible with ARIB-TTML, on the IMSC file to convert it into ARIB-TTML. Note that the detailed flow of the conversion processing for the #font function will be described later.

[0083] In step S222, the conversion unit 120 performs conversion processing for the #initial function compatible with ARIB-TTML on the IMSC file, converting it into ARIB-TTML. Note that the detailed flow of the conversion processing for the #initial function will be described later.

[0084] In step S223, the conversion unit 120 performs conversion processing for the #textShadow function, which is compatible with ARIB-TTML, on the IMSC file to convert it into ARIB-TTML. Note that the detailed flow of the conversion processing for the #textShadow function will be described later.

[0085] In step S224, the conversion unit 120 performs conversion processing for the #position function compatible with ARIB-TTML on the IMSC file, converting it into ARIB-TTML. Note that the detailed flow of the conversion processing for the #position function will be described later.

[0086] In step S225, the conversion unit 120 performs conversion processing for the #multiRowAlign function, which is compatible with ARIB-TTML, on the IMSC file to convert it into ARIB-TTML. Note that the detailed flow of the conversion processing for the #multiRowAlign function will be described later.

[0087] In step S226, the conversion unit 120 performs conversion processing for the #linePadding function compatible with ARIB-TTML on the IMSC file, converting it into ARIB-TTML. Note that the detailed flow of the conversion processing for the #linePadding function will be described later.

[0088] In step S227, the conversion unit 120 performs conversion processing for the #fillLineGap function, which is compatible with ARIB-TTML, on the IMSC file to convert it into ARIB-TTML. Note that the detailed flow of the conversion processing for the #fillLineGap function will be described later.

[0089] In step S228, the conversion unit 120 performs conversion processing for the #ruby function, which is compatible with ARIB-TTML, on the IMSC file to convert it into ARIB-TTML. Note that the detailed flow of the conversion processing for the #ruby function will be described later.

[0090] In step S229, conversion unit 120 performs conversion processing for the #textEmphasis function, which is compatible with ARIB-TTML, on the IMSC file to convert it into ARIB-TTML. Note that the detailed flow of the conversion processing for the #textEmphasis function will be described later.

[0091] In step S230, conversion unit 120 performs conversion processing for the #textCombine function, which is compatible with ARIB-TTML, on the IMSC file to convert it into ARIB-TTML. Note that the detailed flow of the conversion processing for the #textCombine function will be described later.

[0092] FIG. 40 is a flowchart illustrating the detailed contents of the conversion process for the #font function shown in step S221 in FIG.

[0093] In step S2211, the conversion unit 120 determines whether the type is "font / woff." If the type is "font / woff," the process proceeds to step S2212. On the other hand, if the type is not "font / woff," that is, if the type is "font / otf," the process proceeds to step S2214.

[0094] In step S2212, conversion unit 120 replaces IMSC's "font" with ARIB-TTML's "arib-tt:font-face", IMSC's "family" with ARIB-TTML's "font-family", IMSC's "range" with ARIB-TTML's "unicode-range", IMSC's "source" with ARIB-TTML's "arib-tt:src", IMSC's "src" with ARIB-TTML's "url", IMSC's "type" with ARIB-TTML's "format", and IMSC's "font / woff" with ARIB-TTML's "woff", and converts it into an ARIB-TTML file.

[0095] In step S2213, the conversion unit 120 records the conversion process for the #font function in a log file. Then, the process proceeds to step S222 in FIG.

[0096] In step S2214, the conversion unit 120 deletes the font element and records an error message in the log file, and then the process proceeds to step S222 in FIG.

[0097] FIG. 41 is a flowchart illustrating the detailed contents of the conversion process for the #initial function shown in step S222 in FIG.

[0098] In step S2221, the conversion unit 120 creates a new style element in the IMSC file and copies the attributes in the initial element.

[0099] In step S2222, the conversion unit 120 copies non-overlapping attributes in the initial element to other style elements in the IMSC file.

[0100] In step S2223, the conversion unit 120 adds a style attribute to an element in the IMSC file that does not have a reference to a style so that the element references a new style element.

[0101] In step S2224, the conversion unit 120 deletes the initial element and converts the file into an ARIB-TTML file.

[0102] In step S2225, the conversion unit 120 records the conversion process for the #initial function in a log file. Then, the process proceeds to step S223 in FIG.

[0103] FIG. 42 is a flowchart illustrating the detailed contents of the conversion process for the #textShadow function shown in step S223 in FIG.

[0104] In step S2231, the conversion unit 120 replaces the tts:textShadow attribute of IMSC with the arib-tt:text-shadow attribute of ARIB-TTML.

[0105] In step S2232, if any attribute values ​​of the tts:textShadow attribute in the IMSC file, namely, the shadow's horizontal shift distance, vertical shift distance, corner rounding, and shadow color, are omitted, the conversion unit 120 converts the file to an ARIB-TTML file by filling in the omitted attribute values ​​with "0px" or the same color as the text color.

[0106] In step S2233, if a unit other than px is specified as a unit representing distance in the IMSC file, the conversion unit 120 converts the unit into px and converts the file into an ARIB-TTML file.

[0107] In step S2234, conversion unit 120 records the conversion process for the #textShadow function in a log file. Then, the process proceeds to step S224 in FIG.

[0108] FIG. 43 is a flowchart illustrating the detailed contents of the conversion process for the #position function shown in step S224 in FIG.

[0109] In step S2241, the conversion unit 120 calculates the designated value of the tts:origin attribute of the corresponding ARIB-TTML file from the designated value of the tts:position attribute for the relevant portion of the IMSC file.

[0110] In step S2242, the conversion unit 120 specifies the tts:origin attribute for the relevant region element, deletes the tts:position attribute, and converts the file into an ARIB-TTML file.

[0111] In step S2243, conversion unit 120 records the conversion process for the #position function in a log file. Then, the process proceeds to step S225 in FIG.

[0112] FIG. 44 is a flowchart illustrating the detailed contents of the conversion process for the #multiRowAlign function shown in step S225 in FIG.

[0113] In step S2251, the conversion unit 120 determines whether the ebutts:multiRowAlign attribute is "auto." If the ebutts:multiRowAlign attribute is "auto," the process proceeds to step S2255. On the other hand, if the ebutts:multiRowAlign attribute is not "auto," the process proceeds to step S2252.

[0114] In step S2252, the conversion unit 120 creates a region element for the corresponding portion other than the line with the most characters.

[0115] In step S2253, the conversion unit 120 adjusts the tts:origin attribute indicating the position of the main text other than the line with the most characters in accordance with the display position specification.

[0116] In step S2254, the conversion unit 120 divides character strings delimited by line breaks within one p element for lines other than the line with the largest amount of characters, creates individual p elements, and references the newly prepared region element.

[0117] In step S2255, the conversion unit 120 deletes the ebutts:multiRowAlign attribute and converts the file into an ARIB-TTML file.

[0118] In step S2256, conversion unit 120 records the conversion process for the #multiRowAlign function in a log file. Then, the process proceeds to step S226 in FIG.

[0119] FIG. 45 is a flowchart illustrating the detailed processing contents of the conversion processing for the #linePadding function shown in step S226 in FIG.

[0120] In step S2261, the conversion unit 120 calculates the display area of ​​each line for the relevant portion and creates a region element for each line.

[0121] In step S2262, if the p element has a tts:backgroundColor attribute, the conversion unit 120 copies the tts:backgroundColor specification from the p element to the style element, and modifies it so that the Region area is filled in.

[0122] In step S2263, the conversion unit 120 creates a new p element for each row and references the newly created region element.

[0123] In step S2264, the conversion unit 120 deletes the original p element and the ebutts:linePadding attribute that are no longer needed, and converts the file into an ARIB-TTML file.

[0124] In step S2265, conversion unit 120 records the conversion process for the #linePadding function in a log file. Then, the process proceeds to step S227 in FIG.

[0125] FIG. 46 is a flowchart illustrating the detailed contents of the conversion process for the #fillLineGap function shown in step S227 in FIG.

[0126] In step S2271, the conversion unit 120 determines whether the corresponding part is a p element, uses the tts:backgroundColor attribute, and itts:fillLineGap is "true." If the corresponding part is a p element, uses the tts:backgroundColor attribute, and itts:fillLineGap is "true," the process proceeds to step S2272. On the other hand, if the corresponding part is a p element, does not use the tts:backgroundColor attribute, or itts:fillLineGap is not "true," the process proceeds to step S2276.

[0127] In step S2272, the conversion unit 120 calculates the display area of ​​the part surrounded by the span element for the relevant part, creates a region element according to the calculated display area, and specifies tts:displayAlign according to the character size.

[0128] In step S2273, the conversion unit 120 copies the tts:backgroundColor in the p element to the style element referenced by each region element.

[0129] In step S2274, conversion unit 120 creates a new p element, copies the text in the span element, and references the newly created region element.

[0130] In step S2275, the conversion unit 120 deletes the original p element.

[0131] In step S2276, the conversion unit 120 deletes the itts:fillLineGap attribute and converts the file into an ARIB-TTML file.

[0132] In step S2277, conversion unit 120 records the conversion process for the #fillLineGap function in a log file. Then, the process proceeds to step S228 in FIG.

[0133] FIG. 47 is a flowchart illustrating the detailed processing contents of the conversion processing for the #ruby function shown in step S228 in FIG.

[0134] In step S2281, the conversion unit 120 creates a style element for ruby ​​for the relevant part of the IMSC file.

[0135] In step S2282, the conversion unit 120 adjusts the position of the main text using the tts:origin attribute in accordance with the attribute value specified by the tts:rubyPosition attribute.

[0136] In step S2283, the conversion unit 120 executes a process to create a region element that indicates the display position of ruby, creates a region element that indicates the display position of ruby ​​according to the tts:rubyPosition attribute, and references the style element for ruby. Note that the detailed flow of the region element creation process will be described later.

[0137] In step S2284, the conversion unit 120 creates a p element for the ruby ​​character string, references the region element for ruby, and converts it into an ARIB-TTML file.

[0138] In step S2285, conversion unit 120 records the conversion process for the #ruby function in a log file. Then, the process proceeds to step S229 in FIG.

[0139] FIG. 48 is a flowchart illustrating in detail the region element creation process shown in step S2283 in FIG.

[0140] In step S2831, the conversion unit 120 calculates the start position and character width of the main text from the tts:fontFamily, tts:fontSize, and text of the main text.

[0141] In step S2832, the conversion unit 120 calculates the character width for displaying ruby ​​in the main text from the tts:fontFamily, tts:fontSize, and text of the main text.

[0142] In step S2833, the conversion unit 120 determines whether the tts:rubyAlign attribute is “center.” If the tts:rubyAlign attribute is “center,” the process proceeds to step S2834. On the other hand, if the tts:rubyAlign attribute is not “center,” the process proceeds to step S2836.

[0143] In step S2834, the conversion unit 120 calculates the spaces on both sides based on the ruby ​​character size and the number of ruby ​​characters.

[0144] In step S2835, the conversion unit 120 creates tts:origin so that ruby ​​starts at the position obtained by adding the start position of the main text and a space to the region element for ruby. Then, the processing proceeds to step S2284 in FIG.

[0145] In step S2836, the conversion unit 120 calculates the space width between ruby ​​characters from the ruby ​​character size and the number of ruby ​​characters.

[0146] In step S2837, conversion unit 120 creates tts:origin so that ruby ​​starts at the position obtained by adding the start position of the main text and the space between characters to the region element for ruby, and sets the space between characters to arib-tt:letter-spacing of ARIB-TTML. Then, processing proceeds to step S2284 in Fig. 47.

[0147] FIG. 49 is a flowchart illustrating the detailed contents of the conversion process for the #textEmphasis function shown in step S229 in FIG.

[0148] In step S2291, the conversion unit 120 creates a style element for emphasized characters for the relevant portion in the ARIB-TTML file.

[0149] In step S2292, the conversion unit 120 adjusts tts:origin, which indicates the position of the main text, in accordance with the attribute value of tts:textEmphasis.

[0150] In step S2293, the conversion unit 120 creates a region element that indicates the display position of the emphasized characters, and references the style element for ruby.

[0151] In step S2294, the conversion unit 120 creates a p element for the emphasized character string, and converts it into an ARIB-TTML file by referring to the region element for the emphasized characters.

[0152] In step S2295, conversion section 120 records the conversion process for the #textEmphasis function in a log file. Then, the process proceeds to step S230 in FIG.

[0153] FIG. 50 is a flowchart illustrating the detailed contents of the conversion process for the #textCombine function shown in step S230 in FIG.

[0154] In step S2301, the conversion unit 120 creates a style element and a region element for horizontal writing for the relevant part.

[0155] In step S2302, the conversion unit 120 creates a region element for vertical writing after division for the relevant portion.

[0156] In step S2303, the conversion unit 120 creates p elements for the horizontally written portion and p elements for the vertically written portion after division, and converts them into an ARIB-TTML file.

[0157] In step S2304, conversion unit 120 records the conversion process for the #textCombine function in a log file, and the process then proceeds to step S3 in FIG.

[0158] As described above, the subtitle data conversion device 10 according to one embodiment can convert subtitle data encoded in IMSC into subtitle data in the ARIB-TTML encoding format by deleting functions in the IMSC file that are not compatible with ARIB-TTML and replacing functions that are compatible with ARIB-TTML with corresponding IMSC functions. In addition, the subtitle data conversion device 10 converts subtitle data from IMSC, which is a coding format for subtitle data intended for communication distribution, to ARIB-TTML, which is a coding format for subtitle data intended primarily for digital broadcasting such as television, thereby making it possible to easily reuse subtitle data for content created for communication distribution for broadcasting.

[0159] Although one embodiment has been described above, the subtitle data converting device 10 is not limited to the above embodiment, and includes modifications and improvements within the scope of achieving the object.

[0160] <Modification> In one embodiment, the subtitle data converting device 10 is a device separate from an external video distribution device (not shown), but is not limited to this. For example, the subtitle data converting device 10 may be included in the video distribution device.

[0161] Note that each function included in the subtitle data converting device 10 in one embodiment can be realized by hardware, software, or a combination of these. Here, being realized by software means being realized by a computer reading and executing a program.

[0162] The program can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic storage media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical storage media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs). The program may also be supplied to a computer by various types of transitory computer-readable media. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. The transitory computer-readable media can be supplied to a computer via wired communication paths such as electric wires and optical fibers, or via wireless communication paths.

[0163] In addition, the steps of writing a program to be recorded on a recording medium include not only processes that are performed chronologically in accordance with the order, but also processes that are not necessarily performed chronologically but are performed in parallel or individually. [Explanation of symbols]

[0164] 10. Subtitle data conversion device 100 control section 110 Input section 120 Conversion Unit 130 Output section< / font>

Claims

1. an input unit for inputting subtitle data in an IMSC encoding format; a conversion unit that converts the subtitle data into subtitle data in an ARIB-TTML encoding format; an output unit that outputs the converted subtitle data in the ARIB-TTML encoding format and a log file that records the conversion content; A subtitle data conversion device comprising:

2. The subtitle data conversion device according to claim 1, wherein the conversion unit converts the subtitle data in the IMSC encoding format into subtitle data in the ARIB-TTML encoding format by deleting at least a #contentProfiles function, a #diparity function, a #displayAspectRatio function, a #luminanceGain function, a #metadata-item function, a #shear function, a #activeArea function, a #altText function, a #aspectRatio function, and a #forcedDisplay function from the subtitle data in the IMSC encoding format.

3. The subtitle data conversion device according to claim 1 or 2, wherein the conversion unit converts the subtitle data in the IMSC encoding format into subtitle data in the ARIB-TTML encoding format by replacing a #font function with an arib-tt:font-face element in the ARIB-TTML encoding format.

4. The subtitle data conversion device according to claim 1 or 2, wherein the conversion unit converts an #initial function of the subtitle data in the IMSC encoding format into subtitle data in the ARIB-TTML encoding format by inserting and referencing a new style element in the ARIB-TTML encoding format.

5. The subtitle data conversion device according to claim 1 or 2, wherein the conversion unit converts the subtitle data in the IMSC encoding format into subtitle data in the ARIB-TTML encoding format by replacing a #textShadow function with an arib-tt:text-shadow attribute in the ARIB-TTML encoding format.

6. The subtitle data conversion device according to claim 1 or 2, wherein the conversion unit calculates a position indicated by a #position function in the subtitle data of the IMSC encoding method, and inputs the calculated position into tts:origin of a region element of the ARIB-TTML encoding method to convert it into subtitle data of the ARIB-TTML encoding method.

7. The subtitle data conversion device according to claim 1 or 2, wherein the conversion unit calculates a display position indicated by a #multiRowAlign function in the subtitle data of the IMSC encoding method, and adjusts a style element and a region element of the ARIB-TTML encoding method based on the calculated display position to convert into subtitle data of the ARIB-TTML encoding method.

8. The subtitle data conversion device according to claim 1 or 2, wherein the conversion unit calculates a line width indicated by a #linePadding function in the subtitle data of the IMSC encoding method, adds a region element of the ARIB-TTML encoding method based on the calculated line width, adjusts a tts:extent attribute, and converts the data into subtitle data of the ARIB-TTML encoding method.

9. The subtitle data conversion device according to claim 1 or 2, wherein the conversion unit calculates a line width indicated by a #fillLineGap function in the subtitle data of the IMSC encoding method, adds a region element of the ARIB-TTML encoding method based on the calculated line width, adjusts a tts:extent attribute and a tts:displayAlign attribute, and converts the data into subtitle data of the ARIB-TTML encoding method.

10. The subtitle data conversion device according to claim 1 or 2, wherein the conversion unit creates a style element, a region element, and a p element for a hiragana character string in the ARIB-TTML encoding method for a #ruby function in the subtitle data in the IMSC encoding method, adjusts a display position and a character size, and replaces the element to convert the subtitle data into subtitle data in the ARIB-TTML encoding method.

11. The subtitle data conversion device according to claim 1 or 2, wherein the conversion unit converts the subtitle data in the IMSC encoding format into subtitle data in the ARIB-TTML encoding format by creating new style elements, region elements, and p elements for emphasized characters in the ARIB-TTML encoding format, adjusting and adding display positions and character sizes, for a #textEmphasis function in the IMSC encoding format.

12. The subtitle data conversion device according to claim 1 or 2, wherein the conversion unit calculates a display position indicated by a #textCombine function in the subtitle data of the IMSC encoding method, and applies a style element and a region element for horizontal writing of the ARIB-TTML encoding method based on the calculated display position to convert into subtitle data of the ARIB-TTML encoding method.

13. A subtitle data conversion system comprising the subtitle data conversion device according to claim 1 or 2.

14. an input step of inputting subtitle data in an IMSC encoding format; a conversion step of converting the subtitle data into subtitle data in an ARIB-TTML encoding format; an output step of outputting the subtitle data converted into the ARIB-TTML encoding format and a log file recording the conversion content.

Citation Information

Patent Citations

  • Caption conversion system

    JP2010258849A

  • Caption data generation device, content display device and program

    JP2017204695A

  • TR/2018/

  • Information processing device, information processing method, and program

    WO2017154607A1