Dynamically synchronized image and text positioning
Through a dynamic and synchronous image text positioning method, the translation and layout of image text are automatically processed, solving the problem of repeated work caused by manual selection of local language and layout in the existing technology, and realizing efficient and flexible localized image text generation.
Patent Information
- Application Number
- CN202080037088.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-06-13
- Filing Date
- 2020-06-11
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2040-06-11
AI Technical Summary
In the prior art, designers need to manually select the local language and layout when generating localized image text, which results in duplication of work and difficulty in dynamically updating the translated image text content.
A dynamic and synchronous image text localization method is provided, which realizes automatic localized image text generation by receiving an image collection and translating the text information into the corresponding language, determining the layout parameters, transforming and overlaying it on the image.
It realizes the automatic generation of localized image text, reduces duplication of work, improves the efficiency and flexibility of translation, and can dynamically respond to the modification of text information.
Smart Images

Figure CN113853595B_ABST
Abstract
Description
Technical Field
[0001] The present invention generally relates to a method, system, and computer program product for generating localized image text in a local language. More particularly, the present invention relates to a method, system, and computer program product for dynamic synchronized image text positioning. Background Art
[0002] Designers and authors generate content, including text information, when performing tasks such as creating documents, generating marketing materials, and generating help information. A local language is a language used in a specific geographic location. Image-based advertisements need to be translated into the local language in order to be useful to consumers. Designers select the layout of the text information based on the characteristic set of the local language. For example, some languages require a left-to-right layout, a right-to-left layout, a top-to-bottom layout, a bottom-to-top layout, or any combination. These examples are not intended to be limiting. Currently, designers must select a local language to be used with the advertising image, select a corresponding layout, and repeat this process for any number of local languages necessary to complete the content generation task. If the designer attempts to modify the content of the text information, the process must be repeated to update each translated image.
[0003] Therefore, there is a need in the art to solve the above problems. Summary of the Invention
[0004] The illustrative embodiments provide a method, system, computer program product, and computer program for dynamic synchronized image text positioning.
[0005] From a first aspect, the present invention provides a method for generating localized image text in a local language, the method comprising: receiving an image set, each image in the image set corresponding to text information in a text information set, so that a first text information from the text information set will be presented together with a first image from the image set; translating the first text information into a translated text information set, each text information in the translated text information set corresponding to a language in a language set; determining a layout parameter set for at least one translated text information from the translated text information set; transforming the at least one translated text information according to the layout parameter set; and overlaying the transformed at least one translated text information on the first image, wherein the overlaying causes pixels of the transformed at least one translated text information to be superimposed on pixels of the first image.
[0006] From another aspect, the present invention provides a computer system for generating localized image text in a local language, the system comprising: a receiving component for receiving a set of images, each image in the set of images corresponding to text information in a set of text information, so that a first text information from the set of text information is to be presented together with a first image from the set of images; a translation component for translating the first text information into a set of translated text information, each text information in the set of translated text information corresponding to a language in a set of languages; a determination component for determining a set of layout parameters for at least one translated text information from the set of translated text information; a transformation component for transforming the at least one translated text information according to the set of layout parameters; and an overlay component for overlaying the transformed at least one translated text information on a first image, wherein the overlaying causes pixels of the transformed at least one translated text information to be superimposed on pixels of the first image.
[0007] From another aspect, the present invention provides a computer-usable program product comprising a computer-readable storage device and program instructions stored on the storage device, the stored program instructions comprising: program instructions for receiving a set of images, each image in the set of images corresponding to text information in a set of text information, so that a first text information from the set of text information will be presented together with a first image from the set of images; program instructions for translating the first text information into a set of translated text information, each text information in the set of translated text information corresponding to a language in a set of languages; program instructions for determining a set of layout parameters for at least one translated text information from the set of translated text information; program instructions for transforming the at least one translated text information according to the set of layout parameters; and program instructions for overlaying the transformed at least one translated text information on the first image, wherein the overlaying causes pixels of the transformed at least one translated text information to be superimposed on pixels of the first image.
[0008] From another aspect, the present invention provides a computer system comprising a processor, a computer-readable memory and a computer-readable storage device, and program instructions stored on the storage device for execution by the processor via the memory, the stored program instructions comprising: program instructions for receiving an image set, each image in the image set corresponding to text information in a text information set, so that a first text information from the text information set will be presented together with a first image from the image set; program instructions for translating the first text information into a translated text information set, each text information in the translated text information set corresponding to a language in a language set; program instructions for determining a layout parameter set for at least one translated text information from the translated text information set; program instructions for transforming the at least one translated text information according to the layout parameter set; and program instructions for superimposing the transformed at least one translated text information on the first image, wherein the superimposition causes pixels of the transformed at least one translated text information to be superimposed on pixels of the first image.
[0009] Viewed from another aspect, the present invention provides a computer program product for generating localized image text in a local language, the computer program product comprising a computer-readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit to perform a method for executing the steps of the present invention.
[0010] Viewed from another aspect, the invention provides a computer program stored on a computer readable medium and loadable into the internal memory of a digital computer, the computer program comprising software code portions for performing the steps of the invention when said program is run on a computer.
[0011] An embodiment receives a set of images, each image in the set of images corresponding to text information in a set of text information, such that a first text information from the set of text information is to be presented together with a first image from the set of images. The embodiment translates the first text information into a set of translated text information, each text information in the set of translated text information corresponding to a language in a set of languages. The embodiment determines a set of layout parameters for at least one translated text information from the set of translated text information. The embodiment transforms the at least one translated text information according to the set of layout parameters. The embodiment overlays the transformed at least one translated text information on a first image, wherein the overlaying causes pixels of the transformed at least one translated text information to be superimposed on pixels of the first image.
[0012] Another embodiment further determines, as part of determining the set of layout parameters, a directionality parameter for the at least one translated text message, wherein the transformation arranges the at least one translated text message in the layout according to a direction specified in the directionality parameter.
[0013] Another embodiment further determines, as part of determining the set of layout parameters, an orientation parameter for the at least one translated text message, wherein the transforming orients the layout of the at least one translated text message according to an orientation specified in the orientation parameter.
[0014] Another embodiment further determines a font type for the at least one translated text message as part of determining the set of layout parameters, wherein the transforming arranges the at least one translated text message in a layout using the font type specified in the font type parameters.
[0015] Another embodiment further determines a color of the at least one translated text message as part of determining the set of layout parameters, wherein the transforming renders the at least one translated text message in the layout using the color specified in the color parameters.
[0016] Another embodiment further determines a font size for the at least one translated text message as part of determining the set of layout parameters, wherein the transforming arranges the at least one translated text message in a layout using the font size specified in the font size parameters.
[0017] Another embodiment further determines a font style of the at least one translated text message as part of determining the set of layout parameters, wherein the transforming arranges the at least one translated text message in a layout using the font style specified in the font style parameters.
[0018] Another embodiment further determines a language of the first text message, wherein the set of languages selected in the translation depends on the language of the first text message.
[0019] Another embodiment further determines a geographic locale corresponding to a language of the first text message, wherein the set of languages selected in the translation depends on the geographic locale.
[0020] Another embodiment further detects a modification of the first text information, wherein the translation is responsive to the modification such that the translation and overlay are adapted to the dynamic nature of the first text information.
[0021] Embodiments include a computer usable program product comprising one or more computer readable storage devices and program instructions stored on at least one of the one or more storage devices.
[0022] Embodiments include a computer system comprising one or more processors, one or more computer-readable memories, and one or more computer-readable storage devices, and program instructions stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories.
[0023] In an embodiment, the program instructions are stored in a computer readable storage device in a data processing system, and wherein the program instructions are transmitted over a network from a remote data processing system.
[0024] In an embodiment, program instructions are stored in a computer readable storage device in a server data processing system and wherein the program instructions are downloaded over a network to a remote data processing system for use in a computer readable storage device associated with the remote data processing system. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Certain novel features which are believed to be characteristic of the invention are set forth in the appended claims. However, the invention itself, together with the preferred mode of use, further objects and advantages thereof, will be best understood by reference to the following detailed description of illustrative embodiments when read in conjunction with the accompanying drawings, in which:
[0026] Figure 1 depicts a block diagram of a network of data processing systems in which the illustrative embodiments may be implemented;
[0027] Figure 2 depicts a block diagram of a data processing system in which the illustrative embodiments may be implemented;
[0028] Figure 3 depicts a block diagram of a configuration for dynamic synchronized image text positioning according to an illustrative embodiment;
[0029] Figure 4 depicts an example configuration for dynamically synchronized image text positioning according to an illustrative embodiment; and
[0030] Figure 5 A flowchart of an example process for dynamic synchronized image text positioning is depicted in accordance with an illustrative embodiment. DETAILED DESCRIPTION
[0031] The illustrative embodiments described herein generally relate to generating textual information for image-based advertising. According to various embodiments, the textual information consists of a collection of words, phrases, and / or sentences that are overlaid on an image. Overlaying (and other noun or verb variations of the word "overlay" as used herein) includes placing the textual information on a background image. Thus, when the textual information is located on top of the background image, the graphical data (e.g., pixels of the text) representing the textual information is superimposed on the graphical data of the background image in one of many possible ways. For example, the overlay can replace pixels of the background image with pixels of the textual information, the values of the pixels of the background image can be combined with the values of the pixels of the textual information to create a transparency or other effect that displays the textual information and the background image, the pixels of the background image and the pixels of the textual information can be alternately switched, or some combination thereof.
[0032] Existing text message editing tools can modify text messages. For example, the modification can change, replace or otherwise transform the text message into new text messages.
[0033] In one embodiment, an application receives a set of images, each image having a corresponding set of text information. In one embodiment, the application detects a modification to a first text information of the set of text information overlaid on the first image. In one embodiment, the application detects a set of layout parameters for the first text information. In a specific embodiment, the application determines a directionality parameter for the first text information. For example, text information in a given language may be written from right to left, from left to right, from top to bottom, or in some other suitable manner.
[0034] In a specific embodiment, the application determines an orientation parameter for the first text message. For example, a text message in a given language may be written horizontally, vertically, or some combination thereof. In a specific embodiment, the application determines a font type for the first text message. In an embodiment, the first text message includes a set of font types. In a specific embodiment, the application determines a color for the first text message. In an specific embodiment, the first text message includes a set of colors. In a specific embodiment, the application determines a font size for the first text message. In an embodiment, the first text message includes a set of font sizes.
[0035] In an embodiment, the application determines a font style for the first text message. For example, the first text message may be bold, italic, underlined, subscripted, superscripted, or some combination of these and other font styles. In an embodiment, the first text message includes a font style set. In an embodiment, the application determines a language for the first text message. In an embodiment, the application determines a geographic location corresponding to the language of the first text message.
[0036] In one embodiment, the application translates the first text message into a set of text messages, each text message in the set of text messages corresponding to a language in a set of languages. In one embodiment, the application receives a second set of layout parameters for at least one text message in the set of text messages. In one embodiment, the application overlays the at least one text message on the first image. In one embodiment, the application formats the at least one text message according to the second set of layout parameters.
[0037] The illustrative embodiments are described with respect to certain types of layout parameters, languages, user interfaces, text information, devices, data processing systems, environments, components, and applications, by way of example only. Any particular representation of these and other similar products is not intended to limit the present invention. Any suitable representation of these and other similar products may be selected within the scope of the illustrative embodiments.
[0038] Furthermore, the illustrative embodiments may be implemented with respect to any type of data, data source, or access to a data source over a data network. Within the scope of the present invention, any type of data storage device may provide data to embodiments of the present invention locally on a data processing system or over a data network. Within the scope of the illustrative embodiments, where the embodiments are described using a mobile device, any type of data storage device suitable for use with the mobile device may provide data to the embodiments locally on the mobile device or over a data network.
[0039] The illustrative embodiments are described using only specific code, designs, architectures, protocols, layouts, schematics, and tools as examples and are not intended to be limiting. In addition, for clarity of description, specific software, tools, and data processing environments are used in some examples to describe the illustrative embodiments only as examples. The illustrative embodiments can be used in conjunction with other comparable or similarly used structures, systems, applications, or architectures. For example, other similar mobile devices, structures, systems, applications, or architectures can be used in conjunction with such embodiments of the present invention within the scope of the present invention. The illustrative embodiments can be implemented in hardware, software, or a combination thereof.
[0040] The examples in this disclosure are for clarity of description only and are not intended to limit the illustrative embodiments. Additional data, operations, actions, tasks, activities, and manipulations can be envisioned from this disclosure and can be envisioned within the scope of the illustrative embodiments.
[0041] Any advantages listed herein are merely examples and are not intended to limit these illustrative embodiments. Additional or different advantages may be achieved through specific illustrative embodiments. Furthermore, a particular illustrative embodiment may have some, all, or none of the advantages listed above.
[0042] With reference to the accompanying drawings and in particular with reference to Figure 1 and 2 , these figures are illustrative diagrams of data processing environments in which illustrative embodiments may be implemented. Figure 1 and 2 This is merely an example and is not intended to assert or imply any limitation with regard to the environments in which different embodiments may be implemented. Specific implementations may make numerous modifications to the depicted environments based on the following description.
[0043] Figure 1 A block diagram of a data processing system network in which the illustrative embodiments may be implemented is shown. Data processing environment 100 is a computer network in which the illustrative embodiments may be implemented. Data processing environment 100 includes network 102. Network 102 is a medium for providing communication links between different devices and computers connected together within data processing environment 100. Network 102 may include connections such as wired or wireless communication links or fiber optic cables.
[0044] Client or server are merely example roles for certain data processing systems connected to network 102 and are not intended to exclude other configurations or roles for these data processing systems. Server 104 and server 106 are coupled to network 102 along with storage unit 108. In one or more embodiments, storage unit 108 may be configured to store text information, image data sets, user preferences, and / or user-generated content within database 109. Software applications may be executed on any computer in data processing environment 100. Clients 110, 112, and 114 are also coupled to network 102. Data processing systems, such as servers 104 or 106 or clients 110, 112, or 114, may contain data and may have software applications or software tools executed thereon.
[0045] By way of example only, and without implying any limitation on such architecture, Figure 1 Certain components that may be used in an example implementation of the embodiments are depicted. For example, servers 104 and 106 and clients 110, 112, 114 are depicted as servers and clients only as an example, and do not imply limitation to client-server architectures. As another example, an embodiment may be distributed across several data processing systems and data networks as shown, while another embodiment may be implemented on a single data processing system within the scope of the illustrative embodiments. Data processing systems 104, 106, 110, 112, and 114 also represent example nodes in clusters, partitions, and other configurations suitable for implementing the embodiments.
[0046] Device 132 is an example of a device described herein. For example, device 132 may take the form of a smartphone, a PDA, a tablet computer, a laptop computer, a fixed or portable form of client 110, a wearable computing device, or any other suitable device. Figure 1 Any software application executing in another data processing system in may be configured to execute in device 132 in a similar manner. Figure 1 Any data or information stored or generated in another data processing system in may be configured to be stored or generated in device 132 in a similar manner.
[0047] Application 105 of server 104 implements an embodiment of an algorithm for generating text information for image-based advertisements in a network environment as described herein. Servers 104 and 106, storage unit 108, and clients 110, 112, and 114 can be coupled to network 102 using a wired connection, wireless communication protocol, or other suitable data connectivity. Clients 110, 112, and 114 can be, for example, personal computers or network computers.
[0048] In the depicted example, server 104 can provide data, such as boot files, operating system images, and applications, to clients 110, 112, and 114. In this example, clients 110, 112, and 114 can be clients to server 104. Clients 110, 112, 114, or some combination thereof, can include their own data, boot files, operating system images, and applications. Data processing environment 100 may include additional servers, clients, and other devices not shown.
[0049] In the depicted example, data processing environment 100 can be the Internet. Network 102 can represent a collection of networks and gateways that use Transmission Control Protocol / Internet Protocol (TCP / IP) and other protocols to communicate with each other. The core of the Internet is a skeleton of data communication links between master nodes or host computers (including thousands of commercial, government, educational, and other computer systems that route data and messages). Of course, data processing environment 100 can also be implemented as many different types of networks, such as, for example, an intranet, a local area network (LAN), or a wide area network (WAN). Figure 1 It is intended as an example, not as an architectural limitation for the different illustrative embodiments.
[0050] In addition to other uses, data processing environment 100 can be used to realize the client-server environment in which illustrative embodiments can be realized. The client-server environment enables software applications and data to be distributed across a network, so that the application is brought into play by using the interaction between the client data processing system and the server data processing system. Data processing environment 100 can also adopt a service-oriented architecture, in which the interoperable software components distributed across a network can be encapsulated together as consistent business applications. Data processing environment 100 can also take the form of a cloud, and adopt the cloud computing model of service delivery, for enabling easy, on-demand network access to a shared pool of configurable computing resources (e.g., network, network bandwidth, server, processing, memory, storage, application, virtual machine and services), which can be quickly supplied and released with minimal management effort or with the interaction of the provider of the service.
[0051] See also Figure 2 , which depicts a block diagram of a data processing system in which the illustrative embodiments may be implemented. Data processing system 200 is an example of a computer, such as Figure 1 Servers 104 and 106 or clients 110, 112, and 114, or another type of device in which computer usable program code or instructions implementing the processes for the illustrative embodiments may be located.
[0052] Data processing system 200 also represents a data processing system, or configuration thereof, in which computer-usable program code or instructions implementing the processes of the illustrative embodiments may be located. Data processing system 200 is described as a computer only as an example and is not limited thereto. Implementations in other device forms may modify data processing system 200, such as by adding a touch interface, and even eliminate certain depicted components from data processing system 200, without departing from the general description of the operation and functionality of data processing system 200 described herein.
[0053] In the depicted example, data processing system 200 employs a hub architecture including north bridge and memory controller hub (NB / MCH) 202 and south bridge and input / output (I / O) controller hub (SB / ICH) 204. Processing unit 206, main memory 208, and graphics processor 210 are coupled to north bridge and memory controller hub (NB / MCH) 202. Processing unit 206 may include one or more processors and may be implemented using one or more heterogeneous processor systems. Processing unit 206 may be a multi-core processor. In some implementations, graphics processor 210 may be coupled to NB / MCH 202 via an accelerated graphics port (AGP).
[0054] In the depicted example, local area network (LAN) adapter 212 is coupled to south bridge and I / O controller hub (SB / ICH) 204. Audio adapter 216, keyboard and mouse adapter 220, modem 222, read-only memory (ROM) 224, universal serial bus (USB) and other ports 232, and PCI / PCIe devices 234 are coupled to south bridge and I / O controller hub 204 via bus 238. Hard disk drive (HDD) or solid state drive (SSD) 226 and CD-ROM 230 are coupled to south bridge and I / O controller hub 204 via bus 240. PCI / PCIe devices 234 may include, for example, Ethernet adapters, add-in cards, and PC Cards for notebook computers. PCI uses a card bus controller, while PCIe does not. ROM 224 may be, for example, a flash binary input / output system (BIOS). Hard drive 226 and CD-ROM 230 may use, for example, an integrated drive electronics (IDE), a serial advanced technology attachment (SATA) interface, or variations such as external SATA (eSATA) and micro SATA (mSATA). Super I / O (SIO) device 236 may be coupled to south bridge and I / O controller hub (SB / ICH) 204 via bus 238.
[0055] Memories such as main memory 208, ROM 224, or flash memory (not shown) are some examples of computer-usable storage devices. Hard disk drives or solid-state drives 226, CD-ROMs 230, and other similarly available devices are some examples of computer-usable storage devices that include computer-usable storage media.
[0056] The operating system runs on the processing unit 206. The operating system coordinates and provides Figure 2 The operating system controls the various components within data processing system 200. The operating system may be a commercially available operating system for any type of computing platform, including but not limited to server systems, personal computers, and mobile devices. Object-oriented or other types of programming systems may operate in conjunction with the operating system and provide calls to the operating system from programs or applications executing on data processing system 200.
[0057] Operating systems, object-oriented programming systems, and applications or programs such as Figure 1Instructions for the cognitive applications 105 and document authoring applications 107 in the example embodiment are located on a storage device (such as in the form of code 226A on hard drive 226) and can be loaded into at least one of one or more memories (such as main memory 208) for execution by processing unit 206. The processes of the exemplary embodiments may be performed by processing unit 206 using computer-implemented instructions, which may be located in a memory such as, for example, main memory 208, read-only memory 224, or one or more peripheral devices.
[0058] Furthermore, in one embodiment, code 226A may be downloaded from remote system 201B via network 201A, where similar code 201C is stored on storage device 201D. In another embodiment, code 226A may be downloaded to remote system 201B via network 201A, where the downloaded code 201C is stored on storage device 201D.
[0059] Figure 1-2 The hardware in may vary depending on the implementation. In addition to or instead of Figure 1-2 The hardware depicted in FIG may use other internal hardware or peripheral devices, such as flash memory, equivalent non-volatile memory, or optical disk drives, etc. In addition, the processes of the example embodiments may be applied to a multi-processor data processing system.
[0060] In some illustrative examples, data processing system 200 may be a personal digital assistant (PDA), which is typically configured with flash memory to provide non-volatile memory for storing operating system files and / or user-generated data. A bus system may include one or more buses, such as a system bus, an I / O bus, and a PCI bus. Of course, a bus system may be implemented using any type of communication structure or architecture that provides for data transfer between different components or devices attached to the structure or architecture.
[0061] The communications unit may include one or more devices for sending and receiving data, such as a modem or a network adapter. A memory may be, for example, main memory 208 or a cache, such as found in north bridge and memory controller hub 202. A processing unit may include one or more processors or CPUs.
[0062] Figure 1-2 The depicted examples in the foregoing examples are not meant to imply architectural limitations. For example, data processing system 200 may be a tablet computer, laptop computer, or telephone device in addition to taking the form of a mobile or wearable device.
[0063] Where a computer or data processing system is depicted as a virtual machine, virtual appliance, or virtual component, the virtual machine, virtual appliance, or virtual component operates in the manner of data processing system 200 using virtualized representations of some or all of the components depicted in data processing system 200. For example, in the virtual machine, virtual appliance, or virtual component, processing unit 206 appears as a virtualized instance of all or some number of hardware processing units 206 available in the host data processing system, main memory 208 appears as a virtualized instance of all or some portion of main memory 208 available in the host data processing system, and disk 226 appears as a virtualized instance of all or some portion of disk 226 available in the host data processing system. In this case, the host data processing system is represented by data processing system 200.
[0064] See also Figure 3 , which depicts a block diagram of a configuration 300 for dynamic, synchronized image text positioning, according to an illustrative embodiment. An image 302 includes a text information set 304 in a language 306. The text information 304 includes the content "USER PROFILE" in English. An application, such as application 105, generates an image set 308. The application translates the text information 304 into new text information 310 in a language set 312.
[0065] See also Figure 4 , which depicts an example configuration for dynamic synchronized image text positioning according to an illustrative embodiment. Configuration 400 includes an application 402, a first storage database 422, and a second storage database 424. Application 402 is Figure 1 The storage databases 422 and 424 are examples of applications 105 in FIG. Figure 1 An example of storage 108 in .
[0066] Application 402 receives an image collection 426 and a message collection 428. In one embodiment, the message collection 428 includes a text message collection, wherein a first text message of the text message collection is overlaid on a first image of the image collection 426. In one embodiment, text monitor component 404 determines a modification to at least one text message. For example, text monitor component 404 detects that at least one text message has been changed. In one embodiment, image analysis component 406 detects a set of layout parameters for the first text message. In a specific embodiment, image analysis component 406 determines a directionality parameter for the first text message. For example, text messages in a given language may be written from right to left, from left to right, or some combination thereof.
[0067] In a specific embodiment, the layout analysis component 408 determines an orientation parameter for the first text message. For example, a text message in a given language may be written horizontally, vertically, or some combination thereof. In a specific embodiment, the layout analysis component 408 determines a font type for the first text message. In an embodiment, the first text message includes a set of font types. In a specific embodiment, the layout analysis component 408 determines a color for the first text message. In a specific embodiment, the first text message includes a set of colors. In a specific embodiment, the layout analysis component 408 determines a font size for the first text message. In an embodiment, the first text message includes a set of font sizes.
[0068] In one embodiment, the layout analysis component 408 determines the font style of the first text information. For example, the first text information may be bold, italic, underlined, subscripted, superscripted, or some combination thereof. In one embodiment, the first text information includes a font style set. In one embodiment, the language identification component 414 determines the language of the first text information. In one embodiment, the language identification component 414 determines the geographic location corresponding to the language of the first text information.
[0069] In one embodiment, a text translation component 412 translates a first text message into a set of text messages, each text message in the set of text messages corresponding to a language in a set of languages. In one embodiment, the application 402 stores the set of text messages in a memory 424 as a set of translated messages 430. In one embodiment, a layout analysis component 408 determines a second set of layout parameters for at least one text message in the set of text messages. In one embodiment, a template selection component 416 selects the second set of layout parameters. In one embodiment, a pattern position component 418 formats the at least one text message according to the second set of layout parameters. In one embodiment, a template customization component 420 modifies the second set of layout parameters according to a set of user preferences. The application 402 generates a set of images 432 with the translated messages.
[0070] See also Figure 5 , which depicts a flow diagram of an example process for dynamic synchronized image text positioning according to an illustrative embodiment. In one or more embodiments, process 500 can be implemented in application 105.
[0071] In block 502, application 105 receives an image with text information. For example, an input may provide application 105 with image data and text information data separately, where the application is expected to overlay text information (or a variation thereof) on the image, as described herein. As another example, another input may provide application 105 with input including combined image and text information data.
[0072] The text information provided can be used as is for the coverage in the manner of an embodiment, or may have to be modified before coverage. For example, the text information provided can be edited, or may be changed before coverage in the manner of an embodiment. In dynamic scenes, the image may have to be covered by dynamic (that is, changing over time or events) text information. In such cases, the editing or change of the text information must be detected so that the translation and coverage of the translated text information on the background image can keep up with (that is, adapt to) the changed incoming text information.
[0073] When the provided text information is edited, in block 504, application 105 detects the edit to the text information. In block 506, application 105 analyzes the text parameter set of the text information. Detection of the edit can be performed in any suitable manner. For example, the edit can be detected by comparing the provided text information with different versions of the text information stored in a location. The edit can also be detected by sensing an event in the data processing system, wherein the event instructs the editor application to access the storage location of the provided text information. Many other ways of detecting the edit of text information will be apparent to those skilled in the art in light of this disclosure, and this method is contemplated within the scope of the illustrative embodiments.
[0074] In block 508, the application 105 determines the layout of the text information. For example, as described herein, the application 105 uses a set of layout parameters associated with the text information, derived from user input, a default configuration, a context specification calculated based on the context of the image and / or text information, or some combination thereof. As described herein, the set of layout parameters includes, but is not limited to, a directionality parameter, an orientation parameter, a font, a font style, a size, a color, a blinking or blinking rate, and animation characteristics.
[0075] In block 510, application 105 identifies a message in the text message. The message in the text message is the content of the text message data, which is provided in a specific natural language. In block 512, application 105 translates the message into a set of languages, each language in the set being a natural language. Any suitable language translation tool can be used to perform the translation in block 512. If more than one language is selected in the set for translation, one or more translated messages can be generated. If more than one translated message is generated, there are multiple overlay possibilities, as described in block 518.
[0076] In block 514, the application 105 identifies a language preference based on the set of user parameters. In block 516, the application 105 selects a template for the translated message based on the determined layout and the identified language preference. A set of templates is available for embodiments from which a template can be selected based on one or more selection criteria. The selection criteria include, but are not limited to, the language of the translated message to be overlaid on a given image using the template, the layout or layout parameters of the translated message to be overlaid, or some combination thereof. For example, if multiple templates are available for translating into a Mandarin language message, one of those multiple templates may be selected so that the selected template is at most the size of the image (is) or a determined portion thereof, but not more.
[0077] In block 518, the application 105 locates the translated message according to the selected template. The process 500 thereafter ends.
[0078] The positioning of block 518 causes the selected template containing the translated message to occupy a position relative to the input image and be overlaid at that position by the application 105 in the manner previously described. When more than one translated message in different languages is generated at block 512, a variety of positioning and overlay alternatives are possible and are contemplated to be within the scope described. For example, one embodiment selects a first translated message in a first template, overlays it on the image, and causes the image overlaid with the first translated message to be presented at a first time. This embodiment selects a second translated message in a second template, overlays it on the image, and causes the image overlaid with the second translated message to be presented at a second time. Two or more translated messages can be presented consecutively at different times in this manner, and the various translated messages can be rotated in this manner over a period of time.
[0079] As another example, another embodiment selects a first translated message in a first template, overlays the first translated message on an image at a first location, selects a second translated message in a second template, overlays the second translated message on an image at a second location, and causes an image overlaid with the first and second translated messages at different locations to be presented. Combinations are also contemplated where messages from a first subset of translated messages are positioned and overlaid at different locations (presented at the first time) and messages from a second subset of translated messages are positioned and overlaid at different locations (presented at the second time). These examples of positioning and overlapping of one or more translated messages are not intended to be limiting. In light of this disclosure, one of ordinary skill in the art will be able to conceive of many other ways of positioning and overlaying one or more translated messages, and these are contemplated within the scope of the illustrative embodiments.
[0080] Where embodiments are described as being implemented in an application, delivery of the application in a Software as a Service (SaaS) model is contemplated within the scope of the illustrative embodiments. In a SaaS model, the capabilities of the application implementing the embodiments are provided to users by executing the application in a cloud infrastructure. Users can access the application using various client devices through a thin client interface such as a web browser (e.g., web-based email) or other lightweight client applications. Users do not manage or control the underlying cloud infrastructure, including the network, servers, operating system, or storage of the cloud infrastructure. In some cases, users may not even manage or control the capabilities of the SaaS application. In some other cases, the SaaS implementation of the application may allow for limited possible exceptions to user-specific application configuration settings.
[0081] The present invention may be a system, method and / or computer program product of any possible degree of technical detail integration. The computer program product may include a computer-readable storage medium (or multiple media) having computer-readable program instructions thereon for causing a processor to execute various aspects of the present invention.
[0082] Computer readable storage medium can be a tangible device that can retain and store the instructions used by the instruction execution device.Computer readable storage medium can be, for example but not limited to, electronic storage device, magnetic storage device, optical storage device, electromagnetic storage device, semiconductor storage device or any suitable combination of the above.The non-exhaustive list of more specific examples of computer readable storage medium includes the following: portable computer disk, hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanical encoding device such as punch card or the protrusion structure in the groove with the instruction recorded thereon and any suitable combination of the above.Computer readable storage medium as used herein should not be interpreted as temporary signal itself, such as radio wave or other free propagation electromagnetic wave, electromagnetic wave propagated by waveguide or other transmission media (for example, light pulse passing through fiber optic cable) or electric signal emitted by wire.
[0083] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network), or downloaded to an external computer or external storage device. The network can include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in a computer-readable storage medium within the corresponding computing / processing device.
[0084] The computer-readable program instructions for performing the operation of the present invention can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, the configuration data of integrated circuit or source code or object code written in any combination of one or more programming languages, these programming languages include object-oriented programming languages (such as Smalltalk, C++ etc.) and process programming languages (such as " C " programming languages or similar programming languages). The computer-readable program instructions can be performed completely on the user's computer, partly on the user's computer, performed as an independent software package, partly on the user's computer, partly on a remote computer or fully on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer by any type of network (including local area network (LAN) or wide area network (WAN)), or can be connected to an external computer (for example, using an internet service provider through the internet). In certain embodiments, the electronic circuit comprising for example programmable logic circuit, field programmable gate array (FPGA) or programmable logic array (PLA) can make the electronic circuit personalized to perform computer-readable program instructions by utilizing the state information of computer-readable program instructions, so as to perform various aspects of the present invention.
[0085] Various aspects of the present invention are described herein with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It will be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.
[0086] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine, such that the instructions executed by the processor of the computer or other programmable data processing device create a device for implementing the functions / actions specified in the flowchart and / or block diagram or multiple blocks. These computer-readable program instructions can also be stored in a computer-readable storage medium, where these instructions cause the computer, programmable data processing device, and / or other device to operate in a specific manner, so that the computer-readable storage medium having the instructions stored therein includes an article of manufacture containing instructions that implement aspects of the functions / actions specified in the flowchart and / or block diagram or multiple blocks.
[0087] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device, so that a series of operational steps are performed on the computer, other programmable apparatus, or other device to produce computer-implemented processing, so that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0088] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functions and operations of possible implementations of the systems, methods and computer program products according to different embodiments of the present invention. To this end, each box in the flowchart or block diagram may represent a module, segment or portion of an instruction, which includes one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions annotated in the box may not occur in the order annotated in the figure. For example, depending on the functions involved, two blocks shown in succession may actually be executed substantially simultaneously, or the blocks may sometimes be executed in the opposite order. It should also be noted that each box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs a specified function or action or performs a combination of dedicated hardware and computer instructions.
Claims
1. A method for generating localized image text in a local language, the method comprising: receiving an image set, each image in the image set corresponding to text information in a text information set, wherein a first image in the image set is overwritten by a first text information in the text information set; detecting an edit to a message in the first text message; translating a message in the first text message into a plurality of translated messages, each translated message in the plurality of translated messages corresponding to a corresponding language in a language set; determining, for the plurality of translated messages, a set of layout parameters for at least one translated message; wherein the at least one translated message comprises a first translated message and a second translated message, and Wherein, determining a set of layout parameters for at least one translated message comprises: determining first layout parameters associated with a first format of the first translated message and second layout parameters associated with a second format of the second translated text message; Identifying the user's language preference based on a set of user parameters; selecting a template for the at least one translated message based at least in part on the set of layout parameters and the language preference; transforming the at least one translated message according to the set of layout parameters, wherein transforming comprises transforming the first translated message into the first format according to the first layout parameters and transforming the second translated message into the second format according to the second layout parameters; and Overlaying at least one transformed translated message on the first image, wherein the overlaying step includes: overlaying the first translated message in the first format on the first image at a first time, and overlaying the second translated message in the second format on the first image at a second time after the first time, wherein overlaying the first translated message in the first format on the first image includes: positioning the first translated message according to a first template, and superimposing pixels of the first translated message on pixels of the first image.
2. The method according to claim 1, further comprising: As part of determining the set of layout parameters, a directionality parameter for the at least one translated message is determined, wherein the transform arranges the at least one translated message in a layout according to a direction specified in the directionality parameter.
3. The method according to any one of claims 1 to 2, further comprising: As part of determining the set of layout parameters, an orientation parameter for the at least one translated message is determined, wherein the transform orients the layout of the at least one translated message according to an orientation specified in the orientation parameter.
4. The method according to any one of claims 1 to 2, further comprising: As part of determining the set of layout parameters, a font type parameter for the at least one translated message is determined, wherein the transform arranges the at least one translated message in a layout using a font type specified in the font type parameter.
5. The method according to any one of claims 1 to 2, further comprising: As part of determining the set of layout parameters, a color parameter for the at least one translated message is determined, wherein the transform renders the at least one translated message in a layout using a color specified in the color parameter.
6. The method according to any one of claims 1 to 2, further comprising: As part of determining the set of layout parameters, a font size parameter for the at least one translated message is determined, wherein the transform arranges the at least one translated message in a layout using a font size specified in the font size parameter.
7. The method according to any one of claims 1 to 2, further comprising: As part of determining the set of layout parameters, font style parameters for the at least one translated message are determined, wherein the transforming arranges the at least one translated message in a layout using a font style specified in the font style parameters.
8. The method according to any one of claims 1 to 2, further comprising: A language of the first text information is determined, wherein the set of languages selected in the translation depends on the language of the first text information.
9. The method according to any one of claims 1 to 2, further comprising: A geographic locale is determined for the language corresponding to the first textual information, wherein the set of languages selected in the translation depends on the geographic locale.
10. The method according to any one of claims 1 to 2, further comprising: A modification of the first textual information is detected, wherein the translation is responsive to the modification such that the translation and the overlay are adapted to a dynamic nature of the first textual information.
11. A computer system for generating localized image text in a local language, the system comprising: a receiving component configured to receive an image set, wherein each image in the image set corresponds to text information in a text information set, wherein a first image in the image set is overwritten by a first text information in the text information set; detecting an edit to a message in the first text message; a translation component for translating a message in the first text message into a plurality of translated messages, each translated message in the plurality of translated messages corresponding to a corresponding language in a language set; a determining component for determining a set of layout parameters for at least one translated text message for the plurality of translated messages, wherein the at least one translated message comprises a first translated message and a second translated message, and wherein determining the set of layout parameters for the at least one translated message comprises: determining first layout parameters associated with a first format of the first translated message and second layout parameters associated with a second format of the second translated text message; a template customization component for identifying a language preference of a user based on a set of user parameters and selecting a template for the at least one translated message based at least in part on the set of layout parameters and the language preference; a transformation component for transforming the at least one translated message according to the set of layout parameters, wherein transforming comprises transforming the first translated message into the first format according to the first layout parameters and transforming the second translated message into the second format according to the second layout parameters; and An overlay component for overlaying at least one transformed translated message on a first image, wherein the overlay component is further configured to overlay the first translated message in the first format on the first image at a first time, and overlay the second translated message in the second format on the first image at a second time after the first time, wherein overlaying the first translated message in the first format on the first image comprises positioning the first translated message according to a first template and superimposing pixels of the first translated message on pixels of the first image.
12. The system of claim 11, further comprising: The determining component is further operable to determine a directionality parameter for the at least one translated message as part of determining the set of layout parameters, wherein the transforming arranges the at least one translated message in a layout according to a direction specified in the directionality parameter.
13. The system according to any one of claims 11 to 12, further comprising: The determining component is further operable to determine an orientation parameter for the at least one translated message as part of determining the set of layout parameters, wherein the transforming orients the layout of the at least one translated message according to an orientation specified in the orientation parameter.
14. The system according to any one of claims 11 to 12, further comprising: The determining component is further operable to determine a font type parameter for the at least one translated message as part of determining the set of layout parameters, wherein the transforming arranges the at least one translated message in a layout using a font type specified in the font type parameter.
15. The system according to any one of claims 11 to 12, further comprising: The determining component is further operable to determine, as part of determining the set of layout parameters, a color parameter for the at least one translated message, wherein the transform renders the at least one translated message in a layout using a color specified in the color parameter.
16. The system according to any one of claims 11 to 12, further comprising: The determining component is further operable to determine a font size parameter for the at least one translated message as part of determining the set of layout parameters, wherein the transforming arranges the at least one translated message in a layout using a font size specified in the font size parameter.
17. The system according to any one of claims 11 to 12, further comprising: A layout analysis component is configured to determine font style parameters for the at least one translated message as part of determining the set of layout parameters, wherein the transforming arranges the at least one translated message in a layout using a font style specified in the font style parameters.
18. The system according to any one of claims 11 to 12, further comprising: A language identification component is configured to determine a language of the first text information, wherein the set of languages selected in the translation depends on the language of the first text information.
19. The system according to any one of claims 11 to 12, further comprising: A language identification component is configured to determine a geographic locale corresponding to the language of the first textual information, wherein the set of languages selected in the translation depends on the geographic locale.
20. The system according to any one of claims 11 to 12, further comprising: A detection component for detecting a modification of the first textual information, wherein the translation is responsive to the modification such that the translation and the overlay are adapted to a dynamic nature of the first textual information.
21. A computer program product for generating localized image text in a local language, the computer program product comprising: Computer program instructions readable by a processing circuit for execution by the processing circuit to perform the method according to any one of claims 1 to 10.
22. A computer-readable storage medium storing a computer program loadable into the internal memory of a digital computer, the computer program comprising software code portions for executing the method according to any one of claims 1 to 10 when the program is run on a computer.
Citation Information
Patent Citations
Page element generating method and device for web page
CN107784002A
Translation of applications
US9104661B1
Content localization
US9881002B1