Generation of high-resolution scan of intraoral cavity

The method adapts image resolution based on bandwidth to ensure continuous high-resolution scanning in intraoral imaging, addressing disruptions caused by bandwidth fluctuations.

JP2025094943AInactive Publication Date: 2025-06-25DENTSPLY SIRONA INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024218730
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-13
Filing Date
2024-12-13
Publication Date
2025-06-25
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Intraoral scanners face disruptions in seamless data transfer due to intermittent drops in transmission bandwidth, leading to inefficiencies and suboptimal user experiences during digital impression scans.

Method used

A method that reduces the resolution of captured images when bandwidth is below a threshold, converting them into low-resolution frames for transmission, and subsequently updates these frames to high-resolution using residual frames when bandwidth improves, ensuring continuous scan generation.

Benefits of technology

Enables uninterrupted high-resolution surface scanning by adapting to variable bandwidth conditions, maintaining scan quality and efficiency without interruptions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025094943000001_ABST
    Figure 2025094943000001_ABST
Patent Text Reader

Abstract

To provide a method for generating a high-resolution scan of an intraoral cavity.SOLUTION: This method includes: sampling a surface of an intraoral cavity by capturing a number of single images of the surface with a scanner; detecting a bandwidth of a transmission; reducing a resolution of one or more single images on detecting that the bandwidth is lower than a threshold, by converting the single images into corresponding low-resolution frames and residual frames; transmitting the corresponding low-resolution frames; sequentially stitching, at a first time period, the low-resolution frames to continue the surface scan to generate a stitched model; selectively replacing, at a second time period, the low-resolution frames with corresponding residual frames within the stitched model; and generating a high-resolution surface scan of the intraoral cavity.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001]

[0001] This disclosure generally relates to intraoral scanning, and more specifically, to generating high-resolution scans of the oral cavity under variable bandwidth conditions. Description of Related Art

[0002]

[0002] In the field of intraoral imaging in a wireless environment, using an intraoral scanner for digital impressions faces difficulties when the transmission bandwidth intermittently drops below the rate at which data is being acquired, interfering with seamless data transfer. Conventional techniques rely on dropping captured frames to adapt to the amount of data in the transmission bandwidth. However, this can introduce breaks in the scan flow, forcing the operator to intervene by repositioning the scanner and, in some cases, reacquiring specific segments within the oral cavity. These interruptions can not only impede the efficiency of the scan process but also result in a less-than-optimal user experience for the operator and, likewise, the patient.

Summary of the Invention

[0003]

[0003] According to one embodiment of the present disclosure, a method is disclosed. The method includes sampling a surface by capturing a plurality of single images of the surface within the oral cavity using a scanner, detecting a transmission bandwidth, and when detecting that the bandwidth is lower than a predetermined threshold, reducing the resolution of one or more of the plurality of single images associated with at least one region of the surface by converting the one or more single images into respective low-resolution frames and residual frames associated with the at least one region, sequentially transmitting each of the low-resolution frames to a receiver at a bandwidth lower than the predetermined threshold. Further, the method includes sequentially stitching, by the receiver, each of the low-resolution frames during a first time period to generate a stitched model of the surface scan, selectively updating each of the low-resolution frames based on corresponding residual frames within the stitched model during a second time period following the first time period, and generating a high-resolution surface scan of the oral cavity. The updating may include combining the residual frames with the low-resolution frames to return to the original high-resolution frames. Alternatively, if the original high-resolution frames are maintained, the low-resolution frames may be replaced.

[0004]

[0004] In one embodiment, the method may also include aligning and stitching each of the low-resolution frames associated with at least one region within the sequence with a plurality of single images of other regions to generate a stitched model of the surface.

[0005]

[0005] In one embodiment, the method may also include sequentially transmitting each low-resolution frame having an associated ID, storing the corresponding residual frames of one or more single images in the image buffer of the scanner, identifying at least one region having a sampling rate lower than a predetermined sampling rate, and requesting, using the associated ID of each low-resolution frame, the corresponding residual frames of each low-resolution frame associated with the identified at least one region.

[0006]

[0006] In one embodiment, the method may also include maintaining a queue of a plurality of single images captured for transmission to a receiver, detecting that the queue length exceeds a predetermined maximum queue length, and determining that the bandwidth is below a predetermined threshold.

[0007]

[0007] In one embodiment, the method may also include maintaining a queue of a plurality of single images captured for sending to a receiver, detecting that the queue length is shorter than a predetermined maximum queue length, and determining that the bandwidth exceeds a predetermined threshold.

[0008]

[0008] The aspects described below include a non-transitory computer-readable storage medium having computer-executable instructions that, in response to execution by a processor, cause the system to perform any one of the described methods.

[0009]

[0009] The aspects described below also include a system having means for generating a high-resolution surface scan of the oral cavity.

[0010]

[0011] An apparatus and technique for generating a high-resolution surface scan within the oral cavity will be described with reference to the following drawings. The same numbers are used throughout the drawings to refer to like features and components. The drawings are exemplary embodiments. They do not illustrate all embodiments. Other embodiments may be used additionally or alternatively. Details that may be apparent or unnecessary may be omitted for space savings or more effective illustration. Some embodiments may be implemented with additional components or steps and / or without using all of the components or steps illustrated. When the same number appears in different drawings, it refers to the same or similar components or steps.

Brief Description of the Drawings

[0011]

Figure 1

[0012] A block diagram of a data processing environment in which an exemplary embodiment may be implemented is shown.

Figure 2

[0013] A block diagram of a data processing system in which an exemplary embodiment may be implemented is shown.

Figure 3

[0014] A schematic diagram of a system in which an exemplary embodiment may be implemented is shown.

Figure 4

[0015] A flowchart of a method for generating a high-resolution surface scan according to an exemplary embodiment of the present disclosure is shown.

Figure 5

[0016] A flowchart of a process for generating a high-resolution surface scan according to an exemplary embodiment of the present disclosure is shown.

Figure 6

[0017] A flowchart of a process for replacing a low-resolution frame with a residual frame or stitching them together according to an exemplary embodiment of the present disclosure is shown.

Best Mode for Carrying Out the Invention

[0012] [Overview]

[0018] In the following detailed description, numerous specific details are set forth by way of example in order to provide a thorough understanding of the relevant teachings. It should be apparent, however, that the present teachings may be practiced without such details. In other instances, well-known methods, procedures, and / or components have been described relatively generally without detail in order to avoid unnecessarily obscuring aspects of the present teachings.

[0013]

[0019] Exemplary embodiments recognize that in the field of intraoral imaging, the use of an intraoral scanner may be essential for obtaining a digital impression of the oral cavity. These scanners can often play an important role in transmitting recorded data using various connection options such as a wireless network or the public Internet. However, notable difficulties can arise when the transmission bandwidth intermittently falls below the rate at which data is being acquired, causing disruptions in smooth data transfer.

[0014]

[0020] Exemplary embodiments recognize that attempts can be made to transmit a continuous data stream and that when encountering intermittent drops in the transmission bandwidth, frames may be dropped to adjust to the available bandwidth. However, dropping frames can cause interruptions in the scan flow and result in a degraded or incomplete surface scan with missing sampled data for certain regions of the oral cavity.

[0015]

[0021] Exemplary embodiments implement a method and system for generating a high-resolution surface scan of the oral cavity. As used herein, "high resolution" can generally refer to a resolution that exceeds a predetermined threshold resolution, and "low resolution" can generally refer to a resolution that is lower than a predetermined threshold resolution.

[0016]

[0022] In an exemplary aspect, a method for generating a high-resolution surface scan of the oral cavity is disclosed. The method includes sampling a surface by capturing a plurality of single images of the surface in the oral cavity using an intraoral scanner, detecting a bandwidth of transmission between the intraoral scanner and a remote receiver, and reducing the resolution of one or more of the single images in response to detecting that the bandwidth is lower than a predetermined threshold. The single image can be a single "2D image" or a single "3D depth image". The resolution of one or more of the single images can be reduced by converting the one or more single images into corresponding / respective one or more low-resolution frames and corresponding / respective one or more residual frames. The one or more low-resolution frames are sequentially transmitted to the remote receiver and can be sequentially stitched into a model generated by the receiver during a first time period when the bandwidth is low. By transmitting and stitching low-resolution frames when the bandwidth is low (below a predetermined threshold), it may be possible to continuously generate a stitched model of the intraoral surface scan without encountering interruptions caused by low-bandwidth transmission in other ways. In a second time period that begins after the first time period begins, the low-resolution frames of the stitched model are selectively updated (such as replaced or combined) using the corresponding residual frames in the stitched model to obtain the original high-resolution data of the intraoral scanner and generate a high-resolution overall 3D image of the oral cavity. In one aspect, the high-resolution overall 3D image can achieve the same quality and accuracy as when all high-resolution frames from the camera are transmitted at full bandwidth. Further, the selective update can be based on a predetermined threshold of a required sampling density so that a predetermined quality can be achieved.

[0017]

[0023] Exemplary embodiments are described in relation to a particular type of machine. Exemplary embodiments are also described, by way of example only, in relation to other scenarios, objects, measurements, devices, data processing systems, environments, components, and applications. Any particular explicit mention of these and other similar artifacts is not intended to limit the present disclosure. Any suitable explicit mention of these and other similar artifacts may be selected within the scope of the exemplary embodiments.

[0018]

[0024] Further, exemplary embodiments may be implemented in relation to access to any type of data, data source, or data network to a data source. Any type of data storage device may provide data to an embodiment of the present disclosure within the scope of the present disclosure, either locally in a data processing system or via a data network. When an embodiment is described using a mobile device, any type of data storage device suitable for use with the mobile device may provide data to such an embodiment, either locally in the mobile device or via a data network, within the scope of the exemplary embodiments.

[0019]

[0025] Exemplary embodiments are described, by way of example only, using particular codes, hardware, algorithms, designs, architectures, protocols, layouts, schematics, and tools, and are not limited to the exemplary embodiments. Further, in some instances, exemplary embodiments are described, by way of example only, using particular software, tools, and data processing environments for clarity of explanation. Exemplary embodiments may be used in conjunction with other equivalent or similar purpose structures, systems, applications, or architectures. For example, other equivalent devices, structures, systems, applications, or architectures for that purpose may be used in conjunction with such embodiments of the present disclosure within the scope of the present disclosure. Exemplary embodiments may be implemented in hardware, software, or a combination thereof.

[0020]

[0026] The examples in this disclosure are used only for clarity of explanation and are not intended to limit to exemplary embodiments. Additional data, operations, actions, tasks, activities, and manipulations may be envisioned from this disclosure and are contemplated within the scope of the exemplary embodiments.

[0021]

[0027] Any advantages listed herein are merely examples and are not intended to limit to exemplary embodiments. Additional or different advantages may be realized by specific exemplary embodiments. Further, a particular exemplary embodiment may have some, all, or none of the advantages listed above.

[0022]

[0028] Referring to the figures, particularly FIGS. 1 and 2, these figures are exemplary diagrams of a data processing environment in which exemplary embodiments may be implemented. FIGS. 1 and 2 are merely examples and are not intended to claim or imply limitations regarding environments in which different embodiments may be implemented. Based on the following description, many modifications can be made to the illustrated environment for a particular implementation.

[0023]

[0029] FIG. 1 shows a block diagram of a network of a data processing system in which an exemplary embodiment may be implemented. The data processing environment 100 is a network of computers in which an exemplary embodiment may be implemented. The data processing environment 100 includes a network 102. The network 102 is a medium used to provide a communication link between various devices and computers connected together within the data processing environment 100. The network 102 may include connections such as wired, wireless communication links, or fiber optic cables.

[0024]

[0030] The client or server is merely an exemplary role of a particular data processing system connected to network 102 and is not intended to exclude other configurations or roles of these data processing systems. Server 104 and server 106 are coupled to network 102 along with memory unit 108. Software applications can be executed on any computer within data processing environment 100. Client 110, client 112, and client 114 are also coupled to network 102. Data processing systems such as server 104 or server 106, or a client (client 110, client 112, client 114) can contain data and can have software applications or software tools executed thereon. Server 104 can include one or more GPUs (graphics processing units) for training one or more models.

[0025]

[0031] Merely by way of example, and without implying any limitation to such an architecture, FIG. 1 shows certain components that can be used in an exemplary implementation of one embodiment. For example, the servers and clients are merely examples and are not intended to imply a limitation to a client-server architecture. As another example, one embodiment can be distributed across several data processing systems and data networks as illustrated, while another embodiment can be implemented on a single data processing system within the scope of the exemplary embodiment. The data processing systems (server 104, server 106, client 110, client 112, client 114) also represent exemplary nodes, partitions, and other configurations within a cluster suitable for implementing one embodiment.

[0026]

[0032] Device 120 is an example of a device described herein. Any software application described as being executed on another data processing system in FIG. 1 can be configured to be executed similarly on any of the devices herein. Any data or information stored or created in another data processing system in FIG. 1 can be configured to be stored or created similarly on any of the devices herein.

[0027]

[0033] The surface scan generation component 124 can be executed as part of the client application 122, the server application 116, or on any data processing system herein. The surface scan generation component 124 can also be executed as a cloud service communicatively coupled to the system services, hardware resources, or software elements described herein. The database 118 of the storage unit 108 stores one or more data in a repository for calculations herein. The surface scan generation component 124 can perform a method comprising sampling a surface by capturing a plurality of single images of the surface within the oral cavity using a scanner, detecting a transmission bandwidth, and when the bandwidth is detected to be lower than a predetermined threshold, reducing the resolution of one or more of the plurality of single images associated with at least one region of the surface by converting the one or more single images into respective low-resolution frames and residual frames associated with the at least one region, and transmitting each low-resolution frame to a receiver by the bandwidth. The surface scan generation component 124 can perform stitching each low-resolution frame to an in-progress model during a first time period to continuously generate a stitched model for the surface scan, and selectively replacing each low-resolution frame with a corresponding residual frame within the stitched model during a second time period to generate a high-resolution surface scan within the oral cavity.

[0028]

[0034] Server application 116 implements one embodiment described herein. Server application 116 can use data from memory unit 108 to generate a high-resolution surface scan of the oral cavity. Server application 116 can also obtain data from any client for computation. Server application 116 can also be executed on any of the data processing systems (server 104 or server 106, client 110, client 112, client 114), such as client application 122 within client 112, and does not have to be executed on the same system as server 104.

[0029]

[0035] Server 104, server 106, memory unit 108, client 110, client 112, client 114, and device 120 can be coupled to network 102 using a wired connection, a wireless communication protocol, or other suitable data connection. Client 110, client 112, and client 114 can be, for example, personal computers or network computers.

[0030]

[0036] In the illustrated example, server 104 can provide data, such as boot files, operating system images, and applications, to client 110, client 112, and client 114. Client 110, client 112, and client 114 can be clients of server 104 in this example. Client 110, client 112, and client 114, or some combination thereof, can include their own data, boot files, operating system images, and applications. Data processing environment 100 can include additional servers, clients, and other devices not shown. Server 104 includes server application 116 that can be configured to implement one or more of the functions described herein according to one or more embodiments.

[0031]

[0037] The data processing environment 100 may be the Internet. The network 102 may represent a collection of networks and gateways that use Transmission Control Protocol / Internet Protocol (TCP / IP) and other protocols to communicate with each other. At the center of the Internet is a backbone of data communication links between major nodes or host computers that include thousands of commercial, government, educational, and other computer systems that route data and messages. Of course, the data processing environment 100 may be implemented as several different types of networks, such as, for example, an intranet, a local area network (LAN), or a wide area network (WAN). FIG. 1 is intended as an example and is not intended as a limitation on the architecture of different exemplary embodiments.

[0032]

[0038] Among other uses, the data processing environment 100 may be used to implement a client-server environment in which exemplary embodiments may be implemented. A client-server environment distributes software applications and data across a network and enables applications to function by using the interactivity between client data processing systems and server data processing systems. The data processing environment 100 may also use a service-oriented architecture in which interoperable software components distributed across a network can be packaged together as a coherent business application. The data processing environment 100 may also take the form of a cloud and use a cloud computing model of service delivery to enable convenient on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with a service provider.

[0033]

[0039] Referring to FIG. 2, this figure shows a block diagram of a data processing system in which an exemplary embodiment may be implemented. The data processing system 200 is an example of a computer such as the server 104, server 106, or client (scanner unit / acquisition unit) 110, client 112, client 114, surface scan generation component 124 of FIG. 1, or another type of device in which computer-usable program code or instructions for implementing the process of the exemplary embodiment may be disposed.

[0034]

[0040] The data processing system 200 also represents a data processing system or a configuration therein, such as the device 120 of FIG. 1, in which computer-usable program code or instructions for implementing the process of the exemplary embodiment may be disposed. Although the data processing system 200 is described as a computer merely by way of example, it is not limited thereto. Implementations in the form of other devices, such as the device 120 of FIG. 1, may modify the data processing system 200, for example, by adding a touch interface, without departing from the general outline of the operation and functions of the data processing system 200 described herein, and further, certain specific components illustrated in the data processing system 200 may be excluded.

[0035]

[0041] In the illustrated example, data processing system 200 uses a hub architecture that includes a North Bridge and Memory Controller Hub (NB / MCH) 202 and a South Bridge and Input / Output (I / O) Controller Hub (SB / ICH) 204. A processing unit 206, a main memory 208, and a graphics processor 210 are coupled to the North Bridge and Memory Controller Hub (NB / MCH) 202. The processing unit 206 can include one or more processors and can be implemented using one or more heterogeneous processor systems. The processing unit 206 can be a multi-core processor. The graphics processor 210 can be coupled to the North Bridge and Memory Controller Hub (NB / MCH) 202 via an Accelerated Graphics Port (AGP) in certain implementations.

[0036]

[0042] In the illustrated example, a local area network (LAN) adapter 212 is coupled to a south bridge and input / output (I / O) controller hub (SB / ICH) 204. An audio adapter 216, a keyboard and mouse adapter 220, a modem 222, a read-only memory (ROM) 224, a universal serial bus (USB) and other ports 232, and PCI / PCIe devices 234 are coupled to the south bridge and input / output (I / O) controller hub (SB / ICH) 204 via a bus 218. A hard disk drive (HDD) or solid state drive (SSD) 226a and a CD-ROM 230 are coupled to the south bridge and input / output (I / O) controller hub (SB / ICH) 204 via a bus 228. The PCI / PCIe devices 234 can include, for example, an Ethernet (registered trademark) adapter, an add-in card, and a PC card for a notebook computer. PCI uses a card bus controller, but PCIe does not. The read-only memory (ROM) 224 can be, for example, a flash binary input / output system (BIOS). The hard disk drive (HDD) or solid state drive (SSD) 226a and the CD-ROM 230 can use, for example, an integrated drive electronics (IDE), a serial advanced technology attachment (SATA) interface, or a variant form such as an external SATA (eSATA) and a micro SATA (mSATA). A super I / O (SIO) device 236 can be coupled to the south bridge and input / output (I / O) controller hub (SB / ICH) 204 via the bus 218.

[0037]

[0043] Memories such as main memory 208, read-only memory (ROM) 224, or flash memory (not shown) are some examples of computer-usable storage devices. Hard disk drives (HDDs) or solid state drives (SSDs) 226a, CD-ROMs 230, and other similarly usable devices are some examples of computer-usable storage devices that include computer-usable storage media.

[0038]

[0044] The operating system is executed on processing unit 206. The operating system coordinates the various components within data processing system 200 of FIG. 2 and provides control thereof. The operating system can be a commercially available operating system for any type of computing platform including, but not limited to, server systems, personal computers, and mobile devices. An object-oriented or other type of programming system can operate in conjunction with the operating system and provide calls to the operating system from programs or applications executed on data processing system 200.

[0039]

[0045] Instructions for the operating system, object-oriented programming system, and applications or programs such as server application 116 and client application 122 of FIG. 1 are arranged on a storage device in the form of code 226b on hard disk drive (HDD) or solid state drive (SSD) 226a 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 can be performed by processing unit 206 using computer-implemented instructions that can be arranged within a memory such as main memory 208, read-only memory (ROM) 224, or within one or more peripheral devices.

[0040]

[0046] Furthermore, in some cases, code 226b may be downloaded via network 214a from remote system 214b in which a similar code 214c is stored on storage device 214d, and in other cases, code 226b may be downloaded to remote system 214b via network 214a, and the downloaded code 214c is stored on storage device 214d.

[0041]

[0047] The hardware of FIGS. 1 and 2 may vary depending on the implementation form. For example, other internal hardware or peripheral devices such as flash memory, equivalent non-volatile memory, or optical disk drives may be used in addition to or instead of the hardware illustrated in FIGS. 1 and 2. Furthermore, the processes of the exemplary embodiments may be applied to a multiprocessor data processing system.

[0042]

[0048] In some exemplary examples, data processing system 200 may generally be a portable information terminal (PDA) configured to have flash memory to provide non-volatile memory for storing operating system files and / or user-generated data. The bus system may include one or more buses such as a system bus, an I / O bus, and a PCI bus. Of course, the bus system may be implemented using any type of communication fabric or architecture, which provides for the transfer of data between different components or devices attached to the fabric or architecture.

[0043]

[0049] The communication unit may include one or more devices used to transmit and receive data, such as a modem or a network adapter. The memory may be, for example, main memory 208, or a cache such as the cache found in north bridge and memory controller hub (NB / MCH) 202. The processing unit may include one or more processors or CPUs.

[0044]

[0050] The illustrated examples of FIGS. 1 and 2, as well as the examples described above, are not intended to imply architectural limitations. For example, in addition to taking the form of a mobile or wearable device, the data processing system 200 may be a tablet computer, a laptop computer, or a telephone device.

[0045]

[0051] When a computer or data processing system is described as a virtual machine, virtual device, or virtual component, the virtual machine, virtual device, or virtual component operates like the data processing system 200 using a virtualized representation of some or all of the components illustrated within the data processing system 200. For example, in a virtual machine, virtual device, or virtual component, the processing unit 206 is represented as a virtualized instance of all or some number of the hardware processing units 206 available in the host data processing system, the main memory 208 is represented as a virtualized instance of all or a portion of the main memory 208 that may be available in the host data processing system, and the hard disk drive (HDD) or solid state drive (SSD) 226a is represented as a virtualized instance of all or a portion of the hard disk drive (HDD) or solid state drive (SSD) 226a that may be available in the host data processing system. The host data processing system in such a case is represented by the data processing system 200.

[0046] [Method and System for Generating a High-Resolution Surface Scan within the Oral Cavity]

[0052] Figure 3 shows a schematic diagram of a system in which an exemplary embodiment may be implemented. System 300 is an example of a combination of a client 110 (scanner unit or acquisition unit), a surface scan generation component 124, and a computer such as servers 104 and 106 that scan the patient's oral cavity and generate a high-resolution surface scan of the oral cavity. System 300 includes a scanner unit 302. Scanner unit 302 can be a portable device used to sample the surface by capturing a plurality of high-resolution single images of the surface within the oral cavity. Scanner unit 302 may include or be formed by a dental camera 308 used to take a single image within the oral cavity. Scanner unit 302 can be connected to a receiver 304 via a network 306. Receiver 304 is a remote computing device or a cloud computing device that receives a plurality of single images from scanner unit 302 via network 306. The scanner unit transmits single images within the oral cavity to the receiver 304 continuously using the network 306 when the network 306 is detected to have sufficient or high bandwidth. Sufficient or high bandwidth can be the bandwidth of network 306 that exceeds a predetermined threshold of bandwidth. Receiver 304 stitches the received single images from scanner unit 302 to generate a high-resolution integrated surface scan of the oral cavity.

[0047]

[0053] Referring to FIG. 3, the scanner unit 302 further includes a subsampling module 310 and an image buffer 312. The subsampling module 310 can be, but is not limited to, a computer algorithm stored in the dental camera 308. The subsampling module 310 is used to subsample a high-resolution single image when it is detected that the bandwidth of the transmission of the network 306 is low. The low bandwidth can be the bandwidth of the network 306 that is lower than a predetermined threshold. Subsampling includes reducing a high-resolution single image into a low-resolution frame and a residual frame. The residual frame may be the same as the high-resolution single image, or alternatively, it may be the remaining part of the high-resolution image after subsampling. Further, when detecting a low transmission bandwidth, the subsampling module 310 can transmit the low-resolution frame to continue the surface scan and store the residual frame in the image buffer 312 of the scanner unit 302. The image buffer 312 can be a storage module of the dental camera 308 that stores the residual frames of the respective low-resolution frames so that the receiver 304 can request and receive them later without any restrictions and limitations. The residual frame can be, in some cases, a higher-resolution frame generated after removing the low-resolution frame from the high-resolution single image. Therefore, in such a case, the single image can be regenerated by stitching together the respective low-resolution frames and the residual frame using an appropriate stitching algorithm.

[0048]

[0054] When detecting a low transmission bandwidth, instead of dropping the high-resolution image and interrupting the surface scan, the scanner unit 302 uses the subsampling module 310 to reduce the resolution of the single image and convert the single image into a low-resolution frame. Further, at low bandwidth, the scanner transmits each low-resolution frame of the single image to the receiver via the network 306. This reduction in resolution may make it possible to transmit the frame to the receiver without interruption even at low bandwidth.

[0049]

[0055] Receiver 304 is used to stitch the received multiple high-resolution single images and low-resolution frames in the sequence of their reception from scanner unit 302. Receiver 304 includes a stitching module 314 that is used to stitch together the sequentially received single images and low-resolution frames to generate a stitched model. An integration module 316 is communicatively coupled to stitching module 314 and is included within receiver 304. Integration module 316 continuously monitors the stitched model generated by stitching module 314 and, in response to detecting that the bandwidth is sufficient or high relative to a predetermined threshold, is used to request one or more residual frames of one or more of the low-resolution frames stitched within the stitched model from image buffer 312. Integration module 316 is connected to image buffer 312 via network 306 to send the request and can receive one or more residual frames of each of the low-resolution frames stitched within the stitched model over the high bandwidth of the network. Stitching module 314 stitches the received residual frames with their respective low-resolution frames within the stitched model (or, if the residual frames are of sufficient quality or of the same quality as the original single images of dental camera 308, replaces the low-resolution frames with the residual frames) to generate a high-resolution integrated model of the scanned surface or the oral cavity.

[0050]

[0056] Referring to FIG. 3, the receiver 304 can be a server such as server 104, server 106, a remote computing device, or a cloud server that includes a surface scan generation component 124. The stitching module 314 and the integration module 316 can be computer program code stored in the storage of the receiver 304. In one embodiment, the receiver 304 is a remote computing device comprising a processing unit having a stitching module 314 and an integration module 316 that can sequentially receive a single image and low-resolution frames from a scanner based on the bandwidth of the network 306, and stitch the single image and the low-resolution frames together to generate a stitched model.

[0051]

[0057] In one embodiment, the subsampling module 310 generates an ID and associates the ID with each low-resolution frame and its respective residual frame. The residual frames having those associated IDs can be further stored in the image buffer 312 to enable the integration module 316 to request a residual frame using its associated ID. The integration module 316 monitors the stitched model generated by the stitching module 314 and identifies at least one region of the surface in the stitched model having a low sampling rate. The low sampling rate is a sampling rate lower than a predetermined sampling rate. Further, the integration module 316 requests, by using the ID associated with the residual frame, the image buffer to send the residual frame of each low-resolution frame present in the identified at least one region having a low sampling rate.

[0052]

[0058] In another embodiment, the integration module 316 determines the position of the dental camera 308 using the low-resolution frames and requests the image buffer 312 to send a high-resolution residual frame or a single image associated with the same position of the dental camera 308 to generate a high-resolution integrated model of the oral cavity.

[0053]

[0059] Further, in one embodiment, the stitching module 314 stitches the received residual frames with their respective low-resolution frames to generate a high-resolution integrated model. In another embodiment, the stitching module 314 replaces the low-resolution frames with the corresponding residual frames received from the image buffer 312 to generate a high-resolution integrated model within the oral cavity.

[0054]

[0060] The receiver 304 can present a high-resolution integrated model or a surface scan within the oral cavity in the user interface 318.

[0055]

[0061] The scanner unit 302 transmits a single image on a high bandwidth and low-resolution frames on a low transmission bandwidth in a sequence of their capture or generation. The scanner maintains a queue of the captured single images in a sequence that is transmitted to the receiver. Further, the scanner unit 302 detects whether the queue length is greater than or less than a predetermined maximum queue length. If the queue length is less than the predetermined maximum queue length, the scanner determines that the transmission bandwidth is high and transfers a high-resolution single image captured by the dental camera 308. In contrast, if the queue length exceeds the predetermined maximum queue length, the scanner determines that the transmission bandwidth is low and converts the single image into low-resolution frames and residual frames. To detect the bandwidth, the receiver sends an acknowledgement signal to the transmitter. This enables each image to be retrieved from the queue and the low bandwidth to be inferred from the queue length. Further, the scanner unit 302 transmits the low-resolution frames to the receiver on a low transmission bandwidth and stores in the image buffer 312 the residual frames that will later be required by the integration module 316 of the receiver 304 in response to the detection of a high transmission bandwidth.

[0056]

[0062] FIG. 4 shows a flowchart of a process 400 for generating a high-resolution surface scan according to an exemplary embodiment of the present disclosure. At block 402, a plurality of single images are captured. A dental camera 308 is provided, and a plurality of single images associated with each region of the surface within the oral cavity are continuously captured and transmitted to a receiver 304 to generate a high-resolution scanned model of the oral cavity. At block 404, the bandwidth of the transmission of the network connecting the scanner unit 302 and the receiver 304 is determined. At block 406, when it is calculated that the transmission bandwidth is high, the plurality of single images are transmitted from the scanner unit 302 to the receiver 304. Conversely, at block 408, when it is determined that the bandwidth is low, the single images are converted into low-resolution frames and transmitted to the receiver 304. At block 410, the low-resolution frames are sequentially stitched with the single images to generate a stitched model. At block 412, the corresponding residual frames of the low-resolution frames are stored in an image buffer for later reception when it is detected that the transmission bandwidth is high. At block 414, the receiver 304 receives the residual frames and replaces each of the stitched low-resolution frames with the respective residual frames. Subsequently, at block 416, the receiver 304 generates a high-resolution integrated model, which is a high-resolution surface scan model of the oral cavity.

[0057]

[0063] FIG. 5 shows a flowchart of a process 500 for generating a high-resolution surface scan according to an exemplary embodiment of the present disclosure. Process 500 is an exemplary diagram of a similar process 400. In block 502, the oral cavity is scanned by capturing a plurality of single images of the intraoral / tooth surface using a dental camera 308. In block 504, the transmission bandwidth is detected by comparing the transmission queue to a predetermined maximum queue length. In block 506, when a low transmission bandwidth exists, the resolution of the single image is reduced by converting the single image into respective low-resolution frames and residual frames. In block 508, the scanner unit 302 transmits the low-resolution frames to the receiver 304 during low-bandwidth transmission. In block 510, the receiver 304 continues the surface scan and sequentially stitches the low-resolution frames with the single images in a first time period to generate a stitched model. In block 512, the low-resolution frames are selectively updated based on the corresponding residual frames in the stitched model by requesting and receiving the residual frames from the scanner unit 302. In block 514, a high-resolution surface scan or an integrated model is generated for the oral cavity.

[0058] FIG. 6 shows a flowchart of a process 600 for replacing a low-resolution frame with a residual frame or stitching them together, according to an exemplary embodiment of the present disclosure. Process 600 is an exemplary illustration of blocks 508, 510, and 512 of process 500. In block 602, the scanner unit 302 transmits a low-resolution frame with an associated ID when the bandwidth is detected to be lower than a predetermined threshold. In block 604, the corresponding residual frame with the associated ID is stored in the image buffer 312. In block 606, the received low-resolution frame is sequentially stitched with a plurality of existing single images or a previously generated model of other parts of the oral cavity to generate an updated model. In block 608, the integration module 316 identifies at least one region in the model having a sampling rate lower than a predetermined sampling rate in the stitched model. In block 610, when the integration module 316 detects that the bandwidth is higher than a predetermined threshold, it requests to receive the corresponding residual frame of each low-resolution frame associated with the identified at least one region, using the associated ID of each low-resolution frame. In block 612, the integration module 316 replaces each low-resolution frame with the corresponding residual frame or stitches them together to generate a high-resolution surface scan.

[0059] [Conclusion]

[0064] Any specific explicit mention of these and other similar exemplary processes is not intended to limit the present disclosure. Any suitable explicit mention of these and other similar exemplary processes may be selected within the scope of the exemplary embodiments.

[0060]

[0065] Accordingly, a computer-implemented method, system or apparatus, and a computer program product are provided in an exemplary embodiment for generating a high-resolution surface scan of the oral cavity and other related features, functions, or operations. When an embodiment or a portion thereof is described in relation to a certain type of device, the computer-implemented method, system or apparatus, computer program product, or a portion thereof is adapted or configured for use with suitable and equivalent representations of that type of device.

[0061]

[0066] When an embodiment is described as being implemented in an application, delivery of the application in a SaaS (Software as a Service) model is contemplated within the scope of the exemplary embodiments. In the SaaS model, the ability of an application implementing an embodiment is provided to a user by executing the application on cloud infrastructure. The user can access the application via a thin client interface such as a web browser or other lightweight client application using various client devices. The user does not manage or control the underlying cloud infrastructure, including the network, server, operating system, or storage of the cloud infrastructure. In some cases, the user may not even manage or control the ability of the SaaS application. In some other cases, the SaaS implementation of the application may allow for possible exceptions of limited user-specific application configuration settings.

[0062]

[0067] The present disclosure can be a system, method, and / or computer program product at any possible technical detail level of integration. The computer program product can include a computer-readable storage medium (s) having computer-readable program instructions for causing a processor to implement aspects of the present disclosure.

[0063]

[0068] A computer-readable storage medium can be a tangible device that holds and stores instructions for use by an instruction execution device. A computer-readable storage medium can be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer disks, hard disks, 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 disks (DVDs), memory sticks, floppy (registered trademark) disks, punch cards, or mechanically encoded devices such as raised structures in grooves in which instructions are recorded, and any suitable combination of the foregoing. A computer-readable storage medium, as used herein, should not be considered to be a transitory signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., an optical pulse through an optical fiber cable), or an electrical signal transmitted through an electrical wire.

[0064]

[0069] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to respective computing devices / processing devices, or may be downloaded from an external computer or external storage device via a network such as, for example, the Internet, a local area network, a wide area network, and / or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface within each computing device / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions for storage on a computer-readable storage medium within each respective computing device / processing device.

[0065]

[0070] Computer-readable program instructions for carrying out operations of the present disclosure can be any combination of source code or object code written in, for example, assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuits, or one or more programming languages including, for example, object-oriented programming languages such as Smalltalk or C++, or procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions can be executed entirely on a dedicated system or the user's computer, partially on the user's computer as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider). In some embodiments, for example, an electronic circuit including a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) can execute the computer-readable program instructions by personalizing the electronic circuit using the state information of the computer-readable program instructions to perform aspects of the present disclosure.

[0066]

[0071] Aspects of the present disclosure will be described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0067]

[0072] These computer-readable program instructions are provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions executed via the computer or other programmable data processing apparatus's processor provide means for implementing the functions / operations specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer-readable storage medium storing the instructions comprises a manufactured article including instructions for implementing the manner of function / operation specified in one or more blocks of the flowchart and / or block diagram.

[0068]

[0073] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, such that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / operations specified in one or more blocks of the flowchart and / or block diagram.

[0069]

[0074] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, segment, or portion of instructions that comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, can be implemented by dedicated hardware-based systems that perform the specified functions or acts, or combinations of dedicated hardware and computer instructions.

[0070]

[0075] All features disclosed in this specification, including the claims, abstract, and drawings, and all steps of any methods or processes disclosed, may be combined in any combination, except combinations where at least some of such features and / or steps are mutually exclusive. Each feature disclosed in this specification, including the claims, abstract, and drawings, may be replaced by alternative features serving the same, equivalent, or similar purpose, unless expressly stated otherwise.

Claims

1. 1. A method for generating a high resolution surface scan of an intraoral cavity, comprising: Sampling the intraoral surface by capturing a plurality of single images of the surface with a scanner; Calculating the bandwidth of the transmission; in response to calculating the bandwidth being below a predetermined threshold, reducing a resolution of one or more single images of the plurality of single images associated with at least one region of the surface by converting the one or more single images into one or more respective lower resolution frames and one or more respective residual frames associated with the at least one region; sequentially transmitting each of the one or more low resolution frames to a receiver over the bandwidth; sequentially stitching, by the receiver, each of the one or more low resolution frames during a first time period to continue the surface scan and generate a stitched model; selectively updating the respective one or more lower resolution frames based on the respective one or more residual frames in the stitched model during a second time period beginning after the first time period begins; generating the high resolution surface scan of the intraoral cavity; A method comprising:

2. the respective one or more residual frames having a resolution that is the same as or different from a resolution of the one or more single images; in response to the respective one or more residual frames having a resolution lower than a resolution of the one or more single images, the respective one or more lower resolution frames are updated by adding the respective one or more residual frames to the respective one or more lower resolution frames; in response to the respective one or more residual frames having the same resolution as a resolution of the one or more single images, the respective one or more lower resolution frames are updated by replacing the respective one or more lower resolution frames with the respective one or more residual frames. The method of claim 1.

3. 2. The method of claim 1 , wherein sequentially stitching the respective one or more low resolution frames comprises aligning and stitching the respective one or more low resolution frames associated with the at least one region in a sequence with the multiple single images of remaining regions already scanned to generate the stitched model of the surface.

4. The method of claim 1 , wherein the scanner stores the one or more residual frames of each of the one or more single images in an image buffer of the scanner.

5. The method of claim 4 , wherein the receiver requests to receive the respective one or more residual frames from the scanner upon detecting that the bandwidth is above the predetermined threshold.

6. 6. The method of claim 5, wherein the respective one or more low resolution frames are transmitted with an associated identification (ID) to enable the receiver to request the respective one or more residual frames from the scanner.

7. The receiver maps a first surface of the stitched model to identify a first region having a sampling rate lower than a predetermined sampling rate; the receiver requests, for the first region, the respective one or more residual frames of the respective one or more low resolution frames associated with the first region using the associated IDs of the respective one or more low resolution frames; The method according to claim 6.

8. 8. The method of claim 7, wherein the respective one or more received residual frames replace or are stitched together with the respective one or more lower resolution frames to generate the high resolution surface scan.

9. Detecting the bandwidth includes: maintaining a queue of the plurality of captured single images for transmission to the receiver; detecting, based on an acknowledgment signal from the receiver, that a queue length exceeds a predetermined maximum queue length; determining when the bandwidth falls below the predetermined threshold; The method of claim 1 , comprising:

10. Detecting the bandwidth includes: maintaining a queue of the plurality of captured single images for transmission to the receiver; detecting that the queue length is less than the predetermined maximum queue length; determining that the bandwidth is above the predetermined threshold; The method of claim 9 further comprising:

11. The method of claim 10, wherein the scanner transmits the multiple single images of the surface upon detecting the bandwidth above the predetermined threshold.

12. The method of claim 11 , wherein the plurality of single images are high resolution images of the surface.

13. identifying a second surface of the stitched model having a sampling rate higher than the predetermined sampling rate; reducing a resolution of the one or more single images associated with a second surface; and The method of claim 7 further comprising:

14. visualizing, via a user interface, at least one region in the stitched model having a sampling rate lower than the predetermined sampling rate; guiding a user to capture one or more new single images from the at least one region using the scanner; The method of claim 7 further comprising:

15. 1. A system for generating a high resolution surface scan of an intraoral cavity, the system comprising: at least one processor, the processor comprising: Sampling the intraoral surface by capturing a plurality of single images of the surface with a scanner; Calculating the bandwidth of the transmission; in response to calculating the bandwidth being below a predetermined threshold, reducing a resolution of one or more single images of the plurality of single images associated with at least one region of the surface by converting the one or more single images into one or more respective lower resolution frames and one or more respective residual frames associated with the at least one region; sequentially transmitting each of the one or more low resolution frames to a receiver over the bandwidth; sequentially stitching, by the receiver, each of the one or more low resolution frames during a first time period to continue the surface scan and generate a stitched model; selectively updating the respective one or more lower resolution frames with the respective one or more residual frames in the stitched model during a second time period subsequent to the first time period; generating the high resolution surface scan of the intraoral cavity; A system configured to:

16. 16. The system of claim 15, wherein the receiver is configured to align and stitch the respective one or more low resolution frames associated with the at least one region in the sequence with the multiple single images of other regions in the intraoral cavity to generate the stitched model.

17. The receiver includes: receiving from the scanner the respective one or more residual frames of the respective one or more low resolution frames in response to detecting the bandwidth being higher than the predetermined threshold; selectively replacing the respective one or more low resolution frames with the respective one or more residual frames in the stitched model; generating the high resolution surface scan of the intraoral cavity; The system of claim 16 configured to:

18. 20. The system of claim 17, wherein the scanner comprises an image buffer configured to store the one or more residual frames of the respective one or more single images.

19. visualizing at least one region in the stitched model having a sampling rate lower than a predetermined sampling rate; guiding a user to capture one or more new single images from the at least one region using the scanner; and a user interface configured to: The system of claim 15.

20. A non-transitory computer-readable storage medium having stored thereon one or more programs, the one or more programs being executed by a computer to cause the computer to: Sampling an intraoral surface by capturing a plurality of single images of the surface with a scanner; Calculating the bandwidth of the transmission; in response to calculating the bandwidth being below a predetermined threshold, reducing a resolution of one or more single images of the plurality of single images associated with at least one region of the surface by converting the one or more single images into one or more respective lower resolution frames and one or more respective residual frames associated with the at least one region; sequentially transmitting each of the one or more low resolution frames to a receiver over the bandwidth; sequentially stitching, by the receiver, each of the one or more low resolution frames during a first time period to continue the surface scan and generate a stitched model; selectively updating the respective one or more lower resolution frames with the respective one or more residual frames in the stitched model during a second time period beginning after the first time period begins; generating a high resolution surface scan of the intraoral cavity; A non-transitory computer-readable storage medium that causes

Citation Information

Patent Citations

  • Mobile video streaming

    JP2015516702A

  • Intraoral camera system and tooth column model generating method

    JP2022127947A

  • Transmitter and Receiver for a Surveillance System

    US20070273762A1

  • Light-weight resolution switching for online video streaming

    US20180146019A1

  • Distributed intraoral scanning system

    US20220233078A1